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, . [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]