Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Distribuidos Panorama
Sistemas Distribuidos Panorama
** Panorama **
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Introduccin
Definicin
Caractersticas
Evolucin
Cliente-Servidor
Protocolo
Middleware
Objetos distribuidos
Base de datos distribuida
Desarrollo WEB
Tecnologas Inalmbricas
Ventajas de los Sistemas Distribuidos
Desventajas de los Sistemas Distribuidos
Desafos
Aplicaciones
Conclusiones
Referencias
1.- INTRODUCCIN
La computacin desde sus inicios ha sufrido muchos cambios, desde las grandes computadoras
que permitan realizar tareas en forma limitada y de uso un tanto exclusivo de organizaciones muy
selectas, hasta las actuales computadoras ya sean personales o porttiles que tienen las mismas e
incluso mayores capacidades que los primeros y que estn cada vez ms introducidos en el
quehacer cotidiano de una persona.
Los mayores cambios se atribuyen principalmente a dos causas, que se dieron desde las dcadas
de los setenta:
1. El desarrollo de los microprocesadores, que permitieron reducir en tamao y costo a las
computadoras y aumentar en gran medida las capacidades de los mismos y su acceso a
ms personas.
2. El desarrollo de las redes de rea local y de las comunicaciones que permitieron conectar
computadoras con posibilidad de transferencia de datos a alta velocidad.
Es en este contexto que aparece el concepto de "Sistemas Distribuidos" que se ha popularizado
tanto en la actualidad y que tiene como mbito de estudio las redes como por ejemplo: Internet,
redes de telfonos mviles, redes corporativas, redes de empresas, etc.
Este documento presenta una panormica de los aspectos relevantes que estn involucrados en
los Sistemas Distribuidos".
Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los recursos
disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes
que interactan en la red.
Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los
diferentes componentes para la realizacin de una tarea, no tienen una temporizacin
general, est ms bien distribuida en los componentes.
Fallos independientes de los componentes.- Cada componente del sistema pudiera
fallar de manera independientemente, y los dems continuar ejecutando sus acciones.
Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto
continua trabajando.
4.- EVOLUCIN.
Procesamiento central (Host).- Refiere a uno de los primeros modelos de computadoras
interconectadas, llamados centralizados, donde todo el procesamiento de la organizacin se
llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban
sencillas computadoras personales.
Algunos problemas de este modelo son:
Grupo de Servidores.- Otro modelo que entr a competir con el anterior, tambin un tanto
centralizado, son un grupo de computadoras actuando como servidores, normalmente de archivos
o de impresin, poco inteligentes para un nmero de minicomputadores que hacen el
procesamiento conectados a una red de rea local.
Algunos problemas de este modelo son:
Podra generarse una saturacin de los medios de comunicacin entre los servidores poco
inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grandes por
varios clientes a la vez, podan disminuir en gran medida la velocidad de transmisin de
informacin.
5.- CLIENTE-SERVIDOR
Definicin:
Sistema en donde el cliente es una mquina que solicita un determinado servicio y se denomina
servidor a la mquina que lo proporciona. Los servicios pueden ser:
Servidores de archivos.- Proporciona archivos para clientes. Si los archivos no fueran tan
grandes y los usuarios que comparten esos archivos no fueran muchos, esto sera una
gran opcin de almacenamiento y procesamiento de archivos. El cliente solicita los
archivos y el servidor los ubica y se los enva.
Servidores de Base de Datos.- Son los que almacenan gran cantidad de datos
estructurados, se diferencian de los de archivos pues la informacin que se enva est ya
resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor recibe esa
consulta (SQL) y extrae slo la informacin pertinente y enva esa respuesta al cliente.
Servidores de Software de Grupo.- El software de grupo es aquel, que permite organizar
el trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por
ejemplo: almacenar las listas de correo electrnico. El Cliente puede indicarle, que se ha
terminado una tarea y el servidor se lo enva al resto del grupo.
Servidores WEB.- Son los que guardan y proporcionan pginas HTML. El cliente desde un
browser o navegador hace un llamado de una pgina (link) y el servidor recibe el mensaje
para despus enviar la pgina solicitada.
Servidores de correo.- Gestiona el envo y recepcin de correo de un grupo de usuarios
(el servidor no necesita ser muy potente). El servidor slo debe utilizar un protocolo de
correo.
Servidor de objetos.- Permite almacenar objetos que pueden ser activados de manera
remota. Los clientes pueden ser capaces de activar los objetos que se encuentren en el
servidor.
Servidores de impresin.- Gestionan las solicitudes de impresin de los clientes. El
cliente enva la solicitud de impresin, el servidor recibe la solicitud y la ubica en la cola de
impresin, ordena a la impresora que lleve a cabo las operaciones y luego avisa a la
computadora cliente que ya acabo su respectiva impresin.
Servidores de aplicacin.- En el pasado refera a un servidor que se dedicaba a una
nica aplicacin. Era bsicamente una aplicacin a la que podan acceder los clientes. En
la actualidad refiere ms a un servidor Web con capacidad de procesamiento, por lo que
suele ser a la vez servidor Web con algunas funciones de lgica de negocio.
Componentes de Software:
Se distinguen tres componentes bsicos de software:
7. Niveles de una aplicacin Web. El nivel de interfaz de usuario est compuesto por las
pginas HTML que el usuario solicita a un servidor Web y que visualiza en un cliente Web
(normalmente, un navegador). El nivel de lgica de negocio est compuesto por los
mdulos que implementan la lgica de la aplicacin y que se ejecutan en un servidor de
aplicaciones. El nivel de datos est compuesto por los datos, normalmente gestionados
por un sistema de gestin de bases de datos (servidor de datos), que maneja la aplicacin
web.
6.- PROTOCOLO
Definicin:
Es un conjunto bien conocido de reglas y formatos que se utilizan para la comunicacin entre
procesos que realizan una determinada tarea. Se requieren dos partes:
IP: Protocolo de Internet.- Protocolo de la capa de Red, que permite definir la unidad
bsica de transferencia de datos y se encarga del direccionamiento de la informacin, para
que llegue a su destino en la red.
7.- MIDDLEWARE
Definicin:
Es un trmino que abarca a todo el software necesario para el soporte de interacciones entre
Clientes y Servidores principalmente en aplicaciones distribuidas. Se puede considerar como el
enlace que permite que un cliente obtenga un servicio de un servidor. Normalmente se define
como una capa de software cuyo propsito es ocultar la heterogeneidad y proveer de un modelo de
programacin conveniente para los desarrolladores de aplicaciones. Se encuentra representado
por procesos u objetos que actan en un conjunto de computadoras y que se comunican con el fin
de proporcionar soporte para comparticin de recursos en un sistema distribuido
Los paquetes que soportan las llamadas a procedimientos remotos tal como los RPC de Sun y los
sistemas de comunicaciones tales como ISIS son algunos de los pioneros del Middleware. En la
actualidad se cuenta con muchos productos y estndares Middlewares que dan soporte a los
sistemas orientados a objetos, entre ellos podemos sealar a : CORBA, Java RMI, Web Services,
DCOM (Distributed Component Object Model ) de Microsoft y los modelos de referencia para
procesamiento distribuido abierto (RM-ODP) del ISO/ITU-T.
En general podemos mencionar dos tipos de middleware:
Software intermedio general. Servicios generales que requieren todos los clientes y
servidores, por ejemplo: software para las comunicaciones usando el TCP/IP, software
parte del sistema operativo que, por ejemplo, almacena los archivos distribuidos, software
de autenticacin, el software intermedio de mensajes de clientes a servidores y viceversa.
Software intermedio de servicios. Software asociado a un servicio en particular, por
ejemplo: software que permite a dos BD conectarse a una red cliente/servidor (ODBC:
Conectividad abierta de BD), software de objetos distribuidos, por ejemplo la tecnologa
CORBA permite que objetos distribuidos creados en distintos lenguajes coexistan en una
misma red (intercambien mensajes), software intermedio para software de grupo, software
intermedio asociado a productos de seguridad especficas (Conexiones Seguras: Sockets),
etc.
Caractersticas:
usuario, no debe existir diferencia en trabajar con datos locales o datos de otros sitios de la
red.
En consecuencia, la base de datos distribuida, es como una unidad virtual, cuyas partes se
almacenan fsicamente en varias bases de datos "reales" distintas, ubicadas en diferentes sitios.
Ejemplo de base de datos distribuida:
Considere un banco que tiene tres sucursales, en cada sucursal, una computadora controla las
terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local
en cada sucursal constituye un "sitio" de la BDD; las computadoras estn conectadas por la red.
Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan slo
acceder la base de datos de la misma. Como slo acceden a la misma red local, se les llaman
aplicaciones locales.
Desde el punto de vista tecnolgico, aparentemente lo importante es la existencia de algunas
transacciones que acceden a informacin en ms de una sucursal. Estas transacciones son
llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones
globales ser considerada como una caracterstica que nos ayude a discriminar entre las BDD y un
conjunto de base de datos locales.
Una tpica transaccin global sera una transferencia de fondos de una sucursal a otra. Esta
aplicacin requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real
actualizacin en ambos sitios o en ninguno. Asegurar el buen funcionamiento de aplicaciones
globales es una tarea difcil.
Ventajas de las Base de Datos Distribuidas
El rendimiento que es una ventaja podra verse contradicho, por la naturaleza de la carga
de trabajo, pues un nodo puede verse abrumado, por las estrategias utilizadas de concurrencia y
de fallos, y el acceso local a los datos. Se puede dar esta situacin cuando la carga de trabajo
requiere un gran nmero de actualizaciones concurrentes sobre datos duplicados y que deben
estar distribuidos.
La confiabilidad de los sistemas distribuidos, esta entre dicha, puesto que, en este tipo de
base de datos existen muchos factores a tomar en cuanta como: La confiabilidad de las
computadoras, de la red, del sistema de gestin de base de datos distribuida, de las transacciones
y de las tazas de error de la carga de trabajo.
La mayor complejidad, juega en contra de este tipo de sistemas, pues muchas veces se
traduce en altos gastos de construccin y mantenimiento. Esto se da por la gran cantidad de
componentes Hardware, muchas cosas que aprender, y muchas aplicaciones susceptibles de fallar.
Por ejemplo, el control de concurrencia y recuperacin de fallos, requiere de personal muy
especializado y por tal costoso.
El procesamiento de base de datos distribuida es difcil de controlar, pues estos procesos
muchas veces se llevan a cabo en las reas de trabajo de los usuarios, e incluso el acceso fsico
no es controlado, lo que genera una falta de seguridad de los datos.
10.- DESARROLLO WEB
Caso particular de los sistemas Cliente-Servidor con representacin remota. En donde se dispone
de un protocolo estndar: HTTP y un Middleware denominado WebServer. En la actualidad la
aplicacin de sistemas informticos basados en Internet, es una herramienta fundamental para las
organizaciones que desean tener cierta presencia competitiva.
Tecnologas de la lgica de la aplicacin en el servidor web:
Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes computadoras.
16.- CONCLUSIONES
REFERENCIAS
Libros:
Distributed Systems: Concepts and Design
G. Coulouris, J. Dollimore, T. Kindberg,
Editorial: Addison Wesley,2005, 4th edition.
ISBN: 0321263545
Sistemas Distribuidos (espaol versin anteior -)
George Coulouris; Jean Dollimore; Sebastin Dormido; Tim Kindberg
Editorial: Addison Wesley | 3era Edicin
Idioma: Espaol
ISBN: 8478290494.
Distributed Systems: Principles and Paradigms**
Andrew S. Tanenbaum, Maarten van Oteen
Editorial: Prentice Hall; United States 2nd edition (Oct 2, 2006)
ISBN: 0132392275
Artculos:
Andrew S. Tanenbaum and Robbert Van Renesse, Distributed Operating Systems.
ACM Computing Surveys (CSUR), Volume 17, Issue 4. Pags. 419-470. ISSN:0360-0300.
The MIT Press scientific computation series. 1985.
Eliezer Levy and Abraham Silberschatz, Distributed file systems: concepts and examples.
ACM Computing Surveys (CSUR), Volume 22, Issue 4. Pags. 321-374. ISSN:0360-0300.
1990.