Upload
trinhkhanh
View
216
Download
0
Embed Size (px)
Citation preview
1
02/03/2006
1
SD. ITI Sistemas - Introducción (1)
Sistemas Distribuidos (1)
Sistemas DistribuidosI.T.I. Sistemas (2005-06)
© César Llamas BelloUniversidad de Valladolid
Algunos esquemas de esta presentación están tomados de:Instructor’s Guide for Coulouris, Dollimoreand Kindberg Distributed Systems: Concepts and Design Edn. 3 cuyocopyright pertenece a Addison-Wesley Publishers 2000
02/03/2006
2
SD. ITI Sistemas - Introducción (1)
Introducción
Ejemplos
Internet
Intranets
Computaciónubícua
Recursoscompartidos
HTML
URL
HTTP
Heterogeneidad
Extensibilidad
Seguridad
Escalabilidad
Transparencia Tratamientode fallos
Concurrencia
Problemas
Ejemplos
2
02/03/2006
3
SD. ITI Sistemas - Introducción (1)
Introducción (i)• Definición de S.D:Sistema donde los componentes software o hardware enlazados en red se comunican y coordinan solo mediante paso de mensajes
• Origen: compartir recursos– Procesos– Archivos, ...
02/03/2006
4
SD. ITI Sistemas - Introducción (1)
Introducción (i)• Network service:Servicio proporcionado por
algún host en la red
• Network application:Aplicación que funciona en red.
Server(service)
Protocoladaptor
Clientside
req/rep
req/rep
req/rep
actionsUser
Networkapplication
3
02/03/2006
5
SD. ITI Sistemas - Introducción (1)
Introducción (ii)
• Diferentes formas de computar– Computación monolítica– Computación paralela
– Computación distribuida– Computación cooperativa
02/03/2006
6
SD. ITI Sistemas - Introducción (1)
Introducción (ii)– Ventajas:•Abaratamiento de red y máquinas disponibles.•Compartición de recursos.•Lo que permite el trabajo cooperativo•Escalabilidad•Tolerancia a fallos
– Inconvenientes:•Programación compleja•Inexistencia de reloj global (en ocasiones)•Fallos independientes: el sistema puede ser más
robusto, pero aparecen nuevos modos de fallo•Inseguridad (pero también al revés).
4
02/03/2006
7
SD. ITI Sistemas - Introducción (1)
Internet• Redes conectadas mediante IP.• Comunicación mediante paso de mensajes• Elementos:
– Conexiones troncales– Intranets– Conectores– Computadoras cliente– Computadoras servidor: archivos, impresión,
correo, nombres, ...
• Su implementación y servicios básicos proporcionan soluciones prácticas en el dominio de S.D.
02/03/2006
8
SD. ITI Sistemas - Introducción (1)
Internet
intranetISP
desktop computer:
backbone
satellite link
server:network link:
5
02/03/2006
9
SD. ITI Sistemas - Introducción (1)
Intranets• Porción de Internet (def. inversa):
– Alcance configurable– Administración separada– LAN ... Varias LAN de una organización.
• Elementos diferenciales:– Router– Cortafuegos
• Temas relacionados:– Servicios de archivos– Seguridad– Coste de instalación y mantenimiento.
02/03/2006
10
SD. ITI Sistemas - Introducción (1)
Intranets
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
6
02/03/2006
11
SD. ITI Sistemas - Introducción (1)
Computación móvil y ubicua• Computación móvil o nómada.
– Usuario en movimiento o fuera de su entorno
• Computación ubicua (por todas partes).– Puede sumarse a la comp. móvil.
• Temas que plantea:– Servicios de descubrimiento de recursos– Conectividad limitada
• Cambio de zonas• Zonas muertas
– Reconfiguración de dispositivos• Variedad de protocolos
– Privacidad y seguridad
02/03/2006
12
SD. ITI Sistemas - Introducción (1)
Computación móvil y ubícua
Laptop
Mobile
PrinterCamera
Internet
Host intranet
Home intranet
WAP WirelessLAN
phone
gateway
Host site
Portable andhandheld devices ina distributed system
7
02/03/2006
13
SD. ITI Sistemas - Introducción (1)
Recursos compartidos y WEB• Recursos en red– Dispositivos (impresora, ...)– Objetos (archivos, nombres, ...)– Funciones (motor de búsqueda, ...)
• Acceso a recursos– Por sí mismos (servicio de correo, ...)– Por necesidades de cooperación (trabajo
colaborativo —CSCW, ...)
• Servicio:Parte de un S.D. que gestiona un conjunto de
recursos relacionados y presenta su funcionalidad a los usuarios y aplicaciones
– Puede estar distribuido entre varias computadoras.
02/03/2006
14
SD. ITI Sistemas - Introducción (1)
Recursos compartidos y WEB• Servidor:proceso que acepta peticiones de otros procesos
(clientes) para llevar a cabo un servicio.– Implementa el modelo cliente-servidor.– La comunicación se basa en mensajes
• Invocación o petición (de una operación).• Respuesta.
– Invocación remota: interacción completa (petición-respuesta)
• Cliente-Servidor : roles.• En objetos: objeto cliente-servidor.• WWW: responde a este modelo. (Browser-
Web Server)
8
02/03/2006
15
SD. ITI Sistemas - Introducción (1)
• Origen: CERN (1989)• Publicación de contenidos.• Sistema abierto:
– Estándares (comunicación, documentos)– No restringe el tipo de recursos
publicables. (... nuevos plug-ins...)
• Componentes:– HTML– URL– HTTP (cliente-servidor)
El World Wide Web
02/03/2006
16
SD. ITI Sistemas - Introducción (1)
WWW- HTML
• Lenguaje de marcado de documentos con cierta orientación visual.– Permite hiperenlaces y gráficos.
• Procedimiento– Un navegador recupera un archivo.– Lo presenta según el tipo y ofrece elementos de
interacción.
• No describe la estructura del contenido (⇒XML).
9
02/03/2006
17
SD. ITI Sistemas - Introducción (1)
WWW - HTML
<IMGSRC =“http://www.cdk3.net/WebExample/Images/earth.jpg”><P>¡Bienvenido a la Tierra! Los visitantes pueden estarinteresados también en echar un vistazo a la<A HREF = “http://www.cdk3.net/WebExample/moon.html”>Luna </A><P>...
http.//www.cdk3.net/WebExample/earth.html
02/03/2006
18
SD. ITI Sistemas - Introducción (1)
WWW - HTML
Internet
BrowsersWeb servers
www.google.com
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=kindberg
http://www.cdk3.net/
File system ofwww.w3c.org
10
02/03/2006
19
SD. ITI Sistemas - Introducción (1)
WWW - URLs• URL: nombre
orientado a su localización. (URI, URN)
esquema:ubicación-específica-del-esquema
• Esquema:– Tipo de recurso: mailto, news, telnet, ...– Protocolo: ftp, http,...– por ejemplo:
http://www.w3.org/Addressing/URL/url-spec.html
• Es posible añadir nuevos esquemas (habráque añadir un conector nuevo al navegador).
02/03/2006
20
SD. ITI Sistemas - Introducción (1)
WWW - URLs• HTTP: El cliente navegador
es capaz de gestionar el protocolo HTTP.• Esquema:
http://servidor[:puerto][/ruta-recurso][?parámetros]– Servidor: dirección IP o nombre DNS– Puerto: canal del servidor HTTP– Ruta-recurso: nombre archivo.– Parámetros: argumentos programa
• Publicación del recurso:1. Crear recurso.2. Insertar el URL en otro documento ya enlazado,
o3. dar de alta en algún buscador.
11
02/03/2006
21
SD. ITI Sistemas - Introducción (1)
WWW- HTTP• Protocolo de transferenciade hipertexto.– Interacción petición-respuesta
(modelo cliente-servidor).– Tipos de contenido: respuesta MIME
(multipurpose internet mail extensions)•(ej: text/html, image/GIF, ...)
– Un recurso por petición (pull) (v1.0).– Control de acceso simple, aunque existe
modo de transferencia seguro HTTPS.
02/03/2006
22
SD. ITI Sistemas - Introducción (1)
WWW - HTTP
• Interacción y contenidos dinámicos:• En el cliente:
– Formularios (incluido en HTML),– JavaScript,– Applets (Java)– Componentes.
• En el servidor:– Programas CGI (Common Gateway Interface)– Páginas activas.
12
02/03/2006
23
SD. ITI Sistemas - Introducción (1)
WWW - Cuestiones• Problemas– Enlaces descolgados– Telaraña– Información mal catalogada– Plantea problemas de escala: espacial y
temporal– Interfaz limitada e irregular
• Temas de trabajo:– Resource Description Framework:
• XML: metadatos• XSL: vistas
– Middleware:• Catalogación• Unificación de acceso a recursos
02/03/2006
24
SD. ITI Sistemas - Introducción (1)
Desafíos - Heterogeneidad• Redes:
Redes diferentes☺protocolos Internet
• Computadoras:Diferente representación nativaEmpaquetado y desempaquetado
13
02/03/2006
25
SD. ITI Sistemas - Introducción (1)
Heterogeneidad• Sistemas operativos:Diferente API
• Lenguajes:Diferente representación de datosLenguajes de definición de interfaz
• Implementaciones:– estándares
02/03/2006
26
SD. ITI Sistemas - Introducción (1)
Heterogeneidad• Middleware: software de intermediación– Abstrae detalles de programación– Elimina las diferencias (uniformiza)– Ejemplos: CORBA, Java RMI, ODBC,...
• Código móvil: código exportado de una máquina a otra– Problemas en el código del NMC– Posible solución: máquina virtual.– Ejemplos: Java bytecode, Telescript, ...
14
02/03/2006
27
SD. ITI Sistemas - Introducción (1)
Extensibilidad (openness)
• Facilidad de adición y reimplementación de nuevos servicios.
• Implica que el sistema esté construido y documentado de forma abierta
02/03/2006
28
SD. ITI Sistemas - Introducción (1)
Extensibilidad - Requisitos• Interfaces públicas:• De programación• De comunicación• De acceso a los recursos
• Estandarización del software que garantice la interoperabilidad
• Certificación• Pruebas de conformidad
(conformance testing)
• Ejemplos:• Internet: RFC (www.ietf.org)• CORBA: (www.omg.org)• POSIX: (www.opengroup.org)• ...
15
02/03/2006
29
SD. ITI Sistemas - Introducción (1)
Seguridad• Vertientes:– Confidencialidad
• Privacidad• Autenticación• Contrato
– Integridad– Disponiblidad
• Problemas actuales:– Ataques DoS– Seguridad del código móvil
• Confianza en el código móvil.
02/03/2006
30
SD. ITI Sistemas - Introducción (1)
Escalabilidad•Escalable: conserva su efectividad
frente al incremento en recursos y clientes.
•El sistema debe ser capaz de admitir más recursos y clientes sin cambiar su modelo.
16
02/03/2006
31
SD. ITI Sistemas - Introducción (1)
Escalabilidad
# clientes
Prestaciones
nr1 nr2
nc1 nc2
cte
esca
lado
02/03/2006
32
SD. ITI Sistemas - Introducción (1)
Escalabilidad
Plano de
prestaciones ≅ cte.
Prestaciones
nr1
nr2
# clientes
# recursos
17
02/03/2006
33
SD. ITI Sistemas - Introducción (1)
Escalabilidad
Nº recursos que se ofrecen
Clientes que requieren recursos
nr1 nr2
nc1
nc2
Prestaciones ≅ cte.
02/03/2006
34
SD. ITI Sistemas - Introducción (1)
Escalabilidad
Nº recursos que se ofrecen
Clientes
Cambio demodo
Nuevo SGBD, nuevo cableado, nuevo esquema de nombres,
nueva metodología, etc, etc, …
18
02/03/2006
35
SD. ITI Sistemas - Introducción (1)
Escalabilidad
•Puntos importantes:– Control de coste de recursos físicos y
prevención de su desbordamiento•Posibilidad de añadir más servidores en la
cantidad O(clientes)
– Control de pérdidas de prestaciones yevitación de cuellos de botella
02/03/2006
36
SD. ITI Sistemas - Introducción (1)
Escalabilidad• Técnicas:
– Replicación,– Caché,– Múltiples servidores,– Buen esquema de nominación y
encaminamiento.
Fecha Computadoras Servidores Web %
1979, Diciembre 188 0 0,0001989, Julio 1300 0 0,0001993, Julio 1.776.000 130 0,0081995, Julio 6.642.000 23.500 0,4001997, Julio 19.540.000 1.203.096 6,0001999, Julio 56.218.000 6.598.697 12,000
19
02/03/2006
37
SD. ITI Sistemas - Introducción (1)
Tratamiento de fallos
• Los fallos en un S.D. Son parciales.• Técnicas para tratamiento de fallos:
– Detección de fallos– Ocultación de fallos– Tolerancia de fallos– Recuperación frente a fallos– Redundancia
• Un buen tratamiento aumenta la disponiblidad del sistema.
02/03/2006
38
SD. ITI Sistemas - Introducción (1)
Concurrencia• Los gestores de los recursos deben
permitir la concurrencia.– La secuencialidad disminuye el
throughput del sistema.
• La concurrencia (vía threads) plantea problemas de acceso concurrente a los recursos.– Los gestores deben preocuparse de la
correcta secuenciación de las operaciones, en caso de acceso concurrente.
20
02/03/2006
39
SD. ITI Sistemas - Introducción (1)
Transparencia• Transparencia: oculta al usuario y al
programador la naturaleza distribuida del sistema.
• Según RM-ODP...– De acceso (locales vs. globales)– De ubicación (desconoc. ubicación)– De concurrencia– De replicación– Frente a fallos (ocultación de fallos)– Movilidad (reubicación de recursos y clientes)– De prestaciones (reconfiguración)– Al escalado (sin modificar la estructura)
02/03/2006
40
SD. ITI Sistemas - Introducción (1)
Transparencia• Transparencia de red:
– Transparencia de acceso– Transparencia de ubicación.
• Ejemplos:– Web
• Presenta transparencia de red• Carece de transparencia de movilidad
– Telefonía móvil• Presenta transparencia de movilidad
– Correo electrónico• Presenta transparencia de red
– Impresora• La transparencia de ubicación puede ser
contraproducente.
21
02/03/2006
41
SD. ITI Sistemas - Introducción (1)
Sistemas Distribuidos (1)