PPSP                                                          W. Chen
Internet Draft                                                J. Peng
Intended status: Informational                                Y. Zhang
                                                           China Mobile
Expires: April 2011                                   October 25, 2010



                        SIP-based Tracker Protocol
             draft-chen-ppsp-sip-based-tracker-protocol-01.txt


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 25, 2011.

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.







Chen                   Expires April 25, 2011                 [Page 1]


Internet-Draft       SIP-based Tracker Protocol           October 2010


Abstract

This draft introduces a kind of text-based encoding Tracker Protocol,
the SIP-based PPSP Tracker Protocol, which utilizes SIP message to
realize the functions of PPSP Tracker Protocol[1] and carries the
specific xml information mentioned in tracker protocol[1] messages in
SIP body.









































Chen, et al.           Expires April 25, 2011                 [Page 2]


Internet-Draft       SIP-based Tracker Protocol           October 2010


Table of Contents


   1. Introduction ................................................ 4
   2. Protocol Overview ........................................... 5
      2.1. Description of the SIP-based Tracker Protocol ...........5
      2.2. MAPPING Methods of Tracker Protocol into SIP Methods.....5
   3. Signaling Flows ............................................. 7
      3.1. Peer Registration Flow.................................. 7
      3.2. Peer De-registration Flow............................... 7
      3.3. Join Swarm Flow......................................... 8
      3.4. Content Availability Report Flow ........................8
      3.5. Leave Swarm Flow........................................ 9
      3.6. Find Peerlist Flow..................................... 10
      3.7. Keep Alive Flow........................................ 11
      3.8. Information Query Flow................................. 12
      3.9. Information Report Flow................................ 12
   4. Open Issues ................................................ 14
   5. Normative References........................................ 14





























Chen, et al.           Expires April 25, 2011                 [Page 3]


Internet-Draft       SIP-based Tracker Protocol           October 2010


1. Introduction

   As one of the important protocol components of PPSP, the Tracker
   Protocol provides communication between Trackers and Peers, by which
   Peers report streaming status to the tracker and request candidate
   lists from the tracker. [1] proposes two kinds of PPSP tracker
   protocols, binary encoding protocol and text-based encoding protocol
   like HTTP/XML protocol.

   This draft introduces a kind of text-based encoding PPSP Tracker
   Protocol, the SIP-based Tracker Protocol, which utilizes SIP messages
   to realize the functions of Tracker Protocol and carries the specific
   xml information mentioned in tracker protocol[1] messages in SIP body.

   Section 2 outlines the protocol overview.

   Section 3 defines the key signaling flows of SIP-based P2P streaming
   Tracker Protocol.






























Chen, et al.           Expires April 25, 2011                 [Page 4]


Internet-Draft       SIP-based Tracker Protocol           October 2010


2. Protocol Overview

2.1. Description of the SIP-based Tracker Protocol

   SIP-based Tracker Protocol is a kind of text-based encoding tracker
   protocol realized by SIP protocol[2], i.e. the request and response
   messages of PPSP tracker protocol can be realized by SIP request and
   response messages, not carried in SIP Message body; the specific xml
   information mentioned in tracker protocol[1] is carried in SIP body.

2.2. MAPPING Methods of Tracker Protocol into SIP Methods

   This section outlines the mapping relations between SIP Request and
   Request defined in Tracker Protocol[1], shown in Fig.1.

          +--------------------+----------------------------+
          | PPSP Request Method|       SIP Request Method   |
          +--------------------+----------------------------+
          |     CONNECT        |           Register         |
          |    DISCONNECT      |           Register         |
          |     JOIN           |             Invite         |
          |     LEAVE          |              BYE           |
          |     FIND           |            INFO            |
          |   KEEPALIVE        |            Register        |
          |  STAT_QUERY        |             OPTIONS        |
          |  STAT_REPORT       |             PUBLISH        |
          |  JOIN_CHUNK        |        SUBSCRIBE/NOTIFY    |
          +--------------------+----------------------------+

     Figure 1 Mapping between SIP Request and Tracker Protocol Request

   In addition, Tracker Protocol Responses can be realized by SIP
   Responses, like HTTP realization in [1], because SIP response codes
   are consistent with, and extend, HTTP/1.1 response codes.














Chen, et al.           Expires April 25, 2011                 [Page 5]


