Está en la página 1de 196

1

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.

T1 (1) T2 (1) T3 (1) T4 (1) T5 (1) P2 (3) P3(2) Total (10)

Parte I
(33.33% de la nota del examen)
1.- TEORÍA (5 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1. (1 punto) Describe para que sirven los acuerdos de nivel de servicio en el diseño de sistemas
distribuidos.

2. (1 punto) Indica las componentes que aparecen en el estándar de directorios X.500 y los
protocolos que se utilizan para el intercambio de mensajes. Indicar qué componente se ejecuta en el
cliente y qué componente se ejecuta en el servidor.
2

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
3. (1 punto) Indica los pasos a seguir en el proceso de diseño de un sistema distribuido para cumplir
un requisito de rendimiento en particular.

4. (1 punto) Indica las principales ventajas de un “Enterprise Service Bus”.

5. (1 punto) Nombra 5 posibles métodos para la estimación del rendimiento de un sistema distribuido
vistos en la asignatura y ordenarlos de mayor a menor precisión.
3

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
2. PROBLEMA. Considerar los siguientes casos particulares de sistemas distribuidos:
1. Servicio de búsqueda y publicación de ofertas de trabajo. Una empresa cuenta con una
aplicación móvil que permite realizar búsquedas de ofertas de trabajo. Las empresas usando
dicha aplicación también pueden publicar ofertas. Los usuarios demandantes de empleo
consultan las ofertas de trabajo disponibles, aplicando varios tipos de filtros. También se
pueden inscribir en las mismas o marcarlas como relevantes o no relevantes para recibir
recomendaciones personalizadas. La empresa cuenta con un cortafuegos en su sede central,
que se encargará de filtrar el tráfico entrante. Además, el ancho de banda es limitado y se
desearía que los mensajes intercambiados fuesen relativamente pequeños. Los clientes serán
heterogéneos, y no tienen excesiva capacidad computacional al ser dispositivos móviles.
2. Juego de realidad aumentada. Se quiere construir una aplicación distribuida que permita a
varios jugadores recorrer distintas localizaciones recolectando objetos virtuales, compitiendo
por ver quién recoge más en menos tiempo. Cuando un usuario recoge un objeto suma
inmediatamente varios puntos y obtiene información sobre la ubicación de nuevos objetos.
Los usuarios también pueden consultar la ubicación de los objetos accesibles más cercanos
a su posición actual. Las opciones de filtrado sobre los objetos más cercanos son complejas.
La aplicación se usará a través de internet, y no se espera que el tráfico sea filtrado. Sin
embargo, se desearía que el tamaño de los mensajes intercambiados entre clientes y
servidores no fuese muy grande. Los clientes serán dispositivos móviles heterogéneos. Como
se espera que haya múltiples desarrolladores, se usarán múltiples lenguajes de
programación. Sin embargo, por sus ventajas se ha decido diseñar la aplicación usando
técnicas de orientación a objetos. La complejidad del proceso de desarrollo de la aplicación
no es un problema.

(3 puntos – 1.5 puntos por escenario) Para cada uno de ellos se pide elegir razonadamente el
mecanismo de comunicación más adecuado entre los vistos en la parte de teoría de la asignatura
(UDP, TCP, RPC, WS-SOAP, WS-REST, CORBA, Java-RMI o Colas de Mensajes) e indicar si sería
necesario implementar algún mecanismo de traducción de datos adicional.

No se tendrán en cuenta respuestas sin justificación (cuantas más justificaciones, mayor la


puntuación).

1. Al existir un cortafuegos que pueda filtrar el tráfico, nos quedaríamos con los dos mecanismos
que podrían pasar a través de él. Estos son WS-SOAP y WS-REST. De entre ellos preferiríamos
WS-REST frente a WS-SOAP, ya que el ancho de banda de la empresa es limitado y la capacidad
computacional de los clientes es reducida. Esto sería una desventaja para WS-SOAP pues los
mensajes en XML son costosos de procesar y consumen mucho ancho de banda. Con WS-REST
tendríamos libertad para fijar el formato de los datos y mensajes a intercambiar. Podríamos usar
JSON, que es más eficiente que XML. Si usamos JSON no habría que implementar ningún
mecanismo de traducción de datos adicional.

2. Hay que implementar funcionalidades síncronas, por lo que descartaríamos las colas de
mensajes. Este mecanismo también quedaría descartado, ya que los clientes son heterogéneos,
y no incorpora nada para la traducción de datos. Descartaríamos UDP y TCP ya que la
funcionalidad del sistema es bastante complicada y los sockets son de muy bajo nivel. Como los
mensajes han de ser pequeños, descartamos WS-soap. Hemos de usar técnicas orientadas a
objetos, por lo que descartaríamos RPCs frente a JAVA RMI o CORBA. Los datos no serán
filtrados, por lo que WS-rest no es tan atractivo frente a estos mecanismos. Como hemos de usar
múltiples lenguajes de programación y el proceso de desarrollo no ha de ser sencillo, elegiríamos
4

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
CORBA y descartaríamos Java RMI. No habría que añadir nada para traducir datos, ya que Java
RMI se encargaría de ello.

3. PROBLEMA (2 puntos) Se quiere prestar un servicio web REST que permita a los clientes de
una casa de subastas consultar los objetos subastados y realizar pujas sobre los mismos. Cada
usuario se identifica por un código numérico de 4 cifras y cada objeto subastado por un código
numérico de 6 cifras. Las pujas se identifican por un código de 4 cifras y contienen información
sobre el usuario que ha pujado, el objeto subastado y la cantidad pujada en euros. Cada usuario
tiene asociado un login, una contraseña, y un número de tarjeta de crédito. Un objeto subastado
tiene información sobre el precio de salida y una pequeña descripción textual del mismo.

3.1. (1.25 puntos) Indicar de forma razonada una posible URI (Uniform Resource Identifier) y el
posible método HTTP (GET, POST, DELETE, PUT) a utilizar para ofrecer las siguientes funciones:

a) Realizar una puja sobre un objeto subastado con identificador 314159.

URI: http://www.subastas.es/objetos/314159
Método: POST

b) Actualizar los datos del usuario 6666.

URI: http://www.subastas.es/usuarios/6666
Método: POST

c) Obtener la información del objeto subastado con identificador 314159.

URI: http://www.subastas.es/objetos/314159
Método: GET

d) Eliminar la puja con identificador 3333.

URI: http://www.subastas.es/pujas/3333
Método: DELETE

e) Añadir un nuevo objeto a subasta con identificador 123456.

URI: http://www.subastas.es/objetos/123456
Método: PUT

3.2 (0.75 puntos) Dar un ejemplo razonado de una posible representación de la puja con identificador
3333.
5

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
La representación podría tener cualquier formato, pero debería incluir sus datos y enlaces a
recursos relacionados. Elegimos XML.

<puja>
<id> 3333 </id>
<cantidad> 1000 </cantidad>
<usuario> http://www.subastas.es/usuarios/6666 </usuario>
<objeto> http://www.subastas.es/objetos/314159 </objeto>
</puja>
1

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)
1. PROBLEMA (7 puntos). Una empresa dispone de un generador de páginas web destinado a
servir documentos dinámicos. Sin embargo, se sabe que muchos documentos, con exactamente
los mismos datos, son solicitados repetidas veces, por lo que se ha dispuesto instalar un
almacenamiento interno que funcione como una caché (técnicamente no lo es, pero los detalles no
son relevantes para el ejercicio). El servicio prestado a los usuarios recibe tráfico Poisson con una
media de 8 solicitudes por segundo. Las peticiones son recibidas inicialmente por un distribuidor
que analiza a través de un índice rápido si el documento solicitado está en el sistema caché o si
debe pasarlo al sistema generador de documentos. El distribuidor cuenta con una única CPU que
tarda en promedio 50ms en realizar la petición. Se estima que en promedio el 60% de las peticiones
ya están en la caché, mientras que el restante 40% deben ir al generador. Las solicitudes que pasan
a la caché tardan un promedio de 100ms en ser atendidas y luego ya salen del sistema.
El generador, por su parte, cuenta con 2 CPUs que pueden atender cualquiera de las peticiones
que se encuentren en la cola. Una misma petición no puede ser procesada por 2 CPUs en paralelo.
El tiempo medio que tarda una CPU en procesar un trabajo son 200ms. Al terminar, cada trabajo
tiene una probabilidad del 50% de no necesitar nada más, en cuyo caso sale del sistema. El otro
50% requiere más documentos para finalizar el procesamiento, por lo que vuelve al distribuidor.
Suponer que todos los tiempos de servicio están distribuidos de forma exponencial y que los
servidores tienen cola de espera de tamaño infinito. Los servidores cuentan con una sola CPU para
procesar las peticiones de los clientes.
1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas efectivas de llegada a la entrada del distribuidor, el generador y la caché, indicando
las suposiciones realizadas y teoremas empleados. Dar una explicación razonada de qué
modelo, según la notación de Kendall, será aplicable a cada una de sus componentes.
2

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
1.2 (1 puntos) Calcular la tasa de llegadas efectiva a la entrada de cada servidor (distribuidor,
el generador y caché).

1.3 (2 puntos) Calcular justificadamente el número medio de peticiones en cada uno de los
componentes.
3

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
1.4 (1 puntos) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

1.5 (1 punto) Calcular justificadamente el tiempo medio de respuesta para las peticiones que
están en Caché.

1.6 (1 punto) Calcular justificadamente un cuello de botella en el sistema y proponer alguna


solución para remediarlo.
4

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
2. PROBLEMA (3 puntos) Una empresa dispone de 2 ordenadores idénticos y desea utilizarlos
para poner en marcha un servicio de información sobre los valores bursátiles. Los 2 ordenadores
trabajarán en paralelo y cualquiera de ellos podrá atender cualquier petición de los clientes. Una
petición será procesada por un único ordenador. Sin embargo, la empresa decide prescindir de una
cola donde almacenar peticiones entrantes cuando los 2 ordenadores estén ocupados. De esta
forma, aquellas peticiones que lleguen al sistema cuando todos los ordenadores estén ocupados
serán rechazadas. Cada ordenador tarda en procesar una petición 200 ms en promedio y se estima
que las peticiones de los clientes llegarán al sistema según un proceso de Poisson con una media
de 10 peticiones por segundo. Suponer que todos los tiempos están distribuidos de forma
exponencial y que existe un número muy grande de clientes, de modo que el número de peticiones
en servicio no afecta al ritmo de llegada de nuevas peticiones.

2.1 (0.5 puntos) Dibujar el diagrama del sistema y justificar un modelo válido para describirlo.

2.2 (1 punto) Calcular la probabilidad de que una petición sea rechazada.

2.3 (0.5 punto) Calcular el factor de utilización de cada servidor.

2.4 (0.5 punto) Calcular el número promedio de clientes en el sistema.


Formulario:
Modelo M/M/1 Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
FW ( t ) = 1 − e
− ( µ − λ )t  1
 (λ = µ )
 K +1
Modelo M/M/c:
λ  1 − ( λ µ )K 
 (λ µ )
n
  K +1  (λ ≠ µ )
 p0 (n < c) µ
ρ = 1 − ( λ µ ) 
 n!
pn =   K
p c  λ 
c n
 (λ = µ )
 0 c !  cµ  (n ≥ c)  K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
ρ=
λ   K +1  (λ ≠ µ )
1 − λ µ
L=  1− (λ µ ) 

 K
 c −1 (λ µ )n  (λ µ )c 
−1
 (λ = µ )
 2
p0 =  ∑ +
 
 n =0 n!  c!(1 − ρ ) 
Modelo M/M/1//M
p
Pq = c = Ec ( c, u ) n n
1− ρ M   λ  M! λ 
pn = p0   n !  = p0
Pq ρ  n  µ ( M − n )!  µ 
L= + cρ −1
1− ρ M M! λ  
n

p0 =  ∑   
 n =0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
λ 1 ρ = 1 − p0
pn = p0   (0 ≤ n ≤ c)
 µ  n!
λ' µ
−1 L=M − =M − ρ
 c  λ n 1  λ λ
p0 =  ∑   
 n =0  µ  n !
Modelo M/M/c//M
  M  λ 
n
Modelo M/G/1:  p0    (0 ≤ n < c)
λ E  S 
2 2   n  µ 
pn = 
L= +ρ   M  n!  λ 
n
2 (1 − ρ ) (c ≤ n < M )
 p0  n  c n −c c !  µ 
    
ρ =λ µ −1
 c −1  M   λ n M  M  n !  λ  n 
p0 =  ∑     + ∑   n −c   
 n = 0  n   µ  n =c  n  c c !  µ  
c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Indica las principales diferencias entre los clústeres de proceso activo-pasivo
asimétricos y los clusters activo-pasivo cruzados o simétricos.¿Qué ventajas e inconvenientes
ofrece el cluster activo-pasivo cruzado (o simétrico) respecto al cluster activo-pasivo (o
asimétrico)?

1.2. (1.25 puntos). Explica el mecanismo de copia instantánea en los servidores de disco, sus
ventajas y para qué podría resultar útil.
2

SISTEMAS INFORMÁTICOS II

8 de junio de 2018
1.3. (1.25 puntos). Redundant Array of Independent Disks. Tipos y características.

1.4. (1.25 puntos). Explica la utilidad de la señal heartbeat para la redundancia de los sistemas de
proceso y cómo evitar que se convierta en un punto único de fallo.
1

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
2 (4) 3 (1) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2. PROBLEMA (4 puntos).
Una organización tiene un sistema generador de informes, que a partir de datos almacenados en
una base de datos realiza análisis y devuelve los resultados. Para ello las peticiones llegan a un
balanceador de carga que distribuye las tareas entre 3 analizadores independientes. Los 3
analizadores toman los datos necesarios de un gestor de bases de datos, el cual utiliza como
soporte de almacenamiento 4 discos configurados en RAID-1 (2+2). Para que el sistema esté
operativo debe funcionar el balanceador de carga, al menos uno de los analizadores, el gestor de
base de datos y el sistema RAID debe poder acceder a los datos.

2.1 (1 punto) Dibuje el diagrama de disponibilidad del sistema, mostrando claramente en cada caso
las componentes que están en serie y las que están en paralelo.

2.2 (1 punto). Teniendo en cuenta que el tiempo medio hasta el fallo de cada disco físico es de 200
horas, del gestor de base de datos 2000hs, de cada analizador 3000hs y en el caso del balanceador
de 2500hs, y que ha contratado un servicio de mantenimiento Low cost, que en promedio repara un
fallo en 48hs, calcule la disponibilidad del sistema. Suponga fallos independientes. Use 4 decimales
en los cálculos.
2

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.

2.3 (0.5 puntos) Identifique los puntos simples de fallo (SPOF) del sistema.

2.4 (1.5 puntos) Suponga que le piden que cambie la configuración RAID de los 4 discos, y en vez
de usar RAD-1 utilice RAID-6. Usted investiga cómo se haría con RAID-6 y encuentra que el RAID-
6 es similar al RAID-5, sólo que almacena doble redundancia; es decir, por cada segmento que se
escribe se calculan dos redundancias distintas y complementarias, que se almacenan en discos
diferentes. De esta forma, se puede perder la información de 2 discos del conjunto y todavía la
información estaría accesible. En la figura se muestra un ejemplo de 4 discos configurados con
RAID-6: los bloques AP y AQ es la doble redundancia a partir de la cual se podría recuperar la
información de A aunque se pierdan sus 2 segmentos (A1, A2), o si se pierde un segmento y un
bloque de redundancia (A2 y AQ, por ejemplo).

Calcule la disponibilidad con esta nueva configuración


3

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.

3. PROBLEMA (1 punto).
3.1 (0.5 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).

ID:1 2 ID:2 5 ID:3

19 1 3

ID:4 4 ID:5

19 1

ID:7 1 ID: 8 7 ID: 9


4

SISTEMAS INFORMÁTICOS II

8 de junio de 2018.
3.2 (0.5 puntos). Explique qué puertos cambiarían de estado tras un fallo en la conexión entre el
switch 3 y el switch 5.

ID:1 2 ID:2 5 ID:3

19 X 3

ID:4 4 ID:5

19 1

ID:7 1 ID: 8 7 ID: 9


1

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 1.5 (1.5) 2 (2.5) Total Parte I (10)

