Professional Documents
Culture Documents
Architecturales
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Modelos de Sistema
• Motivación.
• Modelos Arquitectónicos.
• Arquitectura de Sistema.
• Variaciones en el modelo Cliente-Servidor.
• Modelos Fundamentales: Interacción, Fallo,
Seguridad
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Introducción
• Los diferentes tipos de SD comparten
propiedades subyacentes y dan lugar a
problemas de diseño comunes.
• Se pueden presentar las propiedades y temas
de diseño comunes mediante modelos
descriptivos.
• Un modelo arquitectónico define:
• Interacciones entre componentes (papeles
funcionales y patrones de comunicación entre ellos).
• Cómo están vinculados con la red.
• “Simplifica y abstrae las funciones y roles de los
componentes”.
• Ejemplos: cliente-servidor, peer-to-peer.
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Introducción (cont)
• Modelo Fundamental, descripción más
formal de las propiedades comunes en todos
los modelos arquitectónicos:
• Modelo de interacción: trata las prestaciones y
dificultad de poner límites temporales en SD
• Modelo de fallos: especifica los fallos que se
pueden producir en procesos y canales de
comunicación. Canales fiables, procesos correctos.
• Modelo de seguridad: discute posibles amenazas a
los procesos y canales de comunicación. Canal
seguro
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Introducción (cont)
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Introducción (cont)
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
Figure 2.1
Generaciones de los sistemas distribuidos
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012
7
Elementos Arquitecturales
Para entender los bloques fundamentales de un sistema
distribuido de construcción, es necesario a considerar
las siguientes preguntas claves:
• ¿Cuáles son las entidades que se comunican en el
sistema distribuido?
• ¿Cómo se comunican, o más específicamente, qué
paradigma de la comunicación se utiliza?
• ¿Que roles (cambiantes) y responsabilidades tienen en
la general arquitectura?
• ¿Cómo se asignan a la infraestructura distribuida
física (como son localizados)?
Modificado DAAP 2015 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design
Edn. 5
© Pearson Education 2012 8
Figure 2.2
Entidades y paradigmas de comunicación
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Elementos Arquitecturales (cont.)
Aspectos de diseño evidentes:
División de responsabilidades:
Aplicaciones
Servidores
Otros procesos
Navegador-Buscador-Escaladores (crawlers)
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012 11
Figure 2.3
Clients invoke individual servers
result result
Server
Client
Key:
Process: Computer:
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Servicios por Múltiples Servidores
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012 13
Figure 2.4a
Peer-to-peer architecture
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.4b
A service provided by multiple servers
Service
Server
Client
Server
Client
Server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Mas sobre Procesos Peer-to-Peer
16
Servidores Proxy y Cachés
• Caché, almacén de datos utilizados
recientemente.
• Se encuentra más próximo que los datos
originales.
• Pueden estar en cada clientes o en un
servidor proxy.
• Se incrementa la disponibilidad y
prestaciones del servicio.
• La máquina proxy puede desarrollar otros
roles, por ejemplo, cortafuego.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.5
Web proxy server
Client Web
server
Proxy
server
Client Web
server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Arquitectura Jerárquica
Servidor
Web
INTERNET
Caché Nacional
(Raíz)
Caché’s
Regionales
Caché’s
Institucionales
Zonas de
Usuarios
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Arquitectura Jerárquica Dinámica
Servidores
Web
INTERNET
Caché’s CReps
Usuarios
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Aspectos de Diseño del Caché
Políticas de Reemplazo
Políticas de control de admisión
Prefetching
Mecanismos de coherencia
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Producto
Casero
Innovador
SD-AICI
Proyecto
SD -AICI
Código Móvil
• Código se desplaza al cliente y se ejecuta
• Respuesta interactiva no sufre retardos
• Servicio se accede al ejecutar código que
invoca operaciones.
• Para implementar interfaces complejas
• Para simular un modelo “push” sobre la
Web.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.6
Web applets
Client Web
Applet code server
Web
Client Applet server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Variaciones Modelo Cliente-Servidor (cont.I)
Agentes Móviles
• Programa en ejecución que se traslada de una máquina a otra
realizando una tarea.
• Puede realizar solicitudes a los recursos locales de las máquinas
que visita.
• Reduce el coste de comunicación y tiempo de las solicitudes
remotas.
• Constituyen una amenaza potencial a la seguridad de los recursos
de las máquinas que visita.
• Existe el riesgo de que la visita se quede indefinidamente
25
Variaciones Modelo Cliente-Servidor (cont.II)
Computadores de Red
• Descarga su sistema operativo y cualquier aplicación que necesita
el usuario desde un servidor de archivos remoto.
• Las aplicaciones corren localmente.
• Los archivos se gestionan desde un servidor de archivos remoto.
• Los usuarios pueden migrar desde un computador a otro sin
problemas.
• Capacidad del computador de red es limitada, lo que reduce los
costos.
• Si existe disco, se utiliza como un caché.
26
Variaciones Modelo Cliente-Servidor (cont.III)
Clientes ligeros.
27
Intercomunicación Espontánea
Music
service Alarm
gateway service
Internet
Hotel wireless
network
Discovery
service
Camera
TV/PC Guests
Laptop PDA
devices
28
Intercomunicación Espontánea (cont.)
Características.
• Fácil conexión: dispositivos en un entorno nuevo, se
reconfigura transparentemente.
• Fácil integración: los servicios disponibles se descubren
automáticamente.
Asuntos por resolver.
• Conectividad limitada: zonas sin cobertura, cambio de
celda, costo involucrado, etc.
• Seguridad y privacidad.
29
Requisitos de Diseño
Arquitecturas Distribuidas
Temas de prestaciones.
Capacidad de respuesta
• Carga y prestaciones del servidor
• Carga y prestaciones de la red
• Retardos de los componentes software
“sistemas con pocas capas de software y pequeñas cantidades de
datos a transferir entre cliente y servidor”
Productividad
• Tareas completadas / tiempo
• En servidor, cliente y red (tasa transferencia)
Balance de carga
• Entre computadores alternativos
• Entre procesos implicados
30
Figure 2.7
Software and hardware service layers in distributed systems
Applications, services
Middleware
Operating system
Platform
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Requisitos… (cont.I)
Calidad de servicio
• Se ve afectada por: fiabilidad, seguridad, adaptabilidad y
prestaciones.
• En general, se puede ver como el indicador de aceptabilidad de un
servicio.
• Se recomienda usar QoS (Quality of Service), para referirse a la
capacidad de garantizar tasas de transferencia y límites de tiempo.
• Importante para aplicaciones que mantienen datos críticos en el
tiempo (caudales de sonido o vídeo).
• Disponibilidad de los recursos necesarios en los instantes
adecuados…
32
Uso de caché y replicación.
• Ayudan a mejorar las prestaciones
• Ej. Protocolo de caché de Web
a) TTL (Time-To-Live)
b) PER (Poll Each Read)
c) PPA (Poll Periodically Algorithm)
Aspectos de fiabilidad.
• Corrección
• Tolerancia a fallos
mediante redundancia, protocolos con reconocimiento y mecanismos
de recuperación
Seguridad
•Protección activa y pasiva contra ataques, y
•Mecanismos de seguridad criptográfica.
Figure 2.8
Two-tier and three-tier architectures
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
34
Figure 2.10
Thin clients and compute servers
Compute server
Network computer or PC
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.11
The web service architectural pattern
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
36
Modelos Fundamentales
En general,
“Un modelo contiene los elementos esenciales para comprender y
razonar sobre el comportamiento del sistema”
Trata cuestiones del sistema como:
• ¿Cuáles son sus entidades principales?
• ¿Cómo interactúan?
Cuáles son las características que afectan su comportamiento
individual y colectivo?
Su objetivo es:
• Explicitar todas las premisas relevantes
• Generalizar respecto a lo que es posible o no, dadas las premisas
anteriores (mediante algoritmos o propiedades)
37
Modelo de Interacción
38
Figure 2.12
Categories of middleware
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
39
Figure 2.14
Processes and channels --Modelo de Interacción
process p process q
send m receive
Communication channel
Outgoing message buffer Incoming message buffer
Sistemas Distribuidos
Modelo de Interacción (cont.II)
Relojes y eventos de temporización.
Cada reloj posee una deriva diferente (diferencia con respecto a un tiempo
absoluto).
Incluso, sus tasas de deriva son diferentes.
Además, la concordancia final de los relojes está afectada por retardos
variables de los mensajes.
Dos variantes del modelo de interacción, según las
restricciones temporales:
Sistemas distribuidos síncronos
Sistemas distribuidos asíncronos
Sistemas Distribuidos
Modelo de Interacción (cont.III)
Sistemas distribuidos síncronos.
Se establecen límites:
Tiempo de ejecución de cada etapa de un proceso tiene ciertos límites
inferior y superior conocidos.
• Cada mensaje se transmite en tiempo limitado conocido.
• La tasa de deriva de cada reloj tiene un límite conocido.
Es difícil obtener valores realistas y además dar garantías sobre los valores
elegidos.
Es posible utilizar timeouts para detectar fallos de procesos o pérdidas de
mensajes.
Sistemas Distribuidos
Modelo de Interacción (cont.IV)
Sistemas distribuidos asíncronos.
No existen limitaciones:
• Velocidad de procesamiento.
• Los retardos de transmisión de mensajes.
• Las tasas de deriva del reloj.
Ejemplo: Internet
Mayor dificultad para llegar a acuerdos, aún si se utilizan canales seguros.
Generalmente, se permite realizar otro tipo de tareas durante la espera.
Sistemas Distribuidos
Modelo de Interacción (cont.V)
Sistema Distribuido Sistema Distribuido
Síncrono Asíncrono
Respuesta de Timeouts superior e Velocidad de proceso
los procesos inferior en cada etapa del muy variable
proceso
Tiempo de Timeouts de recepción Retardos imprevisibles
comunicación conocidos en la transmisión
Sistemas Distribuidos
Figure 2.13
Real-time ordering of events
send
Z
receive receive
m3 m1 m2
A
receive receive receive
t1 t2 t3
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.15
Omission and arbitrary failures
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.11
Timing failures
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Modelo de Seguridad
Lograr la seguridad del sistema distribuido:
• Asegurando los procesos y canales
• Protegiendo los objetos de acceso no autorizados
Protección de objetos
• Los objetos se construyen para ser utilizados en formas diferentes por
usuarios diferentes
• Los derechos de acceso especifican a quién se permite realizar ciertas
acciones sobre el objeto
• La autoridad con que se ordena una invocación o se da un resultado se
denomina principal
• Un principal puede ser un usuario o un proceso
Sistemas Distribuidos
Figure 2.17
Objects and principals
Client
result Server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 2.18
The enemy
Copy of m
The enemy
m’
Process p m Process q
Communication channel
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Modelo de Seguridad (cont.III)
Amenazas
• A procesos: suplantación de la identidad tanto del cliente como del servidor
• A los canales: vulneración de la privacidad e integridad de la información
sobre la red
Vencer amenazas
• Criptografía
• Encriptación
• Autenticación
• Firmas digitales, etc
Sistemas Distribuidos
Modelo de Seguridad (cont.IV)
Canales seguros
• Cada proceso conoce la identidad del principal en cuya representación se
ejecuta otro proceso.
• Se asegura la privacidad y la integridad de datos
• Cada mensaje incluye un sello temporal, físico o lógico, para prevenir el
reenvío o reordenación
Principal A Principal B
Sistemas Distribuidos