Sistemas Distribuidos

SISTEMAS DISTRIBUIDOS (INTRODUCCIÓN)

A lo largo del tiempo, se ha pretendido lograr que el procesamiento de la información no se haga en un solo equipo, sino que mas bien se haga en diferentes incluso que estén en lugares lejanos. Es así como nacieron los sistemas distribuidos, en esta presentación conoceremos las principales plataformas que trabajan como sistemas distribuidos. Al finalizar se escogerá una sola para implementar el proyecto propuesto, mostrando las razones por las cuales se eligió .

DEFINICIÓN

Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación. Entre las plataformas en las cuales se pueden implementar esta metodología están:

  • Sockets.
  • CORBA.
  • RMI.
  • DCOM.
  • SERVLETS.
  • Java Beans.

CARACTERÍSTICAS DE UN SISTEMA DISTRIBUIDO

Heterogeneidad: Al hablar de heterogeneidad nos referimos a la variedad y diferencia que podemos encontrar en los elementos que componen una red de computadoras sobre la que se ejecuta un sistema distribuido, dicha heterogeneidad no sólo se aplica a las redes y al hardware de las computadoras, sino también a los sistemas operativos, los lenguajes de programación y las implementaciones en las que trabajan los diferentes desarrolladores. 

Extensibilidad y Apertura: La extensibilidad y la apertura son dos características de un sistema
distribuido que están ampliamente ligadas la una con la otra. Algunos autores dicen que un sistema abierto debe de ser extensible y otros sostienen que un sistema extensible puede ser etiquetado como un sistema abierto. De cualquier manera lo que es importante saber y tener en cuenta es que un sistema distribuido debe de contar con ambas características.

Seguridad: La seguridad debe ofrecer los siguientes servicios: Confidencialidad, es decir, el manejo privado de la información: proteger la información de ser accedida por usuarios no autorizados.

  • Autentificación, o capacidad de asegurar la identidad de un usuario.
  • Integridad, que asegura que la información que empleamos no ha sido manipulada, alterada o corrompida desde el origen.
  • No repudio, de una operación de emisión y recepción de información por parte de los agentes.
  • Control de acceso a la información y/o recursos administrados por un sistema.
  • Disponibilidad de los recursos necesarios de un sistema cuando estos sean requeridos, lo que protege la información contra interferencia con los procedimientos de acceso a los recursos. 

Escalabilidad: La escalabilidad es una de las características más importantes para los desarrolladores de un sistema distribuido. Se dice que un sistema es escalable si logra conservar su efectividad cuando hay el número de recursos y el número de usuarios incrementa significativamente. La escalabilidad de un sistema pude medirse en tres aspectos diferentes:

  • Con respecto a su tamaño: lo que significa que se pueden agregar más usuarios y más recursos al sistema de una manera muy fácil.
  • Con respecto a su localización o área de implementación: lo que significa que tanto los usuarios como los recursos pueden estar en locaciones remotas y separadas el uno del otro.
  • Con respecto a su administración: lo que significa que puede ser fácil de administrar a pesar de que se utiliza en diferentes organizaciones independientes que cuentan con diferentes políticas de seguridad y que hacen un uso particular del sistema.
  • Desafortunadamente, un sistema que es escalable en uno o más de estos aspectos por lo general afecta el rendimiento del sistema conforme al crecimiento del mismo.

Tratamiento de Fallos: El fallo tanto del hardware como el software es algo prácticamente inevitable, y por más confiable que pueda parecer algún componente, siempre es importante estar preparado para cuando este falle. En un sistema centralizado por lo general el fallo de cualquier componente del sistema provoca que todos los servicios que este ofrece dejen de funcionar, en cambio, 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.

Concurrencia: El control de concurrencia trata con los problemas de aislamiento y consistencia del procesamiento de transacciones. 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. Sin embargo, esto puede afectar mucho el desempeño de un sistema distribuido dado que el nivel de concurrencia se reduce al mínimo. 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.

Transparencia: Se dice que un sistema distribuido es transparente, cuando este es capaz de presentarse ante los usuarios y las aplicaciones como si fuese un sistema que corre en una sola computadora, y no como un sistema cuyos procesos y recursos están distribuidos físicamente en varias computadoras.

VENTAJAS Y DESVENTAJAS

VENTAJAS:

Procesadores más poderosos y a menos costos

  • Desarrollo de Estaciones con más capacidades
  • Las estaciones satisfacen las necesidades de los usuarios.
  • Uso de nuevas interfaces.

Avances en la Tecnología de Comunicaciones.

  • Disponibilidad de elementos de Comunicación.
  • Desarrollo de nuevas técnicas.

Compartición de Recursos.

  • Dispositivos (Hardware).
  • Programas (Software).

Eficiencia y Flexibilidad.

  • Respuesta Rápida.
  • Ejecución Concurrente de procesos (En varias computadoras).
  • Empleo de técnicas de procesamiento distribuido.

Disponibilidad y Confiabilidad.

  • Sistema poco propenso a fallas (Si un componente no afecta a la disponibilidad del sistema).
  • Mayores servicios que elevan la funcionalidad ( Monitoreo, Telecontrol, Correo Eléctrico, Etc.).

Crecimiento Modular.

  • Es inherente al crecimiento.
  • Inclusión rápida de nuevos recursos.
  • Los recursos actuales no afectan.

DESVENTAJAS:

Seguridad e Integridad.

La distribución de datos y de programas en múltiples localidades pueden crear muchos problemas de seguridad e integridad,. Por lo que esto requiere mas rendimiento del sistema y mas carga y el rendimiento puede verse afectado.

Falta de estándares.

La falta de estándares pueden ocasionar problemas de compatibilidad, portabilidad e interconectividad. Esto se da cuando se crean muchas copias de la misma aplicación.

Complejidad del diseño.

Los problemas de compartir datos y recursos son tan complejos que los mecanismos de solución generan mucha sobre carga al sistema haciéndolo ineficiente.

Falta de infraestructura en soporte y administración.

soporte a los sistemas no han sido solucionados y las que existen son limitadas.

1 pensamiento sobre “Sistemas Distribuidos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *