Concurrent Programming in ERLANG

|
Concurrent Programming
in ERLANG
Second Edition
Joe Armstrong
Robert Virding
Claes Wikstr¨om
Mike Williams
Ericsson
Telecommunications Systems Laboratories
Box 1505
S - 125 25 ¨ Alvsj¨o
Sweden
PRENTICE HALL
Englewood Cli s, New Jersey 07632




Parte 1 subido mediafire descarga de aqui
Seguir leyendo...

Articulo Erlang

|
Date Arrow December 19, 2007

As I said before, I like to learn a new programming language every year. I also like to read at least 6 computing-related books every year, but the article about those 6 will come later.

The reason for these two rules is twofold: first, it gives me lots of material to blog about, and helps me refine my list of preferred languages :) secondly, and more seriously, learning a new programming language makes you think differently about problems. It’s not just something to keep my CV updated; it’s to challenge what I know, how I know it, and why I know it. It is important, and it’s not easy; and I’m not the only one to do it.

From all the candidates that I had for this year, I chose to learn Erlang. Here’s some of my impressions.

Erlang is a functional programming language, created by Joe Armstrong (photo) at Ericsson in the 80s. The name of the language is a pun between the name of the Danish mathematician Agner Krarup Erlang and the acronym “ERicsson’s LANGuage”. By the way, lots of things are coming from Denmark lately.

The main factor that made me jump on this wagon was that the language got a lot of attention, both in 2006 and 2007. The peak of all this buzz was a couple of days ago, when Amazon unveiled a new online service called SimpleDB, apparently built with Erlang. The reason for this is Erlang’s inherent capability to handle massively parallel programming relatively easily. In Erlang you can create lightweight processes, each sending messages to the others, and thus divide your problems in small units that run concurrently.

Even more buzz, the release of the Pragmatic Programmer’s book about Erlang (written by Joe Armstrong himself) has added a strong factor to the recent popularity of the language.



How to start with Erlang?

1. Get it working on Leopard using MacPorts;
2. Activate the Erlang language support in TextMate;
3. Follow a quick tutorial to get the idea;
4. Check out the Yaws web server build on Erlang, apparently much, much stronger than Apache under high load!;
5. Download, install and play with ErlyWeb, an MVC framework similar to Rails;

More interesting reading (and viewing) about the language:

* Erlang: the Movie;
* What’s all this fuss about Erlang?, by Joe Armstrong;
* Web 2.0: Shifting from “Get Fast” to “Get Massive”;
* Concurrency is easy, in Joe Armstrong’s blog;
* More Erlang, by Yariv Saran, a guy who really knows about Erlang;
* An Introduction to Erlang on the ONLamp.com O’Reilly’s website.

My del.icio.us link list about Erlang will keep growing… subscribe to the RSS feed to get updated of new entries on your favorite reader.

In spite of some opinions that I have seen about Erlang so far (please check a question I’ve asked at LinkedIn about it), I have found this language extremely interesting; and at the moment, my list of known programming languages goes like this:

* 1992: QBasic; it came bundled with my first PC!
* 1993: Turbo Pascal; it was part of the official curriculum in the University of Geneva.
* 1994: C; my first contact with the bracket syntax.
* 1995: Delphi; I preferred more the Pascal syntax at that time… and it was an amazing environment to work with.
* 1996: Java; everybody was talking about it at the time! You couldn’t miss it.
* 1997: JavaScript; adding interactivity to web pages was the coolest possible thing to do at the time!
* 1998: VBScript; that’s when I started working with MS’ ASP technology;
* 1999: Transact-SQL; those ASP pages were talking to a SQL Server 6.5 in the background…
* 2000: C# and Prolog; the first was the coolest thing since sliced bread (remember the technology previews back in August 2000?), and the second, part of the official curriculum at the Universidad de Buenos Aires…
* 2001: C++; I had to learn it. It’s a major step in anyone’s career.
* 2002: PHP; my jump to the open source world started here…
* 2003: Objective-C; after I became a “switcher”, I installed the free developer tools that came with Mac OS X… and never looked back!
* 2004: Visual Basic.NET; stuff that some clients required me to learn… geez.
* 2005: Ruby; my flirting with Rails started that year.
* 2006: LINQ; a language inside a language: or how to use C# to filter collections in-memory as if they were small databases…
* 2007: Erlang; here I am now!


sacado de http://kosmaczewski.net/2007/12/19/erlang/
Seguir leyendo...

Lenguaje ERLANG

