Sistemas Distribuidos: Ejercicio del tema arquitectura de los sistemas distribuidos

Febrero del 2019.

Grupo de mañana.

Considere un sistema distribuido que usa un esquema de binding global (proceso B, que ejecuta en una máquina con dirección Db usando el puerto Pb) que permite dar a conocer a los clientes (procesos C) qué servidores (procesos S) ofrecen cada servicio en el sistema, pudiendo haber en un momento dado múltiples servidores proporcionando un determinado servicio. Este componente va a mantener su modo de operación habitual, pero se va a complementar con otro proceso (R, independiente de B, no habiendo ninguna interacción directa entre ambos procesos) que, mediante un esquema editor/subscriptor (E/S) basado en temas donde R actúa únicamente como proceso intermediario, permite a los clientes interesados hacer un seguimiento de cómo evoluciona la oferta de un servicio en el sentido de ir conociendo dinámicamente cuándo se incorpora un nuevo servidor para proveer ese servicio y en qué momento algún servidor deja de prestarlo, identificando en ambos casos qué máquina está involucrada. En el sistema se ofrecen las siguientes operaciones (las 3 primeras operaciones son las típicas de un esquema de binding, pero algunas de esas 3, además de contactar con B para realizar su labor habitual, también tendrán que contactar con R para poder llevar a cabo esta funcionalidad extendida; las dos últimas son ajenas al proceso B y solo contactarán con R): OP1, que permite a un servidor indicar que va a proporcionar un cierto servicio; OP2, con la que un servidor informa de que va a dejar de proveer un servicio; OP3, que permite a un cliente preguntar por la lista de servidores que ofrecen actualmente un cierto servicio (la lista puede estar vacía si ningún servidor proporciona ese servicio en este momento); OP4, que permite a un cliente iniciar el seguimiento de cómo evoluciona la oferta de un servicio; OP5, para el momento en el que el cliente deja de estar interesado en ese seguimiento. Como un ejemplo de uso de OP4, un cliente que ha consultado mediante OP3 qué servidores prestan un cierto servicio y ha recibido una lista vacía puede, a continuación, usar OP4 para saber en qué momento algún servidor comienza a proporcionar dicho servicio. Otro ejemplo adicional de uso de OP4 sería un cliente que necesita saber cuándo hay N servidores dispuestos a proveer un servicio, puesto que requiere asegurar una ejecución del servicio con alta disponibilidad, y usa OP4 para conocer cuándo se cumple este requisito en vez de invocar periódicamente la operación OP3 hasta que se satisfaga. Suponga que existe un número fijo de servicios Nv conocido a priori y que en un cierto momento existen Nc clientes, tal que cada cliente puede requerir usar varios servicios para llevar a cabo su labor, y Ns servidores Centrándose en la interacción cliente/servidor, para algunos servicios se usa una solución de alta disponibilidad basada en la replicación del servicio en la que el resultado final de cada servicio se obtiene mediante una votación entre los resultados obtenidos por todos los servidores involucrados en ese servicio. Para otros servicios, se usa un esquema de reparto de carga en el que el cliente envía cada petición a un servidor seleccionado aleatoriamente entre los que ofertan ese servicio. Si esos servicios requieren que haya información replicada, la gestión de las réplicas se realizará maximizando el rendimiento y el tiempo durante el cual el servicio está operativo. Por último, nos vamos a fijar en un hipotético servicio de gestión de ficheros F, sobre el que se está debatiendo si usar un esquema con estado o sin estado.
  1. ¿Cuántos temas existen en el esquema E/S?
    1. Ns
    2. Ns*Nv
    3. Nv
    4. Nc
  1. ¿Cuál es el número máximo de subscripciones que puede haber en el sistema en un momento dado?
    1. Nv
    2. Nc*Nv
    3. Nc
    4. Ns
  1. ¿Cuántas acciones de publicación simultáneas puede haber como máximo en el sistema en un instante dado asumiendo que en cada máquina solo se puede realizar una operación en cada momento?
    1. Nv
    2. Ns
    3. Nc
    4. Ns*Nv
  1. ¿Qué módulos realizan el papel de subscriptores en el esquema E/S?
    1. Solo C
    2. Solo S
    3. C y S
    4. R
  1. ¿Qué módulos realizan el papel de editores en el esquema E/S?
    1. Solo C
    2. C y S
    3. R
    4. Solo S
  1. ¿A qué acción E/S corresponde OP1?
    1. baja en la subscripción
    2. publicación
    3. subscripción
    4. ninguna
  1. ¿A qué acción E/S corresponde OP2?
    1. publicación
    2. baja en la subscripción
    3. subscripción
    4. ninguna
  1. ¿A qué acción E/S corresponde OP3?
    1. publicación
    2. subscripción
    3. ninguna
    4. baja en la subscripción
  1. ¿A qué acción E/S corresponde OP4?
    1. publicación
    2. subscripción
    3. baja en la subscripción
    4. ninguna
  1. ¿A qué acción E/S corresponde OP5?
    1. subscripción
    2. publicación
    3. baja en la subscripción
    4. ninguna
  1. 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 mensajes recibidos pero no deseados?
    1. Interés en conocer cuándo disminuye el número de servidores que proporcionan un determinado servicio.
    2. Interés en conocer en qué momento una determinada máquina empieza a ofrecer cualquier servicio.
    3. Interés en conocer en qué momento una determinada máquina empieza a ofrecer un cierto servicio.
    4. Interés en conocer cuándo aumenta el número de servidores que proporcionan un determinado servicio.
  1. ¿Qué módulo debería enviar los mensajes de renovación del lease si se aplica un mecanismo de leasing al esquema editor/subscriptor?
    1. Solo S
    2. C y S
    3. Solo C
    4. R
  1. ¿Qué módulo debería enviar los mensajes de renovación del lease si se aplica un mecanismo de leasing al esquema de binding?
    1. Solo S
    2. Solo C
    3. C y S
    4. B
  1. ¿De qué tipo de sistema se trata según el teorema CAP con respecto a la gestión de réplicas?
    1. CA
    2. CP
    3. AP
    4. CAP
  1. ¿De qué tipo de sistema se trata según el teorema PACELC en cuanto a la gestión de réplicas?
    1. PAEC
    2. PAEL
    3. PCEC
    4. PCEL
  1. ¿Qué esquema de replicación de servicio se usa en el sistema?
    1. Activa
    2. hot standby
    3. warm standby
    4. cold standby
  1. Suponiendo que un cliente C ejecuta en una máquina con dirección Dc usando el puerto Pc y un servidor S en una máquina con dirección Ds usando el puerto Ps, ¿qué información deben conocer a priori para poder comunicarse?
    1. C Ds y Ps; S Dc y Pc
    2. C Db y Pb; S Dc y Pc
    3. C Ds y Ps; S Db y Pb
    4. Ambos Db y Pb
  1. Suponiendo que F ofrece 3 operaciones para escribir en un fichero: E1, que permite escribir en la posición actual del puntero del fichero, E2, que posibilita escribir en la posición especificada en la operación, y E3, que permite escribir datos al final del fichero, ¿cuáles de esas operaciones son idempotentes?
    1. E2 y E3
    2. E2
    3. E1
    4. E3
  1. En UNIX para que un fichero se pueda borrar no debe tener enlaces (NE) ni estar abierto (NA). ¿Bajo qué modelo, con estado o sin estado, puede ser difícil verificar una de esas dos condiciones para el servicio F?
    1. NA en sin estado
    2. NA en con estado
    3. NE en sin estado
    4. NE en con estado
  1. ¿Cuál de las siguientes técnicas presentaría más dificultades a la hora de la implementar F dependiendo de que se use un modelo con estado (CE) o sin estado (SE): (1) el uso de un esquema de reparto de carga que selecciona aleatoriamente el servidor para cada petición; (2) el uso de una conexión por petición?
    1. (1) para CE
    2. (2) para CE
    3. (1) para SE
    4. (2) para SE