Sistemas Distribuidos. Diseño e Implementacion
-
Upload
jorge-guerra -
Category
Technology
-
view
17.015 -
download
3
description
Transcript of Sistemas Distribuidos. Diseño e Implementacion
Lic. Jorge Guerra G.Sistemas distribuidos 1
Sistemas Distribuidos
Lic. Jorge Guerra Guerra
Abril 2010
Hemos utilizado Sistemas Distribuidos?
Ejemplo: GoogleNo es un sistema distribuidoEs una aplicación montada sobre un sistema distribuidoYo como usuario desconozco
Máquina o máquinas en las quo se realiza Ia búsquedaLugares donde estén ubicadas esas máquinas- Tipos de comunicación que se utilizan- Equipos que intervienen- Forma de realizar Ia búsqueda- Qué se ejecuta en mi máquina y qué no se ejecuta
• Casi siempre funciona correctamente
Lic. Jorge Guerra G.Sistemas distribuidos 2
Concepto informaticoLos 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.• Computación Móvil.• Aplicaciones Tradicionales.
Lic. Jorge Guerra G.Sistemas distribuidos 3
Lic. Jorge Guerra G.Sistemas distribuidos 4
Lic. Jorge Guerra G.Sistemas distribuidos 5
intranetISP
desktop computer:
backbone
satellite link
server:
%
network link:
%
%%
La Internet mostro la factibilidad de la implementación de los Sistemas Distribuidos
Numeros de Internet en 2009 1.730 millones de usuarios de Internet en todo el mundo. 1.400 millones de usuarios de correo electrónico que enviamos una
media de 247.000 millones de correo cada día aunque lamentablemente unos 200.000 millones son correo basura (SPAM).
En diciembre de 2009 había 234 millones de sitios web. De ellos, 126 millones son blogs, según BlogPulse. Hay 350 millones de usuarios registrados en Facebook, lo que lo haría
el tercer país más 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 había en total Flickr en octubre de 2009.
YouTube sirve 1.000 millones de vídeos cada día. Lamentablemente, se crean unos 148.000 nuevos ordenadores zombie
cada día.
Lic. Jorge Guerra G.Sistemas distribuidos 6
Modelo N-capas heterogeneo
Lic. Jorge Guerra G.Sistemas distribuidos 7
Modelo espacial C/S
Lic. Jorge Guerra G.Sistemas distribuidos 8
Lic. Jorge Guerra G.Sistemas distribuidos 9
Lic. Jorge Guerra G.Sistemas distribuidos 10
Definición 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 través de transparencias de distribución y son: Transparencia de localización. Transparencia de escalabilidad. Transparencia de replicacion Transparencia de concurrencia. Transparencia de paralelismo. Transparencia de acceso. Transparencia de fallo. Transparencia de movilidad. Transparencia de rendimiento.
Transparencias Transparencia de acceso: permite que los recursos locales y remotos puedan ser
accesados mediante operaciones idénticas. Transparencia de localizacion: permite que los recursos puedan ser accesados sin el
conocimiento de su localizacion física o de la red (por ejemplo,la dirección 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 utilizarán para
aumentar la fiabilidad y rendimiento sin el conocimiento de las réplicas de los usuarios o programadores de aplicaciones.
Transparencia de fallo: permite el ocultamiento de fallas, permitiendo a los usuarios y los programas de aplicación 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 varíen.
Transparencia de escalabilidad: permite que el sistema y las aplicaciones crezcan, sin cambio en la estructura del sistema o los algoritmos de la aplicación.
Transparencia de paralelismo: permite que 2 o mas servidores trabajen en forma cooperativa para un servicio sin que el usuario lo pueda observar.
Lic. Jorge Guerra G.Sistemas distribuidos 11
Lic. Jorge Guerra G.Sistemas distribuidos 12
Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadoraTanenbaumUn 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 mensajesCoulouris
Otras definiciones
Cambio de paradigma Control central Nombramiento global Consistencia global Ejecución secuencial Vulnerabilidad Información local Localización fija Homogeneidad
Autonomía Nombramiento federado (no
resuelto distribuidamente, por partes)
Consistencia débil Ejecución concurrente Tolerancia a fallos Información remota Migración Heterogeneidad
Lic. Jorge Guerra G.Sistemas distribuidos 13
RetosLos retos a los cuales se enfrentan los Sistemas
Distribuidos son:• Heterogeneidad.• Extensibilidad.• Seguridad.• Escalabilidad.• Tratamiento de Fallos.• Concurrencia.• Transparencia.
Lic. Jorge Guerra G.Sistemas distribuidos 14
Lic. Jorge Guerra G.Sistemas distribuidos 15
¿ Por qué construir sistemas distribuidos?
• Compartir recursos
– Tanto hardware (discos, impresoras), como software (archivos, bases de datos)
• En algún 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 líneas aéreas
Lic. Jorge Guerra G.Sistemas distribuidos 16
Características de los Sistemas Distribuidos
Lic. Jorge Guerra G.Sistemas distribuidos 17
Definición de EnslowSistema distribuido = hardware distribuido + control distribuido + datos distribuidos
Un sistema se podría considerar como un sistema distribuido si las tres categorías (hardware, control, datos) alcanzan un cierto nivel de descentralización
Modelo de Enslow de los sistemas distribuidos.
Lic. Jorge Guerra G.Sistemas distribuidos 18
Comparacion entre sistemas
Lic. Jorge Guerra G.Sistemas distribuidos 19
Características de la transparencia en Sistemas
Distribuidos
Lic. Jorge Guerra G.Sistemas distribuidos 20
Compartición de recursos
Lic. Jorge Guerra G.Sistemas distribuidos 21
Compartición de recursos (cont)
Lic. Jorge Guerra G.Sistemas distribuidos 22
Sistema Abierto
Lic. Jorge Guerra G.Sistemas distribuidos 23
Escalabilidad
Lic. Jorge Guerra G.Sistemas distribuidos 24
Tolerancia a fallos
Lic. Jorge Guerra G.Sistemas distribuidos 25
Tolerancia a fallos
Lic. Jorge Guerra G.Sistemas distribuidos 26
Seguridad
Lic. Jorge Guerra G.Sistemas distribuidos 27
Ventajas e inconvenientes
Lic. Jorge Guerra G.Sistemas distribuidos 28
Lic. Jorge Guerra G.Sistemas distribuidos 29
Implementacion final
Aplicaciones
Lic. Jorge Guerra G.Sistemas distribuidos 30
Boeing
Lic. Jorge Guerra G.Sistemas distribuidos 31
Sistemas Distribuidos en automóviles
Control del sistema en un automóvilUn Mercedes clase S esta equipado con mas de 50
procesadores empotrados.Conectados entre si por un red local.
Lic. Jorge Guerra G.Sistemas distribuidos 32
Acceso a serviciosModelo multiproceso.
Modelo de memoria compartidaTambién conocidos como multiprocesadoresTodos los procesadores comparten el espacio de direccionesEl programador no tiene que saber donde se encuentran los
datos
Modelo con memoria distribuidaTambién conocidos como multicomputadoresCada procesador tiene su propio espacio de direccionesEl programador necesita saber donde se encuentran los datos
Lic. Jorge Guerra G.Sistemas distribuidos 33
Comunicación entre procesosMemoria Compartida (Base de Datos Distribuidas)Paso de mensajes (Sockets, RPC y CORBA)Ejecución remota (Agentes)
Lic. Jorge Guerra G.Sistemas distribuidos 34
Lic. Jorge Guerra G.Sistemas distribuidos 35
Arquitecturas hardware
Lic. Jorge Guerra G.Sistemas distribuidos 36
Arquitecturas hardware
Arquitecturas usadas en Sistemas Distribuidos
Arquitectura basada en capasArquitectura basada en objetosArquitectura centrada en datos compartidosArquitectura basada en eventos
Lic. Jorge Guerra G.Sistemas distribuidos 37
Arquitectura basada en capas
Lic. Jorge Guerra G.Sistemas distribuidos 38
Arquitectura basada en objetos
Lic. Jorge Guerra G.Sistemas distribuidos 39
Arquitectura basada en eventos
Lic. Jorge Guerra G.Sistemas distribuidos 40
Arquitectura basada en datos compartidos
Lic. Jorge Guerra G.Sistemas distribuidos 41
Lic. Jorge Guerra G.Sistemas distribuidos 42
Lic. Jorge Guerra G.Sistemas distribuidos 43
Lic. Jorge Guerra G.Sistemas distribuidos 44
Lic. Jorge Guerra G.Sistemas distribuidos 45
Lic. Jorge Guerra G.
Paradigmas de Computacion en Red
Basado en la distribución de recursos, know-how (el codigo que procesa los recursos) y el procesador donde el codigo se ejecuta, los paradigmas de computación de red puede ser clasificadas como:
Paradigma Cliente-ServidorParadigma Código-por-demandaParadigma Agente Móvil
Lic. Jorge Guerra G.
Paradigma Cliente-Servidor
Client
Server
know-how
Servidor tiene todo: el know-how, el
procesador y los recursos
Cliente necesita inteligencia para
descubrir al servidor que provee el servicio
que se necesita.
Lic. Jorge Guerra G.
Paradigma Cliente-Servidor
Client
Server
know-how
Ejemplos: RPC, CORBA, XML Web-Services
etc.
Lic. Jorge Guerra G.
Paradigma Código-por-demanda
Server
know-howClient
Cliente tiene el procesador y los
recursos. No tiene el know-how
Servidor envía el know-how sobre el cliente.
Lic. Jorge Guerra G.
Paradigma Código-por-demanda
Server
know-howClient
Lic. Jorge Guerra G.
Paradigma Código-por-demanda
Server
Client know-how
know-how
Lic. Jorge Guerra G.
Paradigma Código-por-demanda
Server
Client know-how
know-how
Flash y Youtube son un buen
ejemplo de este paradigma.
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
Cada host en esta red tiene un alto
grado de flexibilidad en poseer el know-how, los recursos y los procesadores
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
Agente
know-how
Know-how en la forma de agentes móviles no esta unido a un único
host pero esta disponible en toda la red
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
Agente
know-howred
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
red
Agente
know-how
Lic. Jorge Guerra G.
Paradigma Agente Móvil
Host Host
Agente
know-how
Lic. Jorge Guerra G.
Concepto de Agente MovilUn agente móvil es un objeto el cual puede
moverse autónomamente a lo largo de la red de un host a otro con su código y estado de ejecución y realizar ciertas tareas a nombre de un usuario .
Lic. Jorge Guerra G.Sistemas distribuidos 60
Nuevos Paradigmas de SD Cluster Computing:
Dedicados a tareas específicas:Altas prestaciones.Alta disponibilidad.
Sistema homogéneo (a menudo dedicado):Nodos PCs.LAN (de propósito general o específicas).
Problemática: 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.
Problemática: Coordinación, seguridad, carácter dinámico.
Lic. Jorge Guerra G.Sistemas distribuidos 61
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 demás se encargan de su trabajo. Para un ordenador sólo ésto es imposible. De ésta forma se garantiza la alta disponibilidad las 24 horas del día. Igualmente se facilita la administración. La unión "clusterizada" de ordenadores es como un único punto de control, que podrá ser administrado sin ningún problema de forma remota.
Modelo de Cluster
Lic. Jorge Guerra G.Sistemas distribuidos 62
Lic. Jorge Guerra G.Sistemas distribuidos 63
Cluster Computing
Lic. Jorge Guerra G.Sistemas distribuidos 64
Lic. Jorge Guerra G.Sistemas distribuidos 65
Modelo de GRID
Lic. Jorge Guerra G.Sistemas distribuidos 66
Lic. Jorge Guerra G.Sistemas distribuidos 67
Lic. Jorge Guerra G.Sistemas distribuidos 68
Lic. Jorge Guerra G.Sistemas distribuidos 69
Lic. Jorge Guerra G.Sistemas distribuidos 70
Desarrollos WebCaso particular de desarrollo cliente servidor con
representación remota, en la cual disponemos de un protocolo standard: HTTP y un servidor denominado WebServer.
Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota.
Se dispone de un lenguaje standard de definición y formateo de páginas: HTML
Lic. Jorge Guerra G.Sistemas distribuidos 71
Desarrollos Web Incrustación de la lógica de aplicación en el servidor Web:
CGI: Common Gateware InterfaceCada petición HTTP genera un nuevo proceso, el cual analiza la
solicitud y genera un resultado. Cada proceso corresponde a una transacción.
Es flexible, ideal para pequeñas aplicaciones de uso reducidoNo escala adecuadamente
Plug-insCada petición HTTP es resuelta por el componente adecuada, dentro
del mismo proceso del Web-Server.Mejor rendimientoCompromete la seguridad y fiabilidad del servidor Web
Servidor especializadoFacilidad de desarrolloBuen rendimientoRigidez de configuración
Lic. Jorge Guerra G.Sistemas distribuidos 72
Lic. Jorge Guerra G.Sistemas distribuidos 73
Desarrollos WebTipos de plug-ins
HTML incrustado en códigoSe centran en la lógicaSon fácilmente de optimizablesEjemplos: servlets, Perl, Python
Código incrustado en HTMLSe centran en el interface de usuarioSon fáciles de crear y modificarNo requieren grandes formalismosNo necesitan una gran formaciónEjemplos: ASP, JSP, PHP
Lic. Jorge Guerra G.Sistemas distribuidos 74
Lic. Jorge Guerra G.Sistemas distribuidos 75
Desarrollo Web
Implementacion
Lic. Jorge Guerra G.Sistemas distribuidos 76
Lic. Jorge Guerra G.Sistemas distribuidos 77
Lic. Jorge Guerra G.Sistemas distribuidos 78
View
Controller
Model
Use
r
Modelo Vista Controlador
Lic. Jorge Guerra G.Sistemas distribuidos 79
Nuevos tipos de dispositivosDispositivos que acceden hoy a internet:
Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ...
Previsiones para los próximos años:2.002 el 50% de las transacciones habituales se
podrán realizar desde dispositivos móviles2.003 el 80% de los usuarios realizarán algún tipo
de transacción desde dispositivos móviles2.004 los se querrán realizar el 100% de las
transacciones desde dispositivos móviles2.005 Se esperan más de 1.000 millones de
usuarios móviles de internet
Lic. Jorge Guerra G.Sistemas distribuidos 80
Nuevos tipos de dispositivosProblema a resolver:
Necesidad de adaptar el interface de usuario a cada tipo de dispositivo
Medidas a tomar:Separar la lógica de aplicación del interface de usuarioUtilizar métodos estándar de comunicación entre la
lógica de aplicación y el interface de usuarioUso de herramientas que permitan adaptar rápidamente
las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo
Lic. Jorge Guerra G.Sistemas distribuidos 81
Nuevos tipos de dispositivosTendencia actual
Navegador
Web Server
Páginas HTML
Servidor Aplicaciones Lógica de negocio
DatosBase de datos
Interface de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Páginas WML
SQL
XML
- -
Wml binariohttp
Lic. Jorge Guerra G.Sistemas distribuidos 82
Nuevos tipos de dispositivosVariante de los fabricantes BBDD
Navegador
Web Server
Páginas HTML
Lógica de negocio
DatosBase de datos
Interface de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Páginas WML
XML
- -
Wml binariohttp
Lic. Jorge Guerra G.Sistemas distribuidos 83
Nuevos tipos de dispositivosVariante de los fabricantes pasarelas
Navegador
Web Server
Páginas HTMLLógica de negocio
DatosBase de datos
Interface de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Reglas de traducción WML
SQL
- -
Wml binariohttp
Interface de usuario
Lic. Jorge Guerra G.Sistemas distribuidos 84
Java
Lic. Jorge Guerra G.Sistemas distribuidos 85
Arquitectura I-MODE
PacketNetwork(PDC-P)
CommunicationNetwork
(PDC)
iModeServer
GroupwareServerPSTN
Info.Provider
HTTP/TCP/IP Leased Line
Internet
Info.Provider
Info.Provider
PC
PC
HTTP/TCP/IP
Lic. Jorge Guerra G.Sistemas distribuidos 86
WMLBrowser
J2ME
RTOS
Invoke
Opción 1: WML nativo Interacciona con java:•Limitaciones en es stack•Limita las interdependencias
XML or XHTML Browser
J2ME
RTOS
Opción 2: Java browser• Integración mayor•El navegado puede actualizarse dinámicamente
Coexistencia Java-WAP
Lic. Jorge Guerra G.Sistemas distribuidos 87
Wireless Telephony Application Interface
Web ServerWeb Server
CGIScripts,
Etc...
WM
L D
eck
sw
ith
WM
L S
crip
t
Content
WAP GatewayWAP Gateway
WML Encoder
WML ScriptCompiler
ProtocolConversion
ClientClient
WML
WML Script
WTAI
HTTP WTP
Arquitectura WAP
Lic. Jorge Guerra G.Sistemas distribuidos 88
Lic. Jorge Guerra G.Sistemas distribuidos 89
Lic. Jorge Guerra G.Sistemas distribuidos 90
Lic. Jorge Guerra G.Sistemas distribuidos 91
Lic. Jorge Guerra G.Sistemas distribuidos 92
Lic. Jorge Guerra G.Sistemas distribuidos 93