Sistemas Distribuidos: Ejercicio del tema arquitectura de los sistemas distribuidos

Septiembre del 2014.


Una nueva empresa, denominada TeLoContamos, se va a dedicar a la retransmisión en directo de todo tipo de espectáculos basándose en la información generada en tiempo real por los reporteros de la empresa destinados a cada espectáculo. Los usuarios que contraten este servicio dispondrán de una aplicación (U) que instalarán en sus equipos. Esta aplicación permitirá a un usuario seleccionar (operación OPU1) cualquiera de los espectáculos que se estén retransmitiendo en ese momento (puede tener seleccionados varios simultáneamente), recibiendo a partir de entonces toda la información generada por los reporteros que cubren el mismo, hasta que el usuario indique que ya no está interesado en él (OPU2). Para realizar las retransmisiones, cada reportero de la empresa tendrá instalada en su dispositivo portátil una aplicación (R) que le permitirá iniciar la retransmisión (OPR1) de un determinado espectáculo, enviar comentarios sobre el mismo (OPR2) y terminar esa retransmisión (OPR3), pudiendo estar cubriendo un mismo reportero varios espectáculos simultáneamente. Por otro lado, dado que puede haber varios reporteros cubriendo un mismo espectáculo, para que esta retransmisión simultánea sea coherente y la información generada por los reporteros se complemente, cuando un reportero seleccione el inicio de la retransmisión de un determinado espectáculo (OPR1), comenzará a recibir también la información generada por los otros reporteros que cubren dicho espectáculo, y esto seguirá hasta que el reportero indique que ha finalizado su retransmisión (OPR3). Por último, en la sede de la empresa estará instalado el software (E) requerido para proporcionar esta funcionalidad. A la hora de desarrollar esta aplicación distribuida se barajan dos posibles arquitecturas. Como primera opción, una arquitectura editor/subscriptor basada en temas, donde cada espectáculo es un tema, pudiéndose optar por un esquema push (ESH) o pull (ESL). Como alternativa, se plantea un esquema cliente/servidor donde E actúa como servidor (no puede iniciar peticiones de conexión; sólo las acepta), mientras que U y R actúan como clientes (realizan peticiones de conexión usando una conexión por cada operación; no aceptan peticiones de conexión), distinguiéndose entre un esquema con estado (CSE) y uno sin estado (CSS).
  1. ¿Qué módulo realiza el papel de subscriptor?
    1. U y R
    2. U
    3. R
    4. E
Explicación
Tanto U, cuando un usuario selecciona un espectáculo, como R, cuando un reportero inicia una transmisión, están interesados en ser notificados de los comentarios pertinentes en cada caso. Por tanto, desempeñan el papel de subscriptores.
  1. ¿Qué módulo realiza el papel de editor?
    1. R
    2. U y R
    3. U
    4. E
Explicación
El módulo R realiza el papel de editor publicando los comentarios del reportero que lo usa.
  1. ¿Qué módulo realiza el papel de proceso intermediario?
    1. E
    2. U y R
    3. U
    4. R
Explicación
El módulo E instalado en la empresa incluye la funcionalidad de la distribución de los comentarios que recibe a los subscriptores interesados en los mismos. Por tanto, realiza el papel de intermediario.
  1. ¿Qué solución proporciona al usuario mayor inmediatez en la visibilidad de la información retransmitida?
    1. ESH
    2. ESL
    3. CSE
    4. CSS
Explicación
La solución ESH proporciona mayor inmediatez, puesto que en la misma el módulo E envía inmediatamente los comentarios a los interesados, mientras que tanto en ESL como en las soluciones cliente-servidor, el interesado debe realizar una consulta periódica a E para obtener los eventos.
  1. ¿Qué solución no requiere almacenar en E los comentarios que generan los reporteros?
    1. ESH
    2. ESL
    3. CSE
    4. CSS
Explicación
En ESH, al retransmitir E inmediatemente los comentarios, no es necesario que los almacene. En cambio, en las otras tres soluciones sí se requiere puesto que hay que guardarlos hasta que los interesados los soliciten.
  1. ¿Para qué solución tendría menos sentido proporcionar en la aplicación U un botón para actualizar la información de las retransmisiones presentada hasta el momento?
    1. ESH
    2. ESL
    3. CSE
    4. CSS
Explicación
En las soluciones basadas en un sondeo periódico, puede ser conveniente incluir en U un botón de actualización para forzar una consulta inmediata sin esperar a que se cumpla el periodo de sondeo. Dada la inmediatez del ESH, no se requiere esta funcionalidad.
  1. ¿Qué solución tendría mayor tolerancia de fallos ante el reinicio de E, de manera que, aunque se pueda perder algún comentario, los usuarios puedan recuperar inmediatamente el servicio?
    1. CSS
    2. ESL
    3. ESH
    4. CSE
Explicación
En las soluciones editor/subscriptor, el reinicio de E, que actúa de proceso intermediario en este caso, dejaría sin servicio a los usuarios actuales puesto que se habrá perdido toda la información de subscripción. En el caso de CSE, tampoco podría reanudarse inmediatemente el servicio, ya que E guarda información de estado de los usuarios (como, por ejemplo, cuál fue el último evento recogido por un proceso interesado en un determinado espectáculo). Sin embargo, la solución CSS no requiere ninguna información de estado en el servidor usando para ello peticiones auto-contenidas (en el ejemplo, la información sobre el último evento recibido por un cliente viajaría en la propia petición) lo que permite que continúe inmediatamente el servicio a los clientes después de un reinicio de E.
  1. ¿En la solución editor/subscriptor, qué acción implica OPU1 en U?
    1. subscripción
    2. baja
    3. publicación
    4. notificación