|
Es un lenguaje funcional, con evaluación estricta, asignación única, y tipado dinámico. Fue diseñada en la compañía Ericsson para realizar aplicaciones distribuidas, tolerantes a fallos, soft–real-time y de funcionamiento ininterrumpido. Proporciona el cambio en caliente de código de forma que este se pueda cambiar sin para el sistema. Originalmente, Erlang, era un lenguaje propietario de Ericsson, pero fue cedido como open source en 1998.

La implementación de Ericsson es, principalmente interpretada pero también incluye un compilador HiPE (solo soportado en algunas plataformas). La creación y gestión de procesos es trivial en Erlang, mientras que, en muchos lenguajes, los hilos se consideran un apartado complicado y propenso a errores. En Erlang toda concurrencia es explicita.

Erlang recibe el nombre de A. K. Erlang. A veces se piensa que el nombre es una abreviación de Ericsson LANguage, debido a su intensivo en Ericsson. Según Bjarne Dacker quien fue el jefe de Computer Science Lab en su día, esta dualidad es intencional.

Limbo es un lenguaje de programación para escribir sistemas distribuidos. Además es el lenguaje usado para escribir aplicaciones para el sistema operativo Inferno. Fue diseñado en los Laboratorios Bell por Sean Dorward, Phill Winterbotton y Rob Pike.
Seguir leyendo...

Situación de bloqueo. Función de Erlang B

|
Se define la situación de bloqueo como aquella en la cual todos los servidores están ocupados. En estas circunstancias, cuando llegue una nueva unidad, no podrá ser atendida y, al no disponer de cola de espera, se perderá.
De acuerdo con esta definición, se puede calcular la probabilidad de estar en esta situación de bloqueo por identificarla con estar con todos los servidores ocupados, puesto que en este caso la llegada de una nueva unidad provoca irremediablemente su pérdida. En suma, la probabilidad de bloqueo coincide con la probabilidad del estado m, y es lo que se define como función de Erlang B usando la siguiente expresión de probabilidad:



Así pues, la función de Erlang B no es más que la probabilidad de bloqueo de un sistema M/M/m/m,
es decir, de un sistema formado únicamente por servidores, sin cola de espera.
Este tipo de cola modela perfectamente el acceso a los circuitos de una central telefonía. Por ello,
Erlang B es un modelo típicamente empleado para el dimensionado de sistemas basados en
conmutación de circuitos.
Si a es el tráfico ofrecido (TO) al sistema, queda claro que a·Pm (= a · Er1(m,a)) debe ser el tráfico
perdido (TP). Dado que el tráfico cursado (TC) es la diferencia entre el ofrecido y el perdido (TC =
TO – TP), se tiene que TC = a (1-Er1(m,a)), tal como muestra la figura




También se puede obtener fácilmente que el número medio de unidades en el sistema es



que es precisamente el tráfico cursado en el sistema.
Seguir leyendo...

La cola M/M/m. Erlang C

|
Modelo de cola
Al igual que para los sistemas anteriores, considérese una tasa de llegadas 􀁏 y una tasa de servicio , en un servidor. Cada estado representa el número de unidades en la cola de espera.

Como se desprende de la notación, el sistema que ahora se va a estudiar dispone de únicamente m servidores, con cola infinita.

En consecuencia, puede haber hasta m unidades atendidas simultáneamente y un número ilimitado esperando en cola. Nótese que la primera unidad que formará cola es la que ocupe el ordinal m+1. En este caso, el modelo de cola coincide con el de M/M/ hasta el estado m-ésimo, dado que hasta este momento, la situación es la misma.
Sin embargo, a partir de la llegada de la unidad m+1, ésta no será atendida y pasará a esperar su turno en cola. En consecuencia, cuando el estado del sistema sea superior a m, todos los m servidores estarán activos, y por tanto, la tasa de servicio para los estados superiores a m será m·. Por otro lado, las
llegadas se producen a tasa , independientemente del número de unidades en el sistema ésa será la tasa de nacimientos, y así se pone de manifiesto en la cadena representada en la figura



Seguir leyendo...

Ejercicios de Trafico

|
1 ) Si un aparato telefónico cursa un día 27 llamadas, cada una de las cuales tiene una duración de 5 min. (como termino medio), el volumen de trafico será:

Vt=n*d=27*5 min=135 min.
Vt=135 min*60 Seg.=8.100 Seg.
Vt=8.100 Seg.*(1 LL.R./120 Seg.)=67'5 LL.R.
Vt=8.100 Seg.*(1 C.C.S./100 Seg.)=81 C.C.S.

