SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
1
Modelos de sistema - 2
Sistemas Distribuidos – ITInformática
César Llamas, febrero 2003
Algunos esquemas de esta presentación están tomados de:
Instructor’s Guide for Coulouris, Dollimore and Kindberg
Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 2
Índice
Introducción
Modelos arquitectónicos
• Capas de software
• Arquitecturas
• Variaciones del modelo cliente-servidor
• Interfaces y objetos
• Requisitos de diseño
Modelos fundamentales
• ... de interacción
• ... de fallo
• ... de seguridad
2
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 3
Introducción
El modelo arquitectónico describe:
• Interacciones entre componentes
• Enlace con la plataforma de red:
“simplifica y abstrae las funciones y roles de
los componentes individuales”
El enfoque CDK es un poco confuso
• Estructura de niveles de software
• Variantes del modelo cliente-servidor
• Código móvil
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 4
Íntroducción
Modelos de requisitos no funcionales
• Modelo de interacción
• Modelo de fallo
• Modelo de seguridad
3
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 5
Modelos arquitectónicos capas de soft
Componentes importantes:
• Plataforma
• Middleware
Hardware
Sistema operativo
Middleware
Servicios de la aplicación
Plataforma
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 6
Modelos arquitectónicos capas de soft
Plataforma
• Contiene los servicios propios de cada
computadora concreta
• Depende del hardware y del S.O.
4
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 7
Modelos arquitectónicos Middleware
Permite enmascarar la heterogeneidad
Puede dar un modelo y una interfaz de
programación utilizable
Puede soportar abstracciones como:
• Llamadas a procedimientos remotos (RPC)
• Comunicación en grupo
• Eventos, replicación, servicios multimedia,
etc...
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 8
Modelos arquitectónicos middleware
¿Qué forma tiene el middleware? :
• Bibliotecas adicionales:
Procedimientos remotos (RPC)
Objetos remotos (RMI, CORBA)
• Herramientas de programación
Lenguajes de definición de interfaces (IDL)
+ Compiladores para ellos
• Servicios básicos de ayuda
servicios de nombres, para buscar objetos
de notificación de eventos,
De control de transacciones, etc.
5
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 9
Modelos arquitectónicos middleware
¿Qué limitaciones impone?
• Se incrementa la complejidad arquitectónica:
Hay más niveles
• Hay que aprender más herramientas
• Se pierde el control de bajo nivel sobre los
modos de fallo
• Se depende de terceras partes,
• ...
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 10
Arquitecturas de sistema Índice
Modelo cliente-servidor
Múltiples servidores
Procesos de igual a igual
6
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 11
Arquitecturas cliente servidor cliente-servidor
Muy habitual (DNS, Web, ftp, telnet, ...)
Un servidor puede ser cliente de otro
servicio (servidor web -> crawler)
Cliente
Servidor
Servidor
Cliente
proceso máquina
invocación invocación
invocación
respuesta
respuesta
respuesta
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 12
Arquitecturas cliente servidor servidores múltiples
Muy usada en DNS, Web y NIS
Cliente
Cliente
Servidor
Servidor
Servidor
7
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 13
Arquitecturas cliente servidor proxy y caché
Caché: almacena los recursos más
probablemente usados.
Un caché puede responder a un esquema
de proxy
• Los servidores proxy para el web aumentan
la disponibilidad.
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 14
Arquitecturas cliente servidor proxy y caché
Cliente web
Servidor
proxy
Servidor web
Cliente web Servidor web
Usualmente, una
Intranet
El resto de Internet
8
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 15
Arquitecturas cliente servidor proxy y caché
+petición ( )
«Interfaz»
Sujeto
+petición ( )
Proxy
+petición ( )
sujetoReal
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 16
Arquitecturas de sistema procesos pares
Cuando los roles entre procesos son de
igual a igual (peer-to-peer)
• Desempeñan tareas semejantes
• Útil al descomponer aplicaciones en tareas
coordinadas
Ejemplo:
• Cooperación y coordinación
• Algoritmos descentralizados
• (coordinación de agendas, trabajo
colaborativo, ...)
9
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 17
Arquitecturas de sistema procesos pares
Aplicación
Código de
coordinación
Aplicación
Código de
coordinación
Aplicación
Código de
coordinación
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 18
Variaciones en el modelo cliente-servidor Ejemplos
Ejemplo: applets para clientes Web
• Para implementar interfaces complejos
• Para simular un modelo “push” sobre Web
Cliente web Servidor web
Applet ServidorCliente web
10
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 19
Variaciones en el modelo cliente-servidor Ejemplos
Algunas posibilidades:
• Según la ubicación del código del proceso
cliente:
Código estático
Código con movilidad (recolocación del proceso)
• Según la proporción de tareas que recae
sobre el cliente y el servidor
Clientes al estilo habitual
Clientes ligeros de aplicaciones complejas
Computadoras de red
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 20
Variaciones en el modelo cliente-servidor cliente ligero
Aplicación
centralizada
Cliente
ligero (interfaz)
Procesamiento
(lógica de negocio)
Distribución
Network Computer
o PC
Servidor de cómputo
11
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 21
Variaciones en el modelo cliente-servidor red espontánea
Más posibilidades
• Según la conexión:
Enlace estático
Enlace dinámico (Dispositivos móviles y enlace
espontáneo)
Conexión espontánea
Metropolitana (GPRS, UTMS)
Media (x0 o x00 m) (Wavelan, Wireless – 802.11b)
Corta (x o x0 m) (BlueTooth, infrarojos, HomeRF)
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 22
Variaciones en el modelo cliente-servidor red espontánea
Internet
gateway
PDA
service
Music
service
service
Discovery
Alarm
Camera
Guests
devices
Laptop
TV/PC
Hotel wireless
network
12
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 23
Variaciones en el modelo cliente-servidor red espontánea
Ventajas del enlace espontáneo
• Facilidad de conexión a la red local
• Facilidad de integración con los servicios
locales
Cuestiones a resolver
• Problemas de conectividad (zonas sombra,
cambio de célula, ...)
• Seguridad
• Servicios de detección y/o descubrimiento
Admisión
Búsqueda
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 24
Variaciones en el modelo cliente-servidor
Más posibilidades
• Según el diseño de la interfaz entre procesos:
Interfaz estático
Interfaz orientado a llamada a procedimiento
remoto
Interfaz con llamada a procedimiento
remoto:
Estático (el habitual en RPC)
• Orientado a objetos (Dinámico)
13
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 25
Interfaces y objetos
Interfaz de un proceso
“Conjunto de peticiones a que responde”
Estilos
• Mediante interfaces de módulos “módulos”
Soportado en Modula2, RPC, ...
• Mediante la interfaz de los objetos en OOP
Soportado de modo natural para SD en:
Java RMI
CORBA
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 26
Interfaces y objetos para S.D.
“Los procesos contienen objetos cuyos
métodos podemos invocar de modo
remoto”
Es deseable que las referencias a los
objetos remotos se usen de modo
“transparente” (como las locales)
No podemos hablar exclusivamente de
procesos cliente y procesos servidor, sino
de “objetos cliente” y “objetos servidor”
14
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 27
Requisitos de diseño para arquitecturas distribuidas
Requisitos no funcionales (Análisis del
sistema)
medibles
• Requisitos de rendimiento o prestaciones
• Requisitos de calidad de servicio
• (cuestión relacionada: caché y replicación)
no medibles (fiabilidad)
• Tolerancia
• Seguridad
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 28
Requisitos de diseño ... sobre prestaciones
Capacidad de respuesta (responsiveness)
• Está limitada por:
La velocidad de las redes
La velocidad de los nodos, y en este caso
La cantidad de capas (middleware).
Productividad (throughput)
• Tareas completadas /tiempo
Balance de cargas (disminuyen la competición)
• Entre computadoras alternativas
• Entre los procesos implicados
Ej: la carga media
de cada servidor
debe estar
balanceada y no
superar el 50 %
Ej: 1000 reservas de
billete por segundo.
15
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 29
+ fiabilidad, seguridad, adaptabilidad
Requisitos de diseño ... sobre calidad de servicio
Indicador de la aceptabilidad de un servicio
• Está relacionada con fiabilidad, seguridad y
adaptabilidad.
• Actualmente se recomienda usar QoS para hacer
referencia a la capacidad de garantizar tasas de
transferencia y tiempos límite (en telecomunicaciones)
• ... Importante para datos críticos en el tiempo
(caudales de sonido, de vídeo, etc...)
Capacidad de respuesta,
Productividad,
Balance de carga
Calidad de
Servicio
(en general):
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 30
Requisitos de diseño ... sobre prestaciones
Las prestaciones son un obstáculo
principal para el despliegue de soluciones
distribuidas
• Al usar réplicas y
• caché, se disminuye comunicación y tiempos.
Ejemplo: protocolo de caché de web (para
navegadores y clientes web)
• Recurso + tiempo de expiración + tiempo
local del servidor web
16
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 31
Requisitos de diseño ... sobre fiabilidad
Corrección
Tolerancia a fallos
• Se consigue introduciendo redundancia en recursos
software y en componentes físicos;
Computadoras, procesos, enlaces de red, ...
• también con protocolos con reconocimiento, y
• con mecanismos de recuperación.
Seguridad
• Protección activa y pasiva contra ataques, y
• Mecanismos de seguridad criptográfica.
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 32
Modelos fundamentales
Modelo: contiene los elementos esenciales
para comprender y razonar sobre el
sistema
• Manifiesta las premisas del sistema
• Generaliza sobre lo que es posible o no.
Principales modelos:
• De interacción
• De fallo
• De seguridad
17
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 33
canal
proceso q
recibe(m)
Modelo de Interacción
La forma en que se produce el “paso de
mensajes” entre los procesos restringe los
modos de interacción
• Retrasos, precisión, y tiempo
Modelo de
Canal de
comunicación
Modelo de
comunicación
Modelo de
Programación
distribuido
proceso p
envía(m)
emisión recepción
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 34
Modelo de interacción
Problemas presentados en las prestaciones
del canal
• Latencia: Retardo entre la emisión y recepción:
acceso + transmisión + propagac. niveles soft.
• Velocidad limitada (Datos/t)
• Fluctuación o cortes (jitter)
Problemas presentados en la noción de
tiempo (timestamps de cada evento):
• Derivas (diferencia horaria) diferentes
• Tasas de derivas (ritmo de deriva) diferentes
18
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 35
Modelo de interacción tiempo y sincronicidad
En virtud del modelo de comunicación aparecen
dos familias de sistemas:
• Sistemas distribuidos síncronos
• Sistemas distribuidos asíncronos
Tasas de de deriva
imprevisibles
Tasas de deriva locales
conocidas
Error en los
relojes
Retardos
imprevisibles en la
transmisión
Timeouts de recepción
conocidos
Tiempo de
comunicación
Velocidad de proceso
muy variable
Timeouts superior e inferior en
cada etapa de proceso
Respuesta de los
procesos
Sistema distribuido
asíncrono
Sistema distribuido síncrono
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 36
Modelo de interacción tiempo y sincronicidad
Consecuencia básica de la asincronicidad
“en un sistema asíncrono los eventos
pueden observarse desordenados con
respecto a su generación”
Ejemplo:
1. El usuario X envía un mensaje con el
tema Reunión.
2. Los usuarios Y y Z responden con un
mensaje con el tema Re: Reunión.
19
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 37
Modelo de interacción tiempo y sincronicidad
Si rompe la relación de causalidad
Si los relojes de X, Y y Z pudieran sincronizarse,
podríamos observar la secuencia ordenada.
Re: ReuniónY25
ReuniónX24
Re: ReuniónZ23
AsuntoEmisorElemento
Bandeja de entrada
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 38
Modelo de interacción tiempo y sincronicidad
observador
Z
Y
X
envía m1
envía m2
envía m3
recibe
recibe recibe
recibe recibe
t1 t2 t3 Tiempo físico
23 24 25
recibe
20
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 39
Modelo de interacción tiempo y sincronicidad
Posibilidad en sistemas asínconos:
Relojes lógicos: Proporcionan enteros consecutivos que
permiten ordenar eventos marcados por un timestamp,
con la relación de orden ocurrió_antes(S1,S2).
• X envía m1 antes de que Y reciba m1
T(envía(X,m1)) < T(recibe(Y,m1))
ocurrió_antes(envía(X,m1), recibe(Y,m1))
Y recibe m1 antes de enviar m2
T(recibe(Y,m1)) < T(envía(Y,m2))
ocurrió_antes(recibe(Y,m1), envía(Y,m2))
Luego, por transitividad:
T(envía(Y,m2)) < T(recibe(X,m2))
ocurrió_antes(envía(X,m1), envía(Y,m2))
X envía m1 antes de que Y envíe m2
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 40
Modelo de fallo tipos
Fallo por omisión (del proceso, o del canal)
• Los componentes no cumplen sus funciones
de temporización
El fallo arbitrario requiere una categoría
especial (o binzantinos)
Temas de robustez y fiabilidad frente a fallos
Enmascaramiento de fallos
Fiablidad y comunicación uno a uno
21
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 41
Modelo de fallo tipos
Es mejor que ciertos procesos caigan antes que
fallar y funcionar mal.
• El diseño es más simple si se supone que los
procesos erróneos caen y se detecta la caída.
El proceso se detiene indefinidamente, y el error puede no
ser detectable.
Opciones:
1. Un protocolo temporizado puede detectar fallos en la
operación.
2. Un mecanismo de encuesta (polling) puede detectar
fallos.
Rotura o caída (crash)
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 42
Modelo de fallo tipos
Caída detectable
Opciones: Se recoge una notificación de caída
Fallo-detención (fail-stop)
Se completa “envía()”, pero no llega a emitirse el mensaje
Opciones: “envía()” devuelve un mensaje de error, que
hay que catalogar
Omisión de emisión R
Posiblemente
admite
reintentos
22
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 43
Modelo de fallo tipos
Se completa la recepción (escucha), pero no se “recibe()”
el mensaje
Opciones:
1. “recibe()” emite un error que hay que catalogar
2. Si “recibe()” está temporizado no se emite error y hay
que interrogar a la interfaz de red.
Omisión de recibimiento R
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 44
Modelo de fallo tipos
El mensaje no llega a ser escuchado
Opciones:
1. Si “recibe()” está temporizado no se emite error y hay
que interrogar a la interfaz de red.
Omisión del canal R
23
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 45
Modelo de fallo tipos
El sistema presenta un comportamiento arbitrario:
omisiones, tiempos arbitrarios, paradas, fallos.
Opciones:
1. Intentar catalogar el fallo de un modo más preciso
mediante sondeos.
2. Incluir comprobaciones para descartar
comportamientos puntualmente erróneos (ej:
checksums)
3. El sistema puede tener que parar completamente para
no ocasionar daños.
Fallo arbitrario (bizantino) R
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 46
Modelo de fallo tipos
La tasa de deriva del reloj es excesiva, y afecta al proceso
local.
Opciones:
1. Sincronizar frecuentemente.
2. Considerar inválido el reloj local.
Fallo en el reloj R
24
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 47
Modelo de fallo tipos
El proceso se demora en exceso
Opciones:
1. Introducir un protocolo de sondeo con procesos de
apoyo, para descartar fallos en el canal.
2. Invalidar el proceso mediante timeouts.
Fallo de prestaciones en el proceso
La transmisión se demora en exceso.
Opciones:
1. Introducir un protocolo de sondeo con procesos de
apoyo, para descartar fallos en el proceso.
Fallo de prestaciones en el canal R
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 48
Modelo de fallo enmascaramiento de fallo
Aún es posible construir servicios fiables
con componentes que presenten fallos.
• Ocultándolos bajo una capa software que se
recupere de ciertos fallos
Ejemplo: TCP/IP sobre red no fiable.
(Reintentos) + (Reordenamiento)
• Convirtiéndolo en un fallo más aceptable
Ejemplo: un fallo en un checksum de un dato
recibido (fallo arbitrario) se puede convertir en un
fallo por omisión del canal.
(Comprobaciones auxiliares)
25
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 49
Modelo de fallo enmascaramiento de fallo
Mediante redundancia y replicación
• Ej: sistema de varios servidores con réplicas
• Ej: sistema RAID para archivos.
• (soluciones ad-hoc) ...
El enmascaramiento y ocultación del fallo
suele requerir el diseño de un servicio de
más alto nivel:
• Ej: la pila de niveles de transporte TCP e
ISO/OSI no solo elevan el nivel de
abstracción sino que enmascaran y ocultan
muchos fallos.
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 50
Modelo de seguridad
Las técnicas de seguridad permiten la
comprobación de fallos y la minimización de su
posible aparición:
Comunicación fiable
• Validez de la comunicación:
cualquier mensaje enviado() será escuchado.
• Integridad de la comunicación:
Cualquier mensaje recibido() es correcto y respeta la
secuencialidad.
Amenazas:
• Duplicación de mensajes, desorden, corrupción del
mensaje, revelación, (y sigue...)
26
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 51
Modelo de seguridad amenazas
A los procesos:
• Acceso indebido a los recursos
• Ataque a la integridad del proceso
• Suplantación de los principales interlocutores
• Falsificación de servicios
• Falsificación de peticiones
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 52
Modelo de seguridad amenazas
A los canales:
• Acceso indebido al canal
• Captura de mensajes
• Reenvío de mensajes
• Eliminación de mensajes
• Modificación de mensajes y de código móvil
A la disponibilidad del servicio:
• Ataque a la integridad de los servicios
• Ataque de denegación de servicio
27
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 53
Modelo de seguridad amenazas
Seguridad de...
• Las interacciones en procesos y canales
• Las acciones de acceso a objetos (derechos)
canal
proceso q
recibe(m)
proceso p
envía(m)
emisión recepción
enemigo
Principal emisor Principal receptor
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 54
Modelo de seguridad técnicas
Criptografía (de clave secreta y de clave
pública)
• Encriptación para preservar la privacidad
• Firmas para preservar la autenticidad
• Autenticación para preservar la identidad
• Contrato digital para preservar la legalidad
Ejemplos de servicios seguros
• Correo electrónico seguro
• Pagos seguros por Internet
28
26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 55
Modelo de seguridad técnicas
Técnicas sobre derechos de acceso
• Control de acceso a los recursos
• Control de acceso a los servicios
Técnicas de filtrado y seguridad de tráfico
en redes.
• Mecanismos de confianza por dominios
• Protección pasiva
Cortafuegos
• Tunelización
• ...

