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. (Coulouris, 2001)

``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

Entradas populares de este blog

Cifrado Asimetrico

Modelo OSI y TCP/IP

RMI