Calcular además la intensidad de trafico si se observo durante un día.

It=Vt/tobs=(8.100 Seg./24 horas)*(1 hora/3600 Seg.)=0'09375 E
It=0'09375 E*((30 LL.R./H.C.)/1 E)=2'8125 LL.R./H.C.
It=0'09375 E*((36 C.C.S./H.C.)/1 E)=3'3375 C.C.S./H.C.

2 ) Si 5 órganos de una central de conmutación cursan cada uno de ellos 32 llamadas de una duración media de 2 min. cada una, el volumen de trafico será:

Vt=N*n*d=5*32*2 min.=320 min.
Vt=320 min.*(60 Seg./1 min.)=19.200 Seg.
Vt=19.200 Seg.*(1 LL.R./120 Seg.)=160 LL.R.
Vt=19.200 Seg.*(1 C.C.S./100 Seg.)=192 C.C.S.

Calcular además la intensidad de trafico si se observo durante 1 hora.

It=Vt/tobs=19.200 Seg./3.660 Seg.=5'33 E
It=5'33 E*((30 LL.R./H.C.)/1 E)=160 LL.R./H.C.
It=5'33 E*((36 C.C.S./H.C.)/1 E)=192 C.C.S./H.C.
Seguir leyendo...

ENCAMINAMIENTO DE TRAFICO. NORMAS O CRITERIOS

|
Como la Red Complementaria se superpone a la Red Jerárquica, el camino para conectar 2 abonados entre si puede no ser único. Por tanto pueden aparecer varias rutas alternativas u opciones a la ruta final.

Esto supone que es más difícil que una llamada se pierda por no existir caminos libres, pero supone la necesidad de tomar decisiones sobre el encaminamiento de la llamada, ya que debemos elegir un camino entre todos los que están libres.

La decisión del encaminamiento se toma en cada una de las centrales implicadas en la llamada. Cada central toma la decisión del encaminamiento teniendo en cuenta el destino final de la llamada, y según uno y solo uno de los siguientes criterios de encaminamiento.

-Criterio nº 1
Si entre la central donde se decide el encaminamiento y la central de destino final de la llamada existe una sección directa, se encaminara el trafico por esta como primera opción. Aquellas llamadas que no puedan ser cursadas por esta sección directa (TRAFICO DE DESBORDAMIENTO), lo harán por sección final correspondiente.

-Criterio nº 2
Solo se aplica si no puede usarse el primer criterio. Si existe sección directa entre la central donde se decide el encaminamiento y una central que sea, por red Jerárquica, de rango superior a la central de destino final de la llamada, se cursara por esta, y el trafico de desbordamiento se cursara por la sección final correspondiente. Si existen varias secciones directas que cumplan esta condición, se hará por la mas corta. El trafico que una sección directa no pueda cursar, nunca se cursara por otra sección directa, sino por sección final.

-Criterio nº 3
Solo se aplicara cuando no pueden aplicarse ni el primer ni el segundo criterio. Se encamina el trafico como única opción por la sección final correspondiente. El trafico que dicha sección final no pueda cursar, no podrá encaminarse y constituirá lo que se denomina TRAFICO PERDIDO.

Sobre estos criterios deben resaltarse los siguientes puntos:

a ) El encaminamiento se hace desde el abonado A al abonado B, haciendo los tránsitos necesarios en las centrales intermedias.

b ) Cada central tomo uno y solo uno de los criterios anteriores. Si no puede tomar el primero tomara el segundo, y si no puede tomara el tercero

c ) Cuando se aplique el primer o segundo criterio, tendrá que estudiarse por separado cada uno de los caminos que se obtienen como opción.

d ) La alternativa a una sección directa nunca es otra sección directa.

e ) Las centrales que toman decisiones de encaminamiento dependen del origen y destino de la llamada, y de las decisiones de encaminamiento previas.

f ) Se tomaran con preferencia las secciones directas por los que los encaminamientos sean mas cortos.

Ejemplo:
Vamos a encaminar una llamada desde N a P en la red de la figura siguiente:
Si solo existiera la Red Jerárquica el camino seria único e igual al de la ruta final.

RUTA FINAL: N-H-D-A-B-E-I-P





1ª alternativa: N-H-P
2ª alternativa: N-H-D-I-P
3ª alternativa: N-H-D-A-E-I-P
RUTA FINAL : N-H-D-A-B-E-I-P




Veamos también el encaminamiento entre M y P



1ª alternativa: M-G-C-A-E-I-P
RUTA FINAl : M-G-C-A-B-E-I-P

