PPSP                                                             Y.Zhang
Internet Draft                                              China Mobile
Intended status: Standards Track                                  N.Zong
Expires: September 2009                                     Huawei Tech.
                                                             NEC Lab,USA
                                                           March 9, 2009

             Problem Statement of P2P Streaming Protocol (PPSP)

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

   The list of Internet-Draft Shadow Directories can be accessed at

   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.


   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

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

   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

   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

   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

   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

   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

   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-

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-

   [12] www.geni.net

   [13] www.nets-find.net

   [14] www.ietf.org/internet-draft/draft-zhang-ppsp-dsn-introduction-

Author's Addresses

   Yunfei Zhang
   China Mobile

   Phone: 86 13601032119
   Email: zhangyunfei@chinamobile.com

   Ning Zong
   Huawei Tech.

   Email: zongning@huawei.com

   James Seng

   Email: james.seng@pplive.com

   Hui Zhang
   NEC Lab,USA

   Email: huizhang@nec-labs.com

Zhang                 Expires September 9, 2009              [Page 17]