Contenidos
- Introducción
- Sistemas distribuidos: definición, objetivos y tipos
- Modelos
- Físicos y arquitectónicos
- Modelos fundamentales
- Redes
- Tipos
- Principios
- Protocolos
- Comunicación entre procesos
- APIs
- Representación de datos externa y marshalling
- Comunicación multicast
- Virtualización
- Invocación remota
- Protocolos
- Remote procedure call
- Remote method invocation (Java RMI)
- Comunicación indirecta
- Comunicación en grupo
- Sistemas de publicación y suscripción
- Colas de mensajes
- Enfoques de memoria compartida
- Sincronización: tiempo global y estados globales
- Relojes, eventos y estados de procesos
- Sincronización de relojes físicos
- Tiempo lógico y relojes lógicos
- Estados globales
- Debugging distribuido
- Coordinación y acuerdo
- Exclusión mutua distribuida
- Comunicación y acuerdo en comunicación de grupo
- Consenso y problemas relacionados
- Transacciones, control de concurrencia y transacciones distribuidas
- Transacciones
- Transacciones anidadas
- Bloqueos
- Control de concurrencia optimista
- Ordenado con marca de tiempo
- Comparación de métodos de control de concurrencia
- Transacciones distribuidas planas y anidadas
- Control de concurrencia en transacciones distribuidas
- Deadlocks distribuidos
- Recuperación de transacciones
- Consistencia, replicación y tolerancia a fallas
- Soporte del sistema operativo
- Protección
- Procesos e hilos
- Comunicación e invocación
- Arquitectura
- Virtualización al nivel del sistema operativo
- Sistemas de archivos distribuidos
- Arquitectura de servicios de archivos
- Seguridad
- Técnicas
- Algoritmos criptográficos
- Firmas digitales
- Objetos y componentes distribuidos
- Objetos distribuidos → CORBA
- Componentes distribuidos → JavaBeans
- Servicios Web
- Descripciones y directorios
- Seguridad XML
- Coordinación
- Aplicaciones
- Sistemas Peer-to-peer
- Sistemas multiagentes
- Computación ubicua y sistemas móviles
- Sistemas multimedios distribuidos
- Bases de datos distribuidas
- Casos de estudio