Está en la página 1de 67

Instituto Politcnico Nacional

Escuela Superior de Cmputo

Desarrollo de Sistemas Distribuidos


Unidad I:
Introduccin

M. en C. Hermes Francisco Montes Casiano


hermes.escom@gmail.com

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

ndice

1 Definicin de un sistema distribuido


2 Objetivos y desafos
3 Requisitos de diseo
4 Modelos de Sistema
5 Modelos fundamentales

2/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccion

De 1945, cuando comenz la era moderna de las


computadoras, a 1985, stas eran grandes y caras.
Hacia la mitad de la dcada de 1980, dos avances en la
tecnologa comenzaron a cambiar esa situacin.
El desarrollo de poderosos microprocesadores.
La invencin de las redes de computadoras de alta velocidad.

El resultado de stas tecnologas ha hecho factible y fcil


poner a trabajar sistemas de cmputo compuestos por grandes
cantidades de computadoras interconectadas mediante una red.

3/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Definicin de un Sistema Distribuido

Sistemas Distribuido
Es una coleccin de computadoras independientes que dan al
usuario la impresin de construir un nico sistema coherente.
Esta definicin comprende diversos aspectos importantes:
1

Un sistema distribuido costa de componentes autnomos.

Los usuarios creen que realmente interactan con un sistema


nico. sto significa que de una manera o de otra los
componentes autnomos necesitan colaborar entre s.

4/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Definicin de un Sistema Distribuido

En principio todos los sistemas distribuidos deberan tener los


siguientes atributos:
Escalabilidad: sta caracterstica es consecuencia de tener
nodos independientes, pero al mismo tiempo, de ocultar cmo
estas computadoras realmente forman parte del sistema como
un todo.
Disponibilidad: un sistema distribuido estar disponible de
forma continua, aunque tal vez algunas partes pudieran
encontrarse fuera de operacin.

4/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Definicin de un Sistema Distribuido


Sistemas Distribuido
Con el objetivo de dar soporte a computadoras y redes
heterogeneas mientras se ofrece la vista de un sistema nico, los
sistemas distribuidos se organizan a menudo en trminos de una
capa de software:
Una capa de alto nivel (usuarios y aplicaciones)
Una capa subyacente constituida por sistemas operativos y
recursos bsicos de comunicacin.

4/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Ejemplo: WWW

La World Wide Web (WWW,


o simplemente Web) es un
espacio de informacin en el
que los elementos de inters,
conocidos como recursos, se
identifican mediante
identificadores globales
llamados URI.

5/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

ndice

1 Definicin de un sistema distribuido


2 Objetivos y desafos
3 Requisitos de diseo
4 Modelos de Sistema
5 Modelos fundamentales

6/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo

Slo por que es posible construir un sistema distribuido no


significa que necesariamente sea buena idea.
Un sistema distribuido debe hacer que los recursos sean fcilmente
accesibles; debe ocultar de manera razonable el hecho de que los
recursos estn distribuidos por toda la red, debe ser abierto y debe
ser escalable.

7/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: accesibilidad de recursos


El principal objetivos de un sistema distribuido es facilitar a los
usuarios y a las aplicaciones el acceso a los recursos remotos y
compartirlos de manera controlada y eficiente.

Qu es un recurso?
Un recurso puede significar casi cualquier cosa: impresoras,
computadoras, dispositivos de almacenamiento, datos, archivos,
pginas web, redes, etc.

Por qu quiero compartir recursos?


Una razn evidente es la econmica.
Conectar usuarios y recursos tambin facilita la colaboracin y el
intercambio de informacin (ej. la Internet.)
8/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: accesibilidad de recursos


El principal objetivos de un sistema distribuido es facilitar a los
usuarios y a las aplicaciones el acceso a los recursos remotos y
compartirlos de manera controlada y eficiente.

Por qu quiero compartir recursos?


Una razn evidente es la econmica.
Conectar usuarios y recursos tambin facilita la colaboracin y el
intercambio de informacin (ej. la Internet.)

Mientras la conectividad y el intercambio aumentan, la


seguridad se vuelve cada vez ms importante.

En la prctica
Los sistemas proporcionan poca proteccin en contra del espionaje
o de la intrusin en las comunicaciones
8/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: transparencia en la distribucin


