Você está na página 1de 54

Modelos Arquitectnicos

Sistemas Distribuidos 2010-3

Agenda
Introduccin Modelos arquitectnicos Capas de Software

Plataforma Middleware
Arquitecturas de sistema

Modelo cliente-servidor Servicios proporcionados por mltiples servidores Servidores proxy y cachs Procesos <<de igual a igual>> Cdigo mvil Agentes mviles Computadores de red Clientes ligeros Dispositivos mviles y enlace espontneo a red

Variaciones en el modelo de cliente-servidor

Introduccin
Los modelos arquitectnicos en un s.d. tratan sobre la colocacin de partes y las relaciones entre ellas. Ejs.: modelo cliente-servidor modelo de procesos <<de igual a igual >> En un sistema distribuido no hay tiempo global, por lo tanto toda comunicacin entre procesos se realiza por medio de entrega de mensajes.

Introduccin
La comunicacin entre mensajes puede sufrir varios fallos y es vulnerable a los ataques de seguridad. Esos aspectos se consideran en tres modelos: Modelo de interaccin: Trata de las prestaciones y de la dificultad de poner lmites temporales en un S.D.. Modelo de fallos: Trata de dar una especificacin detallada de los fallos que se pueden producir en los procesos y en los canales de comunicacin. Define comunicacin fiable y procesos correctos. Modelo de seguridad: Trata de las posibles amenazas para los procesos y canales de comunicacin.

Introduccin
Los sistemas distribuidos deben ser diseados para funcionar correctamente en un rango de circunstancias ms amplio posible y considerando todas las dificultades y amenazas. Problemas Modos de utilizacin muy variables: Las partes componentes de los sistemas estn sujetas a grandes variaciones en la carga de trabajo. Amplio rango de entornos: Un S.D. debe acomodarse a hardware, sistemas operativos y redes heterogneas. Problemas internos: Relojes no sincronizados, actualizaciones conflictivas de datos, fallos de HW y SW implicando a componentes individuales de un sistema. Amenazas externas: Ataques a la integridad y el secreto de los datos, denegacin del servicio.

Modelos arquitectnicos
La arquitectura de un sistema es su estructura en trminos de componentes especificados por separado. El objetivo es asegurar que la estructura satisfar con las demandas presentes y previsibles sobre l. El modelo arquitectnico simplifica y abstrae, inicialmente, las funciones de los componentes individuales de dicho sistema y posteriormente considera: Ubicacin de componentes en la R.C., buscando definir patrones utilizables para la distribucin de datos y carga de trabajo. Las interrelaciones entre los componentes, es decir, papeles funcionales y los patrones de comunicacin entre ellos.

Modelos arquitectnicos
Una simplificacin inicial en clasificar los procesos en: Servidores Clientes Iguales Esta clasificacin ayuda a valores cargas y determinar impactos de fallo en cada uno. Se pueden construir otros sistemas dinmicos con variaciones del modelo cliente-servidor: Posibilidad de mover cdigo (clientes descargar cdigo de los servidores) Algunos S.D. permiten que los computadores y dispositivos mviles se aadan y eliminen sin incidencia, permitiendo el descubrimiento de servicios disponibles y el ofrecer sus servicios a otros. La ubicacin de los procesos esta tambin influenciada en prestaciones, fiabilidad, seguridad y coste.

Capas de Software
El termino arquitectura de SW se refera inicialmente a la estructuracin del SW como capas o mdulos en un nico computador y ms recientemente en trminos de los servicios ofrecidos y solicitados entre procesos localizados en el mismo o diferentes computadores.

Capas de Software
pp at o s ser es

dd eware

Operat

s ste atfor

Co p ter a d etwork ardware

Capas de Software
Middleware: Capa de SW cuyo propsito es enmascarar la heterogeneidad y dar un modelo de programacin conveniente para los programadores de aplicaciones. Entre los middleware orientados a objetos ms utilizados estn: C RBA (Common bject Request Bro er Architecture de MG). Invocacin de objetos remotos en Java (RMI). Modelo Comn de bjetos Distribuidos de Microsoft (DC M)

