10
An Overlay Subscription Network for Live Internet TV Broadcast Ying Cai, Member, IEEE, and Jianming Zhou Abstract—We propose a framework, called Overlay Subscription Network (OSN), for live Internet TV broadcast, where a subscriber can choose to watch at any time. This framework allows the source server to incrementally build a topology graph that contains the network connections not only from the server to each subscriber, but also among the subscribers themselves. With such a topology graph in place, we consider efficient overlay multicast for scalable OSN services. We first show that idling nodes, which do not receive video data for their own playback, can actually be used for data forwarding to significantly reduce the cost of overlay multicast. In light of this observation, we then propose a novel overlay multicast technique that distinguishes itself from existing schemes with these three aspects. First, the proposed technique is centered on the topology graph and can take advantage of the actual network connections among the subscribing nodes. Second, the new scheme is able to find and incorporate appropriate idling nodes in multicast to reduce network traffic. Third, with our approach, a node can be used in multiple multicast trees for data forwarding to improve the overall system performance. We evaluate the performance of the proposed technique through simulation. Our extensive studies show that the proposed framework has the potential to enable the Internet, a vehicle up to date mainly for transferring text and image data, for large-scale and cost-effective TV broadcast. Index Terms—Overlay subscription networks, overlay multicast, video services, live streaming. Ç 1 INTRODUCTION U NLIKE text or image files, streaming a video to a remote client takes a significant amount of communication bandwidth. A video server typically can sustain only a very limited number of concurrent video streams. This problem, known as server or network-I/O bottleneck, limits the scalability of video services. To improve server throughput, two main categories of techniques have been proposed. The techniques in the first category explore the facility of IP multicast for clients to share server bandwidth. Many early techniques, such as on-demand multicast [8], [17], [13], [11] and periodic broadcast [26], [18], [16], are in this category. The techniques in the second category are often referred to as overlay multicast [23], [6], [22], [7]. Instead of relying on IP multicast, overlay multicast expands the server capacity by requiring the clients which are being served to buffer and forward their incoming video streams to serve others. Overlay multicast is an attractive solution for video distribution over today’s Internet, where the deployment of IP multicast has been slow and difficult due to issues like group management, congestion and flow control, and security [9]. Unlike the traditional client/server architec- ture, this strategy allows a client to contribute its computing resource to serve the entire community, rather than just being a burden to some central server. Under this approach, the clients, together with the source server, form a live video distribution tree that dynamically expands and shrinks as clients join and leave. Since the clients typically access the Internet from vastly different network domains, the problem of server bottleneck can be addressed effec- tively by arranging video data to flow through different network links to reach the receiving ends. Suppose a television broadcast company wants to stream its real-time TV programs over the Internet to its sub- scribers. Similarly to traditional satellite/cable services, these subscribers pay a monthly fee and register their computers to watch the programs. In this paper, we refer to the network formed by the source server and its subscribers as the Overlay Subscription Network (OSN). Such a network has an inherent feature that makes it possible to apply the concept of overlay multicast. That is, an OSN is a trusted overlay network in the sense that its subscribers trust the source server and, hence, pay for its services. Because of such trustiness, effective incentive mechanisms can be designed to encourage a subscriber to contribute its resource to serve others. As a simple example, a member can be given some discount on its subscription fee based on the amount of data it forwards. Such a realistic monetary incentive can effectively turn many subscribers into service partners to assist in data forwarding, a prerequisite to applying overlay multicast in reality. Effective incentive mechanisms for peer-to-peer networks have recently attracted great research interests; interested readers are referred to [15], [21], [4], [12]. In this paper, we simply assume some incentive mechanism is in place to motivate subscribing clients to contribute their resources in video services. In this paper, we consider overlay multicast for large- scale Internet TV broadcast. Because of the inability of existing technologies, traditional cable/satellite broadcasts are still the primary media for distributing continuous and endless video programs such as TV broadcast. The main contributions of this paper are as follows: IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006 1 . The authors are with the Department of Computer Science, Iowa State University, Ames IA 50011. E-mail: {yingcai, jmzhou}@cs.iastate.edu. Manuscript received 10 Sept. 2005; revised 24 Apr. 2006; accepted 8 July 2006; published online 18 Oct. 2006. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TKDE-0359-0905. 1041-4347/06/$20.00 ß 2006 IEEE Published by the IEEE Computer Society

An Overlay Subscription Network for Live Internet TV Broadcast

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Overlay Subscription Network for Live Internet TV Broadcast

An Overlay Subscription Network forLive Internet TV Broadcast

Ying Cai, Member, IEEE, and Jianming Zhou

Abstract—We propose a framework, called Overlay Subscription Network (OSN), for live Internet TV broadcast, where a subscriber

can choose to watch at any time. This framework allows the source server to incrementally build a topology graph that contains the

network connections not only from the server to each subscriber, but also among the subscribers themselves. With such a topology

graph in place, we consider efficient overlay multicast for scalable OSN services. We first show that idling nodes, which do not receive

video data for their own playback, can actually be used for data forwarding to significantly reduce the cost of overlay multicast. In light

of this observation, we then propose a novel overlay multicast technique that distinguishes itself from existing schemes with these

three aspects. First, the proposed technique is centered on the topology graph and can take advantage of the actual network

connections among the subscribing nodes. Second, the new scheme is able to find and incorporate appropriate idling nodes in

multicast to reduce network traffic. Third, with our approach, a node can be used in multiple multicast trees for data forwarding to

improve the overall system performance. We evaluate the performance of the proposed technique through simulation. Our extensive

studies show that the proposed framework has the potential to enable the Internet, a vehicle up to date mainly for transferring text and

image data, for large-scale and cost-effective TV broadcast.