Veamos también el encaminamiento entre P y N




1ª alternativa: P-H-N
2ª alternativa: P-I-H-N
3ª alternativa: P-I-E-D-H-N
4ª alternativa: P-I-E-B-D-H-N
RUTA FINAL : P-I-E-B-A-D-H-N
Seguir leyendo...

Intensidad de tráfico (ERLANG)

|
Es el volumen de tráfico dividido por la duración del período
de tiempo especificado; su unidad de medida es el erlang.
Un erlang es equivalente a una llamada que dure una hora completa.
Por definición, un simple órgano ocupado continuamente o intermitentemente por un
tiempo total «t» durante un período T, tienen una intensidad de trafico de t/T erlangs,
siendo su máximo posible la unidad, es decir 1, y su mínimo 0.
Otros conceptos importantes para el dimensionamiento son la hora cargada BH (Busy
Hour) y los intentos de llamada en dicha hora cargada BHCA (Busy Hour Call
Attempts).
La BH se define como el período continuo de una hora en un día en el que se produce la
mayor intensidad de tráfico. Los intentos de llamada que se producen durante esa hora
sirven para dimensionar los órganos de la central de manera tal que se pueda dar el
grado de servicio especificado.


VOLUMEN, INTENSIDAD Y TASA DE TRAFICO. UNIDADES

El Volumen de Trafico cursado por un órgano o circuito telefónico durante un determinado periodo de tiempo, es igual al tiempo de ocupación de dicho órgano o circuito, durante dicho periodo de tiempo.

Por ejemplo, si un teléfono esta ocupado durante una hora al día, su Vt será de 1 hora. Si lo esta durante una hora en una semana, su Vt será de 1 hora.

El Vt, se mide en unidades de tiempo y además se ve que por si solo no es identificativo del grado de ocupación del órgano o circuito, pues pueden obtenerse idénticos valores de Vt para periodos de tiempo distintos.

El concepto de Vt puede generalizarse a un conjunto de órganos o circuitos, y en tal caso diremos que es la suma de los tiempos de ocupación individuales de todos los órganos o circuitos durante el periodo de tiempo considerado.

Como las unidades de Vt son unidades de tiempo (miden el tiempo de ocupación) pueden utilizarse:

-Hora
-Minuto
-Segundo

y además otras unidades especificas como:

-LLAMADA REDUCIDA (LL.R.):
Corresponde a un tiempo de ocupación de 120 Seg. o 2 min.

-CENTUM CALL SECONDS (C.C.S)-Cientos de segundos:
Corresponde a un tiempo de ocupación de 100 Seg.

La equivalencia entre estas dos unidades es:

1 LL.R.=1'2 C.C.S. <==> 1 C.C.S.=0'833 LL.R.

El Vt correspondiente a un cierto numero de llamadas, puede obtenerse fácilmente si se conoce el tiempo medio de duración de las mismas. En tal caso:

Vt=n*d

Siendo, "n" el numero de llamadas y "d" el tiempo medio de duración de las mismas. Vt se obtendrá en las mismas unidades en que se exprese "d".

Intensidad de trafico (It). Unidades

El Vt por si solo no da idea del grado de ocupación. Debemos saber además el periodo de tiempo en el que se ha cursado dicho volumen de trafico. Este periodo se denomina TIEMPO DE OBSERVACION o TIEMPO DE REFERENCIA (tobs o tref).

Es decir:

Vt
It = ----
tobs

La It se expresa normalmente en una unidad llamada ERLANG (E). Un Erlang es la It correspondiente a un órgano o circuito, o conjunto de estos, cursan un volumen de trafico de una hora en un tiempo de observación de 1 hora.

Esto quiere decir que si expresamos Vt y tobs en la misma unidad el resultado vendrá dado en Erlang.

También se define Erlang como la It correspondiente a un órgano o circuito, o conjunto de estos que cursa un volumen de trafico igual al tiempo de observación.

Por lo tanto, un órgano o circuito individual nunca puede cursar una It mayor que un Erlang. Y un conjunto de "N" órganos o circuitos nunca puede cursar una It mayor que "N" Erlang.

La It siempre se asocia a un periodo de tiempo que se toma como referencia y que suele tomarse como tal la llamada HORA CARGADA. La Hora Cargada se define como el periodo de 60 minutos consecutivos del día, donde el trafico es mayor. En la practica se obtiene mediante los cuatros periodos consecutivos de 15 minutos en los que se obtiene mayor trafico.

La It también puede expresarse en las siguientes unidades:

