Administración de La Configuración SID

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 27

UNIVERSIDAD

TECNOLGICA

ADMINISTRACIN DE LA
CONFIGURACIN PARA
SISTEMAS DE
INFORMACIN
DISTRIBUIDOS

COSTARRICENSE

TELEPROCESO AVANZADO

PROFESOR: ROBERTO QUESADA VARGAS


ESTUDIANTE: MARA FERNANDA ZIGA MARCHENA

Tabla de contenido
INTRODUCCIN...........................................................................................2
CONFIGURACIN PARA UN SISTEMA DE INFORMACIN DISTRIBUIDO.........2
ARQUITECTURA DE SISTEMAS DISTRIBUIDOS.............................................4
Sistemas dbilmente acoplados (Cliente/Servidor)..................................5
Sistemas Multiprocesadores Fuertemente Acoplados..............................5
Sistemas de array de procesadores.........................................................6
COMPONENTES DE UN SISTEMA DISTRIBUIDO............................................6
Servicios de Comunicacin.......................................................................7
Sistemas de Ficheros Distribuidos............................................................7
Servicios de Sincronizacin y Coordinacin.............................................8
Memoria Compartida Distribuida (DSM)...................................................8
Gestin de Procesos.................................................................................9
Servicio de Seguridad............................................................................10
SOPORTE HARDWARE................................................................................11
Elementos de cmputo..........................................................................11
Infraestructura de red............................................................................12
SOPORTE DEL SISTEMA OPERATIVO...........................................................13
SOPORTE PARA LA COMUNICACIN...........................................................15
Modelos de comunicacin......................................................................15
Comunicacin basada en paso de mensajes..........................................17
PARADIGMA CLIENTE/SERVIDOR................................................................19
Componentes de los Sistemas Cliente/Servidor.....................................19
Modelos y tipologas...............................................................................21
Clasificacin en funcin de la ubicacin fsica de las distintas
funcionalidades......................................................................................22
Beneficios de las arquitecturas multinivel..............................................23
Desventajas de las arquitecturas multinivel..........................................23
CONCLUSIONES.........................................................................................24

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
relevantes

documento
que

estn

presenta

una

involucrados

panormica
en

la

de

los

administracin

configuracin para sistemas de informacin distribuidos.

aspectos
de

la

CONFIGURACIN PARA UN SISTEMA DE INFORMACIN


DISTRIBUIDO

Los Sistemas Distribuidos se define como una coleccin de


computadoras separadas fsicamente y conectadas entre s por una red de
comunicaciones; cada mquina posee sus componentes de hardware y
software que el programador percibe como un solo sistema (no necesita
saber qu cosas estn en que mquinas).
Los sistemas distribuidos deben ser muy confiables, ya que si un
componente del sistema se descompone otro componente debe ser capaz
de reemplazarlo. Esto se denomina tolerancia a fallos. El tamao de un
sistema distribuido puede ser muy variado, ya sean decenas de hosts (red
de rea local), centenas de hosts (red de rea metropolitana), o miles, o
millones de hosts (Internet); esto se denomina escalabilidad.
La configuracin para un sistema de informacin distribuido se lleva
a travs de cuatro fases a definir:

Fase

Conexin

directa

de

terminales

un

computador: En esta fase se dispone de un computador


central con gran capacidad de memoria interna y adems

memoria externa auxiliar prcticamente ilimitada.


Fase 2 Conexin de terminales a travs

de

concentradores:

de

Cuando

aumentamos

el

nmero

terminales, la conexin directa entre estos y el computador


central se torna costosa debido al valor que tienen las lneas
de transmisin adems de la baja tasa de utilizacin de estas.
Una

solucin

estos

ha

sido

la

incorporacin

de

concentradores que realizan tareas inherentes al tratamiento


de las comunicaciones as como tambin a la gestin de los
terminales.

Vale la pena mencionar que los concentradores

son minicomputadores dedicados a las comunicaciones, que


manejan un conjunto reducido de instrucciones de muy rpida

ejecucin, memoria central de poca capacidad y dispositivos

de entrada y salida muy desarrollados.


Fase 3 Comunicaciones de datos

controladas

por

procesadores de comunicaciones delanteros: En esta


etapa se agrega una nueva interface entre el computador
central y los concentradores, esta se denomina controlador de
comunicaciones delanteros y su funcin es encargarse de
controlar todo aquello que atae a las comunicaciones,
desligando en estas funciones al computador central, esta se
puede subdividir en dos sub etapas, la de los controladores de
comunicaciones

cableados