Index Terms—Overlay subscription networks, overlay multicast, video services, live streaming.

Ç

1 INTRODUCTION

UNLIKE text or image files, streaming a video to a remoteclient takes a significant amount of communication

bandwidth. A video server typically can sustain only a verylimited number of concurrent video streams. This problem,known as server or network-I/O bottleneck, limits thescalability of video services. To improve server throughput,two main categories of techniques have been proposed. Thetechniques in the first category explore the facility ofIP multicast for clients to share server bandwidth. Manyearly techniques, such as on-demand multicast [8], [17], [13],[11] and periodic broadcast [26], [18], [16], are in this category.The techniques in the second category are often referred toas overlay multicast [23], [6], [22], [7]. Instead of relying onIP multicast, overlay multicast expands the server capacityby requiring the clients which are being served to bufferand forward their incoming video streams to serve others.

Overlay multicast is an attractive solution for videodistribution over today’s Internet, where the deployment ofIP multicast has been slow and difficult due to issues likegroup management, congestion and flow control, andsecurity [9]. Unlike the traditional client/server architec-ture, this strategy allows a client to contribute its computingresource to serve the entire community, rather than justbeing a burden to some central server. Under this approach,the clients, together with the source server, form a livevideo distribution tree that dynamically expands andshrinks as clients join and leave. Since the clients typicallyaccess the Internet from vastly different network domains,

the problem of server bottleneck can be addressed effec-tively by arranging video data to flow through differentnetwork links to reach the receiving ends.

Suppose a television broadcast company wants to streamits real-time TV programs over the Internet to its sub-scribers. Similarly to traditional satellite/cable services,these subscribers pay a monthly fee and register theircomputers to watch the programs. In this paper, we refer tothe network formed by the source server and its subscribersas the Overlay Subscription Network (OSN). Such a networkhas an inherent feature that makes it possible to apply theconcept of overlay multicast. That is, an OSN is a trustedoverlay network in the sense that its subscribers trust thesource server and, hence, pay for its services. Because ofsuch trustiness, effective incentive mechanisms can bedesigned to encourage a subscriber to contribute itsresource to serve others. As a simple example, a membercan be given some discount on its subscription fee based onthe amount of data it forwards. Such a realistic monetaryincentive can effectively turn many subscribers into servicepartners to assist in data forwarding, a prerequisite toapplying overlay multicast in reality. Effective incentivemechanisms for peer-to-peer networks have recentlyattracted great research interests; interested readers arereferred to [15], [21], [4], [12]. In this paper, we simplyassume some incentive mechanism is in place to motivatesubscribing clients to contribute their resources in videoservices.

In this paper, we consider overlay multicast for large-scale Internet TV broadcast. Because of the inability ofexisting technologies, traditional cable/satellite broadcastsare still the primary media for distributing continuous andendless video programs such as TV broadcast. The maincontributions of this paper are as follows:

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006 1

. The authors are with the Department of Computer Science, Iowa StateUniversity, Ames IA 50011. E-mail: {yingcai, jmzhou}@cs.iastate.edu.

Manuscript received 10 Sept. 2005; revised 24 Apr. 2006; accepted 8 July2006; published online 18 Oct. 2006.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TKDE-0359-0905.

1041-4347/06/$20.00 � 2006 IEEE Published by the IEEE Computer Society

Page 2: An Overlay Subscription Network for Live Internet TV Broadcast

1. We propose a framework by which the server canincrementally learn and build the topology graphthat reflects the actual network connections from theserver to each subscriber and among the subscribersthemselves. Such topology information is crucial toconstructing efficient overlay multicasts. Existingtopology-oriented techniques, such as TAG [19],[20], consider only the network connections from theserver to each individual client.

2. An OSN may have a large number of subscribingnodes, yet, at any one time, only a small percentageof them are actually receiving the programs forplayback. We demonstrate that recruiting the idlingnodes, which are online but not receiving theprograms, for data forwarding can significantlyreduce the cost of overlay multicast. We propose anovel technique that is able to find and incorporateappropriate idling nodes for data forwarding. Suchcapability is unique since existing techniques canleverage only the computing resource of the clientswho are playing back videos themselves.

3. The source server may provide multiple sessions ofvideo programs simultaneously. Observing theadvantages of leveraging idling nodes, we considerhow a node can be recruited in multiple sessions tofurther reduce network traffic. This capability is alsounique, considering the fact that, in existing techni-ques, a client can only contribute its resource toserve other clients who are in the same session.Because of this limitation, the server needs to build adistinct multicast tree for each session.

The remainder of this paper is organized as follows: InSection 2, we discuss the OSN framework and its manage-ment in details, including subscription management, topol-ogy graph, and stream management. We present theconcept of incentive forwarding in Section 3 and then in

Section 4, apply this idea in constructing single- andmultisession overlay multicast. The performance of theproposed technique is evaluated in Section 5. In Section 6,we give our concluding remarks.

2 OVERLAY SUBSCRIPTION NETWORK (OSN)

OSN is an overlay network consisting of one central server

that provides continuous video programs (e.g., TV broad-cast) and a number of subscribers that register theirreceivers and pay a monthly fee to watch the programs.Without causing ambiguity, we will use the terms sub-scriber, member, and node interchangeably. In OSN, theserver maintains a subscription database storing all informa-

tion about its subscribers, including ID and password,IP address, payment, incentive, and so on. The server mayask a member to forward video data to serve others. If amember agrees to serve others, the server will record andstore in the database the time duration and bandwidthcontributed by the member. We assume some mechanism is

used to calculate incentive amount based on the contribu-tion of a member within one billing cycle.

OSN is a registration-based network. This makes itpossible to use a topology graph to record its underlying

