Está en la página 1de 16

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

También podría gustarte