Vous êtes sur la page 1sur 23

Variaciones en el modelo Cliente -

Servidor
• Podemos distinguir distintas variaciones,
dependiendo de la considearación de los
siguientes factores:
▫ El uso de código móvil y agentes móviles
▫ Las necesidades de los usuarios de computadoras
de costo bajo y con recursos hardware limitados,
que son muy sencillos de manejar
▫ El requisito de añadir o eliminar de una forma
conveniente dispositivos móviles.
Código móvil
• Los applets son el ejemplo más conocido.
• Un usuario que ejecuta un navegador y que
selecciona un enlace con un applet, cuyo código
está almacenado en un servidro Webm descargá
el código en el navegador y se ejecutará allí.
• Una ventaja de ejecutar el código descargado
localmente es que puede proporcionar una
buena respuesta interactiva puesto que no sufre
ni de los retardo ni de la variabilidad del ancho
de banda asociados con la comunicación en red.
Código móvil
• Acceder a los servicios
significa ejecutar código que
pueda invocar sus
operaciones. Algunos servicios
estan tan estandarizados que
podemos acceder a ellos
mediante una aplicación
existente.
• El código movil es una
amenaza potencial de
seguridad para los recursos
locales en el computador
destino. Es así que los
navegadores proporcionan un
acceso restringido a los
recursos locales.
Agentes móviles
• Un agente móvil es un programa en ejecución (lo
que incluye tanto código como datos) que
traslada de un computador a otro en la red
realizando una tarea para alguien; por ejemplo,
recolectando información y retornando
eventualmente con los resultados.
• Se pueden utilizar agentes móviles para instalar
y mantener software en los computadores de
una organización.
Agentes móviles
• Una idea similar es el llamado programa gusano
(worm) que se diseño para utilizar los
computadores desocupados con el fin de realizar
cálculos intensivos.
• Los agentes móviles son una amenaza potencial
de seguridad para los recursos de los
computadores que visitan.
Computadores de red
• Las aplicaciones se ejecutan en un computador de
oficina local de usuario. El sistema operativo y el
software de aplicación para computadores de oficina
necesitan normalente que gran parte del código y
datos activos estén ubicados en un disco local.
• Pero la gestión de los archivos de aplicación y el
mantenimiento de software de base local precisa un
esfuerzo técnico considerable y de una naturaleza
que la mayoria de los usuarios no estan calificados
para proporcionarlo.
Computadores de red
• El computador de red es una respuesta a este
problema. Descarga su sistema operativo y cualquier
aplicación software que necesite el usuario desde un
servidor de archivos remoto.
• Las aplicaciones se lanzan localmente pero los
archivos se gestionan desde un servidor de archivos
remoto.
• Si se incluyera un disco, alojaría un software
mínimo. El resto del disco se utilizaría como
almacenamiento intermedio (caché) manteniendo
copias de los archivos de programas y datos que
hayan sido cargados recientemente desde los
servidores.
Clientes ligeros
• El término cliente ligero se refiere a una capa de
aplicación que soporta una interfaz de usuario
basada en ventanas sobre un computador local del
usuario mientras se ejecutan programas de
aplicación en un computador remoto.
• Esta arquitectura tiene los mismos costes bajos de
gestión y hardware que en el esquema de
computador de red, pero en lugar de descargar el
código de las aplicaciones en el computador del
usuario, se ejecutan en un servidor de cómputo, un
potente computador que tiene capacidad para
ejecutar gran número de aplicaciones
simultáneamente.
Clientes ligeros
Dispositivos móviles y enlace
espontáneo a red
• El mundo está cada vez más poblado de dispositivos
de cómputo pequeños y portátiles, incluyendo
computadores portátiles, dispositivos de mano como
asistentes personales digitales (PDA), teléfonos
móviles y cámaras digitales, computadores que se
pueden llevar encima como relojes y dispositivos
insertados en aparatos de hogar como en lavadoras.
• Muchos de estos dispositivos permiten su conexión
a una red sin cable, de rango metropolitano o más
grandes (GSM, CDPD), cientos de metros Wavelan),
o unos pocos metros (Blue Tooth y infrarrojos).
Dispositivos móviles y enlace
espontáneo a red
Dispositivos móviles y enlace
espontáneo a red
• El enlace a red espontáneo conlleva algunas
características de diseño significativas. Primero,
está el reto de dar soporte a una conexión e
integración adecuadas.
Para usuarios móviles se presentan
otras cuestiones.
• Conectividad limitada: los usuarios no siempre
están conectados cuando se desplazan.
▫ El tema es aquí cómo puede el sistema dar soporte a
un usuario para que siga trabajando mientras está
desconectado.
• Seguridad y privacidad: en un escenario como el del
huésped de un hotel se presentan muchas cuestiones
de seguridad y privacidad personal.
▫ El hotel y sus huéspedes son vulnerables a los ataques
de seguridad de los empleados y de otros huéspedes
del hotel.
Servicios de detección
• El enlace espontáneo a red necesita procesos
clientes ejecutándose en los dispositivos
portátiles, y otros aparatos, para acceder a los
servicios de las redes a las que están conectados.
• Pero en un mundo de dispositivos que realizan
diversas funciones, ¿cómo pueden conectarse los
clientes a los servicios que necesitan para
completar sus tareas habituales?
Un servicio de descubrimiento
ofrece dos interfaces:
• Un servicio de admisión que acepta solicitudes de
ingreso de los servidores y almacena sus detalles en
la base de datos del servicio de descubrimiento.
• Un servicio de búsqueda que acepta consultas
relacionadas con los servicios disponibles y busca en
su base de datos aquellos servicios registrados que
coinciden con las consultas. El resultado obtenido
ofrecería detalles suficientes para permitir a los
usuarios seleccionar entre distintos servicios
semejantes, basándose en sus atributos, y hacer una
conexión a uno o más de ellos.
Interfaces y objetos
• Una definición de interfaz de un proceso es la
especificación del conjunto de funciones que se
pueden invocar sobre él. Sonará familiar a
aquellos que hayan trabajado con lenguajes
como Modula, C++ o Java.
• En la forma básica de la arquitectura cliente-
servidor, se considera cada proceso servidor
como una entidad aislada con una interfaz
prescrita que define las funciones que ofrece.
Interfaces y objetos
• En un proceso de servicio o entre iguales es
posible encapsular multitud de objetos. Las
referencias a estos objetos se pasan a otros
procesos de forma que se pueda acceder a sus
métodos mediante invocaciones remotas.
• Esto es adoptado por CORBA, y Java con su
mecanismo de invocación remota de métodos
(RMI).
Requisitos de diseño para
arquitecturas distribuidas
• Hoy, el compartir recursos se da por descontado.
• Pero compartir datos en gran escala de forma
efectiva continúa siendo un reto mayor; con
datos que cambian, aparece la posibilidad de
actualizaciones concurrentes y conflictivas.
• El control de las actualizaciones concurrentes en
datos compartidos es un aspecto a tomar en
cuenta.
Requisitos de diseño para
arquitecturas distribuidas
• Temas de prestaciones. Los retos que surgen de la
distribución de recursos aumentan la necesidad de gestión de
las actualizaciones concurrentes. Los temas de prestaciones
que se presentan por las limitadas capacidades del proceso y
comunicación de los computadores y las redes se consideran
bajo los siguientes aspectos:
▫ Capacidad de respuesta
▫ Productividad
▫ Balance de cargas computacionales
▫ Calidad de servicio
▫ Uso de caché y replicación
▫ Aspectos de fiabilidad
▫ Tolerancia frente a fallos
▫ Seguridad
Capacidad de respuesta
• Los usuarios de aplicaciones interactivas
necesitan rapidez y consistencia en las
interfaces.
• Si la transferencia de datos entre los procesos y
la conmutación del control es relativamente
lenta. Para obtener buenos tiempos de
respuesta, los sistemas deben estar compuestos
de relativamente pocas capas de software y la
cantidad de datos transferidos entre el cliente y
el servidor debe ser pequeña.
Productividad
• Una medida tradicional de prestaciones para
computadores es la productividad, la rapidez a la
que se realiza el trabajo computacional.
• La capacidad de un sistema distribuido para
realizar el trabajo para todos sus usuarios es
importante. Y depende de las velocidades de
proceso de los clientes y los servidores y de las
tasas de transferencia de datos.
Balance de cargas computacionales
• Uno de los propósitos de los sistemas distribuidos es
permitir que las aplicaciones y los procesos de
servicio evolucionen concurrentemente sin competir
por los mismos recursos y explotando los recursos
computacionales disponibles (procesador, memoria
y capacidades de red).
• Por ejemplo, la capacidad para ejecutar applets.
• Un ejemplo más significativo está en el uso de varios
computadores para alojar un único servicio.
Calidad de servicio
• Una vez que se proporciona a los usuarios la
funcionalidad que precisan de un servicio, como
el servicio de archivos en un sistema distribuido,
nos podemos plantear preguntas sobre la calidad
del servicio proporcionado.
• Las principales propiedades son:
▫ Fiabilidad seguridad
▫ La facilidad de adaptación
▫ Disponibilidad

Vous aimerez peut-être aussi