network topology. When a new member subscribes to thesystem, the server detects its path to the member and addsthe path in the topology graph. For path finding, manyapproaches can be used. A simple approach is usingtracepath [1], which is ICMP-based and has been usedextensively for Internet topology discovery. The pathobtained may be at the router level or the coarse-grainedAS level. Without loss of generality, we assume the router-level path. If only AS information is available, we treat eachAS as a router. In addition to the path from the server toeach subscriber, the topology graph can also store therouting paths among the subscribers, when such informa-tion becomes available. That is, when a subscriber Aforwards its incoming stream to serve another subscriberB, A can detect and report the actual streaming path to theserver, which will update the topology graph if necessary.

In this paper, we argue that a detailed and accuratetopology graph is crucial to constructing efficient overlaymulticast. Although exploiting network topology was firstinvestigated in [19], [20], the proposed Topology AwareGrouping (TAG) technique considers only the paths from theserver to its clients. In particular, it assumes that only thenetwork links in these paths can be used by the clients tocommunicate with each other. Such an assumption can beunrealistic. As an example, consider Fig. 1. It shows asource server S, three clients A, B, and C, and the pathsfrom the server to each of them. Suppose S is serving A andB when C arrives. In TAG, the server will ask A to forwardits video data to serve C and expects the traffic to flowthrough router R4, R3, R7, and R8. In reality, however, theactual streaming path may be quite different. For instance,the stream from A to C may actually go through R4, R6, andR8, the links of which are unknown to the server in TAG. Ingeneral, a topology containing only the path from the serverto each client can be too coarse to be relied upon in buildingan efficient overlay multicast. In OSN, as the server learnsthe actual connections among its subscribers, it canincrementally update the topology graph for better multi-cast construction. In the above example, A is required toreport its actual streaming path to the server. With thenewly discovered links, the server may later ask B to serveC.

In addition to the subscribers and their topologyinformation, the source server also tracks all streams andtheir streaming paths. A stream from node X to Y isdenoted as X ) Y if the stream flows from X to Y directly.

2 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006

Fig. 1. Topology graph.

Page 3: An Overlay Subscription Network for Live Internet TV Broadcast

Suppose S in Fig. 1 serves A directly and A forwards itsstream to B. Then, two streams are formed, S ) A andA) B. We say a router is an active router if there is at leastone stream flowing through it. Thus, given a stream, allrouters on its streaming path are active. The information ofeach stream and its streaming path can be stored in a binaryrelation, each row being a tuple of ðX;Y ;RÞ, denoting thatstream X ) Y flows through router Ri. Thus, given arouter, we can find the streams, if any, flowing through it.Many access structures can be used to support such queriesefficiently. For example, we can hash or build a Bþ-treeindex on the network links. Alternatively, we can also storethe entire information in an adjacency matrix instead of arelational table. Hence, we will not concern ourselves withits implementation details.

3 INCENTIVE FORWARDING

Similar to traditional TV broadcast, the programs providedby OSN are continuous and endless—24 hours a day, 7 daysa week. A SON may have a large number of registerednodes, yet, at any one time, only a small percentage of themare actually watching, while many of the rest are just idling.We refer to these two types of nodes as playing nodes andidling nodes, respectively. We note that, unlike regular TVsets, which are dedicated to broadcast receiving and couldbe turned off when they are not in use, the computersregistered in an OSN are more likely left powered on eventhough they are not receiving a broadcast. These computersmay be powered on for other purposes, such as e-mail/document processing. In fact, according to [2], many officeand residence computers are simply never turned off.

With realistic monetary incentive in place, a subscribingnode can be highly motivated in data forwarding. Thismakes it possible to apply overlay multicast for scalablebroadcast in OSN. Efficient overlay multicast has beenstudied intensively in the past few years and manyapproaches have been proposed, such as Chaining [23],Narada [6], [5], NICE [22], ZIGZAG [24], and TAG [19], justto name a few. Existing techniques, however, consider onlythe playing nodes in constructing overlay multicast. That is,they can leverage only the computing resource of playingnodes for data forwarding. In this paper, we argue thatidling nodes, when chosen appropriately, can be used tosignificantly reduce the cost of overlay multicast.

As a motivation example, consider Fig. 2. It shows asource server S and three subscribing nodes, A, B, andI, and their underlying network topology. Suppose A

and B are playing and I is idling. If the server serves A

and B directly, the network traffic on links R1 and R2

will be duplicated. Alternatively, the server may serve A

directly and ask A to serve B. This approach creates

duplicate traffic on links R2 and R3. In addition, the data

arriving at B experiences a longer latency since it flows

through S ! R1 ! R2 ! R3 ! A! R3 ! R2 ! R4 ! B.

Similar problems exist if S serves B directly and asks

B to serve A. Now, suppose I, an idling node, has the

capacity and can be recruited to serve A and B. Then,

the server can send data to I first and let I forward to A

and B. Apparently, this approach minimizes the back-

bone network traffic and also ensures good data

freshness.When an idling node is recruited to forward data, we say

this node becomes an incentive node.1 A major challenge of

implementing such incentive forwarding is to find and

incorporate appropriate idling nodes in constructing overlay

multicast. Unlike a playing node, an idling node does not

need video data for its own playback. Thus, an idling node

should be recruited only when its assistance in data

forwarding can reduce the service cost. Obviously, such

an idling node must be able to forward its incoming stream

to serve at least two other nodes.

4 SESSION MANAGEMENT

In this section, we consider the problem of constructing

overlay multicast in OSN. Our proposed techniques are

centered on the topology graph discussed earlier. To

facilitate our discussion, we define the following terms

and notations:

