Click here to load reader
Upload
francisco-garrido
View
995
Download
0
Embed Size (px)
Citation preview
1
Arquitecturas de Sistemas Distribuidos
El siguiente documento presenta una breve descripción de algunas de las arquitecturas de sistemas distribuidos.
Graciella del C. Andrade Santana09/02/2010
2
Contenido
Sistemas Distribuidos.....................................................................................................3
Arquitecturas de Sistemas Distribuidos.......................................................................4
Arquitectura Cliente/Servidor.........................................................................................4
Arquitectura Peer-to-Peer (P2P)....................................................................................5
Arquitectura Servidor Proxy...........................................................................................6
Arquitectura Agentes Móviles........................................................................................7
Referencias......................................................................................................................8
3
Sistemas Distribuidos
Un sistema distribuido es una colección de computadoras independientes o autónomas
enlazadas por una red y soportadas por un software que hace que aparezca ante los
usuarios del sistema como una única computadora.
En general, se podría ver a un sistema distribuido como la unión de una tecnología de red
y el uso de potentes máquinas multiprocesadores.
Cuando se vaya a diseñar un sistema distribuido se debe de considerar las siguientes
características: compartición de recursos, apertura, concurrencia, escalabilidad, tolerancia
a fallos y transparencia.
Ventajas de Sistemas Distribuidos
Al usar un SD se logra compartir información así como dispositivos periféricos
entre varios usuarios.
Los SD permiten dividir las cargas de trabajo entre diferentes computadoras de
manera más eficaz.
Cuando un nodo de procesamiento falla, el sistema en general sigue funcionando.
Ejecución concurrente de procesos.
Desventajas de Sistemas Distribuidos
Las redes de comunicación, pueden llegar a perder mensajes, latencia de las
comunicaciones o saturación de mensajes.
Vulnerabilidad que puede sufrir la información que puede llegar a estar disponible
para un gran número de usuarios del sistema.
Requerimientos de mayores controles de procesamiento y acceso.
Administración más compleja.
Costos.
4
Arquitecturas de Sistemas Distribuidos
Arquitectura Cliente/ServidorEl modelo cliente-servidor es el modelo más conocido y más ampliamente adoptado en la
actualidad. En éste modelo hay dos tipos de procesos, los clientes son procesos que
hacen peticiones de servicio y los servidores proveen esos servicios.
Funciones del Cliente
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la
comunicación.
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la vez.
Normalmente interactúa directamente con los usuarios finales mediante una
interfaz gráfica de usuario.
Funciones del Servidor
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan
entonces un papel pasivo en la comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al
cliente.
Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos
casos el número máximo de peticiones puede estar limitado).
No es frecuente que interactúen directamente con los usuarios finales.
Ventajas
Sencillez, únicamente se necesita la ubicación del servidor. Mejor aprovechamiento de la potencia de cómputo (Repartición del trabajo). Reducción del tráfico en la red. Opera bajo sistemas abiertos. Facilita el uso de interfaces gráficas variadas y versátiles.
5
Arquitectura Peer-to-Peer (P2P)Un sistema de peer-to-peer se caracteriza por ser un sistema distribuido en el que todos
los nodos tienen las mismas capacidades y responsabilidades, y en el que toda la
comunicación es simétrica. Las redes peer-to-peer aprovechan, administran y optimizan el
uso del ancho de banda de los demás usuarios de la red por medio de la conectividad
entre los mismos, obteniendo más rendimiento en las conexiones y transferencias que
con algunos métodos centralizados convencionales, donde una cantidad relativamente
pequeña de servidores provee el total del ancho de banda y recursos compartidos para un
servicio o aplicación.
Sus características son las siguientes: Escalabilidad, Robustez, Descentralización,
Anonimato, Seguridad y Costes repartidos.
Ventajas
Los procesos tiene un rol similar, aunque pueden asumir un rol cliente/servidor en
ciertos momentos.
Mejora la tolerancia a fallos y la escalabilidad.
Desventajas
Difícil de coordinar.
6
Arquitectura Servidor ProxyUn Proxy es un servidor intermediario que acepta peticiones http de clientes u otros
intermediarios y genera a su vez peticiones hacia otros intermediarios o hacia el servidor
web destino. Actúa como servidor del cliente y como cliente del servidor; realiza un cierto
tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de
ciertas operaciones, también sirve de seguridad, esto es, tiene un Firewall. Permite
administrar el acceso a internet en una Red de computadoras permitiendo o negando el
acceso a diferentes sitios Web.
Características principales
Compartir la conexión a Internet para todos los contenidos.
Almacenamiento de las páginas visitadas acelerando las conexiones a las páginas
visitadas.
Conexiones compartidas equitativamente entre los usuarios reduciéndose así la
espera.
Ahorro de ancho de banda de Internet.
Control de contenidos visitados.
Establecimiento de listas negras de sitios de internet.
Bloqueo de direcciones IP.
Denegación de archivos no permitidos, posibles focos de infección de virus.
Control de usuarios que pueden acceder a Internet.
Evitar que los recursos de la empresa no sean usados para fines no profesionales.
El usar un Servidor Proxy aumenta la seguridad de nuestra red, protegiéndola
contra posibles intrusiones.
7
Arquitectura Agentes MóvilesLos agentes móviles son programas de software capaces de viajar por redes de
computadoras, como Internet, de interactuar con hosts, pedir información a nombre de un
usuario y regresar a su lugar de origen una vez que ha realizado las tareas especificadas
por un usuario. Creado en un ambiente de ejecución, el agente puede transportar su
estado y código a otro contexto en donde reanudará la ejecución. Estos agentes
aprovechan los recursos del nodo destino en beneficio del nodo que los envió,
negociando y cerrando tratos en su nombre ó utilizando servicios remotos. Un agente
móvil tiene capacidad para decidir a qué servidores moverse y puede moverse a uno o
más servidores. Es una extensión del modelo cliente/servidor.
Algunos de los campos idóneos en donde se pueden aplicar los agentes móviles son los
siguientes: procesamiento en paralelo, comercio electrónico, asistencia personal,
recuperación de información distribuida, servicios de redes y telecomunicaciones,
aplicaciones de software para grupos, monitoreo y notificación, y diseminación de
información.
Ventajas
Permiten el cómputo asíncrono y autónomo.
Son naturalmente heterogéneos.
Proporcionan ambientes robustos y a prueba de fallas.
Reducen el tráfico de red.
Favorecen el procesamiento en paralelo.
Mantienen comunicación punto a punto.
Pueden operar sin conexión.
Ejecución asíncrona de tareas.
Desventajas
Cuestiones de seguridad.
Limitaciones en cuanto a los lenguajes de programación para su diseño.
8
Referencias
Asociación de Usuarios de GNU/Linux de Castilla y León (2003). Introducción a los sistemas distribuidos [en línea]. Castilla y León: J. Oscar Rojo. Recuperado el 07 de febrero de 2010, de http://serviciosva.itesm.mx/cvr/investigacion/doc0142.htm.
M.C. Juan Carlos Olivares Rojas. Unidad I Fundamentos de Sistemas Distribuidos [en línea]. Recuperado el 07 de febrero de 2010, de http://antares.itmorelia.edu.mx/~jcolivar/courses/sd107v/sd1_u1.pdf.
Prof. José A. Rodríguez Mondéjar. Arquitectura de Sistemas Distribuidos [en línea]. Recuperado el 07 de febrero de 2010, de http://www.dea.icai.upcomillas.es/jarm/Asignaturas/Doc_SistemasDistribuidos/3SDArquitectura.pdf.
Luis Bernal (2008, 24 de mayo). Arquitectura de Sistemas Distribuidos [en línea]. Recuperado el 07 de febrero de 2010, de http://www.luisbernal.es/descargas/f/INFasd.pdf.
Griselda Alejandra Chevalier Dueñas (2000, 23 de mayo). Agentes móviles para recuperación personalizada de información. [En línea]. Puebla, México. Recuperado el 07 de febrero de 2010, de http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/chevalier_d_ga/
LinuxCentro.net. Software Libre y GNU/Linux. (2007, 22 de febrero). Servidor PROXY. [En línea]. Recuperado el 08 de febrero de 2010, de http://www.linuxcentro.net/linux/staticpages/index.php?page=ServidorPROXY.
WIKIPEDIA, La enciclopedia libre (2010, 02 de febrero). Cliente – Servidor. [En línea]. Recuperado el 08 de febrero de 2010, de http://es.wikipedia.org/wiki/Cliente-servidor.
WIKIPEDIA, La enciclopedia libre (2010, 29 de enero). Peer – to - Peer. [En línea]. Recuperado el 08 de febrero de 2010, de http://es.wikipedia.org/wiki/Peer-to-peer.
WIKIPEDIA, La enciclopedia libre (2010, 24 de enero). Servidor. [En línea]. Recuperado el 08 de febrero de 2010, de http://es.wikipedia.org/wiki/Servidor.