Un objetivo importante de un sistema distribuido es ocultar el
hecho de que sus procesos y recursos estn fsicamente
distribuidos a travs de mltiples computadoras.

Definicin
Un sistema distribuido es transparente si es capaz de presentarse
ante los usuarios y las aplicaciones como si se tratara de una sola
computadora.

9/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: transparencia en la distribucin


Transparencia
Acceso
Ubicacin
Migracin
Reubicacin
Replicacin
Concurrencia
Falla

Descripcin
Oculta diferencias en la representacin de los datos
y la forma en que un recurso accede a los datos
Oculta la localizacin de un recurso
Oculta que un recurso pudiera moverse a otra ubicacin
Oculta que un recurso pudiera moverse a otra ubicacin mientras est en uso
Oculta el nmero de copias de un recurso
Oculta que un recurso puede ser compartido por
varios usuarios que compiten por l
Oculta la falla y recuperacin de un recurso

Cuadro : Distintas formas de transparencia


9/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: transparencia en la distribucin


Leslie Lamport
Usted se da cuenta de que tiene un sistema distribuido cuando la
falla de una computadora de la cual nunca haba escuchado le
impide realizar cualquier trabajo.

9/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: transparencia en la distribucin


Transparencia
Acceso
Ubicacin
Migracin
Reubicacin
Replicacin
Concurrencia
Falla

Descripcin
Oculta diferencias en la representacin de los datos
y la forma en que un recurso accede a los datos
Oculta la localizacin de un recurso
Oculta que un recurso pudiera moverse a otra ubicacin
Oculta que un recurso pudiera moverse a otra ubicacin mientras est en uso
Oculta el nmero de copias de un recurso
Oculta que un recurso puede ser compartido por
varios usuarios que compiten por l
Oculta la falla y recuperacin de un recurso

Cuadro : Distintas formas de transparencia


9/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: transparencia en la distribucin

Es buena idea la transparencia?


Sera mucho mejor hacer una distribucin explicita de modo que
nunca se engae al desarrollador de la aplicacin ni al usuario para
que crean que existe algo de transparencia.

Aspectos a considerar
La conclusin es que buscar la transparencia de distribucin puede
ser un buen objetivo cuando se disean e implementan sistemas
distribuidos, pero se deben considerar aspectos tales como el
rendimiento y la comprensibilidad.

9/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: escalabilidad

La escalabilidad de un sistema distribuido se puede medir de


acuerdo con almenos 3 dimensiones:
1
2
3

Un sistema puede ser escalable con respecto a su tamao.


Un sistema se puede escalar geogrficamente
Un sistema se puede escalar administrativamente

10/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: escalabilidad
La escalabilidad de un sistema distribuido se puede medir de
acuerdo con almenos 3 dimensiones:
1
2
3

Un sistema puede ser escalable con respecto a su tamao.


Un sistema se puede escalar geogrficamente
Un sistema se puede escalar administrativamente

Performance
Desafortunadamente, con frecuencia un sistema escalable en una o
ms de stas dimensiones exhibe alguna prdida de rendimiento al
escalarlo.

10/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: grado de apertura

Definicin
Un sistema distribuido abierto es un sistema que ofrece servicios de
acuerdo con las reglas estndar que describen la sintaxis y la
semntica de dichos servicios.
Los servicis se especifican a travs de interfaces, las cuales se
definen como lenguaje de definicin de interfas (IDL).

11/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo: grado de apertura


Interoperabilidad: define la extensin mediante la cual dos
implementaciones de sistemas o componentes de
fabricantes distintos pueden coexistir y trabajar juntos
si se apoyan en sus servicios mutuos.
Portabilidad: define la extensin mediante la cual una aplicacin
desarrollada para un sistema distribuido A se pueda
ejecutar, sin nunguna modificacin en un sistema
distribuido B que comparte la misma interfaz que A.

11/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Desafos

Heterogeneidad: redes, hardware, sistemas operativos, lenguajes de


programacin, etc.
Seguridad: confidencialidad, integridad y disponibilidad. Ej.
ataques de negacin de servicio o cdigo mvil.
Escalabilidad: control de costos de los recursos fisicos, control de
las prdidas de prestaciones, evitar cuellos de botella,
etc.
Extensibilidad: los sistemas distribuidos deben ser extensibles, el
primer paso es la publicacin de las interfaces de sus
componentes, pero la integracin de componentes
heterogneos es un reto autntico.

