This document proposes a system for peer-assisted dynamic adaptive streaming over HTTP (DASH) to reduce server load and bandwidth costs. It describes using clients' downloaded video segments to serve future requests from other clients via peer-to-peer connections. The system would integrate this peer-assisted approach into standard DASH by modifying MPDs to include peer URLs. Simulations showed the system could reduce server bandwidth usage by up to 25% and lower content delivery costs. Further work is needed to optimize peer selection and improve the MPD updating process.
Salesforce Miami User Group Event - 1st Quarter 2024
Towards Peer-Assisted Dynamic Adaptive Streaming over HTTP
1. Towards Peer-Assisted Dynamic Adaptive
Streaming over HTTP
Stefan Lederer, Christopher Müller and
Christian Timmerer
1
9
t
h
I
nte
r
n
at
i
o
n
a
l
Pa
c
ket
V
i
d
e
o
Wo
r
ks
h
o
p
|
P
V
2
0
1
2
M ay 1 0 - 1 1
2 0 1 2
M u n i c h
G e r m a ny
2. PV 2012 | Peer-Assisted DASH Slide 2
Introduction
• Video streaming
needs huge
bandwidth
ressources
• Can other peers be
used to reduce the
server load and save
costs?
• Can this be
integrated into
DASH?
3. PV 2012 | Peer-Assisted DASH Slide 3
Towards
Peer-Assisted DASH
• Reduction of server load
• Clients offer their downloaded segments
– Segment requests are monitored by server
– Integration in DASH MPD for future clients
• Intelligent Scheduling Algorithms necessary
– When to load from peer, when from server?
– Error Handling, etc.
4. PV 2012 | Peer-Assisted DASH Slide 4
Peer Assisted Streaming
• Peer Traffic
– Non-symmetric Internet Connection
– Bottleneck: Low Upload Resources
• Split segments to smaller sub-chunks
• Restrict number of accepted connection at client
• Limit connection duration to prevent stalls
• Target:
– Reduce server bandwidth by 10 - 20 %
6. PV 2012 | Peer-Assisted DASH Slide 6
Implementation
• Proof of Concept using DASH VLC Plugin +
PHP for server-side implementation
– Provides basic proof of concept and shows
weaknesses to improve
– Problem: Amount of clients too low
• Detailed Evaluation in Omnet++
– Larger scale simulation with 40 clients
– Deterministic client behaviour scenarios
7. PV 2012 | Peer-Assisted DASH Slide 7
MPD Tracking Server (1)
• MPD Import
– Imports original MPD to database
• MPD Generator
– Generates MPD based on database
– Including other peers using <BaseURL>
– Client has the possibility to update its MPD
– Use @MediaRange to signal segment size
– Use ZIP compression to reduce MPD size
8. PV 2012 | Peer-Assisted DASH Slide 8
MPD Tracking Server (2) and
Client Modifications
• File Tracker
– Gateway for segment access
– Segment + Representation as parameter
– Stores client IP + timestamp for upcoming MPD
requests
– Response: the requested segment
• Local HTTP Server + Buffer at Client
– Store segments to disc and provide them on
demand via a local HTTP server
9. PV 2012 | Peer-Assisted DASH Slide 9
<MPD>
<BaseURL>
http://www.cdn.com/tracker.php?file=
</BaseURL>
<Period>
<AdaptationSet bitstreamSwitching="true">
<Representation bandwidth="2000000"....>
<BaseURL>http://client1-IP/example</BaseURL>
<BaseURL>http://client2-IP/example</BaseURL>
<SegmentList duration="4">
<SegmentURL media=“rep2MBit_segment1.mp4">
</SegmentList>
</Representation>
<Representation bandwidth="4000000"....
<BaseURL>http://client1-IP/example</BaseURL>
<!-- further base urls and Segments -->
</Representation>
<!-- further representations -->
</AdaptationSet>
</Period>
...
MPD Example
Server URL with
File Tracker
Peers offering
the segment
13. PV 2012 | Peer-Assisted DASH Slide 13
Simulation 1:
Results – Server
- 15 %
• 6 Mbps maximum
Representation
limit
• Clients select different
representations according
to their downlink speed
Number of clients offering
one specific segment is
low
14. PV 2012 | Peer-Assisted DASH Slide 14
Simulation 2:
Results - Server
- 25 %
• 1,4 Mbps maximum
Representation
limit
• Clients select the same
maximum representation
Downlink speed of all
clients is sufficient
Lower upload time for
segments
15. PV 2012 | Peer-Assisted DASH Slide 15
Simulation Results
Example Client
• Client:
– 8 Mbps Downlink
– Activation at
second 214 of
the simulation
• Simulation 2:
– 1,4 Mbps max.
Representation
limit