. PathðX;Y Þ denotes the sequence of routers on theshortest path from nodes X to Y and HopðX;Y Þ thenumber of routers on PathðX;Y Þ. In Fig. 2,PathðS;AÞ ¼ R1 !R2 !R3 and HopðS;AÞ ¼ 3.

. Given a routerR,RingðR; iÞ denotes the set of routersthat are an i-hop away from R, where i � 0. In Fig. 2,RingðR2; 0Þ ¼ fR2g and RingðR2; 1Þ ¼ fR1;R3;R4g.

. Given a node and a router that connect each otherdirectly, we say the node is the router’s local node andthe router is a node’s local router.

CAI AND ZHOU: AN OVERLAY SUBSCRIPTION NETWORK FOR LIVE INTERNET TV BROADCAST 3

1. A playing node is also paid if it is recruited for data forwarding. Thus,in terms of monetary incentive, such a playing node is also an incentivenode.

Fig. 2. Motivation example.

Page 4: An Overlay Subscription Network for Live Internet TV Broadcast

. A node’s capacity is the maximum number ofchildren it can have and its degree is the number ofchildren it is serving.

In the following discussion, we first present ourtechnique for single-session management, where we as-sume that the server supplies only one channel of videoprograms. We will then extend our technique for multi-sessions management. In this case, the server broadcasts anumber of channels simultaneously, similarly to thetraditional TV broadcast.

4.1 Single-Session Management

In OSN, a node can be offline or online. An online node isidling if it does not receive any video stream. Otherwise, thenode must participate in some multicast session and iscalled an active node. An active node can be in playing orincentive mode. In the former case, the node plays back thestream it receives, while, in the latter case, the node is anidling node and is recruited as an incentive node for dataforwarding. Since only the server can decide when torecruit an incentive node, a node can make itself onlyoffline, idling, or playing. Assuming that the serverprovides only one session of video programs, we discussin the following how to handle when a node changes itsstatus.

4.1.1 A Node Becomes Online

When an offline node N becomes online, it notifies server S.If N can serve at least two children and at least two streamsflow through N’s local router, N can be recruited as anincentive node to save the network traffic. In this case, theserver calls the following BundleðN;SSÞ procedure, whereSS denotes the set of streams flowing through N ’s localrouter:BundleðN;SSÞ

1. Check each stream in SS and find the one, sayX ) Y , that has the smallest HopðX;NÞ.

2. Create two new streams, X ) N and N ) Y , andterminate stream X ) Y .

3. Repeat the following until N can have no more childor SS becomes empty:

. Check each stream in SS and find the one, sayX ) Y , that has the largest HopðX;NÞ.

. Create a new stream N ) Y and terminateX ) Y .

When a stream X ) Y is bundled, the traffic saved canbe calculated as HopðX;NÞ � b, where b is the playback rateof the stream. We use Fig. 3 to explain the above bundlealgorithm. Suppose N can serve two children and threestreams, X1 ) Y1, X2 ) Y2, and X3 ) Y3, flow throughN ’s local router R. To minimize the cost of including N inthe session, the server chooses X1 to be N ’s parent since X1

is closest to N . Thus, X1 serves N and N forwards its streamto Y1, which was X1’s child. Since N has the capacity for onemore child, Y3 becomes its child. Y3 is chosen because thepath from X3 to N is the longest, thus maximally reducingthe network traffic.

Note that, whenever a stream X ) Y is terminated, theserver needs to check if X can be removed from the session.

If X is an incentive node and has no more children, the

server removes X from the session by terminating the

stream from X’s parent to X, and then recursively checks if

X’s parent can be removed.

4.1.2 A Node Becomes Playing

When a node N wishes to join the session, it notifies the

server. If the node is currently an incentive node, i.e., is

being recruited in the session to serve others, the server

simply updates the node’s status as playing and the node

can start to playback the stream. Otherwise, the server

includes the node in the session as follows: In our

discussion, we first assume node N ’s capacity is 0 and

then extend our algorithm to handle when this is not true.To include N in the session, the server first checks if

there is any active router on PathðS;NÞ. If none of them is

active, the server starts a new stream S ) N to serve N

directly. Otherwise, the server tries to find an existing active

node or recruit a new incentive node to serve N . Let Rj be

the active router on PathðS;NÞ that is closest to N . Since Rj

is the nearest router on PathðS;NÞ that N can access to

some on-going stream, N ’s parent should be as close as

possible to Rj in order to minimize the cost of serving N .

The server uses the following procedure to find a list of

parent candidates for N :FindParentCandidatesðRjÞ

1. Set CandidateSet ¼ ; and i ¼ 0.2. While CandidateSet ¼¼ ;, do the following:

. Set LocalNodeSet ¼ ;.

. For each router on RingðRj; iÞ, add its localnodes to LocalNodeSet.

. Check each node in LocalNodeSet and add it toCandidateSet if the node is currently active andcan serve one more child.

. If CandidateSet 6¼ ;, return.

. Otherwise, check each node in LocalNodeSetand add it to CandidateSet if the node iscurrently idling and can serve at least twochildren.

. Increase i by 1.

In the above algorithm, the server first checks router Rj

(i.e., RingðRj; 0Þ) to see if any local active node can serve N .

4 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006

Fig. 3. Stream bundling.

Page 5: An Overlay Subscription Network for Live Internet TV Broadcast

If no such active node is available, it tries to recruit a newincentive node. If this also fails, it expands the search scopeby checking RingðRj; 1Þ, RingðRj; 2Þ; . . . , until at least oneparent candidate is found. Apparently, such a ripplesearching process will locate N ’s nearest parent candidates.