12/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Desafos

Tratamiento de fallos: cada componente necesita estar al tanto de


las formas posibles en que puede fallar cualquier
componente de los que depende.
Concurrencia: cada componente debe estar diseado para ser
seguro en un entorno concurrente.
Transparencia: el objetivo es que ciertos aspectos de la distribucin
sean invisibles al programador de aplicaciones de
modo que slo necesite ocuparse del diseo de su
aplicacin particular.

12/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

ndice

1 Definicin de un sistema distribuido


2 Objetivos y desafos
3 Requisitos de diseo
4 Modelos de Sistema
5 Modelos fundamentales

13/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin

La idea de compartir se logr, en los sistemas de tiempo


compartido de los 70s por medio de archivos compartidos.
La llegada de potencia de cmputo barata, en forma de chips
de microprocesador, elimin la necesidad de compartir los
procesadores centrales.
La disponibilidad de redes de computadoras de prestaciones
medias y la continua necesidad de compartir recursos
condujeron al desarrollo de los sistemas distribuidos de los
70s y 80s.
Los retos que surgen de la distribucin de recursos aumentan la
necesidad de la gestin de las actualizaciones concurrentes.

14/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin

Los principales requisitos que se deben considerar para el diseo de


un sistema distribuido son:
1

Capacidad de respuesta (Responsiveness)

Productividad (Throughput)

Calidad de Servicio (QoS)

14/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Capacidad de respuesta (Responsiveness)

Los usuarios de las aplicaciones interactivas necesitan rpidez y


consistencia en las interfaces.

Tiempo de respuesta
La velocidad a la que se genera una respuesta est determinada
por:
1

La carga y prestaciones del servidor

La red

Los retardos de todos los componentes software implicados

la comunicacin entre los sistemas operativos

Servicios middleware
15/41

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Capacidad de respuesta (Responsiveness)

Atencin!!!
Para obtener buenos tiempos de respuesta, los sistemas deben estar
compuestos de relativamente pocas capas de software y la cantidad
de datos transferidos debe ser pequea.
15/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Productividad (Throughput)

La productividad es la rapidez con la que se realiza el trabajo


computacional.

Capacidad
La capacidad de un sistema distribuido depende de las velocidades
de los procesos clientes y los servidores, adems de las tasas de
transferencia.
La productividad de las capas de software que interbienen es
bastante importante, as como de la red.

16/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Productividad (Throughput)

Uno de los prpositos es permitir que las aplicaciones y los


procesos de servicio evolucionen concurrentemente.

Cdigo mvil
La capacidad para ejecutar applets en un cliente elimina la carga
del servidor web, permitiendo proporcionar mejor servicio.
El balance de cargas puede implicar mover el trabajo
parcialmente completado, como carga a un dispositivo
alternativo.

16/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Calidad de servicio QoS

Las principales caractersticas no funcionales de los sistemas,


que afectan a la calidad del servicio son:
1
2
3

fiabilidad,
seguridad y
prestaciones

QoS se define en trminos de la respuesta, la productividad


computacional y proporcionar garantas oportunas.

17/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

ndice
1 Definicin de un sistema distribuido
2 Objetivos y desafos
3 Requisitos de diseo
4 Modelos de Sistema

Introduccin
Modelos arquitectonicos
Arquitecturas de sistemas
5 Modelos fundamentales
18/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin
Un modelo arquitectnico de un sistema distribuido trata sobre
la colocacin de sus partes y las relaciones entre ellas.
Cliente - Servidor
1

2
3

Particinamiento de datos o la replicacin en servidores


colaborativos.
El uso de cach para los datos en clientes y servidores proxy.
Requisitos para aadir o eliminar dispositivos mviles de forma
conveniente.

Modelo de procesos de igual a igual Punto a Punto.

19/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin
No hay un tiempo global en un sistema distribuido.
La comunicacin entre procesos se realiza por medio de
mensajes.
La comunicacin mediante mensajes sobre una red puede verse
afectada por retrasos y es vulnerable.

Modelos
1

Modelo de interaccin trata de las prestaciones y la dificultad de


