Académique Documents
Professionnel Documents
Culture Documents
1
Comunicación entre procesos e interfaces en el número de recursos y de usuarios. Internet es un
para acceder a recursos compartidos ejemplo de un sistema distribuido escalable en el que el
Aunque los componentes provengas de número de computadores y servicios experimenta un
proveedores diferentes deben cumplir con dramático incremento.
el estándar publicado La necesidad de escalabilidad no es solo un
problema de prestaciones de red o de hardware, sino que
está íntimamente ligada con todos los aspectos del
2.3 TRANSPARENCIA diseño de los sistemas distribuidos. El diseño del sistema
debe reconocer explícitamente la necesidad de
Es la ocultación al usuario y al programador de escalabilidad o de lo contrario aparecerán serias
aplicaciones de la separación de los componentes de un limitaciones. El trabajo necesario para procesar una
sistema distribuido, o sea que el sistema se percibe como petición simple para acceder a un recurso compartido
un todo. Se identifican 8 formas de transparencia: debería ser prácticamente independiente del tamaño de
la red. Las técnicas necesarias para conseguir estos
De acceso: permite acceder a los recursos objetivos incluyen el uso de datos replicados, la técnica
locales de igual manera que los remotos. asociada de catching, y el uso de múltiples servidores
De localización: permite acceder a los recursos para manejar ciertas tareas, aprovechando la
sin conocer su ubicación. concurrencia para permitir una mayor productividad.
De concurrencia: permite usar un recurso
compartido sin que exista interferencia.
De replicación: permite utilizar varios 2.6 TOLERANCIA A FALLOS
ejemplares de cada recurso sin que el usuario
conozca la existencia de las réplicas. Es común que al hablar de sistemas informáticos
De fallos: permite completar tareas a pesar de existan fallos, cuando estos fallos se producen ya sea en
fallos ya que los oculta. el hardware o en el software se podrían producir
De movilidad: permite la reubicación de resultados incorrectos o no terminar el cálculo
recursos y clientes sin afectar a los usuarios ni El diseño de sistemas tolerantes a fallos se basa en
el sistema ni las aplicaciones. dos cuestiones, complementarias entre sí: Redundancia
De prestaciones: permite reconfigurar el hardware (uso de componentes redundantes) y
sistema para mejorar las prestaciones mientras recuperación del software (diseño de programas que
la carga varia. sean capaces de recuperarse de los fallos). Existen
De escalado: Permite la expansión del sistema algunas técnicas para tratar dichos fallos: detección de
y de las aplicaciones sin cambiar la estructura fallos (checksums), enmascaramiento de fallos (ocultar),
del sistema o los algoritmos de la aplicación. tolerancia a fallos, recuperación de fallos (roll back) y
redundancia.
2.4 CONCURRENCIA
2.7 SEGURIDAD
Cuando existen varios procesos en una única
maquina decimos que se están ejecutando
concurrentemente. Si el ordenador está equipado con un La seguridad alberga el tratamiento que se le da a
único procesador central, la concurrencia tiene lugar los recursos de información y para esto son 3 pilares los
entrelazando la ejecución de los distintos procesos. Si la que velan por estos (confidencialidad, integridad y
computadora tiene N procesadores, entonces se pueden disponibilidad).
estar ejecutando estrictamente a la vez hasta N procesos.
Para que un objeto sea seguro en un entorno Confidencialidad: protección contra
concurrente, sus operaciones deben sincronizarse de individuos no autorizados.
manera que sus datos permanezcan consistentes, esto Integridad: protección contra la alteración
puede lograrse mediante la utilización de técnicas o corrupción.
llamadas semáforos, que se usan en la mayoría de los Disponibilidad: protección contra la
sistemas operativos. interferencia con los procedimientos de
acceso a los recursos.
2
cumplido completamente y son: ataques de denegación componentes de hardware, software y tecnología de red
de servicio y seguridad del código móvil. pueden ser muy diferentes son heterogéneos en cuanto a
3 TIPOS DE SISTEMAS DISTRIBUIDOS hardware, red, dominios, sistemas operativos etc.
Hay varias formas propuestas para clasificar a los Los recursos del grid consiste en servidores
sistemas distribuidos. En nuestro caso, diferenciaremos (incluyendo supercomputadoras, posiblemente clusters),
los sistemas distribuidos en tres clases: sistemas medios de almacenamiento, bases de datos, etc. Además,
computacionales distribuidos, sistemas de información también se pueden compartir otro tipo de recursos que
distribuidos, y sistemas embebidos distribuidos. pueden ser conectados a las redes, tales como
telescopios, microscopios, sensores, etc. (Ver figura 2)
3
de cómputo móviles o embebidos. Ahora es común tener 4.3 IMPREDECIBILIDAD
que trabajar con sistemas distribuidos en la que la
inestabilidad es una constante. Los dispositivos en estos Los sistemas distribuidos tienen una respuesta
sistemas que llamamos Sistemas Penetrantes impredecible (E.g. la WWW). La respuesta depende de
Distribuidos son frecuentemente pequeños, operados la carga total en el sistema, de su organización y de la
con baterías, móviles y con una sola conexión carga de la red. Como todos ellos pueden cambiar con
inalámbrica (no necesariamente aplican todas estas mucha rapidez, el tiempo requerido para responder a una
características a todos los dispositivos) ej. los petición de usuario puede variar drásticamente de una
Smartphone. Las aplicaciones penetrantes deben petición a otra.
cumplir los siguientes requerimientos:
5 ARQUITECTURAS DE SISTEMAS
DISTRIBUIDOS
Deben aceptar cambios contextuales (deben
estar conscientes de que el ambiente cambia
continuamente).
Deben promover una composición adaptable 5.1 MULTIPROCESADOR
(los dispositivos pueden ser utilizados en
diferentes formas por diferentes usuarios). Está formado por varios procesos que pueden
Por omisión, deben compartir (aunque no necesariamente) ejecutarse sobre
recursos. Al ser agregados al sistema procesadores diferentes. Este modelo es común en
generalmente deben accesar y proveer sistemas de tiempo real o sistemas distribuidos masivos.
información.
Los procesos relacionados con la recopilación de
información, toma de decisiones y control de actuadores
podrían ejecutarse en un solo procesador bajo el control
de un planificador (scheduler). El uso de múltiples
procesadores mejora el rendimiento y adaptabilidad del
4 DESVENTAJAS DE LOS SITEMAS sistema. La distribución de procesos entre los
DISTRIBUIDOS procesadores puede ser predeterminada por un
despachador (dispatcher) que decide que procesos se
Comparados con los sistemas que se ejecutan en un asignan a cada procesador.
solo procesador o cluster de procesadores, los sistemas
distribuidos tienen desventajas muy marcadas.
5.2 CLIENTE SERVIDOR
4
Otro ejemplo podría ser el funcionamiento de un
juego online. Si existen dos servidores de juego, cuando
un usuario lo descarga y lo instala en su computadora
pasa a ser un cliente. Si tres personas juegan en un solo
computador existirían dos servidores, un cliente y tres
usuarios. Si cada usuario instala el juego en su propio
ordenador existirían dos servidores, tres clientes y tres
usuarios.
5.2.1.1 CLIENTE
• Generar requerimientos de bases de datos. Centralización del control de los recursos, datos
y accesos.
• Recibir resultados del servidor. Facilidad de manteamiento y actualización del
lado del servidor.
• Formatear resultados. Seguridad en toda la información almacenada
del lado del servidor.
5.2.1.2 SERVIDOR
5.2.3 DESVENTAJAS
Es el proceso encargado de atender a múltiples
clientes que hacen peticiones de algún recurso Puede presentarse congestión en la red y
administrado por él. Al proceso servidor se le conoce dificultad de tráfico de datos por el número de
con el término back-end, las principales funciones son: clientes simultáneos.
Si se presenta fallos del lado del servidor, el
servicio puede quedar paralizado para los
• Aceptar los requerimientos de bases de datos que clientes.
hacen los clientes.
5
distribuidos, entre otras además de ser base para la necesario obtener métricas de servicio, realizar un
pragmatisidad. monitoreo constante, medir los tiempos de respuesta,
realizar el cálculo de capacidades antes y después de
Una de las ventajas de los sistemas distribuidos es la la liberación para que de ser necesario el sistema sea
economía, pues es mucho más barato, añadir servidores escalado, y es que esta propiedad de los sistemas
y clientes cuando se requiere aumentar la potencia de distribuidos es uno de sus principales objetivos para
procesamiento. poder brindar al usuario disponibilidad y efectividad
cuando ocurren incrementos significativos en el
Tienen una mayor confiabilidad. Al estar distribuida número de recursos y de usuarios todo el tiempo es
la carga de trabajo en muchas máquinas la falla de una decir a cualquier hora, cualquier día sin importar el
de ellas no afecta a las demás, el sistema sobrevive lugar.
como un todo.
La seguridad es otro factor muy importante, ahora
ya el esquema de usuario y password no es suficiente,
7 CONCLUSION es necesario proteger su información, tanto de agentes
externos como de agentes internos. Por ello los
Los sistemas distribuidos abarcan muchos sistemas distribuidos se construyen sobre tecnología
aspectos que pueden ser considerables, como que provee este tipo de mecanismos de seguridad
sistemas operativos, comunicaciones, modelos de utilizando algoritmos de encripción, pero también
programación, etc, esto hace que sus beneficios se tienen la capacidad de otorgar niveles de acceso a los
pueden traducir en complejidades al momento de su usuarios y aplicaciones a nivel de componente. A
implantación. Existen ciertos aspectos que requieren pesar de contar con este nivel de seguridad no se
de cuidado especial ya que pueden pasar de ser una puede decir que es invulnerable y sigue siendo un
ventaja a una desventaja, por ejemplo, el manejo de reto por cumplir.
fallos, el control de la concurrencia, etc.
Es importante señalar que muchas tecnologías Por todo lo anterior el concepto de que un sistema
están en constante desarrollo y maduración, esto distribuido ya no debe visualizarse ni pensarse como
requiere de un estudio a profundidad de los factores un sistema únicamente, si no como un servicio, ya
que intervienen en cada aspecto de los sietmas que finalmente eso es lo que se le ofrece y requiere el
distribuidos antes de apostar por alguna tecnología usuario de cualquier tipo de negocio que satisfagan
especial. oportunamente las necesidades de la razón de ser de
los negocios: los clientes.
La evolución y el constante desarrollo de la
tecnología le establecen al ser humano retos cada vez
más complejos para brindar soluciones más eficientes
8 REFERENCIAS
en términos de disponibilidad, usabilidad y [1] IEEE Softwarwe component. Noviembre-Diciembre ,
compartimiento de información, aplicaciones y 1998
recursos; tal es el caso de los sistemas distribuidos. [2] http://sistemas-distribuidos-
unerg.blogspot.com/2008/10/caractersticas-principales-de-
Diseñar un sistema es crear aplicaciones los.html.
software, que al utilizar servicios se integren de [3] R Samaria Sistemas distribuidos.
forma transparente en las plataformas de proceso y [4]http://eafranco.com/docencia/sistemasoperativosii/files/14_
almacenamiento de datos y que puedan gestionarse 15_16_17_Arquitecturas_de_sistemas_distribuidos_y_Tare
a_04.pdf.
con el resto del sistema distribuido. Aunque esta es
[5]http://www.ecured.cu/index.php/Arquitectura_Cliente_Servi
una tarea muy compleja de construir y sobre todo de dor.
operar resaltar es el hecho de que un sistema [6] http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf
distribuido es una cadena de valor en el que [7] http://es.slideshare.net/holguers/paper-sistemas-distribuido
intervienen múltiples factores, así como múltiples [8] http://es.wikipedia.org/wiki/Programaci
elementos que hacen que el sistema tenga éxito o sea %C3%B3n_paralela
un rotundo fracaso. La responsabilidad de este tipo de [9]http://cervantes1bachdyg.wikispaces.com/Arquitectura+clie
sistemas ya no depende solamente de los analistas, nte-servidor .
diseñadores y desarrolladores, ahora es necesario [10]http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/hand
le/132.248.52.100/584/A9.pdf?sequence=9
llevar más allá la responsabilidad del sistema ya que
un sistema distribuido necesita una pos-
implementación, un seguimiento, un mantenimiento,
pero no solo de código, sino también operativo, es