Más contenido relacionado

La actualidad más candente

Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacionMauricio Duero
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosJorge Guerra
 
Variacion Cliente Servidor
Variacion Cliente ServidorVariacion Cliente Servidor
Variacion Cliente ServidorArnulfo Gomez
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Arquitectura de sistemas
Arquitectura de sistemasArquitectura de sistemas
Arquitectura de sistemasTensor
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capasKevin Barja
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 

La actualidad más candente (20)

Arquitectura de un sistema de informacion
Arquitectura de un sistema de informacionArquitectura de un sistema de informacion
Arquitectura de un sistema de informacion
 
Arquitectura distribuida
Arquitectura distribuidaArquitectura distribuida
Arquitectura distribuida
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas Distribuidos
 
Sistemas distribuidos pnn2
Sistemas distribuidos pnn2Sistemas distribuidos pnn2
Sistemas distribuidos pnn2
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
Variacion Cliente Servidor
Variacion Cliente ServidorVariacion Cliente Servidor
Variacion Cliente Servidor
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
sistemas distribuidos
sistemas distribuidossistemas distribuidos
sistemas distribuidos
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Arquitecturas centralizadas
Arquitecturas centralizadasArquitecturas centralizadas
Arquitecturas centralizadas
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Arquitectura de sistemas
Arquitectura de sistemasArquitectura de sistemas
Arquitectura de sistemas
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capas
 