la

del

uso

directo

de

minicomputadores para esta funcin. La sub etapa cableada


tiene funciones ms limitadas y la sub etapa del uso directo
tiene todas las posibilidades que otorga el disponer de un
computador de pequeo porte programable dedicado al
control

de

las

comunicaciones.

Entre

otras

funciones

podemos enumerar las de comunicaciones, en cuanto a los


mensajes en lnea, conversin de protocolos, cambio de
velocidades, manejo de lneas y almacenamiento temporal en
la memoria propia cuando el computador central est

saturado.
Fase 4 Conexin entre redes de computadores: Las tres
primeras

etapas

consideraban

siempre

estructuras

tipo

estrellas, donde exista un computador central al cual se


conectaban,

con

alguna

ninguna

interface

mediante,

equipos terminales de datos. Aqu la red de comunicaciones


se desarrolla en forma de malla, en la cual un terminal pueda
acceder a diferentes computadores, logrando de esta forma
que los equipos terminales, en su mayora ya inteligentes,
puedan realizar diferentes explicaciones sobre base de datos
colocadas en distintos computadores. Las redes pueden ser
diseadas segn diferentes tecnologas, conocidas como de
conmutacin de circuitos de paquetes o de mensajes.

ARQUITECTURA DE SISTEMAS DISTRIBUIDOS

Existen principalmente tres tipos de sistemas que pueden considerarse


distribuidos:

Sistemas dbilmente acoplados (Cliente/Servidor).


Sistemas Multiprocesadores fuertemente acoplados.
Sistemas de array de procesadores.

Sistemas dbilmente acoplados (Cliente/Servidor)

A los sistemas, donde la comparticin de recursos necesaria para


proveer un servicio integral de cmputo, est dada por algunas de las
computadoras de la red y estas son accesadas por medio del software del
sistema que corre en todas estas mquinas, usando la red para coordinar
su trabajo y para transmitir los datos entre ellas, se les conoce como
Sistemas Dbilmente Acoplados.

Sistemas Multiprocesadores Fuertemente Acoplados

Los sistemas de este tipo integran a varios procesadores dentro de


un sistema de hardware integrado bajo el control de un solo sistema
operativo. El sistema operativo asigna los procesadores y los espacios de
memoria a las tareas de los usuarios y les permite que estas corran
concurrentemente. El hardware de entorno incluye memoria compartida o
una conexin de alta velocidad entre los distintos procesadores y
unidades de memorias del sistema con un solo sistema unificado de
direccionamiento.

Sistemas de array de procesadores

Un

array

de

procesadores

es

anlogo

una

computadora

convencional con un gran nmero de unidades aritmtico lgicas (ALU)


unidas en un array regular. Estas pueden ser usadas para desempear
clculos de matrices y otras operaciones regulares en forma paralela con
los arrays de datos.

COMPONENTES DE UN SISTEMA DISTRIBUIDO

El desarrollo de un sistema distribuido complejo requiere el uso de


las siguientes funciones y servicios:

Servicios de comunicacin.
Sistemas de ficheros y nombrado distribuido.
Servicios de sincronizacin y coordinacin.
Memoria compartida distribuida.
Gestin de procesos.
Servicio de seguridad.

Estas funcionalidades se plasman en elementos concretos del


sistema:

componentes,

hardware/software, entre otros.

Servicios de Comunicacin

protocolos,

algoritmos,

soporte,

Modelos de interaccin:

Cliente/servidor (2 niveles, 3 niveles o n-niveles).


Peer-to-peer. Equilibrio de roles.
Intermediarios: proxy, dispacher, caches.
Unicast vs Multicast.
Fiabilidad.
Sncronos vs Asncronos.

Tecnologas de comunicacin:

Paso de mensajes: Berkeley sockets.


Llamada a procedimientos remotos: RPC.
Tecnologas de objetos distribuidos: CORBA, DCOM, EJB.
Cdigo mvil: Entornos de agentes.

Sistemas de Ficheros Distribuidos

Identificacin, localizacin y acceso a elementos del entorno distribuido.


Comprende:

Sistemas de ficheros distribuidos (SFD), NFS, AFS.


Servicios de nombres: DNS, COS-Naming (CORBA).
Servicios de directorio: X500, LDAP, JNDI.

Cuestiones:

Arquitectura de los servicios.


Almacenamiento intermedio: caching.
Replicacin y coherencia.

Servicios de Sincronizacin y Coordinacin

Comprende los conceptos de:

Tiempo en entornos distribuidos: sincronizacin de relojes y relojes


