Professional Documents
Culture Documents
Facilita transparencia.
Necesidad de proceso de localizacin:
Mediante broadcast.
Uso de un servidor de localizacin que mantiene
relaciones entre direcciones lgicas y fsicas.
Uso de cache en clientes para evitar localizacin.
MODELO CLIENTE - SERVIDOR
Con enlaces del orden de decenas (o centenas) de miles de bits /
segundo y cpu poderosas:
La carga de procesamiento de los protocolos no es significativa.
El factor limitante es la capacidad de las lneas.
Ej.: redes de rea extendida (WAN).
Con enlaces del orden de millones de bits / segundo y
computadoras personales:
La carga de procesamiento de los protocolos s es frecuentemente
significativa.
El factor limitante no es la capacidad de las lneas.
Ej.: redes de rea local (LAN).
La mayora de los sistemas distribuidos basados en LAN no utilizan los
protocolos de capas completos, s utilizan un subconjunto de toda una
pila de protocolos. El modelo OSI no dice nada acerca de la forma de
estructurar al sistema distribuido.
El modelo cliente - servidor tiene como idea fundamental la
estructuracin del S. O. como:
Un grupo de procesos en cooperacin, llamados servidores, que
ofrecen servicios a los usuarios.
Un grupo de procesos usuarios llamados clientes.
El modelo cliente - servidor se basa en un protocolo solicitud /
respuesta:
El servidor:
Ejecuta el requerimiento.
Regresa los datos solicitados o un cdigo de error si no pudo
ejecutarlo correctamente.
No se tiene que establecer una conexin sino hasta que sta se
utilice.
La pila del protocolo es ms corta y por lo tanto ms eficiente.
Si todas las mquinas fuesen idnticas solo se necesitaran tres
niveles de protocolos
Las principales opciones de diseo son:
Direccionamiento:
Bloqueo:
Almacenamiento en buffers:
Confiabilidad:
En el caso de mensajes compuestos por varios paquetes, el
reconocimiento puede ser:
Por paquete individual:
Ante la prdida de un paquete, solo retransmite se
paquete.
Requiere ms paquetes en la red.
Por mensaje completo:
La recuperacin es compleja ante la prdida de un
paquete.
Requiere menos paquetes en la red.
BERKELEY SOCKETS
Aparecieron en 1981 en UNIX BSD 4.2
Intento de incluir TCP/IP en UNIX.
Diseo independiente del protocolo de comunicacin.
Un socket es punto final de comunicacin (direccin IP y puerto).
Abstraccin que:
Ofrece interfaz de acceso a los servicios de red en el nivel de
transporte.
Representa un extremo de una comunicacin bidireccional con
una direccin asociada.
Actualmente:
Disponibles en casi todos los sistemas UNIX.
En prcticamente todos los sistemas operativos:
WinSock: API de sockets de Windows.
En Java como clase nativa.
DOMINIOS DE COMUNICACIN
Un dominio representa una familia de protocolos.
Un socket est asociado a un dominio desde su creacin.
Slo se pueden comunicar sockets del mismo dominio.
Los servicios de sockets son independientes del dominio.
Algunos ejemplos:
PF_UNIX (o PF_LOCAL): comunicacin dentro de una mquina.
PF_INET: comunicacin usando protocolos TCP/IP.
TIPOS DE SOCKETS
Stream (SOCK_STREAM):
Orientado a conexin.
OMA
(Object Management Architecture)
Arquitectura de referencia sobre cual se pueden definir aplicaciones
distribuidas sobre un entorno heteregneo. CORBA es la tecnologa asociada a
esta arquitectura genrica.
Formalmente esta dividida en una serie de modelos:
Modelo de Objetos
Modelo de Interaccin
...
ORB
(Object Request Broker)
Es el elemento central de la arquitectura. Proporciona las funcionalidades de
interconexin entre los objetos distribuidos (servicios, facilidades y objetos de
aplicacin) que forman una aplicacin.
Representa un bus de comunicacin entre objetos.
ILD DE COBRA
(Interface Definition Language)
Es el lenguaje mediante el cual se describen los mtodos que un determinado
objeto del entorno proporciona al resto de elementos del mismo.
COMPONENTES DE UN ORB
Stub:
Cdigo cliente asociado al objeto remoto con el que se desea
interactuar. Simula para el cliente los mtodos del objeto remoto,
asociando a cada uno de los mtodos una serie de funciones que
realizan la comunicacin con el objeto servidor.
Skeleton:
Cdigo servidor asociado al objeto. Representa el elemento
anlogo al stub del cliente. Se encarga de simular la peticin
remota del cliente como una peticin local a la implementacin
real del objeto.
DII:
(Dynamic Invocation Interface)
Alternativa al uso de stubs estticos que permite que un cliente
solicite peticiones a servidores cuyos interfaces se desconocan en
fase de compilacin.
DSI:
(Dynamic Skeleton Interface)
Alternativa dinmica al uso de skeletons estticos definidos en
tiempo de compilacin del objeto. Es usado por servidores que
durante su ejecucin pueden arrancar diferentes objetos que
pueden ser desconocidos cuando se compil el servidor.
Las dos principales responsabilidades del ORB son:
Localizacin de objetos: El cliente desconoce la computadora
donde se encuentra el objeto remoto.
Comunicacin entre cliente y servidor: De forma independiente de
protocolos de comunicacin o caractersticas de implementacin
(lenguaje, sistema operativo)
TAREAS TIPICAS DE UN SERVIDOR
El servidor debe realizar las siguientes tareas:
Inicializar el ORB (obtiene el interfaz con el ORB).
CORBA::ORB_init
Obtener la referencia del Adaptador de objetos.
orb->BOA_init
Crear un un objeto (de la clase Cuenta_impl).
new Cuenta_impl()
Activar el objeto.
boa->impl_is_ready(...)
Iniciar el bucle de servicio.
orb->run()
TAREAS TIPICAS DE UN CLIENTE
El cliente debe realizar las siguientes tareas:
Inicializar el ORB (obtiene el interfaz con el ORB).
CORBA::ORB_init
Obtener la referencia del Adaptador de objetos.
orb->BOA_init
Obtener la referencia al objeto (desde un string).
orb->string_to_object(...)
Cambiar la clase del objeto obtenido (down-casting).
Cuenta::_narrow(obj)
Realizar las llamadas al objeto.
cc->...
USO DE SERVICIO D ENOMBRE
Permite asociar un nombre a una referencia de objeto. De esta forma los
objetos al activarse pueden darse de alta en el servidor, permitiendo que otros
objetos los obtengan su referencia en base a dicho nombre.
Los nombres de los objetos se encuentran organizados en una jerarqua de
contextos de nombre.
SERVICIO DE NEGOCIACION
Este servicio tambin permite obtener referencias a objetos usando otra
informacin:
Los objetos se exportan en el servidor con una serie de
caractersticas del servicio que proporcionan.
Los clientes consultan con el servidor cules son los objetos
ofertados con una serie de caractersticas.
Un cliente que buscase un servicio de impresin podra construir una consulta
del tipo:
Service=Printer AND
PrinterType=HP AND
OS!=WinNT
A lo cual el servidor le indicar los objetos que existen con dichas
caractersticas.
COMUNICACIN EN GRUPO
Se habilita por medio de:
Variantes de protocolos de red: IP-multicast.