PPSP Y. Zhang Internet Draft China Mobile Intended status: Standard track N.Zong HuaweiTech G.Camarillo Ericsson J.seng PPlive R.Yang Yale University Expires: April 18, 2011 October 18, 2010 Problem Statement of P2P Streaming Protocol (PPSP) draft-ietf-ppsp-problem-statement-00.txt Abstract We propose to standardize the key signaling protocols among various P2P streaming system components including the tracker and the peers. These protocols, called PPSP, are a part of P2P streaming protocols. This document describes the terminologies, concepts, incentives, and scope of developing PPSP, as well as the use cases of PPSP. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on April 18, 2011. Zhang Expires April 18,2011 [Page 1] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Copyright Notice Copyright (c) 2010 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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Zhang Expires April 18, 2011 [Page 2] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Table of Contents 1. Introduction ................................................ 4 1.1. Background ............................................. 4 1.2. Research or Engineering ................................ 5 1.3. Objective and outline................................... 5 2. Terminology and concepts .................................... 6 3. Introduction of P2P streaming system ........................ 8 4. Problem of proprietary protocols and incentives for developing standard PPSP .................................................. 9 4.1. Proprietary signaling leads to difficult interactions in case of multiple parties involved in the delivery ................ 10 4.2. Proprietary signaling leads to multiple client software in a terminal .................................................... 11 4.3. Proprietary signaling leads to low network resource utilization ................................................. 11 4.4. Proprietary signaling doesn't handle well with mobile and wireless environment......................................... 11 5. Components of P2P streaming system........................... 13 6. Scope of PPSP ............................................... 14 6.1. Protocols to be standardized............................ 14 6.2. Service types to be considered ..........................15 7. Use cases of PPSP ........................................... 16 7.1. Worldwide Provision by cooperative P2P Streaming vendors with PPSP......................................................... 16 7.2. Three Screen P2P streaming in heterogeneous environment using PPSP ....................................................... 17 7.3. CDN supporting streaming ............................... 18 7.4. Hierarchical P2P Streaming Distribution with PPSP ...... 19 7.5. Serving Gatwway/GGSN acting as Super Nodes assisting P2P streaming delivery in Cellular mobile environment ........... 20 8. Security Considerations ..................................... 22 9. Acknowledgments ............................................. 22 10. Informative References...................................... 23 Zhang Expires April 18, 2011 [Page 3] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 1. Introduction 1.1. Background Streaming traffic is among the fastest growing traffic on the Internet. As Cisco Visual Network Traffic index measured, video streaming already generates the largest volume of Internet traffic in 2010, and the percentage is expected to rise to as high as 91% of the total Internet traffic in 2014. There are two basic architectures for delivering streaming traffic on the global Internet: the client-server paradigm and the peer to peer (P2P) paradigm [P2PStreamingSurvey]. A particular advantage of the P2P paradigm over the client-server paradigm is its scalability and its fault tolerance against failures of centralized infrastructures. As an example, PPLive [PPLive], one of the largest P2P streaming vendors, is able to distribute large-scale, live streaming programs such as the CCTV Spring Festival Gala to more than 2 million users with only a handful of servers. CNN [CNN] reported that P2P streaming by Octoshape played a major role in its distribution of the historical inauguration address of President Obama. It is well demonstrated in practice that P2P streaming can deliver videos encoded at a rate of at least about 400 Kbps, in the presence of rapid user joins/leaves, with positive user experiences. With the preceding technical advantages, P2P streaming is seeing rapid deployment. Large P2P streaming applications such as PPLive [PPLive], PPstream [PPstream] and UUSee [UUSee] each has a user base exceeding 100 millions. P2P streaming traffic is becoming a major type of Internet traffic in some Internet networks. For example, according to the statistics of a major Chinese ISP, the traffic generated by P2P streaming applications exceeded 50% of the total backbone traffic during the peak time in 2008. In early 2010, CNTV, China National Network Television for CCTV, launched its software named CBox, which supports P2P-based live and VoD programs. The user base of CBox has increased rapidly. During the opening of 2010 FIFA World Cup, the user base of CBox increased 5 times, reaching 3 million online users a day and altogether 350 million times view. It is reported that CNTV can support 10 million simultaneous user visits [CNTV]. The latest release of Adobe Flash, a major platform of streaming distribution in the Internet, has introduced Stratus, a client-to-client data exchange mode. There were reports that other major video distributors such as Youtube [youtube] and tudou [tudou] are also conducting trials of using P2P streaming as a component of their delivery infrastructures. Zhang Expires April 18, 2011 [Page 4] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Given the increasing integration of P2P streaming into the global content delivery infrastructure, the lacking of an open, standard P2P streaming protocol becomes a major missing component in the Internet protocol stack. Multiple, similar but proprietary P2P streaming protocols result in repetitious development efforts and lock-in effects. On the other hand, we observe a recent trend that more participants beyond traditional P2P streaming vendors are joining the efforts in the development of P2P streaming. Some of these additional participants include infrastructure vendors as Akamai [Akamai], ChinaCache, and ISPs like ComCast [ComCast]. That is, the P2P streaming ecosystem is becoming an increasingly diverse industry with participants from the source, infrastructure (in P2P mode although all the peers are super nodes), delivery and local P2P distribution to the terminals. We argue that proprietary P2P streaming protocols lead to substantial difficulties when integrating P2P streaming as an integral component of a global content delivery infrastructure. For example, proprietary P2P streaming protocols do not integrate well with existing cache and other edge infrastructures. 1.2. Research or Engineering As [P2PStreamSurvey] identifies, there exist multiple proprietary P2P streaming systems including PPLive, PPstream, UUsee, Pando, abacast, and Coolstreaming. A natural question to ask is whether the development of P2P streaming is mature and ready for standardization. We admit that P2P streaming will continue to improve and evolve. However, our investigation also shows that existing P2P streaming systems are largely converging, sharing similar architecture and signaling protocols [draft-zhang-ppsp-protocol-comparison- measurement-00]. The role of standardization in P2P streaming systems is to 1) decouple the information exchange with the data delivery so that some most common functions of P2P streaming can use a generic and open protocol; 2) standardize the information exchange message so that network and service equipments from different providers can interact with each other to produce a complete P2P streaming system. 1.3. Objective and outline Multiple protocols such as streaming control, resource discovery, streaming data transport, etc. are needed to build a P2P streaming Zhang Expires April 18, 2011 [Page 5] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 system [P2PStreamingSurvey]. We call those protocols P2P streaming protocols. The objective of PPSP(Peer to Peer Streaming Protocol) is to standardize the key signaling protocols among various P2P streaming system components, including the tracker and the peers. Note that the complete set of standard P2P streaming protocols for a complete P2P streaming system could be developed following or in parallel to the development of PPSP. PPSP will serve as an enabling technology, building on the development experiences of existing P2P streaming systems. Its design will allow it to integrate with IETF protocols on distributed resource location, traffic localization, and streaming control and data transfer mechanisms. Regarding to the components it involves, PPSP allows effective integration between the peer index server named tracker and different kinds of peers including edge infrastructure nodes such as cache, gateway and CDN nodes who can act as super peers and ordinary peers. This document describes the terminologies, concepts and common architecture for P2P streaming systems, problems without standardized PPSP (i.e., incentives to standardize PPSP), scope of PPSP as well as its use cases. The rest of this document is organized as follows. In Section 2, we introduce some common terminologies and concepts. In Section 3, we introduce P2P streaming system architecture. In Section 4, we identify the problems without standardized protocols and incentives for developing PPSP protocols. In Section 5 and 6, we describe the software architecture and functional components of P2P streaming systems in order to present the position and scope of PPSP. In Section 7, we list some PPSP use cases. 2. Terminology and concepts Chunk: A chunk is a basic unit of partitioned streaming. Peers may use a chunk as a unit of storage, advertisement and exchange among peers [Sigcomm:P2P streaming]. Note that a streaming system may use different units for advertisement and data exchange, using chunks during data exchange, and a larger unit such as a set of chunks during advertisement. Content Distribution Network (CDN) node: A CDN node refers to a network entity that is deployed in the network (e.g., at the network Zhang Expires April 18, 2011 [Page 6] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 edge or data centers) to store content provided by the original servers, and serves content to the clients located nearby topologically. Live streaming: The scenario where all clients receive streaming content for the same ongoing event. It is desired that the lags between the play points of the clients and that of the streaming source be small. P2P cache: A P2P cache refers to a network entity that caches P2P traffic in the network, and either transparently or explicitly as a peer distributes content to other peers. P2P streaming protocols: P2P streaming protocols refer to protocols such as streaming control, resource discovery, streaming data transport, etc. P2P streaming protocols are needed to build a complete P2P streaming system. Peer/PPSP peer: A peer/PPSP peer refers to a participant in a P2P streaming system that not only receives streaming content, but also stores and uploads streaming content to other participants. PPSP: PPSP refer to the key signaling protocols among various P2P streaming system components, including the tracker and peer. PPSP are a part of P2P streaming protocols. Swarm: A swarm refers to a group of clients (i.e., peers) exchange data to distribute the same content (e.g. video/audio program, digital file, etc) at a given time. Tracker/PPSP tracker: A tracker/PPSP tracker refers to a directory service which maintains a list of peers/PPSP peers storing chunks for a specific channel or streaming file, and answers queries from peers/PPSP peers for peer lists. Video-on-demand (VoD): The scenario where different clients may watch different parts of the same recorded media content during a past event. Zhang Expires April 18, 2011 [Page 7] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 3. Introduction of P2P streaming system There are multiple available P2P streaming solutions. Some are deployed solutions, while others are still under active study. A survey of existing solutions can be found in [Survey]. In P2P streaming system, there are various swarms with each swarm containing a group of clients sharing same streaming content (e.g. channel, streaming file, etc) at a given time. These clients are called peers, as each client not only receives streaming content, but also stores and uploads streaming content to other clients. In a broad sense of global content delivery infrastructure, peers can include multiple types of entities such as end user applications, caches, CDN nodes, and/or other edge devices. Therefore, the basic functions of a P2P streaming system involve: 1) Maintaining information about which peers are in which swarms using some directory service, a.k.a. tracker. 2) In each swarm, exchanging information about content availability (e.g. which chunks stored by a peer) among peers, or between tracker and peers. 3) In each swarm, exchange of the actual data content among peers. As shown in Figure 1, common information flows in a P2P streaming system include: 1) When a peer wants to receive streaming content: 1.1) Peer acquires a list of peers in the swarm from the tracker. A swarm can be indexed by a channel ID, streaming file ID, etc. 1.2) Peer exchanges its content availability with other peers that are its neighbors. 1.3) Peer identifies the peers with desired content and requests for the content from the identified peers. 2) When a peer wants to share streaming content with others: 2.1) Peer sends information to the tracker about the swarm it belongs to, plus streaming status and/or content availability. Zhang Expires April 18, 2011 [Page 8] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------+ | +-------------------+ | | | Tracker | | | +-------------------+ | | ^ | ^ | | | | |swarms, | | query | | peer list |streaming status | | | | |and/or content | | | | |availability | | | V | | | +-------------+ +------------+ | | | Peer1 |<------->| Peer 2 | | | +-------------+ content +------------+ | | ^ ^ availability | | * | content | | content * |availability | | V V | | +------------+ | | | Peer 3 | | | +------------+ | +-------------------------------------------------------+ Figure 1 Common information flows in P2P streaming system 4. Problem of proprietary protocols and incentives for developing standard PPSP We start by considering the success of the Web. It is the standard HTTP protocol that makes it possible to deploy the global content distribution eco-system that consists of not only end devices such as Web servers and Web clients, but also infrastructure devices such as Web caches and CDN nodes. All of these devices communicate through standard protocols and provide substantial benefits to the consumers, the content publishers, and the network infrastructure. As we discussed in Section 1, given the increasing integration of P2P streaming into the global content delivery infrastructure, proprietary P2P streaming protocols not only result in repetitious development efforts and lock-in effect, but also lead to substantial difficulties when integrating P2P streaming as an integral component of a global content delivery infrastructure. The explicit incentives to get rid of the proprietary protocols can be seen from the talks of Johan Pouwelse, scientific director of P2P Next: "?broadcasters from the BBC to Germany's ARD just seem to love the idea of ditching their proprietary platforms [Johan Pouwelse]." Zhang Expires April 18, 2011 [Page 9] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Let's take a look of several cases for further problem identification. 4.1. Proprietary signaling leads to difficult interactions when multiple parties are involved in the delivery Consider a simplest case. In an open P2P streaming industrial environment, it is possible for different streaming vendors (esp. spread in different regions) to cooperatively deliver a broadcasting event. Suppose PPLive broadcasts live Chinese spring festival gala for American Chinese by Pando networks. At a first sight, this seems reasonable because there are relatively few American Chinese PPLive users. Therefore it can be challenging to achieve efficient P2P delivery by PPLive alone. Utilizing peer resources from a partner such as Pando may achieve higher efficiency. However, different messages and interaction semantics between the two existing systems can lead to challenges in achieving interoperability among PPLive peers and Pando peers. Consider a more complex case where P2P streaming vendors cooperate with CDN providers. Such integration is already practiced by systems such as UUSee, RayV and Forthtech. For P2P streaming, it has been shown that infrastructure devices such as edge caches and CDN nodes can improve the performance of P2P streaming (e.g., lower latency) by providing more stable "super peers" and reduce traffic in ISP network [CDN+P2P] [RFC 5693]. However, there can be substantial obstacles in deploying infrastructure edge devices supporting proprietary P2P streaming protocols [HTPT]. Unlike the Web with the standard HTTP protocol, the current P2P streaming landscape consists of multiple, proprietary P2P streaming protocols differing in their signaling transactions. Consequently, in order to support P2P streaming, the infrastructure devices need to understand and keep updated with various proprietary P2P streaming protocols. This introduces complexity and deployment cost of infrastructure devices. The setting can become more challenging if there are M P2P streaming vendors and N CDN providers for possible cooperative combination. How does a specific CDN node identify different private systems and report to different trackers with proprietary protocols? It seems there are no good ways to address this. The CDN node has to update its protocol through case-by-case negotiations. With standard PPSP, edge caches and CDN nodes can be designed to inter-operate with only the standard protocols, reducing the complexity and cost to support streaming involving P2P. Zhang Expires April 18, 2011 [Page 10] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 4.2. Proprietary signaling leads to multiple client software in a terminal Because of private protocols, although there can be much commonality among many applications, application developers cannot share common development efforts, leading to repeated efforts and thus wasting work. This may require that a terminal install multiple different software systems for different purposes. For example a user installs CBox for CCTV programming, and PPLive for Japanese and Korean movies. This brings two problems: 1) Due to terminal limitations, it may not be possible to install many clients in one machine, esp. for mobile terminals. The limited CPU, storage and cache often limit the concurrent threads and processes. 2) Different, independent software system may conduct vicious competitions. In the past, we have even seen that competitors delete each other's software when automatically running a software program. Standard protocols and common components can lead to better co-use. 4.3. Proprietary signaling leads to low network resource utilization From the network resource utilization perspective, if we have no standard protocols in designating the resource availability (which is a PPSP task) and every application uses its proprietary protocol for storage and bandwidth usage, then for the same content, many on-the- way data in different applications have to be cached/stored and transferred repeatedly. This wastes storage and causes possible congestion in the network. 4.4. Proprietary signaling doesn't handle well with mobile and wireless environment Mobility and wireless are becoming increasingly important features to support in future Internet deployments [GENI], [FIND]. Currently there are more and more mobile and wireless Internet users. By the end of 2009, there are 233 million mobile users in China [CNNIC]. Along with the introduction of mobile and wireless capabilities into the Internet, mobile streaming is becoming a key offered service [MobileTV]. In Korea the number of mobile TV subscriber has reached seventeen millions, accounting for one third of the mobile subscribers. In Italy, there are one million mobile TV users. During Zhang Expires April 18, 2011 [Page 11] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 the 2008 Beijing Olympic Games, more than one million users utilized China mobile's mobile TV service. Considering that the mobile and wireless nodes have better CPU, memory and storage and the mobile network has better network bandwidth (esp. there are more uplink bandwidth which is wasted for transferring little data in current practice) than before, there is a possibility for the mobile and wireless node to be peers supporting P2P streaming. However, mobile peers may face bigger challenges for supporting P2P streaming with unsteady network connections, less steady power and different media coding for mobile devices. Current proprietary protocols are designed mainly for the fixed Internet and do not address these challenges. We may therefore raise such a question: Shall we let these private protocols to fit in mobile environment system-by-system independently or solve these problems in the design of an open PPSP protocol suite? The answer is obviously clear. It is worth mentioning that the development of PPSP should consider the specific requirements of mobile Internet. For example, the overhead of PPSP should be small in low bandwidth mobile Internet. Also, information exchange in PPSP should support mobility, low battery usage and heterogeneous capabilities of mobile terminals. Systematic requirements on the development of PPSP will be addressed in the requirements documents. Zhang Expires April 18, 2011 [Page 12] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 5. Components of P2P streaming system +---------------------------------------------------+ | Application Layer | |---------------------------------------------------| | Play-out Layer | | +----------+ +------------+ +-----------+ | | |start/stop| |pause/resume| | FF/rewind | | | +----------+ +------------+ +-----------+ | |-------------------------------------------------- | | Information Layer | | +------------+ +------+ +-----------+ | | |registration| |report| | statistics| | | +------------+ +------+ +-----------+ | |---------------------------------------------------| | Communication Layer | | +---------------------+ +------------------+ | | |tracker communication| |peer communication| | | +---------------------+ +------------------+ | | +-------------+ | | | bootstrap | | | +-------------+ | |---------------------------------------------------| | Transport Layer | +---------------------------------------------------+ Figure 2. Major components of a P2P streaming system. To organize our efforts, we show the components of a complete P2P streaming system in Figure 2. 1) The Transport Layer is responsible for data transmission among peers. UDP, TCP or other protocols can be used. 2) The Communication Layer includes three components: 2.1) Tracker communication is a component that enables each peer to get peer list from the tracker. It may also allow a peer to report content availability to the tracker. 2.2) Peer communication is a component that enables each peer to exchange content availability and neighbor peer information as well as send requests other peers for content. 2.3) Bootstrap is a component that enables newly joined nodes to obtain tracker information. Zhang Expires April 18, 2011 [Page 13] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 3) The Information Layer is responsible for peer and content information collection and management. 3.1) Registration is a component that enables nodes to register to the system, and publish the content information. The information may include but is not limited to: content description, content type, creation time, node information such as physical location, IP address. 3.2) Report is a component that enables peers to report streaming status to the tracker. The information may include peer inbound/outbound traffic, amount of neighbor peers, peer health degree and other streaming parameters. 3.3) Statistics is a component that enables trackers to manage the aggregated system information for global control in upload bandwidth consumption, overhead consumption and other tasks. 4) The Play-out Layer is responsible for controlling the action of media play (e.g., start, pause, resume, stop, fast-forward, and rewind). 5) The Application Layer is the top layer for streaming applications. 6. Scope of PPSP 6.1. Protocols to be standardized We propose to standardize protocols in PPSP which enable the tracker communication and the peer communication components in the communication layer, as well as the report component in the information layer. These protocols, called PPSP, are key mechanisms involving two important roles - tracker and peer in P2P streaming processes, as addressed in Section 3. These signaling protocols, in essence, aim at standardizing the content information exchange mechanisms among different devices in P2P streaming systems. Note that PPSP is only a part of P2P streaming protocols. The complete set of standard P2P streaming protocols for a complete P2P streaming system could be developed following or in parallel to the PPSP development. Because bootstrap, registration and statistics components are out-of- band mechanisms for streaming processes, they are not in current scope of PPSP. Both transport, play-out and application layers in P2P streaming system are also beyond the current scope of PPSP. Zhang Expires April 18, 2011 [Page 14] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Therefore, PPSP includes the PPSP tracker protocol - a signaling protocol between PPSP trackers and PPSP peers, and the PPSP peer protocol - a signaling protocol among PPSP peers. 1) PPSP tracker protocol This protocol will define: 1.1) Standard format/encoding of information between PPSP peers and PPSP trackers, such as peer list, content availability, streaming status including online time, link status, node capability and other streaming parameters. 1.2) Standard messages between PPSP peers and PPSP trackers defining how PPSP peers report streaming status and request to PPSP trackers, as well as how PPSP trackers reply to the requests. Note that existing protocols should be investigated and evaluated for being reused or extended as the messages between tracker and peer. Possible candidates include the use of the HTTP, where the GET method could be used to obtain peer lists, the POST method used for streaming status reports, etc. 2) PPSP peer protocol This protocol will define: 2.1) Standard format/encoding of information among PPSP peers, such as chunk description. 2.2) Standard messages among PPSP peers defining how PPSP peers advertise chunk availability and their neighbor peers information to each other, as well as the signaling for requesting chunks among PPSP peers. Again, existing protocols should be investigated and evaluated for being reused or extended as the messages among peers. Possible candidates include the use of the HTTP, where the GET method could be used to obtain chunk availability, etc. Considering that there can be a large number of peers, the protocol should consider some lightweight (possibly binary) protocols. 6.2. Service types to be considered As stated in Section 1, PPSP will serve as an enabling technology and provide tools for building multiple P2P streaming systems. We are not standardizing certain streaming services. The reason that we list Zhang Expires April 18, 2011 [Page 15] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 service types here is to show we would consider the properties of these services as the requirements for PPSP design. Common service types supported by current P2P streaming systems include live streaming and video-on-demand (VoD). In live streaming, all PPSP peers are interested in the media coming from an ongoing event, which means that all PPSP peers share nearly the same streaming content at a given point of time. In live streaming, some PPSP peers may store the live media for further distribution, which is known as TSTV (time-shift TV), where the stored media are separated into chunks and distributed in a VoD-like manner. In VoD, different PPSP peers watch different parts of the recorded media content during a past event. In this case, each PPSP peer keeps asking other PPSP peers which media chunks are stored in which PPSP peers, and then pulls the required media from some selected PPSP peers. 7. Use cases of PPSP 7.1. Worldwide Provision by cooperative P2P Streaming vendors with PPSP As stated in section 4.1, the cooperation of P2P Streaming vendors can easily expand the broadcasting scale with standard PPSP. The interactions between cooperative P2P streaming provider A's tracker server and P2P streaming provider B and C's SuperNodes is shown in Figure 3. Zhang Expires April 18, 2011 [Page 16] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------------------+ | | | +------------------+ | | +------------>| A's Tracker |<----------+ | | | +------------------+ | | | Tracker| ^ ^ | | | Protocol| Tracker| |Tracker |Tracker | | | Protocol| |Protocol |Protocol | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +------+ +------+ | | | B's |<------->| B's | | C's | | C's | | | | SN1 |Protocol | SN2 | | SN1 | | SN2 | | | +------+ +------+ +------+ +------+ | | ^ ^ ^ ^ | | | | | | | | | | Peer Protocol Peer Protocol| | | | Peer | +-------------+ +--------------+ |Peer | | Procotol| | | |protocol| | | | | | | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | A's |<------> | B's | |A's |<------> |C's | | | | User1|Protocol | User2| | User1 |Protocol | User2 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+ Figure 3 Cooperative Vendors Interactions 7.2. Three Screen P2P streaming in heterogeneous environment using PPSP This is a use case where PC, Setbox/TV and mobile terminals from both fixed Internet and mobile Internet to construct a peer overlay for streaming content distribution. Using PPSP protocols, peers from different kinds of networks can share and download what they have from each other to form a 3-screen streaming system. Zhang Expires April 18, 2011 [Page 17] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------------------+ | | | Tracker Protocol +---------+ Tracker Protocol | | +-------------> | Tracker |<------------------+ | | | +---------+ | | | | ^ | | | | | | | | | | | | | V | V | | +------+ | +------------+ | | | STB | Tracker Protocol |Mobile Phone| | | +------+ | +------------+ | | ^ | ^ | | | | | | | | | | | | | V | | | |Peer Protocol +---------+ Peer Protocol | | | +-------------> | PC |<------------------+ | | +---------+ | | | +-------------------------------------------------------------------+ Figure 4 Heterogeneous P2P Streaming Interactions with PPSP 7.3. CDN supporting streaming This scenario is similar to use case 1 except that this is more like an M to N mapping while use case 1 is more often to be a case by case mapping. This reduces the case by case negotiation between the original provider and multiple CDN providers if otherwise proprietary protocols are used makes it easier for both sides to interoperate. The interactions between the P2P streaming provider's tracker server and CDN surrogates as well as interactions between CDN surrogates are the same as a normal peer as shown in Figure 4. PPSP can be used in: 1) Interface between CDN nodes and tracker. This is very useful for a small streaming provider who has no its own CDN surrogates and much money to distribute its stream worldwide. 2) New construction of CDN systems by PPSP. This can often occur for an operator or CDN vendor to build a P2P CDN system supporting streaming or file sharing applications with low cost. Zhang Expires April 18, 2011 [Page 18] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------------------+ | | | +------------------+ | | +------------>| Original Tracker |<----------+ | | | +------------------+ | | | Tracker| ^ ^ | | | Protocol| Tracker| |Tracker |Tracker | | | Protocol| |Protocol |Protocol | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +------+ +------+ | | | CDN1 |<------->| CDN1 | | CDN2 | | CND2 | | | | POP2 |Protocol | POP1 | | POP1 | | POP2 | | | +------+ +------+ +------+ +------+ | | ^ ^ ^ ^ | | | | | | | | | | Peer Protocol Peer Protocol| | | | Peer | +-------------+ +--------------+ |Peer | | Procotol| | | |protocol| | | | | | | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | USA |<------> | USA | |Caribbean|<------> |Caribbean| | | | User1|Protocol | User2| | User1 |Protocol | User2 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+ Figure 5 CDN Supporting P2P Streaming with PPSP 7.4. Hierarchical P2P Streaming Distribution with PPSP Hierarchical P2P streaming has many advantages over non-hierarchical streaming such as providing better QoS, e.g., lower start-up latency and service interruption [P2broadcast], higher throughput and lower packets drop ratio [Hybrid], topology-mismatch reduction and better management [AHLSS]. PPSP is useful for clustering the peers because there are abundant node information and content information exchange fetched in the message. Zhang Expires April 18, 2011 [Page 19] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 7.5. Serving Gatwway/GGSN acting as Super Nodes assisting P2P streaming delivery in Cellular mobile environment In a cellular mobile environment, with the increase in bandwidth and mobile terminal capabilities, P2P streaming is better to be realized than before. Note that we don't have compulsory mobile peers. The network peers and WIFI peers are easier selected. Serving gateway/GGSN, as the gateway for the cellular network to Internet, is more and more viewed as a promising place to add the cache functionality assisting P2P streaming services. Because it's deployed by the operators, the stability and storage size are better guaranteed than ordinary PC. Thus, it is desirable to to select serving gateway/GGSN as the super nodes assisting delivery. The interactions between serving gateway/GGSN and tracker, among serving gateways/GGSNs, and between serving gateway/GGSN and mobile terminal are shown in Figure 6. We name these kinds of serving gateway/GGSN as Mobile Supporting Super Nodes (MSSN). Note that if mobile terminals are not eligible to be a peer, it can use client/server streaming, by simply taking GGSN as a source. There are two basic scenarios in cellular networks: 1) Self operational P2P streaming services for mobile operators: PPSP is a suitable protocol for tracker-GGSN and GGSN-mobile nodes interaction. GGSN can be both a super node and a proxy for different mobile terminals with different capabilities. 2) Third-party P2P streaming services with optimized localization by GGSN. When introducing a popular P2P streaming application like PPLive in a mobile network, GGSN can coordinate with the third part trackers to cache the content without needing continuous update of the third party protocols. Zhang Expires April 18, 2011 [Page 20] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------------------+ | | | Peer Protocol | | +-------------------+ | | | | | | ,--?. | ,--?. | ,--?. | | .' '. | .' '. | .' '. | | / \ V / \ V / \ | | ' Cellular +------+ Internet +------+ Cellular | | | | Access | MSSN | | MSSN | Access / | | \ Network +------+ +------+ Networks / | | ' /^ ^ \ / \ .' | | '. / | | ' / ' .' | | '. .' | | '.+-------+' '. .' | | '------' | | |Tracker| '-----' | | Peer Protocol/| | +-------+ | | +------+ HTTP | | Tracker ^Protocol | | |Mobile|<------------+ +---------+ | | |Phone |<-------------------------+ | | +------+ (Tracker Protocol) | +-------------------------------------------------------------------+ Figure 6 Serving Gateway/GGSN assisting P2P streaming delivery 7.6. Cache Service Supporting Streaming Deploying cache nodes in the network edges can greatly decrease the inter-network traffic and increase user experience in streaming service. However, the cache nodes deployed by operators have to execute DPI(deep packet inspection) and update their matching library constantly to support more and more proprietary P2P streaming protocols along with the increase of such applications. It increases the operator's cost dramatically. If PPSP were used in the cache nodes as well as the applications, cache nodes can spend less cost to support more applications. After the cache gets the content, it can reports to the P2P streaming provider's tracker server just like as a normal peer and serves other peers as shown in Figure 7. Zhang Expires April 18, 2011 [Page 21] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 +-------------------------------------------------------------------+ | | | Tracker Protocol +---------+ Tracker Protocol | | +-------------> | Tracker |<--------------------+ | | | +---------+ | | | | | | | | | | | | | | | V V | | +-----------+ Peer Protocol +------------+ | | | Cache |<---------------------------->| Peer | | | +-----------+ +------------+ | +-------------------------------------------------------------------+ Figure 7 Cache Service Supporting Streaming 8. Security Considerations PPSP has similar assumptions regarding peer privacy as P2PSIP [ID.ietf-p2psip-base];that is, all participants in the system are issued unique identities and credentials through some mechanism not in the scope of PPSP. One possibility is a centralized server. Hence PPSP will not attempt a solution to these issues for P2P streaming in general. However PPSP has some unique security issues: 1) The content published by peers may not be checked by a centralized certificating server. Consequently, P2P streaming may conduct malicious content distribution. 2) Content pollution is another common problem faced by P2P streaming. 3) Because we focus on P2P streaming with a tracker who is critical to the P2P streaming system, there may be a higher probability that attacks are launched against the tracker. PPSP may include some mechanisms to prevent malicious nodes from polluting the streaming content or launching attacks on the tracker. The protocol documents will contain a complete description on the security/privacy concerns of PPSP. 9. Acknowledgments We would like to acknowledge the following people who provided feedback and suggestions to this document: D. Bryan from Cogent Force; E. Marocco from Telecom Italia; V. Gurbani from Bell Labs/ /Alcatel- Zhang Expires April 18, 2011 [Page 22] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 Lucent; R. Even from Huawei; H. Zhang from NEC Labs, USA; C. Schmidt and L. Xiao from NSN; C. Williams from ZTE; V. Pasual from Tekelec; D. Zhang from PPlive; H. Deng from China Mobile; and J. Lei from Univ. of Goettingen. 10. Informative References [Cisco] Approaching the Zettabyte Era by Cisco. [PPLive] www.pplive.com [PPStream] www.ppstream.com [UUSee] http://newteevee.com/2008/09/14/p2p-is-coming-to-youtube/ [youtube] www.youtube.com [tudou] www.tudou.com [CNN] www.cnn.com [Octoshape] www.octoshape.com [ATT]http://mobile.sooyuu.com/Article/content/200905/217315094629281_ 1.shtml [Sigcomm:P2P streaming]Challenges, Design and Analysis of a Large- scale P2P-VoD System,Yan Huang et al, Sigcomm08. [RFC 5693], Application-Layer Traffic Optimization (ALTO) Problem Statement, E. Marocco et al, draft-ietf-alto-problem-statement-04 [Pando]www.pando.com [CoolStreaming] CoolStreaming/DONet: A Data-Driven Overlay Network for Efficient Live Media Streaming, Xinyan Zhang et al, [HPTP] HPTP: Relieving the Tension between ISPs and P2P, Guobin Shen et al, [draft-zhang-ppsp-protocol-comparison-measurement- 00]www.ietf.org/internet-drafts/draft-zhang-ppsp-protocol-comparison- measurement-00.txt [GENI] www.geni.net [FIND]www.nets-find.net Zhang Expires April 18, 2011 [Page 23] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 [draft-zhang-ppsp-dsn-introduction-00]www.ietf.org/internet- draft/draft-zhang-ppsp-dsn-introduction-00.txt [MobileTV] MobileTV,Turning in or switching off, Arthur D. Little [Computer Networks: Traffic] Traffic analysis of peer-to-peer IPTV communities, Thomas Silverston et al, Computer Networks, 53 (2009) 470-484 [Survey]A survey on peer-to-peer video streaming systems Yong Liu et al, Peer-to-Peer Netw Appl (2008) 1:18-28,Springer. [draft-zhang-alto-traceroute-00] www.ietf.org/internet-draft/draft- zhang-alto-traceroute-00.txt [P2PStreamingSurvey] Zong, N. and X. Jiang, "Survey of P2P Streaming", IETF PPSP BoF, November 2008. [Challenge] Peer-to-Peer Live Video Streaming on the Internet: Issues, Existing Approaches, and Challenges, Bo Li et al, IEEE Communications Magazine, June 2007(94-99). [CDN+P2P]Efficient Large-scale Content Distribution with Combination of CDN and P2P Networks,Hai Jiang et al,International Journal of Hybrid Information Technology, Vol.2, No.2, April, 2009. [Peering CDN] A Case for Peering of Content Delivery Networks, Rajkumar Buyya1 et al, http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924a eb0dcd82ccc6716bbe36ec/index.jsp?&pName=dso_level1&path=dsonline/2006 /10&file=o10003.xml&xsl=article.xsl&. [P2broadcast] P2broadcast: a hierarchical clustering live video streaming system for P2P networks, De-kai Liu et al,International Journal of Communication Systems,Volume 19,Issue 6. [Hybrid]Hybrid Overlay Networks Management for Real-Time Multimedia Streaming over P2P Networks, Mubashar Mushtaq et al, Lecture Notes in Computer Science, Volume 4787/2007. [AHLSS]AHLSS: A Hierarchical, Adaptive, Extendable P2P Live Streaming System, Runzhi Li et al, International Journal of Distributed Sensor Networks, Volume 5, Issue 1 January 2009. [ComCast]http://www.afterdawn.com/news/article.cfm/2008/05/20/comcast _invests_in_p2p_streaming_startup Zhang Expires April 18, 2011 [Page 24] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 [Johan Pouwelse]http://newteevee.com/2008/07/24/open-source-p2p- streaming-getting-ready-to-disrupt-cdn-business-models/ [CNTV] news.xinhuanet.com/2010-06/30/c_12281703.htm [CNNIC] http://it.sohu.com/s2010/cnnic25/ [ID.ietf-p2psip-base] Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and H. Schulzrinne, "REsource LOcation And Discovery (RELOAD)Base Protocol", draft-ietf-p2psip-base-08. [Akamai] Cheng Huang , Angela Wang , Jin Li , Keith W. Ross, Understanding hybrid CDN-P2P: why limelight needs its own Red Swoosh, Proceedings of the 18th International Workshop on Network and Operating Systems Support for Digital Audio and Video, May 28-30, 2008, Braunschweig, Germany . Author's Addresses Yunfei Zhang China Mobile Communication Corporation zhangyunfei@chinamobile.com Ning Zong Huawei Technologies Co., Ltd. zongning@huawei.com Gonzalo Camarillo Ericsson Gonzalo.Camarillo@ericsson.com James Seng PPLive Zhang Expires April 18, 2011 [Page 25] Internet-Draft Problem Statement of P2P Streaming Protocol October 2010 james.seng@pplive.com Richard Yang Yale University yry@cs.yale.edu Zhang Expires April 18, 2011 [Page 26]