You are on page 1of 33

Captulo 1

Caracterizacin de los
Sistemas Distribuidos

Sistemas Distribuidos
Universidad Nacional de Asuncin
Facultad Politcnica
Ingeniera Informtica
Agradecimientos a:
Prof. MSc. Guillermo Gonzlez Rodas

Profesor: Ing. Fernando Manca


1

Antecedentes
El avance de las TICs produjo que los sistemas de informacin evolucionen
rpidamente en el contexto del trabajo coordinado separados
geogrficamente.
La utilizacin de la Programacin Orientada a Objetos, cambi la forma
disear en implementar Sistemas Distribuidos en las ltimas dcadas. Se
crearon nuevos modelos a partir de la P.O.O y nuevas tecnologas.

La utilizacin de Internet en casi todas las organizaciones de todo tipo y


tamao, y la disponibilidad de informacin, causan la emergente demanda
de un gran nmero de tecnologas para implementar Sistemas
Distribuidos. Esto da origen a lo que se denomina: Service Oriented
Computing.

Facultad Politcnica - UNA

Sistema Distribuido
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
Facultad Politcnica - UNA

Recursos
Compartir recursos es uno de los motivos principales para construir
sistemas distribuidos.
Los recursos son administrados por servidores y accedidos por
clientes. O encapsulados como objetos y accedidos por otros
objetos clientes.
Recursos pueden ser componentes hardware como discos,
impresoras, o entidades software como archivos, bases de datos y
objetos. Secuencia de imgenes de una cmara de video digital,
conexin de audio que representa una llamada de un telfono
mvil.

Facultad Politcnica - UNA

Caractersticas de los Sistemas Distribuidos


Concurrencia: en una red de computadores, la ejecucin de programas
concurrentes es la norma.
La coordinacin de programas que comparten recursos y se ejecutan de forma
concurrente es un tema importante y recurrente.

Inexistencia de reloj global: la cooperacin entre programas se realiza mediante el


intercambio de mensajes. La coordinacin depende de una idea compartida del
instante en el que ocurren las acciones de los programas.
Existen lmites de precisin en los computadores de una red para sincronizar sus
relojes. No existe una nica nocin global del tiempo correcto.

Facultad Politcnica - UNA

Caractersticas de los Sistemas Distribuidos

Fallos independientes: todos los sistemas pueden fallar. Los


S.D pueden fallar de formas diferentes:
Fallos en la red. Producen aislamiento de los computadores
conectados a l, pero eso no significa que detengan su
ejecucin. Pueden no ser capaces de detectar cuando la red ha
fallado o est excesivamente lenta.
Parada de un computador o terminacin inesperada de un
programa en alguna parte del sistema (crash). No se da a
conocer inmediatamente a lo dems componentes con los que se
comunica.
Facultad Politcnica - UNA

Ventajas de los Sistemas Distribuidos

Facultad Politcnica - UNA

Desventajas de los Sistemas Distribuidos

Facultad Politcnica - UNA

Ejemplos de Sistemas Distribuidos


INTERNET

Programas ejecutndose en los computadores conectados a Internet interactan


mediante paso de mensajes, empleando un medio comn de comunicacin. El
diseo y la construccin de los mecanismos de comunicacin Internet (los
protocolos Internet) es una realizacin tcnica fundamental, que permite que un
programa que se est ejecutando en cualquier parte dirija mensajes a programas en
cualquier otra parte.
Internet es tambin un sistema distribuido muy grande. Permite a los usuarios,
donde quiera que estn, hacer uso de servicios como el World Wide Web, el correo
electrnico, y la transferencia de archivos.

Facultad Politcnica - UNA

Ejemplos de Sistemas Distribuidos


INTERNET

El conjunto de servicios es abierto, puede ser extendido por la adicin de servidores


y nuevos tipos de servicios.
La figura nos muestra una coleccin de intranets, subredes gestionadas por
compaas y otras organizaciones. Los proveedores de servicios de Internet (ISPs)
son empresas que proporcionan enlaces de mdem y otros tipos de conexin a
usuarios individuales y pequeas organizaciones, permitindolas el acceso a
servicios desde cualquier parte de Internet, as como proporcionando servicios como
correo electrnico y pginas web. Las intranets estn enlazadas conjuntamente por
conexiones troncales (backbones). Una conexin o red troncal es un enlace de red
con una gran capacidad de transmisin, que puede emplear conexiones de satlite,
cables de fibra ptica y otros circuitos de gran ancho de banda.

Facultad Politcnica - UNA

