idnits 2.17.1 draft-huang-ppsp-extended-tracker-protocol-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 5 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 20 has weird spacing: '...cements and u...' == Line 384 has weird spacing: '...connect conne...' -- The document date (March 9, 2015) is 3334 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC6972' is mentioned on line 119, but not defined == Unused Reference: 'RFC4648' is defined on line 595, but no explicit reference was found in the text == Unused Reference: 'RFC5322' is defined on line 610, but no explicit reference was found in the text == Outdated reference: A later version (-12) exists of draft-ietf-ppsp-base-tracker-protocol-08 Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 PPSP Rachel Huang 3 INTERNET-DRAFT Huawei 4 Intended Status: Standards Track Rui Cruz 5 Expires: September 10, 2015 Mario S. Nunes 6 INESC-ID/INOV 7 Joao P. Taveira 8 IST/INOV 9 Lingli Deng 10 China Mobile 11 March 9, 2015 13 PPSP Tracker Protocol-Extended Protocol 14 draft-huang-ppsp-extended-tracker-protocol-08 16 Abstract 18 This document specifies an extension to the PPSP Tracker Protocol - 19 Base Protocol, which complements the core messages of the protocol 20 with Request-Response enhancements and usages, and with a new 21 DISCONNECT Protocol-level message. These enhancements and usages are 22 related with the exchange of meta information between trackers and 23 peers, such as initial offer/request of participation in multimedia 24 content streaming, content information, peer lists, reports of 25 activity and status, and graceful disconnection from the network. 26 The extension is retro-compatible with the PPSP-TP Base Protocol. 28 Status of this Memo 30 This Internet-Draft is submitted to IETF in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF), its areas, and its working groups. Note that 35 other groups may also distribute working documents as 36 Internet-Drafts. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 The list of current Internet-Drafts can be accessed at 44 http://www.ietf.org/1id-abstracts.html 46 The list of Internet-Draft Shadow Directories can be accessed at 47 http://www.ietf.org/shadow.html 49 Copyright and License Notice 51 Copyright (c) 2015 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (http://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 67 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 68 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 4. Extended Tracker Protocol Overview . . . . . . . . . . . . . . 5 70 4.1. Request-Response Extension . . . . . . . . . . . . . . . . 5 71 4.2. Protocol-level Extension . . . . . . . . . . . . . . . . . 6 72 4.3. Usage of Extended Request Messages . . . . . . . . . . . . 6 73 4.4. Extended Tracker Transaction State Machine . . . . . . . . 7 74 4.4.1. Normal Operation . . . . . . . . . . . . . . . . . . . 9 75 4.4.2. Error Conditions . . . . . . . . . . . . . . . . . . . 10 76 5 Extended Tracker Protocol Specification . . . . . . . . . . . . 10 77 5.1. Request/Response Syntax and Format . . . . . . . . . . . . 10 78 5.3. Compatibility with the Base Tracker Protocol . . . . . . . 12 79 5.4. Negotiation of Chunk Addressing Methods . . . . . . . . . . 13 80 5.5. Request/Response Processing . . . . . . . . . . . . . . . . 14 81 5.5.1. Enhanced FIND Request . . . . . . . . . . . . . . . . . 14 82 5.5.2. Enhanced STAT_REPORT Request . . . . . . . . . . . . . 14 83 5.5.3. DISCONNECT Request . . . . . . . . . . . . . . . . . . 14 84 6. Error and Recovery Conditions . . . . . . . . . . . . . . . . . 15 85 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 15 86 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 15 87 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 15 88 10 References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 89 10.1 Normative References . . . . . . . . . . . . . . . . . . . 15 90 10.2 Informative References . . . . . . . . . . . . . . . . . . 16 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 93 1. Introduction 95 The PPSP Tracker Protocol is one of the Peer-to-Peer Streaming 96 Protocol which specifies standard format/encoding of information and 97 messages between PPSP peers and PPSP trackers. Based on the 98 requirements defined in RFC 6972 [RFC6972], the base tracker protocol 99 specified in [I-D.ietf-ppsp-base-tracker-protocol] has provided the 100 basic core messages to be exchanged between trackers and peers in 101 order to carry out some fundamental operations. The core messages 102 are mandatory, covering most basic and universal use cases, and MUST 103 be implemented in all PPSP-based streaming systems. 105 This document specifies extensions to the base core messages of 106 [I-D.ietf-ppsp-base-tracker-protocol] with enhancements in 107 request/responses and new optional request message, providing new 108 usages in some scenarios. The extension of the base protocol is 109 retro-compatible with the PPSP-TP Base Protocol, and messages using 110 this specification MUST be safely rejected by trackers not supporting 111 the extensions to avoid affecting interoperability. 113 2. Terminology 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 117 document are to be interpreted as described in RFC 2119 [RFC2119]. 119 This draft uses terms defined in [RFC6972] and [I-D.ietf-ppsp-base- 120 tracker-protocol]. 122 3. Motivation 124 There are a number of possible usages and issues which may be useful 125 for discussion and which the base tracker protocol may not be able to 126 deal with. 128 1. In the base tracker protocol, the disconnection between peer and 129 tracker is achieved by a timeout (of periodic STAT_REPORT 130 messages) which means that trackers lack the ability to timely 131 free up resources. In some cases when the number of connected 132 peers is reaching the maximum capacity of a tracker, resources of 133 the tracker cannot be released immediately even if some peers 134 leave the swarm, hence resulting in connection failures. This 135 requires the base tracker protocol to be extended to have a 136 message providing the ability to notify the tracker that a peer 137 has left. 138 2. A peer may have the requirement to start streaming the content 139 from one specific point of the content timeline. For example, 140 when the end-user watches only part of a content and decides to 141 stop and leave, or pauses for a long time. When the end-user 142 wants to resume the session he/she expects to continue watching 143 the content from the point where he/she interrupted. The peer may 144 then request the tracker to select a subset of peers capable to 145 provide that specific content scope. In this case, it requires 146 that the quest for content from neighbor peers should contain the 147 content scope information and peers should constantly report their 148 content scope information to the tracker. 150 4. Extended Tracker Protocol Overview 152 The extended Tracker Protocol consists of two Request-Response 153 Extensions (to the FIND and STAT_REPORT Request messages of the Base 154 Protocol) and one Protocol-level Extension (a new DISCONNECT Request 155 message). 157 4.1. Request-Response Extension 159 In this section, the FIND and STAT_REPORT messages specified in the 160 base tracker protocol are extended to meet the needs of use case 2 161 listed in section 3. 163 FIND: The enhanced FIND Request message allows a peer to request the 164 tracker for a subset of peers in a swarm but including 165 specific content scopes, either media content representations 166 or specific chunks/segments of a media representation in a 167 swarm, and may also include an updated network address of the 168 peer. On receiving a FIND message, the tracker selects a 169 subset of peers satisfying the requesting scope. To create 170 the peer list, the tracker may also take peer status, 171 capabilities and peers priority into consideration. Peer 172 priority may be determined by network topology preference, 173 operator policy preference, etc. The format and detailed 174 processing of enhanced CONNECT Request message is presented in 175 Section 5.2. 177 STAT_REPORT: The enhanced STAT_REPORT Request message allows the 178 exchanges of content data information, like chunkmaps, between 179 an active peer and a tracker. The information can be used by 180 a tracker as a qualification to select appropriate subsets of 181 peers in the swarm satisfying specific scopes (in terms of 182 content). The format and detailed processing of enhanced 183 CONNECT Request message is presented in Section 5.3. 185 To present the content data information, the chunk addressing schemes 186 (section 4 of [I-D.ietf-ppsp-peer-protocol]) are used to support 187 different ways of identifying chunks and expressing chunk 188 availability of a peer in a compact fashion. The chunk addressing 189 methods for certain content should be recorded in the metadata of the 190 swarm for the content, and they can be obtained by peers or trackers 191 during the enrollment and bootstrap stage. 193 4.2. Protocol-level Extension 195 A new Request message is introduced in this section to extend those 196 specified in the base tracker protocol [I-D.ietf-ppsp-base-tracker- 197 protocol], to meet the needs of issue 1 listed in section 3. 199 DISCONNECT: The DISCONNECT Request message is used when the peer 200 intends to no longer participate in all swarms. When 201 receiving the DISCONNECT Request message from a peer, the 202 tracker deletes the corresponding activity records related to 203 the peer (including its status and all content status for the 204 corresponding swarms). In such a case, the DISCONNECT Request 205 message will have the same effect of timer expiring 206 (STAT_REPORT), but providing a graceful disconnection of that 207 peer from the system. 209 4.3. Usage of Extended Request Messages 211 An example of usage of the extended request messages is illustrated 212 in Figure 1. In that figure a peer starts by connecting to the 213 system and joining a specific swarm (swarm_a) in SEED mode (step_1). 215 While active, the peer periodically updates the tracker using 216 STAT_REPORT messages. Later, the peer CONNECTs to another swarm 217 (swarm_b) but in LEECH mode, i.e., the end-user intends to watch that 218 new content while still sharing the first one (step_2). During the 219 streaming session the peer requests an updated list of peers in that 220 new swarm to the tracker (step_3). When the end-user wants to leave 221 the second content, not having even finished watching, the peer sends 222 a CONNECT message with a "leave" action (step_4) for the 223 corresponding swarm (swarm_b) but remains sharing the first content 224 (swarm_a). 226 But later, the end user wants to continue watching the content he/she 227 previously left unfinished. So the peer firstly CONNECTs to the 228 corresponding swarm in LEECH mode, then sends FIND message with the 229 specific content information scope (step_5). Tracker will find the 230 group of peers who has the specific content for this peer. 232 Finally,the peer wants to quit the system completely. It does not 233 have to send a CONNECT message with a "leave" action one by one. It 234 just sends the DISCONNECT message to the tracker (step_6), then 235 tracker will remove all the information for this peer. 237 +--------+ +---------+ 238 | Peer | | Tracker | 239 +--------+ +---------+ 240 | | 241 step_1 |--CONNECT(swarm_a;SEED)---------->| --- 242 |<--------------------------OK-----| | 243 : : | 244 |--STAT_REPORT(activity)---------->| | 245 |<--------------------------Ok-----| | 246 : : | 247 step_2 |--CONNECT(swarm_b;LEECH)--------->| | 248 |<-----------------OK+PeerList-----| Base 249 : : tracker 250 |--STAT_REPORT(ChunkMap_b)-------->| protocol 251 |<--------------------------Ok-----| | 252 : : | 253 step_3 |--FIND(swarm_b)------------------>| | 254 |<-----------------OK+PeerList-----| | 255 : : | 256 step_4 |--CONNECT(leave swarm_b)--------->| | 257 |<--------------------------Ok-----| | 258 : : | 259 |--STAT_REPORT(activity)---------->| | 260 |<--------------------------Ok-----| | 261 : : | 262 step_5 |--CONNECT(swarm_b;LEECH)--------->| | 263 |<-----------------OK+PeerList-----| --- 264 |--FIND(swarm_b;ChunkMap_b)------->| --- 265 |<-----------------OK+PeerList-----| | 266 : : | 267 |--STAT_REPORT(ChunkMap_b)-------->| Extended 268 |<--------------------------Ok-----| tracker 269 : : protocol 270 step_6 |--DISCONNECT(nil)---------------->| | 271 |<---------------------Ok(BYE)-----| | 272 : : --- 274 Figure 1: Example of a session for a extended PPSP-TP. 276 4.4. Extended Tracker Transaction State Machine 278 The tracker state machine introduced in the base tracker protocol 279 [I-D.ietf-ppsp-base-tracker-protocol] is now updated in this 280 specification to reflect the extensions introduced. An updated "per- 281 Peer-ID" transaction state machine (Figure 2) is described, 282 corresponding to the enhanced functionalities and control steps of 283 the extended tracker protocol. This extended "per-Peer-ID" 284 transaction state machine is compatible with the one specified in the 285 base tracker protocol. 287 -------------------------------------------- 288 / \ 289 | +------------+ +=========+ +======+ | 290 \-| TERMINATED |<---| STARTED |<---| INIT |<-/ 291 +------------+ +=========+ +======+ 292 (Transient) | (1) \- (start tracker) 293 V 294 +-----------+ +-------+ rcv CONNECT 295 (Transient) | TERMINATE | | START | --------------- (1) 296 +-----------+ +-------+ strt init timer 297 rcv DICONNECT ^ | 298 rcv FIND | | 299 rcv STAT_REPORT | | 300 on registration error | v 301 on action error | +------------+ 302 ---------------- (A) +<-----| PEER | (Transient) 303 stop init timer | | REGISTERED | 304 snd error | +------------+ 305 | | 306 | | process swarm actions 307 on CONNECT Error (B) | | --------------------- (2) 308 on timeout (C) | | snd OK (PeerList) 309 on DISCONNECT (5) | / stop init timer 310 ---------------- | / strt track timer 311 stop track timer | / 312 clean peer info | | 313 del registration | | rcv FIND 314 snd error (B) \ | ---- --------------- (3) 315 ---- \ | / \ snd OK (PeerList) 316 / \ \ | | | rst track timer 317 rcv CONNECT | (4) | | | | | 318 ----------- | v | v v | rcv STAT_REPORT 319 snd OK \ +==============+ / --------------- (3) 320 rst track timer ----| TRACKING |---- snd OK response 321 +==============+ rst track timer 323 Figure 2: Extended "Per-Peer-ID" Transaction State Machine 325 The state diagram in Figure 2 illustrates the complete state changes 326 together with the causing events and resulting actions when 327 implementing the extensions to the base tracker protocol. Note that 328 Specific error conditions are not shown in the state diagram. 330 4.4.1. Normal Operation 332 Normal operation steps are the same with section 2.3.1 of the base 333 tracker protocol [I-D.ietf-ppsp-base-tracker-protocol] except adding 334 step 5 as follow: 336 5) While TRACKING, a DISCONNECT message received from the peer, or a 337 CONNECT message with the action to leave the last swarm, the 338 tracker stops the "track timer", cleans the information associated 339 with the participation of the Peer-ID in the the swarm(s) joined, 340 responds with a successful condition, deletes the registration of 341 the Peer-ID and transitions to TERMINATED state for that Peer-ID. 343 4.4.2. Error Conditions 345 Error condition steps are the same with section 2.3.2 of the base 346 tracker protocol [I-D.ietf-ppsp-base-tracker-protocol] except the 347 2nd paragraph of step A: 349 A) At PEER REGISTERED state, if the Peer ID is considered invalid (in 350 the case of a CONNECT request, or FIND request, or STAT_REPORT 351 request, or DISCONNECT request received from an unregistered Peer 352 ID), the tracker responds with either error codes authentication 353 required or Forbidden (described in section 4.3 of the base 354 tracker protocol), transitions to TERMINATE state for that Peer ID 355 and that state machine instance is destroyed. 357 5 Extended Tracker Protocol Specification 359 5.1. Request/Response Syntax and Format 361 The architecture specified in the base tracker protocol [I-D.ietf- 362 ppsp-base-tracker-protocol] does not suffers any modification in the 363 extended protocol. The syntax is identical with some elements 364 extended to contain new optional attributes: 366 The request type includes CONNECT, FIND, STAT_REPORT and DISCONNECT, 367 including a "content" element to the FIND method, that MAY be present 368 in requests referencing content, i.e., FIND and STAT_REPORT, if the 369 request includes a content scope. 371 The extended semantics of the request therefore is described as 372 follows. 374 ppsp_tp_string_t ppsp_tp_request_type_t = "CONNECT" 375 | "FIND" 376 | "STAT_REPORT" 377 | "DISCONNECT"; 379 Object { 380 ppsp_tp_version_t version; 381 ppsp_tp_request_type_t request_type; 382 ppsp_tp_string_t transaction_id; 383 ppsp_tp_string_t peer_id; 384 [JSONValue request_data = ppsp_tp_req_connect connect 385 | ppsp_tp_req_find find 386 | ppsp_tp_stat_group_t stat_report;] 387 } ppsp_tp_request; 389 Note that only when request_type of ppsp_tp_request is "DISCONNECT", 390 request_data is allowed to be omitted. 392 The extended value for ppsp_tp_version_t is listed in Table 1 as 393 follow: 395 +----------------------------------------------------------+ 396 | ppsp_tp_version_t | Description | 397 +----------------------------------------------------------+ 398 | 0 | Reserved | 399 | 1 | PPSP base tracker protocol | 400 | 2 | PPSP extended tracker protocol | 401 | | (specified in this document ) | 402 | 3-255 | Unassigned | 403 +----------------------------------------------------------+ 405 Table 1: Extended PPSP Tracker Protocol Version Numbers 407 The semantics for the content information element is described as 408 follow: 410 Object { 411 ppsp_tp_integer_t start_index; 412 ppsp_tp_integer_t end_index; // 0 means no end 413 }ppsp_tp_segment_info_t; 415 Object { 416 ppsp_tp_integer_t chunk_addressing_method; 417 ppsp_tp_segment_info_t segments<1..*>; 418 }ppsp_tp_content_info_t; 420 The semantics of ppsp_tp_request_find is extend as follows: 422 Object { 423 ppsp_tp_string_t swarm_id; 424 [ppsp_tp_peer_num_t peer_num;] 425 [ppsp_tp_segment_info_t content_info;] 426 } ppsp_tp_request_find; 428 The semantics of stream_stats is extended as follows: 430 Object { 431 ppsp_tp_swarm_id_t swarm_id; 432 ppsp_tp_integer_t uploaded_bytes; 433 ppsp_tp_integer_t downloaded_bytes; 434 ppsp_tp_integer_t available_bandwidth; 435 ppsp_tp_content_info_t content_info; 436 }stream_stats; 438 Currently, the value of chunk_addressing_method is identical to the 439 addressing method listed in section 7.8 of [I-D.ietf-ppsp-peer- 440 protocol], as follow: 442 +--------+---------------------+ 443 | Method | Description | 444 +--------+---------------------+ 445 | 0 | 32-bit bins | 446 | 1 | 64-bit byte ranges | 447 | 2 | 32-bit chunk ranges | 448 | 3 | 64-bit bins | 449 | 4 | 64-bit chunk ranges | 450 | 5-255 | Unassigned | 451 +--------+---------------------+ 453 Table 1: Chunk Addressing Methods 455 Implementations MUST support "32-bit chunk ranges" (default) and "64- 456 bit chunk ranges". When the chunk_addressing_method is 32-bit bins 457 or 64-bit bins, end_index in SegmentInfo MUST be set to 0. Chunk 458 addressing methods could be extended to allow new algorithms in 459 future specifications, e.g., [BFbitmap]. This document does not 460 extends the semantics and format of Responses. 462 5.3. Compatibility with the Base Tracker Protocol 464 Trackers are RECOMMENDED to implement extended tracker protocol to be 465 compatible with peers using base tracker protocol or peers using 466 extended tracker protocol. But it is not mandatory. When peers have 467 different implementations with trackers, following 2 catalogs are 468 given: 470 1. Peer (with extended protocol) vs Tracker (with base protocol) 472 When peers using extended tracker protocol exchange content 473 information with a tracker only supporting the base tracker protocol, 474 the tracker would respond with 401 (Unsupported version number) 475 error_code with an empty message-body (no peer_addr and swarm_result 476 attributes), which indicates the messages could not be recognized by 477 the tracker. In this case, peers MUST stop interacting with the 478 tracker in extended request messages and use the base tracker 479 protocol instead. 481 2. Peer (with base protocol) vs Tracker (with extended protocol) 483 The tracker is able to handle all the requests from the peer because 484 all the messages are base tracker protocol messages which could be 485 perfectly accepted by a tracker implementing extended tracker 486 protocol. 488 5.4. Negotiation of Chunk Addressing Methods 490 Multiple chunk addressing methods could be used in this document to 491 present content information. But only one of them MUST be used for 492 one swarm when a peer communicating with a tracker. Before peers 493 connect to a tracker, they MUST get to know the chunk addressing 494 methods supported by the swarm. It is out of scope of the tracker 495 protocol the mechanism used to obtain that information. For example, 496 it could be some out-of-band methods that obtains that information 497 from the web portal, together with other information about the 498 trackers, e.g., IP addresses. 500 If the chunk addressing method of a swarm can not be supported by a 501 tracker, the tracker is not suggested to serve that swarm. If the 502 chunk addressing method contained in requests is not supported by the 503 swarm controlled by the tracker, the tracker could directly ignore 504 the content related information. 506 5.5. Request/Response Processing 508 5.5.1. Enhanced FIND Request 510 This method allows peers to request to the tracker, whenever needed, 511 a new peer list for the swarm for specific scope of chunks/segments 512 of a media content representation of that swarm. 514 The peer MUST properly set the request type to FIND, set the PeerID 515 with the identifier of the peer, and set the SwarmID with the 516 identifier of the swarm the peer is interested in. Optionally, in 517 order to find peers having the specific chunks/segments, the peer may 518 include the ContentGroup element in the FIND request message to 519 indicate a specific point in the content timeline. 521 This message is mainly used for peers in LEECH mode in order to 522 update the peer list of a swarm. For those requests whose peer_mode 523 are not set to LEECH, the tracker must respond with 400 (Bad request, 524 with reason-phrase "Unknown Messages"). 526 In the case of a FIND with a specific scope of a stream content the 527 request SHOULD include a ContentGroup to specify the segment range of 528 content Representations. 530 The response MAY also include a PeerGroup with PeerInfo data that 531 includes the requesting peer public IP address. 533 5.5.2. Enhanced STAT_REPORT Request 535 This message still uses the specifications of the base tracker 536 protocol [I-D.ietf-ppsp-base-tracker-protocol]. The Stat element has 537 been extended with one property, "content_info", to allow peers 538 reporting map of chunks they have. The tracker would not have the 539 ability to treat the FIND requests for specific content chunks, 540 unless peers report this kind of information. The corresponding 541 Response does not need to be extended in this specification. 543 5.5.3. DISCONNECT Request 545 This method is used when the peer intends to leave the system and no 546 longer participate. The tracker SHOULD delete the corresponding 547 activity records related with the peer in all the swarms (including 548 its status and all content status). 550 The peer MUST properly form the Request message, set the request type 551 to DISCONNECT, set the PeerID with the identifier of the peer, and 552 randomly generate and set the TransactionID. 554 6. Error and Recovery Conditions 556 This document does not introduces any new error and recovery 557 conditions. The implementation of error treatment MUST refer to the 558 base tracker protocol specification [I-D.ietf-ppsp-base-tracker- 559 protocol]. 561 7. Security Considerations 563 The extended tracker protocol proposed in this document introduces no 564 new security considerations beyond those described in the base 565 tracker protocol specification [I-D.ietf-ppsp-base-tracker-protocol]. 567 8. IANA Considerations 569 This draft introduces a new version number, see Table 1. Thus 570 corresponding IANA registration is required. 572 9. Acknowledgments 574 The authors would like to thank many people for their help and 575 comments, particularly: Zhang Yunfei, Martin Stiemerling, Fei Song, 576 Johan Pouwelse, and Arno Bakker. 578 The authors would also like to thank the people participating in the 579 EU FP7 project SARACEN (contract no. ICT-248474) 580 [refs.saracenwebpage] for contributions and feedback to this 581 document. 583 The views and conclusions contained herein are those of the authors 584 and should not be interpreted as necessarily representing the 585 official policies or endorsements, either expressed or implied, of 586 the SARACEN project or the European Commission. 588 10 References 590 10.1 Normative References 592 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 593 Requirement Levels", BCP 14, RFC 2119, March 1997. 595 [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data 596 Encodings", RFC 4648, October 2006. 598 [I-D.ietf-ppsp-base-tracker-protocol] Cruz, R., Nunes, M., Gu, Y., 599 Xia, J., J. Taveira, and Lingli, D., "PPSP Tracker 600 Protocol-Base Protocol (PPSP-TP/1.0)", draft-ietf-ppsp- 601 base-tracker-protocol-08 (work in progress), July 2014. 603 [I-D.ietf-ppsp-peer-protocol] Bakker, A., Petrocco, R. and V. 604 Grishchenko, "Peer-to-Peer Streaming Peer Protocol", 605 draft-ietf-ppsp-peer-protocol-12 (work in progress), June 606 2014. 608 10.2 Informative References 610 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 611 October 2008. 613 [refs.saracenwebpage] "SARACEN Project Website", 614 http://www.saracen-p2p.eu/. 616 [BFbitmap] Bloom, B., "Space/time trade-offs in hash coding with 617 allowable errors.", Communications of ACM Vol. 13, No.7, 618 pp. 422-426, 1970. 620 Authors' Addresses 622 Rachel Huang 623 Huawei 624 Phone: +86-25-56623633 625 EMail: rachel.huang@huawei.com 627 Rui Santos Cruz 628 IST/INESC-ID/INOV 629 Phone: +351.939060939 630 Email: rui.cruz@ieee.org 632 Mario Serafim Nunes 633 INESC-ID/INOV 634 Rua Alves Redol, n.9 635 1000-029 LISBOA, Portugal 636 Phone: +351.213100256 637 Email: mario.nunes@inov.pt 639 Joao P. Taveira 640 IST/INOV 641 Email: joao.silva@inov.pt 643 Lingli Deng 644 China Mobile 645 Email: denglingli@chinamobile.com