You are on page 1of 93

Sistemas Distribuidos

Sistemas distribuidos 1
Hemos utilizado Sistemas
Distribuidos?
Ejemplo: Google
No es un sistema distribuido
Es una aplicación montada sobre un sistema distribuido
Yo como usuario desconozco
Máquina o máquinas en las quo se realiza Ia búsqueda
Lugares 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

Sistemas distribuidos 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.
• Computación Móvil.
• Aplicaciones Tradicionales.
Lic. Jorge Guerra G.
Sistemas distribuidos 3
Lic. Jorge Guerra G.
Sistemas distribuidos 4
La Internet mostro la factibilidad de la
implementación de los Sistemas Distribuidos

intranet % %
% ISP
%

backbone

satellite link
desktop computer:
server:
network link:

Lic. Jorge Guerra G.


Sistemas distribuidos 5
Numeros de Internet en 2015
 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
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.

Lic. Jorge Guerra G.


Sistemas distribuidos 10
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
Otras definiciones
Un sistema distribuido es una colección 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
Lic. Jorge Guerra G.
Sistemas distribuidos 12
Cambio de paradigma
 Control central  Autonomía
 Nombramiento global  Nombramiento federado (no
resuelto distribuidamente, por partes)
 Consistencia global
 Consistencia débil
 Ejecución secuencial
 Ejecución concurrente
 Vulnerabilidad
 Tolerancia a fallos
 Información local
 Información remota
 Localización fija
 Migración
 Homogeneidad
 Heterogeneidad

Lic. Jorge Guerra G.


Sistemas distribuidos 13
Retos
Los 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
¿ 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 15
Características de los Sistemas Distribuidos

Lic. Jorge Guerra G.


Sistemas distribuidos 16
Definición de Enslow
Sistema 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

Lic. Jorge Guerra G.


Sistemas distribuidos 17
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
Implementacion final

Lic. Jorge Guerra G.


Sistemas distribuidos 29
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óvil
Un 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 servicios
Modelo multiproceso.
Modelo de memoria compartida
También 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
También conocidos como multicomputadores
Cada procesador tiene su propio espacio de direcciones
El programador necesita saber donde se encuentran los datos

Lic. Jorge Guerra G.


Sistemas distribuidos 33
Comunicación entre procesos
Memoria Compartida (Base de Datos Distribuidas)
Paso de mensajes (Sockets, RPC y CORBA)
Ejecución remota (Agentes)

Lic. Jorge Guerra G.


Sistemas distribuidos 34
Arquitecturas hardware

Lic. Jorge Guerra G.


Sistemas distribuidos 35
Arquitecturas hardware

Lic. Jorge Guerra G.


Sistemas distribuidos 36
Arquitecturas usadas en Sistemas
Distribuidos

Arquitectura basada en capas


Arquitectura basada en objetos
Arquitectura centrada en datos compartidos
Arquitectura 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
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-Servidor
Paradigma Código-por-demanda
Paradigma Agente Móvil

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 Código-por-demanda

Cliente tiene el Servidor envía el know-how


procesador y los sobre el cliente.
recursos. No tiene
el know-how
Server

Client know-how

Lic. Jorge Guerra G.


Paradigma Código-por-demanda

Server

Client know-how

Lic. Jorge Guerra G.


Paradigma Código-por-demanda

Server

Client know-how

know-how

Lic. Jorge Guerra G.


Paradigma Código-por-demanda

Flash y Youtube
son un buen
ejemplo de este
paradigma.
Server

Client know-how

know-how

Lic. Jorge Guerra G.


Paradigma Agente Móvil

Cada host en esta


red tiene un alto
grado de flexibilidad
en poseer el know-
how, los recursos y
los procesadores

Host Host

Lic. Jorge Guerra G.


Paradigma Agente Móvil

Host Host

Lic. Jorge Guerra G.


Paradigma Agente Móvil
Know-how en la forma
de agentes móviles no
esta unido a un único
Agente host pero esta disponible
en toda la red

know-how

Host Host

Lic. Jorge Guerra G.


Paradigma Agente Móvil

Agente

red
know-how

Host Host

Lic. Jorge Guerra G.


Paradigma Agente Móvil

Agente

red
know-how

Host Host

Lic. Jorge Guerra G.


Paradigma Agente Móvil

Agente

know-how

Host Host

Lic. Jorge Guerra G.


Concepto de Agente Movil
Un 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.


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