10

Figura 1.1
Una topologa tpica de Internet

intranet
ISP

backbone

satellite link
desktop computer:
server:
network link:

Facultad Politcnica - UNA

11

Figura 1.4
Servidores y visualizadores web

www.google.com

http://www.google.comlsearch?q=kindberg

Browsers

Web servers
Internet

www.cdk3.net

http://www.cdk3.net/

www.w3c.org
File system of
www.w3c.org

http://www.w3c.org/Protocols/Activity.html
Protocols

Activity.html

Facultad Politcnica - UNA

12

INTRANET
Una intranet es una porcin de Internet que es, administrada separadamente y
que tiene un lmite que puede ser configurado para hacer cumplir polticas de
seguridad local.

La Figura 1.2 muestra una intranet tpica. Est compuesta de varias redes de rea
local (LAN s) enlazadas por conexiones backbone. La configuracin de red de
una intranet particular es responsabilidad de la organizacin que la administra y
puede variar ampliamente, desde una LAN en un nico sitio a un conjunto de
LANs conectadas perteneciendo a ramas de la empresa u otra organizacin en
diferentes pases. Una intranet est conectada a Internet por medio de un
encaminador (router), lo que permite a los usuarios hacer uso de servicios de
otro sitio como el Web o el correo electrnico.

Facultad Politcnica - UNA

13

Figura 1.2
Una Intranet tpica

email server

Desktop
compu ters

print and other servers


Local area
network

Web server

email server
print

File server

other servers
the rest of
the Internet
router/firewall

Facultad Politcnica - UNA

14

COMPUTACIN MVIL Y UBICUA


Los avances tecnolgicos en la miniaturizacin de dispositivos, redes
inalmbricas y redes mviles han llevado cada vez ms a la integracin de
dispositivos de computacin pequeos y porttiles en sistemas distribuidos.
Estos dispositivos incluyen:
Computadores porttiles.
Dispositivos de mano (handheld), entre los que se incluyen asistentes
digitales personales (PDA), telfonos mviles, buscapersonas y videocmaras
o cmaras digitales.
Dispositivos que se pueden llevar puestos, como relojes inteligentes.

Dispositivos insertados en aparatos, como lavadoras, sistemas de alta


fidelidad, automviles y frigorficos
Facultad Politcnica - UNA

15

COMPUTACIN MVIL Y UBICUA


Facilidad de transporte y capacidad para conectarse adecuadamente a redes
en diferentes lugares, hace posible la computacin mvil.
Computacin mvil: se denomina a la realizacin de tareas de cmputo
mientras el usuario est en movimiento.
Los usuarios que estn fuera de su hogar intranet (la intranet de su trabajo o
su casa) disponen de la posibilidad de acceder a los recursos mediante los
dispositivos que llevan con ellos. Pueden continuar accediendo a Internet;
pueden acceder a los recursos de su intranet; y se est incrementando la
posibilidad de que utilicen recursos, como impresoras, que estn
suficientemente prximos a donde se encuentren. Esto ltimo se conoce
como computacin independiente de posicin .

Facultad Politcnica - UNA

16

COMPUTACIN MVIL Y UBICUA

Computacin ubicua: utilizacin concertada de


dispositivos de computacin pequeos y baratos que estn
presentes en los entornos fsicos de los usuarios,
incluyendo la casa, la oficina y otros.
El trmino ubicuo est pensado para sugerir que los
pequeos dispositivos llegarn a estar tan extendidos en los
objetos de cada da que apenas nos daremos cuenta de
ellos. O sea, su comportamiento computacional estar
ligado con su funcin fsica de forma ntima y transparente.
Facultad Politcnica - UNA

17

COMPUTACIN MVIL Y UBICUA

Computacin ubicua: la
integracin de la
computacin en el entorno
de la persona, de forma que
los ordenadores no se
perciban como objetos
diferenciados.

Facultad Politcnica - UNA

18

Figura 1.3
Dispositivos porttiles y de mano en un sistema distribuido

Internet

Host intranet

WAP
gateway

Wireless LAN

Home intranet

Mobile
phone
Printer

Laptop
Camera

Host site

Facultad Politcnica - UNA

19

COMPUTACIN MVIL Y UBICUA