Suppose the server stops its search on RingðRj; iÞ. If thecandidates found are active nodes, the server can simplychoose the one that has the minimum latency to serve N .Otherwise, these candidates must be idling nodes and theserve recruits one of them as a new incentive node. Beforediscussing how to select a new incentive node, we firstdiscuss the cost of including an incentive node, say I, in thesession. Given a streamX ) Y flowing through some routeron RingðRj; iÞ, we can redirect the stream to serve I, i.e.,X ) I and I ) Y . Thus, the cost of serving I isHopðX; IÞ þHopðI; Y Þ �HopðX;Y Þ. Since I is recruited toserve N , the total cost of including both I and N , whichwe will denote as CostðX ) Y ; I;NÞ, is equal toHopðX; IÞ þHopðI; Y Þ þHopðI;NÞ �HopðX;Y Þ. This canbe seen as the cost of recruiting I to serve N . Thus, given aset of streams flowing through RingðRj; iÞ, we can find outthe one that can be redirected to serve I and N with theminimal cost. This node is then recruited as an incentivenode. A more formal description of such a selection process isgiven below. Note that, after selecting a node, the serverneeds to contact the node to find out if it is online and can beused for incentive forwarding. If not, the server repeats theabove process for another candidate.ChooseIncentiveNodeðCandidateSet;NÞ

1. SS ¼ ;.2. For each active router R on RingðRj; iÞ, add all

streams that flow through R to SS.3. For each node I in CandidateSet and each stream

X ) Y in SS, calculate CostðX ) Y ; I;NÞ.4. Return I if CostðX ) Y ; I;NÞ is the smallest.

Our discussion so far assumes that N cannot have anychild. If N ’s capacity is not 0, it can be included in thesession as follows: The server first searches RingðRj; 0Þ,trying to find an active node or recruit a new incentive nodeto serve N . If this fails, the server continues to searchRingðRj; 1Þ, RingðRj; 2Þ; . . . , and so on. However, it stopsonce the search is expanded to the ring that containsN ’s local router. Since N can serve at least one child, it canbe included in the session by redirecting a stream that flowsthrough the routers on the ring. If more than one stream isavailable, the server chooses the one with the least cost.

4.1.3 A Node Becomes Offline or Idling

A playing node or an incentive node may decide to beidling or offline. It is also possible that a node may wish toreduce the number of its current children. When thishappens, the server schedules an emergent stream to serveeach affected child. At the same time, the server uses thealgorithms discussed in the previous section to either findan existing active node or recruit an incentive node to servethe child. Once a new parent is found for a child, theemergent stream can be terminated.

A node leaving from the session may cause temporalservice disruption to its downstream nodes. To avoid suchan undesired effect, one can use multiple descriptions

coding to encode a video stream into a set of substreamsand, for each substream, build a multicast tree using ourproposed technique. A node can then receive the set ofsubstreams from different parents and recover the originalstream even if some parent fails. Much effort has been doneon fault-tolerant overlay multicast; interested readers arereferred to [25], [14], [10], [27] for more information. InOSN, incentive mechanisms can also be used to encourage anode to become a stable service partner or, before leavingthe session, give some grace period for smooth servicetransition. In addition, the server can build some reputationmanagement and choose only the subscribers with a goodreputation for data forwarding. These subjects are beyondthe scope of this paper and we will leave them for futurestudy.

4.2 Multisession Management

A TV station normally broadcasts a number of channelssimultaneously. Likewise, an OSN may provide multiplesessions of video programs and a subscriber can choose towatch any one of them at any time. In this section, wediscuss how our single-session management technique canbe extended for multisessions broadcast. To save networktraffic, an idling node can actually be incorporated inmultiple sessions, subject to its capacity (e.g., downloadingand uploading bandwidth). With existing techniques, theserver needs to build a distinct multicast tree for eachsession. In these schemes, only the playing nodes cancontribute their resources and only the nodes in the samesession can serve each other.

As discussed early, when an offline node N becomesonline, it may be included as an incentive node to bundlethe streams flowing through its local routerR. In the case ofmultisession broadcasts, these streams may belong todifferent sessions. Since N is an idling node, it can berecruited in any session for data forwarding. The questionis, which sessions should N be used for? Recall that, when astream X ) Y is bundled, the traffic saved can becalculated as HopðX;NÞ � b, where b is the playback rateof the stream. Thus, we can calculate the savings ofbundling each session of streams and select the sessionwith the maximum savings to bundle first. This process isrepeated until either all sessions are bundled or N runs outof its idling capacity. Note that only the sessions with atleast two streams can be bundled and to bundle one session,N needs to have bandwidth to download one stream andforward it to serve at least two children.

Let N be a node that wants to watch session Si. If N is aplaying node and/or an incentive node that is currentlyserving some nonpeer nodes (i.e., not in session Si), then theserver may need to remove these children and find themnew parents. This process, which we refer to as sanitization,is necessary for two reasons. First, serving nonpeer nodesmay exhaust N’s capacity and make N unable to downloaddata from its own session. For example, N may run out ofits downloading bandwidth. Second, it is preferable for aplaying node to serve other nodes that are in the samesession. Serving its peer nodes does not require the playingnode to have extra bandwidth for data downloading. Whena playing node has extra capacity that is not used by its ownsession, it is possible to recruit this node as an incentive

CAI AND ZHOU: AN OVERLAY SUBSCRIPTION NETWORK FOR LIVE INTERNET TV BROADCAST 5

Page 6: An Overlay Subscription Network for Live Internet TV Broadcast

node for other sessions to save their traffic. However, this

node must be sanitized again when it can be used to serve

the nodes in its own session (e.g., a new peer node joins). To

avoid such overhead, we can limit a playing node to join

only one session, even if some of its capacity may not be in

use for some time period. After N is sanitized, the server

can use the algorithms presented in the previous section to

