martes, 6 de agosto de 2013

Sistemas Distribuidos



SISTEMAS DISTRIBUIDOS

  • Buenos noches compañeros como primer post procederé a publicar acerca de los sistema Distribuidos
  • Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, con una colección de redes  extensas interconectados, que en enlazan millones de ordenadores
 




1. Concepto
  • Un sistema distribuido se define como una colección de nodos (computadoras) independientes  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
  •  Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, con una colección de redes  extensas interconectados, que en enlazan millones de ordenadores.

2. Características:
  •  Distribuyen procesador y memoria
  •  Fallos independientes (nodos afectados se aíslan, el resto puede seguir funcionando)
  • Carencia de un reloj global (Coordinación por mensajes, no por tiempos de red sincronizados)
  • Concurrencia de los componentes (cada nodo ejecuta sus procesos y administra sus recursos)
3. Retos:

3.1.- Heterogeneidad: (Abstracción sobre variedad tecnológica)
  • La interconexión, sobre todo cuando se usa Internet, se da sobre una gran variedad de elementos hardware y software, por lo cual necesitan de ciertos estándares que permitan esta comunicación. Los Middleware, son elementos software que permiten una abstracción de la programación y el enmascaramiento de la heterogeneidad subyacente sobre las redes. También el middleware proporciona un modelo computacional uniforme.
  • Se puede usar diferentes Plataformas, Sistemas Operativos, Redes, Representación de datos, Protocolos. Surgiendo la necesidad  de definir estándares.
3.2. Extensibilidad (Grado de crecimiento en capacidades)

  • Flexibilidad en adición de nuevos servicios.
  • Requiere interfaces bien definidas, documentadas y publicadas.
  • Debe soportar crecimiento en hardware y software.

3.3 Seguridad: Confiabilidad y disponibilidad de información en lo siguiente:

  •  Diversos puntos de ataque.
  • Autenticación, autorización.
  • Confidencialidad e integridad de datos.
  • Encriptación de datos.
  • Paso de credenciales
  • Seguridad Física


3.4. Escalabilidad (Crecimiento en usuarios y recursos)

  •  Conserva su efectividad al incrementar recursos  y usuarios
  • Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala más pequeña consiste en dos estaciones de trabajo y un servidor de fichero, cuando el tamaño y complejidad de las redes de ordenadores crece, es un objetivo primordial diseñar software de sistema distribuido que seguirá siendo eficiente y útil con esas nuevas configuraciones de la red.

3.5. Tratamiento de fallos (detección y recuperación)

  •  Los sistemas informáticos a veces fallan. Cuando se producen fallos en el software o en el hardware, los programas podrían producir resultados incorrectos o podrían pararse antes de terminar el proceso que estaban realizando. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: Redundancia hardware y recuperación del software.
  • Diversos puntos de falla.
  • Comprobación de mensajes.
  • Tolerancia ante recuperación frente a errores(rollback)


3.6. Concurrencia (múltiple uso del recurso a la vez)

  • Cuando existen varios procesos en una única maquina decimos que se están ejecutando concurrentemente. Si el ordenador está equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos.
  • Efectividad en el acceso a los recursos compartidos
  • Sincronía de Operaciones

3.7. Transparencia (Ocultamiento de las complejidades)

  • La transparencia de un sistema distribuido va en conjunto con que todo el sistema funcione de forma similar en todos los puntos de red, sin importar la posición del usuario, este mecanismo permite trabajar a todos los usuarios como si se tratara de un equipo único.
  • Acceso (Operaciones para recursos locales o remotos)
  • Ubicación: Recursos con ubicaciones estándares
  • Migración: reconfiguración sin cambio en clientes.
  • Reubicación: movilidad de recursos sin cambio en clientes.

4. Tecnologías De Programación Distribuida 

  • Podemos mencionar los siguientes: Sockets, WebSockets, DCOM, RMI, EJB, WCF, Web Services SOAP, Web Services REST, CORBA, Otros.



No hay comentarios:

Publicar un comentario