1 / 13

ROMaN: Revenue driven Overlay Multicast Networking

ROMaN: Revenue driven Overlay Multicast Networking. Varun Khare. Agenda. Problem Statement Dynamic Programming Application to ROMaN. Problem Statement. Dedicated Server farm placed strategically over the Internet ISP Cost: ISP charge for bandwidth consumption at Server sites. ISP.

draco
Download Presentation

ROMaN: Revenue driven Overlay Multicast Networking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ROMaN: Revenue driven Overlay Multicast Networking Varun Khare

  2. Agenda • Problem Statement • Dynamic Programming • Application to ROMaN

  3. Problem Statement • Dedicated Server farm placed strategically over the Internet • ISP Cost: ISP charge for bandwidth consumption at Server sites ISP

  4. Problem Statement • Distribute users in a meaningful fashion: • Optimize user delay performance OR • Minimize the ISP cost of servicing the end-users ISP Origin

  5. Problem Statement • Given • ISP charging function ci and • available bandwidth Bi of all K servers deployed • Find the user distribution ui at each server SRVi for N users where each user consumes b bandwidth, such that • Σui = N; ui . b ≤ Bi and • Σci.(ui . b) the ISP cost of deploying group is minimized

  6. Dynamic Programming • Dynamic Programming is an algorithm design technique for optimization problems: often minimizing or maximizing. • DP solves problems by combining solutions to subproblems. • Idea: Subproblems are not independent. • Subproblems may share subsubproblems, • However, solution to one subproblem may not affect the solutions to other subproblems of the same problem. • DP reduces computation by • Solving subproblems in a bottom-up fashion. • Storing solution to a subproblem the first time it is solved. • Looking up the solution when subproblem is encountered again. • Key: determine structure of optimal solutions

  7. Steps in Dynamic Programming • Characterize structure of an optimal solution. • Define value of optimal solution recursively. • Compute optimal solution values either top-down with caching or bottom-up in a table. • Construct an optimal solution from computed values. We’ll apply the above steps to our problem.

  8. Optimal Substructure • Optimal solution to distribute N users amongst K servers contain optimal solution to distribute i users amongst j servers (i ≤ N and j ≤ K) Let cost(n,k) = Cost of distributing n users amongst k servers 1. If k =1, then cost(n,1) = c1(n) 2. If k >1 then distribute i users on k-1 servers cost(n-i, k-1) + n-i users on kth server ck(i)

  9. Recursive Solution • cost[i, j] = Optimal ISP Cost of distributing i users amongst j servers • We want cost[N,K]. This gives a recursive algorithm and solves the problem.

  10. Example • Start by evaluating cost(n,1) where n = 0,1 … NSince k=1 there is no choice of servers • Thereafter evaluate cost(n,2) where n = 0,1 … N

  11. Example cost(3,2) = min { cost(3,1) + C2(0) = 3 cost(2,1) + C2(1) = 2 + ½ cost(1,1) + C2(2) = 1 + 2/2 cost(0,1) + C2(3) = 0 + 3/2 } = 3/2

  12. Example • Eventually evaluating cost(N,K) gives optimized cost of deploying multicast group • Runtime O(K.N2) and space complexity O(K.N)

  13. Thank You! Questions

More Related