21
1 02/03/2006 1 SD. ITI Sistemas - Introducción (1) Sistemas Distribuidos (1) Sistemas Distribuidos I.T.I. Sistemas (2005-06) © César Llamas Bello Universidad de Valladolid Algunos esquemas de esta presentación están tomados de: Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 cuyo copyright pertenece a Addison-Wesley Publishers 2000 02/03/2006 2 SD. ITI Sistemas - Introducción (1) Introducción Ejemplos Internet Intranets Computación ubícua Recursos compartidos HTML URL HTTP Heterogeneidad Extensibilidad Seguridad Escalabilidad Transparencia Tratamiento de fallos Concurrencia Problemas Ejemplos

Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

Embed Size (px)

Citation preview

Page 1: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 2: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 3: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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).

Page 4: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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:

Page 5: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

print

Local areanetwork

email server

the Internet

Page 6: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 7: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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)

Page 8: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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).

Page 9: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 10: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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.

Page 11: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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.

Page 12: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 13: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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, ...

Page 14: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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)• ...

Page 15: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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.

Page 16: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 17: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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, …

Page 18: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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

Page 19: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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.

Page 20: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

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.

Page 21: Sistemas Distribuidos (1) - Departamento de Informática ...cllamas/sd/temasPDF/Capitulo1.pdf · Computación móvil y ubicua ... – Puede estar distribuido entre varias computadoras

21

02/03/2006

41

SD. ITI Sistemas - Introducción (1)

Sistemas Distribuidos (1)