Title: TCOM 540
1TCOM 540
2Agenda
- Quiz
- Review Session 3 assignments
- Access and backbone design
3Access and Backbone
- We already encountered access and backbone in the
first session - To over-simplify, access lines provide local
connectivity, backbone provides long-distance
transport - Balance between access and backbone costs can
vary widely
4Access and Backbone (2)
Backbone
Access
5Access and Backbone (3)
IXC1 Backbone
IXC1 POP
LEC Central Office
IXC2 Backbone
Access lines to IXCs
IXC2 POP
Local Loops
To other LEC COs
6Local Access Costs Are Significant
- Relative cost of local access has been increasing
Source Bureau of Labor Statistics
7Local Access Costs Are Significant (2)
- Situation regarding dedicated local access is
less clear - Accurate information regarding real prices paid
for dedicated access circuits is not easy to find - Probably has been some decrease, at least in
areas where there is local access competition
8Local Access Costs Are Significant (3)
- The Telecommunications Reform Act of 1996 was
supposed (among other things) to foster local
competition - Appears to have been relatively unsuccessful
- Competitive Local Access Carriers (CLECs) have
been decimated by collapse of high-tech stocks - Relatively little facilities-based local
competition (lt 5 of market)
9Local Access Costs Are Significant (4)
- Appears that whatever competition there is for at
least residential local access (high speed) is
coming from satellite and cable, not CLECs - Legislative action Tauzin-Dingell bill?
10Local Access Design Example
Traffic (symmetric)
Costs (symmetric)
11Local Access Design Example (2)
- Use some nodes as concentrators
6
6
6
1526
2
2
2
1225
1327
1629
1225
7
7
7
2112
1929
1929
1629
1
1
1
5
5
5
667
667
667
1328
1328
1328
4
4
4
1985
1985
1483
3
3
3
9650
8660
7659 (OPTIMAL)
12Local Access Design Example (3)
- If traffic grows by 50, links (1,4) and (1,7)
must be doubled
6
6
2
1327
2
1225
1327
7
1929
7
1629
IMPROVEMENT
3258
1
5
1
667
5
1328
667
2656
4
4
1985
1483
3
8865 (OPTIMAL)
3
10616
13Frame Relay (FR)
- Frame Relay Permanent Virtual Circuits (PVCs) use
concepts of Committed Information Rate (CIR) and
Port Speed - Charges for
- Access
- Port (connection to network)
- CIR of PVC does not vary with distance
14Asynchronous Transfer Mode (ATM)
- ATM uses similar concepts to FR
- Constant Bit Rate (CBR)
- Variable Bit Rate non-real-time (VBR-nrt)
- Variable Bit Rate real-time (VBR-rt)
- Available Bit Rate (ABR)
- Unspecified Bit Rate (UBR)
15ATM Definitions
Constant Bit Rate (CBR) - fixed bit rate in which
bits are sent in a steady stream. A CBR is useful
for applications requiring small but near
constant transmission, for example, remote-site
monitoring.
Variable Bit Rate (VBR) - while overall
transmission capacity (bits per second) is
guaranteed, the rate at any given second may not
equal the stated capacity. A VBR of 28 Kb/s, for
example, may have periods where the transmission
rate ranges from 23 to 33 Kb/s.
VBR(rt) means a variable bit rate in real time
transmission VBR(nrt) means a variable bit rate
transmission in near-real-time conditions. Both
are used in voice and videoconferencing, where a
quality channel is reserved but over which data
does not flow evenly.
Unspecified Bit Rate (UBR) - a transmission
service which does not guarantee a fixed
transmission capacity. Any application that can
tolerate delays is ideally satisfied by an UBR.
Source BCE Teleglobe
16ATM Definitions (2)
Available Bit Rate (ABR) -The bit rate left after
the predictive and guaranteed service traffic
(CBR/VBR) is served. In essence, it is simply a
fair share of the remaining bandwidth amongst the
VPs and VCs that have asked for this service.
Source cell-relay.indiana.edu
17Rules of Thumb
- Cannot choose between a leased line and a FR/ATM
design until both are done and costs compared - Availability of FR and ATM just complicates life
- Note that leased lines may have security
advantages
18Rules of Thumb (2)
- If sites vary widely in size (traffic
originated/terminated), choose the bigger sites
as aggregation points - Define weight of a node as sum of all traffic
flowing into and out of it - Design problem then has two parts
- Access gets traffic from small sites to
backbone - Backbone carries traffic between backbone
nodes - Which comes first??
19Traffic Scale
- Depends on relationship of node size to smallest
desired link size - Smallest link size determined by factors such as
packet size/delay - Traffic from access node much smaller than
smallest link we wish to use - - Create access trees to group sites efficiently
- - Capacitated spanning trees
20Traffic Scale (2)
- Traffic from access node comparable to smallest
link - - Low speed link to hub vs. concentrator part
way to hub - - Concentrator placement problem
- Traffic from access node significantly larger
than smallest link - - Multiple lower speed links vs. single higher
speed link
21One Speed, One Center
- Example problem with 20 nodes one of which is
the hub - 1200 bps/node, 9600 bps links, utilization 50
- What algorithm to use?
22One Speed, One Center (2)
- Star design costs 26,358
- Link utilization 12.5
- MST cost 18,730
- Uses multiple (up to 4) links on some legs
- Prim-Dijkstra tree cost 15,930
- Using a 0.3
- Hundreds of designs tested
23One Speed, One Center (3)
- For n nodes, there are nn-2 different spanning
trees - 2018 2.621 1023
- This is a rather large number
- And partitioning does not help much
- Groups of 4 can be done in 2.546 1010 ways
- Not to mention groups of 3 etc., etc., etc.
24Esau-Williams Algorithm
- Esau-Williams creates a Capacitated Minimum
Spanning Tree (CMST) - Given a central node N0 and a set of other nodes
(N1, N2, Nn), and a set of weights (w1, , wn)
for each node, the capacity of a link W, and a
cost matrix Cost(i,j) find a set of trees T1, ,
Tk such that each Ni belongs to exactly one Tj
and each Tj contains N0 and - Si e Tj wi lt W
- Strees S l e Links Cost(end1l, end2l) is a
minimum
25Esau-Williams Algorithm (2)
- Central concept is tradeoff function
- Build good trees
- Each tree starts off as one node
- Component (graph theory meaning) Comp(Ni)
- Tradeoff function is Tr() where
- Tr(Ni) minjCost(Ni,Nj) Cost (Comp(Ni),N0)
- Computes cost of linking to neighbor vs. cost of
going to center
26Esau-Williams Algorithm (2)
- Negative value of Tr means it is preferable to
link to neighbor tree rather than running a link
to the center - Must check that the design is feasible i.e.,
does not exceed link capacity - W(Comp(Ni)) W(Comp(Nj)) lt W
- Algorithm limitation often desirable to
increase link capacities in real life
27Esau-Williams Algorithm (3)
N4
N2
N3
N1
Scanning node N3 1. Examine costs of
these links 2. Compare with cost of this link
N0
28Heaps
- Code for implementing Esau-Williams in Cahn uses
heaps (not essential, but interesting) - A heap is a special type of binary tree
- Binary tree each node has at most 3 edges
- Parent
- Left child
- Right child
29Heaps (2)
- Heap
- Root at level 0 smallest element
- Any node has a value no larger than either of its
children - Heaps are not unique
30Heaps (3)
-1000
-700
-400
-100
-200
0
31Heaps (3)
-1000
-1000
-700
-100
-700
-400
-400
-200
0
-100
-200
0
32Esau-Williams Implementation
- Uses a heap for each node nHeap(i) and a global
heap tHeap - Heap for a node has tradeoff values with respect
to neighbors - Subject to feasibility
33E-W Implementation (2)
- Lets say top of heap for a node is 1000
-1000
-700
-400
-100
-200
inf
34E-W Implementation (3)
- Say this is infeasible change value to inf
inf
But now this is not a heap any more -
bubble down offending node
-700
-400
-100
-200
inf
35E-W Implementation (4)
-700
-700
inf
-400
-200
-400
-100
-200
inf
-100
inf
inf
36E-W Implementation (5)
- Heaps are efficient
- Number of levels in the heap grows as the order
of log2(n) - Where n is total number of elements in the heap
- On average, each level is twice the size of the
level above
37E-W Implementation (6)
- Algorithm
- Top of global heap is node n1, which has the best
tradeoff - Go to heap of N1 and find partner n2 which
appears to have best tradeoff - Remove n2 from node heap
- Find components of n1 and n2
- Tricky bit When we start this loop, all
tradeoffs are correct, but we do not update all
tradeoffs as we go along - Wait until an n1, n2 pair appears, then check
tradeoff - If tradeoff is incorrect, reset and push pair
back into heap - If tradeoff is correct, check if merge of
components is feasible - If feasible, merge
- Update global heap with new n1 tradeoff
38Creditability of E-W
- E-W is heuristic
- Guarantees resulting design is feasible
- Does not guarantee that design is optimal
- Poorer performance as number of sites increases
- Works well for both homogenous and inhomogeneous
traffic
39Esau-Williams Failure Rate
Four sites per line
40Sharmas Algorithm
- E-W sometimes introduces crossings
- We know the design can be improved if crossings
are removed - Sharmas algorithm builds MSTs in wedges from
the central node
41Sharmas Algorithm (2)
- Compute the angle from the central node to each
other node - Sort the angles
- Move clockwise from node with smallest angle
- Create sets of nodes such that adding another
node would put Ssetw(node) gt W - Start next set with that node
42Sharmas Algorithm (3)
- Sharmas algorithm builds Capacitated Minimum
Spanning Trees without crossings - So long as no set has more than half the pie
(i.e., q gt p) - However, Sharma is generally inferior to E-W
- Poorer creditability
- Higher cost
43Multiple Link Speeds
- In real problems, almost always have a variety of
link speeds to choose from - DS0 _at_ 64kbps
- N x DS0
- T1 _at_1.5 Mbps
- T3 _at_ 45 Mbps
- Etc.
44Multiple Link Speeds (2)
- Intuitively, wed like the access tree to use
higher speeds closer to the root, and lower
speeds out towards the edges
45Predecessor Function
- A tree T rooted at node Root can be represented
uniquely by a predecessor function predV V on
the set of vertices - pred(Root) Root
- No other node is its own predecessor
- For any node N there is an ngt0 such that predn(N)
Root
46Ancestors
- Given a tree T and the associated predecessor
function, the ancestors of N are all the nodes N
where - predn(N) N for some n gt 0
47Multispeed CMST Definition
- Given
- A set of nodes N0, N1, , Nn
- A set of weights (w1, , wn) for each node
- A set of link types L1, L2, , Lm
- Capacities W1, W2, , Wm
- A cost matrix C(i,j,k) for the cost of link type
Lk between Ni and Nj
48Multispeed CMST Definition (2)
- Then the multispeed CMST problem is to find the
tree rooted at N0 with link assignments such that - Sancestors(N) w(i) lt WLink(N, pred(N))
- And SLinksc(end1L, end2L, typeL) is minimized
49MSLA Algorithm for Multispeed CMSTs
- Assign each node n the smallest link l to connect
it to root. Compute spare_capacity(n) Wl wn - Create tradeoff heap for n (similar to E-W)
tradeoffs represent savings by connecting site n
to site i rather than to the root - Tradeoffn(i) c(n,i,L) Upgrade (i, wn)
c(n,0,L) - The function Upgrade() computes the cost of
adding wn units to the links that connect i and 0
by following back the predecessors - Add edges as long as tradeoffs are less than or
equal to 0
50Session 5 Assignment
- Read Cahn, Chapter 7
- Do Exercises 5.3 and 6.1