Investigación Sistemas Distribuidos
Gracias al rápido avance de la tecnología informática ha sido necesaria una expansión de los sistemas de información. Debido a ello uno de los mayores cambios se encuentra en el desarrollo de las redes de área local y de las comunicaciones, lo que permitió conectar computadoras con posibilidad de transferencia de datos a alta velocidad.
A partir de esto nace el concepto de Sistemas Distribuidos que ha ido obteniendo popularidad y que tiene como ámbito de estudio las redes.
Existen algunas definiciones de lo que un Sistema Distribuido es, todas ellas similares entre sí.
Un sistema distribuido es aquél que está compuesto por varias computadoras autónomas conectadas mediante una red de comunicaciones y equipadas con programas que les permitan coordinar sus actividades y compartir recursos.
``Un sistema de computación distribuida está compuesto por varios procesadores autónomos que no comparten memoria principal, pero cooperan mediante el paso de mensajes sobre una red de comunicaciones''.
Se les atribuyen tres características principales:
- · Procesos Concurrentes
El control de concurrencia de un sistema distribuido
asegura que la consistencia de los datos que se almacenan y que se procesan en
el sistema se mantienen en un ambiente distribuido multiusuario. Si las
transacciones son internamente consistentes, la manera más simple de lograr
este objetivo es ejecutar cada transacción sola, una después de otra.
Si no se hace un adecuado control de concurrencia, se pueden presentar dos anomalías. En primer lugar, se pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en los datos almacenados. En segundo término, pueden presentarse recuperaciones de información inconsistentes.
El nivel de concurrencia, es decir, el número de transacciones simultáneas activas, es probablemente el parámetro más importante en sistemas distribuidos. Por lo tanto, los mecanismos de control de concurrencia buscan encontrar un balance entre el mantenimiento de la consistencia de los datos y el mantenimiento de un alto nivel de concurrencia.
- · Carencia de Reloj Global
Las
coordinaciones para la transferencia de mensajes entre los diferentes componentes
para la realización de una tarea, no tienen una temporización general, está más
bien distribuida en los componentes.
- · Fallos independientes de los componentes
En
un sistema distribuido, los fallos son parciales, puesto que solo afectan a los
servicios que el componente que fallo este prestando, mientras que otros
servicios que prestan otros componentes siguen funcionando. El tratamiento de
fallos en un sistema distribuido es una tarea difícil, pero que se puede lograr
si se utilizan las técnicas adecuadas, según el sistema que se desee proteger.
Algunas de las técnicas más comunes para el tratamiento de fallos son:
o
Detección
de fallos. Un fallo en la transmisión de datos entre componentes no
es fácil detectar, pero es algo que podemos esperar (dependiendo del medio por
el que se haga la transmisión y otras condiciones) y al saber que existe la
posibilidad de ese fallo, podemos monitorear y aplicar técnicas que aseguren
que dicha transmisión siempre sea correcta.
o
Enmascaramiento
de fallos. Una vez que un fallo es detectado, es importante
encontrar la manera para que un usuario del sistema no note dicho fallo y que
pueda seguir utilizando el sistema de manera normal. Un ejemplo lo dan las
técnicas de redundancia que explicaremos más adelante, pero que básicamente
consiste en tener disponibles varios elementos que puedan dar el mismo servicio
y que en caso de que uno falle, otro esté en la disponibilidad de realizar el
trabajo en su lugar, esto puede darse cuando fallan componentes de un servidor
(discos duros, tarjetas de red, etc.), o incluso cuando fallan las conexiones a
la red o los sistemas de bases de datos.
o
Tolerancia
de fallos. Sobre todo en Internet se dan muchos fallos y no es muy
conveniente ocultarlos, es mejor tolerarlos y continuar. Pretender arreglar de
manera inmediata todos los problemas que puedan surgir en un sistema puede
resultar incluso dañino para el mismo sistema, puesto que hay problemas que
mientras son arreglados pueden afectar el rendimiento de otros componentes del
sistema que sí están trabajando.
o
Recuperación
frente a fallos. Una vez que fue detectado un fallo y que se
ha decidido arreglarlo, hay que encontrar la mejor manera de hacerlo, y además,
de recuperar el estado del sistema antes de que ocurriera el fallo.
o
Redundancia. un
sistema distribuido puede lograr ser tolerante a fallos gracias a la
utilización de componentes redundantes dentro del sistema. La redundancia se
logra con la replicación de dichos componentes y con la habilidad del sistema
de recurrir a los componentes de respaldo en caso de que el componente de uso
primario falle.
Una
gran cantidad de aspectos considerables competen a los sistemas distribuidos, algunos
de los cuales requieren un especial cuidado, ya que pueden pasar de ser una
ventaja a una desventaja.
Bibliografía
AROQUIPA, E. T. (s.f.). Sistemas Distribuidos.
CINVESTAV. (s.f.). Sistemas
Distribuidos. Ciudad de México, México. Recuperado el 13 de Agosto de
2017, de
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf
Coulouris, G. (2001). Sistemas
Distribuidos: Conceptos y Diseño. Madrid: Pearson.
Comentarios
Publicar un comentario