PARTE I
(30% de la nota del examen)
1.- (7.5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Network Operating System (NOS). Definición y características de transparencia
ofrecidas.

1.2. (1.5 puntos). Comparativa entre MOM y RPC.


2

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


1.3. (1.5 puntos). Modelo de comunicación publicador / suscriptor.

1.4. (1.5 puntos). Arquitectura general de un sistema de objetos distribuidos.

1.5. (1.5 puntos). Definición de X.500 y LDAP.


3

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


2.- (2.5 puntos). Dibujar el diagrama de transiciones de estados para un modelo M/M/c. Justificar
a partir del diagrama el cálculo de Pn, cuando n < c
4

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


3.1 (1) 3.2 (1) 3.3 (1.5) 3.4 (1) 3.5 (0.5) 3.6 (0.75) 3.7 (0.75) 3.8 (0.75) 3.9 (0.75) EJ 3 (8)

PARTE II
(40% de la nota del examen)
3.- (8 puntos). En una empresa de servicios en Internet se presta un servicio de sincronización de
datos en la nube. La característica principal de este servicio es que hay dos modalidades de
clientes: clientes “normales” y clientes “premium”. Para diferenciar las peticiones de ambos tipos
de clientes se coloca un balanceador de carga, que llamaremos A, que procesa todas las
peticiones que llegan a la empresa y las redirige a dos servidores distintos.
Las peticiones de clientes “normales” se redirigen a un servidor, que llamaremos B. Tanto el
servidor B como el balanceador de carga A disponen de una cola con una capacidad suficiente
para atender las peticiones de todos los clientes. Ambos elementos tienen un tiempo de servicio
que se puede suponer sigue una distribución exponencial, cuya media es de 50 ms para A y de
200 ms para B.
Cuando llega una petición de tipo “premium”, el balanceador de carga A la redirige a un clúster de
3 servidores de alto rendimiento, que llamaremos C. Cada servidor de este clúster tiene un tiempo
de servicio de 100 ms de media, siguiendo una distribución exponencial. Sin embargo, el clúster
de servidores no cuenta con una cola de espera, por lo que el balanceador de carga tiene que
redirigir la petición al servidor B en caso de que la petición no pueda ser satisfecha por el clúster
C. La empresa ha estimado que recibe las peticiones siguiendo un tráfico de Poisson y teniendo,
de media 4 peticiones/s de tipo “normal” y 8 peticiones/s de tipo “premium”.

3.1. (1 punto). Dibujar un esquema de la estructura del sistema. ¿Qué modelo, según la notación de
Kendall, será aplicable a cada una de sus componentes?

+ TSB=200 ms

M/M/1
+ TSA=50 ms

M/M/1

TSC=100 ms

M/M/3/3
5

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.

3.2. (1 puntos). Calcular el número medio de peticiones en la componente A.

1 12 3 
λ  λ  λ  12 s ; μ   20      0.6;    1.5
0.05 20 5 1  

3.3. (1.5 puntos). Calcular el número medio de peticiones en la componente C.

1 λ  λ 8
λ  8 s ; μ   10    ;   0.8
0.1 μ μ 10
−1
 c  λ n 1  n
λ 1
p0 =  ∑    pn = p0   (0 ≤ n ≤ c )
 n =0  µ  n !  µ  n!

0.8! 0.8! 0.8!# 0.8!$ 1


      %  &1  0.8  0.32  0.0853'(   0.453
0! 1! 2! 3! 2.20053'
 0.8!$  0.8!$
$    0.039
*! *!
λ   λ 1  $ !  8 1  0.039!  7.688 
λ 
   0.256
μ
    3 ∗ 0.256  0.7688

3.4. (1 puntos). Calcular el número medio de peticiones en la componente B.

1
λ′  λ  P$ λ  4  0.039 ∗ 8  4.312; μ   5 
0.2

4.312 0
0   0.8624; 0   6.267
5 1  0
6

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.

3.5. (0.5 punto). Calcula el tiempo de espera medio de las peticiones en cada componente del sistema.
2 .6
1  43  #
 0.125 
5
27 :.#:;
10    1.453 
48 9 <.$ #
1  =>  0.1 

3.6. (0.75 punto). Calcula el tiempo de espera medio de las peticiones “normales” y de las peticiones
“premium”.

1?  1  10  1.578 

1@  1  $ 10  1  $ !1  0.125  0.039 ∗ 1.453  1  0.039! ∗ 0.1  0.278 

3.7. (0.75 punto). Calcula el número medio de peticiones “normales” y “premium” que hay en el sistema.

Aplicamos el teorema de Little sobre los tiempos de espera y la tasa de peticiones “normales” y “Premium”
?  λA 1?  4 ∗ 1.578  6.312

@  λB 1@  8 ∗ 0.278  2.224
7

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


Suponiendo que se tiene contratado un servicio de mantenimiento que garantiza la reparación y
puesta en marcha de todas las componentes en 24 horas, y que el tiempo medio entre fallos de la
componente A es 4000h, de la componente B es 3000h y de cada componente servidor en el
clúster C es de 1000h.

3.8. (0.75 puntos). Dibujar el diagrama de disponibilidad relativo a las peticiones “normales” y calcular el
valor de disponibilidad.

A B

4000 3000
C   0.994; C0   0.992
4024 3024
C?  C ∗ C0  0.9861

3.9. (0.75 punto). Dibujar el diagrama de disponibilidad relativo a las peticiones “premium” y calcular el valor
de disponibilidad.

A B

C1

C2

C3

1000 $
CDE   0.977; C  1  F1  CDE G  1  1  0.977!$  0.999988
1024
C@  C F1  1  C0 ! ∗ 1  C !G~0.994
8

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.


4.1 (1) 4.2 (1) Total Parte II (10)

4.- (2 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:


4.1. (1 punto). Redundancia en los sistemas de proceso. Cómo se consigue y tipos de clúster principales.

4.2. (1 punto). Parámetros de medida para la recuperación de sistemas ante desastres.


9

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.

5.1 (2.5) 5.2 (2.5) 5.3 (5) Total Parte III (10)

PARTE III
(30% de la nota del examen)
5.- (10 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:

5.1. (2.5 puntos). Para el sistema de autenticación Kerberos, explica la relación entre sus tres elementos
principales: Kerberos Ticket Granting Server (KGS), Kerberos Authentication Server (KAS) y servidor. Indica
además qué mensajes se intercambian entre estos elementos para permitir el acceso de un cliente a un
servidor.

5.2. (2.5 puntos). Cortafuegos. Definición y funciones principales.


10

SISTEMAS INFORMÁTICOS II

12 de mayo de 2012. Examen final.

5.3. (5 puntos). WhatsApp es una aplicación software propietaria multiplataforma de mensajería instantánea
para smartphones. La aplicación utiliza la red de datos del dispositivo móvil en el que se está ejecutando.
A diferencia de los servicios tradicionales de mensajes cortos (SMS), el funcionamiento de WhatsApp se
basa en enviar y recibir mensajes mediante la conexión a Internet de los dispositivos móviles, únicamente
haciendo uso de los números de teléfono para identificar a los usuarios.
Whatsapp usa el protocolo XMPP, una tecnología de comunicación en tiempo real flexible y muy utilizada
actualmente en programas de intercambio de mensajes. Un ejemplo del uso de XMPP es el servicio de chat
de la red social Tuenti.
La comunicación de un dispositivo con WhatsApp se hace mediante el cliente (un dispositivo móvil) y un
servidor a través del puerto TCP/IP 443, que es el asociado al protocolo HTTPS. El servidor recibe el
mensaje y se encarga de redistribuirlo a los otros clientes destino, permitiendo, por ejemplo, la entrega
asíncrona de mensajes si los dispositivos receptores no están activos en ese momento. El problema es que
aunque la comunicación se haga por el puerto 443, el texto se manda en claro, sin cifrar. Esto ha provocado
la oferta de programas “malintencionados” que son capaces de espiar mediante sniffing los mensajes
WhatsApp que se están transmitiendo a través de una red Wi-Fi, ya sea abierta o privada (en el último caso
al dispositivo con el programa de sniffing le basta estar autenticado en la misma red).
¿Qué mecanismos se podrían desarrollar en WhatsApp para ofrecer un mecanismo de comunicación más
seguro (e.g. autenticación y cifrado)? Dibuja un diagrama con el sistema cliente-servidor que considere tales
mecanismos.
Formulario:
Modelo M/M/1: Modelo M/M/1/K:
n n
pn = (1 − ρ )( ρ ) λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
FW ( t ) = 1 − e−( µ −λ )t  1
 (λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 ( λ µ)
n
   (λ ≠ µ )
 p0 (n < c)  µ 1 − ( λ µ ) K +1 
 n! ρ =
pn =  n  K
p c  λ  (λ = µ )
c
(n ≥ c) 
 0 c !  cµ   K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
λ    (λ ≠ µ )
ρ= 1 − λ µ  K +1
cµ L= 1 − ( λ µ ) 
 K
 c −1 ( λ µ )n ( λ µ )c 
−1
 (λ = µ )
p0 =  ∑ +   2
 n =0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M  λ M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n ) !  µ 
−1
Pq ρ M M! λ  
n
L=
1− ρ
+ cρ p0 =  ∑   
 n = 0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
ρ = 1 − p0
λ 1
pn = p0   (0 ≤ n ≤ c) λ' µ
 µ  n! L=M − =M − ρ
λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n =0  µ  n !   M  λ 
n

 p0     (0 ≤ n < c)
λ‘   n  µ 
ρ= pn =  n
cµ   M  n!  λ 
 p0  n  c n − c c !  µ  (c ≤ n < M )
Modelo M/G/1:     
−1
λ 2 E  S 2   c −1  M   λ n M  M  n !  λ  n 
L=
2 (1 − ρ )
+ρ p0 =  ∑     + ∑   n −c   
 n = 0  n   µ  n =c  n  c c !  µ  
c −1
ρ =λ µ c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M− =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

Teoría 1 (2) Teoría 2 (2) Teoría 3 (2) Teoría 4 (2) Teoría 5 (2) Total Teoría (10)

1.- TEORÍA (10 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1. Describe brevemente las distintas fases de una llamada a procedimiento remoto desde que el
cliente ejecuta el procedimiento hasta que el servidor ejecuta la rutina de servicio.

2. Explica la utilidad del estándar WSDL en los servicios web.

3. Describe las diferencias entre una invocación síncrona de un servicio y una invocación
asíncrona.

4. Describe la utilidad de la interfaz de esqueletos dinámica en CORBA.

5. Describe para que sirven los acuerdos de nivel de servicio en el diseño de sistemas distribuidos.
2

SISTEMAS INFORMÁTICOS II

2 (5) 3 (5) Total Problemas (10)

2. Problema (5 puntos): Un servidor B de NTP recibe un mensaje de un servidor A a las


13:21:13.490 llevando una marca de tiempo 13:21:08.420 y lo responde. A recibe el mensaje a las
13:21:30.725, llevando una marca de tiempo 13:21:30.3 de B. Estimar la deriva entre los relojes de
B y de A y la precisión de la estimación de dicha deriva.

T_(i-3) = 12:21:08.420
T_(i-2) = 12:21:13.490
T_(i-1) = 12:22:30.3
T_(i-0) = 12:22:30.725

o_i = (T_(i-2)-T_(i-3)) – (T_i – T_(i-1)))/2=((13.490 – 08.42) – (30.725 – 30.3)) / 2 = 2,32 segundos.


d_i / 2 = (T_(i-2)-T_(i-3)) – (T_i – T_(i-1)))/2=((13.490 – 08.42) + (30.725 – 30.3)) / 2 = 2,747
segundos.

El reloj del servidor B va 2,32+-2,747 segundos por delante del servidor A.


3

SISTEMAS INFORMÁTICOS II

3. Problema (5 puntos): Considerar los siguientes casos de sistemas cliente / servidor:


 Servidor de tiempo real para una red homogénea. Contesta cada petición recibida con un
mensaje que contiene la hora local codificada en el formato UTC.
 Servidor de noticias. Los clientes se suscriben a un cierto tema de noticias y reciben
mensajes en xml con noticias sobre dicho tema filtrados de acuerdo a sus preferencias.
 Servidor de transferencia de ficheros para una red homogénea. Los usuarios de la red
pueden descargar ficheros del servidor utilizando este servicio.
 Servidor remoto de cálculo intensivo. Clientes heterogéneos pueden realizar operaciones
complejas en el servidor utilizando una interfaz estándar de programación.

Para cada uno de ellos se pide elegir razonadamente el mecanismo de comunicación:


comunicación punto a punto orientada a conexión (TCP), comunicación punto a punto no orientada
a conexión (UDP), RPC o colas de menajes.

 En el primer caso solo hay una única operación que es muy sencilla y es del tipo petición
respuesta. Como la red es homogénea no hay que traducir datos. Los mensajes son
pequeños. Por estas razones lo más adecuado es comunicación punto a punto no orientada
a conexión. Si se pierde un mensaje se vuelve a enviar la petición sin ningún problema.
 En el segundo caso lo más adecuado sería utilizar colas de mensajes ya que no es
necesario traducir datos, se pueden filtrar mensajes y no es necesario que servidor y cliente
estén disponibles al mismo tiempo.
 En el tercer caso la red es homogénea luego no habrá que traducir datos. Tampoco hay
operaciones complejas que encapsular en procedimientos. Es necesario que ambos
extremos estén conectados a la vez. El orden de los mensajes enviados importa y se debe
garantizar que se recibe correctamente un mensaje. No hay límite de tamaño de mensaje.
Por estas razones lo más apropiado es utilizar comunicación punto a punto orientada a
conexión.
 Para el último caso lo más adecuado es utilizar RPCs porque garantizan la transparencia de
acceso al ser sistemas heterogéneos y se pueden utilizar para encapsular las distintas
operaciones complejas de la interfaz estándar de programación que sería necesario
implementar.
1.1 (1) 1.2 (2) 1.3 (2) 1.4(2) 2.1 (1) 2.2 (1) 2.3(1) Total Problemas (10)

1. Problema (7 puntos):
Una empresa tiene un servicio que recibe 5 solicitudes de clientes por segundo en promedio. Las
solicitudes son recibidas inicialmente por un distribuidor de carga que tiene un tiempo medio de
servicio de 50ms y que distribuye las peticiones a otros servidores. De las peticiones recibidas, un
40% son sobre un servidor de correo que tiene un tiempo medio de servicio de 250ms. Por el
contrario, un 60% de las peticiones recibidas están destinadas a un servidor de proceso de
transacciones cuyo tiempo medio de servicio es de 10ms. Además, se da la particularidad de que
las peticiones recibidas por el servidor de transacciones, con una probabilidad del 75%, requieren
la ejecución de otra transacción adicional en el mismo servidor de transacciones.

Suponer que todos los tiempos están distribuidos de forma exponencial y que cada servidor tiene
una cola de espera de tamaño infinito.

1.1 (1 puntos) Dibujar el diagrama del sistema y calcular las tasas de llegada a cada uno de
los servidores de la empresa y la capacidad de los mismos indicando los supuestos
asumidos.

DC

λsc
s SC

λst
ST

Suponemos que los servidores no están saturados. En ese caso la tasa de salida de cada servidor
será igual a la tasa de llegada. α=5p/s. λsc=0.4 α=2p/s. λst=0.6 α+ 0.75λst. Con lo que λst=0.6
α/(1-0.75)=0.6 α /0.25=3/0.25=12p/s. µdc=20p/s, µsc=4p/s. µst=100p/s.
1.2 (2 puntos) Calcular justificadamente el número medio de clientes (peticiones) que
habrá en todo el sistema.

Como los servidores no están saturados y la llegada de peticiones sigue un proceso Poisson pues
los tiempos entre llegadas están distribuidos de forma exponencial y la probabilidad de salir del
sistema es > 0, podemos aplicar el teorema de Jackson. Por ello el número medio de clientes en
cada servidor vendrá dado por el número medio en el correspondiente modelo M/M/1 y el número
medio de clientes en el sistema por la suma de los anteriores números medios.

Ldc= α/(µdc- α)=5/(20-5)=1/3 clientes.


Lsc=λsc/(µsc-λsc)=2/(4-2) = 1 clientes.
Lst= λst/(µst-λst)=12/(100-12) = 12 / 88 = 6 / 44 = 3 / 22 clientes.

Ltotal = Ldc + Lsc + Lst = 1 / 3 + 1 + 3 / 22 = 1,469697 clientes.

1.3 (2 puntos) Calcular justificadamente el tiempo que pasa una petición en promedio
desde que llega al sistema hasta que es procesada completamente.

Aplicando el teorema de Little

W = L / α=1,469697 / 5 = 0,2939394 segundos


1.4 (2 puntos) Tras realizar un cierto proceso de monitorización se detecta que la
distribución de probabilidad del tiempo de servicio del servidor de correo tiene un
coeficiente cuadrático de variación igual a 0 (distribución determinista). Justificar un
modelo alternativo que podría ser utilizado para describir dicho sistema y calcular
justificadamente el tiempo medio que permanecerá una petición en el servidor de correo.

El modelo M/M/1 ya no será válido pues el tiempo de servicio ya no está distribuido de forma
exponencial. Por ello habrá que utilizar un modelo que no realice esta suposición como puede ser
el modelo M/G/1 o el M/D/1, pues la distribución es determinista y por el teorema e Burke la
entrada es Poisson.

Usamos el modelo M/G/1 para realizar los cálculos. Como la distribución es determinista sabemos
que E[S^2]=E[S]^2=0.25^2=0.0625. Usando las fórmulas del modelo M/G/1 tenemos que:
ρ=2/4=0.5

y L=λ^2E[S^2]/(2 * (1- ρ) + ρ=4*0.0625 + 0.5 = 0.75 clientes. Aplicando Little W = L / λ = 0.75 / 2 =


0.375 segundos

2. Problema (3 puntos): Una empresa tiene un servicio que recibe 5 peticiones por segundo en
promedio y que es prestado por un servidor cuya CPU tarda en procesar una petición 200ms en
promedio. Sin embargo, el servidor tiene memoria limitada y sólo admite 3 clientes esperando en
cola. Las peticiones adicionales son rechazas.
Suponer que todos los tiempos están distribuidos de forma exponencial.
2.1 (1 punto) Justificar un modelo válido para describir dicho sistema.

Como la cola es finita (solo admite 3 peticiones), solo hay un servidor, y todos los tiempos están
distribuidos de forma exponencial el modelo a utilizar es el M/M/1/4. K=4 pues hay como máximo
3 clientes en cola más 1 siendo servido.

2.2 (1 punto) Calcular el número medio de clientes que habrá en el sistema.

λ=5p/s y µ=1/0.2=5p/s Como λ=µ


L=K/2=2

2.3 (1 punto) Sabiendo que la probabilidad de que se rechace un cliente es 0,2 calcular
justificadamente el tiempo medio que permanecerá un cliente aceptado en el sistema.

λ'= λ(1-p_K)=5 * (1-0.2)=4p/s por Little W = L / λ'=2/4=0.5 segundos.


Formulario:
Modelo M/M/1: Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
FW ( t ) = 1 − e−( µ −λ )t  1
 (λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 ( λ µ)
n
   (λ ≠ µ )
 p0 (n < c)  µ 1 − ( λ µ ) K +1 
ρ =
 n!
pn =  n  K
p c  λ 
c
(n ≥ c)  (λ = µ )
 0 c !  cµ   K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
λ    (λ ≠ µ )
ρ=
( )
K +1
cµ 1 − λ µ  1 − λ µ 
L=
 K
 c −1 ( λ µ )n ( λ µ )c 
−1
 (λ = µ )
p0 =  ∑ +   2
 n =0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M   λ  M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n )!  µ 
Pq ρ M
−1
M! λ  
n
L= + cρ p0 =  ∑
1− ρ   
 n = 0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
ρ = 1 − p0
λ 1
pn = p0   (0 ≤ n ≤ c) λ' µ
 µ  n! L=M − =M − ρ
λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n =0  µ  n !   M  λ 
n

 p0     (0 ≤ n < c)
Modelo M/G/1:   n  µ 
pn =  n
λ 2 E  S 2    M  n!  λ 
L= +ρ  p0  n  c n −c c !  µ  (c ≤ n < M )
2 (1 − ρ )     
−1
ρ =λ µ  c −1  M   λ n M  M  n !  λ  n 
p0 =  ∑     + ∑   n −c   
 n = 0    µ  n =c   c c !  µ  
n n
c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

Teoría 1 (2) Teoría 2 (2) Teoría 3 (2) Teoría 4 (2) Teoría 5 (2) Total Teoría (10)

1.- TEORÍA (10 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1. Dibuja la forma típica de la función tasa de fallo en equipos físicos y distingue las distintas zonas
que se observan.

2. Describe las características de RAID-5: Stripping Distributed Parity Based para mejorar el
rendimiento de lectura y la tolerancia a fallos de los discos físicos.

3. Explica el mecanismo de copia instantánea en los servidores de disco y sus ventajas.

4. Explica la utilidad de la señal heartbeat para la redundancia de los sistemas de proceso y cómo
evitar que se convierta en un punto único de fallo.

5. Describir qué es un punto único o simple de fallo (single point of failure) en la cadena de
procesamiento.
2

SISTEMAS INFORMÁTICOS II

2.1 (2) 2.2 (2) 2.3 (1) 3.1 (3) 3.2 (2) Total Problemas (10)

2. Problema (5 puntos): Una petición que se procesa en un servidor tiene que pasar por cuatro clases
de elementos distintos para su resolución completa. Estos elementos son:
 Un servidor web, que entrega al cliente páginas estáticas e imágenes.
 Un distribuidor de carga, que reparte las peticiones no-estáticas recibidas por el servidor web entre
los servidores de aplicaciones del sistema.
 Un servidor de aplicaciones, que ejecuta programas bajo petición del distribuidor de carga. El
sistema posee tres de estos servidores, de igual funcionalidad. El distribuidor de carga puede enviar
indistintamente sus peticiones a cualquiera de ellos.
 Un servidor de base de datos, al cual acceden los programas que se ejecutan en los servidores de
aplicaciones para recuperar los datos que necesitan para realizar las peticiones. El sistema posee
dos de estos servidores, de igual funcionalidad. Los servidores de aplicaciones pueden consultar
cualquiera de estos servidores indistintamente.
Es necesario, por tanto, que esté disponible al menos un elemento de cada una de las clases
citadas anteriormente para que el sistema completo funcione.

2.1. (2 puntos): Dibujar el diagrama de disponibilidad del sistema. En él se deben ver claramente que
componentes están en serie y qué componentes están en paralelo.

Asa
Abd

Asw Adc Asa

Abd
Asa
3

SISTEMAS INFORMÁTICOS II

2.2. (2 puntos): Suponiendo fallos independientes y sabiendo que el tiempo medio hasta el fallo de
cada componente es de 2,000 horas y que se tiene contratado un servicio de mantenimiento que
garantiza la reparación de cualquier equipo en un tiempo medio de 24h, calcular justificadamente la
disponibilidad total del sistema.

Como todos los componentes tienen el mismo MTTF y MTTR tenemos que todas las disponibilidades
serán iguales. En particular Asw = Abc = Asa = Abd = A, donde

A = 2000 / (2000 + 24) = 0,988

Utilizando el diagrama de disponibilidad previamente calculado la disponibilidad de todo el sistema


vendrá dada por:

At = A * A * [1 – (1 – A)^3)] * [1 - (1 – A)^2]=0,976

2.2. (1 punto): Suponiendo fallos independientes y sabiendo que la función tasa de fallos del servidor
web y del distribuidor de carga es constante, calcular justificadamente el tiempo medio hasta el fallo
del sub-sistema formado por esas dos componentes.

Como la tasa de fallos es constante, entonces se cumple que λ=1 / MTTF = 1 / 2000. Además, como
estas componentes están colocadas en serie la función tasa de fallos del sub-sistema es la suma
de las funciones tasa de fallos λ_total=r(t)=r_sw(t)+r_dc(t)=1 / 2000 + 1 / 2000 = 1 / 1000 fallos por
unidad de tiempo. Del mismo modo, como la nueva función tasa de fallo es constante, se cumple
que MTTF=1/λ_total= 1 / (2 / 2000) = 1,000 horas exactas.
4

SISTEMAS INFORMÁTICOS II

3. Problema (5 puntos): Considerar la siguiente red Ethernet conmutada con enlaces y componentes
redundantes. El identificador asignado a cada conmutador aparece marcado con un número a su
lado (menor identificador es mayor prioridad). De forma similar, el coste de cada enlace aparece
indicando junto al mismo. Se pide responder a las siguientes preguntas sobre el protocolo Rapid
Spanning Tree Protocol (RSTP) aplicado sobre la red de la figura.

3.1 (3 puntos) Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar el
RSTP para eliminar los bucles de la red.

La raíz es el switch con menor ID, es decir, switch con ID 1.

ID:1 DP 19 AP ID:2 DP 4 RP ID:3

DP RP DP
4 4 19

ID:4 RP 4 ID:5 DP 19 AP ID:6

DP RP DP AP
DP RP

4 10
RP ID:7

DP
5

SISTEMAS INFORMÁTICOS II

3.2 (2 puntos) Determinar el estado de cada uno de los puertos de los conmutadores como puerto
raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras fallar el enlace (proceso de fail-over)
entre los conmutadores con ID 7 y 4 y aplicar de nuevo el RSTP.

ID:1 DP 19 AP ID:2 DP 4 RP ID:3

DP RP DP
4 4 19

ID:4 RP 4 ID:5 DP 19 AP ID:6

DP RP DP RP
AP DP

4 Fallo 10
ID:7

AP RP
1

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 1.5 (1.5) 2 (2.5) Total Parte I (10)

PARTE I
(33,33% de la nota del examen)
1.- (7.5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Define brevemente 3 tipos de transparencia definidas por el RM-ODP (Open Distributed
Processing Reference Model) que debe proporcionar el NOS (Network Operating System) a los procesos
que lo utilizan.

1.2. (1.5 puntos). Indicar el principal problema que tienen las Remote Procedure Call (RPC) en cuanto a la
transparencia del paso de parámetros.
2

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

1.3. (1.5 puntos). Indicar 2 de las características más importantes de los espacios de nombres
(namespaces).

1.4. (1.5 puntos). Dar un ejemplo en el que se refleje la importancia de los servicios de tiempo (fecha y
hora).

1.5. (1.5 puntos). Indicar brevemente ventajas y desventajas de la estimación de rendimiento con
prototipos.
3

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

2.- (2.5 puntos). Se pretende el diseño de un servicio REST que gestione una base de datos de
usuarios y listas de reproducción asociadas. Los usuarios son identificados por su login, mientras
que cada canción se identifica con un entero. Cada usuario sólo tiene una lista de reproducción
asociada. Indicar de forma razonada una posible estructura de URI (Uniform Resource Identifier) y
el posible método HTTP (GET, POST, DELETE, PUT) a utilizar para ofrecer las siguientes
funciones:
a) Añadir un nuevo usuario al sistema

b) Eliminar una canción de la lista de reproducción de un usuario

c) Obtener la lista de canciones de la lista de reproducción de un usuario


4

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.
3.1 (1) 3.2 (2) 3.3 (2) 3.4 (1) 3.5 (1) 3.6(1) EJ 3 (8)

PARTE II
(33,33% de la nota del examen)
3. PROBLEMA (8 puntos). Una empresa ofrece un servicio de búsqueda a través de internet. El
servicio requiere de tres servidores que realizan las siguientes tareas:
• Servidor A: Recibe la solicitud y realiza una autenticación de la misma. El tiempo de
ejecución de este servicio está distribuido exponencialmente, con un valor medio de 50 ms.
Se puede considerar que este servidor tiene una cola de tamaño suficiente (podemos
suponer infinito) para almacenar las peticiones
• Servidor B: Tras pasar por el servidor A, las solicitudes de los clientes son recibidas por
este servidor que las registra en un log. El tiempo de servicio de este servidor está
distribuido exponencialmente, con un valor medio de 100 ms. También podemos suponer
una cola de espera infinita para este servidor.
• Servidor C: Tras pasar por el servidor B, las solicitudes son recibidas por este servidor que
realiza la tarea de búsqueda. Tiene un tiempo de servicio que se puede considerar
distribuido exponencialmente con un valor medio de 50 ms. Este servidor no tiene cola de
espera. En el caso de que al recibir una petición el servidor esté ocupado, la petición será
mandada de vuelta al servidor B para registrar el evento en el log y volver a intentar
realizar la tarea de búsqueda.

El servicio de búsqueda recibe peticiones que siguen un proceso de Poisson, con una tasa media
de llegadas de 2 peticiones por segundo. Suponer también que el tráfico que llega al servidor C es
Poisson.

3.1. (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular) las
tasas de llegada a la entrada de cada servidor, indicando las suposiciones realizadas. Dar una
explicación razonada de qué modelo, según la notación de Kendall, será aplicable a cada una de
sus componentes.

Los servidores A y B se pueden modelar como un sistema M/M/1 utilizando el teorema de Jackson
(suponiendo estacionaridad), pues se puede ver como una red de colas abierta. El servidor C se
puede modelar como un sistema M/M/1/1, pues nos indican que recibe tráfico Poisson.
5

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

3.2. (2 puntos) Calcular la tasa de llegadas efectiva de los servidores A, B y C sabiendo que el
90% del tiempo el servidor C está desocupado.
λ 2 s
λ 2
λ 1 p λ 2.22s
0.9
λ ′ p λ 2 s

Para realizar el cálculo es necesario calcular la probabilidad de aceptación del servidor C, esto es la
probabilidad de que el servidor C tenga 0 peticiones el servidor esté libre . El dato nos lo dan en el
enunciado pero comprobamos que es correcto:

μ 20 2 ; 4 1
5 λ
1 μ5 1 μ5
8
λ 8
1 6μ5 7 1 8μ 8
5 5
8
λ λ
1
μ5 8 μ5

8
λ λ 8
0
μ5 μ5 8
8
0.09 0
1 9 √1 4 < 0.09
0.1 ó 0.9
2

3.3. (2 puntos) Calcular el tiempo medio de respuesta de cada uno de los componentes.
Servidor A
λ 2
=> 0.1
μ> 20
1
=> 0.1 ?> 9
?> 1/9; A> 1/18 2
1 => 0.9 λ 2 2
6

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.
Servidor B: Se puede interpretar como una red de colas abierta. Utilizamos el teorema de Jackson
para calcular el número medio de clientes en dicho servidor, que vendrán dadas por las fórmulas
del modelo M/M/1. Usando Little obtenemos el tiempo.
λ 2.22
=C 0.22
μC 10
=C 0.22 ?C 0.28
?C 0.28; AC 0.127 2
1 =C 0.78 λ 2. 2 2

Servidor C
2
/μ 1 μ5 5 /μ5
8
5 5 5
L < 0.1
1 5 /μ5 1 5 /μ5
8

L 0.1
W5 G 0.05 2
λ 2
Que son iguales respectivamente al factor de utilización del servidor, ya que no tiene cola, y al
tiempo medio de servicio.

3.4 (1 punto) Calcular el tiempo medio de respuesta de todo el sistema.

Los dos primeros servidores se pueden ver como una red de colas abierta. Aplicamos Jackson
para sacar el nº medio de clientes en esos 2 servidores. Después aplicamos Little para sacar el
tiempo medio de estancia en la red, y finalmente sumamos el tiempo de estancia en el servidor C:
1
?> ?C 0.28
AI W5 9 0.05 0.2462
2 2

3.5. (1 punto) Suponer que el servidor C se encuentra replicado utilizando una arquitectura de
clúster activo-stand-by de dos nodos donde el tiempo que tardaría en activarse la componente
redundante en caso de fallo se puede considerar despreciable. Atendiendo a esta suposición,
dibujar el diagrama de disponibilidad del sistema. Razonar brevemente el diagrama mostrado.

Para poder prestar el servicio es necesario que los 3 servidores estén activos. Sin embargo, el
servidor C está en una configuración redundante de dos componentes.
7

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

3.6. (1 punto) La empresa tiene un contrato de mantenimiento in situ que asegura la reparación
de los equipos en 24h. Suponiendo que los MTTF de los servidores A, B, y C son 1000h, 2000h y
500h, respectivamente, calcular la disponibilidad total del sistema de acuerdo al diagrama de
disponibilidad mostrado en el ejercicio anterior.
1000 2000 500
K> 0.9766; KC 0.988; K5 0.954
1024 2024 524
8
K K> ∗ KC 1 1 K5 0.963

4.1 (1) 4.2 (1) Total Parte II (10)

4.- (2 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:


4.1. (1 punto). Topología LAN redundante en un centro de proceso de datos. Ejemplo e indicar las
implicaciones de la redundancia.
8

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

4.2. (1 punto). Balanceador de carga. Definición, objetivos y pasos para su configuración.

5.1 (2.5) 5.2 (2.5) 5.3 (5) Total Parte III (10)

PARTE III
(33,33% de la nota del examen)
5.- (10 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
5.1. (2.5 puntos). Reduntant Array of Independent Disks (RAID). Objetivos y niveles.
9

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.

5.2. (2.5 puntos). Mecanismos de autenticación más frecuentes.

5.3. (5 puntos). Una empresa pretende ofrecer un servicio de guardado seguro de archivos “en la nube”. A
diferencia de otros servicios similares, la empresa te asegura que los archivos sólo pueden ser leídos o
modificados por el cliente, una vez se haya autenticado. De esta forma los clientes están seguros de que,
aunque haya un acceso malintencionado a los datos, no es posible que terceras personas lean o modifiquen
dichos datos, incluida la propia empresa que ofrece el servicio.
A su vez, la empresa permite compartir archivos entre usuarios del servicio, siguiendo los mismos principios
de seguridad. El mecanismo de compartición es el siguiente: 1) El usuario a marca un archivo como
compartido con los usuarios b y c, el usuario a sería en este caso el dueño del archivo; 2) dichos usuarios
reciben la invitación para acceder y modificar dicho archivo; 3) toda modificación realizada por cualquiera de
los 3 usuarios se sincroniza con los archivos de los demás; 4) en ningún momento los datos de dicho
archivos podrán ser leídos o modificados por un usuario distinto a los tres originales, incluyendo la misma
empresa que ofrece el servicio.
Describe la arquitectura y mecanismos de seguridad necesarios para facilitar la primera funcionalidad de
guardado seguro de datos en la nube (2 puntos)
10

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.
11

SISTEMAS INFORMÁTICOS II

17 de mayo de 2014.
Describe la arquitectura y mecanismos de seguridad necesarios para facilitar la segunda funcionalidad de
compartición segura de archivos (2 puntos)

Acompaña la descripción anterior con un diagrama de secuencia en el que se muestren los “mensajes”
enviados a lo largo del tiempo entre los tres usuarios cuando el usuario a comparte el archivo con los
usuarios b y c (1 punto).
Formulario:
Modelo M/M/1: Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
FW ( t ) = 1 − e−( µ −λ )t  1
 (λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 ( λ µ)
n
   (λ ≠ µ )
 p0 (n < c)  µ 1 − ( λ µ ) K +1 
ρ =
 n!
pn =  n  K
p c  λ 
c
(n ≥ c)  (λ = µ )
 0 c !  cµ   K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
λ    (λ ≠ µ )
ρ= 1 − λ µ  1− (λ µ )
K +1
cµ L= 
 K
 c −1 ( λ µ )n ( λ µ )c 
−1
 (λ = µ )
p0 = ∑ +   2
 n =0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M   λ  M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n ) !  µ 
Pq ρ M
−1
M! λ  
n
L= + cρ p0 =  ∑
1− ρ   
 n = 0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
ρ = 1 − p0
λ 1
pn = p0   (0 ≤ n ≤ c) λ' µ
 µ  n! L=M − =M − ρ
λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n = 0  µ  n !   M  λ 
n

 p0     (0 ≤ n < c)
λ‘   n  µ 
ρ= pn = 

n
  M  n!  λ 
 p0  n  c n − c c !  µ  (c ≤ n < M )
Modelo M/G/1:     
−1
λ 2 E  S 2   c −1  M   λ n M  M  n !  λ  n 
L= +ρ p0 =  ∑     + ∑   n −c   
2 (1 − ρ )
 n = 0    µ  n =c   c c !  µ  
n n
ρ =λ µ c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 2 (4) Total Parte I (10)

PARTE I
(33,33% de la nota del examen)
1.- (6 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Describe los pasos y las componentes involucradas en el proceso de invocación desde
un cliente de un procedimiento remoto (RPC) localizado en un servidor remoto, y la obtención de la
correspondiente respuesta.

1.2. (1.5 puntos). Indica las diferencias entre los servicios web basados en SOAP y los servicios web
basados en REST.
2

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1.3. (1.5 puntos). Explica el ciclo de desarrollo de una aplicación distribuida basada en CORBA.

1.4. (1.5 puntos). Indica las componentes que aparecen en el estándar de directorio X.500 y qué protocolos
de comunicación se utiliza para interaccionar entre ellas. Indica la utilidad del protocolo LDAP (Lightweigth
Directory Access Protocol).
3

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
2.- (4 puntos). Considerar los siguientes casos particulares de sistemas distribuidos basados en
el modelo cliente / servidor:
a) Sistema de ficheros remoto. Los clientes acceden a carpetas remotas como si fuesen
locales. El sistema soporta una interfaz de programación típica del acceso a ficheros.
Creación, apertura y cierre de ficheros, cambio de los permisos asociados a un fichero,
posicionamiento del puntero de lectura, etc. Los clientes del servicio son heterogéneos.
Resulta crítico que el envío de los mensajes sea eficiente.
b) Interfaz de consulta de datos de una red social. Los clientes pueden usar una interfaz de
programación predefinida para consultar de forma remota el perfil de un usuario, registrar
un nuevo mensaje en la red social, consultar cuántos seguidores se tiene, etc. Los clientes
que accederán al servicio son heterogéneos, y será necesario pasar a través de un corta-
fuegos. El tamaño de los mensajes no es crítico. En el futuro se prestarán nuevos
servicios, y se desearía que los clientes pudiesen acceder a ellos de forma sencilla.
c) Servicio de configuración para red homogénea. Cuando un ordenador arranca solicita una
dirección IP al servidor sin necesidad de conocer su ubicación. El servidor responde con
un mensaje que contiene información sobre la dirección IP facilitada, la máscara de red, y
la dirección IP del enrutador por defecto.
d) Servicio de impresión 3D. Los clientes pueden enviar al servidor sus trabajos para ser
impresos por una impresora 3D. El servidor acepta trabajos en un formato predefinido, y
los imprime. Los usuarios del sistema son los empleados de la empresa que son de dos
tipos. Personal contratado de forma directa, y personal sub-contratado. El personal
contratado de forma directa tiene que poder imprimir antes sus trabajos que el personal
sub-contratado. Los usuarios tienen un límite de 10 impresiones al mes. Superado dicho
límite, sus trabajos no son impresos. El servidor conectado a la impresora 3D solo está
operativo diariamente de 14:00 a 18:00.

Para cada uno de ellos se pide elegir justificadamente (cuantas más razones se den para la
elección mayor la puntuación) el mecanismo de comunicación más adecuado entre:
Comunicación a través de colas de mensajes, servicios web basados en SOAP, llamada a
procedimiento remoto (RPC) y comunicación no orientada a conexión (UDP).

a) Los clientes son heterogéneos, luego será necesario proporcionar transparencia de acceso
y datos. Se accede a los servicios prestados a través de una interfaz de programación, y
estos involucran cierta lógica compleja. Estas razones sugieren usar RPC o WS-SOAP.
Sin embargo, el tamaño de los mensajes debería ser pequeño. Eso nos haría elegir RPC.
Bastaría implementar cada operación como un procedimiento remoto. Descartamos UDP
por ser de muy bajo nivel, ya que el servicio es complejo. También deberíamos tener una
respuesta rápida, por ejemplo, al abrir un fichero, luego descartamos colas de mensajes.
b) Por las razones del apartado anterior (heterogeneidad, proceso complejo, interfaz de
programación) dudaríamos entre RPC o WS-SOAP. Sin embargo, será necesario pasar
por un corta-fuegos, no es muy importante que los mensajes sean pequeños, y en el futuro
aparecerán nuevos servicios. Esto sugiere WS-SOAP, ya que pasaríamos a través del
corta-fuegos, y usando WSDL y UDDI podríamos registrar y localizar de forma sencilla los
nuevos servicios. Descartaríamos colas de mensajes y UDP por las razones del apartado
anterior.
4

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
c) Utilizaríamos UDP debido a que permite comunicación uno a muchos y no hay que traducir
datos. En particular, utilizando el direccionamiento broadcast no sería necesario conocer la
ubicación del servidor al arrancar. El servicio es sencillo, del tipo petición respuesta. La
petición siempre es la misma, y la respuesta también, con lo que la operación es
idempotente. Si se pierde un mensaje basta volverlo a enviar. UDP sería la solución más
eficiente y que menos configuración requeriría.
d) Elegiríamos colas de mensajes ya que permite filtrar mensajes para evitar que se imprima
pasado el límite de 10 impresiones. También debido a que el formato de impresión es
homogéneo y predefinido. Con colas de mensajes se podrían establecer prioridades al
imprimir, y no sería necesario que clientes y servidores estuviesen disponibles al mismo
tiempo. Los clientes pueden mandar sus trabajos por la mañana, y éstos se almacenarían
en la cola y serían impresos por la tarde, al arrancar el servidor.
1

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos) Una empresa ofrece servicios de cálculo y repositorio de conjuntos de


datos para modelos de reconocimiento de patrones.
Dicho sistema recibe peticiones de los clientes según un proceso de Poisson con una media de 8
peticiones por segundo. Las peticiones son recibidas inicialmente por un distribuidor que analiza
el contenido de las peticiones para saber si son peticiones de ejecución de modelos o son
peticiones para extraer datos del repositorio. El distribuidor cuenta con una única CPU que tarda
en promedio 50 ms en analizar cada petición. Se estima que en promedio, el 60% de las
peticiones recibidas solicitan la ejecución de modelos estadísticos y el 40% de las peticiones son
para la extracción de datos del repositorio.
Tras pasar por el distribuidor, las solicitudes de cálculo de modelos pasan a un servidor de cálculo
que cuenta con 2 CPUs que pueden atender cualquiera de las peticiones que se encuentren en
cola. Una misma petición no puede ser procesada por las 2 CPUs en paralelo. El tiempo que tarda
cada CPU en procesar el trabajo tiene un valor medio de 100 ms. Todas las solicitudes de cálculo
abandonan el sistema una vez procesadas.
Por otra parte, tras pasar por el distribuidor, las solicitudes de extracción de datos del repositorio
pasan a un servidor de disco. Este servidor tiene una CPU que tarda 200 ms en promedio
procesar cada petición. Una vez procesadas, el 50% de las peticiones de extracción de datos
necesitarán invocar otra petición adicional en el sistema antes de darse por completadas. Estas
nuevas peticiones serán recibidas por el distribuidor y pueden ser tanto peticiones de acceso a
disco como peticiones de cálculo de acuerdo a los porcentajes indicados anteriormente (60%
cálculo, 40% disco).

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial, que los
servidores tienen una cola de espera de tamaño infinito y que existe un número muy grande de
clientes, de modo que el número de peticiones pendientes de servicio no afecta al ritmo de llegada
de nuevas peticiones.
2

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas de llegada a la entrada de cada servidor, indicando las suposiciones realizadas.
Dar una explicación razonada de qué modelo, según la notación de Kendall, será aplicable
a cada una de sus componentes.

Las tasas de llegadas a la entrada de cada servidor se pueden obtener al suponer que los
sistemas se encuentran en estado estacionario. Entonces:

 La tasa de entrada al distribuidor viene dada por la suma de la tasa de llegadas exterior � y
el 50% de la tasa de salidas del servidor de disco. Por tanto, al haber retroalimentación, la
tasa de llegadas, , al distribuidor no sigue una distribución de Poisson. Sin embargo, al
encontrarse en estado estacionario, la tasa de salida del distribuidor será .
 La tasa de entrada al servidor de cálculo se denotará por y vendrá dada por = . .
Esta entrada no sigue un proceso de Poisson puesto que no es de Poisson.
 La tasa de entrada al servidor de disco se denotará por y vendrá dada por = . .
