21
Streaming over Subscription Overlay Networks Department of Computer Science Iowa State University

Streaming over Subscription Overlay Networks Department of Computer Science Iowa State University

Embed Size (px)

Citation preview

Streaming over Subscription Overlay

Networks

Department of Computer ScienceIowa State University

Outline

Subscription Overlay Network (SONet)Subscription managementStreaming over SONetPerformance StudyConcluding 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 goalsMinimize the server workloadMinimize network trafficMinimize data latency

S

1

2

3

65

4

rr

r

r

Solution I: Unicast

Dedicating one stream for each online node

AdvantagesSimple implementationGood data freshness

DisadvantagesServer bottleneck: not scalable

Solution II: IP Multicast

One multicast stream can serve many clients simultaneously

AdvantagesSimple implementationAchieve all three goals

DisadvantagesIP 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 techniquesChaining/ESMNICE/ZIPZAG, etc.

Advantageseach server stream can serve many clientsLeverage the entire network resource

DisadvantagesOnly the playing nodes can contributeDifficult to maintain topology, etc.

s

c1

c3

c4c2

c5

c6

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

R1

R2

R3

R4 R5

R6 R7

S

A B

I

R1

R2

R3

R4 R5

R6 R7

S

A B

I

R1

R2

R3

R4 R5

R6 R7

S

A B

I

Server workload?Network traffic?Data freshness?

Subscription 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

Some Notations

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

R1

R2

R3

R4 R5

R6 R7

S

A B

I

Node Status Changing

incentive

idling

playing

onlineoffline

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 a node becomes online, the server may bundle the streams flowing through N’s local router

X1=>Y1, X2=>Y2, X3=>Y3X1=>N, X2=>Y2, N=>Y3

R N

Y2

X1

X2

X3

Y3

Y1

R N

Y2

X1

X2

X3

Y3

Y1

Bundling Procedure

A node becomes playing

The node is in incentive

Simply turn on its player

The node was in idling, find a parent

Find the joint router Rj A parent should be as

close as possible to the join

Prefer playing node If not, recruit an

incentive node, more than one candidates may be available (what is the choosing criteria

Rj

R6

R11

R9

R10

R5

R7 R8

Ry3

Ry1

Ry2

Rx3

X1

Y1

Y3

X3X2

Y2

R4

R3

R2

R1

N

S

P

Rx1

Find Parent Candidates

Choosing Incentive Node

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

Effect of Subscription Size

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???