1 / 43

Conducted by: Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang

Peer To Peer Internet Protocol Television (P2P IPTV). Conducted by: Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang. Introduction. What is P2P IPTV? What is IPTV IPTV is a system that deliver digital television content through Internet Protocol What is P2P

manon
Télécharger la présentation

Conducted by: Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peer To PeerInternet Protocol Television(P2P IPTV) Conducted by: Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang TD1a-09, BEng of Computer Engineering, HKUST

  2. Introduction • What is P2P IPTV? • What is IPTV • IPTV is asystem that deliver digital television content through Internet Protocol • What is P2P • P2P is any distributed network architecture composed of participants that make a portion of their resources directly available to other network participants, without the need for central coordination instances. TD1a-09, BEng of Computer Engineering, HKUST

  3. Background • Motivation to start the project. • Rapidly development of network technology in Hong Kong • (77% household broadband penetration - by OFTA) • HDTV become part of our life. • Advantage of P2P model on HDTV broadcasting. TD1a-09, BEng of Computer Engineering, HKUST

  4. Purpose and Aim • This project examines streaming IPTV over P2P networks with high quality(up to 1000kb/s) video in the different approaches, in order to create a low delay, high quality IPTV application, thus different P2P algorithms may be applied, such as pure push, hybrid, etc. TD1a-09, BEng of Computer Engineering, HKUST

  5. What our system look like? Client-side application Video Server TD1a-09, BEng of Computer Engineering, HKUST Tracker

  6. What our system look like? TD1a-09, BEng of Computer Engineering, HKUST

  7. Presentation Flow • P2P network management • Presented by Cheng Wen Chi • Data format and hybrid algorithm • Presented by Choi Kwok Yam • Libraries and Statistic Tools • Presented by Chiu Kwok Shing • Results and Findings TD1a-09, BEng of Computer Engineering, HKUST

  8. P2P network management • Tracker Server • Channels • Peers Connection • Registration & Deregistration • Reconnection & Loop Handling • Presented by Cheng Wen Chi TD1a-09, BEng of Computer Engineering, HKUST

  9. Tracker Tracker server • Centralized database which maintain info of P2P network • P2PTV client • Channel info. of streaming server • Maintain the P2P network topology and connection 4 main services: • Channel registration • Peer list request • Peer registration • Peer deregistration TD1a-09, BEng of Computer Engineering, HKUST

  10. Channels • Multiple broadcast channels • Each channel is registered by a streaming server • Channel information include • channel name • streaming server IP • sub stream size • video size • Channel information is downloaded by peer when client terminal start up TD1a-09, BEng of Computer Engineering, HKUST

  11. Connection Sub streaming algorithm Individual TCP connection for each sub stream Different thread handle each sub stream connection For upload stream, select TCP ports which available for remote connection Provide TCP ports information to child peers for new connection process Data port Control port TD1a-09, BEng of Computer Engineering, HKUST 11

  12. Connection Establishment Flow of connection establishment • Download peer list of selected channel • Select a peer from peer list based on selection algorithm • Request a new connection with selected peer • Peer provide a pair of TCP ports for data and control connection TD1a-09, BEng of Computer Engineering, HKUST

  13. Registration • Parent peer registers its child peers • Register to tracker individually in each tree • Information of registration • Child peer id • Parent peer id • Sub stream id • Channel id • connection map between peers is maintained in tracker • Used for loop detection and optimization of P2P network TD1a-09, BEng of Computer Engineering, HKUST

  14. Disconnection Causes of disconnection • TCP connection timeout • Continuous miss chunk • Chunk sequence no. out of range • Disconnection log store in local peer list • Use for peer selection of reconnection TD1a-09, BEng of Computer Engineering, HKUST

  15. Deregistration • Deregistered by parent peer • Deregistration message which include • Parent peer id • Child peer id • Tree id, channel id • Tracker verify the deregistration request by matching the parent id and child id in registration records TD1a-09, BEng of Computer Engineering, HKUST

  16. Recursive Deregistration • Deregistration problem of inter peer of sub tree • Take place when a sub tree is connected from P2P network • Tracker recursively detect the connection status of its offspring in the sub tree • If peer (offspring) is offline, tracker will deregister it from the sub tree TD1a-09, BEng of Computer Engineering, HKUST

  17. Reconnection • Root peer operate on reconnection process • Child peers within the sub tree will keep its connection with its parent peers • New peer from local copy of peer list • Peer selection algorithm select peer based on • Miss rate • Timeout rate TD1a-09, BEng of Computer Engineering, HKUST

  18. Loop Detection • Loop connection may formed after reconnection of sub stream • Detected by periodic WAIT message • When root peer is disconnected, it generates WAIT message with its peer ID to its child peers • Child peers forward the WAIT message to its grandchild • Streaming loop detectedby the WAIT message ID TD1a-09, BEng of Computer Engineering, HKUST

  19. Loop Detection 2)Receive Wait 5 1)Reconnected 3)Loop detected 4)Disconnected TD1a-09, BEng of Computer Engineering, HKUST

  20. Data format & hybrid algorithm • Data format & encryption • Sub-Streaming • Push algorithm • Pull algorithm • Presented by Choi Kwok Yam TD1a-09, BEng of Computer Engineering, HKUST

  21. Data format • Four containers of VLC streaming server TD1a-09, BEng of Computer Engineering, HKUST

  22. Transport Stream (TS) 4 Bytes 184 Bytes Data Encryption Header Video Payload Streaming chunk <Header> <Payload> 182 Bytes (Number of TS packets* 188) Bytes … SN TSPL TS TS SN: Sequence Number TSPL: Total TS packet length TS: Transport Stream packet

  23. Data Encryption TCP packet 40 Bytes TCP Header Data Payload … <Streaming chunk> Header TS <TS Packet> Header Video Payload Each streaming chunk include 20 TS packets Data Payload size: 3942 bytes Overhead of each streaming chunk: 6% TD1a-09, BEng of Computer Engineering, HKUST

  24. Sub-streaming Peer A Single stream of chunk with Sequence number {1, 2, 3…10} … S1 9 10 1 2 3 4 5 6 S2 Peer C S3 Combine & Decompose S1 … S2 Three sub-streams {S1, S2, and S3} Peer B S1 1 4 7 10 … S1 S3 2 5 8 S2 S2 … S3 S3 3 6 9 • Sequence number represent its playback sequence in the stream P sub-stream : q-th sub-stream contains chunks with sequence numbers = (nP + q) where n is a positive integer from zero to infinity, and q is a positive integer from 1 to P. TD1a-09, BEng of Computer Engineering, HKUST

  25. Push algorithm • Do not exchange the sequence number of chunks • The parent node will send the latest chunk to the child node continuously. 1 Parent node Child node 2 1. Connection request 2. Connection success 3. Send latest chunk (n) 4. Send chunk (n+1) 3 4 . . . Time Time TD1a-09, BEng of Computer Engineering, HKUST

  26. Pull algorithm • 1. Detection • Implemented in the state of pushing video chunk. • The missing chunks will not be recovered during sub-streams reconnection • The expected sequence number = last received sequence number + total sub-stream number. • Example (3 sub-streams) … S1 1 4 10 Miss chunks S1: 7 S3: 6,9 … 2 5 8 S2 … S3 3 12 15 TD1a-09, BEng of Computer Engineering, HKUST

  27. Pull algorithm • 2. Recovery Request side: Chunk request Missing Chunk List Peer A Filter Response Peer selection process Upload Playback • Peer selection process(e.g. peer B) • Sequence number of missing chunk • Compare missing sequence number and video playing sequence number • Copy missing chunk to playback or upload buffer TD1a-09, BEng of Computer Engineering, HKUST

  28. Pull algorithm Response side: Chunk request Peer A Response Sequence map • Search sequence map • Copy the chunk from upload buffer Buffer Peer B TD1a-09, BEng of Computer Engineering, HKUST

  29. Libraries and Statistic Tools • Video library and Implementation • XML Database Library • Statistic Tools Plug-in • Presented by Chiu Kwok Shing TD1a-09, BEng of Computer Engineering, HKUST

  30. Video Library • DLL library Creation to access VLC library • Video broadcast function • Virtual Server broadcast and Video buffer TD1a-09, BEng of Computer Engineering, HKUST

  31. Video Library • What is VLC? • a free and open source media player and multimedia framework written by the VideoLAN project • Advantage of VLC? • Support large number of encode/decode format • build up network stream through TCP • Flexible • Reason to build up DLL library. TD1a-09, BEng of Computer Engineering, HKUST 31

  32. Video Broadcast TD1a-09, BEng of Computer Engineering, HKUST

  33. Virtual Server & Video buffer Virtual Server Video Buffer TD1a-09, BEng of Computer Engineering, HKUST

  34. XML Database Library • What is XML • a file type that included a set of rules for encoding document • Advantage of XML database • Cross platform • Low operation cost • Role of XML database within the system • Database to store system information TD1a-09, BEng of Computer Engineering, HKUST

  35. Statistic Tools Plug-in • Why we develop the Statistic Tools? TD1a-09, BEng of Computer Engineering, HKUST

  36. What the tool can do? Upload Speed graph Download Speed graph Upload Log Download Log TD1a-09, BEng of Computer Engineering, HKUST

  37. How the tool work? P2PTV statistic application model Flow chart of the model TD1a-09, BEng of Computer Engineering, HKUST

  38. Result & Findings • Playback Hit Rate • Recover Rate • Playback Overhead percentage TD1a-09, BEng of Computer Engineering, HKUST

  39. Results & Findings Playback hit rate = number of chuck played by VLC/ number of chunk received Test Result with1500kbps Mp4 video Test Result with 360kbps Mp4 video TD1a-09, BEng of Computer Engineering, HKUST

  40. Results & Findings Recover Rate Test Result with 1500kbps Mp4 video Recover Rate = number of chunk pulled / number of chunk missed TD1a-09, BEng of Computer Engineering, HKUST

  41. Results & Findings Playback overhead= (1-chunk overhead)*overhead of each chunk + chunk overhead Chunk overhead= 1- hybrid receive chunk/hybrid upload chunk Overhead of each chunk = (total size of streaming chunk - total size of video payload)/(total size of streaming chunk + size of TCP header) TD1a-09, BEng of Computer Engineering, HKUST

  42. Q & A

  43. Thanks for your attention! TD1a-09, BEng of Computer Engineering, HKUST

More Related