Optimized content distribution in a push-VoD scenario - CiteSeerX

2 downloads 30903 Views 118KB Size Report
largest CDN networks fail, as the March Madness experiment showed [1]. Proposals for ..... the capacities of two largest CDN networks Akamai and Limelight.
Optimized content distribution in a push-VoD scenario Sandford Bessler Telecommunications Research Center Vienna (ftw.) Donau-City 1, A-1220 Vienna Austria Abstract—This paper discusses a novel approach for distributing a large number of multimedia (video) titles to users via a managed network infrastructure based on DSL technology. The approach, sometimes called push-VoD, is based on multicasting and the direct download of the content on user disks, followed by the local, but delayed playback of the video. We analyze in a first step the optimization problems related to the efficient packing of multicast trees on capacity constrained links. Then, we show that the model in which the user requests several alternative titles for download performs much better than the single title case. Finally, we consider the multiperiod scheduling performance and describe ways to reduce both the number of downloads of the same title and the delivery time of less frequent titles.

Keywords: push video on demand, multicast, tree packing, multiple knapsack, mixed integer programming, content admission scheduling I. I NTRODUCTION Internet traffic statistics showed recently a decrease of P2P traffic percentage in favor of video traffic that is today easily embedded in community web sites such as YouTube. Analysts are warning that a further increase of the video traffic in the internet would change the economic model of ISPs forcing them eventually to block the distribution of video streams to their users. The long awaited Video on Demand (VoD) service has still top priority among internet users, especially if existing content could be made globally available. Meanwhile, most cable and network providers have adopted a closed model that serves the own user population, is based on a relatively small number of local and popular content titles, but enables the full control of the content distribution process. However, when the number of users and the number of available titles increase in the range of hundreds of thousands, even the largest CDN networks fail, as the March Madness experiment showed [1]. Proposals for world-wide VoD service are based currently on two approaches: in the P2P approach [2] the content is downloaded or streamed to the disks of user peers. Variations of this model such as push-to-peer [10] optimize the distribution and partition of the videos in smaller chunks. The global amount of traffic does not decrease with this approach, but the congestion on the main paths from the central servers is avoided. The second approach is push-VoD adopted by Stratacache [3] Intercast [4] in which user requested content is downloaded directly to the user disks during the low utilized network hours (at night) using multicast transmission. The video content (that can be in this case also high definition content) is played later on, locally. A comparison of the two

approaches goes beyond the scope of this paper, we merely want to investigate the efficiency gained through the building of optimized multicast trees in the push-video on demand architecture. A. Related work The key for a scalable video on demand service is the use of multicast, a technology extensively studied in the last 20 years, in particular in the context of IPTV streaming and multiparty conferencing. Most optimization problems that involve multicast algorithms have been focused on routing and caching at intermediate nodes. (see [7], [6] for surveys on multicast optimization problems and VoD services). Specifically, the capacity planning for the necessary bandwidth in a multicast network is modelled as a packing problem, or a multiple knapsack problem [8], [9]. The Steiner tree packing problem [13] arises when, in a meshed network, trees with a common node and a set of terminal nodes have to be constructed in such a way that they satisfy edge capacity constraints. The specific goal is to maximize the number of those coexisting trees. In [8] and [9] the objective of the multicast packing problem is to minimize the total load of the most congested link, where the link load is the sum of the traffic demand of all multicast groups that traverse that link. The variables are the same as in the Steiner tree problem. Both formulations assume that a feasible solution always exists, meaning that the network can support all the given multicast groups. The problem we address in this work is different: since not all the requested content can be delivered at once, we concentrate on the admission and the scheduling of the content delivery into the network: we assume a fixed routing, i.e the path from the server to each user is fixed, meaning that the multicast nodes are not variables of the problem. Instead, given the link capacities, we are first looking for a feasible subset of trees, such that the number of served terminal nodes (users) is maximized. In a second step we repeat this procedure periodically and aim to optimize the schedule of downloads, considering the waiting time from the moment a user has selected a content up to its delivery. For the case each user selects one single title, the tree construction is straightforward and the problem to be solved is the selection of a subset of the trees. In a more realistic scenario, users select a number of titles, but only one of them should be downloaded simultaneously within the considered period. To our knowledge such a case has not

