PPSP Yunfei. Zhang Internet Draft China Mobile Intended status: Standards Track February 23, 2009 Expires: August 19, 2009 Problem Statement of P2P Streaming Protocol (PPSP) draft-zhang-ppsp-problem-statement-00.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 August 23, 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 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract The document outlines the problem statement of peer to peer streaming applications and the definition and scope of peer to peer streaming protocol. zhang Expires May 23, 2009 [Page 1] Internet-Draft Problem statement of P2P Streaming February 2009 Conventions used in this document In examples, "C:" and "S:" indicate lines sent by the client and server respectively. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [1]. Table of Contents 1. Introduction................................................2 2. Problem Statement of P2P streaming Applications..............3 3. Peer to Peer Streaming Protocol Definition (PPSP) and Scope...4 4. Comparison with related protocols............................6 4.1. P2PSIP.................................................6 4.2. RTSP and related protocols..............................8 5. Scenarios of Inter-working of PPSP...........................8 5.1. Non CDN assistant inter-worked PPSP.....................8 5.2. CDN assistant inter-worked PPSP.........................9 6. Security Considerations......................................9 7. Acknowledgments............................................10 8. References.................................................11 Author's Addresses............................................11 1. Introduction Nowadays Peer to Peer computing has been successfully used in many fields, from one to one communication like VoIP, IM to one to many communication like streaming, file sharing and gaming. In streaming area, with the popularity of P2P technology, PPlive[1], PPstream[2], UUSee[3] ,Pando[4] etc. show the prosperity of P2P real time and VOD streaming applications. Take pplive for example, it has over 5 million online users at the same time for real-time streaming. Also some web2.0 streaming applications such as youtube[5], tudou [6]are reported to use or prepare to use P2P engine to accelerate its downloading rate and cut down the transmission cost esp in the winter of finance crisis which is being widespread all over the world. Basically there are two kinds of streaming solutions: client-server streaming and P2P streaming. Some client-server streaming control protocols have been developed both within and out of IETF, including RTSP[7], MMS[8],PNA[9] and HTTP. As for p2p streaming applications, there already exist a lot of real time and VOD applications like PPlive, PPStream, UUSee in China and Pando in the USA, each of which Zhang Expires August 23, 2009 [Page 2] Internet-Draft Problem statement of P2P Streaming February 2009 uses its proprietary protocol. P2P streaming applications account for more and more Internet traffic. According to statistics in a main china ISP, PPlive accounts 10% of the total Internet backbone traffic. In contrast, Bittorrent's traffic share is about 8% in the ISP's backbone. Therefore there is no doubt that P2P streaming is more and more important in the Internet. It's time to draw up an open P2P streaming protocol in IETF to make P2P streaming wider adoption and regulate its behavior from the whole Internet point of view. 2. Problem Statement of P2P streaming Applications Although P2P streaming applications are popular in the Internet, there are still some unsolved problems surrounding them: First, the startup delay(20~30s), the latency between the broadcasting time and the audience view time(120s), the re-buffering time after a dragging or forward/backward in VoD(6~8s) and the channel switch time are still long. How to reduce these delays in the Internet is an open question for researchers; Second, the video quality is still very low for p2p streaming applications, most of which has a playback rate of some hundreds kbps. These may be attributed to several factors, e.g., current low access bandwidth and asymmetrical upload and download bandwidth like ADSL and cable modem, How to improve the video quality under such network environment is an open problem. Even suppose when there is a higher access bandwidth like LTE which has over 100Mbps bandwidth, it is still a question if current P2P streaming mechanisms work to support high quality streaming because of different wireless network environment. Third, the dragging and backward/forward performance in VoD is unacceptable in current p2p streaming applications. The lack of upload bandwidth where ADSL and cable modem dominating the access network indicates a peer-assistant method like CDN can make the dragging performance better. How to change current CDN to accommodate p2p streaming environment and integrate them together is an open question. Fourth, traffic localization and transport protocol optimization are very important problems in p2p streaming environment being discussed in ALTO and TANA in IETF. So PPSP can reuse the fruits of ALTO and TANA. Last but not least, from the protocol perspective, private protocol has the following problems: for end users, he needs multiple client Zhang Expires August 23, 2009 [Page 3] Internet-Draft Problem statement of P2P Streaming February 2009 software to view different programs; for operators, it's difficult to identify these different applications and for service provider, it has to pay much attention to both programs source and P2P delivery technology. So an open peer to peer streaming protocol is required to meet the requirements mentioned above. 3. Peer to Peer Streaming Protocol Definition (PPSP) and Scope The basic mission of PPSP is to create a distributed real-time data retrieval protocol in 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 communication, 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. Therefore, PPSP focuses on how to negotiate with un-preassigned peers for needed chunks along with some application requirements parameters and transmit the retrieved content accordingly. PPSP involves a bundle of interactions, including interaction between peers, between peers and trackers, between peer and CDN. 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. From the protocol type perspective, PPSP includes streaming control (Step 1-4 and 7) and transmission protocol (Step5) which will be discussed in the following part The protocol stack of PPSP is shown in Fig1. +------------------------+ | PPSP Application | +------------------------+ | PPSP Signaling Protocol| +------------------------+ | PPSP Trans Protocol | +------------------------+ | Transport Layer | +------------------------+ Figure 1 PPSP Position in Protocol Stack. The process of PPSP applications is shown in Fig2. We explain it as follows: 1. Peer sending PPSP signaling request with parameters(e.g., QoS, Zhang Expires August 23, 2009 [Page 4] Internet-Draft Problem statement of P2P Streaming February 2009 location, historical records such as online duration) 2. Tracker returning Peer list according to the parameters through PPSP signaling protocol. 3. Peer Gossiping communication among peer candidates to exchange chunk bitmap and find a chunk through PPSP signaling protocol. 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. So it's beyond the scope of PPSP. 5. Chunk transmission among peers (including CDN transmission) through PPSP transmission protocol: There are two levels of work in this step. One level is to deploy TCP/UDP/RTP as the basic transmission protocol. Generally UDP is used in practice to reduce the transmission overhead. An open question exists that if RTP can be used here. The other level is what kind of rules the peers take in transmission. These rules are as important as the basic transmission protocols in one to many communication, because the basic task there is to get the data from different source as soon as possible or distribute its data with the lowest cost in a scale. It makes p2p streaming transmission different from pure TCP/UDP/RTP level work. The rules vary much according to different requirements. For instance, a peer can transmit a chunk by maximizing download rate or minimizing transmission overhead according the network conditions. These rule leads to different peer's actions, e.g., a peer can send a request for the same content to multiple neighbors simultaneously, to ensure it gets the content in time; or request for different content from multiple neighbors simultaneously; when a request times out, it is redirected to a different neighbor; or work with one neighbor at a time; only when that neighbor times out, try to connect to a different neighbor. Obviously it creates many critical parameters in transmission, e.g., response time, the number of simultaneous neighbors to send requests. To tune these parameters network monitoring is required to regulate in the protocols. 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. This is publishing process where PPSP signaling protocol can be used. Zhang Expires August 23, 2009 [Page 5] Internet-Draft Problem statement of P2P Streaming February 2009 +---------+ | Tracker | +---------+ ^ | | | +----------+ 1,7| | 2 | Peer 4 | | | +----------+ | V +---------+ +----------+ 4,6| Peer 1 |<----3---->| Peer 2 | +---------+<----5---- +----------+ ^ ^ 5| |3 | | | V +---------+ | Peer 3 | +---------+ Figure 2 PPSP Process 4. Comparison with related protocols 4.1. P2PSIP P2PSIP deals with resource location in one to one commutation. The iterative and recursive routing process inP2PSIP is shown in Fig3, 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 Ms. 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. Zhang Expires August 23, 2009 [Page 6] Internet-Draft Problem statement of P2P Streaming February 2009 +------------------+ | Peer | +------------------+ ^ | ^ | | | | | 1,2 | | 1' 3,4| |3' | | | | V V V V +-----------+ +-----------+ | Peer |--2'->| Peer | +-----------+ +-----------+ Fig3 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): a) 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 requirement: a) PPSP requires retrieval real-time/para real-time data, iterative and recursive routing is not suitable for low efficiency. b) Node organizations are quite different. DHT doesn't fit for peers in PPSP. 4) Different transmission quality requirements: P2PSIP doesn't require Voice quality and PPSP need to ensure streaming quality. Therefore in PPSP the following factors in peers must be considered: a) Heterogeneous nodes; b) Node Churn and Data Churn(the data update quicker than P2PSIP) c) Topology-aware 5) Different applicable services: P2PSIP is suitable for VoIP and PPSP is suitable for streaming, gaming and file sharing. It's too comprehensive for P2PSIP (based on text) for non-session applications like streaming. There are too many signaling interactions with much overhead compared with P2PSIP which has only one interaction. Zhang Expires August 23, 2009 [Page 7] Internet-Draft Problem statement of P2P Streaming February 2009 Although P2PSIP doesn't fit for 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. 4.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 discoery, 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. 5. Scenarios of Inter-working of PPSP PPSP can be used not only within a single p2p application, but also in the inter-working of different p2p applications. 5.1. Non CDN assistant inter-worked PPSP In this case PPSP can be used by different P2P streaming applications which can share resources and improve performance with better peers from allied P2P streaming applications. P2P streaming applications don't deploy CDN for streaming delivery. The interaction between different PPSP applications is shown in Fig4. It involves steps beyond basic PPSP process, e.g., trackers from different vendors exchange their peer information. Zhang Expires August 23, 2009 [Page 8] Internet-Draft Problem statement of P2P Streaming February 2009 +----------------------------+ | PPSP APP 1 | PPSP App 2 | +----------------------------+ | ^ ^ | | | | | | +---------------+ | | PPSP Signaling Protocol | +----------------------------+ | PPSP Trans Protocol | +----------------------------+ | Transport Layer | +----------------------------+ Fig4 Interaction between different P2P applications 5.2. CDN assistant inter-worked PPSP In this case there is usually a CDN provider that may be run by an ISP. It provides P2P streaming distribution services for different PPSP applications. The storage and transmission bandwidth can be saved in case of the same content transmission for different PPSP applications. The cooperation between different PPSP providers can be run both in PPSP transport level and PPSP signaling level as shown in Fig5. +----------------------------+ | PPSP APP 1 | PPSP App 2 | +----------------------------+ | ^ ^ | | | | | | +---------------+ | | PPSP| Signaling Prot|ocol | +----------------------------+ | +---------------+ | | PPSP Trans Protocol | +----------------------------+ | Transport Layer | +----------------------------+ Fig5 Interaction between different P2P applications 6. Security Considerations PPSP doesn't relate to security mechanisms currently, but we don't exclude security mechanisms in PPSP. Zhang Expires August 23, 2009 [Page 9] Internet-Draft Problem statement of P2P Streaming February 2009 7. Acknowledgments We have to acknowledge many people. For the record: N.Zong, X.F.Jiang, H.B.Song. Pick.Li from Huawei. Zhang Expires August 23, 2009 [Page 10] Internet-Draft Problem statement of P2P Streaming February 2009 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 [7] www.ietf.org/rfc/rfc2326.tx [8] en.wikipedia.org/wiki/Microsoft_Media_Services [9] all-streaming-media.com/streaming-media-faq/faq-pnm- protocol.htm Author's Addresses Yunfei Zhang China Mobile Phone: 86 13601032119 Email: zhangyunfei@chinamobile.com Zhang Expires August 23, 2009 [Page 11]