lgicos.

Concurrencia y paralelismo: exclusin mutua e interbloqueos.


Algoritmos distribuidos: eleccin de lder, coordinacin.
Transacciones: propiedades ACID, modelos de commitl rollback.

Afecta a otros servicios:

Nombrado e identificacin.
Seguridad y fiabilidad.
Comunicaciones.

Memoria Compartida Distribuida (DSM)

Hardware:

Memoria fsicamente compartida.


Memoria distribuida (lgicamente compartida).
Acceso uniforme vs acceso no uniforme.

Distributed Shared Memory:

Basada en pginas.
Basada en variables compartidas.
Basada en objetos.

Gestin de Procesos

Taxonoma de los procesos:

Niveles de granularidad.
Congelacin de procesos (persistencia).
Migracin de procesos (estado/cdigo).

Planificacin de procesos:

Planificacin interna: procesos y threads.

Planificacin global.
Migracin y equilibrio de carga.
Aprovechamiento de mquinas inactivas.

Servicio de Seguridad

Tipologa de los ataques:

Privacidad y confidencialidad.
Autenticacin (spoofing).
Denegacin de servicio.

Modelos y herramientas de seguridad:

Cifrado: clave pblica (RSA) y privada (DES).


Protocolos de seguridad: IPsec, SSL.
Certificados y firmas digitales: X509.
Elementos de seguridad: Firewalls.

SOPORTE HARDWARE

En este apartado distinguiremos los dispositivos que soportan el


cmputo en un sistema distribuido y la infraestructura de red que permite
su interconexin.

Elementos de cmputo

La definicin de sistema distribuido que hemos proporcionado antes


(conjunto de computadores interconectados que comparten un estado) es
lo que suficientemente ambigua como para plantear discusiones, por
ejemplo (1) qu se entiende por computador, y (2) cmo se definen los
estados.

Para responder a estas preguntas necesitamos conocer las

alternativas en materia de arquitecturas de computadores. Atendiendo a


los criterios clsicos de Flynn, las arquitecturas se pueden clasificar segn
permitan paralelismo de datos y/o instrucciones.
Sobre esta clasificacin, cabra matizar que los procesadores
actuales (segmentados y superescalares) realizan tambin de alguna
forma procesos paralelo.

Pero, de acuerdo a nuestro propsito de

concretar qu arquitecturas pueden soportar distribucin (de cualquier


tipo de recurso), hemos de centrarnos nicamente en la categora MIMD,
mquinas

con

varias

unidades

de

proceso.

Por

generalidad,

introduciremos el trmino nodo para referirnos a cada una de las unidades


de proceso.
La categora MIMD suele subdividirse en subgrupos atendiendo a
dos criterios: el grado de acoplamiento (si cada nodo cuenta con su propio

espacio de direcciones de memoria fsica o no), y cmo se conectan los


nodos (bus compartido o red de interconexin).
De nuevo, sobre esta clasificacin cabe plantear si todos los
subgrupos admiten en general distribucin de recursos.

Para afinar un

poco ms identificaremos tres grupos de elementos susceptibles de


distribuirse entre los nodos:

Proceso.
Espacio de memoria.
Espacio de E/S (ficheros y dispositivos).
En los sistemas multiprocesador la memoria y la E/S son recursos

por definicin centralizados.

En estas mquinas slo tendra sentido

hablar de proceso distribuido. Los nodos comparten el estado de la E/S y


de la memoria, la distancia fsica entre procesadores es pequea y el reloj
es nico. En los multiprocesadores actuales, cada procesador posee su
memoria cache propia, pero la coherencia est garantizada por protocolos
hardware.

Un

sistema

operativo

multiprocesador

no

introduce

aparentemente grandes novedades. La memoria, la E/S y los ficheros se


gestionan como en los sistemas operativos tradicionales; slo la gestin
de los procesadores y la asignacin de procesos plantean nuevas
necesidades. Por todo ello, hoy en da los multiprocesadores no se
consideran sistemas distribuidos. Por el contrario, en multicomputadores y
redes, todos los recursos, incluido el reloj, son (o pueden ser)
distribuidos14. Es necesario implementar mecanismos y servicios que
aseguren estados globales consistentes y proporcionen la visin de
sistema nico en un grado aceptable. En la prctica, la mayora de los
sistemas distribuidos de hoy en da se basan en elementos de cmputo de
consumo, fundamentalmente PCs, y la tendencia es, como hemos visto,
que los elementos de cmputo se integren en todo tipo de dispositivos,
como telfonos o cmaras (o, desde otro punto de vista, que todo tipo de
dispositivo adquiera capacidad para servir de nodo en un sistema

distribuido), y que estos elementos se integren en el sistema mediante