Esta entrada no sigue un proceso de Poisson puesto que no es de Poisson.

Aunque ninguno de los componentes del sistema son modelos M/M/c en sentido estricto ya que
ninguno tiene llegadas poissonianas, el sistema verifica las condiciones del teorema de Jackson:
estado estacionario en cada uno de los componentes y red de colas abierta. Por tanto, el número
de clientes en el distribuidor y el servidor de disco se puede modelar de acuerdo a un modelo
M/M/1 y el número de clientes en el servidor de cálculo se puede obtener de acuerdo a un modelo
M/M/2.

1.2 (1 punto) Calcular la tasa de llegadas efectiva a la entrada de cada servidor (distribuidor,
servidor de cálculo y servidor de disco).

 Tasa de llegadas efectiva a la entrada del distribuidor: =�+ . =�+ . . λ =


� 8 −
�+ . ⇒ = .8 = .8 = .
3

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
 Tasa de llegadas efectiva a la entrada del servidor de cálculo: = . = . ∙ =

.
 Tasa de llegadas efectiva a la entrada del servidor de disco: = . ∙ = . ∙ =

.

Observar que en todos los casos la tasa de llegadas a cada servidor es menor que la tasa de
servicio, y, por tanto, el sistema se encuentra efectivamente en estado estacionario.

1.3 (2 puntos) Calcular justificadamente el número medio de peticiones en cada uno de los
componentes (distribuidor, servidor de cálculo y servidor de disco).

Para calcular el número medio de clientes � � en el distribuidor aplicamos las ecuaciones del
modelo M/M/1:

� �
� � = = = = �
−� � � − −

Para calcular el número medio de clientes � en el servidor de cálculo aplicamos las ecuaciones
del modelo M/M/2:

��
� = + �
−�

Por tanto, es necesario calcular la probabilidad de esperar en cola � y el factor de utilización del
servidor de cálculo � .

� = = = .

.
� = = = = .
−� −� − .

( )
= = . = .
! !

− −
− ( ) ( )
= [(∑ )+ ] =[ + + ] = .
= ! ! −� ! ! ! − .
4

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.

Sustituyendo valores en la expresión de � :

�� . ∙ .
� = + � = + ∙ . = . �
−� − .

Para calcular el número medio de clientes � en el servidor de disco aplicamos las ecuaciones
del modelo M/M/1:


� = = = = �
−� − −

1.4 (1 punto) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Aplicamos el Teorema de Little sobre el sistema global, teniendo en cuenta que el número medio
de clientes en el sistema total es la suma del número medio de clientes en cada uno de los
subsistemas y la tasa de llegadas externas al sistema es �:

� � +� +� + . +
�= = = .

1.5 (1 punto) Calcular justificadamente el tiempo medio de respuesta para las peticiones de
cálculo de modelos.

Las peticiones para el cálculo de modelos pasarán una vez por el distribuidor y por el servidor de
cálculo y abandonarán el sistema. Por tanto, el tiempo medio de respuesta para estas peticiones
vendrá dado por la suma del tiempo medio en el distribuidor y el tiempo medio en el servidor de
cálculo:

� �� � =� � +�

Donde � �� � es el tiempo medio de respuesta para las peticiones de cálculo de modelos, � �


es el tiempo medio de respuesta del distribuidor, y � es el tiempo medio de respuesta del
servidor de cálculo.

Utilizando el número medio de clientes en cada componente calculados en el apartado anterior y


aplicando el Teorema de Little sobre el distribuidor y el servidor de cálculo se obtiene:
5

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
� �
� � = = = . �

� .
� = = = . �

Por tanto, el tiempo medio de respuesta para las peticiones de cálculo de modelos será:

� �� � =� � +� = . + . = . � .

1.6 (1 puntos) Determinar justificadamente un cuello de botella en el sistema descrito


anteriormente y plantear posibles soluciones. No se tendrán en cuenta respuestas no
razonadas.

Atendiendo a los factores de utilización de cada uno de los componentes, � � = = . ,� =


= . , � = = . , se observa que el elemento más sobrecargado es el servidor de disco.

Para solucionarlo podrían ponerse más discos en paralelo o colocar un disco más potente que
redujese el tiempo medio de servicio.
6

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
2. PROBLEMA (3 puntos) Una empresa dispone de 3 ordenadores idénticos y desea utilizarlos
para poner en marcha un servicio de información meteorológica. Los tres ordenadores trabajarán
en paralelo y cualquiera de ellos podrá atender cualquier petición de los clientes. Una petición
será procesada por un único ordenador. Sin embargo, la empresa decide prescindir de una cola
donde almacenar peticiones entrantes cuando los tres ordenadores estén ocupados. De esta
forma, aquellas peticiones que lleguen al sistema cuando todos los ordenadores estén ocupados
serán rechazadas. Cada ordenador tarda en procesar una petición 200 ms en promedio y se
estima que las peticiones de los clientes llegarán al sistema según un proceso de Poisson con una
media de 10 peticiones por segundo.
Suponer que todos los tiempos están distribuidos de forma exponencial y que existe un número
muy grande de clientes, de modo que el número de peticiones en servicio no afecta al ritmo de
llegada de nuevas peticiones.

2.1 (1 punto) Dibujar el diagrama del sistema y justificar un modelo válido para describirlo.

Se trata de un sistema M/M/3/3 debido a que:


 Llegadas siguen un proceso de Poisson de tasa = / .
 Tiempo de servicio distribuido exponencialmente con media � = ⇔ = −

 Tres servidores
 No existe cola y, por tanto, el número máximo de clientes en el sistema es igual al número
de servidores.
 Existe un número muy grande de clientes, de modo que el número de peticiones
pendientes de servicio no afecta al ritmo de llegada de nuevas peticiones.

2.2 (1 punto) Calcular la probabilidad de que una petición sea rechazada.

La probabilidad de que una petición sea rechazada viene dada por la probabilidad de que todos
los servidores estén ocupados, es decir, que haya 3 clientes en el sistema. Por tanto, se debe
calcular .

De acuerdo a las ecuaciones del modelo M/M/c/c:


7

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.

= ( ) ⇒ = ( )
! !
− −

= [(∑ )] =[ + + + ] = .
= ! ! ! ! !

Por tanto, la probabilidad de rechazar una petición será:

= ( ) = . ( ) = . .
! !

Es decir, el 21.1% de las peticiones serán rechazadas.

2.3 (0.5 puntos) Calcular el factor de utilización de cada servidor.

− 3 − .
El factor de utilización del servidor será: � = = ∙
= .

Cada servidor estará ocupado en promedio el 52.6% del tiempo.

2.4 (0.5 puntos) Calcular el número medio de clientes en el sistema.

El número medio de clientes en el sistema vendrá dado por la intensidad del tráfico = �= ∙
. = . � .

Otra posible forma de calcularlo es aplicando el Teorema de Little teniendo en cuenta la tasa de
llegadas efectiva ′ = − y que el tiempo de estancia en el sistema W es únicamente el
tiempo de servicio, puesto que no hay colas. Entonces: � = ′ � = ′ � = − � =
− . ∙ ∙ . = . � .
1

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Dibuja la forma típica de la función tasa de fallo en equipos físicos y distingue
las distintas zonas que se observan.

1.2. (1.25 puntos). Explica cómo se consigue la redundancia en la conexión de servidores a nivel
2.
2

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
1.3. (1.25 puntos). Diferencias entre los mecanismos de entrega de paquetes Destination NAT y
retorno directo al servidor (Direct Server Return) en los balanceadores de carga.

1.4. (1.25 puntos). Indica las principales diferencias entre los clusters de proceso activo-pasivo (o
asimétricos) y los clusters activo-pasivo cruzados (o simétricos).¿Qué ventajas e inconvenientes
ofrece el cluster activo-pasivo cruzado (o simétrico) respecto al cluster activo-pasivo (o
asimétrico)?
1

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
2 (3) 3 (2) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2.- (3 puntos). Una empresa cuenta con un único centro de procesamiento de datos donde
almacena todos sus recursos computacionales. En dicho centro de datos se encuentran 2
balanceadores de carga que reparten las peticiones de los clientes entre 2 servidores web. Los
servidores web utilizan como dispositivo de almacenamiento un único servidor de disco.

2.1 (0.5 punto) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que es
necesario que al menos un servidor de cada tipo esté operativo para poder prestar el servicio.

2.1 (1 punto) Se sabe que el tiempo medio hasta el fallo de un balanceador de carga es de 5,000
horas, el de un servidor web es de 1,000, y el del servidor de disco de 1,500 horas. También se
cuenta con una empresa que es capaz de reparar cualquier servidor dañado en 24 horas. Calcular
la disponibilidad total del sistema e indicar los puntos simples de fallo (SPOF) del mismo. Suponer
que todos los fallos son independientes.

A_b = 5,000 / (5,000 + 24) = 99.5


A_w = 1,000 / (1,000 + 24) = 97.7
A_d = 1,500 / (1,500 + 24) = 98.4

A_T = (1 – (1 - A_b)^2) * (1 – (1-A_w)^2) * A_d = 98.4%

Los puntos simples de fallo son aquellos en los que en caso de fallo se cae el sistema. Sería el
servidor de disco.
2

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
2.2 (1 punto) Se ha de satisfacer un requisito de disponibilidad total del 99.9%. Calcular cuántos
servidores de disco redundantes es necesario colocar en el sistema para conseguirlo.

(1 – (1 - A_b)^2) * (1 – (1-A_w)^2) * (1 – (1-A_d)^n) = 99.9%


(1 – (1 - A_b)^2) * (1 – (1-A_w)^2) - (1 – (1 - A_b)^2) * (1 – (1-A_w)^2) (1-A_d)^n = 99.9%
(1 – (1 - A_b)^2) * (1 – (1-A_w)^2) – 0.999 = (1 – (1 - A_b)^2) * (1 – (1-A_w)^2) (1-A_d)^n
((1 – (1 - A_b)^2) * (1 – (1-A_w)^2) – 0.999) / ((1 – (1 - A_b)^2) * (1 – (1-A_w)^2)) = (1-A_d)^n
1 – 0.999 / ((1 – (1 - A_b)^2) * (1 – (1-A_w)^2)) = (1-A_d)^n
n = log(1 – 0.999 / ((1 – (1 - A_b)^2)* (1 – (1-A_w)^2))) / log(1 – A_d) = 1.86 servidores

Luego habrá que colocar al menos otro servidor de disco.

2.3 (0.5 punto) Tras lleva a cabo los cambios necesarios para cumplir el requisito anterior, y
teniendo en cuenta que el centro de procesamiento de datos de la empresa se encuentra en el
edificio de su sede central, indicar justificadamente si sus instalaciones computacionales son
tolerantes a desastres locales. Si no es así, indicar una posible solución para conseguir la
recuperación frente a este tipo de desastres e indicar a través de qué mecanismo se podría llevar
a cabo la replicación de la información almacenada en los servidores de disco.

Al tener un único centro de proceso de datos ubicado en un edificio no hay tolerancia a desastres
locales (incendios, inundaciones, etc), ya que éstos podrían afectar a todos los servidores de la
empresa a la vez.

La resistencia frente a desastres locales se podría obtener mediante un clúster a nivel de campus
o metropolitano. Bastaría con colocar los componentes redundantes del sistema en otro centro de
procesamiento de datos, ubicado en otro edificio, a una distancia máxima de unos 10km.

Al ser un clúster a nivel de campuso o metropolitano tendríamos enlaces de alta velocidad


(Ethernet o fibra óptica, propios o alquilados) y sería posible la copia síncrona de la información
entre los 2 servidores de disco utilizando los mecanismos propios de dichos servidores.
3

SISTEMAS INFORMÁTICOS II

5 de mayo de 2015.
3.1- (1 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).
El conmutador raíz sería el que tiene mayor prioridad que es igual a menor ID. Luego sería el 1.
ID:7 RP 4 DP ID:8 RP 1 DP ID:9

DP DP RP
4 1 1

ID:4 RP 19 ID:5 RP 19 DP ID:6

AP DP AP DP
AP AP RP
19 19 1

ID:1 DP 1 ID: 2 DP 4 ID: 3 DP

DP RP DP RP
3.2 (1 puntos) Determinar el estado de cada uno de los puertos de los conmutadores tras fallar el
enlace (proceso de fail-over) entre los conmutadores con ID 4 y 7.
ID:7 RP 4 DP ID:8 RP 1 DP ID:9

AP DP RP
4 1 1
Fallo

ID:4 AP 19 ID:5 RP 19 DP ID:6

AP DP AP DP
RP AP RP
19 19 1

ID:1 DP 1 ID: 2 DP 4 ID: 3 DP

DP RP DP RP
1

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 2 (1.5) 3 (2.5) Total Parte I (10)

PARTE I
(33,33% de la nota del examen)
1.- (6 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Describe en qué consiste la transparencia de datos, y nombra tres mecanismos que se
podrían utilizar para conseguirla.

1.2. (1.5 puntos). Indica las componentes que aparecen en el estándar de directorios X.500 y los
protocolos que se utilizan para el intercambio de mensajes. Indicar qué componente se ejecuta en el cliente
y qué componente se ejecuta en el servidor.
2

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.

1.3. (1.5 puntos). Explica el ciclo de desarrollo de una aplicación distribuida basada en CORBA.

1.4. (1.5 puntos). Describe el modelo publicador / suscriptor para el diseño de sistemas distribuidos
(componentes que lo forman, interacciones entre ellas, y tareas a llevar a cabo por cada una). Indica qué
mecanismo de comunicación es más adecuado para su implementación.
3

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.

2.- (1.5 puntos). Considera el siguiente fichero WSDL asociado a un servicio web SOAP:
<?xml version="1.0"?>
<definitions name="MyService" targetNamespace=http://www.examples.com/wsdl/MyService.wsdl
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/
xmlns:tns="http://www.examples.com/wsdl/MyService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<message name="loginRequest"><part name="user" type="xsd:string"/></message>


<message name="loginResponse"><part name="greeting" type="xsd:string"/></message>
<message name="addressRequest"><part name="user" type="xsd:string"/></message>
<message name="addressResponse"><part name="address" type="xsd:string"/></message>

<portType name="Service_PortType"><operation name="login">


<input message="tns:loginRequest"/><output message="tns:loginResponse"/>
</operation><operation name="address">
<input message="tns:addressRequest"/><output message="tns:addressResponse"/>
</operation></portType>

<binding name="Service_Binding" type="tns:Service_PortType">


<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="login"><soap:operation soapAction="login"/>
<input><soap:body encoding=“literal"/></input><output>
<soap:body encoding=“literal"/></output></operation>
<operation name="address"><soap:operation soapAction="address"/>
<input><soap:body encoding=“literal"/></input><output>
<soap:body encoding=“literal"/></output></operation>
</binding>
<service name="My_Service"><port binding="tns:Service_Binding" name="Service_Port">
<soap:address location="http://www.examples.com/MyService/" />
</port> </service>
</definitions>

2.1. (1 punto). Indicar las operaciones soportadas por el servicio web y el intercambio de
mensajes asociado a cada operación.
4

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
El servicio web soporta dos operaciones “login” y “address”. Cada operación involucra enviar un
mensaje de petición y uno de respuesta. Para la operación “loign” el mensaje de petición es
“loginRequest” y el mensaje de respuesta es “loginResponse”. Para la operación “address” el
mensaje de petición es “addressRequest” y el mensaje de respuesta es “addressResponse”.

2.2 (0.5 puntos). Indicar la URL que se utilizará para solicitar la invocación del servicio (dirección
del servicio).

La URL es la que aparece en el apartado “service”: http://www.examples.com/MyService/

3.- (2.5 puntos). Considerar los siguientes casos particulares de sistemas distribuidos basados en
el modelo cliente / servidor.
a) Red social de micro-posts: los usuarios pueden utilizar el servicio para consultar los
posts de otros usuarios, publicar un nuevo post, modificar un post ya publicado, seguir a
otro usuario, consultar la lista de usuarios seguidos, etc. La empresa cuenta con un corta-
fuegos a través del cual deberán pasar los clientes. El ancho de banda de la empresa es
reducido y por lo tanto se desearía evitar que el tamaño de los mensajes sea
excesivamente grande. Los clientes que usarán el servicio serán heterogéneos.
b) Servicio de tiempo: clientes heterogéneos utilizan el servicio para solicitar información
sobre la hora actual. Los clientes envían al servidor un mensaje. Tras esto el servidor
contesta con otro mensaje que incluye ciertas marcas de tiempo. Los clientes utilizan esta
información para actualizar la hora de sus relojes.

Para cada uno de ellos se pide elegir justificadamente (cuantas más razones se den para la
elección mayor la puntuación) el mecanismo de comunicación más adecuado entre UDP,
Servicios web basados en REST, Servicios web basados en SOAP o Colas de Mensajes. Indicar
además si será necesario usar algún mecanismo adicional para garantizar la transparencia de
datos.

a) Descartamos UDP debido a la limitación de tamaño de mensaje, y al hecho de que los


clientes serán heterogéneos y éste mecanismo no proporciona transparencia de datos.
Descartamos colas de mensajes ya que la interacción será síncrona, y colas de mensajes
tampoco proporciona transparencia de datos. Otras razones para descartar estos
mecanismos es la existencia del corta-fuegos, que los filtraría. Los servicios web pasarían
a través del corta-fuegos. Entre ellos elegimos REST ya que es más eficiente que SOAP.
Podríamos usar JSON para la representación de los datos, lo que nos proporcionaría
transparencia de datos con lo que no tendríamos que traducirlos aunque los clientes sean
heterogéneos.
b) En este servicio parece crítico el envío rápido de mensajes. Esto descartaría colas de
mensajes (comunicación asíncrona) y también los servicios web basados en SOAP, ya que
procesar sus mensajes es muy costoso, y son muy grandes. REST puede ser más
eficiente que SOAP, sin embargo la solución más rápida sería utilizar UDP para realizar el
envío de los mensajes. Como los mensajes son pequeños (marcas de tiempo), no tenemos
problemas por espacio. Las operaciones son idempotentes, así que tampoco habría
5

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
problema porque se perdiesen los mensajes. Simplemente se podrían volver a enviar el
mensaje sin problema. El único problema es que UDP no proporciona transparencia de
datos. Sin embargo, bastaría con introducir algún mecanismo de traducción para garantizar
esto último. Un ejemplo podría ser traducir todo a Little-endian.
1

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos). Un servidor web de aplicaciones recibe peticiones de los clientes según
un proceso de Poisson con una media de 20 peticiones por segundo. Las peticiones son recibidas
inicialmente por un servidor caché que analiza el contenido de las mismas para determinar si se
trata de peticiones de páginas estáticas que tenga en caché. En caso de ser así, el servidor caché
devuelve la respuesta al cliente y la petición finaliza. Este servidor cuenta con una única CPU que
tarda en promedio 20 ms en analizar cada petición. Se estima que en promedio, el 30% de las
peticiones recibidas se encuentran en caché y el 70% de las peticiones no están cacheadas.
Aquellas peticiones que no puedan ser resueltas por el servidor caché, pasan a un servidor web
que cuenta con una CPU. El tiempo que tarda la CPU en procesar el trabajo tiene un valor medio
de 50 ms. Un 80% de las peticiones procesadas por el servidor web requieren que, adicionalmente
al proceso realizado por dicho servidor, se ejecute un programa externo. Esta ejecución se realiza
en un servidor de aplicaciones. El 20% restante de peticiones salen del sistema.
El servidor de aplicaciones cuenta con una única CPU que tarda en promedio 25 ms en procesar
una petición. Cada vez que el servidor de aplicaciones procesa una petición, necesita acceder a un
servidor de base de datos. Este servidor tiene un tiempo de servicio con media 40 ms. Tras pasar
por el servidor de aplicaciones y el servidor de bases de datos, la mitad de las peticiones necesita
realizar otra petición al servidor de aplicaciones, y el resto de peticiones salen del sistema.

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial, que los
servidores tienen una cola de espera de tamaño infinito y que existe un número muy grande de
clientes, de modo que el número de peticiones pendientes de servicio no afecta al ritmo de llegada
de nuevas peticiones.

Redondear todos los resultados a tres posiciones decimales.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas de llegada a la entrada de cada servidor, indicando las suposiciones realizadas. Dar
una explicación razonada de qué modelo, según la notación de Kendall, será aplicable a cada
una de sus componentes.
2

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016

Las tasas de llegadas a la entrada de cada servidor se pueden obtener al suponer que los sistemas
se encuentran en estado estacionario. Entonces:

 La tasa de entrada al servidor caché será la tasa de llegadas exterior del sistema. Por tanto,
la tasa de llegadas 𝜆𝐶 al servidor caché sigue una distribución de Poisson. Al encontrarse
en estado estacionario y no haber retroalimentación, el servidor caché sigue un modelo
M/M/1 y por el Teorema de Burke, su tasa de salida es 𝜆𝐶 con distribución de Poisson.

 La tasa de entrada a los servidores web será el 70% de la tasa de salidas del servidor caché.
Como se trata de una división aleatoria de un proceso de Poisson, la entrada servidor web
también seguirá una distribución de Poisson con tasa de llegadas 𝜆𝑊 = 0.7𝜆𝐶 . Al encontrarse
en estado estacionario y no haber retroalimentación, el servidor web sigue un modelo M/M/1
y por el Teorema de Burke, su tasa de salida es 𝜆𝑊 con distribución de Poisson.

 La tasa de entrada al servidor de aplicaciones viene dada por la suma de la tasa de llegadas
procedentes del 80% de las peticiones salientes del servidor web y el 50% de la tasa de
salidas del servidor de bases de datos (retroalimentación). Por tanto, al haber
retroalimentación, la tasa de llegadas 𝜆𝐴 al servidor de aplicaciones no sigue una distribución
de Poisson. Sin embargo, al encontrarse en estado estacionario, la tasa de salida del
distribuidor será 𝜆𝐴 . A pesar de no tener una tasa neta de llegadas Poissoniana, el Teorema
de Jackson nos permite modelar el número de clientes en el servidor de aplicaciones como
un modelo M/M/1.

 El mismo razonamiento anterior se aplica para el servidor de bases de datos, que se


modelará de acuerdo a un modelo M/M/1. En este caso se denotará su tasa de entrada como
𝜆𝐵 y 𝜆𝐵 = 𝜆𝐴 .
3

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
El sistema en su conjunto se puede modelar como una red de colas abiertas, ya que se asume que
cada uno de los sistemas está en estado estacionario, las llegadas desde el exterior siguen una
distribución de Poisson, y existe una probabilidad no nula de que las peticiones salgan del sistema.

1.2 (1 punto) Calcular la tasa de llegadas efectiva a la entrada de cada servidor (servidor
caché, servidor web, servidor de aplicaciones y servidor de bases de datos).

 Tasa de llegadas efectiva a la entrada del servidor caché: 𝜆𝐶 = 𝜆 = 20 𝑠 −1


 Tasa de llegadas efectiva a la entrada del servidor web: 𝜆𝑊 = 0.7 𝜆𝐶 = 0.7 ∙ 20 = 14 𝑠 −1.
 Tasa de llegadas efectiva a la entrada del servidor de aplicaciones: 𝜆𝐴 = 0.5 𝜆𝐴 + 0.8 ∙ 𝜆𝑊 =
0.56
0.8 ∙ 0.7 ∙ 𝜆 ⇒ 𝜆𝐴 = 0.5 𝜆 = 22.4 𝑠 −1 .
 Tasa de llegadas efectiva a la entrada del servidor de bases de datos:

Observar que en todos los casos la tasa de llegadas a cada servidor es menor que la tasa de
servicio, y, por tanto, los sistemas se encuentran efectivamente en estado estacionario.

1.3 (1 punto) Calcular justificadamente el número medio de peticiones en cola en cada uno
de los componentes (servidor caché, servidor web, servidor de aplicaciones y servidor de
bases de datos).

Para calcular el número de peticiones en cola en los modelos M/M/1 usaremos que 𝐿𝑞 = 𝐿 − 𝜌1.

Para calcular el número medio de clientes 𝐿𝐶 en el servidor caché aplicamos las ecuaciones del
modelo M/M/1:

𝜌𝐶 𝜆𝐶 20
𝐿𝐶 = = = = 0.667 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠
1 − 𝜌𝐶 𝜇𝐶 − 𝜆𝐶 50 − 20

𝑞
Y por tanto, el número medio de clientes en cola para el servidor caché será: 𝐿𝐶 = 𝐿𝐶 − 𝜌𝐶 = 𝐿𝐶 −
𝜆𝐶 20
= 0.667 − = 0.267 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠.
𝜇𝐶 50

Para calcular el número medio de clientes 𝐿𝑊 en el servidor web aplicamos las ecuaciones del
modelo M/M/1:

𝜌𝑊 𝜆𝑊 14
𝐿𝑊 = = = = 2.333 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠
1 − 𝜌𝑊 𝜇𝑊 − 𝜆𝑊 20 − 14

𝑞
Y por tanto, el número medio de clientes en cola para el servidor web será: 𝐿𝑊 = 𝐿𝑊 − 𝜌𝑊 = 𝐿𝑊 −
𝜆𝑊 14
𝜇𝑊
= 2.333 − 20 = 1.633 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠.

1 Se puede resolver de otras formas. Por ejemplo, calculando el tiempo medio de espera en cola y aplicando el Teorema
de Little.
4

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016

Para calcular el número medio de clientes 𝐿𝐴 en el servidor de aplicaciones aplicamos las


ecuaciones del modelo M/M/1:

𝜌𝐴 𝜆𝐴 22.4
𝐿𝐴 = = = = 1.273 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠
1 − 𝜌𝐴 𝜇𝐴 − 𝜆𝐴 40 − 22.4

𝑞
Y por tanto, el número medio de clientes en cola para el servidor de aplicaciones será: 𝐿𝐴 = 𝐿𝐴 −
𝜆𝐴 22.4
𝜌𝐴 = 𝐿𝐴 − = 1.273 − = 0.713 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠.
𝜇𝐴 40

Para calcular el número medio de clientes 𝐿𝐴 en el servidor de bases de datos aplicamos las
ecuaciones del modelo M/M/1:

𝜌𝐵 𝜆𝐵 22.4
𝐿𝐵 = = = = 8.615 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠
1 − 𝜌𝐵 𝜇𝐵 − 𝜆𝐵 25 − 22.4

𝑞
Y por tanto, el número medio de clientes en cola para el servidor de bases de datos será: 𝐿𝐵 = 𝐿𝐵 −
𝜆𝐵 22.4
𝜌𝐵 = 𝐿𝐵 − = 8.615 − = 7.719 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠.
𝜇𝐵 25

1.4 (1.5 puntos) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Aplicamos el Teorema de Little sobre el sistema global, teniendo en cuenta que el número medio
de clientes en el sistema total es la suma del número medio de clientes en cada uno de los
subsistemas y la tasa de llegadas externas al sistema es 𝜆:

𝐿𝐶 + 𝐿𝑊 + 𝐿𝐴 + 𝐿𝐵 0.667 + 2.333 + 1.273 + 8.615


𝑊= = = 0.644 𝑠
𝜆 20

1.5 (1.5 puntos) Calcular justificadamente el tiempo medio de respuesta para las peticiones
que requieren pasar por el servidor de aplicaciones.

𝐿𝐴 + 𝐿𝐵 𝐿𝐶 𝐿𝑊 𝐿𝐴 + 𝐿𝐵 0.667 2.333 1.273 + 8.615


𝑊 = 𝑊𝐶 + 𝑊𝑊 + = + + = + + = 1.083 𝑠
0.8 𝜆𝑊 𝜆𝐶 𝜆𝑊 0.8 𝜆𝑊 20 14 0.8 ∙ 14

1.6 (1 punto) Determinar justificadamente si el servidor caché actual es suficiente para que
al menos el 60% de las peticiones que solo pasan por este servidor tengan una latencia
inferior a 25 milisegundos. No se tendrán en cuenta respuestas no razonadas.

Como las peticiones solo pasan por el servidor caché, el tiempo de estancia en el sistema (latencia)
de esas peticiones será únicamente el del servidor caché. Se calcula la probabilidad de que el
5

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
tiempo de estancia en el servidor caché sea menor o igual a 25 milisegundos de acuerdo a la
ecuación de la función de distribución del tiempo de estancia en el sistema para el modelo M/M/1:

𝐹𝑊 (𝑡) = 1 − 𝑒 −(𝜇𝐶 −𝜆𝐶 )𝑡 = 1 − 𝑒 −(50−20)0.025 = 0.528 < 0.60

Por tanto, no es posible satisfacer el requisito con el servidor caché actual.


6

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
2. PROBLEMA (3 puntos) Una empresa cuenta con un servidor A que recibe las peticiones de los
clientes sobre un conjunto de servicios web y que tiene un tiempo medio de servicio igual a 40ms
distribuido de forma exponencial. Por construcción, dicho servidor solo admite 4 peticiones
esperando en cola. En caso de que se reciba una petición y la cola esté llena, la petición se rechaza.
El servidor A recibe peticiones de los clientes siguiendo un proceso Poisson con una media de 20
peticiones por segundo.

Suponer que existe un número muy grande de clientes, de modo que el número de peticiones
pendientes de servicio no afecta al ritmo de llegada de nuevas peticiones.

Redondear todos los resultados a tres posiciones decimales.

2.1 (0.5 punto) Dibujar el diagrama del sistema y justificar un modelo válido para describirlo.

 Tiempo de servicio exponencial con valor esperado 40 ms  𝑇𝑆 = 0.04 𝑠 y 𝜇 = 25 petciones/s.


 Cola de espera limitada, de modo que rechaza cualquier nueva solicitud que reciba cuando ya
se encuentra procesando una y hay otras dos en espera  Cola de tamaño 4 y 1 servidor 
Capacidad máxima de clientes que puede contener el sistema K=5.
 Las peticiones que se realizan siguen un ritmo de Poisson con tasa de 4 peticiones por segundo
 Tiempo entre llegadas exponencial con tasa de llegadas 𝜆 = 20 peticiones/s.

Por tanto, se tarda de un modelo M/M/1/5 como se muestra en la siguiente figura:

2.2 (1 punto) Calcular la probabilidad de que se rechace una solicitud.

