PPSP Xin.Wang Internet Draft Fudan University Intended status: Informational Jin.Zhao Expires: April 2011 Fudan University Ming.Rong Fudan University Linjie.Yu Fudan University Shihui Duan China CATR October 25, 2010 Implementation of a P2P-VoD System with video-segmentation and Network Coding draft-wang-ppsp-vod-system-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), 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 April 25, 2011. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. Wang, et al. Expires April 25, 2011 [Page 1] Internet-Draft ppsp-vod-system October 25, 2010 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 This document introduces a practical work for a Peer-to-Peer (P2P) VoD system with video segmentation (VS) and network coding (NC). In this document, it introduces some key problem of P2P-VoD system. Then it gives a brief introduction on our P2P-VoD system and especially discusses some key technologies. Wang, et al. Expires April 25, 2011 [Page 2] Internet-Draft ppsp-vod-system October 25, 2010 Table of Contents 1. Introduction ................................................ 4 2. Overview of P2P-VoD System with VS and NC .................... 4 2.1. System Architecture ..................................... 4 2.2. Some definitions and Key technologies ................... 6 2.2.1. The structure of Scene information ................. 6 2.2.2. Structure of video-data buffer ..................... 7 2.2.3. Network Coding ..................................... 8 3. Validation of P2P-VoD System with VS and NC .................. 8 3.1. Normal performance ...................................... 9 3.2. Performance with packet-drop ............................ 9 3.3. Performance under peer churn ........................... 10 4. PPSP Compatibility Considerations ........................... 10 5. Security Considerations ..................................... 10 6. IANA Considerations ........................................ 11 7. Conclusions ................................................ 11 8. References ................................................. 11 8.1. Normative References ................................... 11 8.2. Informative References ................................. 11 Wang, et al. Expires April 25, 2011 [Page 3] Internet-Draft ppsp-vod-system October 25, 2010 1. Introduction P2P-VoD System with VS and NC [1][2] is a P2P based VoD system which uses network coding and video segmentation to promote user experience when watching a video. In this system, the granularity of random seek is the scene information in a video. And scenes of a video are defined by video segmentation which can be automatically or manually obtained. Thus, the less but efficient seek point can reduce bandwidth consumption and workload of the whole P2P network. Furthermore, the utilization of network coding is a great help to improve the efficiency of content distribution [3]. Introducing network coding-based distribution scheme enables us to shorten buffering time before users start to view the clips. Meanwhile, it offers better adaptability for peer churn when they dynamically join or leave the system. 2. Overview of P2P-VoD System with VS and NC In this document, P2P-VoD system is a VoD system based on P2P overlay, which uses network coding and video segmentation to promote user experience when watching a video. 2.1. System Architecture According to the requirement of PPSP peer protocol and PPSP tracker protocol, our system takes the similar strategy. Otherwise, NC simplifies the scheduling of data transfer between peers. It also introduces a scene server to offer scene information. The architecture of P2P-VoD System with VS and NC is shown as figure 1. Wang, et al. Expires April 25, 2011 [Page 4] Internet-Draft ppsp-vod-system October 25, 2010 +-----------------------------------------------------------+ | +-------------------------------------------------------+ | | |Supplier | | | | +-------------+ +-------------+ +-------------+ | | | | | video | | scene | | tracker | | | | | | server | | server | | server | | | | | +-------------+ +-------------+ +-------------+ | | | +-------------------------------------------------------+ | | ^ ^ | | ===Direct Communication between each user and supplier=== | | v v | | +-------------------------------------------------------+ | | |User | | | | +------------+ +------------+ +------------+ | | | | | client | | client | | client | | | | | +------------+ +------------+ +------------+ | | | | | | | | | | | | | | | +-------------+ +-------------+ | | | | | +---------------------------------------+ | | | +-------------------------------------------------------+ | +-----------------------------------------------------------+ Figure 1 The architecture of P2P-VoD System with VS and NC Our system has implemented the necessary functions required by PPSP protocol and some additional functions to make the system more practicability. Video server: It supplies the original video stream. Once, enough clients request for the video data, the introduction of P2P will reduce the pressure of the video server on response to the client. Tracker server: It holds the list of the owners who has the full video or part of the video. Once a user asks for a video, it will request tracker server for peer list. Scene server: It provides the scene information when client chooses a video. The structure of the scene information will be mentioned in the following part. Client: It let users have an extra functionality of random seek by scene information. Thus, when users want to skip, there are references. Therefore, unnecessary seek events can be avoided. Wang, et al. Expires April 25, 2011 [Page 5] Internet-Draft ppsp-vod-system October 25, 2010 2.2. Some definitions and Key technologies 2.2.1. The structure of Scene information P2P-VoD System with VS and NC offers the functionality of random seek by scene. As a result, the structure of scene information is defined below and the operation of a user is well supported by this kind of information. +-----------------------------------------------------+ | +-------------------------------------------------+ | | | Scene Information | | | | +-----+ +--------+ +--------+ +--------+ | | | | | GID | | VN | | VL | | VT | | | | | +-----+ +--------+ +--------+ +--------+ | | | | +-----+ +--------+ | | | | | UID | | STATUS | | | | | +-----+ +--------+ | | | | +----+ +----+ +----+ | | | | | FN | | ST | | SS | | | | | +----+ +----+ +----+ | | | | +-------------------------------------------+ | | | | | SCENE DATA | | | | | +-------------------------------------------+ | | | +-------------------------------------------------+ | +-----------------------------------------------------+ Figure 2 The structure of Scene information GID It's the global ID of a video. We use this ID to differ the video at server. VN: It's the name of a video. VL: It's the file length of a video. VT: It's the time length of a video. UID: It's the owner of a video. Sometimes, a user can publish a video so that the video may not stored by server. STATUS: It's the type of the video the user owns. It can be PART or FULL which means user has part of the video or full video. FN: It's the key-frame number of a scene. ST: It's the start time of a scene within a video. Wang, et al. Expires April 25, 2011 [Page 6] Internet-Draft ppsp-vod-system October 25, 2010 SS: It's the size of a scene picture which includes the height and width information. SCENE DATA: It's the data of a scene picture. 2.2.2. Structure of video-data buffer A dynamic way is used in the buffer strategy. When a video is requested, a header is first been allocated instead of traditional way of allocating the same size of a video. Then, new coming video- data is appended to the previous video-data and the block offset is recorded in the header. Therefore, user will not pay for the non- coming video data. +-----------------------------------------------------+ | Video-Data Buffer | | +-------------------------------------------------+ | | | Header | | | | +----+ +------------------------------+ | | | | | NB | | BOA | | | | | +----+ +------------------------------+ | | | | +-----+ +--------+ +-----+ +----+ | | | | | GID | | STATUS | | EXN | | RS | | | | | +-----+ +--------+ +-----+ +----+ | | | +-------------------------------------------------+ | | +-------------------------------------------------+ | | | Data | | | | +---------------------------------------------+ | | | | | Data Block | | | | | +---------------------------------------------+ | | | | +---------------------------------------------+ | | | | | Data Block | | | | | +---------------------------------------------+ | | | | +---------------------------------------------+ | | | | | Data Block | | | | | +---------------------------------------------+ | | | | | | | | | | | | | | | | | | +-------------------------------------------------+ | +-----------------------------------------------------+ Figure 3 The structure of video-data buffer NB: it's the total count of data-blocks. BOA: it's the array of block offset. The length depends on the practical video size and the block size. Wang, et al. Expires April 25, 2011 [Page 7] Internet-Draft ppsp-vod-system October 25, 2010 GID: it's the global ID of the video file. STATUS: reserved. EXN: it's the extension of the video file. RS: it's the reserved space for extension use. Data Block: it's the video data divided by block size. 2.2.3. Network Coding Network coding (NC) is introduced into this system. Therefore, every peer sends and receives both video-clip and scene information data after filtered by the network coding codec module. One block of data encoded by the module has some intersect information over the generation the block belongs to. In this way, each block within a generation acts equally to others and thus a method of Push-Based distributing mechanism is introduced which entitles a client with many downstream neighbors serving him concurrently. While some file-share P2P system requires a long time to do off-line decoding after the total download of the file, decoding of the video-clip data must be finished before it is played so as to sustain the playback rate. And a suitable size of generation should be determined to make the decoding-task more conveniently. The advantage of network coding is to make every received block data useful, which takes the full advance of the bandwidth. It allows a more effective way to use the bandwidth and shows a more robust resilience to peer churn. 3. Validation of P2P-VoD System with VS and NC We do some measurement and experiment to validate our system and its key technology. In our experiment, we play a 20 minutes video-clip and the playback rate is set to 10 blocks (each block is 1K). We set Network coding operation within 40 blocks. Every peer has an average of five peers for both downstream and upstream. And the initial buffer time is 5 seconds. Then, we compare the system with NC or without NC. Wang, et al. Expires April 25, 2011 [Page 8] Internet-Draft ppsp-vod-system October 25, 2010 3.1. Normal performance In this experiment, we set the initial buffer time and set non- packet-drop. 200 peers sequentially join the system in an interval of five seconds. No peer joins or leaves the system during the process. In the case of using NC or not using NC, We compare the average of 200 peer's playback error / total playback time as the playback performance under 1.1 times, 1.5 times, 2.0 times, 2.5 times and 3.0 times bandwidth. And the basic bandwidth is equal to the playback rate. Playback performance Bandwidth: 1.1 1.5 2.0 2.5 3.0 With NC: 47% 29% 10% 2% 0% Without NC: 43% 30% 19% 23% 10% Re-request to the tracker is introduced in the system with NC. And it's easily occurred in the situation of limited bandwidth. Therefore, our system leads to a worse result compared with non-NC system when the bandwidth is almost equal to the playback rate. When the bandwidth is raised to the 1.5 times of playback rate, playback performance of the system with NC is much better. This is because the bandwidth is almost fully used to the most emergency. The non-monotone phenomenon in the system without NC is because the peer selection algorithm is random pick. Therefore, the sequentially join of the peer may cause the much different performance among the 200 peers. Thus, the result of this experiment is not monotonic. 3.2. Performance with packet-drop In this experiment, we introduce the packet-drop rate of 5% to make our results more practical. Generally, when a block is lost, the peer has to wait until next time slot to request the missing block. But with NC, a useful block is decoded by several encoded blocks. Therefore, one missing encoded block will not impact the performance in large extent. Playback performance with packet drop Bandwidth: 1.5 2.0 2.5 3.0 Wang, et al. Expires April 25, 2011 [Page 9] Internet-Draft ppsp-vod-system October 25, 2010 With NC: 28% 10% 0% 0% Without NC: 33% 30% 12% 9% The result of this experiment shows that in a more practical situation, our system behaves much better than the system without NC. 3.3. Performance under peer churn In the actual environment, peers leave and join the system rapidly. To simulate this situation, we let over half of all the peers (around 100 peers) join the data distributing in sequence, and then inform peers to leave or join using random distribution. Playback performance under peer churning Bandwidth: 1.1 1.5 2.0 2.5 3.0 With NC: 45% 22% 10% 0% 0% Without NC: 41% 37% 20% 17% 21% Under the condition of peer churning, both systems' performance is declined, but system with NC is still better. The main reason is that in NC scheme, one block is served by several peers. Therefore, one peer's leaving will not affect the playback performance much. 4. PPSP Compatibility Considerations The objective of the PPSP work is to standardize the key signaling protocols among various P2P streaming system components including the tracker and the peers. Network coding can be well combined with the PPSP peer protocol. It uses buffermap to exchange the data availability and allows peers to exchange their property. Using video-segmentation also promotes the performance of PPSP protocol since it can promote the VCR playback lag when a VCR operation occurs. 5. Security Considerations This draft does not introduce any new security issues. Wang, et al. Expires April 25, 2011 [Page 10] Internet-Draft ppsp-vod-system October 25, 2010 6. IANA Considerations This memo includes no request to IANA. 7. Conclusions Through the use of the P2P-VoD system with video segmentation and network coding, user will have a better experience when watching a video. Otherwise, the wasted bandwidth is reduced due to more precision seek operation. And the bandwidth is well used due to the introduction of network coding. 8. References 8.1. Normative References 8.2. Informative References [1] M. Wang and B. Li, "Lava: A Reality Check of Network Coding in Peer-to-Peer Live St reaming," in Proc. of IEEE INFOCOM 2007, May 2007. [2] Lingjie Yu, Linxiang Gao, Jin Zhao and Xin Wang, SonicVoD: A VCR-Supported P2P-VoD System with Network Coding, Consumer Electronics, IEEE Transactions, May 2009. [3] X. Zhang, J. Liu, B. Li, and T.-S. P. Yum, "CoolStreaming/DONet : A Data-driven Overlay Network for Efficient Live Media St reaming," in Proc. of IEEE INFOCOM, 2005. Wang, et al. Expires April 25, 2011 [Page 11] Internet-Draft ppsp-vod-system October 25, 2010 Authors' Addresses Xin Wang Fudan University Shanghai 201203, China Phone: 86-21-51355526 Email: xinw@fudan.edu.cn Jin Zhao Fudan University Shanghai 201203, China Phone: 86-21-51355526 Email: jzhao@fudan.edu.cn Ming Rong Fudan University Shanghai 201203, China Phone: 86-21-51355526 Email: 09210240072@fudan.edu.cn Linjie Yu Fudan University Shanghai 201203, China Phone: 86-21-51355526 Email: 082024067@fudan.edu.cn Shihui Duan CATR Beijing 100045, China Phone: 86-10-62300068 Email: duanshihui@mail.ritt.com.cn Wang, et al. Expires April 25, 2011 [Page 12]