been investigated before, although it leads to a substantial increase of the multicast efficiency. The formulation of this problem and the evaluation of its performance are the main contributions of this work. The rest of the paper is organized as follows: Section 2 presents a simple and an improved optimization model. Section 3 reports on simulation results and compares the performance of both models. Section 4 analyzes the long term scheduling of content downloads. In section 5 we give concluding remarks and further research directions. II. T REE ADMISSION MODELS A. Single title model For this basic model we consider a snapshot of the network load and of the demand situation. We assume the content consists of a collection of T video titles that have to be distributed from one central server via a tree network. The links forming this tree is the set E. At the bottom of the tree are U users equipped with large disks. The simplifying assumption is that for each user, a path is predefined so that the load of the corresponding links can be determined. This is equivalent with a hierarchical distribution network, a typical configuration at most DSL network providers. To simplify the scheduling problem, we assume that the download of any title occurs in a time-slot of a fixed duration. This can be achieved by adapting the download rate of each content tree dk , k ∈ T ). As mentioned in the introduction, the key mechanisms to reach scalability with respect to the number of titles and to the number of served users is to use multicast at the intermediate nodes. In the basic admission model each active user selects one title to download. The titles follow a long tail distribution (i.e. according to the Zipf law). The number of possible multicast trees clearly equals to the number of titles T, but only a part of them can eventually be carried by the network capacity. Each tree has the demand dk and nk users on it. A straightforward objective is to select those trees that maximize the number of served users. If the routing is fixed, then this integer problem is equivalent to a multiple knapsack (a knapsack for each link): P1: X max nk yk (1) k∈T

subject to:

X

yk dk rke ≤ ce , e ∈ E

(2)

k∈T

where nk is the number of users that requested the content k, the binary variable yk ∈ {0, 1} is one when the content tree k is selected for download, and zero otherwise. The routing vector r has components rke = 1, if the tree k contributes traffic to the link e, and 0 otherwise. ce is the capacity of the link e. It is well-known that 0-1 single knapsack problems are NP-hard [11]. However because they are not hard in the strong sense, they can be solved by dynamic programming. On the other hand, 0-1 multiple knapsack problems are NP-hard

in the strong sense [12], so no pseudo-polynomial algorithms can exist. B. Multiple title model The single title model is rigid, it does not support a realistic business model and has poor optimization potential. To extend it, we consider that each user selects P titles for download, however the order in which these titles are downloaded is decided by the system. To simplify things we assume that these P titles can be randomly selected by the user from the set of all titles T. Therefore, the optimization problem to be solved is to decide which content should be selected for download for each user in the current period. Commercial DVD rental systems such as Netflix [5] have a similar model, selling a package with limitation on the number of titles per week or viewing hours per week. Technically, in the single title model, a content tree that has been selected for download contains all the users with that content. For multiple titles the situation is more complex as we can see from the following example in Fig. 1. In the example we have 4 users,

e5=5 e1=2

e6=5 e4=4

e2=4 e3=2

Titles:

1 2

3 2

Users:

a

b

1 4 c

2 4 d

Title download capacity: d_1=2 d_2=3 d_3=1 d_4=3

Maximize the number of served users, s.t. capacity constraints T_2-{a} +T_1 f={2, 3, 2, 3} or T_2+T_1-{a} f={3, 3, 2, 3} non-feasible T_1+T_3+T_4-{c} f={2,1,2,3} ...

Fig. 1.

Example

a,b,c,and d and four titles we denote with ”1”, ”2”, ”3” and ”4”. Each user has selected 2 titles, such that the possible trees are: T (2) = {a, b, d}, T (1) = {a, c}, T (3) = {b} and T (4) = {c, d}. We see that if we include in the solution the tree for content 2 and the tree for content 1, we have to remove user ”a” from one of the trees, because of the constraint that maximally one title can be downloaded by a user at a time. We denote with xiu the binary variable that becomes true if the i-th of P titles of user u is selected for download. The binary variable zke shall describe whether the content title k contributes to the load on link e. We formulate such a disjunct constraint : P P ½ i 0 if e i∈P u∈Uke xu = 0 zk = (3) 1 otherwise

where the set Uke contains those users that request the content k and contribute (by their fixed routing) to the load on link e. e Uke = {u : akui = 1 AND rui = 1} The binary matrix with the k elements aui denote the current assignment of titles to users, e whereas the elements rui denote the fixed routing of each user content (u,i) to a link e. Equation (3) states therefore the multicast flow conservation (which is not flow addition !): as soon as one single user requests a content k, all the links on the path up to the server are affected by the load caused by k. To express this dichotomy in a form that can be processed by a solver, the standard way is to use the big-M formulation [16], where M is a large integer: zke ≤ M

