Traffic Engineering
Traffic Engineering One billion+ terminals in voice networ alone Plus data, video, fax, finance, etc. Imagine all users want service simultaneously its not even nearly possible (despite our common intuition) In practice, the actual amount of equipment provisioned is vastly less than would support all users simultaneously And yet, by and large, we get the impression of phone and data networs that wor very well! How is this possible? Traffic theory!! 2
Traffic Engineering Trade-offs Design number of transmission paths, or radio channels? How many required normally? What if there is an overload? Design switching and routing mechanisms How do we route efficiently? E.g. High-usage trun groups Overflow trun groups Where should traffic flows be combined or ept separate? Design networ topology umber and sizing of switching nodes and locations umber and sizing of transmission systems and locations Survivability 3
Characterization of Telephone Traffic Calling Rate () also called arrival rate, or attempts rate, etc. Average number of calls initiated per unit time (e.g. attempts per hour) Each call arrival is independent of other calls (we assume) Call attempt arrivals are random in time Until otherwise, we assume a large calling group or source pool If receive calls from a terminal in time T: γ α T If receive calls from m terminals in time T: Group calling rate γ g α T Per terminal calling rate 4 γ α m T
Characterization of Telephone Traffic (2) Calling rate assumption: umber of calls in time T is Poisson distributed: In our case T x e p( x) x x! 0,, 2... Time between calls is -ve exponentially distributed: f ( t) e t 0 t mean Class Question: What do these observations about telephone traffic imply about the nature of the traffic sources? 5
6 -ve Exponential Holding Times ve Exponential Holding Times Implies the Memory Implies the Memory-less property less property Prob. a call last another minute is independent of how long the call has already lasted! Call forgets that it has already survived to time T t P T T T t T T P T P T T T t T T P T T t T P T Proof: T P T t T T P h T h t h T e e e / / / h t e / h T h t T e e / )/ ( t T P h t e t T P / ) ( Recall:
Characterization of Telephone Traffic (3) Holding Time (h) Mean length of time a call lasts Probability of lasting time t or more is also ve exponential in nature: P( T Real voice calls fits very closely to the negative exponential form above As non-voice calls begin to dominate, more and more calls have a constant holding time characteristic Departure Rate (): t) e t / h P( T t) 0 t h t 0 0 7
Some Real Holding Time Data 8
Traffic Volume (V) V h = # calls in time period T h = mean holding time V = volume of calls in time period T In. America this is historically usually expressed in terms of ccs : Hundred call seconds c c s ccs is volume of traffic equal to: one circuit busy for 00 seconds, or two circuits busy for 50 seconds, or 00 circuits busy for one second, etc. 9
Traffic Intensity (A) Also called traffic flow or simply traffic. A h T Recall: T Recall: h Units: h Recall: V h ccs/hour, or V T = # calls in time period T h = mean holding time T = time period of observations dimensionless (if h and T are in the same units of time) Erlang unit = calling rate = departure rate V = call volume 0
The Erlang Dimensionless unit of traffic intensity amed after Danish mathematician A. K. Erlang (878-929) Usually denoted by symbol E. Erlang is equivalent to traffic intensity that eeps: one circuit busy 00% of the time, or two circuits busy 50% of the time, or four circuits busy 25% of the time, etc. 26 Erlangs is equivalent to traffic intensity that eeps : 26 circuits busy 00% of the time, or 52 circuits busy 50% of the time, or 04 circuits busy 25% of the time, etc.
Class Could 4 E be produced as a traffic intensity by: 6 sources? (What is the utilization?) 4 sources (same) source? What is special about the traffic intensity if it pertains to one source or terminal only? 2
Erlang (2) How does the Erlang unit correspond to ccs? ccs hour 00 call seconds hour 60 min hr 60 sec min 0.027E 36 ccs hour 3600 call seconds hour 60 min hr 60 sec min E Percentage of time a terminal is busy is equivalent to the traffic generated by that terminal in Erlangs, or Average number of circuits in a group busy at any time Typical usages: residence phone -> 0.02 E business phone -> 0.5 E interoffice trun -> 0.70 E 3
Traffic Offered, Carried, and Lost Offered Traffic (T O ) equivalent to Traffic Intensity (A) Taes into account all attempted calls, whether bloced or not, and uses their expected holding times Also Carried Traffic (T C ) and Lost Traffic (T L ) Consider a group of 50 terminals, each with 0% utilization (or in other words, 0. E per source) and dedicated service: each terminal has an outgoing trun (i.e. terminal:trun ratio = :) 50 50 T O = A = 50 x 0.0 E = 5.0 E T C = 50 x 0.0 E = 5.0 E T L = 0 E 4
Traffic Offered, Carried, and Lost (2) A = T O = T C + T L Traffic Intensity Offered Traffic Carried Traffic Lost Traffic T L = T O x Prob. Blocing (or congestion) = P(B) x T O = P(B) x A Circuit Utilization () - also called Circuit Efficiency proportion of time a circuit is busy, or average proportion of time each circuit in a group is busy T C # of Truns 5
Grade of Service (gos) In general, the term used for some traffic design objective Indicative of customer satisfaction In systems where bloced calls are cleared, usually use: T T Typical gos objectives: T T + T gos L L P B O L C ( ) in busy hour, range from 0.2% to 5% for local calls, however generally no more that % long distance calls often slightly higher In systems with queuing, gos often defined as the probability of delay exceeding a specific length of time 6
Grade of Service Related Terms Busy Hour One hour period during which traffic volume or call attempts is the highest overall during any given time period Pea (or Daily) Busy Hour Busy hour for each day, usually varies from day to day Busy Season 3 months (not consecutive) with highest average daily busy hour High Day Busy Hour (HDBH) One hour period during busy season with the highest load 7
Grade of Service Related Terms (2) Average Busy Season Busy Hour (ABSBH) One hour period with highest average daily busy hour during the busy season For example, assume days shown below mae up the busy season: -Apr 2-Apr 3-Apr 4-Apr 5-Apr 6-Apr 7-Apr 8-Apr 9-Apr 0-Apr -Apr 2-Apr 3-Apr 4-Apr 5-Apr 6-Apr 7-Apr 8-Apr 9-Apr 20-Apr 2-Apr Mean 00:00 to 0:00.4.4.2.5..5.7.5.0.0.8.5.8.6.2.9.8.6.4.5.2.5 0:00 to 02:00.2.8.6.3.0.6...0.2.7 2.0 2.0.8.3.7.4.9..4.5.5 02:00 to 03:00.4.8.5.9.2.0.2...7.5.5.9.9.3.5.8...2.5.4 03:00 to 04:00.2.8.7.4.7..5.6..9.0.0.4.5.6..4.9.4.2..4 ABSBH Highest 04:00 to 05:00.8.8 2.3 2.2 2.0.7 2.3.6 2.2.5 2..6 2.3 2..7 2.5.6 2.0.7.5 2.3.9 05:00 to 06:00 2.2 2.3.9 2.4 2.5 2.0 2.0.7.8.6 2.0 2.0 2.2 2.2 2..8.6.7 2.0 2.3 2. 2.0 06:00 to 07:00.7 2.2.7 2.5 2.2 2. 2.2 2.0 2.3.6 2.4 2.2.5 2. 2.2.8.8.7 2. 2.0 2. 2.0 07:00 to 08:00 2.0 2.8 2.2 2.4 2.3 2.4 2.9 2.0 2.4 2.4 2. 2.9 2.3 2. 2.9 2.7 2.8 2.3 2. 2. 2.7 2.4 08:00 to 09:00 3.4 3. 2.8 2.9 2.5 2.7 2.9 3.0 3.4 3.4 3. 2.9 2.9 2.9 3.3 3.2 3.5 3. 3. 3. 2.5 3.0 09:00 to 0:00 3.4 3.4 4.0 3.2 3.5 3.4 3. 3.7 3.3 3.3 3.5 3.9 3.4 4.0 3.7 3.7 3. 3.4 3.9 3.9 3.4 3.5 0:00 to :00 5.0 4.4 4.8 4.9 4. 3.0 4.0 4.9 4.2 4.9 4.7 4.2 3.8 3.0 4.6 4.9 4.4 5.0 4.7 3.6 3.8 4.3 :00 to 2:00 4.8 5.0 4.7 4.3 4.5 3.8 3.4 4.2 5.0 4.6 5.0 4.7 3.2 3.4 5.0 4.8 4. 4.3 4.4 3.6 3.7 4.3 2:00 to 3:00 4.5 4.2 4. 4.8 4.6 3.8 3.3 4.0 4.2 4.6 4.7 4.0 3.3 3. 5.0 4.9 4.6 4. 4.2 3.2 3.6 4. 3:00 to 4:00 4.3 4.2 4.7 4.5 4.8 3.2 3. 4. 4.5 4.6 4.9 4.7 3.6 3.6 4.8 4.2 4.8 4.9 4.4 3.3 3.0 4.2 4:00 to 5:00 4.8 4.7 4.5 4. 4.4 3.6 3.7 4.5 4.3 4.3 4.9 4.5 3.5 3.5 4.3 4.3 4.3 4.5 4.3 3.3 3.2 4.2 5:00 to 6:00 4.4 4.9 4.4 4.8 4.5 3.8 3.2 4. 4.8 4.4 4.5 4.2 3.3 3.9 4.3 4.9 4.4 4.3 4.5 3.7 3.3 4.2 6:00 to 7:00 3.2 3.2 3.8 3.5 3.7 3. 3.5 3.5 3.2 3.2 3.8 3.4 3.2 4.0 3.3 4.0 3.9 3.0 3.3 3.5 3.3 3.5 ote: Red indicates 7:00 to 8:00 2.7 2.6 2.7 2.9 3.3 3. 3.4 2.9 3.2 2.8 2.7 3.0 3.3 3.2 2.5 2.9 2.8 3.4 3.5 2.9 3.2 3.0 8:00 to 9:00 3.0 2.9 3.0 daily busy 2.7 hour 2.9 3.4 3.3 3.4 2.7 3.3 3.5 3.5 2.7 3. 3. 3.3 3.4 3. 3.0 3.3 3.3 3. 9:00 to 20:00 3.3 3.3 2.6 3.4 3.2 2.7 2.7 3.4 3.4 3.0 3.0 3.4 3. 2.8 3.2 3.4 3.0 3.4 3.4 3. 2.9 3. 20:00 to 2:00 2.9 2.3 2. 2.9 2.9 3.0 3.0 2.4 2.3 2.9 3.0 2. 2.2 2.9 3.0 2.6 2.4 2.5 2.7 2.7 2.6 2.6 2:00 to 22:00 2..6 2.3.6 2.2 2. 2.4.9.6 2. 2.4.7.8 2.4.8.9 2.2.9 2.2 2.2.6 2.0 22:00 to 23:00.5 2..9.6.7.6 2.3 2.5 2.4.7 2..8 2.0 2.4.7.9 2.2 2.3.7 2.4.8 2.0 23:00 to 00:00.5.0...5.8.5.4.8..9.2.6.9.8..5 2.0.8.6.4.5 8
Hourly Traffic Variations 9
Daily Traffic Variations 20
Seasonal Traffic Variations 2
Seasonal Traffic Variations (2) 22
Typical Call Attempts Breadown Calls Completed - 70.7% Called Party o Answer - 2.7% Called Party Busy - 0.% Call Abandoned - 2.6% Dialing Error -.6% umber Changed or Disconnected - 0.4% Blocage or Failure -.9% 23
3 Types of Blocing Models Bloced Calls Cleared (BCC) Bloced calls leave system and do not return Good approximation for calls in st choice trun group Bloced Calls Held (BCH) Bloced calls remain in the system for the amount of time it would have normally stayed for If a server frees up, the call pics up in the middle and continues ot a good model of real world behaviour (mathematical approximation only) Tries to approximate call reattempt efforts Bloced Calls Wait (BCW) Bloced calls enter a queue until a server is available When a server becomes available, the call s holding time begins 24
Bloced Calls Cleared (BCC) 2 sources 0 minutes Source # Offered Traffic 3 Total Traffic Offered: Source #2 Offered Traffic 2 4 T O = 0.4 E + 0.3 E T O = 0.7 E Only one server st call arrives and is served Traffic 2 nd call arrives but server already busy Carried 2 3 4 2 nd call is cleared Total Traffic Carried: T C = 0.5 E 3 rd call arrives and is served 4 th call arrives and is served 25
Bloced Calls Held (BCH) 2 sources 0 minutes Source # Offered Traffic 3 Total Traffic Offered: Source #2 Offered Traffic 2 4 T O = 0.4 E + 0.3 E T O = 0.7 E Only one server st call arrives and is served 2 nd call arrives but server busy Traffic Carried 2 2 3 4 Total Traffic Carried: T C = 0.6 E 2 nd call is held until server free 2 nd call is served 3 rd call arrives and is served 4 th call arrives and is served 26
Bloced Calls Wait (BCW) 2 sources 0 minutes Source # Offered Traffic 3 Total Traffic Offered: Source #2 Offered Traffic 2 4 T O = 0.4 E + 0.3 E T O = 0.7 E st call arrives and is served Only one server 2 nd call arrives but server busy Traffic 2 nd call waits until server free Carried 2 2 3 4 2 nd call served Total Traffic Carried: T C = 0.7 E 3 rd call arrives, waits, and is served 4 th call arrives, waits, and is served 27
Blocing Probabilities System must be in a Steady State Also called state of statistical equilibrium Arrival Rate of new calls equals Departure Rate of disconnecting calls Why? If calls arrive faster that they depart? If calls depart faster than they arrive? 28
Binomial Distribution Model Assumptions: m sources A Erlangs of offered traffic per source: T O = A/m probability that a specific source is busy: P(B) = A/m Can use Binomial Distribution to give the probability that a certain number () of those m sources is busy: P( ) m A m A m m m! A!( m )! m A m m 29
30 Binomial Distribution Model (2) Binomial Distribution Model (2) What does it mean if we only have servers servers (<m)? We can have at most busy sources at a time What about the probability of blocing? All servers must be busy before we have blocing ) ( ) ( P B P ) (... ) ( ) ( m P P P m m A m A m P ) ( m m m A m A m 0 m m A m A m Remember:
Binomial Distribution Model (3) What does it mean if >? Impossible to have more sources busy than servers to serve them Doesn t accurately represent reality In reality, P(>) = 0 In this model, we still assign P(>) = A/m Acts as good model of real behaviour Some people call bac, some don t Which type of blocing model is the Binomial Distribution? Bloced Calls Held (BCH) 3
Time Congestions vs. Call Congestion Time Congestion Proportion of time a system is congested (all servers busy) Probability of blocing from point of view of servers Call Congestion Probability that an arriving call is bloced Probability of blocing from point of view of calls Why/How are they different? Time Congestion: P( B) P( ) Call Congestion: P( B) P( ) Probability that all servers are busy. Probability that there are more sources wanting service than there are servers. 32
Poisson Traffic Model Poisson approximates Binomial with large m and small A/m P( ) e! = Mean # of Busy Sources ote: Poisson lim( Binomial) m What is? Mean number of busy sources = A P( ) e A! A 33
Poisson Traffic Model (2) ow we can calculate probability of blocing: P( B) P( ) P( ) P( )... P( ) e A! A A! e A Remember: e P( ) A! A A 0! e A P( B) P(, A) Example: P(7,0) P = Poisson = # Servers A = Offered Traffic Poisson P(B) with 0 E offered to 7 servers 34
Traffic Tables Consider a % chance of blocing in a system with =0 truns How much offered traffic can the system handle? 0.0 A A 9 A e 0! 0! e A How do we calculate A? Very carefully, or Use traffic tables 35
Traffic Tables (2) P(B)=P(,A) A 36
Traffic Tables (3) P(,A)=0.0 =0 A=4.4 E If system with = 0 truns has P(B) = 0.0: System can handle Offered traffic (A) = 4.4 E 37
Poisson Traffic Tables P(,A)=0.0 =0 A=4.4 E If system with = 0 truns has P(B) = 0.0: System can handle Offered traffic (A) = 4.4 E 38
Efficiency of Large Groups What if there are = 00 truns? Will they serve A = 0 x 4.4 E = 4.4 E with same P(B) = %? o! Traffic tables will show that A = 78.2 E! Why will 0 times truns serve almost 20 times traffic? Called efficiency of large groups: For = 0, A = 4.4 E A 4.4 0 4.4% efficiency For = 00, A = 78.2 E A 78.2 00 78.2% efficiency The larger the trun group, the greater the efficiency 39
Erlang B Model More sophisticated model than Binomial or Poisson Bloced Calls Cleared (BCC) Good for calls that can reroute to alternate route if bloced o approximation for reattempts if alternate route bloced too Derived using birth-death process See selected pages from Leonard Kleinroc, Queueing Systems Volume : Theory, John Wiley & Sons, 975 40
Erlang B Birth-Death Process Consider infinitesimally small time t during which only one arrival or departure (or none) may occur Let be the arrival rate from an infinite pool or sources Let = /h be the departure rate per call ote: if calls in system, departure rate is Steady State Diagram: Blocage 0 2-2 3 (-) Immediate Service 4
Erlang B Birth-Death Process (2) Steady State (statistical equilibrium) Rate of arrival is the same as rate of departure Average rate a system enters a given state is equal to the average rate at which the system leaves that state Probability of moving from state to state 2? P P 0 0 P P 2 2 P - - P 2 3 (-) Probability of moving from state 2 to state? 2P 2 42
Erlang B Birth-Death Process (3) P 0 P P 2 P - P 0 2 - Set up balance equations: 2 3 (-) P P 0 P P 2P P 2 0 2P P 3P P 2 2 3 P P 0 P 2P P 2 3P 2 3 P P P 0 P 2 2 2 P0 2 3P P 4P P 3 3 4 2 ( ) P P P P 2 P P P P P P P P 3 3 2 P 3 P0 6 P0! 43
44 Erlang B Birth Erlang B Birth-Death Process (4) Death Process (4) Rule of Total Probability: 0 i i P 0 0! i i P i 0 0! i i P i 0! P P Recall: 0!! i i P i A h Recall: 0!! i i A P A i For blocing, must be in state = : ( ) (, ) P B B A P B = Erlang B = # Servers A = Offered Traffic 0!! i i A A i
Erlang B Traffic Table Example: In a BCC system with m= sources, we can accept a 0.% chance of blocing in the nominal case of 40E offered traffic. However, in the extreme case of a 20% overload, we can accept a 0.5% chance of blocing. How many outgoing truns do we need? =59 ominal design: 59 truns Overload design: 64 truns A=40 E B(,A)=0.00 A48 E B(,A)=0.005 Requirement: 64 truns =64 45
Example (2) P(,A)=0.0 =32 A=20.3 E 46
P(,A) & B(,A) - High Blocing We recognize that Poisson and Erlang B models are only approximations but which is better? Compare them using a 4-trun group offered A=0E Erlang B B(4,0) 0.64666 T A( P( B)) 0 ( 0.64666) C Poisson P(4,0) 0.98966 T A( P( B)) 0 ( 0.98966) C TC 3.533E TC 0.03E 3.533 4 0.88 0.03 4 0.026 How can 4 truns handle 0E offered traffic and be busy only 2.6% of the time? 47
P(,A) & B(,A) - High Blocing (2) Obviously, the Poisson result is so far off that it is almost meaningless as an approximation of the example. 4 servers offered enough traffic to eep 0 servers busy full time (0E) should result in much higher utilization. Erlang B result is more believable. All 4 truns are busy most of the time. What if we extend the exercise by increasing A? Erlang B result goes to 4E carried traffic Poisson result goes to 0E carried Illustrates the failure of the Poisson model as valid for situations with high blocing Poisson only good approximation when low blocing Use Erlang B if high blocing 48
Engset Distribution Model BCC model with small number of sources (m > ) = mean departure rate per call = mean arrival rate of a single source = arrival rate if in the system is state = (m-) Blocage m (m-) (m-2) [M-(-2)] [m-(-)] P 0 0 P P 2 2 P - - P 2 3 (-) Immediate Service 49
Engset Traffic Model (2) Balance equations give: P P0 therefore: P m!!( m )! i0 m i m i P and 0 P( B) P( ) E = Engset i0 i m i but can show that: E( m,, A) A m A A m m A i A m m A i i0 50
Engset Traffic Table M = 30 sources Traffic offered (A) # truns () P(B)=E(m,,A) =0 A=4.8 E Example: 30 terminals each provide 0.6 Erlangs to a concentrator with a goal of less than % blocing. P(B)<0.0 How many outgoing truns do we need? A = 30 x 0.6 = 4.8 E Requirement: = 0 Truns Chec m < 0 x? M=30 < 0 x 0 = 00 5
Erlang C Distribution Model BCW model with infinite sources (m) and infinite queue length = arrival rate of new calls = mean departure rate per call Blocage P 0 0 P P 2 2 P P Q Q P Q2 Q2 2 3 Immediate Service 52
Erlang C Distribution Model (2) Balance equations give: A P and! P 0, But P(B) = P(): A P0 P, and! P i A A! A i0 i! 0 P( B) A P! 0 0 A P0 A P0!! A but can show that: 0 A A P( B) A P! A 0 C = Erlang C C(, A) A! A! A i0 i! i A A 53
Erlang C Traffic Tables =8 # truns () P(B)=C(,A) Traffic offered (A) A=7 E C(8,7)=0.0004 Example: What is the probability of blocing in an Erlang C system with 8 servers offered 7 Erlangs of traffic? 54
Delay in Erlang C Expected number of calls in the queue? A ( ) P ( ) P 0! A A P! 0 P0 A A! A A AC(, A) A h C (, A ) A Mean #Calls Delayed h Mean Delay over All Calls = C(, A) Arrival Rate of Calls A h Mean Delay of Delayed Calls = A Recall: T T Also: h T A P( delay T ) C(, A) e 55
Comparison of Traffic Models P(B) Erlang C (BCW, sources) Poisson (BCH, sources) Erlang B (BCC, sources) Binomial (BCH, m sources) Engset (BCC, m sources) Offered Traffic (A) 56
Efficiency of Large Groups Already seen that for same P(B), increasing servers results in more than proportional increase in traffic carried example : P(0,4.4) 0.0 and P(00,78.2) 0.0 example 2: P(32, 20.3) 0.0 and P(33, 20.) 0.005 example 3: B(8, 2.05) 0.00 and B(80,57.8) 0.00 What does this mean? If it s possible to collect together several diverse sources, you can provide better gos at same cost, or provide same gos at cheaper cost 57
Efficiency of Large Groups (2) Two trun groups offered 5 Erlangs each, and B(,A)=0.002 5 E 5 E =3 =? 22 =3 =? How many truns total? From traffic tables, find B(3,5) 0.002 total = 3 + 3 = 26 truns Trun efficiency? T C 0( 0.002) 26 0.384 38.4% utilization 58
Efficiency of Large Groups (3) One trun group offered 0 Erlangs, and B(,A)=0.002 How many truns? 0 E =20 =? From traffic tables, find B(20,0) 0.002 = 20 truns Trun efficiency? T C 0( 0.002) 20 0.499 49.9% utilization For same gos, we can save 6 truns! 59
Efficiency of Large Groups (4) B=0. A B=0. B=0.0 B=0.0 B=0.00 B=0.00 60
Sensitivity to Overload Consider 2 cases: Case : = 0 and B(,A) = 0.0 B(0,4.5) 0.0, so can carry 4.5 E What if 20% overload (5.4 E)? B(0,5.4) 0.03 Case : = 30 and B(,A) = 0.0 B(30,20.3) 0.0, so can carry 20.3 E 3 times P(B) with 20% overload What if 20% overload (24.5 E)? B(30,24.5) 0.08 Trun Group Splintering 8 times P(B) with 20% overload! if high possibility of overloads, small groups may be better 6
Incremental Traffic Carried by th Trun If a trun group is of size -, how much extra traffic can it carry if you add one extra trun? Before, can carry: T C = A x [-(B(-,A)] After, can carry: T C2 = A x [-(B(,A)] A T T A B(, A) B(, A) C 2 C What does this mean? A B(, A) B(, A) Random Hunting: Increase in trun group s total carried traffic after adding an th trun Sequential Hunting: Actual traffic carried by the th trun in the group A ( A) B(, A) for very low blocing 62
Incremental Traffic Carried by th Trun (3) Fixed B(,A) A 63
Example Individual truns are only economic if they can carry 0.4 E or more. A trun group of size =0 is offered 6 E. Will all 0 truns be economical? A A B(, A) B(, A) A0 6 B(9, 6) B(0, 6) 6 0.0754 0.0434 0.92 E 0.4 E At least the 0 th trun is not economical 64