• Nenhum resultado encontrado

Erlang G programa-tutorial

N/A
N/A
Protected

Academic year: 2021

Share "Erlang G programa-tutorial"

Copied!
52
0
0

Texto

(1)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 1

Erlang-G Program

What is the Erlang-G Program?

Erlang-G is the name given to the version of the Windows Erlang Program that supports Graphs.

This program is a utility to help model traffic blockage (loss), and/or queuing delays. It is of use in the following industries:

• Voice, for calculating number of trunks (lines) to support given telephone traffic levels, or for predicting blockages

• Data Networking, for calculating delays in packet based networks

• Banking, Supermarket, etc. , or any other involved with queues of customers • any other industry that is concerned with delays or queues

The program allows you to:

• Choose the mathematical model that best applies to your situation,

• Enter the values, or measurements you know that describe the system, and • Calculate what you don’t know.

The name Erlang comes from the name Mr. Agner Krarup Erlang; a Danish engineer who in the early 1900’s developed some equations to help size the Copenhagen telephone system. See http://www-groups.cs.st-and.ac.uk/~history/Mathematicians/Erlang.html for more information.

This program has nothing to do with the programming language called Erlang. Copyright 2000, Robert Clark.

(2)

Installation

• Run the ErlangSetup.exe program downloaded from http://www.erlang-software.com/ .

• Run the Erlang program. The 1st time it is run, you will be asked to enter your license key. You can purchase license keys from http://www.erlang-software.com/ . Upgrading from a previous version

• If the upgrade is just a maintenance upgrade (bug fix) and you already have a license, just run the ErlangSetup.exe program downloaded from http://www.erlang-software.com/ . The new program will install and recognize your existing license. • If the upgrade is to a new version (new functionality), you will need to purchase an

upgrade license. See Licenses

Un-installation

• Open Control Panel (e.g. Start/Settings/Control Panel) • Double-click Add/Remove Programs

• Locate Erlang • Click Add/Remove

The Calculator

To help you calculate traffic values, there is a simple Erlang calculator available from the main menu.

This calculator allows you to calculate traffic levels for both Finite and Infinite source cases.

(3)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 3 The Call Center Tool

To help you design a Call Center, there is a simple tool available from the main menu. See Call Center Tool for usage details. See Bank Teller Example for screen examples. This tool determines the number of Agents (Operators) required to answer the phones, as well at the required number of incoming phone lines.

Call Center Tool

Note: This tool is based on the Erlang C model. The tool simplifies the entry and calculation in the special case of call center design.

See Bank Teller Example for screen examples. Usage:

Inputs:

Calls Per Hour: The number of incoming phone calls expected per hour (typically: in the busiest hour of the day).

For one average call, an agent is occupied …:

… seconds with caller: The number of seconds one agent spends with the average caller; i.e. On the phone and talking.

… seconds on other tasks: The number of seconds one agent spends on wrap-up tasks (e.g. order entry, paper work, etc) before the agent is ready to accept the next caller from the queue.

… Total seconds: The sum of the above two numbers. This is calculated automatically for you.

Minimum Desired Service Level…:

…<x> % of incoming calls within <y> seconds: These two numbers affect the calculated number of Agents. If you require (e.g.) 85% of all calls to be answered by an agent within 20 seconds (or less), enter 85 and 20. You cannot enter 100%; it is not possible to design a system with 100% chance of answering all calls within any specified time, as that would require an infinite number of agents.

… No more than <x> % of call lost: This number is used to calculate the number of incoming phone lines. There must be sufficient incoming phone lines (trunks) to support the busy times, and these phone lines will be used by (1) customers talking to agents, and (2) customers in the queue (i.e. on hold) [Presumably listing to music or advertisements]. If you want to ensure 99% of incoming callers do not get a BUSY signal, enter 1. If you want to ensure 99.9% get a line, enter 0.1. etc.

(4)

Results:

Service Level: A typical answer might be: Using 67 agents, 87.1 % of incoming calls will be answered within 20 seconds.

Trunks (Lines): A typical answer might be: If there are 90 incoming phone lines, 0.921% of calls will be lost (busy signal). The number of incoming lines services the customers talking to agents, and those on hold. It is assumed that an agent on Wrap Up work does not require an incoming phone line. (Of course, they might need an outgoing one ?!). The number of required lines is typically more than (Required Agents) + (Average Queue Length) because the lines are sized for PEAK traffic times, whereas Average Queue Length is only an average.

Note: Some other Call Center calculators on the market (or free on the WWW) under estimate the number of lines required. They use the incorrect assumption that the lines can be calculated using an Erlang B model, with traffic calculated from (Agent seconds with called) + (Average Queue Delay). The Call Center tool in this program uses the full Erlang C model to ensure the correct probabilities.

On Average: A typical answer might be: 53.3 agents are occupied on calls, 6.67 agents are occupied on paperwork, and 7 agents are idle. There are 2.42 calls in the queue, and the average delay is 7.25 seconds. By specifying that you wanted x% of calls answered with y seconds, the number of agents will be such that ON AVERAGE, there will be no calls on the queue, and some agents will be idle. At other times all agents will be busy, and there will be a queue.