find N a parent. Note that, in the step of FindParentCandi-

date, a node should now be considered as an idling node as

long as it is not a playing node and has sufficient idling

capacity.

5 PERFORMANCE STUDY

To evaluate the performance of our proposed techniques,

we have implemented a detailed OSN simulator that can

provide a number of current TV programs over the Internet.

For performance comparison, we implement three different

overlay multicast techniques:

. OSN_BASE: In this scheme, only the playing nodecan contribute their resource to serve others. Thisapproach is similar to TAG [19], [20], an existingtopology-oriented overlay multicast technique.However, OSN_BASE is centered on the topologygraph and can take advantage of the actual networkconnections among the subscribers.

. OSN_SINGLE: This approach implements the pro-posed single-session management technique. It isable to find and incorporate appropriate idlingnodes for data forwarding. However, it allows anode to participate in one session only. In OSN_SINGLE, a distinct multicast tree is built for eachsession.

. OSN_MULTIPLE: This technique is the implementa-tion of the proposed multisessions managementtechnique. In OSN_MULTIPLE, a node can partici-pate in a number of sessions, subject to its availablecapacity.

For simplicity, we will refer to the above three

techniques as BASE, SINGLE, and MULTIPLE, respectively.

Similarly to other real-time overlay multicast techniques [6],

[22], [19], we choose these performance metrics:

. Link Stress: Given a network link, its stress is definedto be the total number of streams flowing through it.For each network link, we calculate its stress andreport their sum. This metric is also referred to as thenetwork cost of overlay multicast.

. Maximum Link Stress: This metric is defined to be themaximum stress of all links in a multicast tree. Ahigher value of this metrics means a higher chance ofcreating a network bottleneck.

. Mean Relative Delay (MRP): Assuming the streamserving node X flows through n routers fromsource S before arriving at X, the relative delay forX is defined to be n

m , where m is the number ofrouters in the shortest path from S and X. Thismetric reflects the relative increase of packet delay asa result of using overlay forwarding. We compute

the relative delay for all playing nodes and reporttheir mean value.

For SINGLE and MULTIPLE, we also report the numberof incentive nodes used in these two approaches.

We are interested in how the above performance metricsare affected by subscription size (i.e., the number ofsubscribers), active rate (i.e., the percentage of the sub-scribers actually watching), and session number (i.e., thenumber of video sessions provided by the server). In oursimulation, the underlying Internet topology is createdusing Brite’s TOP_DOWN model [3] and consists of5,000 routers. The topology is a two-level network hier-archy, interconnected higher level (AS level) and lowerlevel stub domains (router level), and each AS contains20 routers in average. We then generate a number of endsystems (i.e., subscribers) and randomly connect them tothe edge routers within each AS. The bandwidth of asubscribing node is randomly set to be in between one andsix streams. We assume symmetric network connectionsand do not distinguish downloading and uploadingbandwidth. Roughly, we simulated a local TV broadcaststation of a small city. Each data point in the performancefigures is averaged from 20 simulation runs, each randomlychoosing one multicast source. The confidence level is98 percent. Table 1 summarizes the parameter values usedin our simulation.

5.1 Effect of Subscription Size

In this study, we varied the number of subscribers from2,000 to 20,000 and assume 50 percent of them are playing.The number of video sessions provided by the server is 50.The performance results are plotted in Fig. 4. It shows that,under all scenarios, BASE incurs the highest total stress andmax stress. In particular, the performance gap betweenBASE and the other two schemes increases sharply as thenumber of subscribers increases. This result confirms thatleveraging idling nodes for data forwarding can indeedsignificantly reduce network traffic and minimize thechance of creating network bottleneck. As for MULTIPLEand SINGLE, Figs. 4a and 4b both show that MULTIPLEconsistently outperforms SINGLE in terms of total stressand max stress. By allowing an idling node to be recruitedin multiple sessions, MULTIPLE has a better chance thanSINGLE in locating a nearest parent for a new playing node.We now look at the mean relative delay caused by the threetechniques. Fig. 4c shows that, when the subscription size issmall, BASE has the least delay. BASE leverages only theplaying nodes for data forwarding. When the number ofplaying nodes is smaller, their relative distance is larger as

6 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006

TABLE 1Parameters

Page 7: An Overlay Subscription Network for Live Internet TV Broadcast

they randomly span in the entire network. As a result, thechance is higher for the server to serve each individualsubscriber. As Fig. 4c shows, when the number ofsubscribers is 2,000, the mean relative delay is nearly 1 forBASE, indicating that almost all playing nodes are serveddirectly by the server. Fig. 4b confirms that, in this setting,BASE has presented a major network bottleneck, where theworst network link has to sustain more than 750 videostreams. In contrast, both SINGLE and MULTIPLE havequite stable relative delay and max stress. As Figs. 4b and 4cshow, the two techniques are not sensitive to the number ofsubscribers in terms of max stress and relative delay. Thisfeature is highly desirable and it indicates they can be usedin a large-scale OSN with expected good performance.Fig. 4d shows that SINGLE uses much more incentive nodesthan MULTIPLE. This indicates that, when a new playingnode comes, SINGLE has to find the node a farther parent,although many times a nearby incentive node could berecruited.

5.2 Effect of Active Rate

In this study, we fixed the number of subscribers at 10,000with 50 sessions and varied the active rate from 10 percent to100 percent. The performance results are plotted in Fig. 5.Figs. 5a and 5b show that the total stress and max stressincurred by BASE are both the highest and they becomeworse and worse than the other schemes as the active rateincreases. This is a very interesting phenomenon. Given afixed number of subscribers, increasing the active rateincreases the number of playing node and reduces thenumber of idling nodes. When the active rate becomes100 percent of active rate, all three schemes have exactly thesame number of playing nodes for SINGLE and MULTIPLE,