* LLAMADA REDUCIDA-HORA CARGADA (LL.R./H.C.)

Es la intensidad de trafico correspondiente a un Vt de 1 LL.R. cursada por un órgano, circuito o conjunto de estos, durante la hora cargada.

* CENTUM CALL SECONDS-HORA CARGADA (C.C.S./H.C.)

Es la intensidad de trafico correspondiente a un volumen de trafico de 1 c.c.s. cursada por un órgano, circuito o conjunto de estos, durante la hora cargada.

Las equivalencias entre estas unidades son:

1 E = 30 LL.R./H.C. = 36 C.C.S./H.C.
1 LL.R./H.C. = 0'033 E = 1'2 C.C.S./H.C.
1 C.C.S./H.C. = 0'028 E = 0'833 LL.R./H.C.



2.2.- DENSIDAD, COEFICIENTE O TASA DE TRAFICO (Ct). UNIDADES

Indica el valor medio de It por órgano o circuito individual cuando tenemos un conjunto de estos. Se define como el cociente entre intensidad de trafico y el numero de órganos o de circuitos que forman el conjunto que cursa dicho trafico (N).

Es decir:

It
Ct = ----
N

Generalmente se expresa en "Erlang/Línea" independientemente del órgano o circuito considerado. Si se expresa en "Erlang/nombre del circuito u órgano" también es correcto.
Seguir leyendo...

Fórmula Engset

|
La fórmula Engset, así llamada por T. O. Engset, está relacionada pero funciona con una población finita de S orígenes en lugar de la población infinita de orígenes que asume Erlang:

 E(N, A, S) = \frac{A^N {\left( \begin{array}{c} S \\ N \end{array} \right)}} {\sum_{i=0}^NA^i {\left( \begin{array}{c} S \\ i \end{array} \right)}}


Esto puede puede ser expresado recursivamente del siguiente modo, en una forma que es usada para calcular las tablas de la fórmula Engset:
E(0, A, S) = 1 \,
E(N, A, S) = { {A(S-N+1)E(N-1,A,S)} \over {N+A(S-N+1)E(N-1,A,S)} } \,


donde:

* E es la probabilidad de bloqueo
* A es el tráfico en Erlangs generado por cada origen cuando está desocupado
* S es el número de orígenes
* N es el número de servidores

De nuevo, se asume que las llamadas que llegan pueden ser modeladas por una distribución Poisson y que los tiempos de espera son descriptos por una distribución exponencial negativa. Sin embargo, debido a que hay un número finito de servidores, la tasa de llegada de las nuevas llamadas decrece a medida que nuevos orígenes (como abonados telefónicos) se vuelven ocupados y por lo tanto no pueden originar nuevas llamadas. Cuando N = S, la fórmula se reduces a una distribución binomial.
Seguir leyendo...

Formula C

|