Chart: Press this button to document your call center model as a graph. The chart plots up to 3 curves, showing the percentage of calls answered vs. time on the queue. The multiple curves bracket the recommended number of agents, and higher and lower numbers of agents allowing a sensitivity analysis on the result. The default behavior is to include the text parameters/results along the right hand side of the chart.

This can be turned off using the Options menu Assumptions:

• Sources: Infinite

• Blocked Calls: Delayed. There is a First-Come-First-Served (FCFS) queue. • Arrival Times: Poisson distributed.

(5)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 5 Example - Bank Tellers

ÆHow many tellers are required to handle 230 customers per hour if 85% of customers are to wait no more than 60 seconds in line, and the average time a teller spends with a customer is 100 seconds?

Model: Best match = Erlang C; use the Call Center tool

Answer = 9 tellers (See below.)

Note: The concept of Trunks (phone lines) does not apply to this problem, so it can be ignored in the answer.

Æ Now, what if management wants 85% of calls to be answered within 15 seconds?

Answer = 10 tellers (Screen shot not shown)

Without a tool like Erlang, you might assume you need to quadruple the number of tellers to 32 to reduce the delay by a factor of 4!

(6)
(7)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 7 ‘How To’ — Introduction

The most common application of these equations is to model telephone traffic, but they apply equally as well to any system that can be modeled with;

• Requests for service from some population, • Servers, that provide the requested service, and • (Optionally) a queue of service requests.

There are 6 models considered here:

Table 1 – There are a number of mathematical models in the science of queuing theory. The 6 most common models in telephony are shown here. The choice is based on the relative source population, plus the typical behavior of blocked service requests.

Choose a Model

You need to choose which model applies to you.

See Introduction for information on the available models, and which one is right for you. In the Erlang program, select from the main menu bar;

• Model/Choose…, or

• Model/<model of your choice>

Enter what you know

Each model has it’s own window. These windows generally have the Input Area and a Results Area.

(8)

In the Input Area, enter the information you know. Typically, you need to know every value in this area EXCEPT one.

The Calculate button(s) become enabled only after sufficient information has been entered to allow that particular calculation.

Calculate what you don’t know

After you press a Calculate button, you see a screen similar to this: The various calculated results can now be seen.

The additional Calculate buttons in the Results Area allow you to re-calculate some results based on the same basic information. In the Probability of… box in this example, a value of 10 calls was entered, and the Calculate button in that box pressed.

(9)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 9 Graph Your Results

After you press a Graph button, you see a plot similar to the one below. You can Print, Copy, or Customize the graph.

Graph (Chart) Options

Each model, and the Call Center Tool, includes a Graph capability. After you have performed a calculation using any of the models, the [Graph] button on the bottom of the screen becomes enabled.

When you press the graph button, a chart is made that shows how your calculated result would be affected if the offered traffic levels (Erlangs) and the number of servers varied. This allows you to see a Sensitivity Analysis of your solution.

You can do the following with your graph:

(10)

• Copy & Paste. Select Edit->Copy from the main menu, or Right-Mouse-Button->Copy. This allows you to paste into another document you may be preparing. • Customize: There are a number of customizations available via Chart Options on

the main menu. Each parameter change takes effect on the next chart drawn.

1. Show Parameters: (Default=On). This causes the input parameters and calculated results to be included on the right side of the chart.

2. Show Major Grid Lines: (Default=Off). This causes grid lines to be drawn at the major axis values.

3. Show Minor Grid Lines: (Default=Off). This causes grid lines to be drawn at the minor axis values.

4. Show 3 Curves: (Default=On). When On, three separate curves are drawn; the center one representing the system with the target number of servers, and the others representing a higher and lower number of servers.

(11)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 11 Model Introduction

The models used in this software are based on published equations that are in turn based on some assumptions — so that they are solvable. The pages that follow detail the assumptions for each model.

Although the assumptions may not match your ‘real world’ exactly (in fact probably will not) they are good approximations for most cases and allow you to at least estimate the resources to keep both your customers and your boss happy. Even if this program calculates a result to the 4th decimal place, do not assume your real world results will match this. Erlang models are exactly that; a model that approximates a real world situation.

What if my real world does not match any of the models?

Go ahead and use the model that most closely matches your world. The other option is to custom build a simulator and run it … and see what the results (queue lengths, blocking probability, etc.) become. This is expensive.

One Big Assumption

All these models assume one thing – the system being modeled is in equilibrium. That is; queues are not getting longer or shorter, arrival distributions and service distributions remain constant, and the numbers of servers remain constant. This is rarely true in the real world: Telephone traffic demand peaks at different times of the day, telephone operators must stop for lunch, etc. But the usual way around this is to model the traffic levels at the worst case (see Busy Hour), and acknowledge that you are designing a system to carry peak loads, and performance will be ‘better’ at other times.

(12)

Erlang B Model

Inputs:

Total Traffic Offered: The traffic offered to the system. In Telephony, it would be the incoming (calls-per-minute) * (average call duration (minutes)).

Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number of circuits or trunks.

