Vous êtes sur la page 1sur 93

Sistemas Distribuidos

Lic. Jorge Guerra Guerra Abril 2010 Sistemas distribuidos

Lic. Jorge Guerra G. 1

Hemos utilizado Sistemas Distribuidos?


Ejemplo: Google
No es un sistema distribuido Es una aplicacin montada sobre un sistema distribuido Yo como usuario desconozco
Mquina o mquinas en las quo se realiza Ia bsqueda Lugares donde estn ubicadas esas mquinas - Tipos de comunicacin que se utilizan - Equipos que intervienen - Forma de realizar Ia bsqueda - Qu se ejecuta en mi mquina y qu no se ejecuta

Casi siempre funciona correctamente

Sistemas distribuidos

Lic. Jorge Guerra G. 2

Concepto informatico
Los conceptos vienen de muchas reas
Sistemas Operativos. Procesamiento en Paralelo. Sistemas en Tiempo Real. Sistemas Multimedia Distribuidos. Tipos de comunicaciones. Bases de datos distribuidas. Cliente Servidor, Tres niveles, Internet. Objetos, Componentes Distribuidos. Computacin Mvil. Aplicaciones Tradicionales.

Sistemas distribuidos

Lic. Jorge Guerra G. 3

Sistemas distribuidos

Lic. Jorge Guerra G. 4

La Internet mostro la factibilidad de la implementacin de los Sistemas Distribuidos

% ISP %

intranet

backbone satellite link desktop computer: server: network link:

Sistemas distribuidos

Lic. Jorge Guerra G. 5

Numeros de Internet en 2009


1.730 millones de usuarios de Internet en todo el mundo. 1.400 millones de usuarios de correo electrnico que enviamos una media de 247.000 millones de correo cada da aunque lamentablemente unos 200.000 millones son correo basura (SPAM). En diciembre de 2009 haba 234 millones de sitios web. De ellos, 126 millones son blogs, segn BlogPulse. Hay 350 millones de usuarios registrados en Facebook, lo que lo hara el tercer pas ms poblado del mundo. Se suben 2.500 millones de fotos al mes a Facebook, lo que hace palidecer los 4.000 millones de fotos que haba en total Flickr en octubre de 2009. YouTube sirve 1.000 millones de vdeos cada da. Lamentablemente, se crean unos 148.000 nuevos ordenadores zombie cada da.

Sistemas distribuidos

Lic. Jorge Guerra G. 6

Modelo N-capas heterogeneo

Sistemas distribuidos

Lic. Jorge Guerra G. 7

Modelo espacial C/S

Sistemas distribuidos

Lic. Jorge Guerra G. 8

Sistemas distribuidos

Lic. Jorge Guerra G. 9

Definicin de Sistema Distribuido


Un sistema distribuido es aquel que ofrece servicios implementados sobre una red de computadoras como si se tratara de un nico sistema. Esto se logra a travs de transparencias de distribucin y son:
Transparencia de localizacin. Transparencia de escalabilidad. Transparencia de replicacion Transparencia de concurrencia. Transparencia de paralelismo. Transparencia de acceso. Transparencia de fallo. Transparencia de movilidad. Transparencia de rendimiento.

Sistemas distribuidos

Lic. Jorge Guerra G. 10

Transparencias
Transparencia de acceso: permite que los recursos locales y remotos puedan ser accesados mediante operaciones idnticas. Transparencia de localizacion: permite que los recursos puedan ser accesados sin el conocimiento de su localizacion fsica o de la red (por ejemplo,la direccin IP). Transparencia de concurrencia : permite que varios procesos puedan operar al mismo tiempo utilizando recursos compartidos sin interferencia entre ellos. Transparencia de replicacion : habilita varias instancias de recursos que se utilizarn para aumentar la fiabilidad y rendimiento sin el conocimiento de las rplicas de los usuarios o programadores de aplicaciones. Transparencia de fallo: permite el ocultamiento de fallas, permitiendo a los usuarios y los programas de aplicacin para completar sus tareas a pesar del fracaso de los componentes de hardware o software. Transparencia de movilidad: permite el movimiento de recursos y clientes dentro de un sistema sin afectar el funcionamiento de los usuarios o programas. Transparencia de rendimiento: permite que el sistema sea reconfigurado para mejorar el rendimiento conforme las cargas varen. Transparencia de escalabilidad: permite que el sistema y las aplicaciones crezcan, sin cambio en la estructura del sistema o los algoritmos de la aplicacin. Transparencia de paralelismo: permite que 2 o mas servidores trabajen en forma cooperativa para un servicio sin que el usuario lo pueda observar.