http://www.songdo.com/
New Songdo City es una ciudad ubicua (o ciudad-U) que se est
construyendo en una isla frente a la ciudad de Inchon, a 60 kilmetros
al oeste de Sel (Corea del Sur). En una superficie de 680 hectreas
se construye esta ciudad en que todos los sistemas de informacin
estarn interconectados y las computadoras estarn integradas a las
viviendas, las calles y los edificios de oficinas. Con un presupuesto de
25 mil millones de dlares, la ciudad est siendo emplazada como
Zona Econmica Libre. Se espera que la ciudad est terminada para
el 2014 y albergue a 65 mil personas, de las cuales unas 30 mil
trabajarn ah mismo.
Facultad Politcnica - UNA

20

Desafios de los Sistemas Distribuidos


HETEROGENEIDAD
Internet permite que los usuarios accedan a servicios y ejecuten
aplicaciones sobre un conjunto heterogneo de redes y computadores.
Esta heterogeneidad (es decir, variedad y diferencia) se aplica a todos
los siguientes elementos:

. Redes.
. Hardware de computadores.
. Sistemas operativos.
. Lenguajes de programacin.
. Implementaciones de diferentes desarrolladores.

Facultad Politcnica - UNA

21

Desafios de los Sistemas Distribuidos


HETEROGENEIDAD (2)

Middleware: estrato software que provee una abstraccin de


programacin, as como un enmascaramiento de la heterogeneidad
subyacente de las redes, hardware, sistemas operativos y lenguajes de
programacin. CORBA, es un ejemplo de ello.

Generalmente se implementa sobre protocolos de Internet,


enmascarando stos la diversidad de redes existentes. Aun as
cualquier middleware trata con las diferencias de sistema operativo y
hardware.
Proporciona un modelo computacional uniforme al alcance de los
programadores de servidores y aplicaciones distribuidas. Los posibles
modelos incluyen invocacin sobre objetos remotos, notificacin de
eventos remotos, acceso remoto mediante SQL y procesamiento
Facultad Politcnica - UNA
22
distribuido de transacciones.

Desafios de los Sistemas Distribuidos


HETEROGENEIDAD (3)

Cdigo mvil: cdigo que puede ser enviado desde un computador a


otro y ejecutarse en ste. Ejemplo: applets de Java.
El conjunto de instrucciones de un computador depende del
hardware, el cdigo de nivel de mquina adecuado para correr en un
computador no es adecuado para ejecutarse en otro tipo. Ejemplo,
ejecutables para PC no pueden ser ejecutados en un computador Mac.
La aproximacin de mquina virtual provee un modo de crear cdigo
ejecutable sobre cualquier hardware: el compilador de un lenguaje
concreto generar cdigo para una mquina virtual

Facultad Politcnica - UNA

23

Desafios de los Sistemas Distribuidos


EXTENSIBILIDAD
La extensibilidad de un sistema de cmputo es la caracterstica que determina si el
sistema puede ser extendido y reimplementado en diversos aspectos. La
extensibilidad de los sistemas distribuidos se determina en primer lugar por el grado
en el cual se pueden aadir nuevos servicios de comparticin de recursos y ponerlos
a disposicin para el uso por una variedad de programas cliente.

. Los sistemas abiertos se caracterizan porque sus interfaces estn publicadas.


. Los sistemas distribuidos abiertos se basan en la providencia de un mecanismo de
comunicacin uniforme e interfaces pblicas para acceder a recursos compartidos.
. Los sistemas distribuidos abiertos pueden construirse con hardware y software
heterogneo, posiblemente de diferentes proveedores. Sin embargo, la conformidad
con el estndar publicado de cada componente debe contrastarse y verificarse
cuidadosamente si se desea que el sistema trabaje correctamente.

Facultad Politcnica - UNA

24

Desafios de los Sistemas Distribuidos


SEGURIDAD
Entre los recursos de informacin que se ofrecen y se mantienen en los sistemas
distribuidos, muchos tienen un alto valor intrnseco para sus usuarios. Por esto su
seguridad es de considerable importancia.
La seguridad de los recursos de informacin tiene tres componentes:
confidencialidad (proteccin contra el descubrimiento por individuos no
autorizados); integridad (proteccin contra la alteracin o corrupcin); y
disponibilidad (proteccin contra interferencia con los procedimientos de acceso a
los recursos).

Facultad Politcnica - UNA

25

Desafios de los Sistemas Distribuidos


ESCALABILIDAD

Los sistemas distribuidos operan efectiva y eficientemente en muchas escalas


diferentes, desde pequeas intranets a Internet. Se dice que un sistema es
escalable si conserva su efectividad cuando ocurre un incremento significativo
en el nmero de recursos y el nmero de usuarios.
El diseo de los sistemas distribuidos escalables presenta los siguientes retos:
Control del costo de los recursos fsicos: segn crece la demanda de un recurso,
debiera ser posible extender el sistema, a un coste razonable, para satisfacerla.