X X

(4) 250

u∈Uke

i∈P

zke

xiu

links of capacity C3 lead all to the central server, so that the number of edges in the network are E = M 2 + M 3. The total number of available titles T have a long tail distribution approximated in our case by a square function. Thus, in order to generate randomly an index k of a title, we use k = T r2 where r is a random function returning values between zero and 1, T is the number of titles. In Fig. 2 we have depicted the title frequency distribution for T=400, P=5, i.e. the number of users that have requested a certain title index. A second curve in the figure describes the distribution of the titles in the solution of the problem P2 during a single time period.

≥ 1/(nk + 1)

X X

Request distribution

xiu

(5)

i∈P u∈Uke

u∈U,i∈P

X

(7)

k∈T

xiu ≤ 1, ∀u ∈ U

(8)

i∈P

zke ≤ M

X

e i akui rui xu

(9)

u∈U,i∈P

zke ≥ 1/(nk + 1)

X

100

50

0

Title index

1

Fig. 2.

dk zke ≤ ce , ∀e ∈ E

X

Titles

150

where nk is the number of occurrences of the content k among the users, therefore the right term is between zero and one. We are now able to formulate the problem for multiple title case (P2), where we use one summation symbol for clarity reasons: P2: X max xiu (6) subject to:

e i akui rui xu

Solution distribution

200

(10)

u∈U,i∈P

We have replaced the sets Uke in (4) by using the elements e and rui as defined above. In addition to the capacity constraints (7), we have the constraint (8) that at most one of the P titles may be selected. In this formulation, the problem has kU k · kP k + kT k · kEk variables and about kU k + 2kT k · kEk constraints. akij

III. N UMERICAL RESULTS The models described above have been implemented in AMPL and use the CPLEX solver from ILOG on a Pentium 4 CPU with 1GB RAM. The considered distribution network is a DSL hierarchical network with three levels: each group of M1 users is connected to a node (equivalent to the DSL access multiplexer) over DSL lines. Their capacity do not pose any constraints in our problem. A second level of M2 links of capacity C2 are connected to a node and a third level of M3

Title request frequency

As mentioned before, we denote with dk the download rate for the content with index k, which is a function of the movie size. dk is generated at random between 1.5 Mbps and 3 Mbps and corresponds to MPEG2 coded video movies that can be downloaded in a constant period of time. In order to find lower bounds of the mixed integer problem, CPLEX uses several heuristics (Gomory cuts, clique cuts, etc.) and solves small and medium instances up to 5000 users and 1000 titles in several minutes. In order to evaluate the impact of P on the number of served users, we solve the problem P2 with increasing user populations. In Fig.2 we present a family of 3 curves for three values of P (1, 3 and 5). The number of served users on the y axis is relative to the number of total active users, U. The curves show a significant increase in the distribution efficiency for the multiple title model (P > 1). Even a small number of alternatives (P=5) is enough to boost the performance so that 70% of the users are served within the period. However, the high percentage of 70% depends on several factors, such as network capacity and the number of available titles T. In the experiments, the capacities have been selected to constrain the network, so that only a small part of the selected content is downloaded in one time period. Note that, if the number of titles increases, the multicast trees become smaller, serving less users. In Fig. 3 we describe the impact of increasing T. We observe a stronger and continuous decrease in the multicast performance for higher values of P (P=5).

100 90

Served users (%)

80 70 60 50 40 30 20 10 0 0

500

1000

1500

2000

2500

3000

Active us e rs , U P=1

Fig. 3.

P=3

P=5

Served users for different P values for T=100

80

P=1

P=3

P=5

70

Served users (%U)

60 50 40 30 20 10 0 0

200

400

600

800

1000

Available title s , T

fairness (for less popular movies). In the simple push-VoD approach, we can relax the reneging aspect since the waiting time is much larger and the user knows that. However, the question is still how to schedule the downloads in the longer term. Two aspects we focus on are a) the redundancy created by frequent downloads of the same title and b) the time a user has to wait for some rare content to be delivered. Concerning a) we can make an important observation from the example in Figure 1: to resolve the ties between competing titles, the corresponding trees are reduced, meaning that a part of the users that are interested in that particular content will have to download it again during the following time periods. In addition, new requests for that content in the following periods will increase the multicast group. In order to reduce frequent downloads of a certain title we have to discourage the admission of a content that has been selected in the last or very recent period. With the same weight function we can address requirement b) as follows: we propose to give higher weight to ”longer waiting” contents. After a number of waiting periods, the weight increases faster (penalty function). The result is the function wk (t), k ∈ T with wk (0) = 1, and parameters c1 , c2 , tM > 0.  if k is downloaded in period t  c1 wk (t − 1) + c2 if t ≤ tM wk (t) =  k w (t − 1) + c3 if t > tM (11) This piece linear function is set to a low value after the content k has been downloaded, increase linearly, then it provides a penalty function through a steep further increase. The objective in (7) becomes therefore: X max wk(u,i) (t)xiu (12) u∈U,i∈P