poner lmites temporales en un sistema distribuido.

Modelo de fallos intenta dar una especificacin precisa de los fallos


que se pueden producir en los procesos y en los canales de
comunicaci. (Comunicin fiable y procesos correctos).

El modelo de seguridad discute sobre las posibles amenazas para


los procesos y los canales de comunicacin. Introduce el concepto de
canal seguro.
19/41

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin
Diseo de sistemas
Los sistemas deben disearse para funcionar correctamente en el
rango de circunstancias ms amplio posible y considerando todas
las dificultades y amenazas.

19/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin

Diseo de sistemas
Los sistemas deben disearse para funcionar correctamente en el
rango de circunstancias ms amplio posible y considerando todas
las dificultades y amenazas.

Modelo arquitectnico
Un modelo arquitectnico define la forma en que los componentes
de un sistema interactuan uno con otro y cmo estn vinculados
con la red de comunicaciones subyacente.

19/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Dificultades y amenazas para los sistemas distribuidos

Modos de utilizacin muy variables: Los componentes de un


sistema estn sujetos a grandes variaciones en la
carga de trabajo.
Amplio rango de entornos: Un sistema distribuido debe operar con
hardware, sistemas operativos y redes heterogneas.
Problemas internos: Relojes no sincronizados, actualizaciones
conflictivas de datos, muchas formas de fallos en
hardware y software implicando a los componentes
individuales de un sistema.
Amenazas externas: Ataques a la seguridad y el secreto de los
datos, denegacin de servicio.

20/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo de una arquitectura

La arquitectura de un sistema es su estructura en trminos de


componentes especificados por separado.
Se debe asegurar que la arquitectura satisfar las demandas
presentes y previsibles sobre el sistema distribuidos.

21/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Objetivo de una arquitectura

Una simplificacin inicial se obtiene clasificando los procesos


entre: servidores, clientes e iguales.
Clasificar a los procesos identifica las responsabilidades de
cada uno y ayuda a valorar sus cargas de trabajo y a
determinar el impacto de los fallos en cada uno de ellos.

Resultado del anlisis


Los resultados del anlisis del modelo arquitectnico pueden
utilizarse para especificar la distribucin de los procesos de una
forma que concuerde con los objetivos de prestaciones y fiabilidad
del sistema resultante.

21/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Capas de software
El trmino arquitectura de software se refera a la
estructuracin del software como capas o mdulos en un nico
dispositivo de cmputo.
Recientemente se define en trminos de los servicios ofrecidos
en el mismo o en diferentes equipos.

22/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Capas de software: Plataforma


El nivel de hardware y las capas ms bajas de software se
denominan, a menudo, plataforma para sistemas distribuidos y
aplicaciones.
Las capas ms bajas proporcionan servicios a las que estn por
encima de ellas y son implementadas independientemente en
cada computadora.
Windows para Intel x86
Sun Os para Sun SPARC
Solaris para Intel x86
Mac OS para PowerPC
Linux para x86
23/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Capas de software: Middleware


Su propsito es enmascarar la heterogeneidad y proporcionar
un modelo de programacin conveniente para los
programadores de aplicaciones
Se presenta mediante procesos u objetos en un conjunto de
computadoras.
Se ocupa de proporcionar bloques tiles para la construccin
de componentes de software que puedan trabajar con otros.
Mejora el nivel de las actividades de comunicacin de los
programas de aplicacin:
1
2
3
4

procedimientos de invocacin remota,


comunicacin entre un grupo de procesos,
notificacin de eventos,
replicacin de datos, etc.
24/41

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Arquitecturas de sistemas

La divisin de responsabilidades entre los componentes del


sistema y la ubicacin de los componentes en las
computadoras en la red, es quiz el aspecto ms evidente del
diseo de un sistema distribuido.
Sus implicaciones fundamentales estn en las prestaciones,
fiabilidad y seguridad del sistema resultante.
Los procesos con responsabilidades bien definidas interactan
con otros para realizar una actividad til.

25/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Modelo cliente-servidor
Histricamente es la ms importante y continua siendo la ms
utilizada.
Los servidores pueden, a su vez, ser clientes de otros servidores

26/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Servicios porporcionados por mltiples servidores