Internet-Draft       SIP-based Tracker Protocol           October 2010


          +-------------------------+-----------------------------+
          | PPSP Response Method    |       SIP Response Method   |
          +-------------------------+-----------------------------+
          |    SUCCESSFUL (OK)      |           200 ok            |
          |    INVALID SYNTAX       |       400 Bad Request       |
          |  VERSION NOT SUPPORTED  |       400 Bad Request       |
          |  MESSAGE NOT SUPPORTED  |       403 Forbidden         |
          |  TEMPORARILY OVERLOADED |  503 Service Unavailable    |
          |   INTERNAL ERROR        |  500 Server Internal Error  |
          |  MESSAGE FORBIDDEN      |       403 Forbidden         |
          |  OBJECT NOT FOUND       |       404 Not Found         |
          | AUTHENTICATION REQUIRED |       401 Unauthorized      |
          |    PAYMENT REQUIRED     |       402 Payment Required  |
          +-------------------------+-----------------------------+

   Figure 2 Mapping between SIP Responses and Tracker Protocol Responses
































Chen, et al.           Expires April 25, 2011                 [Page 6]


Internet-Draft       SIP-based Tracker Protocol           October 2010


3. Signaling Flows

   This section defines the key signaling flows.

3.1. Peer Registration Flow

   After Connect operation completes or a peer registers on the tracker,
   the peer may send additional requests to the tracker, like to publish
   content availability, or obtain lists of peers with specific content
   from the tracker.

   Tracker Protocol Connect operation defined in [1] is realized by SIP
   Register flow specified in [2], shown in Fig.3. For example, SIP
   Register flow can finish the authentication and authorization
   functions required by PPSP tracker protocol in the way such as HTTP
   digest, AKA etc.

      Peer                                     Tracker
       |                                          |
       |                                          |
       |                                          |
       |                                          |
       | SIP Register                             |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 401 Unauthorized                     |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       | SIP Register                             |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 200OK                                |
       |<-----------------------------------------|
       |                                          |

                      Figure 3 Peer Registration Flow

3.2. Peer De-registration Flow

   Tracker Protocol DISCONNET operation defined in [1] is realized by
   SIP REGISTER method with "Expires" value equaling to 0 defined in [2],
   shown in Fig.4.




Chen, et al.           Expires April 25, 2011                 [Page 7]


Internet-Draft       SIP-based Tracker Protocol           October 2010


      Peer                                     Tracker
       |                                          |
       |                                          |
       |                                          |
       |                                          |
       | SIP Register(Expires=0)                  |
       |----------------------------------------->|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |<-----------------------------------------|
       |                                          |

                    Figure 4 Peer De-registration Flow

3.3. Join Swarm Flow

   Tracker Protocol JOIN operation defined in [1] is realized by SIP
   Invite flow specified in [2], shown in Fig.5. Through the flow, the
   tracker knows a peer sending the invite message wishes to participate
   in a particular swarm; the peer can get what it needs from the other
   peers in the swarm.

      Peer                                     Tracker
       |                                          |
       |                                          |
       |                                          |
       |                                          |
       | SIP Invite                               |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP ACK                                  |
       |<-----------------------------------------|
       |                                          |
                         Figure 5 Join Swarm Flow

3.4. Content Availability Report Flow

   Tracker Protocol Join_Chunk operation defined in [1] is to realize
   the function of reporting the content availability, i.e. to report
   which chunks a peer has and which swarms it has joined in to the


Chen, et al.           Expires April 25, 2011                 [Page 8]


Internet-Draft       SIP-based Tracker Protocol           October 2010


   tracker. This function is realized by SIP Subscribe/Notify method
   defined in [3], shown in Fig.6. After subscribed successfully, a peer
   will notify the tracker when the content possessed by the peer
   changes.

      Peer                                     Tracker
       |                                          |
       |                                          |
       |                                          |
       |                                          |
       | SIP Subscribe                            |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       | SIP 200ok                                |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP Notify                               |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 200OK                                |
       |<-----------------------------------------|
       |                                          |

                 Figure 6 Content Availability Report Flow

3.5. Leave Swarm Flow

   Tracker Protocol LEAVE operation defined in [1] is realized by SIP
   Bye and Notify flow specified in [2] and [3], shown in Fig.7. Through
   this flow, peers notify the tracker that they no longer are
   participating in (either sharing or requesting) a particular swarm.














Chen, et al.           Expires April 25, 2011                 [Page 9]


Internet-Draft       SIP-based Tracker Protocol           October 2010


      Peer                                     Tracker
       |                                          |
       |                                          |
       | SIP NOTIFY(Subscription-State=terminated)|
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 200OK                                |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       |                                          |
       | SIP Bye                                  |
       |----------------------------------------->|
       |                                          |
       |                                          |
       | SIP 200OK                                |
       |<-----------------------------------------|
       |                                          |

                         Figure 7 Leave Swarm Flow