algn tipo de infraestructura de red estndar.

Infraestructura de red

Como se ha comentado ms arriba, hoy en da los sistemas


distribuidos se basan en la existencia de una red de comunicaciones que
conecta dispositivos de cmputo estndares. Actualmente, en el mundo
industrializado cuenta con amplias infraestructuras troncales (backbones),
normalmente de fibra ptica, lo que ha permitido el despliegue de
Internet. Tambin se utilizan enlaces por satlite para el acceso a lugares
recnditos. El problema de acceso a los puntos de usuario (redes de rea
metropolitana, MAN) se ha estado solucionando mediante la utilizacin
eficiente del viejo cableado telefnico. Para redes locales especficas se
ha venido utilizando Ethernet, que permite velocidades muy altas.
En los ltimos aos han experimentado un gran avance las
tecnologas inalmbricas, hasta el punto de que pueden competir (es el
caso de WiFi IEEE 802.11) con Ethernet en las redes locales. Tambin hay
soluciones para mbitos geogrficos de mayor rango.

Finalmente, en

sistemas ubicuos adquieren importancia las redes inalmbricas de corto


alcance (redes de mbito personal, PAN).

SOPORTE DEL SISTEMA OPERATIVO

Hemos acotado el concepto de sistema distribuido como aplicable a


aquellos sistemas compuestos por nodos con espacios propios de
memoria y E/S. Cada nodo posee su propio sistema operativo y los
servicios de red bsicos. Esta descripcin concuerda con la de las redes
de computadores, pero tambin puede incluir los multicomputadores. En

general, los nodos sern heterogneos en cuanto al hardware y al sistema


operativo. Un primer paso es proporcionar un conjunto de especificaciones
que permitan definir interfaces comunes para construir sobre ellas los
servicios del sistema distribuido y proporcionar la visin de sistema nico.
En lo que se refiere a la distribucin de recursos, cabe pedir del sistema
operativo (1) compatibilidad, para permitir el desarrollo de los servicios
distribuidos, y (2) que proporcione la flexibilidad adecuada para ubicar y
gestionar los servicios eficientemente. Sin embargo, los sistemas clsicos,
como UNIX, monolticos, no estn diseados de acuerdo a estos objetivos.
Ofrecen una interfaz de llamadas al sistema nica, integran en el ncleo
todo

tipo

de

servicios

proporcionan

polticas

de

gestin

predeterminadas. El enfoque clsico para construir un sistema distribuido


en una red es instalar sobre el sistema operativo de cada mquina los
mecanismos necesarios para proporcionar el acceso a recursos remotos
segn el esquema cliente-servidor. Este enfoque proporciona escasa
flexibilidad, ya que el servidor de un recurso requiere habitualmente
ejecutar un sistema operativo determinado. Por otra parte, en el lado del
cliente, habitualmente se requiere la ejecucin de aplicaciones que deben
ser soportadas por plataformas especficas. Un esquema as de rgido
conduce a asociar mquinas concretas a servicios y aplicaciones
especficos, en detrimento de la flexibilidad y la transparencia en la
ubicacin. Una solucin para permitir que cualquier nodo de una red
soporte indistintamente cualquier servicio o aplicacin es la emulacin de
un

sistema

proporciona

husped

sobre

personalidad

un

mltiple

sistema
a

operativo

cada

nodo,

anfitrin.

Esto

permitiendo

la

coexistencia de aplicaciones y servicios, bien en modo nativo, bien


emulados. Existen productos para Windows y Linux, como VMware,
VirtualPC y win4lin, que proporcionan la emulacin de un entorno
hardware sobre el que se instala el sistema operativo husped. El xito de
estos productos reside en que utilizan una tcnica, la virtualizacin, que
permite ejecutar la mayor parte del cdigo en modo nativo, emulando
nicamente las llamadas al sistema operativo husped, por lo que la
fuerte prdida de rendimiento inherente a la emulacin puede ser

asumida por las mquinas de hoy en da. Sin embargo, en los primeros
aos

de

los

sistemas

distribuidos

la

emulacin

hardware

era

prcticamente inasumible, y el propio hecho de tener que almacenar y


cargar varios sistemas operativos completos, demasiado oneroso. Todo
ello condujo hace unos 25 aos a una revisin de la estructura del sistema
operativo. La premisa era sacar del espacio del sistema operativo los
servicios susceptibles de ser distribuidos, junto con sus polticas de
gestin,