Los servicios pueden implementarse como distintos procesos de
servidor en computadoras separadas interaccionando para
porporcionar 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
Pueden mantener copias replicadas de ellos en varias mquinas.

27/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Servicios porporcionados por mltiples servidores

Los servicios pueden implementarse como distintos procesos de


servidor en computadoras separadas interaccionando para
porporcionar 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
Pueden mantener copias replicadas de ellos en varias mquinas.

Replicacin
La replicacin se utiliza para aumentar las prestaciones y
disponibilidad y para mejorar la tolerancia a fallos.

27/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Servidores proxy y cachs


Cach
Una cache es un almacen de objetos de datos utilizados
recientemente y que se encuentra ms prximo que los objetos en s.
1

Al recibir un objeto nuevo en una computadora se aade al


almacen de la cach, reemplazando algunos objetos existentes.

Cuando se necesita un objeto en un proceso cliente, el servicio


cach comprueba inicialmente la cach y le proporciona el
objeto de una copia actualizada.

Si no, se buscar una copia actualizada.

Las cachs pueden estar ubicadas en cada cliente o en un servidor


proxy que puede compartirse desde varios clientes.
28/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Servidores proxy y cachs


1

Al recibir un objeto nuevo en una computadora se aade al


almacen de la cach, reemplazando algunos objetos existentes.

Cuando se necesita un objeto en un proceso cliente, el servicio


cach comprueba inicialmente la cach y le proporciona el
objeto de una copia actualizada.

Si no, se buscar una copia actualizada.

Las cachs pueden estar ubicadas en cada cliente o en un servidor


proxy que puede compartirse desde varios clientes.

Objetivo
El propsito de los servidores proxy es incrementar la disponibilidad
y prestaciones del servicio, reduciendo las cargas de en redes y en
servidores web.
28/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Servidores proxy y cachs

28/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Procesos de igual a igual


Definicin
Los procesos desempean tareas semejantes, interactuando
cooperativamente como iguales para realizar una actividad
distribuida o cmputo sin distincin entre clientes y servidores.

29/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Procesos de igual a igual

El cdigo en los procesos mantiene la consistencia de los


recursos y sincroniza las acciones a nivel de la aplicacin
cuando es necesario.
n procesos podrn interactuar entre ellos, dependiendo del
patrn de comunicacin y de los requisitos de la aplicacin.
Eliminar el proceso servidor reduce los retardos de
comunicacin entre procesos al acceder a objetos locales.

29/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Variaciones en el modelo Cliente - Servidor


Se pueden distinguir algunas variaciones al modelo con base en:
El uso de cdigo mvil y agentes mviles
La necesidad de los usuarios de equipo de bajo costo y con
recurso hardaware limitados.
El requisito de aadir o eliminar de una forma conveniente
dispositivos mviles.
Ejemplos:
1

Cdigo mvil

Agentes mviles

Computadoras en red

Clientes ligeros
30/41

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

ndice
1 Definicin de un sistema distribuido
2 Objetivos y desafos
3 Requisitos de diseo
4 Modelos de Sistema
5 Modelos fundamentales

Modelo de fallo
Modelo de fallo
Modelo de seguridad
31/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin
Modelo
Un modelo contiene los ingredientes escenciales que necesitamos
para comprender y razonar sobre algunos aspectos del
comportamiento de un sistema. Un modelo debe tratar:
Cules son las principales entidades del sistema?
Cmo interactuan?
Cules son las caractersticas qye afetan sy comportamiento
individual y colectivo?

Objetivo
El objetivo de un modelo es:
1

Hacer explcitas todas las premisas relevantes sobre los


sistemas que se modelan.

Hacer generalizaciones respecto