Arquitecturas de bases de datos distribuidas
Arquitecturas de bases de datos distribuidasArquitecturas de bases de datos distribuidas
Arquitecturas de bases de datos distribuidas
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidos Sistemas distribuidos
Sistemas distribuidos
 

Destacado

Legislação Calendário escolar 2014-15 e exames 2015
Legislação Calendário escolar 2014-15 e exames 2015Legislação Calendário escolar 2014-15 e exames 2015
Legislação Calendário escolar 2014-15 e exames 2015EDUCATE
 
Educación en la diversidad de las escuelas
Educación en la diversidad de las escuelasEducación en la diversidad de las escuelas
Educación en la diversidad de las escuelasYulissa Ortega
 
La creatividad (secundario)
La creatividad (secundario)La creatividad (secundario)
La creatividad (secundario)Julieta Magnano
 
Ciêcia Política_Cap.3_Paulo Bonavides
Ciêcia Política_Cap.3_Paulo BonavidesCiêcia Política_Cap.3_Paulo Bonavides
Ciêcia Política_Cap.3_Paulo BonavidesGaspar Neto
 
Presentación Congreso psicología comunitaria
Presentación Congreso psicología comunitariaPresentación Congreso psicología comunitaria
Presentación Congreso psicología comunitariaJosep Segui Dolz
 