dejando

dentro,

para

su

ejecucin

en

modo

protegido,

nicamente las funciones bsicas de control del hardware (gestin bsica


de memoria e interrupciones) y el soporte para los cambios de contexto y
la comunicacin. Este ncleo de sistema operativo se denomina
microncleo, y proporciona la base adecuada para la distribucin de
servicios, al permitir la implementacin selectiva sobre l, en el espacio
de usuario y de acuerdo al modelo cliente-servidor, de los servicios
especficos que ofrece el sistema, como mdulos independientes. La
interfaz de llamadas al sistema se implementa como un subsistema en
espacio de usuario, lo que permite, de manera natural y con escaso
overhead, ofrecer personalidad mltiple y soportar concurrentemente
aplicaciones y servicios de diferentes sistemas operativos. El ejemplo ms
extendido de microncleo es el Mach 3.0, base de algunos sistemas
comerciales tipo UNIX, como OSF/1, o el actual OS X de Apple para
Macintosh. Cada vez ms frecuentemente los dispositivos mviles
actuales (en particular los denominados smart phones) soportan versiones
reducidas de los sistemas operativos comerciales (Mac, Windows), o
sistemas especficos (como Android, de Google) con prestaciones nada
desdeables. Actualmente estos sistemas tienen capacidad para soportar
una mquina virtual Java, un navegador Web, aplicaciones multimedia, y
controlan una variedad de dispositivos, como una pantalla tctil, una
cmara, un receptor GPS, y todo tipo de interfaces de comunicacin
inalmbrica lo que los hace extraordinariamente verstiles. Este sector es
sin duda el escenario ms candente para el desarrollo de la tecnologa de
los sistemas operativos. Finalmente, en el extremo de la miniaturizacin,
se estn proponiendo dispositivos autnomos dotados de sensores y

capacidad de comunicacin inalmbrica pensados para configurarse en


redes de sensores. Cada uno de estos dispositivos (motas), diseminados
de manera ms o menos aleatoria en entornos diversos (por ejemplo, un
ecosistema), participan tanto de la recoleccin de informacin como del
encaminamiento de los mensajes de las motas cercanas. Existen sistemas
operativos especficos para soportar estas funciones con un consumo de
energa mnimo, como TinyOS.

SOPORTE PARA LA COMUNICACIN

Hay que diferenciar entre distribucin fsica de la memoria y modelo


de comunicacin. El grado de acoplamiento determinar el soporte
necesario para implementar el modelo de comunicacin, pero ste puede
estar basado tanto en memoria compartida como en paso de mensajes. El
modelo elegido determina parte de las caractersticas del sistema
distribuido, pero la distribucin fsica de la memoria queda ocultada, salvo
a efectos del rendimiento.

Modelos de comunicacin

Sobre

memoria

compartida,

los

mecanismos

de

variables

compartidas cuyo acceso se sincroniza mediante cerrojos de exclusin


mutua u otras primitivas (variables condicin, cerrojos de lectoresescritores), han sido estudiados desde hace mucho tiempo y estn
perfectamente establecidos. Lo mismo cabe decir sobre el paso de
mensajes, que implementa colas FIFO sobre buffers en memoria, a
menudo integrados en el sistema de ficheros (pipes de UNIX). Sobre
sistemas dbilmente acoplados (habitualmente redes), el paso de
mensajes parece el mecanismo de comunicacin natural. En un sistema

distribuido,

las

necesidades

de

comunicacin

conducen

utilizar

esquemas especficos de gestin de los recursos para los que el paso de