32/41 a lo que es posible o no.

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Introduccin
Los aspectos de los sistemas distribuidos que se desean capturar en
un modelo son:
Interaccin: el cmputo ocurre en los procesos; los procesos
interactan por medio de paso de mensajes
(comunicacin y sincronizacin). El modelo de
interaccin debe reflejar hechos como que la
comunicacin tiene lugar con retrasos, que a menudo
son de considerable duracin y que la precisin en la
coordinacin est limitada por los retrasos y por la
dificultad de mantener un reloj global.
Fallo: la correcta operacin de un sistema distribuido se ve
amenazada all donde aparezca un fallo. Un modelo
debe definir y clasificar los fallos.
Seguridad: la naturaleza modular de los sistemas distribuidos y
su extensibilidad los expone a ataques tanto de
32/41 internos. El modelod e
agentes externos como
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Modelo de interaccin
La mayora de los desarrolladores estan familiarizados con el
concepto de algoritmo.
Los programas simples estn controlados por algoritmos en los
que los pasos son estrictamente secuenciales.
Los sistemas distribuidos son ms complejos. Su
comportamiento y el estado puede describirse mediante un
algoritmo distribuido: una definicin de los pasos que hay que
llevar a cabo por cada uno de los procesos de los que consta el
sistema.

33/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Modelo de interaccin
La tasa con que procede cada proceso y la temporizacin de
cada mensaje no puede predecirse.
Tambin es complicado describir todos los estados de un
algoritmo distribuido, debido a la naturaleza y fuentes de los
errores.
En un sistema distribuido toda la accin la soportan los
procesos que interactuan. Cada proceso tiene su propio estado,
que consiste en el conjunto de datos a los que puede acceder y
actualizar, incluyedo las variables internas al programa.

33/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Prestaciones de los canales de comunicacin


Los canales de comunicacin se implementan mediante
streams o por un simple paso de mensajes sobre una red de
computadoras.
Latencia: El retardo entre el envo de un mensaje por un
proceso y su recepcin por otro se denomina
latencia.
El tiempo que toma en llegar a su destino el
primero de una trama de bits.
El retardo en acceder a la red, que es grande
cuando la red est muy cargada.
El tiempo empleado por los servicios de
comunicacin del sistema operativo tanto en el
proceso que envia como en proceso que recibe.

Ancho de banda: es la cantidad total de informacin que


puede transmitirse en un intervalo de tiempo
dado.
Jitter: es la variacin34/41
en el tiempo invertido en
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Relojes de computadoras y eventos de temporizacin


Cada computadora de un sistema distribuido tiene su propio
reloj interno.
Los relojes presentan diferencias con respecto al tiempo
perfecto y sus tasas de precisin difieren.

Tasa de deriva
El trmino tasa de deriva del reloj alude a la proporcin en que el
reloj de una computadora difiere del reloj de referencia perfecto.

Intento de sincronizacin
Si los relojes de todas las computadoras de un sistema distribuido
se ponen a una misma hora a la vez, a partir de un tiemo sus
relojes variarn en una magnitud significativa a menos que se
apliquen correcciones.
35/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Relojes de computadoras y eventos de temporizacin

Hay varias aproximaciones a la correccin de los tiempos de


reloj de las computadoras.
1
2

GPS
Mensajes de temporizacn

35/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Variantes del modelo de interaccin


En un sistema distribuido es difcil establecer cotas sobre el
tiempo que debe tomar la ejecucin de un proceso, el reparto
de un mensaje o la deriva del reloj.
Sistemas distribuidos sncronos: cuenta con las siguientes
restricciones:
1

El tiempo de ejecucin de cada etapa de un proceso tiene


ciertos lmites inferior y superior.
Cada mensaje transmitido sobre un canalse recibe en un
tiempo limitado conocido.
Cada proceso tiene un reloj local cuya tasa de deriva sobre el
tiempo real tiene un lmite conocido.

Garantizar lo lmites
Es difcil obtener valores realistas y adems dar garantas sobre los
valores elegidos. A menos que se puedan garantizar los lmites,
cualquier diseo basado en dichos valores no ser fiable.
36/41

Se pueden construir sistemas distribuidos sincronos,


con Montes Casiano
Hermes Francisco

Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Variantes del modelo de interaccin

En un sistema distribuido es difcil establecer cotas sobre el


tiempo que debe tomar la ejecucin de un proceso, el reparto
de un mensaje o la deriva del reloj.
Sistemas distribuidos asncronos: un sistema distribuido
asincrono es aquel en el que no existen limitaciones sobre:
1

La velocidad de procesamiento, a cada paso de un proceso le


tomar un intervalo de tiempo arbitrariamente largo.
Los retardos de transmisin de mensajes, un mensaje puede
recibirse tras un tiempo arbitrariamente largo.
Las tasas de deriva de un reloj son arbitrariamente largas.