Control de las prdidas de prestaciones: considere la administracin de un


conjunto de datos cuyo tamao es proporcional al nmero de usuarios o recursos
del sistema
Facultad Politcnica - UNA

26

Desafios de los Sistemas Distribuidos


ESCALABILIDAD

Prevencin de desbordamiento de recursos software: un ejemplo de


prdida de escalabilidad se muestra en el tipo de nmero usado para
las direcciones Internet.
Evitar cuellos de botella de prestaciones: en general, para evitar
cuellos de botella de prestaciones, los algoritmos deberan ser
descentralizados.

Facultad Politcnica - UNA

27

ESCALABILIDAD
Estadsticas de nmero de sitios web

Fuente: netcraft.com
Facultad Politcnica - UNA

28

Desafios de los Sistemas Distribuidos


TRATAMIENTO DE FALLOS
Deteccin de fallos: algunos fallos son detectables. Por ejemplo, se pueden utilizar
sumas de comprobacin (checksums) para detectar datos corruptos en un mensaje o
un archivo.
Enmascaramiento de fallos: algunos fallos que han sido detectados pueden
ocultarse o atenuarse.
Tolerancia de fallos: la mayora de los servicios en Internet exhiben fallos; es
posible que no sea prctico para ellos pretender detectar y ocultar todos los fallos
que pudieran aparecer en una red tan grande y con tantos componentes. Sus clientes
pueden disearse para tolerar ciertos fallos, lo que implica que tambin los usuarios
tendrn que tolerarlos generalmente. Por ejemplo, cuando un visualizador web no
puede contactar con un servidor web no har que el cliente tenga que esperar
indefinidamente mientras hace sucesivos intentos; informar al usuario del
problema, dndole la libertad de intentarlo ms tarde.
Facultad Politcnica - UNA

29

Desafios de los Sistemas Distribuidos


TRATAMIENTO DE FALLOS

Recuperacin frente a fallos: la recuperacin implica el diseo de


software en el que, tras una cada del servidor, el estado de los datos
pueda reponerse o retractarse (roll back) a una situacin anterior.

Redundancia: puede lograrse que los servicios toleren fallos


mediante el empleo redundante de componentes.

Facultad Politcnica - UNA

30

CONCURRENCIA

Tanto los servicios como las aplicaciones proporcionan recursos que


pueden compartirse entre los clientes en un sistema distribuido. Existe
por lo tanto una posibilidad de que varios clientes intenten acceder a
un recurso compartido a la vez.
El proceso que administra un recurso compartido puede atender las
peticiones de cliente una por una en cada momento, pero esta
aproximacin limita el ritmo de produccin del sistema (throughput).
Por esto los servicios y aplicaciones permiten, usualmente, procesar
concurrentemente mltiples peticiones de los clientes. Ms
concretamente, suponga que cada recurso se encapsula en un objeto y
que las invocaciones se ejecutan en hilos de ejecucin concurrentes
(threads).
Facultad Politcnica - UNA

31

Desafios de los Sistemas Distribuidos


TRANSPARENCIA

Transparencia de acceso que permite acceder a los recursos locales y


remotos empleando operaciones idnticas.
Transparencia de ubicacin que permite acceder a los recursos sin
conocer su localizacin.
Transparencia de concurrencia que permite que varios procesos
operen concurrentemente sobre recursos compartidos sin interferencia
mutua.
Transparencia de replicacin que permite utilizar mltiples
ejemplares de cada recurso para aumentar la fiabilidad y las
prestaciones sin que los usuarios y los programadores de aplicaciones
necesiten su conocimiento.
Facultad Politcnica - UNA

32

Desafios de los Sistemas Distribuidos


TRANSPARENCIA

Transparencia frente a fallos que permite ocultar los fallos, dejando que los
usuarios y programas de aplicacin completen sus tareas a pesar de fallos del
hardware o de los componentes software.
Transparencia de movilidad que permite la reubicacin de recursos y
clientes en un sistema sin afectar la operacin de los usuarios y los
programas.
Transparencia de prestaciones: que permite reconfigurar el sistema para
mejorar las prestaciones segn vara su carga.
Transparencia al escalado: que permite al sistema ya las aplicaciones
expandirse en tamao sin cambiar la estructura del sistema o los algoritmos
de aplicacin.
Facultad Politcnica - UNA

33