PPSP Y.Zhang Internet Draft China Mobile Intended status: Standards Track N.Zong Expires: September 2009 Huawei Tech. J.Seng PPlive H.Zhang NEC Lab,USA March 9, 2009 Problem Statement of P2P Streaming Protocol (PPSP) draft-zhang-ppsp-problem-statement-01.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on September 9, 2009. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Zhang Expires September 9, 2009 [Page 1] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This draft proposes to develop an open p2p streaming protocol, namely PPSP. We survey the current practice of p2p streaming applications, analyze the incentive to develop PPSP and its applying scenarios. Then we introduce the PPSP interaction process and state the problem of PPSP and its scope. In the last section we also analyze the relationship between PPSP and P2PSIP as well as RTSP. Zhang Expires September 9, 2009 [Page 2] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 Table of Contents 1. Overview.....................................................4 2. Incentive of an open P2P streaming Protocol..................5 3. Peer to Peer Streaming Protocol(PPSP) Interactions..........10 4. Problem Statement and Scope of PPSP.........................12 5. Comparison with related protocols...........................14 5.1. P2PSIP.................................................14 5.2. RTSP and related protocols.............................15 6. Security Considerations.....................................16 7. Acknowledgments.............................................16 8. References..................................................16 8.1. Normative References...................................16 8.2. Informative References.................................17 Zhang Expires September 9, 2009 [Page 3] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 1. Overview Peer to Peer video streaming applications have been successfully dominating Internet traffic in recent times. According to statistics in a main china ISP in 2008, PPLive accounts 10% of the total Internet backbone traffic. In contrast, Bittorrent, one of the most popular p2p file downloading software, contributes to less than 8% of the backbone traffic. Some big vendors, PPLive[1], PPstream[2], UUSee[3] and Pando[4] etc. show the popularity of P2P streaming applications. Take PPLive for example, it has over 2 million online users at the same time to watch live programs such as CCTV spring festival gala. P2P video streaming technology has become an important part of the Internet. Zhang Expires September 9, 2009 [Page 4] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 2. Incentive of an open P2P streaming Protocol Basically there are two architectures for video streaming: client- server streaming paradigm and P2P streaming paradigm. Client-server streaming paradigm has been well studied which can be depicted by the following figure 1. +----------------------------------+ | Streaming Application | |----------------------------------| | RTSP/MMS/PNA/HTTP | |-----------------+----------------| | RTP | RTCP | |-----------------+----------------| | UDP/TCP | |----------------------------------| | IP Protocol | +----------------------------------+ Figure 1 Client/server Streaming Stack Basically client-server streaming comprises of two parts of protocols: transport protocol and signaling protocol. Transport protocol is used for viedo payload transmission between the client and the server. Signaling protocol is used to negotiate streaming controls between the client and the server. RTP and RTCP,are designed for streaming transmission.RTSP[7], MMS[8],PNA[9] and HTTP are used as streaming signaling protocols. However its scalability, reliability and availability faces with serious problems with a large number of audience simultaneously viewing the programs. P2P technology provides a good candidate for streaming applications to solve such problems. It partitions streaming source into pieces which are distributed over peers when the audience views the programs. Therefore peers need to locate and receive the stream chunks from multiple sources simultaneously, which eliminates single point of failure. The biggest problem is therefore how to make sure real-time data retrieval and transmission that can keep up with the source broadcasting. To the best of our understanding, current p2p streaming protocols have common underlying design principles. According to our measurement work[11], existing p2p streaming systems like pplive, ppstream and uusee deploy a similar architecture and signaling transaction process. Therefore it's possible to develop an open p2p streaming protocol to integrate existing p2p streaming protocols. However, almost all of the existing p2p streaming software use their proprietary protocols, esp. in the signaling part. Proprietary Zhang Expires September 9, 2009 [Page 5] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 protocols protect the service providers from easily copied. These protocols are not interoperability with each another and pose a barrier of entry for other p2p streaming providers. On the other hand,it also increases the cost for outsiders to improve such systems or develop a new p2p streaming system or video accelerator system (transition from traditional cache or CDN)from scratch without an open p2p streaming protocol. Moreover, this makes it hard for anyone outside a P2P streaming service to interact with it including 1) ISPs for traffic management and optimization; 2) Other streaming services for content/user sharing; 3) Hardware vendors for set-top box or mobile terminals supporting p2p streaming and vice versa. The only means to learn such systems is Internet measurement. People can know how a p2p streaming system works by analyzing such p2p streaming systems by either active or passive measurement. Unfortunately some of p2p streaming systems have been encrypted or scrambled due to content pollution protection. Once the system is encrypted, the last means is of no use. What's more, an open p2p streaming protocol has more benefit under the following scenarios. 1) Better Performance with inter-worked p2p streaming systems: According to the measurement study of comparison on pplive and ppstream protocols [11], their peer lists don't overlap and can be complementary to each other at a certain time. In PPlive the chunk fetch policy is both sequential fetching and rarest first at same time while in ppstream the chunk fetch is random selection in each buffer window. We can see it clearly in figure2. Suppose pplive and ppstream are transmitting the same programs piece#1, in a certain time round1,peer1 in ppstream may fetch chunk#3 and #5 and update its bitmap with [00101] according to random chunk selection. If peer2 is the new comer to request program piece#1 in ppstream, he asks the tracker to get peer1 information. However peer1 doesn't contain chunk#1 and chunk#2 information. So peer2 has to wait for other peers holding chunk#1 and chunk#2, which causes more latency before viewing the program. If there is an open p2p streaming protocol, pplive and ppstream can inter-work and exchange peer information, things are quite different. In time round1,peer3 in pplive may fetch chunk#1 and chunk#2 according to its chunck fetch policy. If this information can be used by ppstream users, peer2 may fetch chunk#1 and #2 from peer3 to save the caching time. Zhang Expires September 9, 2009 [Page 6] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 +----------------------------------+ | <--- Program Piece#1---> | | | | +----+----+----+----+----+----+ | | | | | | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | | | | | | | | | | | | +----+----+----+----+----+----+ | +----------------------------------+ Figure 2 Program Piece Partition and Chunk Fetch 2) Wider coverage of streaming services: There is usually serious competition among P2P streaming providers for similar program source in the same country while P2P streaming providers in different countries may cooperate to share program information to broaden its audience. An open p2p streaming protocol helps different P2P streaming providers to share both programs and user resources. 3) Integration of current caches, CDNs and video-sharing websites by a uniform p2p streaming protocol. There are lots of web caches and CDNs in current Internet. However most of them don't support streaming services, let alone p2p streaming. In the winter of finance crisis which is being widespread all over the world, p2p streaming technologies are regarded a good tool to accelerate the download rate and reduce the transmission cost for the video websites like youtube[5]and tudou [6]. Some traditional CDNs are trying to add p2p mechanisms to support video acceleration[10].If a uniform p2p streaming protocol is developed, traditional caches and CDN nodes can easily deploy p2p technology based on current platform. This will be a great save in transmission cost. 4) Providing mobile and wireless streaming: Mobility becomes a very important feather to support in future internet. Many next generation Internet studies investigate to introduce distributed mobile services like GENI[12] and FIND[13]. Many operators have also been launching research projects on mobile Internet practice. For example, China Mobile came out with its DSN (distributed services network)strategy last year as the core network of its mobile Internet. Readers can refer to draft-zhang-ppsp-dsn-introduction[14] for more details. However there are some differences in mobile Internet compared to fixed Internet environment. This makes it hard to copy current p2p streaming protocol in mobile and wireless environment. Zhang Expires September 9, 2009 [Page 7] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 a) End to end communication is harder. Unlike fixed Internet, it's difficult to realize end-to-end communication in mobile Internet. For example, currently mobile phone cannot connect with each other directly. The connection must be set up by wireless access nodes like GGSN. Therefore mobile phone is hard to become a peer in p2p streaming environment without the cooperation of mobile access equipments. b) Limited Bandwidth resource. Every mobile node has a small bandwidth and the transmission cost is relatively high. To make p2p streaming applications available in mobile internet, some mechanisms to reduce bandwidth consumption is necessary such as broadcasting. A practical means may be to distribute streaming data to mobile access nodes using the-state-of-art p2p streaming technologies and the mobile access nodes may broadcast the stream data to end users. The above two problems call for redefining an open p2p streaming protocol by both operators and service providers. c) Worldwide service provision is harder. For instance, suppose China Mobile launches streaming services cooperated with pplive, the users cannot use it in USA if Verizon cooperates with Pando for streaming services. Although the user can connect with pplive tracker, there is no Verizon users listed in the returned peerlist. The mobile access nodes in Verizon may block multiple incoming streams to the user who is not Verizon's streaming subscribers. An open p2p streaming protocol helps China mobile and Verizon to cooperate in caching the data stream or exchanging local peer information. d) Converged service provision needs to repair current protocols. There are two converged scenarios. First, suppose a hybrid mobile/wireless and wired Internet environment, it's possible for wired users (who may have multiple interfaces including wireless interface) and wireless users to cooperate with each other. Different from current p2p streaming protocol, user information such as online time, link condition, node capability or battery information and other useful information must be provided for trackers. Peers may even switch from a strong peer (contributing to others) with WLAN connections and high battery volume to a weak peer(contributing nothing) with CDMA connections and low battery volume. We foresee that peer-to-peer video streaming protocol should take these into account to more efficiently use the available peer information. Zhang Expires September 9, 2009 [Page 8] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 If we repair the current proprietary protocols, there are lot of repeated works to do for different streaming vendors. An open p2p streaming protocol seems a better choice. Second, seamless switch between mobile and fixed nodes needs to repair the current protocol. In future internet, users can easily watch p2p streaming with their mobile phones in the way home and once they arrive home, the program can be seamlessly switched to display in TV set. However current p2p streaming protocol doesn't support this without explicit user location information appeared in the tracker. 5) End users need only one p2p streaming client to support multiple p2p streaming vendors with an open p2p streaming protocol. This is especially useful for resource-constraint end users devices such as mobile phones or PDAs. To sum up, an open p2p streaming protocol is necessary in future Internet to benefit for each side, including service providers, ISPs, network and terminal equipment vendors, researchers as well as end users. It allows for involving more participants in p2p streaming with better performance and more audience. We'd like to point out that an open protocol won't weaken the independence of current p2p streaming providers. It depends on the vendors' strategy. If they wish to cooperate with each other, it's easy to inter-work; or else it can be easily protected by data encryption or other DRM means. Zhang Expires September 9, 2009 [Page 9] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 3. Peer to Peer Streaming Protocol(PPSP) Interactions Peer to Peer Streaming Protocol(PPSP) involves a bundle of interactions. From the measurement research we have done in the draft[11], there are two roles in current tracker-based p2p streaming structure: peer and tracker. PPSP includes interaction between peers, between peers and trackers. In some practice, CDN nodes are added in p2p streaming structure. Note that CDN can be viewed as a special peer who has a complete copy of the programs in VoD and a super- stable peer with higher upload and download bandwidth in real-time streaming. We conclude the process of PPSP applications as follows. 1) Peer sending request with parameters(e.g., QoS, location, historical records such as online duration). 2) Tracker returning Peer list according to the parameters. 3) Peer gossiping communication among peer candidates to exchange chunk bitmap and find a chunk. 4) Peer scheduling where to get the chunk and do cache replacement e.g., BT like, rarest first . This action is done by peer itself and doesn't include interaction with other peers or network. 5) Chunk transmission among peers(including CDN transmission): 6) Peer Re-assembling the chunk in its cache to finish playback of the programs. 7) Peer reporting to Tracker what chunks it has periodically. Zhang Expires September 9, 2009 [Page 10] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 +------------------------------------------------+ | +---------------+ | | | Tracker | | | +---------------+ | | ^| | | ||2 +------------+ | | || | Peer 4 | | | 1,7|V +------------+ | | +-------------+ 3 +------------+ | | 4,6| Peer1 |<--->| Peer 2 | | | +-------------+<--->+------------+ | | ^ 5 | | 3| | | V | | +------------+ | | | Peer 4 | | | +------------+ | +------------------------------------------------+ Figure 3 PPSP Interactions Zhang Expires September 9, 2009 [Page 11] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 4. Problem Statement and Scope of PPSP We propose to develop an open peer to peer streaming protocol, namely PPSP. The basic problem of PPSP is to define a protocol of locating and transmitting real-time and VoD data efficiently from multiple sources with different pieces in peer to peer environment. This is an one to many communication (or data-driven communication).One to many communication is different from one to one communication where there is known destination to visit. In one to many communications, the destinations are unknown and the concrete data are stored piece by piece in different peers and the key is to find those data and reassemble them. PPSP focuses on how to negotiate with un-preassigned peers for needed chunks and transmit the retrieved content accordingly. Therefore, PPSP can be divided into PPSP signaling protocol and transmission protocol. The protocol stack of PPSP is shown in Fig4. Based on our previous work, we leave the transport protocol in the second stage. For the purpose of this document, we focus only on PPSP signaling protocol for real-time streaming. +------------------------------+ | PPSP Application | |------------------------------| | PPSP Signaling Protocol | |------------------------------| | PPSP Trans Protocol | |------------------------------| | Transport Layer | +------------------------------+ Figure 4 PPSP Position in Protocol Stack In the signaling part, in order to locate real-time data efficiently from multiple sources with different pieces, we have to solve the following problems: 1) To standardize the architecture for locating the data efficiently. Tracker-based structure is widely used in current p2p streaming practice. However some tracker-less structures like DHT peer management solutions are also proposed. We need to decide which one is better for p2p streaming; 2) To standardize the signaling interaction process. Zhang Expires September 9, 2009 [Page 12] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 In this part we actually want to standardize client registration process (analogous to TCP 3-way handshake procedure), client information exchange process (analogous to SIP session setup process) and client report process. The current tracker-based means is a two-step searching, i.e., peer reporting to tracker coarse information about it has. Once the tracker is asked, it informs peer of the coarse information; the grain information is achieved by peers exchanging bitmap each other. Some other means, e.g., peer reporting to tracker grain information directly and tracker informs peer of the exact information or DHT based searching, should be evaluated. In each proposal we also need to define the message format in the interactions. 2) To discuss how to incorporate node information such as online time, link status, node capability, battery information and some application requirements parameters into the protocol to expand the peer selection. In this part, we actually want to standardize PPSP message headers (analogous to IP header definition) and PPSP metadata format (analogous to SIP header definition). In the future, after we finish developing PPSP signaling protocol, PPSP transport protocol may also be standardized for client data transfer process,e.g., one-to-many transport protocol based on UDP, TCP and RTP. This is beyond current TCP, UDP or RTP scope. Zhang Expires September 9, 2009 [Page 13] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 5. Comparison with related protocols 5.1. P2PSIP P2PSIP deals with resource location in one to one commutation. The iterative and recursive routing process inP2PSIP is shown in Fig5, which is different from PPSP. That is, the data stored in P2P SIP is user profile data and user knows exactly what the data is (e.g., the location of Alice@chinamobile.com) using RELOAD to locates the data. While in PPSP scenarios, there are many peers storing data pieces of ''Mr. and Mrs. Smith'' and the user doesn't know and needn't know the belongings of the peers and he just know the metadata of the movie. He must use a gossip protocol to communicate with other peers to get the real data quickly. +------------------------------------------------+ | +---------------+ | | | Peer | | | +---------------+ | | ^ | ^ | | | 1,2 | |1' 3,4| |3' | | | | | | | | V V V V | | +-------------+ 2' +------------+ | | | Peer |----->| Peer | | | +-------------+ +------------+ | | | +------------------------------------------------+ Figure 5 P2PSIP process The difference between P2PSIP and PPSP are as follows: 1) One to one communication VS one to many communication (End to End communication VS data centric communication).Because there are lot of peer candidates in PPSP, NAT transversal is not as important as that in P2PSIP and public peers can be found with higher probability; 2) PPSP includes transmission Protocol and P2PSIP doesn't involve that. 3) Different Search efficiency requirements. PPSP requires retrieval real-time/para real-time data, iterative and recursive routing is not suitable for low efficiency. 4) Different transmission quality requirements: In PPSP some extra factors in peers must be considered, e.g.,heterogeneous nodes,node Zhang Expires September 9, 2009 [Page 14] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 churn and data churn(the data update quicker than P2PSIP)and topology-aware; 5) Different applicable services: P2PSIP is suitable for VoIP and PPSP is suitable for streaming, gaming and file sharing. Although P2PSIP doesn't fit for streaming peer organization, it can be deployed in PPSP environment to some extent. DHT can be used to organize multiple channel servers in real-time streaming or multiple file trackers in VoD. Because the search time of which channel or which file the tracker stores accounts little in the whole searching procedure, DHT can be used to query for peer list in case of thousand of channels or million of files which are hard to use one tracker. But it doesn't fit for quick search for real data among peers yet. 5.2. RTSP and related protocols At first sight, the function of PPSP control protocol is similar to traditional C/S style streaming control protocols RTSP, MMS or PNA. But in fact RTSP MMS or PNA don't involve the problems PPSP has because the end user requests the streaming from one assigned source without needing real-time resource discovery, merge and synchronization, which simplifies the problem. However it also inherits the shortcomings of all client-server paradigms including low scalability, high cost both for investment and maintenance as well as the traffic pressure for the Internet equipments and single point of failure. Zhang Expires September 9, 2009 [Page 15] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 6. Security Considerations PPSP include security mechanisms. Now we are at the beginning stage and security issues need to be further investigated. 7. Acknowledgments We have to acknowledge many people. For the record: C.Williams and J.Wang from ZTE X.Jiang, H.Song. P.Li from Huawei,X.Zhang from PPlive,S.Shen and L.Xiao from NSN H.Deng from China Mobile and J.Lei from Univ.Goettingen. 8. References 8.1. Normative References [7] www.ietf.org/rfc/rfc2326.txt [8] en.wikipedia.org/wiki/Microsoft_Media_Services [9] all-streaming-media.com/streaming-media-faq/faq-pnm- protocol.htm Zhang Expires September 9, 2009 [Page 16] Internet-Draft Problem Statement of P2P Streaming Protocol March 2009 8.2. Informative References [1] www.pplive.com [2] www.ppstream.com [3] www.uusee.com [4] www.pando.com [5] www.youtube.com [6] www.tudou.com [10] www.chinacache.com [11] www.ietf.org/internet-drafts/draft-zhang-ppsp-protocol- comparison-measurement-00.txt [12] www.geni.net [13] www.nets-find.net [14] www.ietf.org/internet-draft/draft-zhang-ppsp-dsn-introduction- 00.txt Author's Addresses Yunfei Zhang China Mobile Phone: 86 13601032119 Email: zhangyunfei@chinamobile.com Ning Zong Huawei Tech. Email: zongning@huawei.com James Seng PPlive Email: james.seng@pplive.com Hui Zhang NEC Lab,USA Email: huizhang@nec-labs.com Zhang Expires September 9, 2009 [Page 17]