Anda di halaman 1dari 30

Captulo 1

Caracterizacin de los
Sistemas Distribuidos

Universidad Nacional de Asuncin


Facultad Politcnica
Ingeniera Informtica
Sistemas Distribuidos
Prof: Guillermo J. Gonzlez Rodas
g.gonzalez.pol@gmail.com

Qu es un 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

Caractersticas de los Sistemas Distribuidos


Concurrencia: en una red de computadores, la ejecucin de programas
concurrentes es la norma. La capacidad del sistema para manejar recursos
compartidos se puede incrementar aadiendo ms recursos (por ejemplo,
computadores) a la red. La coordinacin de programas que comparten recursos y
se ejecutan de forma concurrente es tambin un tema importante y recurrente.
Inexistencia de reloj global: cuando los programas necesitan cooperar coordinan
sus acciones mediante el intercambio de mensajes. La coordinacin estrecha
depende a menudo de una idea compartida del instante en el que ocurren las
acciones de los programas. Pero resulta que hay lmites a la precisin con lo que
los computadores en una red pueden sincronizar sus relojes, no hay una nica
nocin global del tiempo correcto. Esto es una consecuencia directa del hecho que
la nica comunicacin se realiza enviando mensajes a travs de la red.

Facultad Politcnica - UNA

Caractersticas de los Sistemas Distribuidos


Fallos independientes: todos los sistemas informticos pueden fallar y los
diseadores de sistemas tienen la responsabilidad de planificar las consecuencias
de posibles fallos. Los sistemas distribuidos pueden fallar de nuevas formas. Los
fallos en la red producen el aislamiento de los computadores conectados a l, pero
eso no significa que detengan su ejecucin. De hecho, los programas que se
ejecutan en ellos pueden no ser capaces de detectar cuando la red ha fallado o est
excesivamente lenta. De forma similar, la parada de un computador o la
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

Figura 1.1
Una topologa tpica de Internet

intranet
ISP

backbone

satellite link
desktop computer:
server:
network link:

Facultad Politcnica - UNA

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

10

Figura 1.2
Una Intranet tpica

email server

Desktop
computers

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

11

COMPUTACIN MVIL Y UBICUA


Los avances tecnolgicos en la miniaturizacin de dispositivos y en redes
inalmbricas 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 con
funcionalidad semejante a la de los PDAs.
. Dispositivos insertados en aparatos, como lavadoras, sistemas de alta fidelidad,
automviles y frigorficos

Facultad Politcnica - UNA

12

COMPUTACIN MVIL Y UBICUA


La facilidad de transporte de muchos de estos dispositivos, junto con su capacidad
para conectarse adecuadamente a redes en diferentes lugares, hace posible la
computacin mvil. Se llama computacin mvil a la realizacin de tareas de
cmputo mientras el usuario est en movimiento o visitando otros lugares distintos
de su entorno habitual. En la computacin mvil, 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

13

COMPUTACIN MVIL Y UBICUA


Computacin ubicua es la utilizacin concertada de muchos 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

14

Figura 1.3
Dispositivos porttiles y de mano en un sistema distribuido

Internet

Host intranet

WAP
gateway

Wireless LAN

Mobile
phone
Laptop

Printer
Camera

Home intranet

Host site

Facultad Politcnica - UNA

15

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

16

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

17

Desafios de los Sistemas Distribuidos


HETEROGENEIDAD
Middleware. El trmino middleware se aplica al 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.
Algn middleware, como lava RMI slo se soporta en un nico lenguaje de
programacin. La mayora de middleware 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.
Adems de soslayar los problemas de heterogeneidad, el middleware 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 distribuido de transacciones.
Facultad Politcnica - UNA

18

Desafios de los Sistemas Distribuidos


HETEROGENEIDAD
Heterogeneidad y cdigo mvil. El trmino cdigo mvil se emplea para referirse
al cdigo que puede ser enviado desde un computador a otro y ejecutarse en ste,
por eso los applets de Java son un ejemplo de ello.
Dado que el conjunto de instrucciones de un computador depende del hardware, el
cdigo de nivel de mquina adecuado para correr en un tipo de computador no es
adecuado para ejecutarse en otro tipo. Por ejemplo, los usuarios de PC envan a
veces archivos ejecutables agregados a los correos electrnicos para ser ejecutados
por el destinatario, pero el receptor bien pudiera no ser capaz de ejecutarlo, por
ejemplo, sobre un Macintosh o un computador con Linux.
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

19

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

20

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

21

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

22

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

23

Figura 1.5
Computadores en Internet

Date
1979, Dec.
1989, July
1999, July

Web servers

Computers
188

130,000
56,218,000

0
5,560,866

Facultad Politcnica - UNA

24

Figura 1.6
Comparacin entre Computadores y Servidores Web en Internet

Date
1993, July
1995, July
1997, July
1999, July

Computers

Web servers

Percentage

1,776,000

130

0.008

6,642,000
19,540,000
56,218,000

23,500
1,203,096
6,598,697

0.4
6
12

Facultad Politcnica - UNA

25

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

26

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

27

Desafios de los Sistemas Distribuidos


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

28

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

Facultad Politcnica - UNA

29

Desafios de los Sistemas Distribuidos


TRANSPARENCIA
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

30

Anda mungkin juga menyukai