Peer-to-Peer Streaming Based on Network
Coding Decreases Packet Jitter
Riccardo Bernardini, Roberto Cesco Fabbro, Roberto ...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Overview
• Introduction
– Streaming over P2P networ...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Streaming over P2P
Why?
• Streaming good quality co...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Streaming over P2P
The drawbacks
A user is not a se...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Streaming over P2P
Chunk-based
• Chunk-based approa...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Streaming over P2P
Stream-based
• Stream-based appr...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Our setup
• We will consider a stream-based approac...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Network Coding & Jitter
• The idea
– If N peers sen...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Our model
Client
U1
U2
U3
U4
Upper
peers
Streaming
...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Our model
Equivalent
Client
SPLIT
JOIN
Streaming
Se...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Problem statement
• Hypothesis
– Xn are iid random ...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Analytical results
Reduction to m = 0 and σ2 = 1
• ...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Analytical results
Asymptotical results
• D = OR(X1...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Simulation results
Simulation results with Xn ∼ N(0...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Experimental results
Setup
−0.05 0 0.05 0.1 0.15
0
...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Experimental results
Results
Comparison with theore...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Conclusions
• We analyzed the behaviour of the jitt...
Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter
Acknowledgments
This work and the development of PP...
Upcoming SlideShare
Loading in...5
×

Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter

1,147

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,147
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter

  1. 1. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Riccardo Bernardini, Roberto Cesco Fabbro, Roberto Rinaldo DIEGM – University of Udine October 27, 2010
  2. 2. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Overview • Introduction – Streaming over P2P networks – P2P with network coding • The model • Analytical results • Experimental results • Conclusions 1
  3. 3. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Streaming over P2P Why? • Streaming good quality content to many users in multi-unicast requires a lot of resources Required = Content bandwidth × # of users • Multicast is not always a feasible solution (cross AS) • In a Peer-to-Peer structure each node brings its own resources ⇓ SCALABLE 2
  4. 4. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Streaming over P2P The drawbacks A user is not a server Insufficient upload bandwidth Can leave at anytime (even suddenly) Cannot be trusted (poisoning) 3
  5. 5. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Streaming over P2P Chunk-based • Chunk-based approach – Inspired to file-sharing P2P systems – The stream is split in chunks – Each peer advertises which chunks has (buffer maps) – Each node asks to other peers the required chunks – A node sends as many chunks as its bandwidth allows – For live streaming ∗ Too old chunks useless ∗ Future chunks do not exist ⇒ Some buffering necessary – More interesting for VOD 4
  6. 6. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Streaming over P2P Stream-based • Stream-based approach – As soon as the node receives a packet ∗ Takes linear combinations of the content of the packet (network coding) ∗ Transmits the result (reduced packet) – The transmitted packets are smaller ⇒ smaller required bandwidth – A node recovers the content packet by combining the output of different peers – The node transmits as soon as it receives a new packet ∗ More stream-oriented ⇒ No buffering necessary 5
  7. 7. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Our setup • We will consider a stream-based approach • We do not fix a specific network coding, but we suppose that – The bandwidth of the reduced stream is 1/R of the bandwidth of the content stream. – The content packet can be recovered as soon as at R packets are received – Each peer receives data from N > R peers • Chunkless approaches that satisfy these requirements exist – PPETP (http://corallo.sourceforge.org) – Octoshape 6
  8. 8. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Network Coding & Jitter • The idea – If N peers send me data. . . – . . . and I need only the R < N “fastest” packets . . . – . . . could this have some benefical effect on jitter? 7
  9. 9. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Our model Client U1 U2 U3 U4 Upper peers Streaming Server P2P Newtork 00000 00000 0000000000 00000 00000 00000 11111 11111 1111111111 11111 11111 11111 00000 00000 00000 11111 11111 11111 0000 0000 0000 1111 1111 1111 0000 00 0000 1111 11 1111 0 0 00 0 0 0 00 0 0 0 00 0 00 0 0 11 1 1 1 11 1 1 1 11 1 11 1 1 1 1 0 0 00 0 0 0 00 0 0 0 00 0 00 0 0 11 1 1 1 11 1 1 1 11 1 11 1 1 1 1 0000000000000000000000000011111111111111111111111111 000000 000000 111111 111111 • A packet leaves the server at t = 0 • The n-th upper peer recovers the packet at t = An • The reduced version of the n-th up- per peer needs t = Bn to reach the node • The node receives the data from the n-th upper peer at time Xn = An +Bn 8
  10. 10. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Our model Equivalent Client SPLIT JOIN Streaming Server : : Content packets Reduced packets To the application (e.g., decoder) Delay XN Delay D=OK(X1, ..., XN) • As soon as a packet is created it is split in N reduced packets that leave the server t = 0 • The n-th packet arrives at t = Xn • The packet is recovered at time D = OR(X1, . . . , XN) where OR returns the R-th (in increasing order) of its argu- ments. • σD = jitter “seen” by the node 9
  11. 11. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Problem statement • Hypothesis – Xn are iid random variables with ∗ Distribution FX ∗ Average mX (expected delay) ∗ Standard deviation σX (basic jitter) – D = OR(X1, . . . , XN) • Problem: find mD and σ2 D as function of mX, σ2 X, R and N Note: The results can be extended to the case where Xn has parametrized distribution G(x; θn), where θn is a r.v. 10
  12. 12. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Analytical results Reduction to m = 0 and σ2 = 1 • Define Yn = Xn − a b ; C = OR(Y1, . . . , YN) • The following (almost obvious) equalities hold mC = mD − a b ; σC = σD/b • Note: The ratio σD/σX (a measure of jitter reduction) depends only on N, R and the type of Xn (Gaussian, uniform, . . . ) 11
  13. 13. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Analytical results Asymptotical results • D = OR(X1, . . . , XN) is the R-th order statistic of X1, . . . , XN • Let ρ = N/R be a measure of the “redundancy” • Keeping ρ constant while letting N → ∞ (under mild hypothesis) – mD → F−1 X (1/ρ) The delay depends only on ρ – σD/σX ∼ 1/ √ N The jitter decays as 1/ √ N 12
  14. 14. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Simulation results Simulation results with Xn ∼ N(0, 1) 10 0 10 1 10 2 10 −0.9 10 −0.7 10 −0.5 10 −0.3 10 −0.1 Jitter vs. N in log−log scale N Jitter R=1/5 R=1/4 R=1/2 R=7/10 R=3/4 0 20 40 60 80 100 −1.5 −1 −0.5 0 0.5 1 NMean R=N/5 R=N/4 R=N/2 R=(7/10) N R=(3/4) N 13
  15. 15. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Experimental results Setup −0.05 0 0.05 0.1 0.15 0 5 10 15 20 25 Histogram of peers delay Delay [s] Numberofpeers • PlanetLab network with 101 nodes • Nodes synchronized with NTP. Error < 10 ms (interrupt frequency in Linux kernel) • Each node sent 1000 packets, 2 packets per second • Two groups of nodes – With very small delay (≈ 0.04 s), comparable with NTP synchro- nization error. Discarded. – With delay ≈ 0.1 s. 14
  16. 16. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Experimental results Results Comparison with theoretical results (N = 100) 0 10 20 30 40 50 0 0.2 0.4 0.6 0.8 1 R Jitter[s] Planetlab Theoric 0 10 20 30 40 50 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 RMean[s] Planetlab Theoric 15
  17. 17. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Conclusions • We analyzed the behaviour of the jitter when a P2P structure based on network coding is employed • The jitter is actually reduced • The σD/σX decays as 1/ √ N, that is, it depends (approximately) only on the number of peers and not on the redundancy. 16
  18. 18. Peer-to-Peer Streaming Based on Network Coding Decreases Packet Jitter Acknowledgments This work and the development of PPETP are partially supported by PRIN Arachne (2008C59JNA), granted by Ministero per l’Universit`a e la Ricerca Scientifica e Tecnologica. 17

×