Sistema Distribuido

Definicion

Conjunto de Ordenadores trabajando en forma coordinada, a través del intercambio de mensajes, esto con un fin en conjunto .Este sistema, el estado y los programas se guardan en multiples ordenadores.

Caracteristicas

Concurrencia

Los ordenadores ejecutan eventos de forma independiente y al mismo tiempo

Falta de un reloj global

Se necesita ordenar los eventos que tienen lugar. Pero en un sistema donde los integrantes estan separados en dificil decir el orden de los eventos, dicho de otra forma no existe un reloj global que determine la secuencia de eventos.

Fallos independientes de los componentes

Los sistemas trabajan con componentes que pueden fallar

Crash:Los componentes dejan de funcionar

Omisión: Un componente envía un mensaje, pero no es recibido por los demás

Bizantino: Los componentes de la red empiezan a actuar de forma arbitraria

Modelos

Simple fault-tolerance

Estos sistemas asumen que las partes solo mostraran dos tipos de comportamientos: o sigue el protocolo o fallan. Este modelos maneja correctamente los fallos de los componentes, pero no se piensa en fallos Bizatinos

Byzatine fault-tolerance

Se asume que los componetes pueden fallar o actuar de forma mailiciosa

BAR fault tolerance: Se considera un ampliacion del anterior, algunos argumentan que los modelos no cuentan fallos racionales. En ese sentido, se propone la existencia de incentivos que puedan influir en los nodos para actuar de forma honesta y deshonesta. Por lp¿o que asume tres tipos de actores

Bizantinos: Buscaran dañar la red

Altruistas: siempre seguiran el protocolo

Racionales: solo seguiran el protocolo si les viene bien

Comunicacion de nodos

La comunicacion de nodos se basa en el intercambio de mensajes entre los mismos, permitiendo la coordinacion de estos. Existen dos escenarios en el intercambio

Sincrono

Se asume que los mensajes llegaran en un determinado lapso de tiempo, diseñar un sistema bajo ente escenario no es practico, ya que los ordenadores podrian dejar de funcionar, perder la conexion, etc. Provocando que los mensajes se pudiesen perder.

Asincrono

Se asume que los mensajes pueden retrasarse infinitamente, duplicarse o entregarse en distintos ordenes. Ademas se pueden identificar dos modelos en el intercambio de mensajes

Invocación remota: Desde una maquina poder invocar un codigo que hay en otra

Comunicaciones grupales: Comunicacion de una a muchos

Desventajas

Es muy complicado proveer una seguridad adecuada, ya que hay que proteger los nodos

Los mensajes e informacion puede perderse durante la comunicacion

La base de datos sera complicada y dificil a comparacion de un sistema centralizado

Puede producirse una sobrecarga si los nodos tratan de enviar informacion a la vez

Ventajas

Al estar en nodos de la red conectados entre si, compartir informacion es mas sencillo

Se pueden añadir mas nodos facilmente, haciendo una escalabilidad sencilla

Si un nodo falla, no lleva al fallo de todo el sistema

Retos de diseñar un sistema distribuido

Hetereogeneidad

Apertura

Seguridad

Confidencialidad

Disponibilidad

Integridad

Escalabilidad

Gestion, Deteccion, Mitigar fallos

Tolerancia

Concurrencia

Calidad del servicio

Hernandez Martinez Brian Arturo 5IV8