Designing Overlay Multicast Networks for Streaming
description
Transcript of Designing Overlay Multicast Networks for Streaming
Designing Overlay Multicast Designing Overlay Multicast Networks for StreamingNetworks for Streaming
Jevan SaksJevan SaksBruce MaggsBruce Maggs
Konstantin AndreevKonstantin AndreevAdam MeyersonAdam Meyerson
Delivering Streaming MediaDelivering Streaming Media
Server bottlenecksServer bottlenecks• Points of failurePoints of failure• Can only serve about Can only serve about
50Mbps of streams50Mbps of streams Network bottlenecksNetwork bottlenecks
• Unpredictable topologyUnpredictable topology• Best-effort delivery = Best-effort delivery =
No guaranteesNo guarantees
Live StreamingLive Streaming
Edge Servers (Sinks)
1 2 3 41 2 3 4
11 X X 33 44
1 2 3 1 2 3 44X X X
11 22 3 43 4x
Entry Point
Reflectors
Encoder
11 22 3 43 4x
11 22 3 43 4x
Proposed SolutionProposed Solution A less centralized approach:A less centralized approach: Entry PointEntry Point
• Source of the stream, sends to reflectorsSource of the stream, sends to reflectors ReflectorReflector
• Intermediate server, can split and retransmitIntermediate server, can split and retransmit Edge ServerEdge Server
• Reconstructs a better quality stream from what Reconstructs a better quality stream from what it receives and serves the end userit receives and serves the end user
ApproachApproach Three-tier structureThree-tier structure
S – Sources
R - Reflectors
D - Sinks
ConsiderationsConsiderations CostCost CapacityCapacity BandwidthBandwidth QualityQuality ReliabilityReliability
IP ParametersIP Parameters Success requirements (Success requirements ()) Failure probabilities (p)Failure probabilities (p) Cost on edges (c)Cost on edges (c) Cost on reflectors (r)Cost on reflectors (r) Fanout restrictions (F)Fanout restrictions (F)
Integer ProgramInteger Program
Indicator variables: Indicator variables: zzii – reflector – reflector ii used used yykk
ii – stream – stream kk sent to sent to reflector reflector ii
xxkkij ij – stream – stream kk sent to sent to
sink sink jj through through reflector reflector ii
ConstraintsConstraints Minimize:Minimize:
Subject To:Subject To:
Solving the IPSolving the IP ILOG Cplex (concert library)ILOG Cplex (concert library) DashOptimization Xpress-MPDashOptimization Xpress-MP GLPK (GNU Linear Programming Kit)GLPK (GNU Linear Programming Kit)
An ExampleAn Example (Thanks to graphviz)
ApproximationApproximation Why? IP is slow, and topology is large Why? IP is slow, and topology is large
and changes quicklyand changes quickly Randomized rounding:Randomized rounding:
• Cost violated by factor O(log n)Cost violated by factor O(log n)• Fanout/weight constraints violated by factor of at most 2Fanout/weight constraints violated by factor of at most 2
Modified GAP AssignmentModified GAP Assignment• Uses max-flow on a graph of size O(|R|Uses max-flow on a graph of size O(|R|¢¢|D|)|D|)• Cost violated again by O(log n)Cost violated again by O(log n)• Fanout/weight constraints violated by another factor of Fanout/weight constraints violated by another factor of
at most 2at most 2
ComparisonComparisonIP Solution (Cost = 51) Approx Solution (Cost = 52)
In ProgressIn Progress Multi-source approximationsMulti-source approximations Timing comparisonsTiming comparisons Violations in “average-case” Violations in “average-case”
scenariosscenarios
ExtensionsExtensions Capacities on all edgesCapacities on all edges Capacities from reflector-edgeserverCapacities from reflector-edgeserver Bandwidth requirementsBandwidth requirements Color constraintsColor constraints
ExtensionsExtensions
Edge Server (Sink)
Entry Point
Reflectors
Encoder
BMM Net
UU Net
Extension’s ConstraintsExtension’s Constraints Color constraintsColor constraints
wherewhere R=RR=R11 [[ R R22 [[… … [[ R Rm m
((RRi i is the set of reflectors on is the set of reflectors on thethe iithth ISP)ISP)
Here different colors Here different colors represent different ISPsrepresent different ISPs
There is no added value in There is no added value in serving to a fixed sink from serving to a fixed sink from two reflectors of the same two reflectors of the same color. color.
Future WorkFuture Work Use real-world data from AkamaiUse real-world data from Akamai Implement extensionsImplement extensions Improve approximation?Improve approximation?
Best Case Scenario?Best Case Scenario?