230 likes | 258 Views
Live Streaming over Subscription Overlay Networks CS587x Lecture Department of Computer Science Iowa State University. Outline. Subscription Overlay Network (SONet) Subscription and topology management Streaming over SONet Performance Study Concluding Remarks.
E N D
Live Streaming over Subscription Overlay Networks CS587x Lecture Department of Computer Science Iowa State University
Outline • Subscription Overlay Network (SONet) • Subscription and topology management • Streaming over SONet • Performance Study • Concluding Remarks
Subscription Overlay Network • Two components • One central server • Streaming source (eg., live TV broadcast, etc.) • A number of subscribing nodes • Pay monthly fee in return of video services • A node can be offline/online/idling/playing • One Service • Streaming video data from source to all online nodes • Three goals • Minimize the server workload • Minimize network traffic • Minimize data latency 4 1 3 r r 2 r 5 r 6 S
Solution I: Unicast • Dedicating one stream for each online node • Advantages • Simple implementation • Good data freshness (shortest distance) • Disadvantages • Server bottleneck: not scalable
Solution II: IP Multicast • One multicast stream can serve many clients simultaneously • Advantages • Simple implementation • Achieve all three goals • Disadvantages • IP Multicast is not widely deployed on the Internet (due to security issues, etc.)
Solution III: Application Layer Multicast • A node receiving data can forward its incoming stream to serve others • Existing ALM techniques • Chaining/ESM • NICE/ZIPZAG, etc. c5 c3 c6 s c4 c1 c2
Solution III: Application Layer Multicast • A node receiving data can forward its incoming stream to serve others • Existing ALM techniques • Chaining/ESM • NICE/ZIPZAG, etc. • Advantages • each server stream can serve many clients • Leverage the entire network resource c5 c3 c6 s c4 c1 c2
Solution III: Application Layer Multicast • A node receiving data can forward its incoming stream to serve others • Existing ALM techniques • Chaining/ESM • NICE/ZIPZAG, etc. • Advantages • each server stream can serve many clients • Leverage the entire network resource • Disadvantages • Only the playing nodes can contribute • Difficult to maintain topology, etc. c5 c3 c6 s c4 c1 c2
Observation and Motivation • A SONet may consist of a large number of subscribers, but at any one time, only a small percentage of them are playing • American watch TV 4 hours/day in average • A majority of SONet not playing may be idling • Unlike regular TV sets, a node not playing is likely to be online • Recruiting appropriate idling nodes for data forwarding can effectively reduce network traffic
Motivation Examples • Server workload? • Network traffic? • Data freshness?
Subscription/Topology Management • Account database • The server maintains all subscriber information, including IP, password, the amount of data forwarded (for discount purpose), etc. • Topology graph • When a new member M joins, the server S detects its path to the members • A path is denoted as PATH(S, M) = SR1R2M • When a member M1 is asked to forward data to another member M2, M1 reports the actual PATH(M1, M2) to the server • The connections among the members are detected and updated as needed • The topology graph becomes more and more accurate to the server • For each stream, the server records its actual streaming path • Given a router, the server can find out the set of streams flowing through it.
Notations/Definitions • Path(X, Y) • The sequence of routers on the shortest path from X to Y (as known to the server) • Ring(R, i) • The set of routers that are i-hop away from R • Capacity(N) • The number of streams N can forward • Local node and local router • A node and a router is local to each other if they connect directly
Changing of Node Status • A node can make itself only offline, idling, or playing • Only the server can decide when a node can become an incentive node
A node becomes online • When an offline node becomes online, the server may bundle the streams flowing through N’s local router
A node becomes playing • The node is in incentive • Simply turn on its player • The node was in idling • Find a parent (should be as close as possible to N) • Find the joint router Rj • Search Ring(Rj, 0) • Prefer playing node • If not, recruit an incentive node, more than one candidates may be available (choosing criteria?) • Repeat on Ring(Rj, 1), …, until a parent is found
Choosing Incentive Node Cost(XY, I, N) = Hop(X, I) + Hop(I, Y) + Hop(I, N) – Hop(X, Y)
If N’s capacity is not 0 • It can help serve others • The server finds the parent by searching Ring(Rj, 0), …, but stops at Ring(Rj, d), where d is Hop(N, Rj) • Since N can serve at least one child, it can redirect its incoming stream to its parent’s current child
A node becomes offline or idling • Find a new parent for each child of this node • The parent can be either an incentive or playing node
Performance Study • Performance Metrics • Mean Relative Delay (MRP) • The MRP of a node X is to defined to HOP(S, X)/StreamingPath(S, X) • Measure the data freshness • Link Stress • The total amount of traffic flowing through each network links • Our study focus on • Effect of subscription size • Effect of topology size • Effect of active rate
Concluding Remarks • SONet: a framework for video streaming over the Internet • Similar to cable/satellite broadcast networks • Allows effective incentive mechanisms • Centralized subscription and topology maintenance • A new topology-oriented technique for building application layer multicast • Unique in its ability of incorporating idling nodes to assist in data forwarding • Simulation confirms its performance advantage • Future work???