mensajes resulta adecuado. Un recurso estar a cargo de un proceso
gestor del recurso, con quien deber comunicarse cualquier proceso que
pretenda acceder al recurso siguiendo un esquema cliente-servidor, que
permite expresar el acceso a servicios mediante un protocolo de peticinrespuesta. El modelo cliente/servidor se puede implementar mediante un
mecanismo de paso de mensajes especfico, como por ejemplo la interfaz
de sockets de UNIX, que se apoya en los protocolos TCP/IP o UDP/IP para
comunicar procesos en un sistema en red. Pero para espacios de memoria
fsicos independientes tambin se han diseado interfaces que permiten
manejar un espacio de direcciones comn sobre un sistema de memoria
fsica distribuida: sistemas de memoria compartida distribuida (DSM). La
idea es ofrecer a las aplicaciones diseadas segn un modelo de memoria
compartida un soporte para su ejecucin en un entorno distribuido. Con el
objetivo de disminuir la diferencia semntica entre programas que usan
servicios locales (mediante llamadas al sistema) y programas que usan
servicios remotos, se han desarrollado mecanismos que encapsulan los
detalles de direccionamiento y sincronizacin del envo/recepcin de la
peticin/respuesta. As, en los lenguajes procedimentales, las llamadas a
procedimientos remotos, RPCs, proporcionan una sintaxis de llamada a
funcin como interfaz para el acceso a servicios. Se incluye como
Apndice una breve descripcin del mecanismo de RPCs. En los lenguajes
orientados a objetos, cada recurso es un objeto identificado unvocamente
en el sistema distribuido, al que se accede invocando los mtodos de
acceso definidos para esa clase de objeto. El acceso a los objetos se
realiza mediante una interfaz de invocacin de mtodos remotos (por
ejemplo, RMI de Java). A RMI se le dedica tambin un Apndice.

Comunicacin basada en paso de mensajes

El paso de mensajes comprende un conjunto de mecanismos que


permiten

comunicar

procesos

mediante

un

enlace

canal

de

comunicacin, bien directamente, identificando el proceso origen o


destino respectivamente en las primitivas de recibir o enviar, bien a
travs

de

un

buzn,

que

identifica

explcitamente

el

canal

de

comunicacin. En sistemas tipo UNIX, el mecanismo bsico de paso de


mensajes dentro de un nodo es el de pipes, con o sin nombre. Para
comunicar procesos entre nodos surge el problema del direccionamiento.
A

este

respecto,

los

sockets

de

UNIX

soportan

dos

formas

de

comunicacin alternativas: identificando un socket dentro del sistema de


ficheros (entorno UNIX) o asociando un puerto de comunicacin en un
nodo concreto (entorno Internet). En este ltimo caso se hace precisa la
gestin explcita del direccionamiento. Aunque el modelo de programacin
del paso de mensajes para comunicacin entre nodos no difiere del de
paso de mensajes para comunicacin dentro de un nodo, el hecho de
tener que confiar en los protocolos de red introduce dependencias
derivadas del rendimiento y la fiabilidad del canal de comunicacin entre
nodos.

Las

caractersticas

principales

asociadas

un

canal

de

comunicacin son las siguientes:


Modo de sincronizacin: Por una parte, si el canal de
comunicacin est ocupado, la primitiva de enviar puede bloquear
al proceso hasta que se libere el canal (lo que depende tambin de
si permite buffering o no) y pueda depositar el mensaje (modo
bloqueante o sncrono). La alternativa (modo no bloqueante)
permite que el proceso contine aunque el mensaje no se haya
podido enviar, transfiriendo a la aplicacin la responsabilidad de
gestionar la sincronizacin en el uso del buffer de usuario donde se
ubica el mensaje enviado. Estos modos se aplican tambin a la

primitiva

de

recibir.

Los

sockets

de

UNIX

son

en

principio

bloqueantes, pero pueden configurarse como no bloqueantes.


Fiabilidad: En lo referente a la fiabilidad de la comunicacin, el
mecanismo de paso de mensajes depende del soporte que le
proporcione la red. Si se implementa sobre un protocolo de
transporte seguro, la comunicacin se considera fiable, en el sentido
de que el emisor puede confiar en que el receptor acabe por recibir
el mensaje correctamente o sea informado de lo contrario. Esto es a
costa de una cierta sobrecarga por la necesidad que tiene el
protocolo de confirmar las recepciones. En cambio, un mecanismo
no fiable permitir una comunicacin menos costosa, pero delega en
la aplicacin la responsabilidad de verificar la correccin de la
comunicacin. UNIX ofrece dos formas de comunicacin con
sockets: comunicacin orientada a conexin, basada en TCP/IP,
fiable, y comunicacin por datagramas, basada en UDP/IP, no fiable.
Modo de comunicacin: En sistemas distribuidos es de gran
inters el soporte de primitivas de paso de mensajes de 1:N. El
broadcast o difusin permite enviar un mensaje a todas las
direcciones accesibles por el emisor, y se usa en redes locales. Un
caso particular de broadcast, el multicast, permite seleccionar un
subconjunto de direcciones a las que enviar el mensaje. El soporte
para multicast es muy til en sistemas replicados, como se ver
ms adelante. Como ejemplo, el protocolo IP reserva un conjunto de
direcciones para multicast. El desarrollo de Internet est forzando la
evolucin de los protocolos de nivel de red. As, el protocolo IPv4,
cuyas direcciones de 32 bits suponen un problema de escalabilidad,
est dejando paso al IPv6, que especifica direcciones de 128 bits.
Internet y los nuevos paradigmas de cmputo estn imponiendo
nuevos estilos de comunicacin. De este modo, se aprecia una
tendencia general a la utilizacin de HTTP como protocolo de acceso
a servicios, como evolucin del esquema RPC clsico. Por otra parte,
la distribucin de servicios ha provocado una evolucin del esquema