La probabilidad de rechazar una solicitud viene dada por la probabilidad de que haya actualmente
5 clientes en el sistema (1 siendo servido y 4 en cola). Por tanto, la probabilidad de rechazo viene
dada por 𝑝5 .

Podemos calcularla de acuerdo a la expresión de la distribución estacionaria de Markov para el


modelo M/M/1/K:

𝜆 5
𝑝5 = 𝑝0 ( )
𝜇
7

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
Conocemos 𝜆 y 𝜇, pero necesitamos calcular 𝑝0 . Usamos la expresión para 𝑝0 derivada del segundo
axioma de probabilidad:
𝜆 20
1−𝜇 1−
𝑝0 = 25 = 0.271
𝐾+1 =
𝜆 20 6
1 − (𝜇) 1−( )
25

Con este valor de 𝑝0 podemos calcular 𝑝5 como sigue:

𝜆 5 20 5
𝑝5 = 𝑝0 ( ) = 0.271 ∙ ( ) = 0.089
𝜇 25

Por tanto, la probabilidad de rechazo es del 8.9%.

2.3 (1 punto) Calcular el tiempo medio de respuesta del sistema para las peticiones que no
son rechazadas.

El tiempo medio de estancia en el sistema de las peticiones que son procesadas viene dado por W.
Para calcular W podemos seguir los siguientes pasos:
1. Calcular el número de clientes en el sistema L.
2. Obtener W a partir de L usando el Teorema de Little.

𝜆 𝜆 𝐾 𝜆 𝐾+1 20 20 5 20 6
𝜇 1 − (𝐾 + 1) (𝜇) + 𝐾 (𝜇) 1 − (𝐾 + 1) ( ) + 𝐾 ( )
𝐿= = 25 [ 25 25 ] = 1.868 𝑐𝑙𝑖𝑒𝑛𝑡𝑒𝑠
1−
𝜆 𝜆 𝐾+1 1−
20 20 6
𝜇[ 1 − (𝜇) 25 1−( )
] 25

Ahora se calcula el tiempo medio de estancia en el sistema (latencia) en función de L y la tasa


efectiva de llegadas. Tener en cuenta que el Teorema de Little se calcula sobre la tasa efectiva de
llegadas.

𝐿 1.868
𝑊= = = 0.103 𝑠
𝜆′ (1 − 0.089)20

2.4 (0.5 puntos) Dada la popularidad del servicio, el tráfico de entrada se incrementa, siendo
ahora de 25 peticiones por segundo, con el tiempo entre llegadas distribuido de forma
exponencial. Esta creciente popularidad hace que se quiera mejorar la disponibilidad del
servicio, para lo cual se desea que a lo sumo el 1% de las peticiones puedan ser rechazadas.
Asumiendo que no es posible cambiar el servidor ni incorporar nuevos servidores, calcular
el tamaño mínimo de la cola para satisfacer este requisito.
8

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016
En este nuevo escenario, 𝜆 = 25 𝑝/𝑠 y, dado que el servidor sigue siendo el mismo, 𝜇 = 25 𝑝/𝑠.
Aplicando las ecuaciones de modelo M/M/1/K con 𝜆 = 𝜇, se tiene que la probabilidad de rechazo
para un sistema con capacidad para K clientes será:

1
𝑝𝐾 = 𝑝0 = = 0,01
𝐾+1

Despejando K: 𝐾 = 99 clientes, y, por tanto, el tamaño de la cola debería ser 98.


Formulario:
Modelo M/M/1 Modelo M/M/1/K:

pn  1     
n n

pn  p0   0  n  K 
   

  1    
L      
1   1      K 1 
p0  
FW  t   1  e   t  1
    
 K 1
Modelo M/M/c:
   1     K 
   
n
  K 1     
 p0 n  c    1      

 n!
pn    K
   
n
p c   
c
n  c 
 0 c !  c   K 1
  
   1   K  1   k  K     K 1 

       
1      
K 1
c L 1    
 K
 c1   n    c 
1
    
p0      2
 c!1   
 n  0 n!  
Modelo M/M/1//M
pc
Pq   Ec  c, u 
1 
n n
M     M!  
pn  p0   n !   p0
Pq   n    M  n !   
L  c
1  M
1
M!   
n

p0      
 n 0  M  n  !    
Modelo M/M/c/c:
n
 1
pn  p0   0  n  c   1  p0
   n!
' 
1 LM  M  
 c   n 1   
p0      
 n 0    n ! Modelo M/M/c//M

Modelo M/G/1:   M   
n

 p0    0  n  c
 E  S 2 
2
  n   
L  pn  
2 1   
n
  M  n!   
 p0  n  c n c c !    c  n  M 
       
1
 c 1  M    n M  M  n !    n 
p0            n c   
 n 0  n     n c  n  c c !    
c 1
cn
  1   pn
n0 c
' c
LM  M 
 
1

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Definición de clúster de alta disponibilidad (High Availability Cluster) y clúster
de alto rendimiento (High Performance Cluster). Indicar las diferencias entre ambos.

1.2. (1.25 puntos). ¿Para qué se utiliza el protocolo Open Shortest Path First (OSPF)? ¿Para qué
se utilizan los mensajes OSPF Hello y LSA (Link State Advertisements)?
2

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
1.3. (1.25 puntos). Enumerar y explicar los diferentes elementos que deben definirse en la
configuración de un balanceador de carga.

1.4. (1.25 puntos). Explicar en qué consisten las copias on-line en los sistemas de creación de
copias de la información. ¿Qué implicaciones tienen en términos del RTO (Recovery Time
Objective) frente a las copias off-line? Enumerar los diferentes mecanismos más habituales de
menor a mayor fiabilidad.
1

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
2.1 (1) 2.2 (1.5) 2.3(0.5) 2.4(1) 3.1 (1) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2.- (4 puntos). Una empresa proporciona un servicio que implica ejecutar una aplicación en un
servidor de aplicaciones y acceder a cierto espacio de almacenamiento ubicado en un servidor de
disco. El servidor de disco tiene dos discos duros configurados en RAID-1 (mirroring). Sin
embargo, el software que gestiona el servidor de disco es experimental y se estima que falla una
vez cada 5 días en promedio. Lo mismo ocurre con el software del servidor de aplicaciones.
Cuando falla el software de alguno de los servidores, se tarda en promedio 1 hora en detectar
dicho fallo. Para corregirlo, es necesario reiniciar el servidor, lo que lleva en promedio 20 minutos.
Para aumentar la disponibilidad del sistema, la empresa decide duplicar servidores y se
adquiere un servidor de aplicaciones y un servidor de disco adicional, de iguales características
a los anteriores. La empresa cuenta además con un contrato de mantenimiento que garantiza la
reparación del hardware de cualquier servidor (servidor de aplicaciones o servidor de disco) o
disco duro en 24 horas. Finalmente, se sabe que el tiempo medio hasta el fallo del hardware de
cualquier servidor (servidor de aplicaciones o servidor de disco) es de 5,000 horas, mientras que
el tiempo medio hasta el fallo de cada disco duro del servidor de disco es de 2,000 horas.

2.1 (1 punto) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que es
necesario que al menos un servidor de cada tipo esté operativo para poder prestar el servicio, y
para que un servidor esté operativo debe funcionar correctamente su componente software y
hardware, así como el espacio del almacenamiento, en el caso del servidor de disco.

2.2 (1.5 puntos) Calcular la disponibilidad total del sistema e indicar si existe un punto simple de
fallo (SPOF) en el mismo. Suponer que todos los fallos son independientes. Hacer los cálculos
utilizando 4 decimales.

5000
0.9952
5000 24
2

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.
5 · 24
0.9893
5 · 24 1.3
2000
0.9881
2000 24
· 0.9952 · 0.9893 0.9846

· 1− 1− 0.9952 · 0.9893 · 1 − 0.0119 0.9844

1− 1− · 1− 1− 0.9998 · 0.9998 0.9996

Todas las componentes están replicadas luego no existe SPOF.

2.3 (0.5 puntos). Suponiendo que todos los tiempos de vida son independientes y están
distribuidos de forma exponencial, calcular el tiempo medio hasta el fallo (bien por fallo de
software o de hardware) de un servidor de aplicaciones.

Como los tiempos de vida están distribuidos de forma exponencial su función tasa de fallos es
constante e igual a 1 / MTTF. Al tener las componentes colocadas en serie, las funciones tasa de
fallo se suman. Esto nos permite calcular el MTTF del servidor de aplicaciones que es igual a:

MTTF = 1 / (1 / MTTF_hw + 1 / MTTF_sw) = 1 / (1 / 5000 + 1 / (5 * 24)) = 117.19 horas.

2.4 (1 punto) Actualmente cada pareja compuesta por un servidor de aplicaciones más servidor
de disco se encuentra localizada en un edificio diferente. La distancia entre los dos edificios es de
1 km. Estos edificios se encuentran conectados mediante enlaces de alta velocidad privados
(Ethernet + Fibra óptica). Indicar si dicha configuración será resistente a desastres, y si es así, a
qué tipo de desastres será tolerante. Indicar también el tipo de desastres a los que no será
tolerante. Suponiendo que los dos servidores de aplicaciones están configurados según un
clúster Activo-Pasivo asimétrico de dos nodos, indicar dos mecanismos que se podrían emplear
para transportar la señal Heartbeat.

El sistema será tolerante a desastres locales que ocurran en un único edificio (inundaciones
incendios etc.). No será tolerante a desastres de áreas extensas que afecten a ambos edificios.

Para transportar la señal Heartbeat se podría utilizar un enlace Ethernet dedicado, o escrituras
periódicas en áreas compartidas de almacenamiento localizadas en los servidores de disco.
3

SISTEMAS INFORMÁTICOS II

13 de mayo de 2016.

3.1- (1 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores de la figura como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP)
tras aplicar el RSTP para eliminar los bucles de la red. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).
El conmutador raíz sería el que tiene mayor prioridad que es igual a menor ID. Luego sería el 1.
ID:2 RP 1 DP ID:3 RP 1 DP ID:4

DP AP RP
1 19 1

ID:6 RP 19 ID:1 DP 4 DP ID:5

AP DP DP RP
DP DP DP
1 19 1

ID:7 RP 19 ID: 8 AP 4 ID: 9 RP

DP AP RP DP
1

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.

T1 (1) T2 (1) T3 (1) T4 (1) T5 (1) Total Teoría (5)

PARTE I
(33,33% de la nota del examen)

1.- TEORÍA (5 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1. (1 punto) Define en qué consiste la transparencia de datos y enumera las tres alternativas
posibles en cuanto al tipo de acuerdo a tomar entre cliente y servidor.

Diapositiva 6 (definición) – Tema 1


Diapositiva 8 (3 alternativas ) – Tema 1

2. (1 punto) Explica cuál es la funcionalidad del Server Stub en RPCs.

Diapositiva 18 – Tema 1

3. (1 punto) Compara los servicios web basados en SOAP frente a los servicios web basados en
REST en términos de la complejidad de implementación del lado del cliente y el lado del servidor.

Diapositiva 37 – Tema 1

4. (1 punto) ¿Qué es .Net Remoting?

Diapositiva 58 – Tema 1

5. (1 punto) Enumera y explica brevemente los cuatro objetivos del Network time Protocol, NTP.

Diapositiva 90 – Tema 1
2

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.

2 (3) 3 (2) Total Problemas (5)

2. PROBLEMA. Considerar los siguientes casos particulares de sistemas distribuidos:


1. Servicio de solicitud de asistencia en carretera. Se quiere desarrollar un sistema cliente-
servidor que permita a los usuarios de una compañía aseguradora solicitar asistencia en
carretera a través de una aplicación móvil. La aplicación enviará las coordenadas GPS con
la ubicación del vehículo, el identificador del cliente y la hora de la solicitud. La aplicación
recibirá una respuesta indicando si la petición ha sido o no aceptada y el la hora esperada
de llegada del servicio técnico. Los clientes serán de arquitecturas heterogéneas. Además,
se requiere que el sistema trabaje en tiempo real, por lo que el coste del procesamiento de
los mensajes es crítico.
2. API para empresa de venta online. Una empresa de venta online desea desarrollar una
API con el fin de facilitar el desarrollo de aplicaciones que mejoren su sistema (por ejemplo
recomendaciones de productos asociados o productos similares). Los usuarios de la API
pueden utilizar el servicio para consultar el carrito de la compra de diferentes usuarios, el
perfil público de los usuarios del sistema (edad, género, profesión, etc.), publicar las
recomendaciones de productos similares o productos relacionados, etc. En general, la
complejidad de las operaciones y estructuras de datos es alta. La empresa cuenta además
con un corta-fuegos a través del cual deberán pasar los clientes. El ancho de banda de la
empresa es reducido y por lo tanto se desearía evitar que el tamaño de los mensajes sea
excesivamente grande. Los clientes que usarán el servicio serán heterogéneos.

(3 puntos – 1.5 puntos por escenario) Para cada uno de ellos se pide elegir razonadamente el
mecanismo de comunicación más adecuado entre los vistos en la parte de teoría de la asignatura
(UDP, TCP, RPC, WS-SOAP, REST, CORBA, Java-RMI o Colas de Mensajes). Indicar así mismo si
será necesario implementar algún mecanismo adicional de traducción de datos.

No se tendrán en cuenta respuestas sin justificación (cuantas más justificaciones, mayor la


puntuación).

1. Servicio de solicitud de asistencia en carretera.


a. El mecanismo más adecuado sería comunicación no orientada a conexión (UDP) debido
a las siguientes razones:
 Las interacciones serían acopladas en el tiempo (servidor y cliente conectados a la
vez).
 La funcionalidad es muy elemental, no merece la pena usar CORBA o servicios web.
La información a enviar es muy pequeña, sólo las coordenadas GPS, el identificador
de cliente y la marca temporal. La respuesta del servidor también es sencilla,
indicando la aceptación o no del servicio y la hora estimada de llegada.
 No merece la pena establecer una conexión para el envío de un único mensaje de
petición y respuesta, por lo que se descarta TCP. Además, en caso de pérdida de un
3

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
mensaje, éste se podría reenviar sin problema puesto que las interacciones son del
tipo petición/respuesta e idempotentes.
b. Habría que implementar algún tipo de funcionalidad adicional para garantizar la
transparencia de datos al tratarse de sistemas heterogéneos, pero la información
intercambiada es pequeña y sencilla de codificar.

2. API para empresa de venta online.


a. El mecanismo más adecuado sería sevicios web basados en REST debido a las
siguientes razones:
 Descartamos UDP y TCP debido a que los clientes serán heterogéneos y se tiene
una alta complejidad en los datos intercambiados (estos mecanismos no
proporcionan transparencia de datos), así como en las operaciones a realizar.
 Descartamos colas de mensajes ya que la interacción será síncrona, y colas de
mensajes tampoco proporciona transparencia de datos.
 Otras razones para descartar estos mecanismos es la existencia del corta-fuegos,
que los filtraría.
 Los servicios web pasarían a través del corta-fuegos. Entre ellos elegimos REST ya
que es más eficiente que SOAP. Podríamos usar JSON para la representación de los
datos, ya que es menos pesado que SOAP y se requiere evitar un tamaño de
mensajes excesivamente grande.
b. Dado que se tiene clientes heterogéneos, la representación JSON requeriría
marshalling/unmarshalling de los datos únicamente a nivel de texto.

3. PROBLEMA (2 puntos). Considera el siguiente fichero WSDL asociado a un servicio web SOAP
para la solicitud de información sobre un producto identificado por un id (string) y actualización del
stock:
<?xml version="1.0"?>
<definitions name="MyService"
targetNamespace=http://www.examples.com/wsdl/MyService.wsdl
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/
xmlns:tns="http://www.examples.com/wsdl/MyService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<message name="productInfoRequest">
<part name="idproduct" type="xsd:string"/>
</message>
<message name="productInfoResponse">
<part name="description" type="xsd:string"/>
</message>
<message name="stockUpdateRequest">
4

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
<part name="idproduct" type="xsd:string"/>
<part name="newstock" type="xsd:integer"/>
</message>
<message name="stockUpdateResponse">
<part name="status" type="xsd:integer"/>
</message>

<portType name="Service_PortType"><operation name="getInfo">


<input message="tns:productInfoRequest"/><output
message="tns:productInfoResponse"/>
</operation><operation name="updateStock">
<input message="tns:stockUpdateRequest"/><output
message="tns:stockUpdateResponse"/>
</operation></portType>

<binding name="Service_Binding" type="tns:Service_PortType">


<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getInfo"><soap:operation soapAction="getInfo"/>
<input><soap:body encoding="literal"/></input><output>
<soap:body encoding="literal"/></output></operation>
<operation name="updateStock"><soap:operation soapAction="updateStock"/>
<input><soap:body encoding="literal"/></input><output>
<soap:body encoding="literal"/></output></operation>
</binding>
<service name="My_Service"><port binding="tns:Service_Binding"
name="Service_Port">
<soap:address location="http://www.examplessi2.com/Mitienda/" />
</port> </service>
</definitions>

3.1. (1.5 puntos). Indicar los cambios que habría que realizar para incluir una nueva función a la
interfaz que a partir del identificador del producto (idproducto) y un número entero (r) devuelva un
valor entero indicando el número de tiendas que disponen del producto en un radio de r kilómetros.
Justificar los cambios realizados.

Habría que definir una nueva operación con nombre “stockRatio” (por ejemplo). Esta petición
involucraría un mensaje de envío y otro de respuesta. El mensaje de petición “stockRatioRequest” y
el mensaje de respuesta “stockRatioResponse” se definen como <mesage> como sigue:
<message name="stockRatioRequest">
5

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
<part name="idproduct" type="xsd:string"/>
<part name="ratio" type="xsd:integer"/>
</message>
<message name="stockRatioResponse">
<part name="status" type="xsd:integer"/>
</message>

Hay que incluir la operación “stockRatio” con la secuencia del intercambio de mensajes en el campo
PortType:
<PortType …
<operation name="stockRatio">
<input message="tns:stockRatioRequest"/>
<output message="tns:stockRatioResponse"/>
</operation>

</portType>

Y finalmente hay que definir el modo en que los mensajes se transmiten sobre un protocolo de
RPC, con extensiones específicas para SOAP.

<binding …
<operation name="stockRatio"><soap:operation soapAction="stockRatio"/>
<input><soap:body encoding="literal"/></input><output>
<soap:body encoding="literal"/></output></operation>

</binding>

3.2 (0.5 puntos). Indicar la URL que se utilizará para solicitar la invocación del servicio (dirección
del servicio).

La URL es la que aparece en el apartado “service”:


<soap:address location="http://www.examplessi2.com/Mitienda/" />
1

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos). Una empresa presta un servicio a sus usuarios. Las peticiones de los
usuarios son recibidas inicialmente por un balanceador de carga que reparte las peticiones por
igual y de forma aleatoria entre dos servidores web de iguales características. Se estima que una
petición recibida por uno de los servidores web accederá únicamente a contenido estático con una
probabilidad del 50%. Una vez procesadas estas peticiones se dan por terminadas. El 50% restante
necesitará acceder además a contenido dinámico. En este caso, tras ser procesadas en el servidor
web, las peticiones han de invocar un servlet en un servidor de aplicaciones. La empresa cuenta
con dos de estos servidores, de iguales características. Cada servidor de aplicaciones es accedido
exclusivamente por uno de los servidores web. Se estima que con una probabilidad del 25%, un
servlet requeriría la invocación de otro servlet en el mismo servidor de aplicaciones, y con un 25%
de probabilidad requerirá la realización de otra petición al sistema. Estas peticiones son recibidas
por el balanceador de carga. El resto de peticiones se dan por terminadas. Se ha estimado que, en
promedio, la CPU del el balanceador de carga tarda 100ms en procesar una petición, mientras que
la CPU de un servidor web tarda 200ms. Finalmente, la CPU de un servidor de aplicaciones tarda
en promedio 250ms en procesar una petición. El servicio prestado recibe peticiones de los usuarios
siguiendo un proceso Poisson con una media de 2 peticiones por segundo.

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial y que los
servidores tienen cola de espera de tamaño infinito.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas efectivas de llegada a la entrada de cada servidor, indicando las suposiciones
realizadas y teoremas empleados. Dar una explicación razonada de qué modelo, según la
notación de Kendall, será aplicable a cada una de sus componentes.
2

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017

Suponemos que los servidores están en estado estacionario. Este caso la tasa que tendrán a la
salida será la misma que la que tienen a la entrada. Como la llegada de peticiones sigue un proceso
Possion, la probabilidad de salir del sistema es mayor que cero, los tiempos están distribuidos de
forma exponencial y las colas tienen tamaño infinito, podemos usar el teorema e Jackson y ver el
sistema como una red de colas abierta. Usando el teorema de Jackson, podemos describir cada
servidor como un sistema M/M/1.

1.2 (2 puntos) Calcular la tasa de llegadas efectiva a la entrada de cada servidor.

Al estar en estado estacionario los sistemas a la salida tendrán la misma tasa que a la entrada, por
lo que se ha de cumplir que:

λ 0.25 0.25
0.5 !
0.5 0.25
0.5 0.25

De donde
0.5
0.75
0.5
! 0.5 0.5 #
0.75
0.5 0.5&
0.5 $ 0.5 # % 0.5
0.75 0.75
0.5 1
1.2 )/+
0.5 & 0.125
1( 1(
0.75 0.75
0.5 0.5
! 2 2 1.2 2.4 )/+
0.75 0.75
3

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017
0.5 0.5
1.2 0.8 )/+
0.75 0.75

Las capacidades de los servidores son:


. ! 10 )/+
. . 5 )/+
. . 4)/+

Luego se cumple que los sistemas estén en estado estacionario.

1.3 (1 puntos) Calcular el número medio de peticiones en el sistema total.

El nº medio de peticiones en el sistema será la suma del nº medio de peticiones en cada servidor.
Empleando el teorema de Jackson estos números vendrán dados por las fórmulas del modelo
M/M/1.

2.4
/ ! 0.24
10
1.2
/ / 0.24
5
0.8
/ / 0.2
4

