Conducted by:Cheng Wen Chi - PowerPoint PPT Presentation

About This Presentation
Title:

Conducted by:Cheng Wen Chi

Description:

Conducted by: Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang TD1a-09, BEng of Computer Engineering, HKUST – PowerPoint PPT presentation

Number of Views:130
Avg rating:3.0/5.0
Slides: 44
Provided by: Edd146
Category:
Tags: cheng | chi | conducted | wen

less

Transcript and Presenter's Notes

Title: Conducted by:Cheng Wen Chi


1
Peer To PeerInternet Protocol Television(P2P
IPTV)
Conducted by Cheng Wen Chi Chiu Kwok
Shing Choi Kwok Yam Advised by Prof. Danny
Tsang
2
Introduction
  • What is P2P IPTV?
  • What is IPTV
  • IPTV is a system 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.

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.

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.

5
What our system look like?
6
What our system look like?
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

8
P2P network management
  • Tracker Server
  • Channels
  • Peers Connection
  • Registration Deregistration
  • Reconnection Loop Handling
  • Presented by Cheng Wen Chi

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

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

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

11
TD1a-09, BEng of Computer Engineering, HKUST
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

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

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

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

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

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

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

19
Loop Detection
2)Receive Wait 5
1)Reconnected
3)Loop detected
4)Disconnected
20
Data format hybrid algorithm
  • Data format encryption
  • Sub-Streaming
  • Push algorithm
  • Pull algorithm
  • Presented by Choi Kwok Yam

21
Data format
  • Four containers of VLC streaming server

22
Data Encryption
Transport Stream (TS)
4 Bytes 184
Bytes
Header
Video Payload
Streaming chunk
ltHeadergt
ltPayloadgt
182 Bytes
(Number of TS packets 188) Bytes

TSPL
SN
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


ltStreaming chunkgt
TS
Header
ltTS Packetgt

Header
Video Payload
Each streaming chunk include 20 TS packets Data
Payload size 3942 bytes Overhead of each
streaming chunk 6
24
Sub-streaming
Peer A

Single stream of chunk with Sequence number 1,
2, 310
S1
10
9
6
5
4
3
2
1
S2
Peer C
S3
Combine Decompose
S1

Three sub-streams S1, S2, and S3
S2
Peer B
S1
1
4
7
10

S1
S3
2
5
8
S2
S2

S3
3
6
9
S3
  • 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.
25
Push algorithm
  • Do not exchange the sequence number of chunks
  • The parent node will send the latest chunk to the
    child node continuously.

Parent node
Child node
1
2
1. Connection request 2. Connection success 3.
Send latest chunk (n) 4. Send chunk (n1)
3
4
. . .
Time
Time
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
27
Pull algorithm
2. Recovery
Request side
Chunk request
Missing Chunk List
Peer A
Filter
Response
Peer selection process
Playback
Upload
  1. Peer selection process(e.g. peer B)
  2. Sequence number of missing chunk
  3. Compare missing sequence number and video
    playing sequence number
  4. Copy missing chunk to playback or upload buffer

28
Pull algorithm
Response side
Chunk request
Peer A
  • Peer B

Response
Sequence map
  1. Search sequence map
  2. Copy the chunk from upload buffer

Buffer
29
Libraries and Statistic Tools
  • Video library and Implementation
  • XML Database Library
  • Statistic Tools Plug-in
  • Presented by Chiu Kwok Shing

30
Video Library
  • DLL library Creation to access VLC library
  • Video broadcast function
  • Virtual Server broadcast and Video buffer

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
33
Virtual Server Video buffer
  • Virtual Server Video Buffer

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

35
Statistic Tools Plug-in
  • Why we develop the Statistic Tools?

36
What the tool can do?
  • Upload Speed graph
  • Download Speed graph
  • Upload Log
  • Download Log

37
How the tool work?
  • P2PTV statistic application model
  • Flow chart of the model

38
Result Findings
  • Playback Hit Rate
  • Recover Rate
  • Playback Overhead percentage

39
Results Findings
Playback hit rate number of chuck played by
VLC/ number of chunk received
Test Result with1500kbps Mp4 video
Playback Hit Rate Playback Hit Rate Playback Hit Rate
Sub-stream Number Push Pull
2 45 45
4 97.56 96.86
8 98.45 98.77
Test Result with 360kbps Mp4 video
Playback Hit Rate Playback Hit Rate Playback Hit Rate
Sub-stream Number Push Pull
2 99.90 99.96
4 99.73 99.93
8 99.78 99.84
40
Results Findings
Recover Rate
Test Result with 1500kbps Mp4 video
Recover rate Recover rate
Sub-stream Number Pull
2 15.24
4 71
8 87.43
Recover Rate number of chunk pulled / number
of chunk missed
41
Results Findings
Playback Overhead Percentage Test Result with1500kbps Mp4 video
Playback Overhead Playback Overhead Playback Overhead
Sub-stream Number Push Pull
2 6.92 6.93
4 6.60 6.76
8 6.59 6.59
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)
42
Q A
43
Thanks for your attention!
Write a Comment
User Comments (0)
About PowerShow.com