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]