01 1 0 ! 0 0 0 0
/ ! 0.24
0 ! 0.3158 0 0
1(/ ! 1 ( 0.24
/ 0.2 0.2
0 0.25 0
1(/ 1 ( 0.2 0.8
01 1 3 # 0.3158 2 # 0.25 1.447 3456786+

1.4 (1 puntos) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Calculamos el número total de clientes en todo el sistema y aplicamos Little.

0: 1.447
9: 0.7234 +6;<7=>+
2

1.5 (1 punto) Calcular justificadamente el tiempo medio de respuesta de las peticiones que
no necesitan invocar ningún servlet en el sistema.

Esta es la suma de los tiempos de estancia en el balanceador de carga y el servidor web.


4

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017

0 ! 0.3158
9 ! 0.1316 +6;<7=>+
! 2.4

0 0.3158
9 0.2632 +6;<7=>+
1.2
9 9 ! 9 0.1316 0.2632 0.3948 +6;<7=>+

1.6 (1 punto) Calcular la probabilidad de que el número de peticiones en la cola del


balanceador de carga exceda 6.

Mediante el teorema de Jackson podemos usar las fórmulas del modelo M/M/1.

H H
E1 ( /F/J
)A7B > 6D )E7 > 7F GE1 ( /F/ E1 ( /F G / /J ! 1.1 # 10KL
E1 ( /F
IJ IJ

2. PROBLEMA (3 puntos) Una empresa tiene un servidor que cuenta con una cola de espera de
tamaño infinito. Tras monitorizar el servidor se ha observado que el tiempo medio de servicio es de
200ms y su varianza es igual a 50mMN . El servidor recibe tráfico que sigue un proceso Poisson con
una tasa de 4 peticiones por segundo.

2.1 (1 punto) Justificar el uso de un modelo de colas para analizar el sistema descrito.

El sistema sería M/G/1 debido a que el tiempo entre llegadas está distribuido de forma exponencial
(proceso Poisson), el tamaño de la cola es infinito, solo hay un servidor y no se conoce la distribución
del tiempo de servicio.

2.2 (1 punto) Calcular el tiempo medio de respuesta del sistema.

1
O+ 5 )/+
200P+
4 ) /+
4
/ 0.8
5
QRS T 0.050 0.200 0.09
QRS T 0.09
0 / 16 # 0.8 4.4
2E1 ( /F 2E1 ( 0.8F
0 4.4
9 1.1 +
4

2.3 (1 punto) Calcular el número medio de peticiones en cola.


5

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017
LV 9B E9 ( QRSTF 4E1.1 ( 0.2F 3.6 3456786+
6

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017

Formulario:
Modelo M/M/1 λ 2 E  S 2 
L= +ρ
pn = (1 − ρ )( ρ ) 2 (1 − ρ )
n

ρ =λ µ ρ =λ µ
ρ
L=
1− ρ
− ( µ − λ )t
FW ( t ) = 1 − e
Modelo M/M/c:

 ( λ µ)
n

 p0 (n < c)
 n!
pn =  n
p c  λ 
c

 0 c !  cµ  (n ≥ c)
  
λ
ρ=

−1
 c −1 (λ µ )n  (λ µ )c 
p0 =  ∑ +
 c!(1 − ρ ) 
 n =0 n!  
pc
Pq = = Ec ( c , u )
1− ρ
Pq ρ
L= + cρ
1− ρ
Modelo M/M/c/c:
n
λ 1
pn = p0   (0 ≤ n ≤ c)
 µ  n!
−1
 c  λ n 1 
p0 =  ∑   
 n =0  µ  n !
Modelo M/G/1:
Modelo M/M/1/K:
n
λ
pn = p0   (0 ≤ n ≤ K )
µ
 1 − λ µ 
 K +1  (λ ≠ µ )
p0 =  1 − ( λ µ ) 

 1
 (λ = µ )
 K +1
λ  1 − ( λ µ )K 
  K +1  (λ ≠ µ )
µ
ρ = 1 − ( λ µ ) 
 K
 (λ = µ )
 K +1
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
  K +1  (λ ≠ µ )
1 − λ µ
L=  1− (λ µ ) 
 K
 (λ = µ )
 2

Modelo M/M/1//M
n n
M   λ  M! λ 
pn = p0   n !  = p0
 n  µ ( M − n ) !  µ 
−1
M M! λ  
n

p0 =  ∑   
 n =0 ( M − n ) !  µ  

ρ = 1 − p0
λ' µ
L=M − =M − ρ
λ λ
Modelo M/M/c//M
  M  λ 
n

 p0    (0 ≤ n < c)
  n  µ 
pn =  n
  M  n!  λ 
 p0  n  c n −c c !  µ  (c ≤ n < M )
    
−1
 c −1  M   λ n M  M  n !  λ  n 
p0 =  ∑     + ∑   n −c   
 n = 0    µ  n =c   c c !  µ  
n n
c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Describe en qué consiste un enlace EtherChannel, sus ventajas, sus
inconvenientes, y su tipo de redundancia según la nomenclatura vista en clase.

1.2. (1.25 puntos). Cluster Activo-Pasivo cruzado o simétrico de dos nodos. Describe cómo
funciona, que ventajas aparentes tiene, y que inconvenientes.
2

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017
1.3. (1.25 puntos). Indica en qué consiste el mecanismo de delayed binding en los balanceadores
de carga y su principal utilidad.

1.4. (1.25 puntos). Copias remotas en servidores de disco. Tipos y características.


1

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
2 (4) 3 (1) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2. PROBLEMA (4 puntos). Para ofrecer un determinado servicio, una empresa cuenta con los
siguientes servidores para resolver las peticiones que recibe:
 Un servidor web, que entrega al cliente páginas estáticas e imágenes. El sistema posee dos de
estos servidores de igual funcionalidad.
 Un distribuidor de carga, que reparte las peticiones no-estáticas recibidas por los servidores web
entre los servidores JSP del sistema. El sistema posee uno sólo.
 Un servidor JSP, que resuelve las páginas JSP. El sistema posee dos de estos servidores, de
igual funcionalidad. El distribuidor de carga puede enviar indistintamente sus peticiones a
cualquiera de ellos.
 Un servidor de servlets para la ejecución de servlets cuando sea necesario. El sistema posee
dos de estos servidores, de igual funcionalidad. Los servidores JSP pueden enviar
indistintamente sus peticiones a cualquiera de los servidores servlets.
 Un servidor de disco, al cual acceden los servlets para recuperar los datos que necesitan para
resolver las peticiones. El sistema posee uno de estos servidores.
 Un disco de 1TB al que se accede a través del servidor.
Es necesario, por tanto, que esté disponible al menos un elemento de cada una de las clases
citadas anteriormente para que el sistema completo funcione.

2.1 (0.5 puntos) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que es
necesario que al menos uno de los servidores de cada tipo esté operativo para poder prestar el
servicio.
2

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
2.2 (1 punto) Suponer fallos independientes. Sea el tiempo medio entre fallos de un servidor web
de 800 h, el tiempo medio hasta el fallo del distribuidor de carga de 1000 h, el tiempo medio hasta
el fallo de un servidor JSP de 2000 h, el tiempo medio hasta el fallo de un servidor servlet de 2000
h y el tiempo medio entre fallos del servidor de disco de 300h. El disco tiene un tiempo medio entre
fallos de 5000 h. Suponer que tiene contratado un servicio de mantenimiento que garantiza la
reparación de cualquier equipo en un tiempo medio de 48h. Se pide calcular justificadamente la
disponibilidad total del sistema. Expresar los resultados redondeando a 4 decimales.

Se calcula la disponibilidad para cada uno de los servidores teniendo en cuenta las métricas
proporcionadas:

Servidor MTTF MTBF MTTR Disponibilidad


Web - 800 h 48 h 𝑀𝑇𝐵𝐹 − 𝑀𝑇𝑇𝑅
𝐴𝑆𝑊 = = 0.94
𝑀𝑇𝐵𝐹
Balanceador 1000 h - 48 h 𝑀𝑇𝑇𝐹
𝐴𝐵 = = 0.9542
𝑀𝑇𝑇𝐹 + 𝑀𝑇𝑇𝑅
JSP 2000 h - 48 h 𝑀𝑇𝑇𝐹
𝐴𝐽𝑆𝑃 = = 0.9766
𝑀𝑇𝑇𝐹 + 𝑀𝑇𝑇𝑅
Servlets 2000 h - 48 h 𝑀𝑇𝑇𝐹
𝐴𝑆𝐸𝑅𝑉𝐿𝐸𝑇 = = 0.9766
𝑀𝑇𝑇𝐹 + 𝑀𝑇𝑇𝑅
Servidor de disco - 300 h 48 h 𝑀𝑇𝐵𝐹 − 𝑀𝑇𝑇𝑅
𝐴𝑆𝐷 = = 0.84
𝑀𝑇𝐵𝐹
Disco - 5000 h 48 h 𝑀𝑇𝐵𝐹 − 𝑀𝑇𝑇𝑅
𝐴𝐷 = = 0.9904
𝑀𝑇𝐵𝐹

La disponibilidad total del sistema será:


2
𝐴 𝑇 = (1 − (1 − 𝐴𝑆𝑊 )2 ) ∙ 𝐴𝐵 ∙ (1 − (1 − 𝐴𝐽𝑆𝑃 ) ) ∙ (1 − (1 − 𝐴𝑆𝐸𝑅𝑉𝐿𝐸𝑇 )2 ) ∙ 𝐴𝑆𝐷 ∙ 𝐴𝐷 = 0.7902

2.3 (1 punto) Tras un tiempo en funcionamiento, se decide incorporar en el sistema servidores


caché que atenderán directamente las peticiones entrantes. El tiempo hasta fallo de un servidor
caché es de 200 h y serán reparados bajo las mismas condiciones de mantenimiento anteriores.
Determinar el número de servidores caché necesarios para garantizar una disponibilidad total del
sistema de al menos el 70% teniendo en cuenta que cualquier servidor caché puede atender
cualquiera de las peticiones entrantes y que es necesario que al menos uno de los servidores de
cada tipo esté operativo para poder prestar el servicio. Expresar los resultados redondeando a 4
decimales.
Del servidor caché nos dan la siguiente información:
MTTF = 200 h
MTTR = 48 h
𝑀𝑇𝑇𝐹 200
Por tanto, la disponibilidad de un servidor caché será: 𝐴𝐶 = 𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅 = 200+48 = 0.8065
3

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
La disponibilidad del nuevo sistema vendrá dada por:
𝐴̃ = (1 − (1 − 𝐴𝐶 )𝑁 ) ∙ 𝐴 𝑇
donde N es el número de servidores caché y 𝐴 𝑇 la disponibilidad del sistema inicial calculada en el
apartado 2.2. Por tanto, ha de verificarse 𝐴̃ ≥ 0.7 :

0.7
0.7 log (1 − 𝐴 )
𝑇
(1 − 𝐴𝐶 )𝑁 ≤ 1 − ⇔𝑁 ≥ = 1.3213
𝐴𝑇 log(1 − 𝐴𝐶 )
Por tanto, harán falta 2 servidores caché para satisfacer una disponibilidad igual o superior al 70%
en el sistema total.

2.4 (1.5 puntos) La empresa decide comprar otros tres discos de 1TB idénticos al que ya disponía
e incluidos en el contrato de mantenimiento. Se te pide analizar la capacidad de almacenamiento
efectivo (cantidad máxima de información no redundante que el sistema es capaz de almacenar) y
calcular la disponibilidad de tres configuraciones distintas para los cuatro discos idénticos
disponibles:

RAID 0 (Stripping) RAID 1+0 (Stripped mirror) RAID 0+1 (Mirrored-strip)

En el caso de RAID 0+1 es necesario que los dos discos que forman un strip (elementos en RAID
0) estén disponibles para garantizar la disponibilidad de todo el strip.
Completar la siguiente tabla con la información correspondiente.
4

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
Configu Capacidad de Diagrama disponibilidad Disponibilidad
ración almacenamie
nto efectivo
RAID 0 4 TB (𝐴𝐷 )4 = (0.9904)4 = 0.9621

RAID 2 TB (1 − (1 − 𝐴𝐷 )2 )2 = 0.9998
1+0

RAID 2 TB 2
(1 − (1 − (𝐴𝐷 )2 ) ) = 0.9996
0+1
5

SISTEMAS INFORMÁTICOS II

19 de mayo de 2017.
3. PROBLEMA (1 punto).
3.1 (0.5 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).

Solución:

ID:1 DP 4 RP ID:2 DP 19 AP ID:3

DP DP RP
4 1 4

ID:4 RP 4 ID:5 RP 1 DP ID:6

DP AP DP RP
DP DP DP
1 19 4

ID:7 RP 19 ID: 8 AP 1 ID: 9 RP

DP AP RP DP

3.2 (0.5 puntos) Al detectarse un fallo en el switch 1, indicar justificadamente qué Root Ports
cambiarían tras este fallo.

Al fallar el switch raíz (Switch 1), el switch raíz pasaría a ser el swich alternativo (Switch 2), y por
tanto, ya no habría root switch en el switch 2. De todos los caminos mínimos al switch raíz en la
configuración inicial (aparatado 3.1), únicamente los caminos desde los switches 4 y 7 NO pasaban
por el switch 2 y, por tanto, los Root Ports de estos switches podrían ser los que cambien tras el
fallo. Es suficiente con cambiar el RP del switch 4.
1

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018. Parte I


1.1 (1,5) 1.2 (1,5) 1.3 (1,5) 1.4 (1,5) 1.5 (1.5) 2 (2.5) Total (10)

PARTE I
(33,33% de la nota del examen)

1.- TEORÍA (7.5 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1.1. (1,5 puntos) Describe en qué consiste la transparencia de datos, y nombra tres mecanismos que
se podrían utilizar para conseguirla.

1.2. (1,5 puntos) Explica cuál es la funcionalidad del Port Mapper en RPC y describe su esquema
de funcionamiento
2

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018. Parte I


1.4. (1,5 puntos) Describe el modelo publicador / suscriptor para el diseño de sistemas distribuidos
(componentes que lo forman, interacciones entre ellas, y tareas a llevar a cabo por cada una). Indica
qué mecanismo de comunicación es más adecuado para su implementación.

1.5 (1.5 puntos). Network Time Protocol (NTP). Definición, objetivos, y estructura.
3

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018. Parte I


1.3. (1.5 punto) Explica las diferencias entre los servicios web basados en SOAP y los servicios web
basados en REST

2. PROBLEMA (2.5 puntos). Considerar los siguientes casos particulares de sistemas distribuidos:
1. Servicio de acceso a datos abiertos (open data) de la UAM. A través de una interfaz de
programación definida, los clientes pueden consultar los datos agregados de los resultados
académicos de los estudiantes en los últimos 10 años y datos de empleabilidad, así como
algunos datos sobre los resultados de investigación de la universidad. También podrán
realizar ciertas operaciones estadísticas sobre los datos. Igualmente, la interfaz permitirá́ a
determinados clientes, con los permisos adecuados, subir al sistema informes de
investigación que luego podrán ser consultados. Los clientes que accederán al servicio son
heterogéneos, y será́ necesario pasar a través de un corta-fuegos. Además, se prevé́ que en
un futuro se dote a la interfaz de nuevas funciones y se desea que los clientes puedan obtener
información sobre los nuevos servicios prestados de forma sencilla. El tiempo de
procesamiento de los mensajes no es crítico.
2. Servicio de impresión 3D. Los clientes pueden enviar al servidor sus trabajos para ser
impresos por una impresora 3D. El servidor acepta trabajos en un formato predefinido, y los
imprime. Los usuarios del sistema son los empleados de la empresa que son de dos tipos.
Personal contratado de forma directa, y personal sub-contratado. El personal contratado de
forma directa tiene que poder imprimir antes sus trabajos que el personal sub-contratado. Los
usuarios tienen un limite de 10 impresiones al mes. Superado dicho limite, sus trabajos no
son impresos. El servidor conectado a la impresora 3D solo está operativo diariamente de
14:00 a 18:00.

Para cada uno de ellos se pide elegir razonadamente el mecanismo de comunicación más adecuado
entre los vistos en la parte de teoría de la asignatura (Java RMI, CORBA, WS-soap, WS-rest, RPC,
UDP, TCP o Colas de Mensajes). Indicar así mismo si será necesario implementar algún mecanismo
adicional de traducción de datos.

No se tendrán en cuenta respuestas sin justificación (cuantas más justificaciones, mayor la


puntuación
1

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos). Una empresa presta un servicio a sus usuarios. Se ha estimado que el
servicio prestado a los usuarios recibe tráfico Poisson con una media de 5 solicitudes por segundo.
Las solicitudes de servicio son recibidas inicialmente por un servidor A. Este servidor tiene un tiempo
medio de servicio de 50ms. Una vez procesadas por el servidor A, una solicitud de servicio invocará
otra solicitud de servicio en dicho servidor con una probabilidad del 25%. Por otro lado, un 35%
de las solicitudes se darán por terminadas tras ser procesadas por A. Las restantes solicitudes
son reenviadas a un servidor B. Este servidor tiene un tiempo medio de servicio de 150ms. Al igual
que en el caso del servidor A, una vez ha sido procesada por el servidor B, una solicitud de servicio
invocará otra solicitud de servicio en el servidor B con una probabilidad del 25%. Con una
probabilidad del 20% las solicitudes procesadas por B se darán por terminadas. Las restantes
solicitudes necesitan invocar una solicitud adicional en el sistema. Esta solicitud será recibida por
el servidor A.

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial y que los
servidores tienen cola de espera de tamaño infinito. Los servidores cuentan con una sola CPU para
procesar las peticiones de los clientes.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas efectivas de llegada a la entrada de cada servidor, indicando las suposiciones
realizadas y teoremas empleados. Dar una explicación razonada de qué modelo, según la
notación de Kendall, será aplicable a cada una de sus componentes.

Suponemos que los servidores están en estado estacionario. Este caso la tasa que tendrán a la
salida será la misma que la que tienen a la entrada. Como la llegada de peticiones sigue un proceso
Poission, la probabilidad de salir del sistema es mayor que cero, los tiempos están distribuidos de
forma exponencial y las colas tienen tamaño infinito, podemos usar el teorema de Jackson y ver el
sistema como una red de colas abierta. Usando el teorema de Jackson, podemos describir cada
servidor como un sistema M/M/1.
2

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018

1.2 (2 puntos) Calcular la tasa de llegadas efectiva a la entrada de cada servidor.

Al estar en estado estacionario los sistemas a la salida tendrán la misma tasa que a la entrada, por
lo que se ha de cumplir que:

λ = α + 0.25 + 0.55
α + 0.55λ
λ =
0.75

= 0.4 + 0.25
0.4
=
0.75
0.55 0.4
= + = + 0.3911
0.75 0.75 0.75 0.75
5
= = = 10.9481
0.75 · 0.6089 0.4567
0.4
= = 5.839
0.75

Las capacidades de los servidores son:


= 20 /
1
= 6.6667 /
0.15

Luego se cumple que los sistemas estén en estado estacionario.

1.3 (1 puntos) Calcular justificada el número medio de peticiones en el sistema total.

El nº medio de peticiones en el sistema será la suma del nº medio de peticiones en cada servidor.
Empleando el teorema de Jackson estos números vendrán dados por las fórmulas del modelo
M/M/1.

10.9481
= = 0.5474
20
5.839
= = 0.8758
6.667
! "# = +
0.5474
= = = 1.2095 %&'()*(
1− 1 − 0.5474
0.8758
= = = 7.0515 %&'()*(
1− 1 − 0.8758
3

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018

! "# = 1.2095 + 7.0515 = 8.261 %&'()*(

1.4 (1 puntos) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Calculamos el número total de clientes en todo el sistema y aplicamos Little.

, 8.261
+, = = = 1.6522 (-.)/0
5

1.5 (1 punto) Calcular justificadamente un cuello de botella en el sistema y proponer alguna


solución para remediarlo.

Un cuello de botella en el sistema es el servidor B, ya que está trabajando más del 80% del tiempo,
1.234
pues = 5.556 = 0.8758.
Para remediarlo se podría poner un servidor más rápido (reducir su tiempo medio de servicio) o
poner más servidores en paralelo (pasando a ser un sistema M/M/c).

1.6 (1 punto) Calcular la probabilidad de que el número de peticiones en la cola del servidor
A exceda 3 solicitudes de servicio.

Mediante el teorema de Jackson podemos usar las fórmulas del modelo M/M/1.

? ?
;1 − < 1 1
7)8 > 3: = ;) > 4< = =;1 − < >
= ;1 − < = >
= = = 0.54741 = 0.04915
;1 − <
>@1 >@1

2. PROBLEMA (3 puntos) Una empresa informática cuenta con 7 empleados. 5 de estos


empleados son programadores junior (graduados en informática), pues han cursado una carrera de
240 créditos ECTS, mientras que 2 de ellos son jefes de proyecto, ya que han cursado al menos
300 créditos ECTS, el equivalente a un ingeniero superior (grado + máster). Los jefes de proyecto
se encargan de resolver dudas de los programadores junior durante el trabajo. En promedio, cada
programador junior tiene una duda cada 5 horas, y se estima que en promedio un jefe de proyecto
tarda 30 minutos en resolverla. Cada jefe de proyecto solo puede atender una duda a la vez,
teniendo que esperar un programador junior (por orden de llegada, considerando la cola de espera
de tamaño infinito) si los 2 jefes de proyecto están ocupados resolviendo dudas previas de otros
programadores junior. Considerar todos los tiempos distribuidos de forma exponencial, y
despreciable el tiempo que pasa desde que un programador junior tiene una duda hasta que
consulta a los jefes de proyecto.

2.1 (0.5 puntos) Justificar el uso de un modelo de colas para analizar el sistema descrito.
4

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018
El sistema sería M/M/2/Inf/5 debido a que todos los tiempos están distribuidos de forma exponencial,
el tamaño de la cola se puede considerar infinito, hay 2 servidores (los dos jefes de proyecto) y el
número de clientes es finito e igual a 5 (los 5 programadores junior).

2.2 (2 puntos) Calcular el tiempo medio en horas que tarda en ser resuelta la duda de un
programador junior.

1
= = 2 ℎ0BC
0.5
1
= = 0.2 ℎ0BC
5
5! 5! 5! 5! 5! 5!
! =D 0.1F + 0.1 + 0.1G + 0.13 + 0.1H + 0.11 I
0! 5! 1! 4! 2! 3! 2F 2! 2! 2 2! 1! 2G 2! 0! 23
! = J1 + 0.5 + 0.1 + 0.015 + 0.0015 + 0.0000375K = 0.6186
F 5!
= 0.1 = F 0.5 = 0.3093
1! 4!

=1− F − 0.5 = 1 − 0.6186 − 0.1547 = 0.2268

% 0.2268
=L− =5−2·2· = 0.465 %&'()*(
0.2
0.465
+= = = = 0.5127 ℎ0BC
′ % 2 · 2 · 0.2268

2.3 (0.5 punto) Calcular el número medio de programadores junior en cola de espera para
atender sus dudas.
PQR
LO = = ′;+ − SJTK< = 2 · 2 · 0.2268;0.5127 − 0.5< = 0.0115 %&'()*(
5

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018
6

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018

Formulario:
Modelo M/M/1 n
λ 1
pn = p0   (0 ≤ n ≤ c)
pn = (1 − ρ )( ρ )
n
 µ  n!
ρ =λ µ  c  λ n 1 
−1

p0 =  ∑   
ρ  n = 0  µ  n !
L=
1− ρ
Modelo M/G/1:
− ( µ − λ )t
FW ( t ) = 1 − e
λ 2 E  S 2 
L= +ρ
Modelo M/M/c: 2 (1 − ρ )
 ( λ µ)
n

 p0 (n < c) ρ =λ µ
 n!
pn =  n
p c  λ 
c

 0 c !  cµ  (n ≥ c)
  
λ
ρ=

−1
 c −1 (λ µ )n  (λ µ )c 
p0 =  ∑ +
 c!(1 − ρ ) 
 n =0 n!  
pc
Pq = = Ec ( c, u )
1− ρ
Pq ρ
L= + cρ
1− ρ
Modelo M/M/c/c:
Modelo M/M/1/K:
n
λ
pn = p0   (0 ≤ n ≤ K )
µ
 1 − λ µ 
 K +1  (λ ≠ µ )
p0 =  1 − ( λ µ ) 

 1
 (λ = µ )
 K +1
λ  1 − ( λ µ )K 
  K +1  (λ ≠ µ )
µ
ρ = 1 − ( λ µ ) 
 K
 (λ = µ )
 K +1
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
  K +1  (λ ≠ µ )
1 − λ µ
L=  1− (λ µ ) 
 K
 (λ = µ )
 2

Modelo M/M/1//M
n n
M   λ  M! λ 
pn = p0   n !  = p0
 n  µ ( M − n ) !  µ 
−1
M M! λ  
n

p0 =  ∑   
 n = 0 ( M − n ) !  µ  

ρ = 1 − p0
λ' µ
L=M − =M− ρ
λ λ
Modelo M/M/c//M
  M  λ 
n

 p0    (0 ≤ n < c)
  n  µ 
pn =  n
  M  n!  λ 
 p0  n  c n −c c !  µ  (c ≤ n < M )
    
−1
 c −1  M   λ n M  M  n !  λ  n 
p0 =  ∑     + ∑   n −c   
 n = 0    µ  n =c   c c !  µ  
n n
c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018. Parte III - Teoría


1.1 (1,25) 1.1 (1,25) 1.1 (1,25) 1.1 (1,25) Total Parte III Teoría (5)

PARTE III

TEORIA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:

1.1. (1.25 puntos). Dibuja la forma típica de la función tasa de fallo en equipos físicos y distingue
las distintas zonas que se observan.

1.2. (1.25 puntos). Indica las dos situaciones que pueden darse al analizar los fallos en los
programas (software) y nombra dos modelos que se pueden utilizar para describir el ritmo de
descubrimiento de fallos
2

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018. Parte III - Teoría

1.3. (1.25 puntos). ¿Para qué se utiliza el protocolo Open Shortest Path First (OSPF)? ¿Para qué
se utilizan los mensajes OSPF Hello y LSA (Link State Advertisements)?

1.4. (1.25 puntos). Indica las diferencias entre la entrega de paquetes mediante “destination NAT”
y “retorno directo del servidor” (direct server return) en un balanceador de carga
1

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018.
2 (4.5) 3 (0.5) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2. PROBLEMA (4 puntos). Una empresa tiene un centro de procesamiento de datos (CPD) que
incluye un balanceador de carga, dos servidores web y dos servidores de disco. Cada servidor de
disco cuenta con 4 discos físicos configurados en RAID-10 (stripped mirrors). Para que el
servicio prestado a los clientes esté operativo, debe funcionar al menos el balanceador de carga,
alguno de los servidores web, y alguno de los servidores de disco, lo que incluye tanto el propio
servidor de disco (hardware) como el espacio de almacenamiento gestionado por el sistema RAID-
10 en dicho servidor.

2.1 (1 punto) Dibujar el diagrama de disponibilidad del sistema mostrando claramente las
componentes que están en serie y las que están en paralelo.

Hay que tener en cuenta que los servidores web están replicados así como los servidores de disco.
El sistema Raid-10 es stripped mirrors, lo que significa que la información está replicada, y luego
segmentada.

2.2 (1 punto). Teniendo en cuenta que el tiempo medio hasta el fallo de un balanceador de carga
es de 2500 horas, el un servidor web es de 3000 horas, el de un servidor de disco es de 2000 horas,
y el de un disco físico es de 500 horas, se pide calcular la disponibilidad total del sistema. Considerar
que la empresa tiene contratado un servicio de mantenimiento que es capaz de reparar cualquier
equipo o disco dañado en 24 horas en promedio. Suponer fallos independientes. Usar 4 decimales
en los cálculos.
Calculamos la disponibilidad de cada componente:

2500
0.9905
2500 24
2

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018.
3000
0.9921
3000 24
2000
_ 0.9881
2000 24
500
0.9542
500 24

Calculamos la disponibilidad total de un servidor de disco:


_ _ 1− 1− 0.9881 · 0.997 0.9851

Calculamos la disponibilidad total del sistema:

· 1− 1− · "1 − #1 − $%&'
( ) 0.9905 · 0.9999 · 0.9997 0.9901

2.3 (0.25 puntos) Identifica los puntos simples de fallo (SPOF) del sistema.
Hay un punto simple de fallo (SPOF) que es el balanceador de carga, pues es la única componente
no replicada.

2.4 (1 puntos) Tras un tiempo en funcionamiento se ha detectado que el espacio de


almacenamiento disponible en los servidores de disco resulta insuficiente y se requiere más espacio
de almacenamiento en la práctica. Utilizando las componentes descritas anteriormente propón una
solución que aumente dicho espacio al máximo, pero tolere el fallo de un único disco en cada
servidor. Si cada disco tiene 100 TB de capacidad, indica la ganancia en espacio de
almacenamiento conseguida en cada servidor.
La solución que más incrementaría el espacio de almacenamiento teniendo tolerancia a fallos de un
único disco sería pasar de Raid-10 a Raid-5. Bajo esta configuración pasaríamos de 200 TB de
espacio de almacenamiento, a 300 TB. El cuarto disco almacenaría información de paridad que
permitiría recuperarse frente al fallo de un único disco.

2.5 (0.75 puntos) Calcula la nueva disponibilidad total del sistema bajo esta configuración. Usar 4
decimales en los cálculos.

La nueva configuración cambiaría la disponibilidad de los discos. En este caso solo habría fallo al
fallar 2 o más discos. La probabilidad de fallo es por lo tanto:
*+, 1 − *- +,
. /
*- +, 4· 1− 0.9542. 4 · 0.9542/ 1 − 0.9542 0.9882

Pues hay que tener en cuenta que puede fallar cualquiera de los 4 discos y el sistema seguirá
funcionando.
_ _ *- +, 0.9881 · 0.9882 0.974
3

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018.

· 1− 1− · "1 − #1 − $%&'
( ) 0.9905 · 0.9999 · 0.9994 0.9898

2.5 (0.5 puntos) Teniendo en cuenta que los dos servidores de disco se encuentran en el mismo
CPD y están conectados a la misma SAN (Storage Area Network) a través de enlaces de fibra
óptica, indica qué tipo de copia se podría utilizar para mantener la información consistente entre
ambos servidores de disco.

Al haber disponible enlaces de alta velocidad entre ambos servidores de disco lo más adecuado
sería utilizar la copia síncrona de la información que protege frente a fallos en uno de los servidores
de disco.

3. PROBLEMA (0.5 puntos).


3.1 (0.5 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).

Solución:

El conmutador raíz sería el que tiene ID = 1.

ID:1 DP 19 AP ID:2 DP 1 RP ID:3

DP RP AP
1 1 19

ID:4 RP 4 ID:5 DP 1 DP ID:6

DP RP DP RP
DP DP DP
19 1 4

ID:7 AP 1 ID: 8 RP 19 ID: 9 RP

RP DP DP AP
4

SISTEMAS INFORMÁTICOS II

24 de mayo de 2018.
1

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 1.5 (1.5) 2 (2.5) Total Parte I (10)

PARTE I
(30% de la nota del examen)
1.- (7.5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Describe las componentes principales de la comunicación mediante Servicios Web, y da
ejemplos de lenguajes/protocoles utilizados entre dichos componentes.

1.2. (1.5 puntos). Comunicación mediante colas de mensajes. Definición, características, y situaciones de
aplicación ideales.
2

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


1.3. (1.5 puntos). Modelo de comunicación publicador / suscriptor.

1.4. (1.5 puntos). Java Remote Method Invocation (Java RMI).

1.5. (1.5 puntos). Network Time Protocol (NTP).


3

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


2.- (2.5 puntos). Dibujar el diagrama de transiciones de estados para un modelo M/M/c/c.
Justificar a partir del diagrama el cálculo de Pn.
4

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


3.1 (1) 3.2 (2) 3.3 (2) 3.4 (1) 3.5 (1) 3.6(1) EJ 3 (8)

PARTE II
(40% de la nota del examen)
3. PROBLEMA (8 puntos). Una empresa ofrece un servicio de pasarela de pago (pago online) a
los clientes. El servicio requiere de tres servidores que realizan las siguientes tareas:
• Servidor A: Recibe la solicitud de compra del cliente y valida la información de la tarjeta. El
tiempo de ejecución de este servicio está distribuido exponencialmente, con un valor medio
de 100 ms. En promedio, se sabe que el 20% de la peticiones realizadas a este servidor se
realizan con un número incorrecto de tarjeta y, por tanto, estas peticiones son
consideradas como no válidas. Se puede considerar que este servidor tiene una cola de
tamaño suficiente (podemos suponer infinito) para almacenar las peticiones entrantes.
• Servidor B: Recibe las peticiones marcadas como válidas en el servidor A y actualiza la
cuenta corriente o de crédito del usuario asociado a la petición. El tiempo de servicio de
este servidor está distribuido exponencialmente, con un valor medio de 200 ms. Este
servidor tiene un tamaño finito de cola de espera, pudiendo albergar sólo 3 peticiones en
espera de ser servidas. Para evitar el rechazo de peticiones válidas del cliente, aquellas
peticiones que llegan al servidor y no pueden ser servidas por B, porque la cola de espera
está llena, son redirigidas por el servidor A a otro servidor C.
• Servidor C: realiza la misma labor que el servidor B. Tiene un tiempo de servicio que se
puede considerar distribuido exponencialmente con un valor medio de 900 ms. Este
servidor puede albergar un número suficiente de peticiones del cliente, por lo que la
probabilidad de rechazo de una petición es nula.
El servicio de pasarela de pago recibe peticiones que siguen un proceso de Poisson, con una tasa
media de llegadas de 6.25 peticiones por segundo.

3.1. (1 punto) Dibujar el diagrama de proceso del sistema completo, y calcular las tasas de
llegada a la entrada de cada servidor, especificando las suposiciones realizadas. Dar una
explicación razonada de qué modelo, según la notación de Kendall, será aplicable a cada una de
sus componentes.

TSA=100 ms - - TSB=200 ms

M/M/1 M/M/1/4

TSC=900 ms

M/M/1
5

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


3.2. (2 puntos) Calcular la tasa de llegadas efectiva de los servidores A, B y C.
λ  6.25 s

λ  1  P 0.8λ
λ  P 0.8λ

Para realizar el cálculo es necesario calcular la probabilidad de rechazo del servidor B, esto es la
probabilidad de que el servidor B tenga 4 peticiones 3 en cola de espera + 1 en servicio
μ  5 0
; 2  4
λ  0.8λ  5 s

λ  1 1
3  34 5 6  37    0.2
μ 2+1 5
λ  1  p 0.8λ  1  0.2 ∙ 0.8 ∙ 6.25  4 s

λ  P 0.8λ  0.2 ∙ 0.8 ∙ 6.25  1 0

3.3. (2 puntos) Calcular el tiempo medio de respuesta de cada uno de los componentes.
Servidor A
λ 6.25
9:    0.625
μ: 10
9: 10 ;: 10=
;:   ; <:   6  0.27 0
1  9: 6 λ 6.25 0

Servidor B
K 4
L  2
2 2
LB 2
W    0.5 0
λ 4
6

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


Servidor C
λ 1
9C    0.9
μC 10=
9
9C ;C 9
;C   9; <C    9 0
1  9C λ 1 0

3.4 (1 punto) Calcular el tiempo medio de respuesta de todo el sistema.


WE  W + 0.81  F <G + 0.8F <C  0.270 + 0.81  0.2 H 0.50 + 0.8 ∙ 0.2 H 90  2.030

3.5. (1 punto) Podemos definir que el sistema no está disponible si hay alguna probabilidad de
que una petición válida de un cliente no pueda ser atendida. Atendiendo a esta suposición, dibujar
el diagrama de disponibilidad del sistema. Razonar brevemente el diagrama mostrado.
Si el servidor B falla, las peticiones aún pueden ser atendidas por el servidor C, sin embargo si el
servidor C falla, el 20% de las peticiones gestionadas por B no podrían ser atendidas

A C

3.6. (1 punto) La empresa tiene un contrato de mantenimiento in situ que asegura la reparación
de los equipos en 48h. Suponiendo que los MTTF de los servidores A, B, y C son 9000h, 1000h y
20000h, respectivamente, calcular la disponibilidad total del sistema de acuerdo al diagrama de
disponibilidad mostrado en el ejercicio anterior.
9000 20000
I:   0.9947; IC   0.9976
9048 20048
I  I: ∗ IC  0.9923
7

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria

4.1 (1) 4.2 (1) Total Parte II (10)

4.- (2 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:


4.1. (1 punto). Disponibilidad de un sistema. Definición, formulación y posibles formas de mejora.

4.2. (1 punto). Balanceador de carga. Definición y funcionamiento básico.


8

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


5.1 (2.5) 5.2 (2.5) 5.3 (5) Total Parte III (10)

PARTE III
(30% de la nota del examen)
5.- (10 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:

5.1. (2.5 puntos). Define cifrado por bloques y describe brevemente modos de funcionamiento cifradores de
bloque.

5.2. (2.5 puntos). Describe brevemente (al menos 5) técnicas empleadas por los sistemas de detección de
intrusiones.
9

SISTEMAS INFORMÁTICOS II

25 de junio de 2012. Examen convocatoria extraordinaria


5.3. (5 puntos). Un sistema de gestión documental (del inglés Document Management System) es toda
infraestructura software destinada a la gestión de grandes cantidades de documentos, garantizando el
estado de conservación, organización, búsqueda y recuperación de los documentos.
Tu empresa quiere mejorar su sistema de gestión documental añadiendo mecanismos de seguridad y
prevención de pérdida de los documentos.
En concreto está interesada en que el sistema ofrezca las siguientes funcionalidades:
• Todo usuario debe autenticarse para acceder al sistema.
• Todo documento debe estar cifrado y sólo puede ser descifrado por el autor del documento o por
aquellos usuarios a los que el autor ha dado permiso de lectura. El destinatario debe ser notificado
por el sistema si un autor le da acceso a un documento suyo.
• Todo documento (cifrado) debe tener una réplica para evitar pérdidas de información en caso de
catástrofe.
Describe la arquitectura, componentes y mecanismos necesarios para facilitar las funcionalidades
anteriores. (3 puntos)
Acompaña la descripción anterior con un diagrama de secuencia en el que se muestren los “mensajes”
enviados, a lo largo del tiempo, entre componentes del sistema para que un usuario acceda al contenido de
un documento creado por otro usuario (autor) que le ha dado permiso de lectura. Considera en el diagrama
toda la historia del documento, es decir, desde que se carga en el sistema por el autor hasta que es
accedido por el usuario invitado. (2 puntos)
Formulario:
Modelo M/M/1: Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
−( µ − λ )t 
FW ( t ) = 1 − e 
1
(λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 (λ µ )
n
  K +1  (λ ≠ µ )
 p0 (n < c) ρ =  1 − ( λ µ ) 
µ
 n!
pn =   K
(λ = µ )
n
p c  λ 
c

 0 c !  cµ  (n ≥ c)  K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
ρ=
λ    (λ ≠ µ )
( )
K +1
1 − λ µ  1 − λ µ 
cµ L=
 K
 c −1 ( λ µ ) n ( λ µ )c 
−1
 (λ = µ )
p0 =  ∑ +  2

 n = 0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M  λ M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n ) !  µ 
−1
Pq ρ M M! λ  
n

L= + cρ p0 =  ∑   
1− ρ  n =0 ( M − n ) !  µ  
Modelo M/M/c/c:
ρ = 1 − p0
n
λ 1
pn = p0   (0 ≤ n ≤ c) L=M −
λ' µ
=M− ρ
 µ  n! λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n = 0  µ  n !  n
 M  λ 
 p0    (0 ≤ n < c)
λ‘   n  µ 
ρ= pn =  n
cµ   M  n!  λ 
 p0  n  c n − c c !  µ  (c ≤ n < M )
Modelo M/G/1:     
−1
λ 2 E  S 2   c −1  M   λ n M  M  n !  λ  n 
L= +ρ p0 =  ∑     + ∑   n −c   
2 (1 − ρ )  n = 0  n   µ  n =c  n  c c !  µ  
c −1
ρ =λ µ c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 1.5 (1.5) 2 (1) 3 (1.5) Total Parte I

PARTE I
(33,33% de la nota del examen)
1.- (7.5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Describe los pasos a seguir para desarrollar una aplicación distribuida cliente / servidor
utilizando la llamada a procedimiento remoto de SUN.

1.2. (1.5 puntos). Indicar las diferencias entre los servicios web basados en REST y los basados en SOAP.
2

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
1.3. (1.5 puntos). Describir los distintos modos de interacción que son posibles utilizando la comunicación
orientada a colas de mensajes. Indicar para cada uno una posible situación genérica donde se podría
utilizar.

1.4. (1.5 puntos). Indicar en qué consiste un Bus de Servicios de Empresa (Enterprise Service Bus) y qué
utilidad tiene.

1.5. (1.5 puntos). Describir brevemente 5 posibles métodos para la estimación del rendimiento de un
sistema distribuido vistos en la asignatura y ordenarlos de mayor a menor precisión.
3

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
2.- (1 puntos). Un primer servidor recibe un mensaje NTP a las 12:34:22, según su reloj interno, y
dicho mensaje lleva una marca de tiempo indicando que fue enviado por un segundo servidor a
las 12:34:10. Posteriormente, el segundo servidor recibe un mensaje NTP del primer servidor a las
12:34:32, según su reloj interno. Dicho mensaje lleva una marca de tiempo indicando que fue
enviado por el primer servidor a las 12:34:40. Calcular la deriva entre los relojes de los 2
servidores y la incertidumbre en dicha deriva.

Ti-2=12:34:22
Ti-3=12:34:10
Ti=12:34:32
Ti-1=12:34:40

oi = ((Ti-2 – Ti-3) - (Ti- Ti-1)) / 2 = ((22 – 10) - (32 – 40)) / 2 = (12 + 8) / 2 = 10s
di/2 = ((Ti-2 – Ti-3) + (Ti- Ti-1)) / 2 = ((22 – 10) + (32 – 40)) / 2 = (12 - 8) / 2 = 2s

La deriva entre los relojes de ambos servidores es de 10s +- 2s.

3.- (1.5 puntos). Considerar un servicio de impresión de documentos donde los (clientes) usuarios
envían a un servidor documentos para que estos sean impresos. Indicar las posibles ventajas y
desventajas de implementar dicho servicio utilizando como mecanismo de comunicación las colas
de mensajes.

Posibles ventajas: Se pueden establecer prioridades para imprimir. No es necesario que el


servidor esté arrancado o disponible cuando imprimen los clientes. Se pueden filtrar
trabajos a imprimir. Los clientes no se bloquean al enviar los trabajos (comunicación
asíncrona).

Posibles desventajas: La comunicación no es estándar (no hay estándar para MOM). El


rendimiento es bajo y requiere de almacenamiento intermedio. Si los clientes son
heterogéneos, y la representación de los datos es distinta entre ellos y el servidor, podría
haber problemas de transparencia.
4

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
3.1 (1) 3.2 (1) 3.3 (2) 3.4 (1) 3.5 (1) 3.6(1) 3.7(1) EJ 3 (8)

PARTE II
(33,33% de la nota del examen)
3. PROBLEMA (8 puntos). Una empresa ofrece un servicio de cálculo a través de internet. El
servicio consta de 2 servidores que realizan las siguientes tareas:
• Servidor A: Recibe la solicitud de cálculo y realiza un registro de la misma. El tiempo de
ejecución de este servicio está distribuido exponencialmente, con un valor medio de 50 ms.
Se puede considerar que este servidor tiene una cola de tamaño suficiente (podemos
suponer infinito) para almacenar las peticiones.
• Servidor B: Tras pasar por el servidor A, las solicitudes de los clientes son recibidas por
este servidor que las procesa. Podemos suponer una cola de espera infinita para este
servidor. Además, el servidor cuenta con 2 CPUs que pueden atender cualquiera de los
trabajos que se encuentren en cola. El tiempo que tarda cada CPU en procesar el trabajo
está distribuido exponencialmente, con un valor medio de 10 ms.

Se estima que un 50% de las solicitudes de cálculo requieren ejecutar una solicitud adicional, una
vez procesada. Dichas solicitudes adicionales son recibidas por el servidor A.

El servicio de cálculo recibe peticiones de los clientes que siguen un proceso de Poisson, con una
tasa media de llegadas de 9 peticiones por segundo.

3.1. (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular) las
tasas de llegada a la entrada de cada servidor, indicando las suposiciones realizadas. Dar una
explicación razonada de qué modelo, según la notación de Kendall, será aplicable a cada una de
sus componentes. Nombrar los teoremas utilizados.

Los servidores A y B se pueden modelar como un sistema M/M/1 y M/M/2 (el servidor B tiene 2
cpus), respectivamente, utilizando el teorema de Jackson (suponiendo estacionaridad), pues el
sistema se puede ver como una red de colas abierta.
5

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.

3.2. (1 puntos) Calcular la tasa de llegadas efectiva de los servidores A, y B.

α=9p/s
λA = α+0.5 λA
λA = α / 0.5 = 18 p/s.

3.3. (2 puntos) Calcular el tiempo medio de respuesta de cada uno de los componentes.
Servidor A. Utilizando el teorema de Jackson se puede modelar como un sistema M/M/1.
λ 18
0.9
μ 20
0.9 9
9; 0.5
1 0.1 λ 18

Servidor B: Utilizando el teorema de Jackson se puede modelar como un sistema M/M/2.

18 18
0.09
2 ∗ 100 200

p0 = [1 + (18 / 100) + (18 / 100)^2 / (2! * (1 - ) ]^-1=0.835

Pc = p0 2 / 2! (18 / 2*100)^2= 0.835 * 0.0162 = 0.0135

Pq = Pc / (1 - =0.0135 / 0.91 = 0.0148


0.09
∗ 0.0148 ∗ 0.09 ∗ 2 0.182 !"
1 1 0.09
Wb = Lb / Lambdab = 0.182 / 18 = 0.01 segundos.
3.4 (1 punto) Calcular el tiempo medio de respuesta de todo el sistema.

El sistema se puede ver como una red de colas abierta. Aplicamos Jackson para sacar el nº medio
de clientes en esos 2 servidores. Después aplicamos Little para sacar el tiempo medio de estancia
en la red.
0.182 9
# 1.02
9 9
6

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
3.5. (1 punto) Determinar justificadamente un posible cuello de botella en el sistema.

Un cuello de botella podría encontrarse en el servidor A, ya que se encuentra ocupado un 90% del
tiempo, mientras que en el servidor B solo un 9% del tiempo está ocupada cada CPU.

3.6. (1 punto) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que ambos
servidores, A y B, han de funcionar correctamente para poder prestar el servicio. Además, la
empresa tiene un contrato de mantenimiento in situ que asegura la reparación de los equipos en
24h. Suponiendo que los MTTF de los servidores A, B son 1000h y 500h, respectivamente,
calcular la disponibilidad total del sistema de acuerdo al diagrama de disponibilidad dibujado.

El diagrama sería serie:


-------- ---------
----| A |-------- | B |------
-------- ---------

A_a = 1000 / (24 + 1000)


A_b = 500 / (24 + 500)
A_T = A_a * A_b = 500 / (24 + 500) * 1000 / (24 + 1000) = 0.932

3.7. (1 punto) Usando los datos de la anterior pregunta, calcular el número de servidores B a
colocar de forma redundante en el sistema para obtener una disponibilidad del 97.5%.
&
$ $ ∗ %1 %1 $ 0.97.5
%1 &
$ 1 0.99/$
0.975
log ,1 $ -
! 2.08
log%1 $

Luego se necesitan 3 servidores B colocados de forma redundante.


7

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
4.1 (1) 4.2 (1) Total Parte II (10)

4.- (2 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:


4.1. (1 punto). Balanceador de carga: Entrega de paquetes mediante destination NAT.

4.2. (1 punto). Rapid Spanning Tree Protocol. Para qué es útil y descripción de su funcionamiento.
8

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
5.1 (2.5) 5.2 (2.5) 5.3 (5) Total Parte III (10)

PARTE III
(33,33% de la nota del examen)
5.- (10 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
5.1. (2.5 puntos). Afinidad de la sesión en balanceadores de carga. Justificar su necesidad y describir
algunos mecanismos para implementarla incluyendo el concepto de “delayed binding”.

5.2. (2.5 puntos). Cortafuegos. Definición y funciones que puede llevar a cabo.
9

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
5.3. (5 puntos). Debido al gran volumen de imágenes manejadas en la red social Facebook, sus
desarrolladores decidieron externalizar el servicio de subida y almacenamiento de imágenes. De esta forma,
las imágenes subidas por los usuarios son alojadas en un servidor web de una tercera compañía con
acceso libre por todo el mundo. Esto ha provocado un problema en la red social, que permite que personas
que conozcan la URL de una imagen, tengan acceso a ella desde cualquier navegador, independientemente
de las opciones de privacidad configuradas por su propietario, y sin iniciar sesión en Facebook.
Describe la arquitectura (componentes e interacciones entre los mismos) y mecanismos de seguridad
(autenticación y cifrado) necesarios para facilitar la funcionalidad de subida y compartición segura de fotos
en Facebook (2.5 puntos). El sistema propuesto debe garantizar que las imágenes de un usuario solo
pueden ser accesibles por su propietario y por otros usuarios de Facebook con los que él las haya
compartido, y por nadie más. Además, las imágenes de los usuarios deberán guardarse cifradas en disco,
pero deberá ser posible el acceso aleatorio a las mismas.
10

SISTEMAS INFORMÁTICOS II

26 de junio de 2014.
Acompaña la descripción anterior con un diagrama de secuencia en el que se muestren los “mensajes”
producidos y enviados a lo largo del tiempo entre las distintas componentes, al subir una imagen a
Facebook y compartirla con otro usuario (1 punto).

Describe una arquitectura de seguridad perimetral de redes, utilizando cortafuegos, que garantice la
seguridad en la conexión entre la red controlada por Facebook, y una red externa no controlada, que
denominaremos internet, desde donde se conectarán los clientes. (1.5 puntos).
Formulario:
Modelo M/M/1: Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
FW ( t ) = 1 − e−( µ −λ )t  1
 (λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 ( λ µ)
n
   (λ ≠ µ )
 p0 (n < c)  µ 1 − ( λ µ ) K +1 
ρ =
 n!
pn =  n  K
p c  λ 
c
(n ≥ c)  (λ = µ )
 0 c !  cµ   K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
λ    (λ ≠ µ )
ρ= 1 − λ µ  1− (λ µ )
K +1
cµ L= 
 K
 c −1 ( λ µ )n ( λ µ )c 
−1
 (λ = µ )
p0 = ∑ +   2
 n =0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M   λ  M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n ) !  µ 
Pq ρ M
−1
M! λ  
n
L= + cρ p0 =  ∑
1− ρ   
 n = 0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
ρ = 1 − p0
λ 1
pn = p0   (0 ≤ n ≤ c) λ' µ
 µ  n! L=M − =M − ρ
λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n = 0  µ  n !   M  λ 
n

 p0     (0 ≤ n < c)
λ‘   n  µ 
ρ= pn = 

n
  M  n!  λ 
 p0  n  c n − c c !  µ  (c ≤ n < M )
Modelo M/G/1:     
−1
λ 2 E  S 2   c −1  M   λ n M  M  n !  λ  n 
L= +ρ p0 =  ∑     + ∑   n −c   
2 (1 − ρ )
 n = 0    µ  n =c   c c !  µ  
n n
ρ =λ µ c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 2 (2) 3 (2) Total Parte I (10)

PARTE I
(33,33% de la nota del examen)
1.TEORÍA (6 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Ventajas e inconvenientes de los servicios web basados en SOAP.

1.2. (1.5 puntos). Completa la siguiente tabla comparativa entre colas de mensajes (Message
Oriented Middleware, MOM) y llamadas a procedimiento remoto (Remote Procedure Calls, RPCs).
Características Colas de mensajes RPCs
Modelo/Estilo

Temporización

Secuencia de
arranque sistema

Extremos listos
simultáneamente

Filtrado de mensajes

Rendimiento

Proceso asíncrono
2

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.
1.3. (1.5 puntos). Network Time Protocol (NTP). Definición, objetivos, y estructura.

1.4. (1.5 puntos). Definición de rendimiento de un sistema informático. Indica los objetivos de
rendimiento utilizados para especificar y validar un sistema.
3

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.

2. PROBLEMA (2 puntos). Se quiere prestar un servicio que permita gestionar el stock de una
cadena de tiendas utilizando servicios web REST. Dicho servicio web podrá ser utilizado para
añadir nuevas tiendas, consultar y modificar el stock y características (tamaño, peso, precio) de
cada producto disponible en cada tienda, para asociar a cada producto productos relacionados
disponibles en la misma tienda, o para añadir y eliminar nuevos productos a cada tienda.

Cada producto se identifica por su código y cada tienda se identificará por un nombre único.

2.1 (1.5 puntos) Indicar de forma razonada una posible URI (Uniform Resource Identifier) y el
posible método HTTP (GET, POST, DELETE, PUT) a utilizar para ofrecer las siguientes funciones:

a) Añadir una nueva tienda de nombre “tiendaT”.

URI: http://www.cadenatiendas.com/tiendas/tiendaT

Método: PUT

b) Modificar el stock del producto con código 31415 en la tienda “tiendaT”.

URI: http://www.cadenatiendas.com/tiendas/tiendaT/productos/31415

Método: POST

c) Obtener el listado de productos en la tienda “tiendaT”.

URI: http://www.cadenatiendas.com/tiendas/tiendaT/productos

Método: GET

2.3 (0.5 puntos) Dar un ejemplo razonado de una posible representación del producto con código
31415.
La representación podría tener cualquier formato, pero debería incluir las características del
producto y sus productos relacionados. Elegimos XML.

<producto>
<nombre> Batidora de mano </nombre>
<tamanio> 6,2 x 5,5 x 21 cm </tamanio>
<peso> 1,5 Kg </peso>
<precio> 45.21 </precio>
<stock> 3 </stock>
<prod_relacionado> http://www.cadenatiendas.com/tiendas/tiendaT/productos/1354 </prod_relacionado>
<prod_relacionado> http://www.cadenatiendas.com/tiendas/tiendaT/productos/8430 </prod_relacionado>
<prod_relacionado> http://www.cadenatiendas.com/tiendas/tiendaT/productos/5547 </prod_relacionado>
</producto>
4

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.
3. PROBLEMA (2 puntos). Considerar los siguientes casos particulares de sistemas distribuidos
basados en el modelo cliente / servidor:
a) Servicio de traducción inglés-español. Clientes y servidores homogéneos envían al
servidor sus peticiones que consisten en una palabra en inglés en formato texto en código
ASCII. El servidor consulta una base de datos y envía la palabra traducida al castellano
también en formato texto en código ASCII.
b) Servicio de cursos online. A través de una interfaz de programación definida, los clientes
pueden crear un perfil de usuario con el que crear nuevos cursos (en el caso de
profesores) o registrarse a cursos existentes (en el caso de alumnos). Igualmente, la
interfaz permitirá consultar las notas obtenidas en cursos anteriores, obtener certificados
de asistencia etc. Los clientes que accederán al servicio son heterogéneos, y será
necesario pasar a través de un corta-fuegos. Además se prevé que en un futuro se dote a
la interfaz de nuevas funciones y se desea que los clientes puedan obtener información
sobre los nuevos servicios prestados de forma sencilla. El tiempo de procesamiento de los
mensajes no es crítico.

Para cada uno de los anteriores sistemas distribuidos basados en el modelo cliente/servidor se
pide elegir justificadamente (cuantas más razones se den para la elección mayor la
puntuación) el mecanismo de comunicación más adecuado entre: comunicación no orientada a
conexión (UDP), comunicación orientada a conexión (TCP), Comunicación a través de colas de
mensajes, servicios web basados en SOAP y llamada a procedimiento remoto (RPC).

a) Servicio de traducción inglés-español. El mecanismo más adecuado sería comunicación no


orientada a conexión (UDP) debido a las siguientes razones:
 Las interacciones serían acopladas en el tiempo (servidor y cliente conectados a la vez).
 Los clientes son homogéneos y el formato de texto es idéntico en las peticiones y
respuestas, por lo que no habría que hacer marshalling/unmarshalling de los datos.
 La funcionalidad es muy elemental, no merece la pena usar RPCs o servicios web. La
información a enviar es muy pequeña, sólo la palabra a traducir en formato texto y la
respuesta con la traducción.
 En caso de pérdida de un mensaje, éste se podría reenviar sin problema puesto que las
interacciones son del tipo petición/respuesta e idempotentes.

b) Servicio de cursos on-line. El mecanismo más adecuado sería servicios web basados en
SOAP debido a las siguientes razones:
 Los clientes son heterogéneos, luego será necesario proporcionar transparencia de acceso
y datos.
 Se accede a los servicios prestados a través de una interfaz de programación y los
servicios involucran cierta lógica compleja.
 Dado que en el futuro se prevé que se puedan añadir más funciones, cada una de ellas
podría ser fácilmente añadida a la interfaz.
 Dado que el tiempo de procesamiento de los mensajes no es crítico, es necesario y se
desea que el servicio esté accesible para una gran variedad de clientes, la mejor opción es
usar servicios web basados en SOAP ya que siguen estándares.
5

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.
 Por las razones del apartado anterior (heterogeneidad, proceso complejo, interfaz de
programación) dudaríamos entre RPC o WS-SOAP. Sin embargo, será necesario pasar
por un corta-fuegos, el tiempo de procesamiento de los mensajes no es crítico, y en el
futuro aparecerán nuevos servicios. Esto sugiere WS-SOAP, ya que pasaríamos a través
del corta-fuegos, y usando WSDL y UDDI podríamos registrar y localizar de forma sencilla
los nuevos servicios.
 Se descartan opciones como TCP y UDP por ser mecanismos de muy bajo nivel y ser éste
un servicio relativamente complejo. También cabrían esperar respuestas rápidas, luego se
descartan las colas de mensajes.
1

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
1.1 (1) 1.2 (2) 1.3 (2) 1.4 (1) 1.5 (1) 2.1 (1) 2.2 (1) 2.3(1) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos) Una empresa cuenta con un servidor A que recibe las peticiones de los
clientes sobre un conjunto de servicios web y que tiene un tiempo medio de servicio igual a 40ms.
Por construcción dicho servidor solo admite 5 peticiones esperando en cola. En caso de que se
reciba una petición y la cola esté llena, éstas se reenvían a un segundo servidor B que
implementa los mismos servicios, y que tiene un tamaño de cola infinito, pero una menor
capacidad de cálculo, y tarda 62.5ms en promedio en procesar cada petición. Las peticiones que
pasan por el servidor B, tras ser procesadas, se han de registrar en un log. Dicha tarea se lleva a
cabo en un tercer servidor C con cola infinita y tiempo medio de servicio igual a 25ms. Se estima
que las peticiones que son procesadas por el servidor B y registradas por el servidor C, necesitan
con un 50% de probabilidad ejecutar otro servicio web. Estas nuevas peticiones son siempre
recibidas por el servidor B. Por el contrario, las peticiones que son aceptadas por el servidor A no
necesitan ejecutar ningún otro servicio una vez procesadas, y se dan por finalizadas.
El servidor A recibe peticiones de los clientes siguiendo un proceso Poisson con una media de 30
peticiones por segundo.

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial, y que existe
un número muy grande de clientes, de modo que el número de peticiones pendientes de servicio
no afecta al ritmo de llegada de nuevas peticiones.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas de llegada a la entrada de cada servidor, indicando las suposiciones realizadas.
Dar una explicación razonada de qué modelo, según la notación de Kendall, será aplicable
a cada una de sus componentes.

Las tasas de llegadas a la entrada de cada servidor se pueden obtener de la siguiente forma. (i)
Debido a que los clientes llegan siguiendo un proceso Poisson, al rechazarse peticiones en el
2

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
servidor A tendremos una partición aleatoria de un proceso Poisson que es también un proceso
Poisson. Supondremos que los servidores B y C se encuentran en estado estacionario. En ese
caso como a la entrada tenemos un proceso Poisson y sus tiempo de servicio están distribuidos
de forma exponencial, y tienen cola infinita, podemos aplicar el teorema de Jackson que nos dice
que podremos describir dichos servidores con las formulas del modelo M/M/1. En el caso del
servidor A, que tiene cola finita, el sistema sería M/M/1/K con K = 6.

= 1−
= + 0.5
Las tasas serían las siguientes

1.2 (2 punto) Calcular la tasa de llegadas efectiva a la entrada de cada servidor.

= 1−

El primer modelo es M/M/1/K con K = 6, luego se obtiene con las fórmulas de dicho modelo.

30
= = = 11.39 = 0.077 · 2.98 = 0.23
25
1− 30 1
1− −
= = 25 = 5 = 0.077
30 1 − 3.58
1− 1−
25

Con lo que = 1 − 0.23 = 0.77 · 30 = 23.1 p/s.


. !
Por otro lado = 0.23 + 0.5 = 0.23 + 0.5 con lo que = ."
= 0.46 = 13.8p/s. Y =
13.8p/s.

1.3 (2 puntos) Calcular justificadamente el número medio de peticiones en cada uno de los
servidores.
/ /01
& & &
)* .) . )* .5. )." )."56
% = - 3 = −6 · 4 7 =6· = 3.69 clientes.
'( '( '(
2
)*!/,( & * ."6 ."6
)*
'(

89 ) .6
% =, =) = 6.27clientes.
9 *89 *) .6
8: ) .6
% =, =; = 0.53clientes.
: *8: *) .6