Sistemas distribuidos

Lic. Jorge Guerra G. 11

Otras definiciones
Un sistema distribuido es una coleccin de computadoras independientes que aparecen ante los usuarios del sistema como una nica computadora Tanenbaum Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones nicamente mediante el paso de mensajes Coulouris Sistemas distribuidos
Lic. Jorge Guerra G. 12

Cambio de paradigma
Control central Nombramiento global Consistencia global Ejecucin secuencial Vulnerabilidad Informacin local Localizacin fija Homogeneidad Autonoma Nombramiento federado (no
resuelto distribuidamente, por partes)

Consistencia dbil Ejecucin concurrente Tolerancia a fallos Informacin remota Migracin Heterogeneidad

Sistemas distribuidos

Lic. Jorge Guerra G. 13

Retos
Los retos a los cuales se enfrentan los Sistemas Distribuidos son:
Heterogeneidad. Extensibilidad. Seguridad. Escalabilidad. Tratamiento de Fallos. Concurrencia. Transparencia.

Sistemas distribuidos

Lic. Jorge Guerra G. 14

Por qu construir sistemas distribuidos?


Compartir recursos Tanto hardware (discos, impresoras), como software (archivos, bases de datos) En algn caso, por economizar Compartir datos es esencial en muchas aplicaciones
Equipos de desarrollo comparten herramientas y datos Aplicaciones comerciales ofrecen a usuarios acceso a datos compartidos Trabajo cooperativo en algunas empresas

Existen aplicaciones inherentemente distribuidas


Por ejemplo, una cadena de supermercados con varias tiendas y almacenes Sistemas de reservas de billetes de lneas areas

Sistemas distribuidos

Lic. Jorge Guerra G. 15

Caractersticas de los Sistemas Distribuidos

Sistemas distribuidos

Lic. Jorge Guerra G. 16

Definicin de Enslow Sistema distribuido = hardware distribuido + control distribuido + datos distribuidos

Un sistema se podra considerar como un sistema distribuido si las tres categoras (hardware, control, datos) alcanzan un cierto nivel de descentralizacin

Sistemas distribuidos

Lic. Jorge Guerra G. 17

Modelo de Enslow de los sistemas distribuidos.

Sistemas distribuidos

Lic. Jorge Guerra G. 18

Comparacion entre sistemas

Sistemas distribuidos

Lic. Jorge Guerra G. 19

Caractersticas de la transparencia en Sistemas Distribuidos

Sistemas distribuidos

Lic. Jorge Guerra G. 20

Comparticin de recursos

Sistemas distribuidos

Lic. Jorge Guerra G. 21

Comparticin de recursos (cont)

Sistemas distribuidos

Lic. Jorge Guerra G. 22

Sistema Abierto

Sistemas distribuidos

Lic. Jorge Guerra G. 23

Escalabilidad

Sistemas distribuidos

Lic. Jorge Guerra G. 24

Tolerancia a fallos

Sistemas distribuidos

Lic. Jorge Guerra G. 25

Tolerancia a fallos

Sistemas distribuidos

Lic. Jorge Guerra G. 26

Seguridad

Sistemas distribuidos

Lic. Jorge Guerra G. 27

Ventajas e inconvenientes

Sistemas distribuidos

Lic. Jorge Guerra G. 28

Implementacion final

Sistemas distribuidos

Lic. Jorge Guerra G. 29

Aplicaciones

Sistemas distribuidos

Lic. Jorge Guerra G. 30

Boeing

Sistemas distribuidos

Lic. Jorge Guerra G. 31

Sistemas Distribuidos en automviles


