Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Distribuidos PDF
Sistemas Distribuidos PDF
distribuidos y Tarea 04
1
Prof. Edgardo Adrin Franco Martnez
http://computacion.cs.cinvestav.mx/~efranco
efranco.docencia@gmail.com
Estructuras de datos (Prof. Edgardo A. Franco)
Introduccin
Ventajas del uso de una aproximacin distribuida
Desventajas del uso de una aproximacin distribuida
Reto al disear un sistema distribuido
Arquitecturas multiprocesador
Arquitecturas cliente-servidor
Arquitecturas de objetos distribuidos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Contenido
Contenido
CORBA
Tarea 04
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Introduccin
Introduccin
Comparticin de recursos
Apertura
Concurrencia
Escalabilidad
Tolerancia a defectos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Comparticin de recursos
Un sistema distribuido permite compartir recursos
hardware y software como discos, impresoras,
archivos, compiladores, etc. que se asocian con
computadoras de una red.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Apertura
Los sistemas distribuidos son normalmente
sistemas abiertos, lo que significa que se disean
sobre protocolos estndar que permiten combinar
equipamiento y software de diferentes
vendedores.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Concurrencia
En un sistema distribuido, varios procesos pueden
operar al mismo tiempo sobre diferentes
computadoras de la red. Estos procesos pueden
comunicarse con otros durante su funcionamiento
normal.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Escalabilidad
Los sistemas distribuidos debern de ser
escalables en tanto que la capacidad del sistema
puede incrementarse aadiendo nuevos recursos
para cubrir nuevas demandas sobre el sistema.
*Mantener un costo constante y manejable por cada
recurso que se agregue.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Tolerancia a defectos
La disponibilidad de varias computadoras y el
potencial para reproducir informacin significa que los
sistemas distribuidos pueden ser tolerantes a algunos
fallos de funcionamiento del hardware y del software.
La mayora de los sistemas distribuidos pueden
proporcionar servicios an y cuando ocurren fallas de
funcionamiento (puede degradarse el servicio); una
completa perdida de servicio solo ocurre cuando
existe un fallo de funcionamiento en la red.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Ventajas del uso de una aproximacin distribuida
10
Complejidad
Seguridad
Manejabilidad
Impredecibilidad
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Desventajas del uso de una aproximacin distribuida
11
Complejidad
Los sistemas distribuidos son mucho ms
complejos que los sistemas centralizados. Esto
hace ms difcil de comprender sus propiedades
emergentes y la prueba de estos sistemas.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Desventajas del uso de una aproximacin distribuida
Seguridad
Puede accederse al sistema desde varias
computadoras diferentes, y el trafico en la red
puede estar sujeto a situaciones indeseadas. Esto
hace ms difcil el asegurar que la integridad de
los datos en el sistema se mantenga y que los
servicios del sistema no se degraden por ataques
de denegacin de servicio.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Desventajas del uso de una aproximacin distribuida
13
Manejabilidad
Las computadoras en un sistema pueden ser de
diferentes tipos y pueden ejecutar versiones
diferentes de sistemas operativos. Los defectos en
una maquina pueden propagarse a otras mquinas
con consecuencias inesperadas. Esto significa que
se requiere ms esfuerzo para gestionar y
mantener el funcionamiento del sistema.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Desventajas del uso de una aproximacin distribuida
14
Impredecibilidad
Los sistemas distribuidos tienen una respuesta
impredecible (E.g. la WWW). La respuesta
depende de la carga total en el sistema, de su
organizacin y de la carga de la red. Como todos
ellos pueden cambiar con mucha rapidez, el
tiempo requerido para responder a una peticin
de usuario puede variar drsticamente de una
peticin a otra.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Desventajas del uso de una aproximacin distribuida
15
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Reto al disear un sistema distribuido
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Reto al disear un sistema distribuido
Arquitecturas multiprocesador
17
Cmaras y sensores
de flujo de trfico
Procesador
de sensores
Procesador
de flujo de trafico
Procesador de
control de
semforos
Proceso de
control de
sensores
Proceso de
vizualizado
Proceso de
control de
luces
Consolas de
los operadores
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Reto al disear un sistema distribuido
Arquitecturas multiprocesador
18
Semforos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
19
c1
c1
c1
c1
Proceso
servidor
c12
s1
c11
Proceso
cliente
s4
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
c6
c10
c7
c9
s2
s3
20
c8
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
Capa de procesamiento
de la aplicacin
21
Capa de gestin de datos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
22
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
23
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
24
Presentacin
Modelo de
cliente ligero
Modelo de
cliente pesado
Cliente
Cliente
Presentacin
Procesamiento de la
aplicacin
Servidor
Gestin de datos
Procesamiento de
la aplicacin
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
Servidor
Gestin de datos
25
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
26
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
27
Servidor de cuentas
Monitor de
teleprocesa
miento
ATM
Base de
datos de
cuentas de
clientes
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
ATM
28
ATM
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
29
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
30
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
31
Servidor
Servidor
Procesamiento
de la aplicacin
Gestin de los
datos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
32
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
33
La arquitectura de distribucin de
un sistema bancario en Internet
Interaccin HTTP
Cliente
Cliente
Cliente
Servidor Web
Provisin del
servicio de
cuentas
SQL query
Servidor de bases
de datos
SQL
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
Base de datos
de cuentas de
clientes
34
Arquitectur
a
Aplicaciones
Arquitectura
C/S de dos
capas con
clientes
ligeros
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
35
Arquitectura
Aplicaciones
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
36
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas cliente-servidor
Arquitecturas cliente-servidor
37
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
38
o1
o2
o3
o4
S(o1)
S(o2)
S(o3)
S(o4)
Bus software
o5
o6
S(o5)
S(o6)
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
39
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
40
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
41
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
42
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
43
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
44
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
45
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
46
o1
o2
S(o1)
S(o2)
Stub
IDL
Skeleton
IDL
Intermediario de peticiones de
objetos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
47
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
48
o1
o2
o3
o4
S(o1)
S(o2)
S(o3)
S(o4)
Stub
IDL
Skeleton
IDL
Stub
IDL
Skeleton
IDL
Intermediario de peticiones de
objetos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
Intermediario de peticiones de
objetos
49
Red
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Arquitecturas de objetos distribuidos
Arquitecturas de objetos
distribuidos
51
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
Arquitecturas peer-to-peer
Arquitecturas de sistemas orientados a servicios
Servicios Web
SOA
52
Peer-to-Peer
Los sistemas peer-to-peer (P2P) son sistemas
descentralizados en los que los clculos pueden llevarse a
cabo en cualquier nodo de la red y, al menos en principio
no se hacen distinciones entre clientes y servidores.
En las aplicaciones peer-to-peer, el sistema en su totalidad
se disea para aprovechar la ventaja de la potencia
computacional y disponibilidad de almacenamiento a
travs de una red de computadoras enormes.
Los estndares y protocolos que posibilitan las
comunicaciones a travs de los nodos estn embebidos en
la propia aplicacin, y cada nodo debe ejecutar una copia
de dicha aplicacin.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
53
Arquitectura P2P
n4
n2
n1
n7
n5
n9
n8
n6
n3
n12
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
n10
n11
54
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
Skype
SETI (Search for Extraterrestrial Intelligence Institute).
RTVE emisin en directo a travs de P2P
55
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
56
Rendimiento Elevado
Coste Alto
P2P (Centralizado)
1- cc.mp3?
Par B (bb.mp3)
2- Par C
Par C (cc.mp3)
Servidor
Bbb.mp3
Ccc.mp3
Ddd.mp3
3- cc.mp3
Par A (cc.mp3?)
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
Conexin directa
Flujo de Datos
Par D (dd.mp3)
57
Par F
ccc.mp3?
ccc.mp3
Par C ccc.mp3
Par E
ccc.mp3
Par B
ccc.mp3?
Par A ccc.mp3?
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
ccc.mp3?
ccc.mp3
Par D
Conexin directa
Flujo de Datos
58
Par A (cc.mp3?)
(cc.mp3?)
(cc.mp3?)
Superpar
Z cc.mp3
Par Z (cc.mp3)
cc.mp3->Z
cc.mp3->Z
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
Conexin directa
Flujo de Datos
Red Escalable
Reduccin del nmero de nodos involucrados en el encaminamiento
Buen tiempo de respuesta
59
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
60
Descentralizacin
Escalabilidad
Anonimato
Propiedad compartida
Rendimiento
Seguridad
Tolerancia a Fallos
Interoperabilidad
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
61
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
62
JXTA crea una red virtual que permite a los peers interactuar entre s,
aun cuando algunos de ellos estn detrs de firewalls, NATs o usen
distintos transportes de red. Adems, cada peer es identificado por un
ID nico, un URN SHA-1 de 160 bits en la implementacin de Java,
permitiendo que los peers puedan cambiar su direccin pero
conservar su nmero de identificacin.
Los servicios JXTA pueden ser implementados para interoperar con
otros servicios. Por ejemplo, un servicio de comunicacin P2P de
mensajera instantnea puede ser fcilmente agregado a una
aplicacin P2P de comparticin de ficheros si es que ambos soportan
protocolos JXTA.
La forma de funcionamiento se basa en un conjunto de protocolos P2P
simples y abiertos que permiten que cualquier dispositivo de red se
comunique, colabore y comparta recursos.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
63
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
64
Servicio web
Un servicio Web (Web service) es una coleccin de protocolos y
estndares que sirven para intercambiar datos entre
aplicaciones.
Mediante la nocin de un servicio web, las organizaciones que
requieren hacer accesible la informacin a otros programas,
pueden hacerlo definiendo y publicando un interfaz de servicio
web. Esta interfaz define los datos disponibles y como se puede
acceder a ellos i.e. un servicio web es una representacin
estndar para cualquier recurso computacional o de informacin
que pueda ser usado por otros programas.
La principal razn para usar servicios Web es que se basan en HTTP
sobre TCP en el puerto 80.
Buena interfaz para acceder a servicios y funcionalidades de otros
ordenadores en la red.
Gran independencia y flexibilidad entre aplicacin y servicio.
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
65
Solicitante
de servicios
Publicar
Enlazar
Suministrador
de servicios
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
Servicio
66
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
67
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
E.g.
Una compaa de fabricacin puede enlazar directamente a
los servicios proporcionado por sus proveedores.
Una compaa de logstica puede enlazarse con servicios de
geolocalizacin y comunicacines.
Sistemas de banca electrnica
68
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
69
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
70
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
71
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
72
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
73
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
74
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
75
Abstraccin
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
76
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
77
Programacin
Estructurada
Objetos
Componentes
Servicios
Granularidad
Muy fina
Fina
Intermedia
Gruesa
Contrato
Definido
Privado/Publico
Publico
Publicado
Reusabilidad
Baja
Baja
Intermedia
Alta
Acoplamiento
Fuerte
Fuerte
Dbil
Muy dbil
Dependencias
Tiempo de
Compilacin
Tiempo de
Compilacin
Tiempo de
Compilacin
Run-Time
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
78
mbito de
Comunicacin
Intra-Aplicacin
IntraAplicacin
InterAplicaciones
Inter-Empresas
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Computacin distribuida interorganizacional
Computacin distribuida
interorganizacional
79
Sistemas operativos II
14 , 15, 16 y 17 Arquitecturas de sistemas distribuidos
Tarea 04
Tarea 04
80