Capas de Software
Limitaciones del middleware: Muchas aplicaciones distribuidas dependen enteramente de los servicios proporcionados por el middleware disponible, para soportar sus necesidades de comunicacin y compartir datos. Por lo tanto se ha conseguido mucho en la simplificacin, aunque algunos aspectos de la confiabilidad precisan soporte de aplicacin. Se puede pensar que todas las actividades de comunicacin pueden abstraerse de la programacin mediante la introduccin de capas de middleware. Es funcionalmente correcto que las comprobaciones, mecanismos de correccin de errores y medidas de seguridad en distintos niveles, PER es muy probable que se este duplicando: Trabajo Malgasto esfuerzo en la programacin Ms importante aadiendo complejidad innecesaria y realizando cmputos redundantes.

Arquitecturas de sistema
La divisin de responsabilidades entre los componentes del sistema (aplicaciones, servidores y otros procesos) y la ubicacin de los componentes en los computadores en la red. Sus implicaciones fundamentales estn en las prestaciones, fiabilidad y seguridad del sistema redundante. Las convenciones son: Procesos (elipses) Rectngulos (Cajas grises) Flechas son mensajes etiquetas como invocacin o resultado.

Arquitecturas de sistema
Modelo cliente-servidor:
lient invocation result invocation result erver

erver

lient

Ke : rocess: om uter:

Un servidor a su vez puede ser cliente de otro servidor.

Arquitecturas de sistema
Servicios proporcionados por mltiples servidores: Los servicios pueden implementarse como distintos procesos de servidor en computadores separados interaccionando, cuando es necesario, para proporcionar un servicio a los procesos clientes. Los servidores pueden dividir el conjunto de objetos en los que est basado el servicio y distriburselos entre ellos mismos, o pueden mantener copias replicadas de ellos en varias mquinas.
ervice erver lient

erver

lient erver

Arquitecturas de sistema
Servidores proxy y cachs: Un cach es un almacn de objetos de datos utilizados recientemente, y se encuentra ms prximo que los objetos en s.
lient ro y ser er eb ser er eb ser er

lient

Arquitecturas de sistema
Procesos <<de igual a igual>>: Todos los procesos desempean tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cmputo sin distincin entre clientes y servidores.

Application oordination code

Application oordination code

Application oordination code

Variaciones en el modelo de ClienteServidor


Se pueden considerar diferentes variaciones dependiendo de: Uso de cdigo mvil y agentes mviles. Las necesidades de los usuarios de computadoras de bajo costo y con recursos de hw limitados, que son muy sencillos de manejar. El requisito de aadir o eliminar de una forma conveniente dispositivos mviles.

Variaciones en el modelo de ClienteServidor


Cdigo Mvil: Ejemplo ms conocido son los applets.
a client re est res lts in t e do nloadin o applet code e server

Client pplet code client interacts it t e applet

Client

pplet

e server

Variaciones en el modelo de ClienteServidor


Agentes mviles: Un agente mvil es un programa en ejecucin (cdigo + datos) que se traslada de un computador a otro en la red utilizando una tarea para alguien.
Ejemplo: Recolectar informacin, y retornar eventualmente los resultados.

Variaciones en el modelo de ClienteServidor


Computadores de red: En las computadoras normales gran parte del cdigo y de los datos activos estn ubicados localmente. Pero la gestin de archivos de aplicacin y el mantenimiento de sw de base local precisa un esfuerzo tcnico considerable. El computador de red es una solucin a este problema desacargando el sistema operativo y cualquier aplicacin de software desde un servidor de archivos remotos.

Variaciones en el modelo de ClienteServidor


Clientes ligeros: El trmino cliente ligero se refiere a una capa de aplicacin que soporta una interfaz de usuario basada en ventanas sobre un computador local del usuario mientras se ejecutan programas de aplicacin en un computador remoto.
Networ computer or PC Thin Client networ Compute server

Application Process

Variaciones en el modelo de ClienteServidor