La Formula de Erlang C también asume una infinita población de fuentes, las cuales ofrecen en conjunto, un trafico de A Erlangs hacia N servidores. Sin embargo, si todos los servidores están ocupados cuando una petición llega de una fuente, la petición es introducido en la cola. Un sin fin de números de peticiones podrían ir a la cola en este modo simultáneamente. Esta formula calcula la probabilidad de la cola ofrecido en el trafico, asumiendo que las llamadas que fueron bloqueadas se quedaran en el sistema hasta que se pueda atender. Esta formula es usada para determinar la cantidad de agentes o representantes de clientes, que necesitará en un [Call Center'] para después saber la probabilidad en la cola.

P_W = {{\frac{A^N}{N!} \frac{N}{N - A}} \over \sum_{i=0}^{N-1} \frac{A^i}{i!} + \frac{A^N}{N!} \frac{N}{N - A}} \,

Donde:

  • A es la intensidad total del trafico ofrecido en unidades de Erlangs.
  • N es la cantidad de servidores [número de troncales].
  • PW es la probabilidad de que un cliente tenga que esperar para ser atendido.

Se asume que las llamadas entrantes puede ser modeladas usando una distribucion de poisony que el tiempo de espera de las llamadas son descriptas por una distribución exponencial negativa.


CALCULADORA ONLINE FORMULA C




lee mas acerca de esto La cola M/M/m. Erlang C
Seguir leyendo...

Formula B

|

La fórmula de Erlang B asume una población infinita de orígenes (como usuarios de telefonía), la cual ofrece tráfico en conjunto a N servidores (como líneas en un grupo de troncales). La tasa de llegadas de nuevas llamadas (tasa de nacimiento) es igual a λ y es constante, no depende del número de recursos activos, porque se asume que el total de recursos es infinito. La tasa de abandono (tasa de mortandad) es igual al número de llamadas en progreso dividida por h, la media del tiempo de llamadas en espera. La fórmula calcula la probabilidad de bloqueo en una pérdida del sistema, si un requerimiento no es atendido inmediatamente cuando trata de utilizar un recurso, y este es abortado. Por lo tanto no son encolados. El bloqueo ocurre cuando hay un nuevo requerimiento de recursos, pero todos los servidores ya están ocupados. La fórmula asume que el tráfico que es bloqueado se libera inmediatamente.

B(N, A) = \frac{\frac{A^N}{N!}}{\sum_{i=0}^{N}{\frac{A^i}{i!}}}

A continuación se muestra cómo puede ser expresado recursivamente, en una forma que es usada para calcular tablas de la fórmula de Erlang B:

B(0, A) = 1 \,
B(N,A) = { {A B(N-1,A)} \over {N+A B(N-1,A)} } \,

donde:

  • B es la probabilidad de bloqueo
  • N es el número de recursos como servidores o circuitos en un grupo
  • A = λh es la cantidad de tráfico entrante expresado en Erlangs

La fórmula Erlang B se aplica a los sistemas con pérdidas, tales como sistemas telefónicos tanto fijos como móviles, que no ofrecen almacenamiento de llamadas (es decir, no permiten dejar la llamada "en espera"), y no se pretende que lo hagan. Se asume que las llegadas de llamadas pueden ser modeladas por un proceso de poison, pero es válida para cualquier distribución estadística de tiempos entre llamadas.

Erlang B también es una herramienta para dimensionar tráfico entre centrales de conmutación de voz.


CALCULADORA ONLINE FORMULA B



Situacion de bloqueo Funcion Erlang B
Lee mas acerca de esto
Seguir leyendo...

Unidad Erlang

|
El Erlang es una unidad adimensional utilizada en telefonía como una medida estadística del volumen de tráfico. Recibe el nombre del ingeniero Danés A. K. Erlang, pionero de la teoría de colas.

El tráfico de un Erlang corresponde a un recurso utilizado de forma continua, o dos canales utilizados al 50%, y así sucesivamente, pro rata. Por ejemplo, si una oficina tiene dos operadores de teléfono y ambos están ocupados durante todo el tiempo, esto representa dos Erlangs de tráfico, o si un canal de radio está ocupado durante treinta minutos en una hora se dice que soporta un tráfico de 0.5 Erlangs.

De forma alternativa, un Erlang puede ser considerado como "multiplicador de utilización" por unidad de tiempo, así un uso del 100% corresponde a 1 Erlang, una utilización de 200% son 2 Erlangs, y así sucesivamente. Por ejemplo, si el uso total del móvil en un área por hora es de 180 minutos, esto representa 180/60 = 3 Erlangs. En general, si la tasa de llamadas entrantes es de λ por unidad de tiempo y la duración media de una llamada es h, entonces el tráfico A en Erlangs es:

A = λh

Esto puede ser usado para determinar si un sistema está sobredimensionado o se queda corto (tiene demasiados o muy pocos recursos asignados). Por ejemplo, el tráfico medido sobre muchas horas de ocupación puede ser usado para un T1 o un E1 para determinar cuántas líneas (troncales) debieran de utilizarse durante las horas de mayor ocupación.

El tráfico medido en Erlangs es usado para calcular el nivel de servicio (GOS). Hay diferentes fórmulas para calcular el tráfico entre ellos, Erlang B, Erlang C y la fórmula de Engset. Esto será discutido a continuación, y cada uno puede ser derivado como un caso espacial de Procesos de tiempo continuo de Markov conocido como birth-death process.
Seguir leyendo...

Contribuciones

|
Mientras trabajó para la CTC, a Erlang se le presentó el problema clásico de la determinación de cuántos circuitos eran necesarios para proveer un servicio telefónico aceptable.

Erlang puso manos a la obra investigando directamente el problema. El realizó medidas en terreno y era un experto en la historia y el cálculo de las tablas numéricas de algunas funciones matemáticas, particularmente logarítmicas.

Erlang desarrolló su teoría del tráfico telefónico a través de varios años. Entre sus publicaciones más importantes sobre la materia, se encuentran:

* En 1909 - "La teoría de las probabilidades y las conversaciones telefónicas"- la cual demostró que la Distribución de Poisson se aplica para tráfico telefónico aleatorio.
* En 1917 - "Solución de algunos problemas en la teoría de probabilidades de importancia en centrales telefónicas automáticas" - el cual contiene su fórmula clásica para el cálculo de pérdidas y tiempos de espera.

Un compendio de sus trabajos fue publicado posteriormente por la Copenhaguen Telephone Company en 1.948

El interés por su trabajo continuó después de su muerte y hacia 1944 el "Erlang" era usado en los países escandinavos para denotar la unidad de tráfico telefónico. Esta unidad de medida fue reconocida internacionalmente al final de la segunda guerra mundial

También una distribución estadística y un lenguaje de programación (listados abajo), han sido nombrados en su honor.
Seguir leyendo...

Biografia Agner Krarup Erlang

|

Erlang nació en Lonborg (Lonborg), en Dinamarca. Era hijo de un maestro de escuela y era descendiente del matemático Thomas Fincke por el lado de su madre.

Erlang aprobó con distinción el examen de ingreso para la Universidad de Copenhague en 1896. Obtuvo una beca para la universidad y se graduó en matemáticas en 1901. Durante los siguientes años sería profesor, pero mantuvo su interés en las matemáticas y recibió un premio por un artículo que remitió a la Universidad de Copenhague.

Fue miembro de la asociación danesa de matemáticas, por medio de la cual conoció a Johan Jensen, el ingeniero jefe de la Copenhagen Telephone Company (CTC), la cual era una subsidiaria de International Bell Telephone Company. Erlang trabajó por casi 20 años para CTC, desde 1908 hasta su muerte en Copenhague en 1928.
Seguir leyendo...

Función de Control - Tráfico Telefónico.

|


El tema básico de tráfico telefónico es el dimensionamiento del Sistema, en lo que respecta a la cantidad de equipos necesarios para cursar las llamadas ofrecidas, de manera económica, y dentro delos parámetros de Calidad de Servicios aceptables, desde el punto de vista de los usuarios. Esto también aplica al dimensionamiento de las rutas.

El problema sería de fácil solución si las llamadas surgieran de manera ordenada, y tuvieran duración constante. Pero esto no ocurre en la práctica, ya que las necesidades de comunicación de las personas, así como la duración de las mismas, están sujetas a fluctuaciones aleatorias. En este punto es que la teoría de probabilidades tiene amplia aplicación en la teoría de tráfico telefónico, suministrando los medios necesarios para la construcción de los modelos matemáticos que tratan la solución del problema.

Se entiende por TRÁFICO TELEFÓNICO, al fenómeno que se origina al ocupar los medios de comunicación adecuados para la Tx de información de voz. Desde el punto de vista de la Física, el Tráfico Telefónico expresado en la definición anterior, es un fenómeno adimensional. Su unidad es el ERLANG, en honor al matemático danés A.K.Erlang, fundador de la teoría de tráfico, el cual logró elaborar un modelo matemático del Tráfico telefónico a partir del cual derivó la teoría subyacente a la optimización, cálculo y dimensionamiento de enlaces y equipos en las centrales telefónicas.

El Erlang es la unidad de medida de la intensidad de tráfico telefónico. Un Erlang significa una ocupación continua o total de un circuito durante 1 hora, o bien que la suma de los tiempos de ocupación de un grupo de circuitos durante 1 hora, sea exactamente 1 hora.

Supongamos que tenemos 5 circuitos, y en 1 hora tenemos el siguiente registro de las ocupaciones de cada órgano o circuito individualmente.

TIEMPO DE OCUPACIÓN (Toc) : Representa el tiempo durante el cual una llamada telefónica ocupa un órgano o circuito de la Central. Por ejm., la 1ra llamada utilizada por el circuito 4, tiene un Toc = 7,5 min.

VOLUMEN DE TRÁFICO (Vt): Representa la sumatoria de los tiempos de ocupación de un órgano o circuito, o grupo de órganos o circuitos, durante el período de observación.

TIEMPO PROMEDIO DE OCUPACIÓN: Es la media aritmética de los tiempos de ocupación de un órgano o circuito, o un grupo de órganos o circuitos de la Central de Cx, durante el período de observación.

INTENSIDAD DE TRÁFICO: Es el cociente entre el Volumen de Tráfico cursado y el período de tiempo durante el cual se realizó la observación.

It = Vt / Tobs

Otros conceptos de tráfico, según su entorno:

TRÁFICO CURSADO: Es el volumen de tráfico que actualmente es dirigido y obtenido de las mediciones de tráfico.

TRÁFICO OFRECIDO: Es aquella cantidad que refleja el total de tráfico ofrecido: el cursado o completado, más aquel que no pudo completarse.

HORA PICO: Representa el período de 1 hora correspondiente a una misma muestra en el curso de los diferentes días de mediciones, en donde el valor medio del volumen de tráfico es mayor.

Más tipos de Tráficos:

-Tráfico Originado.
-Tráfico Terminado.
-Tráfico Interno.
-Tráfico Saliente.
-Tráfico Entrante.
-Tráfico de Tránsito.
-Tráfico de Desborde.
-Tráfico Total en una Central.

CONGESTIÓN: Es la condición que se produce cuando todo el equipo que provee facilidades en un tramo de la llamada se encuentra con una ocupación total, en consecuencia, no puede cursar más llamadas. Existen 2 sistemas que tratan con esta congestión:

SISTEMAS DE PÉRDIDA: Son aquellos sistemas de Cx en los que las tentativas de llamadas se cortan si no existe camino libre para establecer inmediatamente la conexión deseada. En estos sistemas, se llama Tráfico Perdido a la porción de Tráfico Ofrecido que no se puede cursar debido a la congestión.

SISTEMAS DE ESPERA: Son aquellos sistemas de Cx en los que a las tentativas de llamada que se producen cuando no hay caminos para su establecimiento, se les concede la posibilidad de esperar hasta que se produzca la liberación de una de estas vías.

GRADO DE SERVICIO: Representa la proporción de llamadas que no pueden cursarse en la hora pico debido a la insuficiencia de equipo, con respecto al total de llamadas que se originan en ese período.

B = P / I , donde, P = Número de llamadas perdidas, I = Número de Intentos

Por ejemplo, un Grado de Servicio de 1%, significa que de cada 100 intentos, sólo se pierde 1

B = 1 / 100 = 0,01 = 1%

La teoría matemática de Tráfico telefónico, crea para su aplicación práctica, unos modelos matemáticos con los que trata de explicar el fenómeno. Estos modelos involucran:

-Proceso de aparición de las llamadas
-Ley de duración de las mismas

Con estos modelos se crean fórmulas que relacionan la probabilidad de pérdidas o demora con: la Intensidad de Tráfico, con el número de fuentes, y con el número de órganos. Estas fórmulas se conocen con el nombre de DISTRIBUCIONES, y en ellas se apoyan fundamentalmente el cálculo de órganos y circuitos.

Como ya fue mencionado, los sistemas telefónicos son diseñados de tal manera que aún en períodos de tráfico pesado, las horas pico, las llamadas hechas por los abonados tengan un buen chance de éxito. El equipo de Cx, y el número de enlaces a ser provistos para manejar este tráfico, son normalmente calculados buscando minimizar las pérdidas. Hoy en día se tienen programas basados en tablas que proveen información sobre la cantidad de equipo de Cx y número de enlaces a ser provistos en cada caso.

A continuación se muestra por ejemplo, tablas de diseño para el caso de sistema con pérdidas, se supone accesibilidad completa.

Esta tabla, por ejemplo, maneja valores de B = 0,01%, 0,02%, 0,03%, 0,05%
0,1%, 0,2%, 0,3%, 0,4%, 0,5%, 0,6%, 0,7%, 0,8%, 0,9%
10%, 15%, 20%, 30%, 40%, 50%

A = Tráfico ofrecido en Erlangs
B = Pérdida
N = Número de dispositivos (servers)

Ejemplo: Dado:
B = 0,4%
A = 35,0 Erlang
Encuentre N

Seguir leyendo...

Concepto de Trafico Telefónico

|
Una central se diseña para manejar una cierta cantidad de tráfico; si es capaz de
atender cualquier cantidad de llamadas, sin limitación, se dice que es una central sin
bloqueo, y en caso contrario con bloqueo, como son muchas centrales que, en caso de
tráfico muy intenso, rechazan algunas llamadas.

El - tráfico telefónico - se define como el flujo de mensajes que pasa a través de un
sistema de telecomunicaciones, con independencia de que las llamadas se completen o
no. La ingeniería de tráfico suministra las herramientas matemáticas para facilitar el
dimensionamiento de la red y de las centrales, de modo que puedan ser acomodadas al
flujo de mensajes.

Para obtener una idea global sobre esta teoría de tráfico, daremos seguidamente unas
definiciones de conceptos básicos que permitirán comprenderlas.
El volumen de tráfico transportado por un grupo de órganos durante un período
especificado de tiempo es la suma de todos los tiempos durante los cuales los órganos
están tomados.
Seguir leyendo...