there is no idling node to recruit at all. Thus, one may expectall three schemes to eventually perform similarly. However,Figs. 5a and 5b show that BASE remains the worst performer.Such a performance difference is due to the different orders ofadding nodes in sessions. In SINGLE and MULTIPLE, anidling node is recruited in a session whenever doing soreduces the network traffic. When an incentive node laterbecomes a playing node, there is no extra cost since the nodehas already been in the session. Thus, SINGLE and MULTI-PLE are flexible in the order of adding nodes. In contrast,BASE includes a node in a session only when it becomes aplaying node. When the active rate is low, the server mayhave to find a parent node very far away to serve a newplaying node. As the active rate increases, more and moreidling nodes become playing nodes. However, these idlingnodes may again have to find their parents, which are faraway because their nearby playing nodes have run out oftheir capacity in order to serve early playing nodes. Thisperformance result indicates that in the application scenarioswhere recruiting idling nodes is infeasible, periodicallyreconstructing the overlay multicast as new playing nodesjoin can significantly improve the overall system perfor-mance. Fig. 5a shows that, when the active rate is low, BASEincurs the least mean relative delay. As we have explained inthe previous study, this is simply because, when the numberof playing nodes is low and their relative distance is large,most of them are served directly by the server. In thissimulation, MULTIPLE again consistently outperformsSINGLE in all settings.

5.3 Effect of Session Number

In this study, we fixed the number of subscribers at 10,000within a network with a total of 5,000 routers. We assume

CAI AND ZHOU: AN OVERLAY SUBSCRIPTION NETWORK FOR LIVE INTERNET TV BROADCAST 7

Fig. 4. Effect of subscription size.

Page 8: An Overlay Subscription Network for Live Internet TV Broadcast

the active rate is fixed at 50 percent and vary the session

number from 10 to 100. The performance results are plotted

in Fig. 6. Similarly to the previous two studies, the results

show that BASE imposes much more network traffic and

results in a longer relative delay than the other two

approaches that leverage the idling capacity of the

subscribers. As the session number increases, MULTIPLE

outperforms SINGLE more and more. This is due to the fact

8 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006

Fig. 5. Effect of active rate.

Fig. 6. Effect of session number.

Page 9: An Overlay Subscription Network for Live Internet TV Broadcast

that, in SINGLE, once an idling node is recruited in onesession, the node cannot be used in other sessions even if ithas sufficient idling capacity. As a result, the server wouldneed to find a farther parent for a new playing node. As thenumber of sessions increases, the chance of finding a nearerparent is reduced. Fig. 6c shows that, when the sessionnumber is low, MULTIPLE incurs more max stress thanSINGLE. Since an idling node is used to support moresessions, MULTIPLE generates more network traffic on therouters that are near to the incentive node. However, as thesession number increases, MULTIPLE gradually outper-forms SINGLE. With a higher session number, the chance ishigher for SINGLE to have to find a farther parent to serve anew playing node. The network traffic from the parent tothe new playing node then needs to flow more networklinks. As Fig. 6d shows, more and more incentive nodes arerecruited in SINGLE when the session number increases.

6 CONCLUDING REMARKS

Because of the inability of existing technologies, traditionalcable/satellite broadcasts are still the primary media fordistributing TV programs. In this paper, we propose aframework, namely, OSN, aiming at enabling the Internetfor large-scale and cost-effective TV broadcast. Similarly tocable/satellite broadcasts, the video programs provided byOSN are continuous and endless—24 hours a day, 7 days aweek. There may be a large number of subscribers, yet, atany one time, only a small percentage of them are actuallywatching. However, unlike regular TV sets, which arededicated to broadcast receiving and could be turned offwhen they are not in use, the computers registered forInternet TV services are more likely left powered on eventhough their owners are not watching. These computersmay be in use and, thus, powered on for other purposes,such as e-mail/document processing. In fact, many officeand residence computers are powered on without actuallybeing in use [2]. In this paper, we show that such idlingnodes can be used in constructing highly efficient overlaymulticast. Since an idling node does not need video data forits own playback, it should be incorporated in multicastonly when doing so can reduce the cost of overlaymulticast. To find and incorporate only the appropriateidling nodes for data forwarding, we propose a noveltopology-oriented overlay multicast technique. Our exten-sive simulation studies have showed convincingly thatleveraging idling nodes for data forwarding can result insignificant performance advantages in terms of reducingnetwork traffic and balancing the workload of networklinks.

REFERENCES

[1] ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz, 2005.[2] http://www.cquest.utoronto.ca/env/env421h/energy/compu

ters.html, 2005.[3] http://www.cs.bu.edu/brite/download.html, 2005.[4] C. Buragohain, D. Agrawal, and S. Suri, “A Game Theoretic

Framework for Incentives in P2P Systems,” Proc. Int’l Conf. Peer-to-Peer Computing, Sept. 2003.

[5] Y.-H. Chu, S.G. Rao, S. Seshan, and H. Zhang, “EnablingConferencing Applications on the Internet Using an OverlayMulticast Architecture,” Proc. ACM SIGCOMM, pp. 55-67, 2001.

[6] Y.-H. Chu, S.G. Rao, and H. Zhang, “A Case for End SystemMulticast,” Proc. ACM SIGMETRICS, pp. 1-12, June 2000.

[7] Y. Cui, B. Li, and K. Nahrstedt, “Asynchronous StreamingMulticast in Application-Layer Overlay Networks,” IEEE J.Selected Areas in Comm., special issue on recent advances inoverlay networks, vol. 22, no. 1, pp. 91-106, Jan. 2004.