Dispositivos mviles y enlace espontneo a red: Debido a la difusin de dispositivos mviles es necesario contemplar estos dispositivos entre los entornos de red y el beneficios de los servicios locales y remotos segn se mueven. Las caractersticas esenciales de la conexin a red espontnea son: Conexin fcil a la red local. Integracin fcil con servicios locales

Variaciones en el modelo de ClienteServidor


Para usuarios mviles se presentan otras cuestiones. stos ven limitada su conectividad cuando viajan, y la naturaleza espontnea de su conexin incrementa los problemas de seguridad. Conectividad limitada: El tema es si se puede dar soporte a un usuario que est desconectado. Seguridad y privacidad: Intentos de conexiones no supervisadas. Adems su los usuarios pueden acceder a los datos mientras se mueven puede exponer los datos, que se suponen permanecen detrs del cortafuegos de la intranet, o pueden abrir la intranet a ataques del exterior.

Variaciones en el modelo de ClienteServidor


Servicios de deteccin: La pregunta a resolver es cmo pueden conectarse los clientes a los servicios que necesitan para completar sus tareas habituales?. Lo que se necesita es aceptar y almacenar detalles de los servicios que estn disponibles en la red y responder a las consultas de los clientes sobre los mismos. Es as como un servicio de descubrimiento ofrece dos interfaces: Servicio de admisin: Acepta solicitudes de ingreso de los servidores y almacena sus detalles en la b.d. del servicio de descubrimiento. Servicio de bsqueda: Acepta consultas relacionadas con los servicios disponibles, y busca en la b.d. aquellos servicios registrados que coincidan con las consultas.

Modelos de Sistema Modelos Fundamentales


Pontificia Universidad Javeriana 2010-3

Modelos Fundamentales (Introduccin)


Qu son?
Descripcin ms formal de las propiedades que son comunes en todos los modelos arquitectnicos.

Similitudes de los modelos arquitectnicos?


PM Req. de D.

Modelos Fundamentales (Introduccin)


Para qu sirven?
Un modelo de sistema debe resolver las siguientes preguntas:
Cules son las entidades principales en el sistema? Cmo interactan? Cules son las caractersticas que afectan su comportamiento individual y colectivo?

Modelos Fundamentales (Introduccin)


Los objetivos de un modelo son:
Hacer explicitas todas las premisas relevantes sobre los sistemas que se estn modelando. Hacer generalizaciones respecto a lo que es posible o no, dadas las premisas anteriores.

Modelos Fundamentales (Introduccin)


Los aspectos de los S.D. que se quieren capturar en los modelos fundamentales estn destinados a ayudarnos a discutir y razonar sobre:
Interaccin Fallo Seguridad

Modelos Fundamentales (Modelo de Interaccin)


El comportamiento y estado de los S.D. se describe usando algoritmos distribuidos. Algoritmos distribuidos: Un Algoritmo distribuido consiste en una definicin de los pasos que hay que llevar a cabo por cada uno de los procesos de que consta el sistema (incluyendo los mensajes de transmisin entre ellos).

Modelos Fundamentales (Modelo de Interaccin)


Prestaciones de los canales de comunicacin
Formas: Streams/Mensajes Caractersticas: latencia, ancho de banda y las fluctuaciones.
Latencia: Retardo entre el envi de un mensaje por un proceso y su recepcin por otro. Pag. 46. Latencia: Intervalo de tiempo que ocurre entre la ejecucin de la operacin de envo y el instante en que los datos comienzan a estar disponibles en el destino. Tmp de Trans.=latencia+long/tasa de transferencia. Pag. 63

Modelos Fundamentales (Modelo de Interaccin)


Prestaciones de los canales de comunicacin
Latencia:
Tiempo que tarde en llegar al destino el primero de una trama de bits transmitidos a travs de una red. El retardo en acceder a la red. Tiempo empleado por los servicios de comunicacin del S.O. tanto en el proceso que enva como en el proceso que recibe.

Modelos Fundamentales (Modelo de Interaccin)


