background image

Multicast Flows

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem
• Network Design Problem
• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Lecture Outline

• Introduction

• Integer Programming Formulations
• Cost Problem
• Network Design Problem
• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Introduction (1)

• In traditional networks two basic techniques 

are used for routing:

– Unicast (one-to-one)
– Broadcast (one-to-all)

• Both routing methods are not sufficient when 

information is to be delivered to a relatively large 

group of users, geographically separated and 

with similar interest on content

• This situation has triggered development 

multicast routing defined as one-to-many 

transmission

background image

Introduction (2)

Example application of multicasting:
• IP TV
• Video on Demand (VoD)
• Radio Streaming
• Content Delivery Networks (CDN)
• Distance learning
• Software updates
• Monitoring
• Result distribution (computing systems)

background image

Introduction (3)

• Multicast modeling can use two classical network 

problems:

– Steiner tree problem. Given a set V of points 

(network nodes), interconnect them by a subgraph 

of shortest length (sum of the lengths of all edges)

– Minimum Spanning Tree (MST) problem is a 

subgraph of the orginal graph (network) which is a 

tree (no loops) and connects all the vertices 

together

• The difference between both problems is that, in the 

Steiner tree problem, extra intermediate vertices 

(Steiner vertices) and edges may be added to the 

graph in order to reduce the length of the spanning 

tree

background image

Introduction (4)

Multicasting can be divided into two categories:
• Traditional IP multicast is a method to send 

packets to a group of interested receivers in a 

single transmission. The multicasting is in layer 3 

and IP routers are responsible to create the 

delivery tree. End hosts (receivers) are leafs of 

the tree

• Overlay multicast (P2P multicast, application-

layer multicast) is realized in layer 7. End hosts 

can also upload the stream to other peers

background image

Traditional IP multicast (1)

• Protocol-Independent Multicast (PIM) is a 

family of IP multicast protocols that provide one-to-

many and many-to-many distribution of data over 

an IP network. PIM is protocol-independent, since it 

does not include its own topology discovery 

mechanism, but instead uses routing information 

supplied by other traditional routing protocols (e.g., 

BGP)

• Internet Group Management Protocol (IGMP) is 

a protocol used to manage the membership of IP 

multicast groups. IGMP is used by hosts and 

adjacent multicast routers to establish multicast 

group memberships

background image

Traditional IP multicast (2)

2

1

3

4

11

8

7

6

9

Root 
node

IP Router

Multicast 
tree

12

5

10

1

End host 
(receiver
)

background image

P2P Multicast

1

2

3

4

5

6

7

background image

Lecture Outline

• Introduction

• Integer Programming Formulations

• Cost Problem
• Network Design Problem
• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Formulations

• Canonical Formulation
• Flow Formulation
• Level  Formulation
• Candidate Tree Formulation

background image

Canonical Formulation (1)

• Multicast is modeled using Steiner tree problem
• For each edge ethere is a variable x

e

 indicating 

whether e is in the Steiner tree (x

e

 = 1) or not (x

e

 

= 0)

• The formulation uses cuts of the original network 

graph G=(V,E), where V denotes set of nodes and 

E set of links

• Set T denotes set of terminals (receivers)

(W) denotes the cut induced by WV, i.e., the set 

of edges with the source node in W and the 

destination node in its complement (W)

background image

Canonical Formulation (2)

2

1

3

4

11

8

7

6

9

Root 
node

Terminal 
(receiver)

Multicast 
tree

8

9

12

5

10

1

7

Cut

background image

Canonical Formulation (3)

sets

network nodes

E

links (directed edges)

T

terminals (receivers)

constants

(W)  cut induced by WV, including edges with the 

source node in W and end node in its 

complement 

(W)

s

root node of multicast tree

  

volume (bandwidth requirement) of multicast

c

e

    capacity of link e

background image

Canonical Formulation (4)

variables
x

e

 

= 1, if multicast tree uses link e; 0, otherwise 

(binary)

constraints
x(

(W))  1,   for all WVsW, (W) 0

x(

(W)) = 

e