cliente-servidor clsico hacia estructuras peer-to-peer, donde los


roles de cliente y servidor son intercambiables. En tales sistemas,
habitualmente dinmicos, los nodos indistintamente ofrecen y
solicitan servicios, y eventualmente cooperan en la bsqueda de
servicios y en el encaminamiento de peticiones.

PARADIGMA CLIENTE/SERVIDOR

Patrn arquitectnico para el desarrollo de sistemas distribuidos.


Distribuye una aplicacin entre dos o ms componentes especializados
cuya ejecucin se distribuye entre 1 o ms equipos. Define dos tipos de
entidades diferenciadas (asimtricas) que se responsabilizan de acciones
diferentes: clientes y servidores. Define un modelo de interaccin basado
en el concepto de servicio implementado sobre un dilogo peticinrespuesta: el cliente inicia el dilogo mediante el envo de peticiones y el
servidor presta el servicio y responde las peticiones recibidas.
Especifica el modo en que se sincronizan los procesos: El Cliente
(parte activa) demanda servicios a los servidores, se asume que cada
peticin deber obtener respuesta y diseado para soportar la interaccin
con el usuario final. El Servidor (parte pasiva) espera las peticiones de los
clientes, procesa esas peticiones y enva una respuesta, diseo orientado
a maximizar la eficiencia.

Componentes de los Sistemas Cliente/Servidor

Caractersticas de los clientes

Componente del sistema que interacta con el usuario.


No comparte sus recursos con otros clientes (en general).
No suelen tener restricciones especiales respecto a rendimiento,

fiabilidad y escalabilidad.
o No suele requerir equipos de altas prestaciones.
o Fallo en un cliente no afecta al resto del sistema.
Debe dar soporte a restricciones relativas a ergonoma (facilidad de
uso) y seguridad (evitar comprometer los dems componentes).

Caractersticas de los servidores

Componente del sistema que presta servicios a los clientes.


Gestiona y comparte sus recursos con los clientes a los que sirve.
Suele tener restricciones especiales respecto a rendimiento,
fiabilidad, escalabilidad y seguridad.
o Capacidad suficiente para atender mltiples clientes.
o Fallos en el servidor son crticos e invalidan el sistema.
o El nmero de clientes (peticiones) puede ser muy variable y
aumentar si as se requiere.
o Evitar comprometer la seguridad de los recursos o datos
gestionados y de los clientes.

Caractersticas del middleware

Componente del sistema que da unidad y abstrae las peculiaridades


de las plataformas (hardware y sistema operativo) de clientes y

servidor.
Gestiona los aspectos de bajo nivel para ofrecer un interfaz comn y
coherente para el desarrollo de clientes y servidores (abstraccin).
Misiones principales:
o Dar soporte al envo/recepcin de mensajes.
o Adaptacin del formato de la informacin intercambiada
(mars-haling/aplanamiento).
o Localizacin y acceso transparente
nombrado, direccionamiento.

recursos/servicios:

o Soporte al paradigma de abstraccin: stubs/skeletons en RPC,

RMI, CORBA, entre otros.


o Otros servicios: seguridad, replicacin, control, concurrencia.
Combina e integra:
o Servicios
de
bajo
nivel
(S.O.):
seguridad,
autorizacin/permisos, ficheros distribuidos.
o Servicios de red: libreras, pila de transporte TCP/IP.
o Servicios especficos de la abstraccin que ofrece: acceso a

datos, portmapper, ORB.


Aproximaciones: (de menor a mayor nivel de abstraccin)
o Middleware de paso de mensajes: interfaz de sockets
(esquema peticin-respuesta).
o Middleware de invocacin de mtodos remota: RPC (llamadas
a funciones).
o Middleware de objetos distribuidos: RMI, CORBA (interaccin
entre objetos).

Modelos y tipologas

Esquema abstracto de aplicaciones distribuidas genricas (capas).


Se corresponden con las funciones tpicas en un sistema.

Capa de presentacin (interfaz de usuario): interacciona

con el usuario, presenta los datos y recibe las entradas.


