Sistemas Distribuidos: Ejercicio de los temas arquitectura y comunicación en los sistemas distribuidos

Febrero del 2017.

Grupo de mañana.

La empresa miCaja ofrece un servicio bancario que permite a sus clientes gestionar sus cuentas por Internet, exceptuando ciertas operaciones (como la creación de una nueva cuenta) que deben hacerse de forma presencial. Como en cualquier banco, un cliente puede ser titular de varias cuentas y una misma cuenta puede tener múltiples titulares. Dentro de la organización, existen empleados que desempeñan el rol de gestores, realizando ofertas ventajosas a los titulares de cuentas (por ejemplo, un regalo, por su fidelidad, a los titulares de una cuenta que lleva abierta 50 años). Cada gestor dispone de una aplicación G que le permite (OP1) realizar una oferta introduciendo el código de la cuenta a la que va destinada y el mensaje asociado a la misma. Los clientes usan una aplicación C que les ofrece, entre otras, las siguientes operaciones: (OP2) login, que permite al cliente iniciar una sesión; (OP3) consulta, que, durante una sesión, deja al cliente conocer el saldo de una de sus cuentas; (OP4) transferencia, que permite que un cliente, durante una sesión, pueda realizar una transferencia de dinero desde una de sus cuentas hasta otra cuenta (que puede ser o no suya y que, incluso, puede corresponder a otra entidad bancaria); (OP5) logout, que termina una sesión. Mientras esté en una sesión, el cliente será notificado de todas las ofertas que se vayan emitiendo en las que esté involucrado, así como de los cambios en el saldo de cualquiera de sus cuentas. Se usa una arquitectura editor/subscriptor para la gestión de las notificaciones y una solución cliente/servidor para el resto de la funcionalidad. Por motivos de seguridad, se almacenan 3 copias independientes de los datos de cada cuenta bancaria. Cualquier operación que modifique la información asociada a una cuenta (por ejemplo, el saldo) no se completará hasta que estén actualizadas las tres copias. Por otro lado, si momentáneamente se deja de tener acceso a una de las copias de una cuenta, por seguridad, no se permite ninguna operación sobre la misma. Por último, dado que puede haber problemas de concurrencia al actualizar el saldo de una cuenta debido a la existencia de múltiples titulares, se usa un servicio remoto de cerrojos (SC) para solventarlos, estando replicado dicho servicio para aumentar la fiabilidad del sistema.
  1. ¿Qué módulos realizan el papel de subscriptores?
    1. Sólo C
    2. Sólo G
    3. C y G
    4. C y SC
  1. ¿Qué módulos realizan el papel de editores?
    1. C y G
    2. Sólo G
    3. Sólo C
    4. C y SC
  1. ¿Cuántos temas existen en el esquema editor/subscriptor?
    1. Uno por cada cuenta
    2. Uno por cada cliente
    3. Uno por cada gestor
    4. Uno por cada operación
  1. Suponga que en un momento dado hay sesiones de X clientes tal que cada uno de ellos es titular de Y cuentas. ¿Cuántas subscripciones existen en el sistema?
    1. X * Y
    2. Y
    3. X
    4. X + Y
  1. ¿Qué acción editor/subscriptor implica OP1?
    1. publicación
    2. baja
    3. subscripción
    4. ninguna
  1. ¿Qué acción editor/subscriptor implica OP2?
    1. subscripción
    2. baja
    3. publicación
    4. ninguna
  1. ¿Qué acción editor/subscriptor implica OP3?
    1. ninguna
    2. baja
    3. publicación
    4. subscripción
  1. ¿Qué acción editor/subscriptor implica OP4?
    1. publicación
    2. baja
    3. subscripción
    4. ninguna
  1. ¿Qué acción editor/subscriptor implica OP5?
    1. baja
    2. subscripción
    3. publicación
    4. ninguna
  1. ¿De qué tipo de sistema se trata según el teorema CAP?
    1. CP
    2. AP
    3. CA
    4. CAP
  1. ¿De qué tipo de sistema se trata según el teorema PACELC?
    1. PCEC
    2. PAEC
    3. PAEL
    4. PCEL
  1. ¿Son idempotentes OP3 y OP4?
    1. Sólo OP3
    2. Sólo OP4
    3. Ambas
    4. Ninguna
  1. ¿Qué módulo debería enviar los mensajes de renovación del lease, y a qué otro módulo, si se aplica un esquema de leasing al servicio de cerrojos?
    1. De C a SC
    2. De SC a C
    3. De G a SC
    4. De SC a G
  1. ¿Qué esquema de replicación de servicio sería más adecuado si se pretende reducir el tiempo de recuperación del servicio de cerrojos?
    1. Activa
    2. hot standby
    3. warm standby
    4. cold standby
  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 todas las ofertas que realiza un determinado gestor.
    2. Interés en conocer todas las ofertas que se producen en el sistema.
    3. Interés en conocer qué cambios de saldo se producen en un determinado conjunto de cuentas.
    4. Interés en conocer qué ofertas recibe un determinado conjunto de cuentas.

Las siguientes preguntas corresponden al tema de comunicación y, por tanto, no entran en este curso

  1. Considere una función que recibe cuatro parámetros que representan la dirección de comienzo de dos buffers, así como sus tamaños respectivos, y que debe enviarlos por un socket. ¿Cuál de los siguientes servicios del S.O. puede optimizar la transmisión?
    1. writev
    2. mmap
    3. sendfile
    4. send
  1. Suponga que un proceso tiene que enviar dos mensajes y para ello realiza la siguiente secuencia: define una variable; rellena la variable con el contenido del primer mensaje; lo envía; rellena la misma variable con el contenido del segundo; lo envía. ¿Para qué tipo de envío esta solución no es adecuada?
    1. Envío con retorno inmediato.
    2. Envío con retorno después de copia local.
    3. Envío con retorno cuando ha llegado el mensaje al nodo remoto.
    4. Envío con retorno cuando el proceso remoto ha recibido el mensaje.
  1. Suponga un sistema de comunicación en grupo causal con 4 procesos (de P1 a P4) donde P3 recibe un mensaje de P4 con un vector (3,3,3,3). ¿Cuál de los siguientes vectores que corresponden al proceso receptor P3 es correcto (algunos tienen valores no factibles) y permite la entrega inmediata del mensaje?
    1. (4,4,6,2)
    2. (4,4,6,4)
    3. (4,4,2,2)
    4. (2,4,6,2)
  1. ¿Cuántos de los siguientes esquemas de serialización representan como texto un número entero: XDR, JSON, Protocol Buffers y Java Serialization?
    1. 1
    2. 2
    3. 3
    4. 4
  1. ¿Cuáles de los siguientes mecanismos de comunicación proporcionan desacoplamiento espacial: MPI y Jgroups?
    1. Jgroups
    2. MPI
    3. Ambos
    4. Ninguno