Control del sistema en un automvil
Un Mercedes clase S esta equipado con mas de 50 procesadores empotrados. Conectados entre si por un red local.

Sistemas distribuidos

Lic. Jorge Guerra G. 32

Acceso a servicios
Modelo multiproceso.
Modelo de memoria compartida
Tambin conocidos como multiprocesadores Todos los procesadores comparten el espacio de direcciones El programador no tiene que saber donde se encuentran los datos

Modelo con memoria distribuida


Tambin conocidos como multicomputadores Cada procesador tiene su propio espacio de direcciones El programador necesita saber donde se encuentran los datos

Sistemas distribuidos

Lic. Jorge Guerra G. 33

Comunicacin entre procesos


Memoria Compartida (Base de Datos Distribuidas) Paso de mensajes (Sockets, RPC y CORBA) Ejecucin remota (Agentes)

Sistemas distribuidos

Lic. Jorge Guerra G. 34

Arquitecturas hardware

Sistemas distribuidos

Lic. Jorge Guerra G. 35

Arquitecturas hardware

Sistemas distribuidos

Lic. Jorge Guerra G. 36

Arquitecturas usadas en Sistemas Distribuidos


Arquitectura basada en capas Arquitectura basada en objetos Arquitectura centrada en datos compartidos Arquitectura basada en eventos

Sistemas distribuidos

Lic. Jorge Guerra G. 37

Arquitectura basada en capas

Sistemas distribuidos

Lic. Jorge Guerra G. 38

Arquitectura basada en objetos

Sistemas distribuidos

Lic. Jorge Guerra G. 39

Arquitectura basada en eventos

Sistemas distribuidos

Lic. Jorge Guerra G. 40

Arquitectura basada en datos compartidos

Sistemas distribuidos

Lic. Jorge Guerra G. 41

Sistemas distribuidos

Lic. Jorge Guerra G. 42

Sistemas distribuidos

Lic. Jorge Guerra G. 43

Sistemas distribuidos

Lic. Jorge Guerra G. 44

Sistemas distribuidos

Lic. Jorge Guerra G. 45

Paradigmas de Computacion en Red


Basado en la distribucin de recursos, know-how (el codigo que procesa los recursos) y el procesador donde el codigo se ejecuta, los paradigmas de computacin de red puede ser clasificadas como:

Paradigma Cliente-Servidor Paradigma Cdigo-por-demanda Paradigma Agente Mvil

Lic. Jorge Guerra G.

Paradigma Cliente-Servidor
Servidor tiene todo: el know-how, el procesador y los recursos

Server Client know-how

Cliente necesita inteligencia para descubrir al servidor que provee el servicio que se necesita.
Lic. Jorge Guerra G.

Paradigma Cliente-Servidor
Ejemplos: RPC, CORBA, XML Web-Services etc.

Server Client know-how

Lic. Jorge Guerra G.

Paradigma Cdigo-por-demanda
Cliente tiene el procesador y los recursos. No tiene el know-how Servidor enva el know-how sobre el cliente.

Server know-how

Client

Lic. Jorge Guerra G.

Paradigma Cdigo-por-demanda

Server Client know-how

Lic. Jorge Guerra G.

Paradigma Cdigo-por-demanda

Server Client know-how

know-how

Lic. Jorge Guerra G.

Paradigma Cdigo-por-demanda
Flash y Youtube son un buen ejemplo de este paradigma.

Server

Client

know-how

know-how

Lic. Jorge Guerra G.

Paradigma Agente Mvil


Cada host en esta red tiene un alto grado de flexibilidad en poseer el knowhow, los recursos y los procesadores

Host

Host
Lic. Jorge Guerra G.

Paradigma Agente Mvil

Host

Host
Lic. Jorge Guerra G.

Paradigma Agente Mvil


Agente
know-how
Know-how en la forma de agentes mviles no esta unido a un nico host pero esta disponible en toda la red

Host

Host
Lic. Jorge Guerra G.

Paradigma Agente Mvil


Agente
know-how red

Host

Host
Lic. Jorge Guerra G.

Paradigma Agente Mvil