Minhas súplicas irmãos vítimas calamidades
Minhas súplicas  irmãos vítimas  calamidadesMinhas súplicas  irmãos vítimas  calamidades
Minhas súplicas irmãos vítimas calamidadesSuely Anjos
 
Case The Group - Brindes ou peça promocional relativa a data comemorativa
Case The Group - Brindes ou peça promocional relativa a data comemorativaCase The Group - Brindes ou peça promocional relativa a data comemorativa
Case The Group - Brindes ou peça promocional relativa a data comemorativaThe Group Comunicação
 
Case The Group - Volkswagen no 28º Salão do Automóvel
Case The Group - Volkswagen no 28º Salão do AutomóvelCase The Group - Volkswagen no 28º Salão do Automóvel
Case The Group - Volkswagen no 28º Salão do AutomóvelThe Group Comunicação
 
Processos e praticas de educação e formação
Processos e praticas de educação e formaçãoProcessos e praticas de educação e formação
Processos e praticas de educação e formaçãoIsabel Cunha
 
MKT Day Exclusive- Geração e Gestão de Leard - Rogério Angelim
MKT Day Exclusive- Geração e Gestão de Leard - Rogério AngelimMKT Day Exclusive- Geração e Gestão de Leard - Rogério Angelim
MKT Day Exclusive- Geração e Gestão de Leard - Rogério AngelimRogério Angelim
 
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDER
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDEREXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDER
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDERJosé Pires
 

Destacado (20)

AFETOS DE AMOR
AFETOS DE AMORAFETOS DE AMOR
AFETOS DE AMOR
 
Mocking Test
Mocking TestMocking Test
Mocking Test
 