Prestaciones de los canales de comunicacin
Ancho de banda: Cantidad total de informacin que puede transmitirse en un intervalo de tiempo dado. Fluctuacin (Jitter): Variacin en el tiempo invertido en completar el reparto de una serie de mensajes.

Modelos Fundamentales (Modelo de Interaccin)


Relojes de computadores y eventos de temporizacin:
Cada computador tiene su propio reloj. Dos proceso en ejecucin sobre dos computadores diferentes asocian marcas (o sellos) temporales a sus eventos. Problema: Si dos procesos leen sus relojes a las vez, los relojes proporcionarn tiempos diferentes. Se debe a que los relojes presentan derivas con respecto al tiempo perfecto.

Modelos Fundamentales (Modelo de Interaccin)


Relojes de computadores y eventos de temporizacin:
Tasa de deriva del reloj: Proporcin en que el reloj de un computador difiere del reloj de referencia perfecto. Tcnicas de correccin de tiempos del reloj de los computadores: Lecturas de tiempo de un GPS.

Modelos Fundamentales (Modelo de Interaccin)


Variantes del modelo de interaccin:
Difcil establecer cotas sobre el tiempo que debe tomar la ejecucin de un proceso, el reparto de mensajes o la deriva del reloj. Modelos.
1. Fuerte restriccin sobre el tiempo (S.D.S.) 2. No hace ninguna presuposicin sobre el tiempo. (S.D.A.)

Modelos Fundamentales (Modelo de Interaccin)


Variantes del modelo de interaccin:
Sistemas distribuidos sncronos: Sistema en el que se establecen los siguientes lmites:
El tiempo de ejecucin de cada etapa de un proceso tiene ciertos lmites inferior y superior conocidos. Cada mensaje transmitido sobre un canal se recibe en un tiempo limitado conocido. Cada proceso tiene un reloj local cuya tasa de deriva sobre el tiempo real tiene un lmite conocido.

Modelos Fundamentales (Modelo de Interaccin)


Variantes del modelo de interaccin:
Sistemas distribuidos sncronos:
Es difcil obtener valores realistas y adems dar garantas sobre los valores elegidos. Pero a menos que se puedan garantizar lmites, cualquier diseo basado en los valores elegidos no ser fiable. Es til modelar un algoritmo como un sistema sincrnico para dar una idea de cmo se comportar un sistema distribuido real (timeouts).

Modelos Fundamentales (Modelo de Interaccin)


Variantes del modelo de interaccin:
Sistemas distribuidos Asncronos:
No existen limitaciones sobre:
Velocidad de procesamiento Retardos de transmisin de mensajes Tasas de deriva de reloj

Cualquier solucin vlida para un sistema distribuido asncrono es vlida para un S.D. sncrono. La necesidad de que cada elemento de un flujo de datos multimedia se repartan antes de un tiempo lmite es problema de tipo.?

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
En muchos casos interesa saber si un evento (enviar o recibir mensaje) ocurri antes, despus, o concurrentemente con otro evento en algn otro proceso. Ejecucin de un sistema puede describirse en trminos de:
Eventos Ordenacin a pesar de carecer de relojes precisos.

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
Ejemplo: Considerar el siguiente conjunto de intercambios entre un pequeo grupo de usuarios X, Y, Z y A de una lista de correo:
1. El usuario X enva un mensaje con el tema Reunin. 2. Los usuarios Y y Z responden con un mensaje con el tema Re: Reunin.

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
En tiempo real, se enva primero el mensaje de X, Y lo lee y responde; Z lee ambos mensajes, el de X y la rta de Y, y entonces enva otra respuesta. Pero.debido a los retardos independientes en el reparto de mensajes , los mensajes pueden ser repartidos como se muestra a continuacin, y usuarios como A podran ver mensajes en el orden equivocado.

Modelos Fundamentales (Modelo de Interaccin)

X 1

rdenamiento de eventos:
send m1 2 receive send 3 m2 receive Physical time receive 4 receive

send receive receive m3 t1 t2 m1 m2