[8] A. Dan, D. Sitaram, and P. Shahabuddin, “Scheduling Policies foran On-Demand Video Server with Batching,” Proc. ACM Multi-media, pp. 15-23, Oct. 1994.

[9] C. Diot, B.N. Levine, B. lyles, H. Kassem, and D. Balensiefen,“Deployment Issues for the IP Multicast Service and Architec-ture,” IEEE Network Megazine, special issue on multicasting,vol. 14, pp. 78-88, 2000.

[10] T.T. Do, K.A. Hua, and M. Tantaoui, “P2VoD: Providing FaultTolerant Video-on-Demand Streaming in Peer-to-Peer Environ-ment,” Proc. IEEE Int’l Conf. Comm. (ICC), June 2004.

[11] D.L. Eager, M.K. Vernon, and J. Zahorjan, “Minimizing Band-width Requirements for On-Demand Data Delivery,” IEEE Trans.Knowledge and Data Eng., vol. 13, no. 5, pp. 742-757, Sept./Oct.2001.

[12] M. Feldman, K. Lai, I. Stoica, and J. Chuang, “Robust IncentiveTechniques for Peer-to-Peer Networks,” Proc. ACM Conf. ElectronicCommerce (EC ’04), May 2004.

[13] C. Griwodz, M. Liepert, M. Zink, and R. Steinmetz, “Tune toLambda Patching,” ACM Performance Evaluation Rev., vol. 27,no. 4, pp. 20-26, Mar. 2000.

[14] M. Guo and M.H. Ammar, “Scalable Live Video Streaming toCooperative Clients Using Time Shifting and Video Patching,”Proc. IEEE INFOCOM, 2004.

[15] B. Horne, B. Pinkas, and T. Sander, “Escrow Services andIncentives in Peer-to-Peer Networks,” Proc. Third ACM Conf.Electronic Commerce, 2001.

[16] K.A. Hua, Y. Cai, and S. Sheu, “Exploiting Client Bandwidth forMore Efficient Video Broadcast,” Proc. Int’l Conf. Computer Comm.and Networks, pp. 848-856, Oct. 1998.

[17] K.A. Hua, Y. Cai, and S. Sheu, “Patching: A Multicast Techniquefor True Video-on-Demand Services,” Proc. ACM Multimedia,pp. 191-200, Sept. 1998.

[18] K.A. Hua and S. Sheu, “Skyscraper Broadcasting: A NewBroadcasting Scheme for Metropolitan Video-on-Demand Sys-tems,” Proc. ACM SIGCOMM, Sept. 1997.

[19] M. Kwon and S. Fahmy, “Topology-Aware Overlay Networks forGroup Communication,” Proc. ACM Int’l Workshop Network andOperating Systems Support for Digital Audio and Video (NOSSDAV),pp. 127-136, 2002.

[20] M. Kwon and S. Fahmy, “Path-Aware Overlay Multicast,”Computer Networks, vol. 47, pp. 23-45, 2005.

[21] K. Lai, M. Feldman, I. Stoica, and J. Chuang, “Incentives forCooperation in Peer-to-Peer Networks,” Proc. Workshop Economicsof Peer-to-Peer Systems, 2003.

[22] B.B.S. Banerjee and C. Kommareddy, “Scalable Application LayerMulticast,” Proc. ACM SIGCOMM, pp. 205-217, 2002.

[23] S. Sheu, K.A. Hua, and W. Tavanapong, “Chaining: A GeneralizedBatching Technique for Video-on-Demand,” Proc. IEEE Int’l Conf.Multimedia Computing and Systems, pp. 110-117, June 1997.

[24] D.A. Tran, K.A. Hua, and T.T. Do, “ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming,” Proc. IEEE INFOCOM, 2003.

[25] P.C.V. Padmanabhan, H. Wang, and K. Sripanidkulchai, “Dis-tributing Streaming Media Content Using Cooperative Network-ing,” Proc. ACM/IEEE Int’l Workshop Network and Operating SystemsSupport for Digital Audio and Video, pp. 177-186, 2002.

[26] S. Viswanathan and T. Imielinski, “Metropolitan Area Video-on-Demand Service Using Pyramid Broadcasting,” MultimediaSystems, vol. 4, no. 4, pp. 179-208, Aug. 1996.

[27] X. Xu, Y. Wang, S.P. Panwar, and K.W. Ross, “A Peer-to-PeerVideo-on-Demand System Using Multiple Description Codingand Server Diversity,” Proc. IEEE Int’l Conf. Image Processing(ICIP), Oct. 2004.

CAI AND ZHOU: AN OVERLAY SUBSCRIPTION NETWORK FOR LIVE INTERNET TV BROADCAST 9

Page 10: An Overlay Subscription Network for Live Internet TV Broadcast

Ying Cai received the PhD degree in computerscience from the University of Central Florida in2002. While studying at this university, Dr. Caiwas the chief architect at nStor/StorLogic lead-ing the effort to develop network storagetechnology. He developed the first remote andcentralized RAID management system back in1996 and the product was licensed by severalmajor companies, including SGI, Adaptec, andNEC. Currently, Dr. Cai is an assistant professor

in the Department of Computer Science at Iowa State University. Hisresearch interests include wireless networks, mobile computing, andmultimedia systems. He is a member of the IEEE and the IEEEComputer Society.

Jianming Zhou received the BS degree incomputer science from Shanghai Jiao TongUniversity, People’s Republic of China, in 1999and the MS degree in computer science fromIowa State University in 2006. He is currently aPhD student in the Computer Science Depart-ment at Iowa State University. His researchinterests include peer-to-peer networks andwireless sensor networks.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

10 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 18, NO. 12, DECEMBER 2006