Download presentation
Presentation is loading. Please wait.
Published byGodfrey Joseph Modified over 9 years ago
1
1 TCOM 541 Session 1
2
2 Agenda Overview Recap TCOM540 material needed for this course
3
3 Introduction Text: Wide Area Network Design by Robert S. Cahn, Publ. Morgan Kaufmann, ISBN 1- 55860-458-8 Other supplementary readings Web site http://teal.gmu.edu/ececourses/tcom540/TCOM540541.htm
4
4 Introduction (2) Approximate schedule for TCOM 541 –Week 1 – Introduction and recap TCOM 540 material –Week 2 – Automated design tools, mesh network design –Week 3 – Augmenting and merging networks –Week 4 – Buying services vs. buying equipment and circuits –Weeks 5 and 6 – Practical vs. theoretical considerations –Week 7 – Review –Week 8 – TCOM 541 final
5
5 Introduction (3) Evaluation weightings –Homework 25% –Term paper/project 25% –Finals 25% –Class Participation 25% Quizzes approximately every two weeks
6
6 Network Optimization … Is generally not possible … –Conflicting objectives –Combinatorial explosion defeats exact solutions –Inadequate /inaccurate information –Rate of change, especially for data networks Generally have to settle for a “pretty good” design
7
7 Conflicting Objectives Cost Performance Reliability Trade-offs are inevitable!
8
8 540 Recap Topics Queuing and blocking Graph theory Minimum Spanning Trees Shortest Path Trees Tours Traffic Models Access and Backbone
9
9 Voice Traffic Distribution and Measurement Traffic peaks around 11 am and 2 pm Assume 20% of traffic in “busy hour” (Voice) traffic is measured in Erlangs –Erlangs = arrival rate/departure rate –E.g., if calls arrive at 2 per minute and hold for 3 minutes, then: Arrival rate = 2 per minute Departure rate = 0.3333 per minute Traffic = 2/(0.3333) = 6 Erlangs
10
10 Erlang Recursion Let B(E, n) = blocking when E Erlangs of traffic offered to n lines Then B(E, n) = E*B(E, n-1)/(E*B(E, n-1) + n) This is generally the easiest way to calculate blocking. In real life there is software to do this.
11
11 Example Erlang Blocking Calculation Assume 5 lines, 3 Erlangs of traffic. Then: B(3,0) = 1 B(3,1) = 3*B(3,0)/(3*B(3,0)+1) = 3/4 B(3,2) = 3*B(3,1)/(3*B(3,1)+2) = 2.25/(2.25+2) = 0.5294 B(3,3) = 3*B(3,2)/(3*B(3,2)+3) = 1.5882/(1.5882+3) = 0.3461 B(3,4) = 3*B(3,3)/(3*B(3,3)+4) = 1.0383/(1.0383+4) = 0.2061 B(3,5) = 3*B(3,4)/(3*B(3,4)+5) = 0.6183/(0.6183+5) = 0.1101
12
12 Queuing Theory (1) Needed to understand/calculate link delays Store-and-forward Service time = packet size/link speed Delay determined by packet size distribution and packet arrival distribution
13
13 Queuing Theory (2) Service time is N/S, where: –N = number of bits/packet –S = link speed in bits/sec Assume interarrival and packet length PDFs are of form c*e (-c*x) Called an M/M/1 queue
14
14 Define = ratio of arrival rate ( ) to service rate ( ) Average waiting time Tw = ( Average service time Ts = 1/ Average total time = Ts + Tw = (1/ Queuing Theory (3)
15
15 Set Theory A set is a collection of (mathematical) objects –E.g., {A, B, C} –E.g., {1,2,3, …, 99} s S means “s is a member of S” s ~ S means “s is not a member of S” T is a subset of S if every member of T is also a member of S –It’s a proper subset if there is at least one member of S that is not a member of T
16
16 Set Theory (2) The set of all subsets of S is denoted as 2 s If S has n members, then 2 s has 2 n members Union of two sets is the set of all their members Intersection of two sets is the set of common members
17
17 Set Theory (3) Intersection Union
18
18 Set Theory (4) Cartesian Product of two sets, S and T, is the set SxT –Elements are (s,t) where s S and t T The graph of a function f:S T is the subset of SxT that consists of {(s,t) f(s) = t)}
19
19 Graphs A graph consists of a set of vertices (or nodes) V and a set of edges E A D I Z C B
20
20 Some Definitions for Graphs Each edge connects two vertices (may be same – then it’s called a loop) Two edges are called parallel if they connect the same vertices A graph is simple if it has no loops or parallel edges The degree of a vertex is the number of edges it has Two nodes are adjacent if there is an edge that has them as endpoints
21
21 Some Definitions for Graphs (2) A path between vertices v 1 and v n is a set of edges (e 1, e 2, …, e n ) such that e i and e i+1 have a common endpoint, and v 1 is an endpoint of e 1 and v n is an endpoint of e n A cycle is a path from a vertex to itself A graph is connected if for any two nodes there is a path between them
22
22 A Small (But Not Simple) Graph A D I Z C B Parallel edges Loop Node degree 3 Adjacent nodes (DZ), (ZB), (BI), (ID) is a cycle. This graph is connected
23
23 Definitions (3) A subgraph G* of a graph G with vertices V and edges E is a pair (V*, E*) where –V* is a subset of V –E* is a subset of E –If an edge belongs to E* then both its endpoints must belong to V* A component of a graph is a maximal connected subgraph Two graphs G1, G2 are isomorphic if there is a 1-to-1 mapping f:V1 V2 such that (v1, v2) is a member of E1 iff (f(v1), f(v2)) is a member of E2
24
24 Another Graph A D I Z C N K M J e1 e2 e3 e4 e5 e6 e7 e8 ( (D, Z, B, M, J), (e2, e8, e4)) is a subgraph It is not a component. The two right-hand components are isomorphic X Q R H e11 e99 P e15 e16 e12 B e13 e9
25
25 Definitions (4) A tree is a connected simple graph without cycles A star is a tree in which exactly one node has degree >1 A chain is a tree in which no node has degree greater than 2 Define N(G) = number of nodes in G
26
26 Tree, Star, Chain
27
27 V&H Coordinates V&H coordinate grid covers U.S. Approx 10,000 x 10,000 Distance between points (v1, h1) and (v2, h2) for tariff calculations is sometimes defined as: A simpler formulation is: Note V&H assumes earth is flat … Dist = 1+int{[(dv 2 +9)/10+(dh 2 +9 )/10] 0.5 } Where dv = v1-v2 and dh = h1-h2 Dist = 1 + int[(dv 2 +dh 2 )/10]
28
28 Weighted Graph A weighted graph is a graph G where each edge e has a weight w(e) –Denoted by (G, w) –Generally w(e) > 0 –Weight of a subgraph G* is sum of weights of edges in G* Real networks are weighted graphs –Weight may be cost, delay, or other parameter
29
29 Minimum Spanning Tree A Minimum Spanning Tree (MST) is a connected subgraph with minimum weight
30
30 Kruskal’s Algorithm for MST Is G connected? yes no stop Sort edges in ascending order of weight Mark each node as separate component Loop on edges Let e be candidate edge If ends of e are in different components, accept e Stop when number of edges = N(G) - 1
31
31 Prim’s Algorithm for MST Start with all nodes unconnected and Label = infinity Select root node Scan neighbors, update Labels = min edge to tree Add closest neighbor (smallest Label) Stop when N(G) –1 added
32
32 Limitations of MSTs No redundancy –One link failure separates the network into two disconnected components –Big problem for large networks May involve very long paths in large networks
33
33 MSTs Do Not Scale Number of hops between nodes n1 and n2 is the number of edges in the path chosen by the routing algorithm Average number of hops is traffic-weighted = ( n1,n2 traffic(n1,n2)*hops(n1,n2))/ n1,n2 traffic(n1,n2)
34
34 Definitions For a weighted graph (G,w), and nodes n1 and n2, the shortest path P from n1 to n2 minimizes e P w(e) The shortest-path tree (SPT) rooted at node n1 is a tree T such that for any other node n2 the path from n1 to n2 is a shortest path
35
35 Dijkstra’s Algorithm for Shortest-Path Trees 1.Mark each node unscanned, assign label infinity 2.Set label of root to 0, and predecessor to self 3.Loop through nodes Find node n with smallest label Mark as scanned Examine all adjacent nodes m, see if distance through n < label If so, update label, update predecessor(m) = n Note that a link may drop out of the tree if a shorter route is found
36
36 Characteristics of SPTs In a complete graph, SPT is a star* –High performance and reliability –But likely implies low link utilization, high expense * Unless triangle inequality does not hold
37
37 Prim-Dijkstra Trees We play with the definition of the Label Prim’s Label = min neighbors dist(node, neighbor) Dijkstra’s Label = min neighbors [dist(root, neighbor) + dist(neighbor, node)] Prim-Dijkstra Label = = min neighbors [ *dist(root, neighbor) + dist(neighbor, node)] Now is a parameter that we choose, between 0 and 1
38
38 Varying Alpha
39
39 Tours A tree design may be unreliable A tour adds one link to significantly increase reliability A tour of a set of vertices (v1, v2, …, vn) is a set of n edges such that each vertex has degree 2 and the graph is connected
40
40 Tours (2) Leads to the (in)famous Traveling Salesman Problem (TSP) –Given a set of vertices (v1, v2, …, vn) and a distance function d(vi,vj) between vertices, find the tour T(vt i ) such that d(vt i,t i+1 ) is minimized
41
41 Reliability of a Tree Reliability = probability that functioning nodes are connected by working links For a tree, reliability = (1-p) n-1, where –p = probability of a link failing –n = number of nodes P(failure) = 1- reliability = 1 - (1-p) n-1 (n-1)*p
42
42 Reliability of a Ring A ring can tolerate one failure For a ring, P(failure) = 1- (1-p) n – n*p*(1-p) n-1 0.5*n*(n-1)*p 2 if p is small X
43
43 A Simple Algorithm for Building a Tour Denote a root node, set current node = root Loop through nodes –Find closest node (not in tour) to current node –Add an edge to it –Reset current node to be this node just added Create an edge between last node and root
44
44 Creditable Solutions and Creditability Tests A solution is creditable if it is a local optimum –I.e., it is not creditable if, by some method, we can manipulate the solution to a better one Cahn uses a crossing test to determine creditability of the simple tour-building algorithm –It does not do well ….
45
45 A Better Tour-Building Algorithm Look for closest neighbor to any node in the partial tour (not just the last one added) Insert between two adjacent nodes in tour in “best” place –Minimum increase in partial tour length Also “farthest neighbor” heuristic –Avoids stranding distant nodes
46
46 A Difficulty TSP tours do not scale –Similar to trees in this respect –Average number of hops increases O(n)
47
47 2-Connectivity A vertex v of a connected graph G = (V, E) is an articulation point if removing the vertex and all attached edges disconnects the graph If a connected graph has no articulation points, it is said to be 2-connected
48
48 Connecting 2-Connected Graphs Suppose G1 = (V1, E1) and G2 = (V2, E2) are two disjoint 2-connected graphs. Take v1 and v2 from G1 and v3 and v4 from G2 and add the edges (v1,v3) and (v2,v4). The resulting graph is 2-connected
49
49 Connecting 2-Connected Graphs Suppose G1 = (V1, E1) and G2 = (V2, E2) are two disjoint 2-connected graphs. Take v1 and v2 from G1 and v3 and v4 from G2 and add the edges (v1,v3) and (v2,v4). The resulting graph is 2-connected Roughly, if you connect 2 pairs of vertices from two 2-connected graphs, the resulting graph is 2-connected
50
50 Heuristic Based on Partitioning Divide set of nodes into multiple “clusters” Use nearest-neighbor algorithm to build TSP tour on each cluster Connect clusters, ensuring no connectors have a common vertex Resulting graph is 2-connected
51
51 Traffic Tables Matrix vs. List From\ToAB…Z AT AA T AB T AZ BT BA T BB T BZ … ZT ZA T ZB T ZZ FromToTraf. AAT AA ABT AB ……… ZZT ZZ
52
52 Traffic Models Topics: –Uniform –Random –Population power –Modified population power –Normalized model –Asymmetric model
53
53 Uniform Traffic from site a to site b is T(a,b) = C Not realistic for most situations
54
54 Random T(a,b) = R –Where R is a random number generated on a defined interval [T min, T max ] This simple model is useful in some applications –WWW-type traffic –As one component of a more complex model
55
55 Population Power If the sites a and b have populations P a and P b, and are distance D a,b apart, then T(a,b) = *(p a *p b ) /D a,b where , , are suitably-chosen constants
56
56 Modified Population Power Large, close sites can dominate the simple population power model Fails if D = 0 Use offsets D off and p off T(a,b) = *(p a *p b + p off ) /(D a,b + D off )
57
57 Normalization Choose so as to give the desired level of traffic on the network by matching –Total traffic on network –Traffic from each site (row normalization) –Traffic to and from each site (row and column normalization) Must have traffic in = traffic out for this to be possible! Algorithmic iterative approach can be used
58
58 Asymmetric Traffic Models considered so far are symmetric T(a,b) = T(b,a) Real traffic is often not symmetric –E.g., WWW access Introduce concept of Levels –Each site is assigned to a level L i, i=1, …, n Matrix of multipliers M(L i, L j )
59
59 Asymmetric Traffic (2) If M = ( ) then traffic from a level 1 node to a level 2 node will be one-third of the traffic from a level 2 node to a level 1 node Revised model is then T(a,b) = *M(L a, L b )*(p a *p b + p off ) /(D a,b +D off ) 0 1 3 0
60
60 More Complex Models Introduce a random element into the previous model Superimpose multiple components representing different types of traffic Redefine the distance function –“Organizational distance”
61
61 Tariff Structures Fundamental distinction –Fixed cost per month Private lines, PVCs, some internet access Cost may also depend on bandwidth, distance, “quality”, … –Usage based Switched pipes – e.g., switched voice –Price may also depend on distance, bandwidth, … Data – per packet
62
62 Tariff Structures (2) Additional fees may include –Initiation charge –Cancellation charge –Features charges –Access charges
63
63 Tariff Structures (3) Tariff structures are not simple –Depend on level of competition, administrative and other boundaries, other factors –Best deals are not tariffed Usually competed/negotiated by large customers
64
64 Tariff Structures (4) In some cases (especially international), tariffs may not exist, or may be for half- circuit only –I.e., to a notional mid-ocean meeting point Commercial tariff services (e.g., Valucom, CCMI) are not cheap
65
65 Linear Distance-Based Charges Underlying tariff structure for many dedicated circuits and PVCs is distance-based, e.g., Cost = a + b*distance Rates for individual location-pairs may vary –Carrier may have excess capacity on certain routes => may be cheaper –Carrier may have to buy capacity from others => may be more expensive
66
66 Piecewise-Linear Charges Each segment is linear Cost/month Distance
67
67 Step Function Distance Cost/month
68
68 Cost Generators Cahn provides 5 cost generators –1. Linear (TARIFF-UNIVERSAL) –2. Piecewise linear (2 pieces) (TARIFF- UNIVERSAL) –3. Piecewise linear (limited international) (TARIFF-NATIONAL) –4. International half-circuit (TARIFF-HCKT) –5. Exceptions (TARIFF-OVERRIDE)
69
69 Access and Backbone To over-simplify, access lines provide local connectivity, backbone provides long- distance transport Balance between access and backbone costs can vary widely
70
70 Access and Backbone (2) Access Backbone
71
71 Access and Backbone (3) IXC1 POP IXC2 POP LEC Central Office Local Loops IXC1 Backbone IXC2 Backbone Access lines to IXCs To other LEC COs
72
72 Esau-Williams Algorithm Esau-Williams creates a Capacitated Minimum Spanning Tree (CMST) Given a central node N 0 and a set of other nodes (N 1, N 2, … N n ), and a set of weights (w 1, …, w n ) 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 N i belongs to exactly one Tj and each Tj contains N 0 and i Tj w i < W trees l Links Cost(end1 l, end2 l ) is a minimum
73
73 Esau-Williams Algorithm (2) Central concept is tradeoff function Build “good” trees Each tree starts off as one node –Component (graph theory meaning) Comp(N i ) Tradeoff function is Tr() where Tr(N i ) = min j [Cost(N i,N j )] –Cost (Comp(N i ),N 0 ) Computes cost of linking to neighbor vs. cost of going to center
74
74 Esau-Williams Algorithm (3) 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(N i )) +W(Comp(N j )) < W –Algorithm limitation – often desirable to increase link capacities in real life
75
75 Multiple Link Speeds In real problems, almost always have a variety of link speeds to choose from –DS0 @ 64kbps –N x DS0 –T1 @1.5 Mbps –T3 @ 45 Mbps –Etc.
76
76 Multiple Link Speeds (2) Intuitively, we’d like the access tree to use higher speeds closer to the root, and lower speeds out towards the edges
77
77 Predecessor Function A tree T rooted at node Root can be represented uniquely by a predecessor function pred:V V on the set of vertices: –pred(Root) = Root –No other node is its own predecessor –For any node N there is an n>0 such that pred n (N) = Root
78
78 Ancestors Given a tree T and the associated predecessor function, the ancestors of N are all the nodes N* where pred n (N*) = N for some n > 0
79
79 Multispeed CMST Definition Given: –A set of nodes N 0, N 1, …, N n –A set of weights (w 1, …, wn) for each node –A set of link types L 1, L 2, …, L m –Capacities W 1, W 2, …, W m –A cost matrix C(i,j,k) for the cost of link type L k between N i and N j
80
80 Multispeed CMST Definition (2) Then the multispeed CMST problem is to find the tree rooted at N 0 with link assignments such that ancestors(N) w(i) < W Link(N, pred(N)) And Links c(end1 L, end2 L, type L ) is minimized
81
81 MSLA Algorithm for Multispeed CMSTs 1.Assign each node n the smallest link l to connect it to root. Compute spare_capacity(n) = W l – w n 2.Create tradeoff heap for n (similar to E-W) – tradeoffs represent savings by connecting site n to site i rather than to the root Tradeoff n (i) = c(n,i,L) + Upgrade (i, w n ) – c(n,0,L) The function Upgrade() computes the cost of adding w n units to the links that connect i and 0 by following back the predecessors 3.Add edges as long as tradeoffs are less than or equal to 0
82
82 Another Definition A Forest, F = (V,E) is a simple graph without cycles –Note it doesn’t say connected
83
83 Multicenter Local Access (MCLA) Problem Given –A set of backbone sites (B 0, …, B m ) = B –A set of access nodes (N 1, …, N n ) = N –A set of weights (w 1, …, w n ) for each access node –A cost matrix Cost(i,j) giving the costs between each backbone/access pair of sites
84
84 Multicenter Local Access (MCLA) Problem (2) MCLA is to find a set of trees T 1, …, T k such that –Exactly one backbone site belongs to each tree – Ni Tj w i < W – Trees L Links Cost(end L 1, endL 2 ) is minimum
85
85 Multicenter Esau-Williams (MCEW) Developed by Kerschenbaum and Chou (1974) Changes the tradeoff function
86
86 MCEW (2) EW Tradeoff function is Tr() where Tr(N i ) = min j [Cost(N i,N j )] –Cost (Comp(N i ),N 0 ) Computes cost of linking to neighbor vs. cost of going to center MCEW Tradeoff function is Tr(N i ) = min j Cost(N i,N j ) – dist(Comp(N i ), Center(N j ))
87
87 MCEW (3) Initially, set Center(N i ) to be closest center If merge N i with N j, update Center(N i ) = Center(N j ) Note: Tradeoff function merges cost and distance functions
88
88 MCEW (4) MCEW produces more creditable results than NNEW –Produces a better solution much more often –But cost advantage is surprisingly small < 1% for large numbers of sites
89
89 Practical Issues Real problems often involve additional, sometimes quirky, constraints, such as –Limit on number of nodes in an access tree –Limit on number of hops –Limit on number of connections at a site –Unreliable links or sites
90
90 Assignment Read Cahn Chapter 8 (and preceding chapters if you didn’t attend TCOM540)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.