Ir al contenido

Doctorado en Tecnologías para el Desarrollo de Sistemas Software Complejos

Fundamentos de Sistemas Distribuidos

Profesor:
Ricardo Felipe Jiménez Peris
Despacho:
D-2304
Teléfono:
91 336 7452
e-mail:
rjimenez@fi.upm.es
Profesor:
Marta Patiño Martínez
Despacho:
D-2304
Teléfono:
91 336 7452
e-mail:
mpatino@fi.upm.es
Créditos:
6
Concentración:
Principal
Cuatrimestre:
Segundo

Resumen:

El curso comenzará presentado los modelos de sistema distribuidos y los modelos de fallos, así como las principales métricas de rendimiento y fiabilidad. A continuación se presentarán los problemas fundamentales en los sistemas distribuidos, su definición formal y principales resultados teóricos, así como la relación entre los distintos problemas. Más tarde, abordará uno de los principales bloques para la construcción de sistemas distribuidos fiables, el radiado fiable o comunicación a grupo. En este tema se acometerá la definición formal de las propiedades del radiado fiable así como la implementación de éstas. El curso proseguirá presentando los principales criterios de consistencia en sistemas distribuidos estudiando también los protocolos que los implementan. Se abordarán las técnicas para implementar sistemas distribuidos altamente disponibles. Por último, el curso proporcionará una panorámica sobre las tendencias en la investigación dentro de los sistemas distribuidos.

Objetivos:

Programa:

  1. Introducción: Introducción. Modelos de sistema distribuido. Modelos de fallos. Arquitecturas de sistemas distribuidos.
  2. Coordinación y acuerdo: Propiedades de los problemas de acuerdo. Multicast fiable. Sistemas de quorums. Algoritmos de elección de líder. Consenso distribuido y problemas relacionados. Estado global consistente
  3. Transacciones. Propiedades de las transacciones. Algoritmos de control de concurrencia. Algoritmos de recuperación. Transacciones distribuidas. Transacciones planas y anidadas. Protocolos de compromiso atómico distribuido (two-phase commit, three-phase commit). Tratamiento de interbloqueos distribuidos.
  4. Replicación. Tolerancia a fallos hardware. Modelos de replicación de procesos. Modelos de replicación de datos. Replicación y seguridad (intrusion tolerance).
  5. Nuevas tendencias en sistemas distribuidos. Sistemas Peer-to-Peer, Autonomic Computing, Wireless sensor networks, Data streaming, Sistemas publicador-suscriptor
  6. Tecnología. Tipos de middleware. Application servers. Sistemas de workflow. Web services (SOAP, WSDL, UDDI, WSFL). Casos de Estudio. J2EE, .NET, JMS, JXTA.

Bibliografía:

Prerrequisitos:

Conocimientos de programación básica y programación concurrente.

Método de Evaluación:

Idiomas en que se imparte:

Español o inglés