Aplicamos las formulas del modelo M/M/1/K en el caso del servidor A y las del modelo M/M/1 en
caso del servidor B y C al usar el teorema de Jackson.
3

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
1.4 (1 punto) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Aplicamos el Teorema de Little sobre el sistema global, teniendo en cuenta que el número medio
de clientes en el sistema total es la suma del número medio de clientes en cada uno de los
subsistemas y la tasa de llegadas externas al sistema es :

% +% +% 10.49
<= = = = 0.35 >
30

1.5 (1 punto) Calcular justificadamente el tiempo medio de respuesta para las peticiones
que son rechazadas por el servidor A.

Utilizamos el teorema de Little sobre el subsistema formado por los servidores B y C.

% +% 6.8
<= = = = 0.98>
0.23 6.9

1.6 (1 puntos) Determinar justificadamente los cuellos de botella en el sistema descrito


anteriormente y plantear posibles soluciones. No se tendrán en cuenta respuestas no
razonadas.

Calculamos el factor de utilización de cada servidor:


? =1− = 1 − 0.077 = 0.923
13.8
? = = = 0.86
16
13.8
? = = = 0.34
40
Los servidores más saturados son el A y el B. Como posibles soluciones se podría poner un
servidor más rápido en cada caso o un sistema con varios servidores conectados a la misma cola.
4

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
2. PROBLEMA (3 puntos) Una empresa tiene un servidor que recibe tráfico Poisson con una tasa
de llegadas de 2 clientes por segundo. La cola de dicho servidor se puede considerar de tamaño
infinito y el tiempo de servicio está distribuido exponencialmente con un valor medio de 200ms.

2.1 (1 punto) Proponer justificadamente un modelo de teoría de colas válido para describir
el sistema y calcular la probabilidad de que el tiempo de respuesta del servidor supere 1
segundo.

Un modelo válido sería el M/M/1 ya que todos los tiempos están distribuidos de forma
exponencial, hay un único servidor y la cola tiene un tamaño infinito.

exponencial con parámetro − . Usando este hecho y el formulario tenemos que


Como el sistema es M/M/1 el tiempo de estancia en el sistema está distribuido de forma

@ ≥1 =1− @ ≤ 1 = 1 − 1 − exp − − = exp − − = expF− 5 − 2 G = exp −3


= 0.05

2.2 (1 punto) Tras realizar mediciones en el servidor se ha comprobado que la varianza del
tiempo de servicio es igual a 0.1 segundos al cuadrado. Justificar si el modelo planteado
sigue siendo válido o no. Proponer un modelo alternativo.

Calculamos el coeficiente cuadrático de variación:

IJK[M] 0.1
H= = = 2.5
O[M] 0.04

Valor que es distinto de 1, el esperado para una exponencial. Por esta razón el modelo M/M/1 no
sería válido. Se podría usar el M/G/1 que no supone tiempo de servicio exponencial.

2.4 (1 puntos) Calcular el tiempo medio de respuesta del sistema bajo la observación de la
pregunta anterior.

Utilizamos las fórmulas del modelo M/G/1 para realizar los cálculos.

O[P ] = IJK P + O[P] = 0.1 + 0.2 = 0.1 + 0.04 = 0.14>


2
?= = = 0.4
5

8Q R[S Q ] ;· .);
%= +?= + 0.4 = 0.867clientes.
)*T ).

Por Little:
U .6
<=8= = 0.438>.
Formulario:
Modelo M/M/1: Modelo M/M/1/K:

pn = (1 − ρ )( ρ )
n n
λ
pn = p0   (0 ≤ n ≤ K )
ρ =λ µ µ

ρ  1 − λ µ 
L=   (λ ≠ µ )
1− ρ  1 − ( λ µ ) K +1 
p0 = 
−( µ −λ )t 
FW ( t ) = 1 − e 
1
(λ = µ )
 K +1
Modelo M/M/c:
 λ  1 − ( λ µ )K 
 (λ µ )
n
   (λ ≠ µ )
 p0 (n < c)  µ 1 − ( λ µ ) K +1 
ρ =
 n!
pn =   K
(λ = µ )
n
 c  λ 
c

 p0 c !  cµ  (n ≥ c)  K +1
  
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
ρ=
λ    (λ ≠ µ )
( )
K +1
1 − λ µ  1 − λ µ 
cµ L=
 K
 c −1 ( λ µ )n ( λ µ )c 
−1
 (λ = µ )
p0 =  ∑ +   2
 n =0 n ! c !(1 − ρ )  Modelo M/M/1//M
n n
p M  λ M! λ 
Pq = c = Ec ( c, u ) pn = p0   n !  = p0
1− ρ  n  µ ( M − n ) !  µ 
−1
Pq ρ M M! λ  
n
L= + cρ p0 =  ∑
1− ρ   
 n = 0 ( M − n ) !  µ  
Modelo M/M/c/c:
n
ρ = 1 − p0
λ 1
pn = p0   (0 ≤ n ≤ c) λ' µ
 µ  n! L=M − =M − ρ
λ λ
−1
 c  λ n 1  Modelo M/M/c//M
p0 =  ∑   
 n =0  µ  n !   M  λ 
n

 p0     (0 ≤ n < c)
λ‘   n  µ 
ρ= pn =  n
cµ   M  n!  λ 
 p0  n  c n − c c !  µ  (c ≤ n < M )
Modelo M/G/1:     
−1
λ 2 E  S 2   c −1  M   λ n M  M  n !  λ  n 
L= +ρ p0 =  ∑     + ∑   n −c   
2 (1 − ρ )  n = 0  n   µ  n =c  n  c c !  µ  
ρ =λ µ c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Indica las diferencias entre un sistema de alta disponibilidad y uno de
operación continua.

1.2. (1.25 puntos). Implicaciones de la redundancia en las redes LAN. Indica las implicaciones de
introducir elementos redundantes a nivel 3 y nivel 2 en LANs, problemas que pueden surgir y
cómo se solucionan.
2

SISTEMAS INFORMÁTICOS II

12 de junio de 2015.
1.3. (1.25 puntos). Balanceadores de carga: Definición, objetivos y explicar el concepto de
delayed binding.

1.4. (1.25 puntos). Mecanismos de copia remota en servidores de disco. Tipos, características y
escenarios de uso.
1

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.
2 (3) 3 (2) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2.- (3 puntos). Para ofrecer un determinado servicio, una empresa cuenta con 3 servidores
idénticos que realizan tareas de acceso a disco. La empresa cuenta con 2 discos idénticos que ha
decidido configurar como un RAID-0, dado que, a pesar de no tener protección contra fallos, esta
configuración mejora el rendimiento de lectura y escritura y no necesita espacio adicional de disco.
2.1 (0.5 punto) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que es
necesario que al menos uno de los servidores esté operativo para poder prestar el servicio.
Teniendo en cuenta que la configuración RAID-0 requiere que ambos discos estén disponibles
para su correcto funcionamiento (no hay protección contra fallos), el diagrama de disponibilidad
quedaría de la siguiente forma:

Servidor 1

Servidor 2 Disco 1 Disco 2