Legislação Calendário escolar 2014-15 e exames 2015
Legislação Calendário escolar 2014-15 e exames 2015Legislação Calendário escolar 2014-15 e exames 2015
Legislação Calendário escolar 2014-15 e exames 2015
 
Case The Group - Man Top Vendas
Case The Group - Man Top VendasCase The Group - Man Top Vendas
Case The Group - Man Top Vendas
 
Educación en la diversidad de las escuelas
Educación en la diversidad de las escuelasEducación en la diversidad de las escuelas
Educación en la diversidad de las escuelas
 
La creatividad (secundario)
La creatividad (secundario)La creatividad (secundario)
La creatividad (secundario)
 
Ciêcia Política_Cap.3_Paulo Bonavides
Ciêcia Política_Cap.3_Paulo BonavidesCiêcia Política_Cap.3_Paulo Bonavides
Ciêcia Política_Cap.3_Paulo Bonavides
 
Presentación Congreso psicología comunitaria
Presentación Congreso psicología comunitariaPresentación Congreso psicología comunitaria
Presentación Congreso psicología comunitaria
 
Minhas súplicas irmãos vítimas calamidades
Minhas súplicas  irmãos vítimas  calamidadesMinhas súplicas  irmãos vítimas  calamidades
Minhas súplicas irmãos vítimas calamidades
 
Case The Group - Brindes ou peça promocional relativa a data comemorativa
Case The Group - Brindes ou peça promocional relativa a data comemorativaCase The Group - Brindes ou peça promocional relativa a data comemorativa
Case The Group - Brindes ou peça promocional relativa a data comemorativa
 
Ramos do islão
Ramos do islãoRamos do islão
Ramos do islão
 
Case The Group - Volkswagen no 28º Salão do Automóvel
Case The Group - Volkswagen no 28º Salão do AutomóvelCase The Group - Volkswagen no 28º Salão do Automóvel
Case The Group - Volkswagen no 28º Salão do Automóvel
 
Mercadotecnia i, angel ortiz 0298
Mercadotecnia i, angel ortiz  0298Mercadotecnia i, angel ortiz  0298
Mercadotecnia i, angel ortiz 0298
 
Processos e praticas de educação e formação
Processos e praticas de educação e formaçãoProcessos e praticas de educação e formação
Processos e praticas de educação e formação
 
O art
O artO art
O art
 
MKT Day Exclusive- Geração e Gestão de Leard - Rogério Angelim
MKT Day Exclusive- Geração e Gestão de Leard - Rogério AngelimMKT Day Exclusive- Geração e Gestão de Leard - Rogério Angelim
MKT Day Exclusive- Geração e Gestão de Leard - Rogério Angelim
 
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDER
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDEREXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDER
EXCELENTE OPORTUNIDADE PARA VOCÊ EMPREENDER
 
Nelson Mandela
Nelson MandelaNelson Mandela
Nelson Mandela
 
RESULTADO 2013
RESULTADO 2013RESULTADO 2013
RESULTADO 2013
 
Copérnico
CopérnicoCopérnico
Copérnico
 

Similar a 123217605 capitulo2-sistemas-distribuidos

Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorGregorio Tkachuk
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Erivan Martinez Ovando
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Aldo Ulloa Carrasco
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Arquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxArquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxWilliam Martinez Perez
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptxjarek35
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
UNEG-AS 2012-Pres7: Procesamieno distribuido y Redes
UNEG-AS 2012-Pres7: Procesamieno distribuido y RedesUNEG-AS 2012-Pres7: Procesamieno distribuido y Redes
UNEG-AS 2012-Pres7: Procesamieno distribuido y RedesUNEG-AS
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Juan Franco
 
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudbex
 
UNIDAD 1 TEMA 2.pptx
UNIDAD 1 TEMA 2.pptxUNIDAD 1 TEMA 2.pptx
UNIDAD 1 TEMA 2.pptxItatyVivar1
 

Similar a 123217605 capitulo2-sistemas-distribuidos (20)

Cap02 modelos1
Cap02 modelos1Cap02 modelos1
Cap02 modelos1
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidor
 
Base expo
Base expoBase expo
Base expo
 
Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor Servidores informaticos, modelo cliente servdor
Servidores informaticos, modelo cliente servdor
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Unidad 1 equipo 4
Unidad 1 equipo 4Unidad 1 equipo 4
Unidad 1 equipo 4
 
Arquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docxArquitecturasdesistemasdebasesdedatos.docx
Arquitecturasdesistemasdebasesdedatos.docx
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx
 
Sd contecsi
Sd contecsiSd contecsi
Sd contecsi
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
UNEG-AS 2012-Pres7: Procesamieno distribuido y Redes
UNEG-AS 2012-Pres7: Procesamieno distribuido y RedesUNEG-AS 2012-Pres7: Procesamieno distribuido y Redes
UNEG-AS 2012-Pres7: Procesamieno distribuido y Redes
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.
 
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
cloudcomputing: Cloud Computing: ¿ una opción viable para su negocio?
 
UNIDAD 1 TEMA 2.pptx
UNIDAD 1 TEMA 2.pptxUNIDAD 1 TEMA 2.pptx
UNIDAD 1 TEMA 2.pptx
 