Lic. Jorge Guerra G.


Sistemas distribuidos 61
Modelo de Cluster

Lic. Jorge Guerra G.


Sistemas distribuidos 62
Cluster Computing

Lic. Jorge Guerra G.


Sistemas distribuidos 63
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
Desarrollos Web
Caso 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 70
Desarrollos Web
 Incrustación de la lógica de aplicación en el servidor Web:
 CGI: Common Gateware Interface
 Cada 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 reducido
 No escala adecuadamente
 Plug-ins
 Cada petición 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 configuración

Lic. Jorge Guerra G.


Sistemas distribuidos 71
Lic. Jorge Guerra G.
Sistemas distribuidos 72
Desarrollos Web
Tipos de plug-ins
HTML incrustado en código
Se centran en la lógica
Son fácilmente de optimizables
Ejemplos: servlets, Perl, Python
Código incrustado en HTML
Se centran en el interface de usuario
Son fáciles de crear y modificar
No requieren grandes formalismos
No necesitan una gran formación
Ejemplos: ASP, JSP, PHP

Lic. Jorge Guerra G.


Sistemas distribuidos 73
Lic. Jorge Guerra G.
Sistemas distribuidos 74
Desarrollo Web

Lic. Jorge Guerra G.


Sistemas distribuidos 75
Implementacion

Lic. Jorge Guerra G.


Sistemas distribuidos 76
Lic. Jorge Guerra G.
Sistemas distribuidos 77
Modelo Vista Controlador

View Model
User

Controller

Lic. Jorge Guerra G.


Sistemas distribuidos 78
Nuevos tipos de dispositivos
Dispositivos 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óviles
2.003 el 80% de los usuarios realizarán algún
tipo de transacción desde dispositivos móviles
2.004 los se querrán realizar el 100% de las
transacciones desde dispositivos móviles
2.005 Se esperan más de 1.000 millones de
usuarios móviles de internet
Lic. Jorge Guerra G.
Sistemas distribuidos 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 lógica de aplicación del interface de usuario
Utilizar métodos estándar de comunicación entre la
lógica de aplicación y el interface de usuario
Uso 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 80
Nuevos tipos de dispositivos
Tendencia actual
Navegador Móvil Usuario
http Wml binario
Gestor
Web Server WAP Server comunicaciones
- -

Páginas HTML Páginas WML Interface de usuario

XML

Servidor Aplicaciones Lógica de negocio

SQL

Datos
Base de datos

Lic. Jorge Guerra G.


Sistemas distribuidos 81
Nuevos tipos de dispositivos
Variante de los fabricantes BBDD
Navegador Móvil Usuario
http Wml binario
Gestor
Web Server WAP Server comunicaciones
- -

Páginas HTML Páginas WML Interface de usuario

XML

Lógica de negocio
Base de datos Datos

Lic. Jorge Guerra G.


Sistemas distribuidos 82
Nuevos tipos de dispositivos
Variante de los fabricantes pasarelas
Navegador Móvil Usuario
http Wml binario
Gestor
Web Server WAP Server comunicaciones
- -
Reglas de
Interface de usuario
traducción WML
Interface de usuario
Páginas HTML
Lógica de negocio
SQL

Datos
Base de datos

Lic. Jorge Guerra G.


Sistemas distribuidos 83
Java

Lic. Jorge Guerra G.


Sistemas distribuidos 84
Arquitectura I-MODE
Info.
Packet iMode Provider
Info.
Network Server Provider
(PDC-P)
Info.
Provider
Internet
Communication PC
Network
(PDC)

Groupware
PSTN Server
PC

Lic. Jorge Guerra G.


Sistemas distribuidos 85
Coexistencia Java-WAP

WML XML or XHTML Browser


Invoke J2ME
Browser J2ME

RTOS RTOS

Opción 1: WML nativo Opción 2: Java browser


Interacciona con java: • Integración mayor
•El navegado puede actualizarse
•Limitaciones en es stack
dinámicamente
•Limita las interdependencias

Lic. Jorge Guerra G.


Sistemas distribuidos 86
Arquitectura WAP

Web Server WAP Gateway Client

WML Encoder WML


with WML Script
WML Decks

CGI
Scripts, WML Script WML Script
Etc... Compiler

Protocol WTAI
Content Conversion

Wireless Telephony Application Interface


HTTP WTP
Lic. Jorge Guerra G.
Sistemas distribuidos 87
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

You might also like