Servidor 3

2.2 (1 punto) Se sabe que el tiempo medio entre fallos de cada servidor es de 7,000 horas y el
tiempo medio hasta fallo de cada uno de los discos es de 4,000 horas. La empresa encargada del
mantenimiento es capaz de reparar un servidor dañado en 48 horas y un disco dañado en 72 h.
Calcular la disponibilidad total del sistema e indicar los puntos simples de fallo (SPOF) del mismo.
Suponer que todos los fallos son independientes. Expresar los resultados redondeando a 4
decimales.

Para cada servidor disponemos de los siguientes datos:


MTBF=7000h
MTTR=48h
𝑀𝑇𝐹𝐵−𝑀𝑇𝑇𝑅 7000−48
Por tanto, la disponibilidad de cada servidor es: 𝐴𝑠𝑟𝑣 = 𝑀𝑇𝐵𝐹
= 7000
= 0.9931
2

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.

Para cada disco disponemos de los siguientes datos:


MTTF=4000h
MTTR=72h
𝑀𝑇𝑇𝐹 4000
Por tanto, la disponibilidad de cada disco es: 𝐴𝑑𝑖𝑠𝑐𝑜 = 𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅 = 4000+72 = 0.9823

La disponibilidad total del sistema será por tanto:

𝐴𝑇𝑂𝑇𝐴𝐿 = (1 − (1 − 𝐴𝑠𝑟𝑣 )3 ) ∙ 𝐴𝑑𝑖𝑠𝑐𝑜 ∙ 𝐴𝑑𝑖𝑠𝑐𝑜 = (1 − (1 − 0.9931)3 ) ∙ 0.9823 ∙ 0.9823 = 0.9649

El SPOF de este sistema es el disco en RAID-0.


2.3 (0.5 punto) Tras un tiempo en funcionamiento y tras un análisis detallado de los requisitos del
servicio, la empresa determina que el nivel de ocupación de ambos discos será inferior al 35% de
su capacidad. Además, la empresa desea mejorar la disponibilidad del sistema aun cuando esta
mejora conlleve un posible descenso del rendimiento. ¿Qué alternativa de diseño se podría
sugerir? ¿Qué efectos se espera que tenga en términos de rendimiento y disponibilidad el nuevo
diseño? Únicamente justificar el impacto en términos de disponibilidad, NO realizar cálculos.
Dado que la ocupación de los discos será a lo sumo del 35% y ambos discos son idénticos, con
un único disco sería suficiente para guardar toda la información y se podría colocar el otro disco
en mirroring; es decir, configurar los discos como RAID-1 en lugar de RAID-0. Esta solución
también mejora el rendimiento en lectura como RAID-0 pero, a diferencia de RAID-0, no mejora el
rendimiento en escritura. Sin embargo, la configuración RAID-1 ofrece protección contra fallos por
copia, mientras que RAID-0 no ofrece protección contra fallos. Otras opciones como RAID-10 o
RAID-5 son descartadas puesto que sería necesario un mayor número de discos.

2.4 (1 punto) Dibujar el diagrama de disponibilidad del sistema sugerido en el apartado 2.3 y
calcular la disponibilidad total del sistema asumiendo que todos los fallos son independientes.
Expresar los resultados redondeando a 4 decimales.
Al estar los discos en RAID-1, es suficiente con que funcione al menos uno de los dos, por tanto,
el diagrama de disponibilidad del sistema quedará de la siguiente forma:

Servidor 1
Disco 1

Servidor 2

Disco 2

Servidor 3
3

SISTEMAS INFORMÁTICOS II

16 de junio de 2015.

La disponibilidad total del sistema será por tanto:

𝐴 𝑇𝑂𝑇𝐴𝐿 = (1 − (1 − 𝐴𝑠𝑟𝑣 )3 ) ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 ) = (1 − (1 − 0.9931)3 ) ∙ (1 − (1 − 0.9823)2 ) = 0.9997

3.1 (1 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).
El conmutador raíz sería el conmutador ID: 1.

ID: 1 ID: 2 ID: 3


1 RP 4 RP
DP DP
DP DP DP
DP
19 4

ID: 4 AP
19 AP
4
RP
AP
1
4

RP AP DP DP
DP RP RP
DP
1 1
ID: 5 ID: 6 ID: 7

3.2 (0.5 puntos) Describir cómo RSTP detectaría un fallo en el conmutador (switch) con ID 7.
Los conmutadores dejarían de recibir tramas BDPUs por parte del conmutador con ID 7. Por
defecto, al no recibir 3 BDPUs consecutivas del conmutador, se considerará que ha fallado y
habrá que recalcular el Spanning Tree.

3.3 (0.5 puntos) Indicar qué puertos cambiarían de estado tras el fallo.
En el conmutador 6 el puerto que conecta el conmutador 6 con el conmutador 7 pasaría al estado
AP. En el conmutador 4, el RP del apartado 3.1 pasaría a estado AP, mientras que o bien el
puerto que conecta el conmutador 4 con el conmutador 3, o bien el puerto que conecta el
conmutador 4 con el conmutador 6 pasaría a ser el nuevo RP para el conmutador 4 (ambas
soluciones se considerarán válidas puesto que no se indicaba ningún tipo de prioridad de puertos).
El resto de puertos de los otros conmutadores no cambian.
1

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
1.1 (1.5) 1.2 (1.5) 1.3 (1.5) 1.4 (1.5) 2 (2) 3 (2) Total Parte I (10)

PARTE I
(33,33% de la nota del examen)
1. TEORÍA (6 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.5 puntos). Explica cuál es la funcionalidad del Port Mapper en RPC y describe su esquema
de funcionamiento.

Diapositiva 20 – Tema 1

1.2. (1.5 puntos). Explica las diferencias entre los servicios web basados en SOAP y servicios
web basados en REST.

Diapositiva 37 – Tema 1
2

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.

1.3. (1.5 puntos). Define qué es .Net Remoting. ¿Qué lenguajes de programación y protocolos de
comunicación soporta? ¿Cómo se activan los objetos?

Diapositiva 58 – Tema 1

1.4. (1.5 puntos). Network Time Protocol (NTP). Definición, objetivos, y estructura.

Diapositiva 90 – Tema 1
3

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.

2. PROBLEMA (2 puntos). Un servidor B de NTP recibe un mensaje del servidor A a las


1:16:8.530 llevando una marca de tiempo 1:16:6.200 y lo responde. A recibe el mensaje a las
1.16:7.100, llevando una marca de tiempo 1:16:8.940 de B.

2.1. (1 punto) Estimar la deriva entre B y A y la precisión de la estimación.

Estimación de la deriva entre B y A:

(𝑇𝑖−2 − 𝑇𝑖−3 ) − (𝑇𝑖 − 𝑇𝑖−1 ) (8.530 − 6.200) − (7.100 − 8.940)


𝑜𝑖 = = = 2.085 𝑠
2 2

Precisión de la estimación:

𝑑𝑖 (𝑇𝑖−2 − 𝑇𝑖−3 ) + (𝑇𝑖 − 𝑇𝑖−1 ) (8.530 − 6.200) + (7.100 − 8.940)


= = = 0.245 𝑠
2 2 2

Es decir la deriva real o verifica:

1.84 = 2.085 − 0.245 ≤ 𝑜 ≤ 2.085 + 0.245 = 2.33


4

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.

2.2 (1 punto) Si en el siguiente intercambio de dos mensajes NTP entre B y A, los tiempos de
envío de los mensajes (t2 y t2’) son proporcionales a los tiempos de envío del primer intercambio
de mensajes (t1 y t1’) de acuerdo a un factor 𝛼 (t2=𝛼 t1 y t2’=𝛼 t1’) ¿será la medida de la precisión
de la estimación de la deriva mayor o menor que en el primer caso? ¿por qué? ¿qué estimación
de la deriva sería preferible, la del primer o segundo envío?

𝑑𝑖 (𝑡+𝑡´)
La medida de la precisión de la estimación de la deriva se calcula como 2
= 2 . En el primer
𝑑 (𝑡 +𝑡 ′ ) 𝑑 (𝑡 +𝑡 ′ ) 𝛼(𝑡1 +𝑡1′ ) 𝛼𝑑
caso se tendrá 21 = 1 2 1 y en el segundo caso se tendrá 22 = 2 2 2 = 2
= 2 1. Por tanto, la
estimación de la deriva en el segundo envío será mayor que en el primero para 𝛼 > 1, y la
estimación de la deriva en el segundo envío será menor que en el primero para 𝛼 < 1.
Por tanto, dado que la estimación de la deriva cuantifica el margen de error de la estimación, es
preferible que sea pequeña. Por tanto, el primer envío de mensajes será preferible si 𝛼 > 1,
mientras que el segundo intercambio de mensajes será preferible cuando 𝛼 < 1.

3. PROBLEMA (2 puntos). Considerar los siguientes casos particulares de sistemas distribuidos


basados en el modelo cliente / servidor:
a) Servicio de consulta de resultados electorales. A través de una interfaz de
programación definida, los clientes pueden consultar los resultados de las elecciones
europeas, nacionales y autonómicas de los últimos años, así como realizar ciertas
operaciones estadísticas sobre los datos. Igualmente, la interfaz permitirá a los clientes
subir al sistema los resultados de diferentes encuestas electorales. Los clientes que
accederán al servicio son heterogéneos, y será necesario pasar a través de un corta-
fuegos. Además se prevé que en un futuro se dote a la interfaz de nuevas funciones y se
desea que los clientes puedan obtener información sobre los nuevos servicios prestados
de forma sencilla. El tiempo de procesamiento de los mensajes no es crítico.

b) Servicio de descarga de genomas. Un laboratorio de biología ofrece un servicio


mediante el cual los clientes heterogéneos solicitan el genoma (secuencia de
bases/nucleótidos A,C,G,T) de cierto organismo identificado por un código (cadena de
texto). El servidor envía el genoma al cliente como una cadena de texto (ACGTTATAA…).
El cliente queda a la espera de la respuesta del servidor. Nota: el genoma humano
contiene aproximadamente tres mil millones de nucleótidos.

Para cada uno de los anteriores sistemas distribuidos basados en el modelo cliente/servidor se
pide elegir justificadamente (cuantas más razones se den para la elección mayor la
puntuación) el mecanismo de comunicación más adecuado entre: comunicación no orientada a
conexión (UDP), comunicación orientada a conexión (TCP), Comunicación a través de colas de
mensajes, servicios web basados en SOAP, servicios web basados en REST y llamadas a
procedimiento remoto (RPC). Indicar además si será necesario usar algún mecanismo adicional
para garantizar la transparencia de datos.
5

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
a) Servicio de consulta de resultados electorales. El mecanismo más adecuado sería
servicios web basados en SOAP debido a las siguientes razones:
 Los clientes son heterogéneos, luego será necesario proporcionar transparencia de acceso
y datos.
 Se accede a los servicios prestados a través de una interfaz de programación y los
servicios involucran cierta lógica compleja.
 Dado que en el futuro se prevé que se puedan añadir más funciones, cada una de ellas
podría ser fácilmente añadida a la interfaz.
 Dado que el tiempo de procesamiento de los mensajes no es crítico, es necesario y se
desea que el servicio esté accesible para una gran variedad de clientes, la mejor opción es
usar servicios web basados en SOAP ya que siguen estándares.
 Por las razones del apartado anterior (heterogeneidad, proceso complejo, interfaz de
programación) dudaríamos entre RPC o WS-SOAP. Sin embargo, será necesario pasar
por un corta-fuegos, el tiempo de procesamiento de los mensajes no es crítico, y en el
futuro aparecerán nuevos servicios. Esto sugiere WS-SOAP, ya que pasaríamos a través
del corta-fuegos, y usando WSDL y UDDI podríamos registrar y localizar de forma sencilla
los nuevos servicios.
 Se descartan opciones como TCP y UDP por ser mecanismos de muy bajo nivel y ser éste
un servicio relativamente complejo. También cabrían esperar respuestas rápidas, luego se
descartan las colas de mensajes.
 No es necesario utilizar ningún tipo de mecanismo adicional para garantizar la
transparencia de datos, puesto que ya lo provee SOAP.

b) Servicio de descarga de genomas. La solución más apropiada sería comunicación


orientada a conexión (TCP) dado que:
 Los dos sistemas tienen que estar conectados a la vez (acoplados en el tiempo) y el cliente
queda a la espera de la respuesta del servidor, lo que descarta las colas de mensajes.
 Es necesario garantizar que las respuestas del servidor llegan y lo hacen en orden.
Además, es razonable establecer una conexión entre cliente y servidor dado que las
cadenas de texto a enviar pueden ser muy largas; por tanto, es adecuado no limitar el
tamaño de las respuestas.
 Las RPCs o servicios web no son necesarios ya que la funcionalidad es muy elemental:
enviar un código y esperar una respuesta (cadena de texto).
 Sería necesario hacer marshalling/unmarshalling de texto (representación de caracteres) al
ser clientes heterogéneos. Este marshalling/unmarshalling no sería muy complejo.
1

SISTEMAS INFORMÁTICOS II

28 de junio de 2016
1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos). Una empresa presta un servicio a sus usuarios. Las peticiones de los
usuarios son recibidas inicialmente por un servidor A. Este servidor tiene una CPU que es capaz de
procesar cada petición en un promedio de 250ms. Sin embargo, por construcción, este servidor
tiene una cola de espera limitada y no admite más de 4 peticiones en cola. Si al llegar una petición
al servidor A se da la circunstancia de que la cola está llena, la petición se redirige a otro servidor
B. La cola del servidor B se puede considerar de tamaño infinito. Además, el servidor B tiene dos
CPUs que pueden atender cualquiera de las peticiones recibidas y se estima que cada CPU procesa
en promedio cada petición en 500ms. Finalmente, se ha observado que cada petición que es
procesada por el servidor B tiene que ejecutar otra petición adicional en el sistema con una
probabilidad del 50%. Esta nueva petición será siempre recibida por el servidor B. Finalmente, se
sabe que las peticiones recibidas correspondientes al servicio prestado por la empresa siguen un
proceso Poisson, y se reciben en promedio 5 peticiones por segundo.

Suponer que todos los tiempos de servicio están distribuidos de forma exponencial y que existe un
número muy grande de clientes, de modo que el número de peticiones pendientes de servicio no
afecta al ritmo de llegada de nuevas peticiones.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas efectivas de llegada a la entrada de cada servidor, indicando las suposiciones
realizadas y teoremas empleados. Dar una explicación razonada de qué modelo, según la
notación de Kendall, será aplicable a cada una de sus componentes.

Suponemos que el servidor B está en estado estacionario. Este caso la tasa que tendrá a la salida
será la misma que la que tiene a la entrada. Aplicando el teorema de Jackson, podemos describir
2

SISTEMAS INFORMÁTICOS II

28 de junio de 2016
el servidor B como un sistema M/M/2, pues tiene 2 CPUs y cola infinita. El servidor A se puede
describir como un sistema M/M/1/K con K = 5, pues tiene una CPU y tamaño de cola finita e igual a
4. Además el tráfico que llega al servidor B desde el servidor A se puede interpretar como un proceso
Poisson obtenido como el resultado de una partición aleatoria de un proceso Poisson (la llegada de
clientes al servicio de la empresa).

1.2 (1 punto) Calcular la tasa de llegadas efectiva a la entrada de cada servidor.

• La tasa de legadas efectiva al servidor A será 1− = 5 1 − 0,272 = 3,64 / . Donde


se cumple que:

5
= = = 0,089 · 3,051 = 0,272
μ 4

1−μ 1 − 1,25
= = = 0,089
1− μ 1 − 3,815

Suponemos que el servidor B está en estado estacionario. Este caso la tasa que tendrá a la salida
será la misma que la que tiene a la entrada.

= · + 0,5 · = 1,36 + 0,5 ·


= 2 · 1,36 = 2,72 /

1.3 (2 puntos) Calcular el número medio de peticiones esperando en cola en el sistema.

Para el servidor A tenemos que:

μ 1− +1 μ + μ
!"
1,25 1 − 18,311 + 19,074 2,204
= · = · = = 3,131 #$%&'(&
1−μ 1− μ !" −0,25 −2,815 0,704

1−
= − ⍴ = 3,131 − = 3,131 − 0,91 = 2,221 #$%&'(&
)
μ

Para el servidor B tenemos que:


+) ⍴
= + #⍴
1−⍴
+) ⍴
= = 1,175 #$%&'(&
)
1−⍴
2,72
⍴= = = 0,68
#·μ 2·2
3

SISTEMAS INFORMÁTICOS II

28 de junio de 2016
+,
+) = = 0.553
1−-
#,
,
+, = + · 0 2 = 0,191 · 2 · 0,462 = 0,177
#! # · 1
5"

+ = 3∑ = 61 + 1,36 + 2,8975" = 0,191


 n =0 n!  + c!(1 − ρ ) 4
 c −1 (λ µ )n  (λ µ )c

 

El número medio de clientes en cola en el sistema es por tanto 1,175 + 2,221 = 3,396 #$%&'(& .

1.4 (1 puntos) Calcular justificadamente el tiempo medio de respuesta de todo el sistema.

Calculamos el número total de clientes en todo el sistema y aplicamos Little.

8 = 3,396 + 2 · 0,68 + 0,91 = 5,666 #$%&'(&


5,666
98 = = = 1,133
8
5

1.5 (1 punto) Calcular justificadamente el tiempo medio de respuesta de las peticiones que
son atendidas por el servidor A.

De nuevo aplicamos Little.

2,221 + 0,91 3,131


9 = = = = 0,86
1− 3,64 3,64

1.6 (1 punto) Calcular el tiempo medio de respuesta de las peticiones que son atendidas por
el servidor B.

1,175 + #- 2,535
9 = = = = 1,864
· 1,36 1,36

2. PROBLEMA (3 puntos) Una empresa tiene un servidor que cuenta con 2 CPUS que pueden
atender cualquiera de las peticiones recibidas. Sin embargo, por construcción el sistema no cuenta
con cola de espera. Se sabe que el tiempo que tarda cada CPU en procesar las peticiones de los
clientes está distribuido de forma exponencial con media igual a 250ms. El servidor recibe tráfico
que sigue un proceso Poisson con una tasa de 10 peticiones por segundo.

2.1 (1 punto) Justificar el uso de un modelo de colas para analizar el sistema descrito.
4

SISTEMAS INFORMÁTICOS II

28 de junio de 2016
El sistema sería M/M/c/c con c = 2, ya que no tiene cola de espera, todos los tiempos están
distribuidos de forma exponencial y el número de servidores (CPUs) es igual a dos.

2.2 (1 punto) Calcular la probabilidad de que las dos CPUs estén ocupadas en un momento
arbitrario del tiempo.

Esta es la probabilidad de que en el sistema haya 2 clientes.

1:
10 : 1
= 0 2 = 0 2 = 0,151 · 3,125 = 0,472
:
1 2! 4 2
: 5"
1 =
= ;< 0 2 ? = 61 + 2.5 + 3,12575" = 0,151
1 '!
=>

2.3 (1 punto) Calcular el tiempo medio de respuesta del sistema.

Al no tener cola el sistema el tiempo medio de respuesta es igual al tiempo medio de servicio que
es 250ms.
5

SISTEMAS INFORMÁTICOS II

28 de junio de 2016

Formulario:
Modelo M/M/1 −1
 c −1 (λ µ )n  (λ µ )c 
p0 =  ∑ +
 
pn = (1 − ρ )( ρ )  n =0 n!  c!(1 − ρ ) 
n

ρ =λ µ pc
Pq = = Ec ( c, u )
ρ 1− ρ
L=
1− ρ Pq ρ
L= + cρ
FW ( t ) = 1 − e − ( µ − λ )t 1− ρ
Modelo M/M/c/c:
Modelo M/M/c:
n
λ 1
 ( λ µ) (0 ≤ n ≤ c)
n
pn = p0  
 p0 (n < c)  µ  n!
 n!
pn =  n −1
p c  λ 
c
 c  λ n 1 
 0 c !  cµ  (n ≥ c) p0 =  ∑   
    n =0  µ  n !
λ
ρ= Modelo M/G/1:

λ 2 E  S 2 
L= +ρ
2 (1 − ρ )
ρ =λ µ Modelo M/M/1/K:
n
λ
pn = p0   (0 ≤ n ≤ K )
µ
 1 − λ µ 
  (λ ≠ µ )
 1 − ( λ µ ) K +1 
p0 = 
 1
 (λ = µ )
 K +1
λ  1 − ( λ µ )K 
  K +1  (λ ≠ µ )
µ
ρ = 1 − ( λ µ ) 
 K
 (λ = µ )
 K +1
 λ µ 1 − ( K + 1)( λ µ )k + K ( λ µ ) K +1 
   (λ ≠ µ )
1− (λ µ )
K +1
1 − λ µ  
L=
 K
 (λ = µ )
 2

Modelo M/M/1//M
n n
M   λ  M! λ 
pn = p0   n !  = p0
 n  µ ( M − n ) !  µ 
−1
M M! λ  
n

p0 =  ∑   
 n = 0 ( M − n ) !  µ  

ρ = 1 − p0
λ' µ
L=M − =M − ρ
λ λ
Modelo M/M/c//M
  M  λ 
n

 p0    (0 ≤ n < c)
  n  µ 
pn =  n
  M  n!  λ 
 p0  n  c n −c c !  µ  (c ≤ n < M )
    
−1
 c −1  M   λ n M  M  n !  λ  n 
p0 =  ∑     + ∑   n −c   
 n = 0  n   µ  n =c  n  c c !  µ  
c −1
c−n
ρ = 1 − ∑ pn
n =0 c
λ' cµ
L=M − =M− ρ
λ λ
1

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Indica las dos situaciones que pueden darse al analizar los fallos en los
programas (software) y nombra dos modelos que se pueden utilizar para describir el ritmo de
descubrimiento de fallos.

1.2. (1.25 puntos). Describe cómo funciona el protocolo que puede ser utilizado para evitar que el
enrutador por defecto se convierta en un punto único de fallo en los servidores finales.
2

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
1.3. (1.25 puntos). Indica las diferencias entre la entrega de paquetes mediante “destination NAT”
y “retorno directo del servidor” (direct server return) en un balanceador de carga.

1.4. (1.25 puntos). Indica los tipos de copias remotas que son posibles en los servidores de disco
y las características de cada una.
1

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
2 (3.5) 3 (1.5) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2.- (3.5 puntos). Para ofrecer un determinado servicio, una empresa cuenta con N servidores de
aplicaciones y un servidor de disco que gestiona 4 discos idénticos de 2TB cada uno. Los servidores
de aplicaciones realizan operaciones que requieren escribir y leer de los discos a través del servidor
de disco. La empresa decide configurar los discos como un RAID-10.
2.1 (0.5 puntos) Dibujar el diagrama de disponibilidad del sistema teniendo en cuenta que es
necesario que al menos uno de los servidores de cada tipo esté operativo para poder prestar el
servicio.

Teniendo en cuenta que la configuración RAID-10 requiere que al menos uno de los discos de cada
configuración RAID-1 esté disponible, el diagrama de disponibilidad quedaría de la siguiente forma:

RAID-1 RAID-1
Srv app 1
Disco 1 Disco 3

Srv app 2 Srv disco

… Disco 2 Disco 4
Srv app N

RAID-0

2.2 (1.5 puntos) Se sabe que el tiempo medio hasta fallo de cada servidor de aplicaciones es de
8,000 horas, que el tiempo medio entre fallos del servidor de disco es 7,000 horas y que el tiempo
medio hasta fallo de cada uno de los discos es de 5,000 horas. La empresa encargada del
mantenimiento es capaz de reparar un servidor de aplicaciones dañado en 60 días, el servidor de
disco en 24 horas y un disco dañado en 72 h. Determinar el número de servidores de aplicaciones
que será necesario para garantizar una disponibilidad total del sistema del 99.50% e indicar los
puntos simples de fallo (SPOF) del mismo. Suponer que todos los fallos son independientes.
Expresar los resultados redondeando a 4 decimales.
2

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
Para cada servidor de aplicaciones disponemos de los siguientes datos:
MTTF=8000h
MTTR=60 días = 1440h
𝑀𝑇𝑇𝐹 8000
Por tanto, la disponibilidad de cada servidor de aplicaciones es: 𝐴𝑠𝑟𝑣𝐴 = 𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅 = 8000+1440 =
0.8475

Para el servidor de disco disponemos de los siguientes datos:


MTBF=7000h
MTTR=24h
𝑀𝑇𝐵𝐹−𝑀𝑇𝑇𝑅 7000−24
Por tanto, la disponibilidad del servidor de disco es: 𝐴𝑠𝑟𝑣𝐷 = 𝑀𝑇𝐵𝐹
= 7000
= 0.9966

Para cada disco disponemos de los siguientes datos:


MTTF=5000h
MTTR=72h
𝑀𝑇𝑇𝐹 5000
Por tanto, la disponibilidad de cada disco es: 𝐴𝑑𝑖𝑠𝑐𝑜 = = = 0.9858
𝑀𝑇𝑇𝐹+𝑀𝑇𝑇𝑅 5000+72

La disponibilidad total del sistema será por tanto:

𝐴 𝑇𝑂𝑇𝐴𝐿 = (1 − (1 − 𝐴𝑠𝑟𝑣𝐴 )𝑁 ) ∙ 𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 ) ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )


= (1 − (1 − 𝐴𝑠𝑟𝑣𝐴 )𝑁 ) ∙ 𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )2

Despejando N de la ecuación anterior:

𝐴 𝑇𝑂𝑇𝐴𝐿
(1 − (1 − 𝐴𝑠𝑟𝑣𝐴 )𝑁 ) =
𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )2

𝐴 𝑇𝑂𝑇𝐴𝐿
−(1 − 𝐴𝑠𝑟𝑣𝐴 )𝑁 = −1 +
𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )2

𝐴 𝑇𝑂𝑇𝐴𝐿
log10(1 − 𝐴𝑠𝑟𝑣𝐴 )𝑁 = log10 (1 − )
𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )2
𝐴 𝑇𝑂𝑇𝐴𝐿
log10 (1 − )
𝐴𝑠𝑟𝑣𝐷 ∙ (1 − (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )2 )2
𝑁=
log10 (1 − 𝐴𝑠𝑟𝑣𝐴 )
3

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
Sustituyendo:
0.9950
log10 (1 − ) −2.9198
0.9966 ∙ (1 − (1 − 0.9858)2 )2
𝑁= = = 3.575
log10(1 − 0.8475) −0.8167

Por tanto, para garantizar una disponibilidad total de al menos el 99.50%, es necesario tener 4
servidores de disco.

El SPOF de este sistema es el servidor de disco, ya que se dispone de varios servidores de


aplicaciones y los discos están dispuestos en RAID-10 lo que significa que son tolerantes a un fallo.

2.3 (0.5 puntos) Tras un tiempo en funcionamiento y tras un análisis detallado de los requisitos del
servicio, la empresa determina que necesitará 5TB de espacio de almacenamiento. ¿El diseño
actual del sistema es capaz de satisfacer este requisito? ¿Qué alternativa de diseño se podría
sugerir garantizando tolerancia a un fallo y sin la necesidad de adquirir nuevos discos?

El diseño actual no es capaz de satisfacer el requisito, ya que con la configuración en RAID-10, se


pueden guardar en este caso 4TB de datos (el 50% de la capacidad total). Una alternativa de diseño
con tolerancia a un fallo sería configurar los discos como RAID-5. RAID-0 no es una opción ya que
no ofrece tolerancia a fallo. En RAID-5 con 4 discos, se requiere un 25% de espacio para la paridad,
y, por tanto, se podrían guardar hasta 8*0.75=6TB.

2.4 (1 punto) Para la solución propuesta en el apartado 2.3, ¿se debería obtener una disponibilidad
total del sistema mayor o menor que la obtenida en el apartado 2.2? ¿Por qué? Calcular
justificadamente la disponibilidad total del sistema propuesto en 2.3. asumiendo que todos los fallos
son independientes. Expresar los resultados redondeando a 4 decimales.

Para la configuración de discos en RAID-5 (asumiendo 4 servidores de aplicaciones y 1 servidor


de disco), se debería tener una disponibilidad algo menor que para el apartado 2.2. RAID-5 con 4
discos es tolerante a un fallo, pero en ningún caso soporta el fallo de dos discos. Sin embargo,
RAID-10 es también tolerante a un fallo, y puede llegar a soportar dos fallos siempre y cuando se
produzcan en dos discos de diferente RAID-1.

La disponibilidad para el RAID-5 se puede calcular teniendo en cuenta que este RAID estará
disponible si funcionan todos los discos, o si funcionan al menos 3 de los 4 discos:

4
𝐴𝑅𝐴𝐼𝐷 = (𝐴𝑑𝑖𝑠𝑐𝑜 )4 + ( ) 𝐴𝑑𝑖𝑠𝑐𝑜 3 (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 ) = (𝐴𝑑𝑖𝑠𝑐𝑜 )4 + 4𝐴𝑑𝑖𝑠𝑐𝑜 3 (1 − 𝐴𝑑𝑖𝑠𝑐𝑜 )
3
= 4𝐴𝑑𝑖𝑠𝑐𝑜 3 − 3(𝐴𝑑𝑖𝑠𝑐𝑜 )4 = 𝐴𝑑𝑖𝑠𝑐𝑜 3 (4 − 3𝐴𝑑𝑖𝑠𝑐𝑜 )

La disponibilidad del RAID-5 teniendo en cuenta 𝐴𝑑𝑖𝑠𝑐𝑜 será: 𝐴𝑅𝐴𝐼𝐷 = 0.98583 (4 − 3 ∙ 0.9858 ) =
0.9988

La disponibilidad total del sistema vendrá dada por:


4

SISTEMAS INFORMÁTICOS II

28 de junio de 2016.
𝐴𝑇𝑂𝑇𝐴𝐿 = (1 − (1 − 𝐴𝑠𝑟𝑣𝐴 )4 ) ∙ 𝐴𝑠𝑟𝑣𝐷 ∙ 𝐴𝑅𝐴𝐼𝐷 = (1 − (1 − 0.8475)4 ) ∙ 0.9966 ∙ 0.9988 = 0.9949

Obsérvese que, efectivamente la disponibilidad total es inferior a la obtenida para RAID-10, donde
se sabe que la disponibilidad es superior al 99.50%.