Agente red know-how

Host

Host
Lic. Jorge Guerra G.

Paradigma Agente Mvil


Agente know-how

Host

Host
Lic. Jorge Guerra G.

Concepto de Agente Movil


Un agente mvil es un objeto el cual puede moverse autnomamente a lo largo de la red de un host a otro con su cdigo y estado de ejecucin y realizar ciertas tareas a nombre de un usuario .

Lic. Jorge Guerra G.

Nuevos Paradigmas de SD
Cluster Computing: Dedicados a tareas especficas: Altas prestaciones. Alta disponibilidad. Sistema homogneo (a menudo dedicado): Nodos PCs. LAN (de propsito general o especficas). Problemtica: Grado de acoplamiento, servicios distribuidos. Grid Computing: Aprovechamiento de recursos creando un uniprocesador virtual. Restringido a una serie de tareas. Diferentes mbitos: Desde intradepartamentales. Hasta intercorporativos. Problemtica: Coordinacin, seguridad, carcter dinmico.

Sistemas distribuidos

Lic. Jorge Guerra G. 60

Cluster Computing
La idea del Cluster Computing es simple: Un grupo de ordenadores independientes se conectan entre s. Los elementos conectantes son cables y un software especial de cluster. Ya que los distintos ordenadores se complementan, por ejemplo en el caso de Failover o balanceo de cargas. Falla uno, los dems se encargan de su trabajo. Para un ordenador slo sto es imposible. De sta forma se garantiza la alta disponibilidad las 24 horas del da. Igualmente se facilita la administracin. La unin "clusterizada" de ordenadores es como un nico punto de control, que podr ser administrado sin ningn problema de forma remota.

Sistemas distribuidos

Lic. Jorge Guerra G. 61

Modelo de Cluster

Sistemas distribuidos

Lic. Jorge Guerra G. 62

Cluster Computing

Sistemas distribuidos

Lic. Jorge Guerra G. 63

Sistemas distribuidos

Lic. Jorge Guerra G. 64

Sistemas distribuidos

Lic. Jorge Guerra G. 65

Modelo de GRID

Sistemas distribuidos

Lic. Jorge Guerra G. 66

Sistemas distribuidos

Lic. Jorge Guerra G. 67

Sistemas distribuidos

Lic. Jorge Guerra G. 68

Sistemas distribuidos

Lic. Jorge Guerra G. 69

Desarrollos Web
Caso particular de desarrollo cliente servidor con representacin remota, en la cual disponemos de un protocolo standard: HTTP y un servidor denominado WebServer. Cada pgina puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representacin remota. Se dispone de un lenguaje standard de definicin y formateo de pginas: HTML

Sistemas distribuidos

Lic. Jorge Guerra G. 70

Desarrollos Web
Incrustacin de la lgica de aplicacin en el servidor Web:
CGI: Common Gateware Interface
Cada peticin HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transaccin. Es flexible, ideal para pequeas aplicaciones de uso reducido No escala adecuadamente

Plug-ins
Cada peticin HTTP es resuelta por el componente adecuada, dentro del mismo proceso del Web-Server. Mejor rendimiento Compromete la seguridad y fiabilidad del servidor Web

Servidor especializado
Facilidad de desarrollo Buen rendimiento Rigidez de configuracin

Sistemas distribuidos

Lic. Jorge Guerra G. 71

Sistemas distribuidos

Lic. Jorge Guerra G. 72

Desarrollos Web
Tipos de plug-ins
HTML incrustado en cdigo
Se centran en la lgica Son fcilmente de optimizables Ejemplos: servlets, Perl, Python

Cdigo incrustado en HTML


Se centran en el interface de usuario Son fciles de crear y modificar No requieren grandes formalismos No necesitan una gran formacin Ejemplos: ASP, JSP, PHP

Sistemas distribuidos

Lic. Jorge Guerra G. 73

Sistemas distribuidos

Lic. Jorge Guerra G. 74

Desarrollo Web

Sistemas distribuidos

Lic. Jorge Guerra G. 75

Implementacion

Sistemas distribuidos

Lic. Jorge Guerra G. 76