123217605 capitulo2-sistemas-distribuidos

  • 1. 1 Modelos de sistema - 2 Sistemas Distribuidos – ITInformática César Llamas, febrero 2003 Algunos esquemas de esta presentación están tomados de: Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 2 Índice Introducción Modelos arquitectónicos • Capas de software • Arquitecturas • Variaciones del modelo cliente-servidor • Interfaces y objetos • Requisitos de diseño Modelos fundamentales • ... de interacción • ... de fallo • ... de seguridad
  • 2. 2 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 3 Introducción El modelo arquitectónico describe: • Interacciones entre componentes • Enlace con la plataforma de red: “simplifica y abstrae las funciones y roles de los componentes individuales” El enfoque CDK es un poco confuso • Estructura de niveles de software • Variantes del modelo cliente-servidor • Código móvil 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 4 Íntroducción Modelos de requisitos no funcionales • Modelo de interacción • Modelo de fallo • Modelo de seguridad
  • 3. 3 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 5 Modelos arquitectónicos capas de soft Componentes importantes: • Plataforma • Middleware Hardware Sistema operativo Middleware Servicios de la aplicación Plataforma 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 6 Modelos arquitectónicos capas de soft Plataforma • Contiene los servicios propios de cada computadora concreta • Depende del hardware y del S.O.
  • 4. 4 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 7 Modelos arquitectónicos Middleware Permite enmascarar la heterogeneidad Puede dar un modelo y una interfaz de programación utilizable Puede soportar abstracciones como: • Llamadas a procedimientos remotos (RPC) • Comunicación en grupo • Eventos, replicación, servicios multimedia, etc... 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 8 Modelos arquitectónicos middleware ¿Qué forma tiene el middleware? : • Bibliotecas adicionales: Procedimientos remotos (RPC) Objetos remotos (RMI, CORBA) • Herramientas de programación Lenguajes de definición de interfaces (IDL) + Compiladores para ellos • Servicios básicos de ayuda servicios de nombres, para buscar objetos de notificación de eventos, De control de transacciones, etc.
  • 5. 5 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 9 Modelos arquitectónicos middleware ¿Qué limitaciones impone? • Se incrementa la complejidad arquitectónica: Hay más niveles • Hay que aprender más herramientas • Se pierde el control de bajo nivel sobre los modos de fallo • Se depende de terceras partes, • ... 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 10 Arquitecturas de sistema Índice Modelo cliente-servidor Múltiples servidores Procesos de igual a igual
  • 6. 6 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 11 Arquitecturas cliente servidor cliente-servidor Muy habitual (DNS, Web, ftp, telnet, ...) Un servidor puede ser cliente de otro servicio (servidor web -> crawler) Cliente Servidor Servidor Cliente proceso máquina invocación invocación invocación respuesta respuesta respuesta 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 12 Arquitecturas cliente servidor servidores múltiples Muy usada en DNS, Web y NIS Cliente Cliente Servidor Servidor Servidor
  • 7. 7 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 13 Arquitecturas cliente servidor proxy y caché Caché: almacena los recursos más probablemente usados. Un caché puede responder a un esquema de proxy • Los servidores proxy para el web aumentan la disponibilidad. 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 14 Arquitecturas cliente servidor proxy y caché Cliente web Servidor proxy Servidor web Cliente web Servidor web Usualmente, una Intranet El resto de Internet
  • 8. 8 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 15 Arquitecturas cliente servidor proxy y caché +petición ( ) «Interfaz» Sujeto +petición ( ) Proxy +petición ( ) sujetoReal 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 16 Arquitecturas de sistema procesos pares Cuando los roles entre procesos son de igual a igual (peer-to-peer) • Desempeñan tareas semejantes • Útil al descomponer aplicaciones en tareas coordinadas Ejemplo: • Cooperación y coordinación • Algoritmos descentralizados • (coordinación de agendas, trabajo colaborativo, ...)
  • 9. 9 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 17 Arquitecturas de sistema procesos pares Aplicación Código de coordinación Aplicación Código de coordinación Aplicación Código de coordinación 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 18 Variaciones en el modelo cliente-servidor Ejemplos Ejemplo: applets para clientes Web • Para implementar interfaces complejos • Para simular un modelo “push” sobre Web Cliente web Servidor web Applet ServidorCliente web
  • 10. 10 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 19 Variaciones en el modelo cliente-servidor Ejemplos Algunas posibilidades: • Según la ubicación del código del proceso cliente: Código estático Código con movilidad (recolocación del proceso) • Según la proporción de tareas que recae sobre el cliente y el servidor Clientes al estilo habitual Clientes ligeros de aplicaciones complejas Computadoras de red 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 20 Variaciones en el modelo cliente-servidor cliente ligero Aplicación centralizada Cliente ligero (interfaz) Procesamiento (lógica de negocio) Distribución Network Computer o PC Servidor de cómputo
  • 11. 11 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 21 Variaciones en el modelo cliente-servidor red espontánea Más posibilidades • Según la conexión: Enlace estático Enlace dinámico (Dispositivos móviles y enlace espontáneo) Conexión espontánea Metropolitana (GPRS, UTMS) Media (x0 o x00 m) (Wavelan, Wireless – 802.11b) Corta (x o x0 m) (BlueTooth, infrarojos, HomeRF) 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 22 Variaciones en el modelo cliente-servidor red espontánea Internet gateway PDA service Music service service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network
  • 12. 12 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 23 Variaciones en el modelo cliente-servidor red espontánea Ventajas del enlace espontáneo • Facilidad de conexión a la red local • Facilidad de integración con los servicios locales Cuestiones a resolver • Problemas de conectividad (zonas sombra, cambio de célula, ...) • Seguridad • Servicios de detección y/o descubrimiento Admisión Búsqueda 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 24 Variaciones en el modelo cliente-servidor Más posibilidades • Según el diseño de la interfaz entre procesos: Interfaz estático Interfaz orientado a llamada a procedimiento remoto Interfaz con llamada a procedimiento remoto: Estático (el habitual en RPC) • Orientado a objetos (Dinámico)
  • 13. 13 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 25 Interfaces y objetos Interfaz de un proceso “Conjunto de peticiones a que responde” Estilos • Mediante interfaces de módulos “módulos” Soportado en Modula2, RPC, ... • Mediante la interfaz de los objetos en OOP Soportado de modo natural para SD en: Java RMI CORBA 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 26 Interfaces y objetos para S.D. “Los procesos contienen objetos cuyos métodos podemos invocar de modo remoto” Es deseable que las referencias a los objetos remotos se usen de modo “transparente” (como las locales) No podemos hablar exclusivamente de procesos cliente y procesos servidor, sino de “objetos cliente” y “objetos servidor”
  • 14. 14 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 27 Requisitos de diseño para arquitecturas distribuidas Requisitos no funcionales (Análisis del sistema) medibles • Requisitos de rendimiento o prestaciones • Requisitos de calidad de servicio • (cuestión relacionada: caché y replicación) no medibles (fiabilidad) • Tolerancia • Seguridad 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 28 Requisitos de diseño ... sobre prestaciones Capacidad de respuesta (responsiveness) • Está limitada por: La velocidad de las redes La velocidad de los nodos, y en este caso La cantidad de capas (middleware). Productividad (throughput) • Tareas completadas /tiempo Balance de cargas (disminuyen la competición) • Entre computadoras alternativas • Entre los procesos implicados Ej: la carga media de cada servidor debe estar balanceada y no superar el 50 % Ej: 1000 reservas de billete por segundo.
  • 15. 15 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 29 + fiabilidad, seguridad, adaptabilidad Requisitos de diseño ... sobre calidad de servicio Indicador de la aceptabilidad de un servicio • Está relacionada con fiabilidad, seguridad y adaptabilidad. • Actualmente se recomienda usar QoS para hacer referencia a la capacidad de garantizar tasas de transferencia y tiempos límite (en telecomunicaciones) • ... Importante para datos críticos en el tiempo (caudales de sonido, de vídeo, etc...) Capacidad de respuesta, Productividad, Balance de carga Calidad de Servicio (en general): 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 30 Requisitos de diseño ... sobre prestaciones Las prestaciones son un obstáculo principal para el despliegue de soluciones distribuidas • Al usar réplicas y • caché, se disminuye comunicación y tiempos. Ejemplo: protocolo de caché de web (para navegadores y clientes web) • Recurso + tiempo de expiración + tiempo local del servidor web
  • 16. 16 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 31 Requisitos de diseño ... sobre fiabilidad Corrección Tolerancia a fallos • Se consigue introduciendo redundancia en recursos software y en componentes físicos; Computadoras, procesos, enlaces de red, ... • también con protocolos con reconocimiento, y • con mecanismos de recuperación. Seguridad • Protección activa y pasiva contra ataques, y • Mecanismos de seguridad criptográfica. 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 32 Modelos fundamentales Modelo: contiene los elementos esenciales para comprender y razonar sobre el sistema • Manifiesta las premisas del sistema • Generaliza sobre lo que es posible o no. Principales modelos: • De interacción • De fallo • De seguridad
  • 17. 17 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 33 canal proceso q recibe(m) Modelo de Interacción La forma en que se produce el “paso de mensajes” entre los procesos restringe los modos de interacción • Retrasos, precisión, y tiempo Modelo de Canal de comunicación Modelo de comunicación Modelo de Programación distribuido proceso p envía(m) emisión recepción 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 34 Modelo de interacción Problemas presentados en las prestaciones del canal • Latencia: Retardo entre la emisión y recepción: acceso + transmisión + propagac. niveles soft. • Velocidad limitada (Datos/t) • Fluctuación o cortes (jitter) Problemas presentados en la noción de tiempo (timestamps de cada evento): • Derivas (diferencia horaria) diferentes • Tasas de derivas (ritmo de deriva) diferentes
  • 18. 18 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 35 Modelo de interacción tiempo y sincronicidad En virtud del modelo de comunicación aparecen dos familias de sistemas: • Sistemas distribuidos síncronos • Sistemas distribuidos asíncronos Tasas de de deriva imprevisibles Tasas de deriva locales conocidas Error en los relojes Retardos imprevisibles en la transmisión Timeouts de recepción conocidos Tiempo de comunicación Velocidad de proceso muy variable Timeouts superior e inferior en cada etapa de proceso Respuesta de los procesos Sistema distribuido asíncrono Sistema distribuido síncrono 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 36 Modelo de interacción tiempo y sincronicidad Consecuencia básica de la asincronicidad “en un sistema asíncrono los eventos pueden observarse desordenados con respecto a su generación” Ejemplo: 1. El usuario X envía un mensaje con el tema Reunión. 2. Los usuarios Y y Z responden con un mensaje con el tema Re: Reunión.
  • 19. 19 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 37 Modelo de interacción tiempo y sincronicidad Si rompe la relación de causalidad Si los relojes de X, Y y Z pudieran sincronizarse, podríamos observar la secuencia ordenada. Re: ReuniónY25 ReuniónX24 Re: ReuniónZ23 AsuntoEmisorElemento Bandeja de entrada 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 38 Modelo de interacción tiempo y sincronicidad observador Z Y X envía m1 envía m2 envía m3 recibe recibe recibe recibe recibe t1 t2 t3 Tiempo físico 23 24 25 recibe
  • 20. 20 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 39 Modelo de interacción tiempo y sincronicidad Posibilidad en sistemas asínconos: Relojes lógicos: Proporcionan enteros consecutivos que permiten ordenar eventos marcados por un timestamp, con la relación de orden ocurrió_antes(S1,S2). • X envía m1 antes de que Y reciba m1 T(envía(X,m1)) < T(recibe(Y,m1)) ocurrió_antes(envía(X,m1), recibe(Y,m1)) Y recibe m1 antes de enviar m2 T(recibe(Y,m1)) < T(envía(Y,m2)) ocurrió_antes(recibe(Y,m1), envía(Y,m2)) Luego, por transitividad: T(envía(Y,m2)) < T(recibe(X,m2)) ocurrió_antes(envía(X,m1), envía(Y,m2)) X envía m1 antes de que Y envíe m2 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 40 Modelo de fallo tipos Fallo por omisión (del proceso, o del canal) • Los componentes no cumplen sus funciones de temporización El fallo arbitrario requiere una categoría especial (o binzantinos) Temas de robustez y fiabilidad frente a fallos Enmascaramiento de fallos Fiablidad y comunicación uno a uno
  • 21. 21 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 41 Modelo de fallo tipos Es mejor que ciertos procesos caigan antes que fallar y funcionar mal. • El diseño es más simple si se supone que los procesos erróneos caen y se detecta la caída. El proceso se detiene indefinidamente, y el error puede no ser detectable. Opciones: 1. Un protocolo temporizado puede detectar fallos en la operación. 2. Un mecanismo de encuesta (polling) puede detectar fallos. Rotura o caída (crash) 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 42 Modelo de fallo tipos Caída detectable Opciones: Se recoge una notificación de caída Fallo-detención (fail-stop) Se completa “envía()”, pero no llega a emitirse el mensaje Opciones: “envía()” devuelve un mensaje de error, que hay que catalogar Omisión de emisión R Posiblemente admite reintentos
  • 22. 22 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 43 Modelo de fallo tipos Se completa la recepción (escucha), pero no se “recibe()” el mensaje Opciones: 1. “recibe()” emite un error que hay que catalogar 2. Si “recibe()” está temporizado no se emite error y hay que interrogar a la interfaz de red. Omisión de recibimiento R 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 44 Modelo de fallo tipos El mensaje no llega a ser escuchado Opciones: 1. Si “recibe()” está temporizado no se emite error y hay que interrogar a la interfaz de red. Omisión del canal R
  • 23. 23 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 45 Modelo de fallo tipos El sistema presenta un comportamiento arbitrario: omisiones, tiempos arbitrarios, paradas, fallos. Opciones: 1. Intentar catalogar el fallo de un modo más preciso mediante sondeos. 2. Incluir comprobaciones para descartar comportamientos puntualmente erróneos (ej: checksums) 3. El sistema puede tener que parar completamente para no ocasionar daños. Fallo arbitrario (bizantino) R 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 46 Modelo de fallo tipos La tasa de deriva del reloj es excesiva, y afecta al proceso local. Opciones: 1. Sincronizar frecuentemente. 2. Considerar inválido el reloj local. Fallo en el reloj R
  • 24. 24 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 47 Modelo de fallo tipos El proceso se demora en exceso Opciones: 1. Introducir un protocolo de sondeo con procesos de apoyo, para descartar fallos en el canal. 2. Invalidar el proceso mediante timeouts. Fallo de prestaciones en el proceso La transmisión se demora en exceso. Opciones: 1. Introducir un protocolo de sondeo con procesos de apoyo, para descartar fallos en el proceso. Fallo de prestaciones en el canal R 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 48 Modelo de fallo enmascaramiento de fallo Aún es posible construir servicios fiables con componentes que presenten fallos. • Ocultándolos bajo una capa software que se recupere de ciertos fallos Ejemplo: TCP/IP sobre red no fiable. (Reintentos) + (Reordenamiento) • Convirtiéndolo en un fallo más aceptable Ejemplo: un fallo en un checksum de un dato recibido (fallo arbitrario) se puede convertir en un fallo por omisión del canal. (Comprobaciones auxiliares)
  • 25. 25 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 49 Modelo de fallo enmascaramiento de fallo Mediante redundancia y replicación • Ej: sistema de varios servidores con réplicas • Ej: sistema RAID para archivos. • (soluciones ad-hoc) ... El enmascaramiento y ocultación del fallo suele requerir el diseño de un servicio de más alto nivel: • Ej: la pila de niveles de transporte TCP e ISO/OSI no solo elevan el nivel de abstracción sino que enmascaran y ocultan muchos fallos. 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 50 Modelo de seguridad Las técnicas de seguridad permiten la comprobación de fallos y la minimización de su posible aparición: Comunicación fiable • Validez de la comunicación: cualquier mensaje enviado() será escuchado. • Integridad de la comunicación: Cualquier mensaje recibido() es correcto y respeta la secuencialidad. Amenazas: • Duplicación de mensajes, desorden, corrupción del mensaje, revelación, (y sigue...)
  • 26. 26 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 51 Modelo de seguridad amenazas A los procesos: • Acceso indebido a los recursos • Ataque a la integridad del proceso • Suplantación de los principales interlocutores • Falsificación de servicios • Falsificación de peticiones 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 52 Modelo de seguridad amenazas A los canales: • Acceso indebido al canal • Captura de mensajes • Reenvío de mensajes • Eliminación de mensajes • Modificación de mensajes y de código móvil A la disponibilidad del servicio: • Ataque a la integridad de los servicios • Ataque de denegación de servicio
  • 27. 27 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 53 Modelo de seguridad amenazas Seguridad de... • Las interacciones en procesos y canales • Las acciones de acceso a objetos (derechos) canal proceso q recibe(m) proceso p envía(m) emisión recepción enemigo Principal emisor Principal receptor 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 54 Modelo de seguridad técnicas Criptografía (de clave secreta y de clave pública) • Encriptación para preservar la privacidad • Firmas para preservar la autenticidad • Autenticación para preservar la identidad • Contrato digital para preservar la legalidad Ejemplos de servicios seguros • Correo electrónico seguro • Pagos seguros por Internet
  • 28. 28 26/03/2003 Sistemas Distribuidos (I.T.Informática - UVA (c) César Llamas Bello 2003) 55 Modelo de seguridad técnicas Técnicas sobre derechos de acceso • Control de acceso a los recursos • Control de acceso a los servicios Técnicas de filtrado y seguridad de tráfico en redes. • Mecanismos de confianza por dominios • Protección pasiva Cortafuegos • Tunelización • ...