Explicación
La subscripción al espectáculo seleccionado por el usuario de U.
  1. ¿En la solución editor/subscriptor, qué acción implica OPU2 en U?
    1. baja
    2. subscripción
    3. publicación
    4. notificación
Explicación
La baja de la subscripción previa al espectáculo seleccionado por el usuario de U.
  1. ¿En la solución editor/subscriptor, qué acción implica OPR1 en R?
    1. subscripción
    2. baja
    3. publicación
    4. notificación
Explicación
Dado que cuando un reportero inicia una retransmisión de un determinado espectáculo debe ser notificado de los comentarios que realizan los reporteros que también lo retransmiten, OPR1 causará la subscripción a dicho espectáculo.
  1. ¿En la solución editor/subscriptor, qué acción implica OPR2 en R?
    1. publicación
    2. baja
    3. subscripción
    4. notificación
Explicación
OPR2 envía el comentario escrito por el reportero, por lo que se trata de una acción de publicar en un modelo editor-subscriptor.
  1. ¿En la solución editor/subscriptor, qué acción implica OPR3 en R?
    1. baja
    2. subscripción
    3. publicación
    4. notificación
Explicación
Al finalizar una retransmisión de un espectáculo, se dará de baja de la subscripción del mismo.
  1. ¿En qué solución OPU2 no requeriría contactar con E?
    1. CSS
    2. ESL
    3. ESH
    4. CSE
Explicación
En las soluciones editor/subscriptor, OPU2 contacta con E para darse de baja del tema. En CSE, en esta operación, U contacta con E para indicarle que ha terminado el seguimiento de ese espectáculo, lo que permitiría que E libere el estado almacenado asociado al mismo. Sin embargo, en CSS, dado que no hay ningún estado asociado al cliente almacenado en el servidor, no es necesario que contacte con el mismo.
  1. Evidentemente, el servicio debe garantizar que un usuario no reciba repetido ningún comentario. ¿En qué solución esto requeriría que U almacenara, e incluyera en los mensajes correspondientes, la marca de tiempo del último evento recibido de cada espectáculo seleccionado?
    1. CSS
    2. ESL
    3. ESH
    4. CSE
Explicación
Los esquemas editor/subscriptor garantizan que no se duplican eventos, por lo que no es necesario que los subscriptores almacenen ningún tipo de información. En CSE, el estado que almacena el servidor le permite saber cuál es el último evento que ha recogido un cliente. Sin embargo, en CSS, al no disponer de ninguna información de estado de los clientes, es necesario que éstos almacenen esta información y la envíen en sus mensajes de petición.
  1. ¿De qué proceso necesitan conocer a priori su puerto el resto de los procesos en la solución cliente/servidor?
    1. Sólo de E
    2. De U y de R
    3. Sólo de U
    4. Sólo de R
Explicación
En un esquema cliente/servidor, la única dirección que debe ser conocida a priori es la del servidor.
  1. ¿De qué proceso necesitan conocer a priori su puerto el resto de los procesos en la solución editor/subscriptor?
    1. Sólo de E
    2. De U y de R
    3. Sólo de U
    4. Sólo de R
Explicación
En un esquema editor/subscriptor, la única dirección que debe ser conocida a priori es la del proceso intermediario.
  1. Suponiendo que se usa un esquema de leasing para mejorar la tolerancia a fallos de la solución editor/subscriptor, ¿qué proceso otorgará el lease?
    1. E
    2. U y R
    3. U
    4. R
Explicación
Cuando se aplica un mecanismo de leasing en un esquema editor-subscriptor, es el proceso intermediario el encargado de otorgar los leases siendo los subscriptores los que lo renuevan.
  1. Suponiendo que se usa un esquema de leasing para mejorar la tolerancia a fallos de la solución cliente/servidor con estado, ¿qué proceso otorgará el lease?
    1. E
    2. U y R
    3. U
    4. R
Explicación
Cuando se aplica un mecanismo de leasing en un esquema cliente-servidor con estado, es el proceso servidor el encargado de otorgar los leases siendo los clientes los que lo renuevan.
  1. Para la solución editor/subscriptor, se plantea usar un esquema con un filtro de eventos por contenido en vez de un filtro por temas. ¿Para cuál de estos casos ese cambio sería más ventajoso en el sentido de reducir el número de notificaciones no deseadas?
    1. Interés en todas las retransmisiones de un determinado reportero.
    2. Interés en todas las retransmisiones.
    3. Interés en un cierto espectáculo pero sólo en los comentarios de un determinado grupo de reporteros.
    4. Interés en un cierto conjunto de espectáctulos pero sólo en los comentarios de un determinado reportero.
Explicación
Veamos cada caso planteado analizando, en primer lugar, si el uso de un filtro por contenido tendría alguna ventaja en ese caso y, si hay varios en los que sí, en qué caso sería más efectivo (es decir, descartaría más eventos no deseados).
  1. Suponga que se crea para la solución editor/subscriptor con esquema push una jerarquía de temas (por ejemplo, para expresar el interés en todos los partidos de tenis del torneo de Wimbledon que se estén retransmitiendo en ese instante se usaría deportes/tenis/wimbledon/*). ¿Podría aumentar o diminuir el número de operaciones de subscripción (S) y el de notificaciones (N) si se usa el esquema jerárquico en vez de uno plano?
    1. Menos S
    2. Más S
    3. Menos N
    4. Más N
Explicación
El uso de un tema de más alto nivel en la subscripción va a permitir poder usar una única operación de subscripción en vez de tener que suscribirse a cada uno de los temas de nivel inferior incluidos en el mismo. Por tanto, se va a reducir el número de mensajes requeridos para esta operación de subscripción. Por otro lado, ya sea usando una subscripción de alto nivel o las de bajo nivel equivalentes, el número de notificaciones será el mismo.