Probability of Loss (Blockage): This is the probability that a given incoming request will not commence service immediately. Because this model assumes there is no queue, then these blocked requests just disappear. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

Results:

Probability of…

… EXACTLY n calls in the system: The probability of n calls (requests) in service.

… MORE than n calls in the system: The probability of more than n calls (requests) in service. Because this model has no queue, the probability of more than n = Number of Servers calls in the system must be zero.

Total Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: The traffic that is lost. (Traffic Offered) = (Traffic Carried) + (Traffic Lost).

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. Incoming requests are serviced preferentially by the first server. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

Uses:

• Designing public phone systems where

• blockage is very low and hence retries are uncommon (and can be neglected), or

• blockage may be high, but blocked calls overflow to some other facility (modeled separately).

(13)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 13 • Grade of service in commercial (low blockage) networks

Assumptions:

· Sources: Infinite

· Blocked Calls: Lost. There is no queue.

· Arrival Times: Equal traffic density per source, Poisson distributed. · Service (Holding) Times: Constant, or exponentially distributed.

(14)

Poisson Model

Usage:

Inputs:

Total Traffic Offered: The traffic offered to the system. In Telephony, it would be the incoming (calls-per-minute) * (average call duration (minutes)).

Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number if circuits or trunks.

Probability of Loss (Blockage): This is the probability that a given incoming request will not commence service immediately. These blocked requests enter a queue, where they are HELD until they disappear, or commence service. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

Results:

Probability of…

… EXACTLY n calls in the system: The probability of n calls (requests) in service or in the queue.

… MORE than n calls in the system: The probability of more than n calls (requests) in service or in the queue.

Total Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: The traffic that is lost. (Traffic Offered) = (Traffic Carried) + (Traffic Lost).

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. The first server services incoming requests preferentially. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

Average Delay, All calls: The average delay of all requests, including those requests that see no queue and enter service immediately.

Average Delay, Delayed Calls: The average delay of requests that experience some queuing delay.

Average Holding Time (AHT) [Input]: This is the average time it takes a server to process one request. It does NOT include any time on the queue. It you do not know the AHT, enter 1 and all calculated delays will be expressed as a fraction of the AHT.

(15)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 15 Average Queue Length, All Calls: This is the average length of the queue, measured in requests (or Calls in telephony), including those requests that see no queue and enter service immediately

Average Queue Length, Delayed Calls: This is the average length of the queue, measured in requests (or Calls in telephony), for those requests that experience some queuing delay.

Uses:

• Grade of Service, USA Telcos

• Grade of service in commercial networks • PBX trunk sizing in large offices

Assumptions:

• Sources: Infinite

• Blocked Calls: Held. There is a First-Come-First-Served (FCFS) queue. • Arrival Times: Equal traffic density per source, Poisson distributed. • Service (Holding) Times: Constant, or exponentially distributed.

(16)

Erlang C Model

Applications:

Because one of the most common applications for Erlang C is in the design of telephone Call Centers, there is a special Call Center Tool built into this software to simplify solving these problems.

• Latency in data transmission circuits • Bank Teller, Supermarket, etc. lines

• Customer Support Operators, with a queue of incoming callers • Auto-Attendants, Auto Call Distributors (ACDs)

Usage:

Inputs:

Total Traffic Offered: The traffic offered to the system. In Telephony, it would be the incoming (calls-per-minute) * (average call duration (minutes)).

Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number if circuits or trunks.

Average Delay, all calls: When modeling with Erlang C or Delay, we are usually more focused on managing the maximum waiting time on the queue. For that reason, in this model the Probability of Delay is not an input — but it is a computed result. In this box you should enter the maximum average queuing delay you want incoming requests to experience.

Average Holding Time (AHT): This is the average time it takes a server to process one request. It does NOT include any time on the queue. It you do not know the AHT, enter 1 and all calculated delays will be expressed as a fraction of the AHT.

Results:

Total Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: As no traffic can be lost (requests can not leave the queue), this is always zero.

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. The first server services incoming requests preferentially. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

(17)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 17 Average Delay, All calls: The average delay of all requests, including those requests that see no queue and enter service immediately.

Average Delay, Delayed Calls: The average delay of requests that experience some queuing delay.

Average Queue Length, All Calls: This is the average length of the queue, measured in requests (or Calls in telephony), including those requests that see no queue and enter service immediately

Average Queue Length, Delayed Calls: This is the average length of the queue, measured in requests (or Calls in telephony), for those requests that experience some queuing delay.

Probability of…

… a Delay greater than n seconds: You can calculate the probability that requests will remain on the queue longer than n seconds. For example, if you need to model a system where the requirement is “99% of callers wait on the queue for 20 seconds or less”, enter “20” in this box, and adjust the Number of Circuits or Servers until the probability calculated here is less than 0.01.

… a Delay: The probability that a given incoming request will not commence service immediately. These blocked requests enter a queue, where they are DELAYED until they commence service. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

… EXACTLY n calls in the system: The probability of n calls (requests) in service or in the queue.

… MORE than n calls in the system: The probability of more than n calls (requests) in service or in the queue.

Assumptions:

· Sources: Infinite

· Blocked Calls: Delayed. There is a First-Come-First-Served (FCFS) queue. · Arrival Times: Poisson distributed.

(18)

The Call Center Tool

To help you design a Call Center, there is a simple tool available from the main menu. See Call Center Tool for usage details. See Bank Teller Example for screen examples. This tool determines the number of Agents (Operators) required to answer the phones, as well at the required number of incoming phone lines.

Call Center Tool

Note: This tool is based on the Erlang C model. The tool simplifies the entry and calculation in the special case of call center design.

See Bank Teller Example for screen examples. Usage:

Inputs:

Calls Per Hour: The number of incoming phone calls expected per hour (typically: in the busiest hour of the day).

For one average call, an agent is occupied …:

… seconds with caller: The number of seconds one agent spends with the average caller; i.e. On the phone and talking.

… seconds on other tasks: The number of seconds one agent spends on wrap-up tasks (e.g. order entry, paper work, etc) before the agent is ready to accept the next caller from the queue.

… Total seconds: The sum of the above two numbers. This is calculated automatically for you.

Minimum Desired Service Level…:

…<x> % of incoming calls within <y> seconds: These two numbers affect the calculated number of Agents. If you require (e.g.) 85% of all calls to be answered by an agent within 20 seconds (or less), enter 85 and 20. You cannot enter 100%; it is not possible to design a system with 100% chance of answering all calls within any specified time, as that would require an infinite number of agents.

… No more than <x> % of call lost: This number is used to calculate the number of incoming phone lines. There must be sufficient incoming phone lines (trunks) to support the busy times, and these phone lines will be used by (1) customers talking to agents, and (2) customers in the queue (i.e. on hold) [Presumably listing to music

(19)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 19 or advertisements]. If you want to ensure 99% of incoming callers do not get a BUSY signal, enter 1. If you want to ensure 99.9% get a line, enter 0.1. etc.

Results:

Service Level: A typical answer might be: Using 67 agents, 87.1 % of incoming calls will be answered within 20 seconds.

Trunks (Lines): A typical answer might be: If there are 90 incoming phone lines, 0.921% of calls will be lost (busy signal). The number of incoming lines services the customers talking to agents, and those on hold. It is assumed that an agent on Wrap Up work does not require an incoming phone line. (Of course, they might need an outgoing one ?!). The number of required lines is typically more than (Required Agents) + (Average Queue Length) because the lines are sized for PEAK traffic times, whereas Average Queue Length is only an average.

Note: Some other Call Center calculators on the market (or free on the WWW) under estimate the number of lines required. They use the incorrect assumption that the lines can be calculated using an Erlang B model, with traffic calculated from (Agent seconds with called) + (Average Queue Delay). The Call Center tool in this program uses the full Erlang C model to ensure the correct probabilities.

On Average: A typical answer might be: 53.3 agents are occupied on calls, 6.67 agents are occupied on paperwork, and 7 agents are idle. There are 2.42 calls in the queue, and the average delay is 7.25 seconds. By specifying that you wanted x% of calls answered with y seconds, the number of agents will be such that ON AVERAGE, there will be no calls on the queue, and some agents will be idle. At other times all agents will be busy, and there will be a queue.

Chart: Press this button to document your call center model as a graph. The chart plots up to 3 curves, showing the percentage of calls answered vs. time on the queue. The multiple curves bracket the recommended number of agents, and higher and lower numbers of agents allowing a sensitivity analysis on the result. The default behavior is to include the text parameters/results along the right hand side of the chart.

This can be turned off using the Options menu Assumptions:

• Sources: Infinite

• Blocked Calls: Delayed. There is a First-Come-First-Served (FCFS) queue. • Arrival Times: Poisson distributed.

(20)

Engset Model

Usage:

Inputs:

Sources: Enter the population that can generate request for service.

Traffic Offered – Per Source: Enter the traffic load generated by an average source. You have the option of entering the Idle or Actual traffic. See A Discussion of Traffic Types for more information. If you don’t know this value, but you are modeling telephone traffic load in an office environment for typical desk-based employees — estimate the percentage of the time these users are on the phone, and enter that as Actual traffic per source. (E.g. if the accountants are on the phone 20% of the time, enter Actual, 0.20) Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number if circuits or trunks.

Probability of Loss (Blockage): This is the probability that a given incoming request will not commence service immediately. Because this model assumes there is no queue, then these blocked requests just disappear. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

Results:

‘Idle’ Traffic Offered: This is the traffic offered by always-idle sources. See A Discussion of Traffic Types for more information.

Actual Traffic Offered: This is the real traffic offered by the sources. See A Discussion of Traffic Types for more information.

Actual Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: The traffic that is lost. (Traffic Offered) = (Traffic Carried) + (Traffic Lost).

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. The first server services incoming requests preferentially. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

Probability of…

(21)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 21 … MORE than n calls in the system: The probability of more than n calls (requests) in service. Because this model has no queue, the probability of more than n= Number of Servers calls in the system must be zero.

Uses:

Designing private phone systems (PBXs) where

• blockage is very low and hence retries are uncommon (and can be neglected), or • blockage may be high, but blocked calls overflow to some other facility (e.g. public

phone system)

Assumptions:

· Sources: Finite

· Blocked Calls: Lost. There is no queue.

· Arrival Times: Equal traffic density per source. · Service (Holding) Times: Any.

(22)

Binomial Model

Usage:

Calc All Button: This window has a special Calc All button. Because the Binomial calculations can be excessively slow for large models (i.e. over 1000 Erlangs), the secondary calculations (Utilization, Delays, detailed Probabilities) are not automatically calculated. These secondary calculations are computed when you press the Calc All button.

Inputs:

Sources: Enter the population that can generate request for service.

Traffic Offered – Per Source: Enter the traffic load generated by an average source. You have the option of entering the Idle or Actual traffic. See A Discussion of Traffic Types for more information. If you don’t know this value, but you are modeling telephone traffic load in an office environment for typical desk-based employees — estimate the percentage of the time these users are on the phone, and enter that as Actual traffic per source. (E.g. if the accountants are on the phone 20% of the time, enter Actual, 0.20) Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number if circuits or trunks.

Probability of Delay (Blockage): This is the probability that a given incoming request will not commence service immediately. These blocked requests enter a queue, where they are HELD until they disappear, or commence service. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

Results:

Note: All results are not automatically calculated, because some of the calculations in this model are very intensive and can be slow. You must press the large Calc. All button to force these results to be calculated or re-calculated.

‘Idle’ Traffic Offered: This is the traffic offered by always-idle sources. See A Discussion of Traffic Types for more information.

Actual Traffic Offered: This is the real traffic offered by the sources. See A Discussion of Traffic Types for more information.

Actual Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: The traffic that is lost. (Traffic Offered) = (Traffic Carried) + (Traffic Lost).

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. The first server services incoming

(23)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 23 requests preferentially. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

Average Delay, All calls: The average delay of all requests, including those requests that see no queue and enter service immediately.

Average Delay, Delayed Calls: The average delay of requests that experience some queuing delay.

Average Holding Time (AHT) [Input]: This is the average time it takes a server to process one request. It does NOT include any time on the queue. It you do not know the AHT, enter 1 and all calculated delays will be expressed as a fraction of the AHT.

Average Queue Length, All Calls: This is the average length of the queue, measured in requests (or Calls in telephony), including those requests that see no queue and enter service immediately

Average Queue Length, Delayed Calls: This is the average length of the queue, measured in requests (or Calls in telephony), for those requests that experience some queuing delay.

Probability of…

… EXACTLY n calls in the system: The probability of n calls (requests) in service or in the queue.

… MORE than n calls in the system: The probability of more than n calls (requests) in service or in the queue.

Uses:

Designing private phone systems (PBXs) where · Office size (sources) is small

· Where there is no overflow,

· Networked servers (eg Fax Servers, Modem Pools,…) · Help Desk phone traffic.

Assumptions:

· Sources: Finite

· Blocked Calls: Held. There is a First-Come-First-Served (FCFS) queue.. · Arrival Times: Equal traffic density per source.

(24)

Delay Model Usage: Inputs:

Sources: Enter the population that can generate request for service.

Traffic Offered – Per Source: Enter the traffic load generated by an average source. You must enter the Idle traffic. See A Discussion of Traffic Types for more information. If you don’t know this value, but you are modeling telephone traffic load in an office environment for typical desk-based employees — estimate the percentage of the time these users are on the phone (x), and enter (x/(1-x)) as Idle traffic per source. (E.g. if the accountants are on the phone 20% of the time, enter Idle, 0.25)

Number of Circuits or Servers: The number of discrete Resources that can satisfy calls. In telephony, this is the number if circuits or trunks.

Average Delay, all calls: When modeling with Erlang C or Delay, we are usually more focused on managing the maximum waiting time on the queue. For that reason, in this model the Probability of Delay is not an input — but it is a computed result. In this box you should enter the maximum average queuing delay you want incoming requests to experience.

Average Holding Time (AHT): This is the average time it takes a server to process one request. It does NOT include any time on the queue. It you do not know the AHT, enter 1 and all calculated delays will be expressed as a fraction of the AHT.

Results:

‘Idle’ Traffic Offered: This is the traffic offered by always-idle sources. See A Discussion of Traffic Types for more information.

Actual Traffic Offered: This is the real traffic offered by the sources. See A Discussion of Traffic Types for more information.

Actual Traffic Carried: The traffic carried by the system. This will always be less than the offered traffic, as there is always some probability that some calls will be lost.

Lost: As no traffic can be lost (requests can not leave the queue), this is always zero.

Circuit n carries: Each circuit carries a different amount of traffic in this model, and the first server carries more traffic than the 2nd and so on. The first server services incoming requests preferentially. If that circuit is busy, then the 2nd server gets the request, and so on. You can enter any integer value in the CIRCUIT box, and press the Calculate button to the right to see the traffic carried by that circuit.

(25)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 25 Average Delay, All calls: The average delay of all requests, including those requests that see no queue and enter service immediately.

Average Delay, Delayed Calls: The average delay of requests that experience some queuing delay.

Average Queue Length, All Calls: This is the average length of the queue, measured in requests (or Calls in telephony), including those requests that see no queue and enter service immediately

Average Queue Length, Delayed Calls: This is the average length of the queue, measured in requests (or Calls in telephony), for those requests that experience some queuing delay.

Probability of…

… a Delay: The probability that a given incoming request will not commence service immediately. These blocked requests enter a queue, where they are DELAYED until they commence service. The number is expressed as a decimal fraction; i.e. 5% is expressed as 0.05.

… EXACTLY n calls in the system: The probability of n calls (requests) in service or in the queue.

… MORE than n calls in the system: The probability of more than n calls (requests) in service or in the queue.

Uses:

• Networked servers (eg Fax Servers, Modem Pools,…) • Repair turnaround.

Assumptions:

· Sources: Finite

· Blocked Calls: Delayed. There is a First-Come-First-Served (FCFS) queue. · Arrival Times: None.

(26)

Erlang Program Contact Information

Email:

General Information: support@erlang-software.com WWW http://www.erlang-software.com/ FAX +61-8-9238 1850 VOICE MAIL +61-8-9238 1850 Postal address Erlang Software 3 Barker Place, Bicton WA 6157 Australia Equations

The equations behind each of these models can be daunting. They routinely involve factorials (n!) of large numbers, and large numbers raised to large powers. Such calculations very quickly overwhelm spreadsheets, as the intermediate values needed to get to an answer often overflow or underflow. This is why many spreadsheet-based alternatives to this program have very limited ranges of traffic or servers (etc.) which limit their usefulness.

In fact, most of the work in programming Erlang has gone into maximizing the allowable range of values permitted, and correctly handled.

Some results can be calculated via direct mathematical formula. Other results have no simple numerical solution — such as the number of servers/trunks required to satisfy a given blockage probability — and require looping iteration to zero in on the correct answer.

In short, the equations behind this program can fill books, and do. If you want to get them, I recommend you visit http://www.erlang-software.com/recommended_reading.htm . System Requirements

This program will run on almost any computer running a recent Microsoft operating system. It does involve intensive mathematical calculations and will run noticeably faster on a faster computer.

(27)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 27 • Operating System: Windows 95, 98, 2000, NT4.00 or higher

• Processor: The program has been compiled in such a way to be optimized for a Pentium processor. However, it will run on any processor above an Intel 486 processor.

• Memory: No special requirements.

• Disk: No special requirements, beyond the 1MB of disk space needed to install the program.

License Information

The following licenses are available:

• Demo License: This license is free, and allows you to run the program for 30 days. After then you will have to purchase a valid Full License.

• Full License: This license enables all functions and has no time limit.

• Upgrade License: This license allows you to upgrade to the next version, at a discount.

Full details and current prices can be found at http://www.erlang-software.com/ Other Products

The following associated products are available:

• Source Code: The source code (in ANSI-C) is available for all the mathematical calculations. You can buy the code for as many models as needed.

• DLLs: If you want to build your own Windows program, you can by the mathematical code pre-compiled in the form of DLL file(s).

(28)

A Discussion of Traffic Types

It is important to understand what is really meant by ‘traffic’. There are a number of types to consider:

• Carried Traffic: This is the traffic the system actually services, and is either the same as the offered traffic, or less than the offered traffic.

• Offered Traffic: This is the traffic offered to a system, (ie. that is the total of the source population service requests). It may not be the same as the traffic carried by the system – if some traffic could be lost, or held. In telephony, Offered Traffic is often difficult to measure. Usually, all we get to see is the carried traffic.

• Actual Offered Traffic: This is the sum of the actual service requests per second offered to the system. However, in some finite source models, the equations need the Idle Offered Traffic.

• Idle Offered Traffic: This is the traffic that would be offered if sources were always idle. It is always HIGHER than the actual offered traffic, because while a source is occupied in a queue or in service, it is not capable of generating service requests.

The difference between some of these traffic types is best illustrated by the following example.

• Some number of Servers, each of which takes 3 mins (ave.) to service a request • 6 Sources, each of which sits idle for 30 mins (ave.) between requests for service • A queue, with a behavior that blocked requests are Delayed. Average time on the

queue is known to be 1 minute.

(29)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 29 Using the terms defined in the Glossary;

(30)

Range of Supported Values

Although this program supports the highest possible range of values, there are still limits caused by the maximum and minimum values supported by the internal calculations. The limits below are calculated assuming a probability of loss of 1% (P01).

(31)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 31 Glossary of Terms

BASE TRAFFIC: See Idle Traffic.

BLOCKED TRAFFIC; A call that cannot be served immediately. When a request for service finds all servers busy, the service request is blocked. What happens to this request is important. Three cases are generally considered.

Lost: A Lost service request disappears from the system. In telephony, this corresponds to a caller getting a ‘busy signal’ then hanging up, going away, and giving up. There is never a queue in a Blocked Calls Lost model.

Held: A Held service request enters a first-come-first-served (FCFS, or FIFO) queue. The queue can contain more than one request. Requests cannot balk — i.e. can’t refuse to join queue because of length. In telephony, this corresponds to a caller being ‘on hold’. The total time this request spends in the queue plus being serviced remains the average holding time (defined later). Once the average holding time expires, the request disappears from the system. This could occur while the request is in the queue, or while being serviced. In telephony, this corresponds to a caller that is ‘on hold’ either hanging up before being serviced, or eventually being serviced, but impatiently having an abbreviated conversation.

Delayed: A delayed service request enters a first-come-first-served (FCFS, or FIFO) queue, and stays there until a server is ready. The queue can contain more than one request. Requests cannot balk — i.e. can’t refuse to join queue because of length. The request is then serviced for the full average holding time. Service requests cannot disappear, and the queue could grow without limit.

BUSY HOUR:

1) Period of maximum Offered Traffic. e.g. 09:30am to 11:30am for some offices

2) The continuous 1-hour period of the day that has the maximum traffic intensity. CALL:

1) A request for service.

2) A discrete usage or occupation of a traffic path; real or virtual

CALL HOUR: A unit of traffic density. One call.hour is the quantity represented by one or more calls having an aggregate duration of 1 hour.

1 call.hour = 36 CCS = 60 call.minutes = 3600 call.seconds CARRIED TRAFFIC: See Traffic Types

(32)

CCS: Centi-Call Seconds. The total amount of telephone traffic (measured in seconds) divided by 100.

36 CCS = 1 Erlang.

ERLANG: Unit of traffic intensity (dimension-less) = (Sum of call.minutes in period)/(period (mins)). One traffic path occupied continuously represents one Erlang of traffic.

DELAY: The time a request spends in the queue. The Average Delay for All Calls is the (sum of all delays in a period)/(number of arriving requests in the same period.). The Average Delay for Delayed calls is the (sum of all delays in a period)/(number of arriving requests that experience some delay in the same period).

DELAYED: Blocked calls wait indefinitely for service, and then use the server for the full holding time. See Blocked Traffic

DISTRIBUTION: The probability of an event (eg. an arrival) expressed as a function of time; f(t) where t = time. The common distributions are:

Constant:

Exponential:

Poisson:

HELD: Blocked calls wait for service no longer than the average Holding Time, and then use the server for the balance of the holding time. See Blocked Traffic

HOLDING TIME: Time required for a server to completely service a request. The Average Holding Time is the time required to service the average request.

IDLE TRAFFIC: Traffic offered by sources if always idle = (Ave. Holding Time) / (Ave. Time between Calls)

Can be greater than 1.0. Referred to as Base Traffic in some books. See also Traffic Types

LOST: Blocked calls disappear from the system. See Blocked Traffic

OFFERED TRAFFIC: The requests for service. See also Traffic Types

PROBABLITY OF LOSS: The probability that the average request will not be serviced immediately, and will be lost from the system.

(33)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 33 PROBABLITY OF BLOCKAGE; The probability that the average request will not be service immediately, and will enter a queue.

QUEUE LENGTH; The number of requests in the queue (waiting for service) at a given time. The Average Queue Length for all calls is the average queue length at all times. The Average Queue Length for delayed calls is the average queue length during the periods when the queue is not empty.

SOURCES: A source can generate a request for service. In telephony, a source could be a person with a telephone. There are two cases to consider.

Infinite: If the number of sources is much larger than the number of servers, then the source population can be assumed to be infinite. A source: server ratio of 20:1 or greater can be considered infinite.

Finite: If the source: server ratio is less than 20:1, the source population should be considered finite. The reason the finite source case needs special consideration is that when a source is being serviced (or in a queue waiting for service) it is no longer part of the population that can generate more service requests. The gain in traffic handling capacity is known as the limited source effect.

SERVERS: Resources that can satisfy calls = (in telephony) circuits or trunks

TRAFFIC PATH; A channel, time slot, line, trunk, frequency slot, switch, or circuit over which individual communications pass in sequence.

TRAFFIC: In Telephone systems: The phone calls

In Queues: The units of service

Traffic is measured in Erlangs. See Traffic Types

(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 45 Erlang Application Examples

The following illustrate some practical examples of using Erlang. Common to all examples are the following:

• Holding Time . This is the time a ‘server’ (e.g. a customer service rep. , or a phone line, or ..) is busy serving a single request for service (i.e. a customer, a phone call, ...).

• Traffic . The amount of ‘traffic’ a system must handle is measured in the international units of erlangs. Traffic is calculated as:

total minutes of ‘service’ time per hour Traffic (erlangs) =

minutes per hour

• Queue Length. Queue lengths are not measured in terms of minutes - but in terms of average holding times. For example, if it take 2.5 minutes to serve an average customer, and if the average customer wait time is 5.0 minutes, then the queue is 2.0 ave. holding times long.

• Model. There are 6 models to choose from, depending on the customer population and their queue behaviour. The models are:

Balking. Customers not served immediately disappear.

Impatient. Customers not served immediately wait in a queue for a maximum of the average service time. If still not served, they give up and leave.

Ordered. Customers not served immediately wait in a queue until served.

(46)

Model Application Example Erlang B Phone Trunking with overflow

Poisson Phone Trunking, no overflow

Erlang C Bank Teller

Engset PBX Planning

Binomial Delay

Example - Telephone Trunking, with no overflow

During the BUSY HOUR, a large company phone system must handle the following traffic:

Outgoing calls = 28 calls/hr, each 140 seconds (average) Incoming calls = 300 calls/hr, each 120 seconds (average) If we want 99% chance of all

calls succeeding, how many phone trunks are needed if

• Case A)