36/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Variantes del modelo de interaccin

En un sistema distribuido es difcil establecer cotas sobre el


tiempo que debe tomar la ejecucin de un proceso, el reparto
de un mensaje o la deriva del reloj.
Sistemas distribuidos asncronos:
El modelo asncrono no presume nada sobre los intervalos de
tiempo involucrados en cualquier ejecucin (modelo de
internet).
Los sistemas distribuidos reales son frecuentemente asncronos
a causa de la necesidad de los procesos de compartir
procesadores y de los canales de comunicacin de compartir la
red.

36/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Modelo de Fallo
En un SD pueden fallar tanto los procesos como los canales de
comunicacin:

Definicin
El modelo de fallo define las formas en que puede ocurrir un fallo
para darnos una comprensin de los efectos de los fallos.
Fallo por omisin: se refieren a casos en los que los procesos o los
canales de comunicacin no consiguen realizar
acciones que se supone pueden hacer.
Fallo arbitrario: tambin denominado fallo bizantino se emplea para
describir la peor semntica de fallo posible, en la que
puede ocurrir cualqiier tipo de error.
Fallo de temporizacin: se aplican en los sistemas distribuidos
sncronos donde se establecen lmites en el tiempo de
ejecucin de un proceso, en el tiempo de reparto de
37/41
un mensaje y en la tasa de deriva deHermes
un reloj.
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin
Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Ejemplo: Fallos por omisin y fallos arbitrarios


Clase de fallo
Fallo-parada

Afecta a
Proceso

Descripcin
El proceso para y permanece parado.
Otros procesos pueden detectar este
estado.
Ruptura
Proceso
El proceso para y permanece parado.
Otros procesos pueden no ser capaces
de detectar este estado.
Omisin
Canal
Un mensaje insertado en el bfer de
mensajes salientes nunca llega al bfer de mensajes entrantes del otro extremo.
Omisin de Proceso
Un proceso completa y enva, pero el
envo
mensaje no es colocado en el bfer de
mensajes salientes.
Omisin de Proceso
El mensaje es colocado en la cola de
recepcin
mensajes del proceso, pero el proceso
no lo recibe.
Arbitrario
Proceso o El proceso/canal
presenta un compor38/41
Desarrollo(Bizantino)
de Sistemas DistribuidosUnidad
Hermes Francisco Montes Casiano
canal I: Introduccin
tamiento arbitrario.

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Ejemplo: Fallo de temporizacin

Clase de fallo
Reloj

Afecta a

Descripcin

Proceso

Prestaciones

Proceso

Prestaciones

Canal

El reloj local del proceso excede el


lmite de su tasa de deriva sobre el
tiempo real.
El proceso excede el lmite sobre el
intervalo entre dos pasos.
La transmisin de un mensaje toma
ms tiempo que el lmite permitido.

39/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Modelo de seguridad
El modelo arquitectnico da la base para un modelo de
seguridad.

Definicin
La seguridad de un sistema distribuido puede lograrse asegurando
los procesos y los canales empleados para sus interacciones y
protegiendo los objetos que encapsulan contra el acceso no
autorizado.
Criptografa La criptigrafa es la ciencia de mantener los mensajes
seguros y la encriptacin es el proceso de trastocar un
mensaje de modo que quede oculto el contenido.
Autenticacin Es el proceso de detectar y comprobar la identidad
de una entidad de seguridad examinando las
credenciales del usuario y validando esas credenciales
contra alguna autoridad.
40/41
Canales
seguros
Es un canal de comunicacin queHermes
conecta
un par
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin
Francisco Montes Casiano

Definicin

Objetivos y desafos

Requisitos de diseo

Modelos de Sistema

Modelos fundamentales

Propiedades de un canal seguro

Cada proceso conoce bien la identidad del pricipal en cuya


representacin se ejecuta un proceso.

Un canal seguro asegura la privacidad y la integridad


(proteccin contra la manipulacin) de datos transmitidos por
l.

Cada mensaje incluye un sello de carcter temporal, de tipo


fsico o lgico, para prevenir el reenvo o la reordenacin de los
mensajes.

41/41
Desarrollo de Sistemas DistribuidosUnidad I: Introduccin

Hermes Francisco Montes Casiano

También podría gustarte