3.6. Find Peerlist Flow

   Tracker Protocol FIND operation defined in [1] is realized by SIP
   Info flow specified in [4], shown in Fig.8.






















Chen, et al.           Expires April 25, 2011                [Page 10]


Internet-Draft       SIP-based Tracker Protocol           October 2010


      Peer                                     Tracker
       |                                          |
       | SIP Info                                 |
       |----------------------------------------->|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       |                                          |
       | SIP Info                                 |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |----------------------------------------->|
       |                                          |


                        Figure 8 Find Peerlist Flow

3.7. Keep Alive Flow

   Tracker Protocol KEEPALIVE operation defined in [1] is realized by
   SIP Register flow defined in [2], shown in Fig.9.

      Peer                                     Tracker
       |                                          |
       |                                          |
       |                                          |
       |                                          |
       | SIP Register                             |
       |----------------------------------------->|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |<-----------------------------------------|
       |                                          |

                    Figure 9 Peer De-registration Flow





Chen, et al.           Expires April 25, 2011                [Page 11]


Internet-Draft       SIP-based Tracker Protocol           October 2010


3.8. Information Query Flow

   Tracker Protocol STAT_Query operation defined in [1] is realized by
   SIP Options flow Specified in [2]. Because STAT_Query method works in
   two directions, a peer or a tracker can query stat information to the
   other, shown in Fig.10 and Fig.11.

      Peer                                     Tracker
       |                                          |
       | SIP OPTIONS                              |
       |----------------------------------------->|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |<-----------------------------------------|
       |                                          |
          Figure 10 Information Query Flow(from a peer to tracker)

      Peer                                     Tracker
       |                                          |
       | SIP OPTIONS                              |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |----------------------------------------->|
       |                                          |
         Figure 11 Information Query Flow(from a tracker to a peer)

3.9. Information Report Flow

   Tracker Protocol STAT_REPORT operation defined in [1] is realized by
   SIP Publish flow, Specified in [5]. Because STAT_REPORT method works
   in two directions, a peer or a tracker can publish stat information
   to the other, shown in Fig.12 and Fig.13.











Chen, et al.           Expires April 25, 2011                [Page 12]


Internet-Draft       SIP-based Tracker Protocol           October 2010


      Peer                                     Tracker
       |                                          |
       | SIP PUBLISH                              |
       |----------------------------------------->|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |<-----------------------------------------|
       |                                          |
        Figure 12 Information Report Flow(from a peer to a tracker)

      Peer                                     Tracker
       |                                          |
       | SIP PUBLISH                              |
       |<-----------------------------------------|
       |                                          |
       |                                          |
       |                                          |
       | SIP 200 OK                               |
       |----------------------------------------->|
       |                                          |
        Figure 13 Information Report Flow(from a tracker to a peer)

























Chen, et al.           Expires April 25, 2011                [Page 13]


Internet-Draft       SIP-based Tracker Protocol           October 2010


4. Open Issues

   Need to decide if SIP Register message is the best selection which is
   used to realize the Keepalive function in 3.7 compared with other SIP
   requests like SIP Message.

5. Normative References

   [1]  Gu, Y., Bryan, D., Zhang, Y., and H. Liao, "PPSP Tracker
         Protocol", March 2010, <draft-gu-ppsp-tracker-protocol>.

   [2]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
         Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP:
         Session Initiation Protocol", RFC 3261, June 2002.

   [3]  Roach, A., "Session Initiation Protocol (SIP)-Specific Event
         Notification", RFC 3265, June 2002.

   [4]  Donovan, S., "The SIP INFO Method", RFC 2976, October 2000.

   [5]  Niemi, A., "Session Initiation Protocol (SIP) Extension for
         Event State Publication", RFC 3903, October 2004.

Author's Addresses

   Wei Chen
   China Mobile
   Unit 2, 28 Xuanwumenxi Ave,
   Xuanwu District,
   Beijing 100053, China

   Email: chenweiyj@chinamobile.com


   Jin Peng
   China Mobile
   Unit 2, 28 Xuanwumenxi Ave,
   Xuanwu District,
   Beijing 100053, China

   Email: pengjin@chinamobile.com








Chen, et al.           Expires April 25, 2011                [Page 14]


Internet-Draft       SIP-based Tracker Protocol           October 2010


   Yunfei Zhang
   China Mobile
   Unit 2, 28 Xuanwumenxi Ave,
   Xuanwu District,
   Beijing 100053, China

   Email: zhangyunfei@chinamobile.com









































Chen, et al.           Expires April 25, 2011                [Page 15]