(W

x

e

,

x

e

h

 

 c

e

    e = 1,2,…,E.

background image

Flow Formulation (1)

• Node-Link formulation developed for unicast flows 

can be modified to be used in multicast flows

• For easy of reference this formulation is named 

flow

• The flow to each receiver of the multicasting is 

modeled as unicast path

• Additional variable associated with each link is in 

the model to assure that the flow goes through 

the link at most one time

background image

Flow Formulation (2)

2

1

3

4

11

8

7

6

9

Root 
node

Receiver 
(leaf) node

7

Unicast 
path
Multicast 
tree

8

9

12

5

10

1

background image

Flow Formulation (3)

indices
v = 1,2,…,

network nodes

e = 1,2,…,Elinks
k = 1,2,…,K(terminals) receivers
constants
a

ev

   = 1, if link originates at node v; 0, otherwise 

b

ev

   = 1, if link terminates in node v; 0, 

otherwise

s

root node of multicast tree

  

volume (bandwidth requirement) of multicast

c

e

    capacity of link e

background image

Flow Formulation (4)

variables
x

ek

 

= 1, if multicast flow to receiver uses link e; 0, 

otherwise (binary)

x

e

 

= 1, if multicast tree uses link e; 0, otherwise 

(binary)

constraints

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = 1,   if v = s

  

v = 1,2,…,V  

 

k = 

1,2,…,K

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = –1,   if v = k

   

v = 1,2,…,V  

 

k = 1,2,

…,K

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = 0,   if v  s,k

   

v = 1,2,…,V  k = 1,2,

…,K

x

ek 

 x

e

,   e = 1,2,…,E  

 

k = 1,2,…,K

x

e

h

 

 c

e

,   e = 1,2,…,E.

background image

Level Formulation (1)

• We assume that the root of the tree is located on 

level 1 

• All children of the root (nodes that have a direct 

link from the root) are located on level 2

• If a father node of v is on level l, then v is located on 

level (l + 1)

• For easy of reference this formulation is named level
• Variable x

wvl

 is 1 if the link (w,v) is used in multicast 

tree and is located on level l of the tree t

• In the literature this formulation is also called 

Layered Graphs (Gouveia et al.)

background image

Level Formulation (2)

2

1

3

4

11

8

7

6

9

Root 
node

Receiver 
(leaf) node

Multicast 
tree

8

9

12

5

10

1

Level 1 
node

Level 2 
node

7

Level 3 
node

background image

Level Formulation (3)

indices
v,w,b = 1,2,…,V  network nodes
k = 1,2,…,K

receivers

l = 1,2,…,L

levels (parent nodes)

constants
s

root node of multicast tree

e(w,v)

=1, if there is a direct link (w,v) in 

graph; 0, otherwise

  

volume (bandwidth requirement) of multicast

c

wv

    capacity of link (w,v)

background image

Level Formulation (4)

variables
x

wvl

  = 1, if the link (w,v) is used in multicast tree 

and is  located on level l of the tree; 0, 
otherwise (binary)

x

wv

 

= 1, if multicast tree uses link (w,v)

otherwise 

(binary)

background image

Level Formulation (5)

constraints

w:e(w,v)=1 

l

 x

wvl

 = 0,   v = s   v = 1,2,…,V

w:e(w,k)=1 

l

 x

wkl

 = 1,    k = 1,2,…,K

v:e(w,v)=1 

x

wv1

 = 0,   w  s   w = 1,2,…,V

x

wv(l+1)

  

b

 x

bwl

,   e(w,v) = 1  w = 1,2,…,V v = 1,2,

…,V l = 1,2,…,L - 1

l

x

wvl

  x

wv

,  e(w,v) = 1   w = 1,2,…,V  v = 1,2,…,V

x

wv

  

l

x

wvl

e(w,v) = 1 w = 1,2,…,V  v = 1,2,…,V

x

wv

h

 

 c

wv

,  e(w,v) = 1   w = 1,2,…,V  v = 1,2,…,V.

background image

Candidate Tree Formulation 

(1)

• Analogy to Link-Path unicast formulation
• There are candidate trees (topologies) with the 

same root node and connecting all terminals 
(receivers)

background image

Candidate Tree Formulation 

(2)

2

1

4

11

8

7

6

9

Root 
node

Terminal 
(receiver)

Candidate 
tree

8

9

12

5

10

7

Candidate 
tree

Candidate 
tree

1

3

background image

Candidate Tree Formulation 

(3)

indices
e = 1,2,…,Elinks
p = 1,2,…,Pcandidate trees
constants

ep

= 1, if link e belongs to tree p; 0, otherwise

  

volume (bandwidth requirement) of multicast

c

e

    capacity of link e

background image

Candidate Tree Formulation 

(4)

variables
x

p

 

flow allocated to tree p (continuous non-

negative)

constraints

x

p

 = h

ep

x

p

  c

e

,   e = 1,2,…,E.

background image

Lecture Outline

• Introduction
• Integer Programming Formulations

• Cost Problem

• Network Design Problem
• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Cost Problem (1)

• FA (Flow Allocation) problem
• The stream is split and multiple trees are used 

to deliver the content to receivers

• Each tree has the same root
• Objective is to minimize overall cost of the 

streaming

• Level limit to improve QoS and reliability
• Level formulation

background image

Cost Problem (2)

Given: network topology, link capacity, location of 

root, set of receivers, volume of each trees, level 
limit, link cost

Minimize: cost

Over: multicast routing

background image

Cost Problem (3)

indices
v,w,b = 1,2,…,V  network nodes
k = 1,2,…,K

receivers

t = 1,2,…,T

trees

l = 1,2,…,L

levels (parent nodes)

background image

Cost Problem (4)

constants
s

root node of multicast tree

e(w,v)

=1, if there is a direct link (w,v) in 

graph; 0, otherwise

h

t

   

volume (bandwidth requirement) of tree t

c

wv

    capacity of link (w,v)

wv

 

routing cost of link (w,v)

background image

Cost Problem (5)

variables
x

wvtl

  = 1, if the link (w,v) is used in multicast tree t 

and is  located on level l of the tree; 0, 

otherwise (binary)

x

wvt

  = 1, if multicast tree t uses link (w,v)

otherwise 

(binary)

objective
minimize F = 

x

wvt 

h

wv

 

background image

Cost Problem (6)

constraints

w:e(w,v)=1 

l

 x

wvtl

 = 0,

v = s   v = 1,2,…,V   t = 1,2,

…,T

w:e(w,k)=1 

l

 x

wktl

 = 1,     k = 1,2,…,K   t = 1,2,…,T

v:e(w,v)=1 

x

wvt1

 = 0,   

w  s   w = 1,2,…,V   

t = 1,2,…,T

x

wvt(l+1)

  

b

 x

bwtl

,   

e(w,v) = 1 w = 1,2,…,

v = 1,2,…,V   l = 1,2,…,L - 1   

t = 1,2,…,T

l

x

wvtl

  x

wvt

,  e(w,v) = 1   

w = 1,2,…,V  v = 1,2,

…,V   

t = 1,2,…,T

x

wvt

  

l

x

wvtl

e(w,v) = 1 

w = 1,2,…,V  v = 1,2,

…,V   

t = 1,2,…,T

x

wvt

h

 c

wv

,  e(w,v) = 1   w = 1,2,…,  v = 1,2,…,V.

background image

Optimization

• The problem is linear, integer (binary) and 

NP-complete (equivalent to Steiner tree 
problem)

• To find optimal solutions solvers like CPLEX and 

GuRoBi can be used

• Heuristics can be used, e.g., construction 

algorithms, greedy approach, evolutionary 
algorithm, etc.

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem

• Network Design Problem

• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Network Design Problem (1)

• CFA (Capacity and Flow Allocation) problem for 

multicast flows

• A number of multicast demands, each is 

defined by the root node, set of receivers and 
volume

• Modular links
• Flow formulation of multicast flows

background image

Network Design Problem (2)

Given: network topology, link capacity, multicast 

demands (root, receivers and volume)

Minimize: network cost

Over: multicast routing, link allocation

background image

Network Design Problem (3)

indices
v = 1,2,…,

network nodes

e = 1,2,…,Elinks
d = 1,2,…,D

multicast demands (multicast 

group)

k = 1,2,…,K

d

receivers in multicast demand d

background image

Network Design Problem (4)

constants
a

ev

   = 1, if link originates at node v; 0, otherwise 

b

ev

   = 1, if link terminates in node v; 0, 

otherwise

s

d

root node of multicast demand d

h

d

    volume of multicast demand d

e

 

cost of one capacity module on link e

M 

size of the link capacity module

background image

Network Design Problem (5)

variables
x

edk

  = 1, if multicast flow of multicast demand d to 

receiver  uses link e; 0, otherwise (binary)

x

ed

 

= 1, if multicast demand d uses link e; 0, 

otherwise (binary)

y

e

capacity of link expressed in the number of 
modules  (non-negative integer)

objective
minimize F = 

e

y

e

background image

Network Design Problem (6)

constraints

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = 1,   

if v = s

d  

   v = 1,2,…,V    

d = 1,2,…,D

   

k = 1,2,…,K

d

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = –1,    if v = k

   

v = 1,2,…,V  

 

d = 1,2,…,D

   

k = 1,2,…,K

d

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = 0,   

if v  s

d

,k

   

v = 1,2,…,

d = 1,2,…,D

   

k = 1,2,…,K

d

x

edk 

 x

ed

,    e = 1,2,…,E   d = 1,2,…,D   

k = 1,2,…,K

d

x

ed

h

 My

e

,    e = 1,2,…,E.

background image

Optimization

• The problem is linear, integer, and NP-

complete (equivalent to Steiner tree problem)

• To find optimal solutions solvers like CPLEX and 

GuRoBi can be used

• Heuristics can be used

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem
• Network Design Problem

• Maximum Delay Problem

• Throughput Problem
• Multicast Packing Problem
• Concluding Remarks

background image

Maxium Delay Problem (1)

• FA (Flow Allocation) problem
• Objective is to minimize the maximum (worst) 

delay to receiver (QoS requirement)

• Flow formulation, since the level formulation 

does not include the path to receiver

background image

Maxium Delay Problem (2)

Given: network topology, link capacity, location of 

root, set of receivers, tree volume, link delays

Minimize: maximum delay

Over: multicast routing

background image

Maxium Delay Problem (3)

indices
v = 1,2,…,

network nodes

e = 1,2,…,Elinks
k = 1,2,…,Kreceivers
constants
a

ev

   = 1, if link originates at node v; 0, otherwise 

b

ev

   = 1, if link terminates in node v; 0, 

otherwise

s

root node of multicast tree

background image

Maxium Delay Problem (4)

constants
  

volume of multicast transmission t

e

 

delay of link e

c

e

 

capacity of link e

variables
x

ek

 

= 1, if multicast flow to receiver uses link e; 

0,  otherwise (binary)

x

e

 

= 1, if multicast tree uses link e; 0, otherwise 

(binary)

x

maximum delay (non-negative continuous)

background image

Maxium Delay Problem (5)

objective
minimize x
constraints

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = 1,   

if v = s

     

v = 1,2,…,V  

 

k = 1,2,…,K

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = –1,

if v = k

    

v = 1,2,…,V  

 

k = 1,2,…,K

e

 a

ev

x

ek

 – 

e

 b

ev

x

ek

 = 0, if v  s,k

    

v = 1,2,…,V  

k = 1,2,…,K

e

 

e

x

ek 

 x,   

k = 1,2,…,K

x

ek 

 x

e

,   

e = 1,2,…,E  

 

k = 1,2,…,K

x

e

h

 

 c

e

,    e = 1,2,…,E.

background image

Optimization

• The problem is linear, integer, and NP-

complete (equivalent to Steiner tree problem)

• To find optimal solutions solvers like CPLEX and 

GuRoBi can be used

• Heuristics can be used

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem
• Network Design Problem
• Maximum Delay Problem

• Throughput Problem

• Multicast Packing Problem
• Concluding Remarks

background image

Throughput Problem (1)

• FA (Flow Allocation) problem
• Objective is to maximize the throughput 

(streaming rate)

• Multiple trees are used for streaming
• Level limit to improve QoS and reliability
• Level formulation of multicast flows

background image

Throughput Problem (2)

Given: network topology, link capacity, location of 

root, set of receivers, number of trees

Maximize: throughput

Over: multicast routing

background image

Throughput Problem (3)

indices
v,w,b = 1,2,…,V  network nodes
k = 1,2,…,K

receivers

t = 1,2,…,T

trees

l = 1,2,…,L

levels (parent nodes)

background image

Throughput Problem (4)

constants
s

root node of multicast tree

e(w,v)

=1, if there is a direct link (w,v) in 

graph; 0, otherwise

c

wv

    capacity of link (w,v)

M

large number

background image

Throughput Problem (5)

variables
x

wvtl

  streaming rate on an overlay link (w,v) (no 

other 

peer nodes in between) in multicast tree 

t and w is 

located on level l of tree t

(continuous, non-

negative) 

x

wvt

  = 1, if multicast tree t uses link (w,v)

otherwise 

(binary)

q

t

   

throughput (bandwidth requirement) of tree 
(continuous, non-negative)

objective
maximize F = 

q

t

background image

Throughput Problem (6)

constraints

w:e(w,v)=1 

l

 x

wvtl

 = 0,

v = s   v = 1,2,…,V   t = 1,2,

…,T

w:e(w,k)=1 

l

 x

wktl

 = q

t

,     k = 1,2,…,K   t = 1,2,…,T

v:e(w,v)=1 

x

wvt1

 = 0,   

w  s   w = 1,2,…,V   

t = 1,2,…,T

x

wvt(l+1)

  

b

 x

bwtl

,   

e(w,v) =1   w = 1,2,…,V 

v = 1,2,…,V   l = 1,2,…,L - 1   

t = 1,2,…,T

l

x

wvtl

  Mx

wvt

,  

e(w,v) = 1  w = 1,2,…,V 

v = 1,2,…,V   t = 1,2,…,T

x

wvt

  

l

x

wvtl

e(w,v) = 1 w = 1,2,…,V 

v = 1,2,…,V   t = 1,2,…,T

t

x

wvtl 

 c

wv

,  e(w,v) = 1   w = 1,2,…,  v = 1,2,…,V.

background image

Optimization

• The problem is linear, integer, and NP-

complete (equivalent to Steiner tree problem)

• To find optimal solutions solvers like CPLEX and 

GuRoBi can be used

• Heuristics can be used

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem
• Network Design Problem
• Maximum Delay Problem
• Throughput Problem

• Multicast Packing Problem

• Concluding Remarks

background image

Multicast Packing Problem 

(1)

• FA (Flow Allocation) problem
• Objective is to minimize maximum link 

congestion

• Classical problem related to multicasting 
• Flow formulation is used
• Level formulation can also be used

background image

Multicast Packing Problem 

(2)

Given: network topology, link capacity, location of 

root, set of receivers, number of trees

Minimize: maximum link congestion

Over: multicast routing

background image

Multicast Packing Problem 

(3)

indices
v = 1,2,…,

network nodes

e = 1,2,…,Elinks
d = 1,2,…,D

multicast demands (multicast 

group)

k = 1,2,…,K

d

receivers in multicast demand d

constants
a

ev

   = 1, if link originates at node v; 0, otherwise 

b

ev

   = 1, if link terminates in node v; 0, 

otherwise

background image

Multicast Packing Problem 

(4)

constants
s

d

root node of multicast demand d

h

d

    volume of multicast demand d

M 

size of the link capacity module

variables
x

edk

  = 1, if multicast flow of multicast demand d to 

receiver  uses link e; 0, otherwise (binary)

x

ed

 

= 1, if multicast demand d uses link e; 0, 

otherwise 

(binary)

maximum link congestion

background image

Multicast Packing Problem 

(5)

objective
minimize 

constraints

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = 1,   

if v = s

d  

   v = 1,2,…,V    

d = 1,2,…,D

   

k = 1,2,…,K

d

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = –1,   

if v = k

   

v = 1,2,…,V  

 

d = 1,2,…,D

   

k = 1,2,…,K

d

e

 a

ev

x

edk

 – 

e

 b

ev

x

edk

 = 0,   

if v  s

d

,k

   

v = 1,2,…,

d = 1,2,…,D

   

k = 1,2,…,K

d

x

edk 

 x

ed

,    e = 1,2,…,E   d = 1,2,…,D   

k = 1,2,…,K

d

x

ed

h

 

,   

e = 1,2,…,E.

background image

Optimization

• The problem is linear, integer, and NP-

complete

• To find optimal solutions solvers like CPLEX and 

GuRoBi can be used

• Heuristics can be used

background image

Lecture Outline

• Introduction
• Integer Programming Formulations
• Cost Problem
• Network Design Problem
• Maximum Delay Problem
• Throughput Problem
• Multicast Packing Problem

• Concluding Remarks

background image

Concluding Remarks

• Due to growing popularity of various streaming 

services in the Internet, the multicast 

transmission has been gaining much attention 

recently

• Modeling of multicasting makes use of traditional 

unicast multicommodity flows, however new 

models can be proposed

• Most of problems formulated in the context of 

unicast flows can be also formulated for 

multicast flows

background image

Further Reading

• Minoli D. , IP Multicast with Applications to IPTV and Mobile DVB-H

John Wiley & Sons, 2008

• http://www.cisco.com/en/US/tech/tk828/technologies_white_paper09

186a0080092942.shtml

• Koch T. and  Martin A., Solving Steiner tree problems in graphs to 

optimality, Networks, vol.32, no. 3, 1998, pp. 207-232 

• Oliveira C.A.S., Pardalos P.M. and Resende M.G.C., Optimization 

problems in multicast tree construction, Handbook of Optimization in 

Telecommunications, Springer, 2006

• Wu C. and Li B., Optimal Rate Allocation in Overlay Content 

Distribution, in Proc. of the 6th Networking Conf., 2007, pp. 678-690

• Allen J., Kubat P., Reliable Video Broadcast via Protected Steiner 

Trees, IEEE Comm. Magazine, Vol. 48, No. 2, 2010, pp. 70-76

• Gouveia L., Luidi Simonetti L., Uchoa E., Modelling Hop-Constrained 

and Diameter-Constrained Minimum Spanning Tree Problems as 

Steiner Tree Problems over Layered Graphs, Mathematical 

Programming, 2009


Document Outline