Fig. 4. Impact of the number of available titles T on the objective for U=1000

The results are meaningful if they are extrapolated to larger instances of the problem. In other words, a 30% percentage of the users can be served when the number of video titles equals the number of users for example 1000, or 10,000. IV. M ULTIPERIOD CONTENT SCHEDULING In the previous sections we have addressed the admission of a set of multicast groups (trees) during a download time slot. The selected objective function is the number of served users. Such an objective favors large trees of popular content because of the larger number of contributing users. Thus, popular content tends also to be downloaded more often. There is extensive research done for near-VoD systems in which the mechanism called batching is used to wait until several requests for the same video title can be served (by multicast). In [15] for example several scheduling policies are compared aiming to minimize reneging user behavior (canceling the request), reduce waiting time and maximize

where k(u, i) is the content index the i-th title of user u. Through introducing the weights w in the objective, we improve our model by accounting for ”soft” fairness criteria in the following way: large multicast trees (with many users) are part of the solution only if the corresponding content has been waiting for some time to be downloaded (the weight is large enough). We have performed experiments with different weight functions: piece linear and exponential wk (t) = wk (t − 1) ∗ c2 , c2 > 1 and investigated the number of users served, the distribution of downloads over the content index and the distribution of waiting times. In order to perform the simulation experiments, we run the optimization algorithm P2 in a loop aiming to reach a steady state (independent of the initial conditions). After each iteration, all the downloaded contents are replaced with new random contents simulating the user selection, such that each user has always P chosen contents for download. For the linear weights according to (12), we set c1 = 1, c2 = 1, c3 = 10, tM = 10, for the exponential we set c2 = 2, then the optimization step is repeated. In Fig. 5 we depict the distribution of the waiting times (in periods) for different values of T. The capacities of the network

0,30

20 T=100

0,20

T=200

0,15

T=300

0,10

T=400

0,05

titles %

0,25

15

exponential

10

linear, c=.5

5 constant, c=0

0 1 2 3 4 5 6 7 8 9 10

0,00 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Fig. 5.

Content quantile

Waiting time distribution Fig. 6.

links are kept constant during the experiments. Instead to control explicitly the number of multicast groups or channels (which is difficult since this model is based on capacity constraints) we increase the number of titles, with the effect that the efficiency of multicast decreases and the waiting times increase. The curves show as expected that if the long tail of rare (cold) movies becomes longer, the whole distribution of the waiting time (histogram) worsens. However, the penalty function associated with the weight w avoids the creation of long waiting times. It is clear that the selection of the operation point, i.e. the maximal waiting time or delivery quality depends on several parameters: the capacity of the links and the number available titles. Another parameter of the system is the arrival rate of download requests. In the current model each downloaded content is replaced immediately by another requested content at random. In practice a soft limitation of the number of downloads per user and per week can be introduced using for example an exponential moving average scheme. To measure the fairness of the scheme, we proceed similarly to [15]: we divide the T titles, sorted according to their index, into bins, each bin summing up the same number of requests (see Fig. 2). For example 1000 users selecting each of them 5 titles, make 5000 requests that are divided in 10 bins a 500 requests each, starting with the most popular titles. Then, we count the number of downloaded titles in each bin. In Fig. 6 we compare the effect of the weight (12) on the distribution of downloads in each bin. The effect of weights on long waiting contents is to increase their download frequency and is most pronounced for the exponential (multiplicative) function. For this case the waiting time decreases down to eight periods, compared to 16 for the additive weight of Fig. 5. Further work has to be done to better understand the effects of the different system parameters on the waiting times. Summarizing, in the multiperiod scheduling of contents, there is a trade-off between the efficiency of the multicast, expressed for example by the number of served users, and the (maximum) waiting time for any content. This trade-off is controlled by the proposed weight function in the objective.

Distribution of downloads