We have separate incoming & outgoing trunks?

• Case B)

We have two-way trunks?

Case A)

Separate In/Out Trunks

We can assume infinite sources (large company), and that failed calls are not ‘lost’ (callers retry). So – the best model is Poisson Incoming traffic = 300calls x 120 seconds/call / 3600 seconds/hr = 10 erlangs.

Blocking probability = 1% = 0.01

Required incoming trunks = 19 Outgoing traffic = 28 calls x 140 seconds / 3600 calls/hr = 1.089 erlangs

Blocking probability = 1% = 0.01

Required outgoing trunks = 5 Total Trunks = 19+ 5 = 24

(47)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 47 Case B) Two-way Trunks

Total traffic = 10 + 1.089 = 11.089 erlangs Blocking probability = 0.01

Total trunks = 21

Example - Telephone Trunking, with overflow

During the BUSY HOUR, a large company phone system is offered 280 long distance calls, each with an average holding time of 4 minutes. The company uses two long distance phone companies, (“Acme”, and “Cheapo”) and wants to give 60% of the busy hour traffic to “Acme”, and have 0.1% chance overall of the call failing due to no trunks being available. How many “Acme” access trunk lines are needed, and how many “Cheapo” trunks? (Assume the phone system is programmed to choose “Acme” trunks in preference to “Cheapo” trunks.)

We need to solve this in three steps:

1. Calculate Total Trunks) Solve how may trunks we need in total.

2. Calculate Acme Trunks) Solve how many trunks we need to buy from Acme. 3. Calculate the difference.

Answer:

Total Trunks (T) = 33 Acme Trunks (A) = 13 Cheapo Trunks (T-A) = 20

(48)

Solve For Total Trunks

Because this is a large population (company), we can assume infinite sources. Because calls not carried will probably be tried again, (i.e. enter a virtual queue), we should use the Poisson model.

Offered Traffic; 280 x 4mins/(60 mins-per-hr) = 18.67 Erlangs Overall Probability of loss 0.001

Answer; 33 trunks (total)

Solve For Acme Trunks

Because this is a large population (company), we can assume infinite sources. Because calls not carried by “Acme” are ‘lost’ to “Cheapo”, we should use the Erlang B model. Model Erlang B

Offered Traffic: 280 x 4mins/(60 mins-per-hr) = 18.67 Erlangs Probability of loss: 0.40

(49)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 49 Example - Bank Tellers

How many tellers are required to handle 230 customers per hour if 85% of customers are to wait no more than 60 seconds in line, and the average time a teller spends with a customer is 100 seconds?

Model: Best match = Erlang C; use the Call Center tool Answer = 9 tellers (See below.)

Note: The concept of Trunks (phone lines) does not apply to this problem, so it can be ignored in the answer.

Now, what if management wants 85% of calls to be answered within 15 seconds? Answer = 10 tellers (Screen shot not shown)

Without a tool like Erlang, you might assume you need to quadruple the number of tellers to 32 to reduce the delay by a factor of 4!

(50)

Example - PBX Planning

You are moving to a new office. You have 250 staff (which will grow to 500 in 2 years). How many outside phone lines do you need if during the busiest hour of the business day, the average staff member attempts to make or receives 3 outside calls per hour,

(51)

Prof. Pedro de Alcântara Neto – Escola Politécnica de Pernambuco 51 each lasting 3.5 minutes and you want 99.9% of calls to be able to get an outside dial tone first try?

Now: In 2 years:

Model: Best match = Engset Engset

Sources = 250 500

Actual Traffic per source = 3 x 3.5/ 60 = 0.175 0.175 erlangs.

Probability of blockage = 0.001 0.001

(52)

Referências

Documentos relacionados

Dentre os estudos sobre a teoria da liderança autêntica, alguns pontos merecem destaque: a liderança autêntica tem um forte caráter ético/moral; a autenticidade é um

In order to do so, we estimate the welfare and tra ffi c e ff ects of alternative policies to be applied to the city of Sao Paulo: a congestion charge, or urban toll, and a

In this paper we analyse these monitoring concepts (domination, covering and guarding) from a combina- torial point of view, for a special class of triangulation graphs, the

Contudo o presente estudo verificou que o facto dos portugueses se sentirem privados face a um grupo de referência esteve associado a atitudes negativas face a

Considering the vehicle traffic as the main source of noise and by using the linear coefficient of Pearson (r) as a statistical parameter, some statistical

The relevance of this article relies not only on the world’s sixth economy’s potential , which, as a BRIC country, has been facing high expectations of promising growth and

aegypti infestation indices (household and Breteau) failed to enter into the model; b : population size from the 2000 National Census, traffic flow (mean daily number of

The aim of the present study is to help all designers and architects, city council technicians, and other technicians licensed for this purpose, engineers, planners