3.1 (1 punto). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).

3.2 (0.5 puntos) Al detectarse un fallo en la conexión entre el switch 3 y el switch 5, indicar
justificadamente qué puertos cambiarían de estado tras el fallo.

Además de cambiar a AP los dos puertos correspondientes al enlace del switch 3 y el switch 5,
habría que reconfigurar el RP del switch 5, que pasaría a ser el puerto del enlace con el switch 4.
También se intercambia la asignación DP-AP en la conexión entre los switches 5 y 7 ya que, al
cambiar el RP del switch 5, se modifica el coste del camino mínimo a la raíz desde el switch 5,
siendo ahora su coste superior al coste del camino mínimo a la raíz desde el switch 7.
El resto de puertos permanecen inalterados puesto que ninguno se ve afectado por la modificación
del camino mínimo hasta la raíz del switch 5.
1

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

T1 (1) T2 (1) T3 (1) T4 (1) T5 (1) P2 (3) P3(2) Total (10)

Parte I
(33.33% de la nota del examen)

1.- TEORÍA (5 puntos). Contesta de modo claro y conciso a las siguientes cuestiones.
1. (1 punto) Explica en qué consisten los procedimientos de marshalling y unmarshalling.

2. (1 punto) Nombra los elementos principales que se encuentran en un fichero WSDL.


2

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

3. (1 punto) Nombra los elementos que componen el modelo de referencia de la “Object


Managment Architecture”.

4. (1 punto) Indica las principales ventajas de un “Enterprise Service Bus”.

5. (1 punto) Indica las componentes del estándar de directorios X.500 y los protocolos utilizados
para su inter-comunicación.
3

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.
2. PROBLEMA. Considerar los siguientes casos particulares de sistemas distribuidos:
1. Servicio de solicitud de comida a domicilio. Una empresa cuenta con una aplicación
móvil que permite realizar pedidos de comida a domicilio. Mediante dicha aplicación los
usuarios consultan el menú disponible en la sede central, incluyendo un catálogo de
bebidas, añaden platos al pedido, consultan posibles ofertas disponibles, así como los
puntos acumulados por los pedidos realizados (que facilitan bebida gratis, y otras
promociones similares). La empresa cuenta con un cortafuegos en su sede central, que se
encargará de filtrar el tráfico entrante. Además, debido a que el ancho de banda es limitado,
se desearía que los mensajes intercambiados fuesen relativamente pequeños. Los clientes
serán heterogéneos, y no tienen excesiva capacidad computacional al ser dispositivos
móviles.
2. Sistema de producción de documentos. Un documento en formato XML enviado por un
empleado pasa a través de varios nodos del sistema. En cada uno de estos nodos se
realizan ciertas tareas de procesamiento por parte de otros empleados, añadiendo,
eliminando y modificando partes del documento. En la empresa habrá documentos que
deberán ser procesados antes que otros. También habrá documentos no válidos que el
sistema deberá ignorar. El tiempo de procesamiento no es crítico, y de vez en cuando
algunos de los empleados que modifican el documento se dan de baja, por lo que no se
podría llevar a cabo esa parte del trabajo de producción hasta su vuelta. Cuando un
empleado manda un documento a otro nodo del sistema, se desearía que se pusiese a
trabajar en el siguiente documento lo antes posible.

(3 puntos – 1.5 puntos por escenario) Para cada uno de ellos se pide elegir razonadamente el
mecanismo de comunicación más adecuado entre los vistos en la parte de teoría de la asignatura
(UDP, TCP, RPC, WS-SOAP, WS-REST, CORBA, Java-RMI o Colas de Mensajes) e indicar si
sería necesario implementar algún mecanismo de traducción de datos adicional.

No se tendrán en cuenta respuestas sin justificación (cuantas más justificaciones, mayor la


puntuación).

1 – Al existir un cortafuegos que pueda filtrar el tráfico, nos quedaríamos con los dos mecanismos
que podrían pasar a través de él. Estos son WS-SOAP y WS-REST. De entre ellos preferiríamos
WS-REST frente a WS-SOAP, ya que el ancho de banda de la empresa es limitado y la capacidad
computacional de los clientes es reducida. Esto sería una desventaja para WS-SOAP pues los
mensajes en XML son costosos de procesar y consumen mucho ancho de banda. Con WS-REST
tendríamos libertad para fijar el formato de los datos y mensajes a intercambiar. Podríamos usar
JSON, que es más eficiente que XML. Si usamos JSON no habría que implementar ningún
mecanismo de traducción de datos adicional.

2 – En este caso la solución más interesante es colas de mensajes por las siguientes razones. El
formato de los datos es homogéneo (documentos en xml) y es un caso típico de workflow (ciclo de
trabajo). Los envíos no serían bloqueantes (interacción asíncrona), y los clientes podrían seguir
trabajando mientras se procesa el documento que han mandado. También se podrían filtrar
documentos y establecer prioridades. No habría problema tampoco debido a que alguno de los
nodos del sistema se cayese o un empleado se diese de baja. Los mensajes no se perderían y
quedarían almacenados en la cola correspondiente. Todos los demás mecanismos de
comunicación no permiten esto, por lo que los descartaríamos. Como se usa XML para representar
los datos, no habría que realizar ninguna traducción adicional.
4

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

3. PROBLEMA (2 puntos) Se quiere prestar un servicio que permita gestionar los productos de un
carrito de la compra de una tienda de venta online utilizando servicios web REST. Dicho servicio
podrá ser útil para consultar información de un usuario (nombre, apellidos, tipo de usuario –
particular, empresa–, dirección de envío, medio de pago), para consultar el histórico de pedidos
realizados por el usuario, para consultar y cancelar pedidos pendientes de un usuario, y para
gestionar pedidos recurrentes a nivel de usuario (por ejemplo, solicitar que cada 30 días se envíe
un determinado número de unidades de determinado producto). También podrán realizarse
consultas a nivel de producto para obtener información sobre el producto y el stock disponible.
Cada usuario se identifica por código numérico de 8 dígitos, cada pedido con un código numérico
de 4 cifras y cada producto por un código numérico de 6 cifras.

3.1. (1.25 puntos) Indicar de forma razonada una posible URI (Uniform Resource Identifier) y el
posible método HTTP (GET, POST, DELETE, PUT) a utilizar para ofrecer las siguientes funciones:

a) Actualizar la dirección de envío del usuario con identificador 31415926.

URI: http://www.mitiendaonline.es/usuarios/31415926

Método: POST

b) Indicar que el usuario 31415926 ha realizado un pedido con identificador 1234.

URI: http://www.mitiendaonline.es/usuarios/31415926/pedidos/1234

Método: PUT

c) Obtener la información del producto con identificador 777777.

URI: http://www.mitiendaonline.es/productos/777777

Método: GET

d) Obtener la lista de pedidos históricos del usuario 31415926.

URI: http://www.mitiendaonline.es/usuarios/31415926/pedidos/

Método: GET

e) Eliminar el pedido 7890 de la lista de pedidos pendientes del usuario 31415926.

URI: http://www.mitiendaonline.es/usuarios/31415926/pendientes/7890

Método: DELETE
5

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

3.2 (0.75 puntos) Dar un ejemplo razonado de una posible representación del usuario 31415926.

La representación podría tener cualquier formato, pero debería incluir sus datos personales y
enlaces las listas de préstamos y reservas. Elegimos XML.

<usuario>
<nombre> Sistemas Informáticos 2 </nombre>
<tipo> empresa </tipo>
<direccion> Escuela Politécnica Superior – UAM </dirección>
<pago>domiciliacion</pago>
<lista_pedidos> http://www.mitiendaonline.es/usuarios/31415926/pedidos/ </lista_pedidos>
<lista_pendientes> http://www.mitiendaonline.es/usuarios/31415926/pendientes/
</lista_pendientes>
<lista_recurrentes> http://www.mitiendaonline.es/usuarios/31415926/recurrentes/
</lista_recurrentes>
</usuario>
1

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

1 (7) 2 (3) Total Parte II (10)

PARTE II
(33,33% de la nota del examen)

1. PROBLEMA (7 puntos). El call center automático de una empresa de telefonía móvil presta un
servicio a sus usuarios. Las peticiones de los usuarios son recibidas inicialmente por una centralita
(sistema A) que en base a la elección del usuario redirige la petición al sistema correspondiente.
La centralita del call center recibe en promedio 15 peticiones a la hora y tiene un tiempo medio de
procesado de las peticiones de 3 minutos. Se estima que el 15% de las peticiones recibidas por la
centralita son para la modificación de datos personales del cliente, el 25% de las peticiones son
para solicitar información sobre algún producto o promoción, y el 60% de las peticiones son para
grabar alguna reclamación. Las peticiones para modificar los datos personales son atendidas por
un sistema B, que tarda en promedio 12 minutos en atender cada petición. Se estima que el 50%
de las peticiones que son atendidas por el sistema B abandonan el sistema antes de esperar a la
encuesta de satisfacción, mientras que el 5% de las peticiones atendidas por B requieren volver a
pasar por el sistema B, el 20% de las peticiones atendidas por B requieren de información sobre
productos (sistema C), y el 25% de las peticiones restantes pasan al sistema de encuestas de
satisfacción (sistema E). El sistema C encargado de atender las peticiones de solicitud de
información tarda en promedio 7.5 minutos en procesar una petición. El 80% de las peticiones
procesadas por el sistema C abandonan el sistema antes de realizar la encuesta de satisfacción,
mientras que el 20% restante realiza dicha encuesta (sistema E). El sistema D encargado de grabar
las reclamaciones manifestadas por los clientes tarda en promedio 5 minutos en atender cada
petición. Una vez procesadas por el sistema D, el 10% de las peticiones abandonan el sistema antes
de realizar la encuesta de satisfacción y el 90% restante realizan la encuesta (sistema E).
Finalmente, el sistema E encargado de obtener la valoración de los clientes sobre el servicio
prestado, tarda en promedio 4 minutos en procesar cada petición. Todas las peticiones que pasan
por el sistema E salen del call center una vez atendidas.
Suponer que todos los tiempos de servicio están distribuidos de forma exponencial y que los
sistemas tienen cola de espera de tamaño infinito.

Redondear los resultados a 4 posiciones decimales.

1.1 (1 punto) Dibujar el diagrama de proceso del sistema completo, y expresar (no calcular)
las tasas efectivas de llegada a la entrada de cada servidor, indicando las suposiciones
realizadas y teoremas empleados. Dar una explicación razonada de qué modelo, según la
notación de Kendall, será aplicable a cada una de sus componentes.
2

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

Las tasas de llegadas a la entrada de cada servidor se pueden obtener al suponer que los sistemas
se encuentran en estado estacionario y, por tanto, en cada uno de los sistemas se tendrá a la salida
la misma tasa que a la entrada. Entonces:

 La centralita recibe una tasa de llegadas de Poisson y su tiempo de servicio es exponencial,


por tanto, se puede modelar con un modelo M/M/1. Además, de acuerdo al Teroema de
Burke, la salida del distribuidor sabemos que sigue un proceso de Poisson de tasa 𝜆𝐴 .
 El sistema B (cambio de datos personal) recibe el 15% de la tasa de salida de la centralita y
tiene retroalimentación, por lo que la entrada neta al sistema B, 𝜆𝐵 , no es necesariamente
de Poisson. No obstante, se puede utilizar el Teorema de Jackson para modelar el número
medio de clientes en el sistema de acuerdo a un M/M/1.
 La tasa de entrada al sistema C (solicitud de información), 𝜆𝐶 , es el 25% de la tasa de salida
de la centralita y el 20% de la salida del sistema B (no necesariamente de Poisson). Por
tanto, la entrada neta al sistema C, 𝜆𝐶 , no es necesariamente de Poisson. No obstante, se
puede utilizar el Teorema de Jackson para modelar el número medio de clientes en el
sistema de acuerdo a un M/M/1.
 La tasa de entrada al sistema D (reclamaciones), 𝜆𝐷 , es el 60% de la tasa de salida de la
centralita que, por el Teorema de Burke es de Poisson. Al tratarse por tanto de una
bifurcación aleatoria de un proceso de Poisson, la entrada neta a sistema D, 𝜆𝐷 , es también
de Poisson y el sistema es un modelo M/M/1.
 La tasa de entrada al sistema E (encuestas), 𝜆𝐸 , es la suma de los porcentajes de salida
correspondientes de los sistemas B, C y D. Las salidas de estos sistemas no son todas de
Poisson y, por tanto, tampoco lo es la entrada al sistema E. Aunque la entrada neta Sist4ema
E no es de Poisson, se puede modelar este subsistema de acuerdo al modelo M/M/1 gracias
a Teorema de Jackson.

Para determinar los modelos a utilizar en cada subsistema, se ha tenido en cuenta que todos los
tiempos de servicio se encuentran distribuidos exponencialmente, que las colas se pueden suponer
de tamaño infinito y que existe un número muy grande de clientes, de modo que el número de
peticiones pendientes de servicio no afecta al ritmo de llegada de nuevas peticiones. Además, como
la probabilidad de salir del sistema es mayor que cero, los tiempos están distribuidos de forma
3

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

exponencial y las colas tienen tamaño infinito, podemos usar el teorema e Jackson y ver el sistema
como una red de colas abierta.

1.2 (1.75 puntos) Calcular la tasa de llegadas efectiva a la entrada de cada servidor y la tasa
de servicio de cada servidor.

Al estar en estado estacionario los sistemas a la salida tendrán la misma tasa que a la entrada, por
lo que se ha de cumplir que:

 Tasa de llegadas efectiva a la entrada de la centralita: 𝜆 = 𝜆𝐴 = 15 ℎ−1.


 Tasa de llegadas efectiva al sistema B (cambio de datos personales): 𝜆𝐵 = 0.15 𝜆𝐴 +
0.15
0.05 𝜆𝐵 ⇒ 𝜆𝐵 = 0.95 𝜆𝐴 = 2.3684 ℎ−1
 Tasa de llegadas efectiva a la entrada del sistema C (solicitud de información): 𝜆𝐶 =
0.25 𝜆𝐴 + 0.2 𝜆𝐵 = 0.25 ∙ 15 + 0.2 ∙ 2.3684 = 4.2237 ℎ−1.
 Tasa de llegadas efectiva a la entrada del sistema D (reclamación): 𝜆𝐷 = 0.6 𝜆𝐴 = 0.6 ∙ 15 =
9 ℎ−1.
 Tasa de llegadas efectiva a la entrada del sistema E (encuestas de calidad de servicio): 𝜆𝐸 =
0.25 𝜆𝐵 + 0.2 𝜆𝐶 + 0.9 𝜆𝐷 = 9.5368 ℎ−1 .

Las tasas de servicio son:

60 𝑚𝑖𝑛/ℎ
𝜇𝐴 = = 20 ℎ−1
3 𝑚𝑖𝑛
60 𝑚𝑖𝑛/ℎ
𝜇𝐵 = = 5 ℎ−1
12 𝑚𝑖𝑛
60 𝑚𝑖𝑛/ℎ
𝜇𝐶 = = 8 ℎ−1
7.5 𝑚𝑖𝑛
60 𝑚𝑖𝑛/ℎ
𝜇𝐷 = = 12 ℎ−1
5 𝑚𝑖𝑛
60 𝑚𝑖𝑛/ℎ
𝜇𝐸 = = 15 ℎ−1
4 𝑚𝑖𝑛

Observar que en todos los casos 𝜆⁄𝜇 < 1, y, por tanto, el sistema se encuentra efectivamente en
estado estacionario.

1.3 (1.75 puntos) Calcular el número medio de peticiones en cola en el sistema total.

El nº medio de peticiones en cola en el sistema será la suma del nº medio de peticiones en cola en
cada servidor. Empleando el teorema de Jackson estos números vendrán dados por las fórmulas
del modelo M/M/1.
En general, en número medio de peticiones en cola del modelo M/M/1 puede calcularse como:
4

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

𝜌 𝜌2
𝐿𝑞 = 𝐿 − 𝜌 = −𝜌=
1−𝜌 1−𝜌
Los factores de utilización de cada servidor son:

𝜆𝐴
𝜌𝐴 = = 0.75
𝜇𝐴
𝜆𝐵
𝜌𝐵 = = 0.4737
𝜇𝐵
𝜆𝐶
𝜌𝐶 = = 0.5280
𝜇𝐶
𝜆𝐷
𝜌𝐷 = = 0.75
𝜇𝐷
𝜆𝐸
𝜌𝐸 = = 0.6358
𝜇𝐸

Y, por tanto, el número medio de clientes en cola en cada sistema es:


𝑞
𝐿𝐴 = 2.25 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐵 = 0.4264 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠

𝑞
𝐿𝐶 = 0.5906 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐷 = 2.25 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐸 = 1.110 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠

El número medio de peticiones en cola será entonces:


𝑞 𝑞 𝑞 𝑞 𝑞
𝐿𝑞 = 𝐿𝐴 + 𝐿𝐵 + 𝐿𝐶 + 𝐿𝐷 + 𝐿𝐸 = 6.627 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠

1.4 (1 punto) Calcular justificadamente la latencia de todo el sistema.

Calculamos el número total de clientes en todo el sistema y aplicamos Little. Para ello, podemos
utilizar que en el modelo M/M/1 se verifica: 𝐿 = 𝐿𝑞 + 𝜌
𝑞
𝐿𝐴 = 𝐿𝐴 + 𝜌𝐴 = 3 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐵 = 𝐿𝐵 + 𝜌𝐵 = 0.9001 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐶 = 𝐿𝐶 + 𝜌𝐶 = 1.1186 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝑞
𝐿𝐷 = 𝐿𝐷 + 𝜌𝐷 = 3 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠
5

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

𝑞
𝐿𝐸 = 𝐿𝐸 + 𝜌𝐸 = 1.7458 𝑝𝑒𝑡𝑖𝑐𝑖𝑜𝑛𝑒𝑠

𝐿 𝑇 ∑ 𝐿𝑖 9.7645
𝑊𝑇 = = = = 0.6510 ℎ
𝜆 𝜆 15

1.5 (1.5 puntos) Calcular justificadamente el tiempo medio de respuesta de las peticiones que
NO son para modificar datos personales y realizan encuesta de satisfacción.

El tiempo medio de respuesta viene dado por:

0.25 ∙ 0.2 0.6 ∙ 0.9


𝑊 = 𝑊𝐴 + 𝑊𝐶 + 𝑊 + 𝑊𝐸
0.25 ∙ 0.2 + 0.6 ∙ 0.9 0.25 ∙ 0.2 + 0.6 ∙ 0.9 𝐷

Aplicando el Teorema de Little sobre cada subsistema A, C, D y E, obtenemos los tiempos medios
de estancia en cada:

𝐿𝐴 3
𝑊𝐴 = = = 0.25 ℎ
𝜆𝐴 15

𝐿𝐶 1.1186
𝑊𝐶 = = = 0.2648 ℎ
𝜆𝐶 4.2237

𝐿𝐷 3
𝑊𝐷 = = = 0.3333 ℎ
𝜆𝐷 9

𝐿𝐸 1.7458
𝑊𝐸 = = = 0.1831 ℎ
𝜆𝐸 9.5368

Por tanto, el tiempo medio de estancia en el sistema de las peticiones que no requieren grabar una
reclamación es:

0.25 ∙ 0.2 0.6 ∙ 0.9


𝑊 = 0.25 + 0.2648 + 0.3333 + 0.1831 = 𝟎. 𝟕𝟔𝟎𝟔 𝒉
0.25 ∙ 0.2 + 0.6 ∙ 0.9 0.25 ∙ 0.2 + 0.6 ∙ 0.9

2. PROBLEMA (3 puntos) Una empresa tiene un servidor que recibe tráfico siguiendo un proceso
Poisson con una tasa de 10 peticiones por segundo. El tiempo de proceso del servidor está
distribuido de forma exponencial y tiene una media de duración de 62.5ms. El servidor tiene una
cola de espera que se puede considerar infinito.

Redondear los resultados a 4 posiciones decimales.


6

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

2.1 (0.25 puntos) Justificar razonadamente un modelo de colas válido para describir el
escenario planteado. No se considerarán respuestas sin razonar.

Se trata de un sistema M/M/1 debido a que:


 El tiempo de servicio está distribuido de forma exponencial.
 Solo hay un servidor.
 El tiempo entre llegadas está distribuido de forma exponencial.
 El tamaño de la cola se puede considerar infinito.

2.2 (1 punto) Calcular la probabilidad de que en la cola de espera haya 7 ó más peticiones.

Esta será la probabilidad de que en el sistema haya 8 peticiones o más (7 en la cola y una en el
servidor).

𝜆 10
⍴= = = 0.625
µ 16
∞ ∞

𝑃𝑟𝑜𝑏 = ∑ 𝑝𝑛 = ∑(1 − 𝜌)𝜌𝑛 = ⍴8 = (0.625)8 = 0.0233


𝑛=8 𝑛=8

2.3 (1 punto) Calcular el tiempo máximo de estancia en el sistema que satisfacen el 75% de
las peticiones con menor latencia.

Como sabemos que la distribución del tiempo de estancia en el sistema es exponencial, con
parámetro, µ − 𝜆, tenemos que:

ln(1 − 𝑝) ln(1 − 0.75)


p = P(T ≤ t) = 1 − exp(−(µ − 𝜆) · 𝑡) ⇒ t = = = 0.2310 𝑠
−(𝜇 − 𝜆) −(16 − 10)

Por tanto, el tiempo mínimo de estancia en el sistema que satisfacen el 75% de las peticiones es de
0.2310 s.

2.4 (0.75 puntos) Tras la puesta en marcha del sistema, se añade el requisito de que a lo sumo
el 20% de las peticiones esperen en cola. ¿Verifica el sistema actual el requisito?¿por qué?
En caso negativo, proponer justificadamente posibles soluciones.

La probabilidad de que una petición tenga que esperar en cola en el modelo M/M/1 es la probabilidad
de que en el sistema haya más de una petición. Por tanto:

𝑃𝑞 = 𝑃(𝑁 > 1) = 1 − 𝑝0 − 𝑝1 = 1 − (1 − 𝜌) − (1 − 𝜌)𝜌 = 𝜌2 = (0.625)2 = 0.3906

Por tanto, el 39.06% de las peticiones tendrá que esperar en cola y no se satisface el requisito,

Como posibles soluciones podría ponerse un servidor más potente (incrementar μ) o poner varios
servidores en paralelo (modelo M/M/c).
Formulario:
Modelo M/M/1 Modelo M/M/1/K:

pn  1     
n n

pn  p0   0  n  K 
   
  1   
L
1 
 
1    K 1 
   
p0  
FW t   1 et  1

 K 1
   
Modelo M/M/c:
   1     K 
    n
     
K 1 
 p0  n  c     1    
 n!
pn    K
p c       
c n

 n  c 
 0 c!  c   K 1

   1  K 1   k  K   K 1 
       
 1         K 1
c L 1 
 K
 c1   n    c 
1
    
p0       2
 n0 n!  c!1   

Modelo M/M/1//M
pc
 Ec c, u  M     M!   
n n
Pq 
1  pn  p0   n!   p0
 n    M  n!  
Pq 
L  c  M M !   n 
1
1  p0    
Modelo M/M/c/c:  n0  M  n!   

 1
n
 1 p0
pn  p0   0  n  c
   n! ' 
LM M 
1  
 c   n 1 
p0     Modelo M/M/c//M
 n0    n!   M   
n

 p0    0  n  c
 n   
Modelo M/G/1:

2 E S 2  pn  
  M  n!   
n
L  c  n  M 
21    p0  n  cncc!   
    
    c1  M    n M  M  n!   n 
1

p0         nc   
 n0  n     nc  n  c c!   
c1
cn
  1  pn
n0 c
' c
LM M 
 
1

SISTEMAS INFORMÁTICOS II

30 de junio de 2017
1.1 (1.25) 1.2 (1.25) 1.3 (1.25) 1.4 (1.25) Total Parte III Teoria (5)

PARTE III
(33,33% de la nota del examen)

TEORÍA
1.- (5 puntos). Resuelve de modo claro y conciso las siguientes cuestiones:
1.1. (1.25 puntos). Dibuja la forma típica de la función tasa de fallo en equipos físicos y distingue
las distintas zonas que se observan.

Diapositiva 11 – Tema 3

1.2. (1.25 puntos). Virtual Router Redundancy Protocolo (VRRP). Explica para qué se utiliza y
completa las siguientes imágenes (VIP, VMAC, Default Gateway y ARP table) para una situación
inicial en la que los dos routers están operativos y una situación en la que falla el Router 1. Indica
en la imagen la situación de cada router activo/pasivo/stand-by. Dar preferencia a las prioridades
altas.

Diapositivas 45 y 46 – Tema 3
2

SISTEMAS INFORMÁTICOS II

30 de junio de 2017

1.3. (1.25 puntos). Redundant Array of Independent Disks. Tipos y características.

Diapositiva 66 – Tema 3

1.4. (1.25 puntos). Explica brevemente las reglas básicas de diseño de arquitecturas tolerantes a
desastres.

Diapositiva 85 – Tema 3
1

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.
2 (3.75) 3 (1.25) Total Parte III Problemas (5)

PARTE III
(33,33% de la nota del examen)

PROBLEMAS
2. PROBLEMA (3.75 puntos). El centro de procesamiento de datos de una empresa cuenta con
un servidor de correo electrónico que usan sus empleados para el envío del correo interno, y con
un servidor web de alto tráfico (main frame) que recibe peticiones de clientes desde una red IP
externa. Cada servidor (de correo electrónico y web) tiene dos discos duros colocados en Raid 1
(Mirroring). Se ha considerado que el servicio de correo es crítico para la empresa, por lo que se ha
decidido duplicar este servidor adquiriendo uno adicional con las mismas características,
incluyendo los discos duros colocados en Raid 1. Este nuevo servidor se ha colocado de forma
redundante, en una configuración de alta disponibilidad, con el servidor de correo que ya tenía la
empresa.

2.1 (0.5 puntos) Dibujar el diagrama de disponibilidad del sistema total teniendo en cuenta que es
necesario que al menos uno de los servidores de cada tipo esté operativo para poder prestar el
servicio. Además, se considera que para que un servidor esté operativo éste debe funcionar
correctamente (el equipo), así como el espacio de almacenamiento de disco que se encuentra en
él.

A_disco

A_eq_correo

A_disco
A_disco

A_eq_web

A_disco

A_disco

A_eq_correo

A_disco

2.2 (1 punto) Suponer fallos independientes. Se considera que el tiempo medio hasta el fallo de un
servidor de correo electrónico es de 800h, y que el tiempo medio hasta el fallo del servidor web de
1000h. Por otro lado se ha estimado que cada disco tiene un tiempo medio hasta el fallo de 500h.
Suponer que tiene contratado un servicio de mantenimiento que garantiza la reparación de cualquier
equipo en un tiempo medio de 48h y de cualquier disco duro en 24h. Se pide calcular
2

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.
justificadamente la disponibilidad total del sistema. Expresar los resultados redondeando a 4
decimales.

= 1− 1− · = 1 − 1 − 0.9414 · 0.9522 = 0.9489


= · 1− 1− ! = 0.9434 · 1 − 1 − 0.9542 = 0.9414
= _ · 1− 1− ! = 0.9542 · 1 − 1 − 0.9542 = 0.9522
800
= = 0.9434
800 + 48
1000
% &
= = 0.9542
1000 + 48
500
! = = 0.9542
500 + 24

2.4 (0.5 puntos) Indicar los puntos simples de fallo de la anterior configuración (Single point of
failure, SPOF), en caso de que los haya.

Un punto simple de fallo es el equipo del servidor web, ya que esta componente no está replicada.

2.3 (0.5 puntos) Suponiendo que el tiempo medio hasta el fallo de un disco está distribuido de forma
exponencial, se pide dibujar la función tasa de fallos correspondiente a esa componente.

Como el tiempo de vida está distribuido de forma exponencial, la función tasa de fallos es constante
e igual a 1 / MTTF = 1 / 500.

2.5 (1.25 puntos) Considerar la descripción del apartado 2. La empresa cuenta con 2 conmutadores
que son capaces de operar a nivel 2 y nivel 3 (enlace y red), y con dos conmutadores que son solo
capaces de operar a nivel 2 (enlace). Cada servidor tiene enlaces Ethernet redundantes (dual-
homed servers). Se pide dibujar una topología LAN redundante (configuración física, no lógica) para
interconectar los distintos servidores de la empresa y dar acceso a una red IP externa. Utilizar para
representar los conmutadores los símbolos de CISCO vistos en el tema 3 de la asignatura. Para
interconectar los conmutadores del mismo tipo se usarán enlaces Etherchannel. Indicar con líneas
discontinuas las conexiones redundantes de los servidores a los conmutadores. Representar en el
dibujo la red IP externa como una nube.
3

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

Red IP

Servidores de correo
Servidor web

3. PROBLEMA (1.25 puntos).


3.1 (0.75 puntos). Determinar el conmutador raíz y el estado de cada uno de los puertos de los
conmutadores como puerto raíz (RP), puerto designado (DP) o puerto alternativo (AP) tras aplicar
el RSTP para eliminar los bucles de la red mostrada más abajo. El identificador asignado a cada
conmutador aparece marcado con un número a su lado (menor identificador es mayor prioridad).

Solución: El conmutador raíz es el que tiene menor ID. Es por tanto el 1.


4

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

ID:1 DP 19 AP ID:2 DP 1 RP ID:3

DP RP AP
4 4 4

ID:4 RP 1 ID:5 DP 4 DP ID:6

DP RP DP RP
DP DP DP
19 1 19

ID:7 AP 4 ID: 8 RP 4 ID: 9 AP

RP DP DP RP

3.2 (0.5 puntos) Indicar los cambios producidos al detectarse un fallo en el enlace que une los
conmutadores con ID:5 e ID:8.

ID:1 DP 19 AP ID:2 DP 1 RP ID:3

DP RP AP
4 4 4

ID:4 RP 1 ID:5 DP 4 DP ID:6

DP RP DP RP
DP AP DP
19 19

ID:7 RP 4 ID: 8 AP 4 ID: 9 RP

DP RP DP AP
5

SISTEMAS INFORMÁTICOS II

30 de junio de 2017.

También podría gustarte