V. C ONCLUDING R EMARKS AND FURTHER RESEARCH We believe that the push-VoD approach is a viable and scalable solution for the increasing video traffic in the internet. Once the user accepts the new model of delayed playback, we get a system that is technically much simpler and commercially cheaper than the True- and Near-VoD systems extensively studied 10 years ago. Indeed, the new approach has many important advantages: • no interaction model, VCR actions are local giving full freedom to the user(some advertisements can be downloaded as well and presented during the playback) • less stringent QoS requirements than for streaming, buffering and preloading schemes are simpler. • service latency is a feature and needs not to be minimized, batching has much more larger time constraints and is fully controlled by the server, defection can be relaxed, but has probably to be differently modeled. However, more research is needed to further develop the idea of push-VoD, we mention in the following only a few aspects: • in the normal case, the topology of the content distribution network goes beyond the controlled domain of a network provider and includes additional nodes where content is cached. Therefore, the whole distribution chain from content provider down to the user has to be carefully engineered. • the Digital Rights Management problem is in the pushvoD case crucial as the entire content is downloaded on user disks. • reliable, error-correcting IP multicast schemes supporting heterogeneous user terminals are needed • new push-VoD application layer protocols are needed between the user and the service provider In our work we have investigated the optimization potential of packing multicast trees efficiently in order to maximize the number of served users (with a downloaded movie). We have shown that if users may select several titles instead of only one, then substantially more users can be served with the same network.

Our models have of course a number of limitations we would like to eliminate in further work. We assumed that only one title can be downloaded simultaneously per user, but this constraint can be easily relaxed in networks with sufficient access capacity. We assumed also a fixed routing through the backbone leading to a tree network. More general models with routing variables have to be investigated. Another assumption that guided this research has been the availability of a very large number of video titles for selection, but we could solve instances with only up to 5000 users or titles. We think that this is not a fundamental limitation. In order to solve larger P2 problems, we started to distribute and parallelize the computation on each multiplexer (DSLAM) node. The results of those problems are fed into a master problem, solved centrally. In this way problem sizes that are an order of magnitude higher can easily be solved. To further reduce the computation time one can then explore heuristics instead of the MIP model. VI. ACKNOWLEDGEMENT This work has been funded by the Austrian Government Kplus program. R EFERENCES [1] March Madness 2006 - a large streaming experiment combining the capacities of two largest CDN networks Akamai and Limelight http://www.streamingmedia.com/article.asp?id=9265 [2] Joost, online: http://www.joost.com [3] online: www.stratacache.com [4] online: www.intercast.com [5] Online: www.netflix.com [6] C.A.S. Oliveira, P.M. Pardalos, A survey of combinatorial optimization problems in multicast routing, Computers & Operations Research 32(2005) 19531981 [7] H.Ma, K.G. Shin, Multicast Video on Demand Services, ACM SIGCOMM Computer Communication Review, Volume 32 , Issue 1 (January 2002). [8] Chu-Fu Wang, Chun-Teng Liang and Rong-Hong Jan, Heuristic algorithms for packing of multiple-group multicasting Computers & Operations Research, Volume 29, Issue 7, June 2002, Pages 905-924 [9] S. Chen, O. Gnlk, and B. Yener, The Multicast Packing Problem, IEEE Transactions on Networking, VOL. 8, NO. 3, JUNE 2000. [10] K. Suhy, C. Diot, J. Kurosey, L. Massoulie, C. Neumann, D. Towsleyy, M. Varvello, Push-to-Peer Video-on-Demand system: design and evaluation, JSAC special issue on Advances in Peer-to-peer Systems. Vol. 25. No. 10. December 2007. [11] M. Garey, D. Johnson, Computers and Intractability: A Guide to the theory of NP-Completeness, San Francisco,CA: Freeman, 1979. [12] S. Martello, P. Toth, Knapsack problems: Algorithms and computer implementations, New York, Willey, 1990. [13] K. Jain and M. Mahdian and M. Salavatipour, Packing Steiner trees, 14th ACMSIAM Symposium on Discrete Algorithms, 2003. [14] G.Zipf Human Behaviour and the principle of least effort, AddisonWesley, 1949. [15] A. Dan, D. Sitaram, P. Shahabuddin, Scheduling Policies for an OnDemand Video Server with Batching, ACM Multimedia,pp. 15-23, 1994. [16] C.H Papadimitriou, K. Steiglitz, Combinatorial Optimization, Algorithms and complexity, Prentice Hall, 1982

Suggest Documents