Sistemas distribuidos

Lic. Jorge Guerra G. 77

Modelo Vista Controlador

View

Model

User Controller

Sistemas distribuidos

Lic. Jorge Guerra G. 78

Nuevos tipos de dispositivos


Dispositivos que acceden hoy a internet:
Internet Explorer, Netscape, Set Top Box, Mviles WAP, PDAs Palm Pilot, Windows CE, ...

Previsiones para los prximos aos:


2.002 el 50% de las transacciones habituales se podrn realizar desde dispositivos mviles 2.003 el 80% de los usuarios realizarn algn tipo de transaccin desde dispositivos mviles 2.004 los se querrn realizar el 100% de las transacciones desde dispositivos mviles 2.005 Se esperan ms de 1.000 millones de usuarios mviles de internet

Sistemas distribuidos

Lic. Jorge Guerra G. 79

Nuevos tipos de dispositivos


Problema a resolver:
Necesidad de adaptar el interface de usuario a cada tipo de dispositivo

Medidas a tomar:
Separar la lgica de aplicacin del interface de usuario Utilizar mtodos estndar de comunicacin entre la lgica de aplicacin y el interface de usuario Uso de herramientas que permitan adaptar rpidamente las aplicaciones a los nuevos tipos de dispositivos que irn apareciendo

Sistemas distribuidos

Lic. Jorge Guerra G. 80

Nuevos tipos de dispositivos


Tendencia actual
Navegador
http

Mvil
Wml binario

Usuario Gestor comunicaciones Interface de usuario

Web Server
-

WAP Server
-

Pginas HTML
XML

Pginas WML

Servidor Aplicaciones
SQL

Lgica de negocio

Base de datos

Datos

Sistemas distribuidos

Lic. Jorge Guerra G. 81

Nuevos tipos de dispositivos


Variante de los fabricantes BBDD
Navegador
http

Mvil
Wml binario

Usuario Gestor comunicaciones Interface de usuario

Web Server
-

WAP Server
-

Pginas HTML
XML

Pginas WML

Lgica de negocio

Base de datos

Datos

Sistemas distribuidos

Lic. Jorge Guerra G. 82

Nuevos tipos de dispositivos


Variante de los fabricantes pasarelas
Navegador
http

Mvil
Wml binario

Usuario Gestor comunicaciones Interface de usuario Interface de usuario Lgica de negocio

Web Server
-

WAP Server
-

Reglas de traduccin WML


Pginas HTML
SQL

Base de datos

Datos

Sistemas distribuidos

Lic. Jorge Guerra G. 83

Java

Sistemas distribuidos

Lic. Jorge Guerra G. 84

Arquitectura I-MODE
Packet iMode Network Server (PDC-P)
Info. Provider Info. Provider Info. Provider

Communication Network (PDC)

Internet

PC

PSTN

Groupware Server

PC

Sistemas distribuidos

Lic. Jorge Guerra G. 85

Coexistencia Java-WAP
WML Browser XML or XHTML Browser J2ME

Invoke

J2ME

RTOS

RTOS

Opcin 1: WML nativo Interacciona con java:


Limitaciones en es stack Limita las interdependencias

Opcin 2: Java browser


Integracin mayor El navegado puede actualizarse dinmicamente

Sistemas distribuidos

Lic. Jorge Guerra G. 86

Arquitectura WAP
Web Server
WML Decks with WML Script

WAP Gateway
WML Encoder

Client
WML

CGI Scripts, Etc...

WML Script Compiler

WML Script

Content

Protocol Conversion

WTAI

Wireless Telephony Application Interface

HTTP

WTP
Lic. Jorge Guerra G. 87

Sistemas distribuidos

Sistemas distribuidos

Lic. Jorge Guerra G. 88

Sistemas distribuidos

Lic. Jorge Guerra G. 89

Sistemas distribuidos

Lic. Jorge Guerra G. 90

Sistemas distribuidos

Lic. Jorge Guerra G. 91

Sistemas distribuidos

Lic. Jorge Guerra G. 92

Sistemas distribuidos

Lic. Jorge Guerra G. 93