Capa de aplicacin/negocio (lgica de aplicacin):
responsable de las tareas propias de la aplicacin concreta.
Implementa la lgica de la aplicacin y aplica las reglas de

negocio sobre los datos y las entradas de usuario.


Capa de datos (almacenamiento y acceso

datos):

responsable de la gestin y almacenamiento permanente de


los datos.
Cada tipo de sistema cliente-servidor distribuye esas capas de modo
distinto entre los componentes cliente y servidor.

Clasificacin en funcin de la ubicacin fsica de las distintas


funcionalidades

Modelo Tradicional (cliente/servidor en 2 niveles)

Un nico servidor atiende a mltiples clientes.


Problemas
o Escasa escalabilidad: en servidores con lgica de negocio
compleja o con grandes bases de datos (difcil replicacin,
etc).
o Rigidez: modificaciones en la lgica de aplicacin suponen

grandes cambios en la totalidad de clientes.


o Difcil evolucin del servidor.
Limitacin principal: alto acoplamiento/dependencia del cliente
respecto del servidor.

Modelo cliente/servidor en 3 niveles

Extensin del modelo tradicional que pretende aumentar el


desacoplamiento entre servidor y clientes.
Introduce un nivel intermedio (separa servidor en 2 componentes).
o Cliente dedicado casi exclusivamente a interfaz de usuario.
o Servidor de datos comparte con servidor del nivel intermedio
la lgica de la aplicacin.
o El reparto preciso depende del modelo concreto seguido.

Modelos cliente/servidor en n niveles

La lgica de aplicacin se reparte en diferentes capas/niveles

ubicadas entre el cliente y los datos.


Las capas intermedias se proporcionan servicios entre s.

o Cada nivel se comunica slo con los niveles contiguos a travs

de interfaces bien definidos.


Estructura tpica en sistemas basados en componentes distribuidos
(objetos distribuidos).

Beneficios de las arquitecturas multinivel

Elementos crticos de la lgica de negocio ubicados en nivel medio.


o Ms cercanos a la capa de datos. Eficiencia de acceso.
o Slo los datos realmente necesarios acaban llegando al

cliente.
Mayor flexibilidad y modularidad.
Escalabilidad: facilita aadir recursos para soportar mayor nmero

de clientes.
Extensibilidad: facilita aadir nuevas funcionalidades al sistema sin

afectar a los clientes existentes.


Seguridad: facilidad para propagar autenticacin y permisos a

travs de las distintas capas.


Facilidades de desarrollo y administracin:
o Reusabilidad de componentes.
o Aislamiento frente a cambios en otras capas.
o Independencia frente a cambios en base de datos.

Desventajas de las arquitecturas multinivel

Complejidad: mayor nmero de elementos hardware y software a

definir, gestionar y mantener.


o Interacciones complejas entre componentes.
o Dificultad para detectar, asilar y corregir fallos.
Coste de comunicaciones: mayor latencia y consumo de ancho de

banda (atravesar capas distribuidas por la red).


Coste de mantenimiento: al crecer las capas aumenta el coste y la
dificultad de instalacin y mantenimiento.

CONCLUSIONES

Los sistemas distribuidos abarcan una cantidad de aspectos


considerables, por lo cual su desarrollo implica considerable complejidad.
Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e
implantarse como el manejo de fallos, el control de la concurrencia,
adems de que ciertas aplicaciones como las llamadas en tiempo real
requieren que el tiempo de respuesta sea preciso ya que en algunos casos
puede ser desastroso el que el sistema no cumpla con los requerimientos
especificados.
Se nota tambin que numerosas tecnologas estn en constante
desarrollo y maduracin, lo cual implica un extremado estudio previo de
muchos factores antes de elegir alguna tecnologa en especial.
Las aplicaciones multimedia necesitan nuevos mecanismos que
permitan gestionar grandes volmenes de datos dependientes del tiempo.
Estos estn concentrados en la gestin de la calidad de servicio. Deben
reservar ancho de banda y otros recursos que aseguren requisitos de una
aplicacin, y deben planificar el uso de recursos para cumplir los
frecuentes tiempos lmites de entrega de las aplicaciones multimedia.
La planificacin de los recursos est especializada, y ofrece un
excelente cambio en el diseo que estos sistemas necesitan.
Actualmente las aplicaciones multimedia estn revolucionando el
mundo de cada individuo y siendo parte de la vida cotidiana de cada
persona ya que se puede tanto tomar clase por la web, hasta estar
jugando con gran nmero de personas al mismo tiempo.

También podría gustarte