280 likes | 300 Views
Implementing a practical problem solution involving multimedia distribution to home users through a Community Access TV tree network. Explores server allocation complexities, cost tradeoffs, and efficient algorithm development.
E N D
Optimal Allocation of Electronic Content in Networks Israel Cidon- Technion Shay Kutten- Technion Ran Soffer- Redux
Bandwidth requirements example 1* 5 1 3* 2 4 3 2 0 5 6 1 0 7 5 7* 6 8 9 10 11 12 * 3 2 12 5 7 6 1 15 Users’ requirements server *
The Problem • A practical problem ([NS95] Schaffa F. and Nussbaumer J.P. “On Bandwidth and Storage Tradeoffs in Multimedia Distribution Networks”, IEEE 1995) • A multimedia delivery to home. • Users connected to a Community Access TV (CATV) tree (A directed tree oriented mesh). • Servers containing all types of information can be connected at every level of the tree.
users users users users users users users users Model example server level 1 server level 2 server level 3 server level 4
Why tree? • General graphs: high complexity • Trees are in common use for distribution, hierarchy, • Trees studied in the related papers • See also Vassilakis et al (2000), Buddhikot (1998), • Triantafillou and Faloutsos (to appear in Par. • Comp), Bisdikian and Patel (ICC95), etc.
[NS95]’s Findings Assumed all servers connected at same level • Tradeoffstorage cost communication cost: • Then best storage level is near leaves of distribution tree. Otherwise- near root.
Related problems • Related OR problems we mapped here:(see e.g. “Discrete Location Theory” book) • The p-Median problem. • The p-Center problem. • Uncapacitaed facility location problem.Algorithm for the undirected case:Billionnet A. and Costa M.C. “Solving the uncapacited problem on (undirected)trees”, DAM 49 pp. 51-59, 1994. • Tamir, 96, locating known# servers on undirected trees.
Related problems (cont.) • Krishnan, Raz, and Shavitt • IEEE/ACM Transactions on Networking, to appear. • Li,Galin, Italiano, Deng, and K. SohrabyINFOCOM'99 • Optimized delivery time, when #server is known.
Our contributions • -A more general model: • - Not all servers have to be in same level • - Cost(servers) on different machines may be different • - Cost(bandwidth) on different links may be different • Closed solution • Unknown number of servers • Better complexity • Observing: dynamic programming is better for distributed implementation, • connecting to OR problems.
If cost(server)=10 & cost(BW)=1 then cost=40+1+5+1+6+7+5+2+3=70 1* 5 1 3* 2 4 3 2 0 5 6 1 0 7 5 7* 6 8 9 10 11 12 * 3 2 12 5 7 6 1 15 Users’ requirements server *
ALGORITHM IDEA * v i k i’s subtree Dynamic programming: how to combine the solutions for i and k to get v?
ALGORITHM IDEA * v i k i’s subtree But to solve for i we need to know where is the server*
* ALGORITHM IDEA v i k i’s subtree But to solve for i we need to know where is the server*
ALGORITHM IDEA * v i k i’s subtree But to solve for i we need to know where is the server*
ALGORITHM IDEA v * i k i’s subtree But to solve for i we need to know where is the server*
Dynamic programming: solution * Distance j i i’s subtree
Dynamic programming: solution * Distance j i i’s subtree
j i i * Distance j i ... Data structure at node i
Computing the parent’s cost. For line 0 add cost of server (e.g. 10) v * k i
Final allocation Root allocates itself iff cost(line 0) is min. A child i now knows the line j to use here * up i Is cost(line 2) <cost(line 0)? or <cost(line -1)?
1* 5 1 3* 2 4 3 2 0 5 6 1 0 7 5 7* 6 8 9 10 11 12 * Leaves tables
Leaves tables 1* 5 1 3* 2 4 3 2 0 5 6 1 0 7 5 7* 6 8 9 10 11 12 *
1* 5 1 3* 2 4 3 2 0 5 6 1 0 7 5 7* 6 8 9 10 11 12 * Parents’ tables Root’s tables
Complexity 2 • Computation: O(dN)=O(N )=(d Children ) d: tree depth N: nodes • Message: O(N) • Bit: d log cost per message • Time: O(d) i i
Conclusions & Open problems • We found similarity between internet and Operational research problems. • Dynamic programming is a more convinient tool for distributed implementation. • Try to utilize methods for the application tree solutions in more general networks.