receive receive receive t3

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
Si los relojes de los computadores X, Y y Z pudieran sincronizarse, podra utilizarse el tiempo asociado localmente a cada mensajes. Los mensajes m1,m2 y m3 llevaran los tiempos t1,t2 y t3 donde t1 < t2 < t3. Los mensajes recibidos se mostraran a los usuarios segn este ordenamiento temporal. SI los relojes estn sincronizados aproximadamente la temporizacin ocurrira en el orden correcto.

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
Como los relojes no pueden sincronizarse de manera perfecta. Lamport(87) propuso el modelo de tiempo lgico que se usa para ordenar eventos. El tiempo lgico permite inferir el orden en que se presentan los mensajes sin recurrir a relojes,
bvio: Los mensajes se reciben despus de su envo. X enva m1 antes de que Y reciba m1 Y enva m2 antes de que X reciba m2

Modelos Fundamentales (Modelo de Interaccin)


rdenamiento de eventos:
El tiempo lgico permite inferirel orden en que se presentan los mensajes sin recurrir a relojes,
Las respuesta se reciben despus de que se reciben los mensajes. Y recibe m1 antes de enviar m2

El modelo lleva la idea asignando un nmero a cada evento, que se corresponde con su ordenamiento lgico, de modo que los ltimos eventos tendrn nmeros mayores que los primeros.

Modelos Fundamentales (Modelo de Fallos)


Pueden fallar tanto los procesos como los canales de comunicacin. Comprensin de los efectos de los fallos. Fallos por omisin:
Casos en los que los procesos o los canales de comunicacin no consiguen realizar acciones que se suponen que pueden hacer.

Modelos Fundamentales (Modelo de Fallo)


Fallos por omisin:
Procesos:
Proceso se rompe. Detectar: timeouts La ruptura de un proceso se denomina falloparada.

Comunicaciones
Un fallo de este tipo ocurre cuando no se trasporta un mensaje.
Fallos por omisin de envo Fallos por omisin de recepcin Fallos por omisin del canal.

Modelos Fundamentales (Modelo de Fallo)


Fallos arbitrarios
Omiten pasos deseables para el procesamiento o se realizan pasos no intencionados de procesamiento. Ejemplo en los canales de comunicacin: cambio de partes del mensaje, mensajes repetidos.

Modelos Fundamentales (Modelo de Fallo)


Fallos de temporizacin
Aplican en los S.D. sincrnicos. Esta clase de fallos ocasiona que las respuestas no estuvieran disponibles para los clientes en un intervalo de tiempo dado. Tipos:
El reloj local excede el lmite de su tasa de deriva El proceso excede el lmite sobre el intervalo entre dos procesos. La transmisin toma ms tiempo que el lmite permitido.

Modelos Fundamentales (Modelo de Fallo)


Enmascaramiento de fallos:
El conocimiento de las caractersticas de un fallo de un componente puede permitir crear un nuevo servicio diseado para enmascarar los fallos del primero.

Fiabilidad y comunicacin uno a uno:


Comunicacin fiable en trminos de validez e integridad.
Validez: El mensaje ser hecho llegar al bfer de mensajes entrantes. Integridad: No cambia.

Modelos Fundamentales (Modelo de Seguridad)


Asegurar procesos y sus interacciones
El enemigo: Amenazas a procesos canales de comunicacin y denegacin de servicio.
Amenazas a procesos: Cualquier proceso diseado para admitir peticiones puede recibir un mensaje de cualquier otro proceso del s.d., y no podra ser capaz de determinar la identidad del emisor.
Identificacin del Servidor/Cliente.

Amenazas a los canales de comunicacin: Un enemigo puede copiar, alterar o insertar mensajes.

Modelos Fundamentales (Modelo de Seguridad)


Vencer amenazas de seguridad
Criptografa Autentificacin C + A = Canales seguros

tras posibles amenazas de un enemigo:


Denegacin de servicio Cdigo mvil

Modelos Fundamentales (Modelo de Seguridad)


Proteccin de objetos: Derechos de acceso.
ccess rights in ocation lient result bject

Ser er

Princi al (user)

et or

Princi al (ser er)

Você também pode gostar