El servicio del Protocolo de Tiempo de Red se puede utilizar para sincronizar relojes de computadores. Explique por qué, incluso con este servicio, no se puede garantizar un límite para la diferencia de tiempo entre dos relojes.

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 13,87 KB

Carácterísticas de los sistemas Distribuidos.

Introducción:

Un sistema distribuido es un conjunto de computadores en red que coordinan sus acciones Intercambiando mensajes, conmutación de paquetes, con el objetivo de compartir Recursos. Estos computadores pueden estar a cualquier distancia unos de otros.

Carácterísticas:

1.Concurrencia: se pueden estar ejecutando Dos programas al mismo tiempo en dos ordenadores distintos compartiendo los Mismos recursos sin problemas.

2.No hay reloj global: los programas del sistema Distribuido se coordinan intercambiando mensajes, no guiados por un reloj Global. La precisión de la sincronización de los relojes es limitada.

3.Fallos independientes: si un ordenador Falla, no afecta al resto, siguen funcionando

Ejemplos de Sistemas distribuidos:

1.Web de búsqueda: mayores retos de los Sistemas distribuidos de la historia

2.Massibely multiplayer online games

3.Finanzas

TENDENCIAS:

Los sistemas Distribuidos están en periodo de cambio y esto puede estar influenciado por las Siguientes tendencias:

1.Redes pervasivas y el Internet moderno: el Internet moderno es un gran conjunto de ordenadores conectados entre sí de Distintas maneras, cable, wifi, wimax, redes móviles, esto hace que se Convierta en un recurso al que puedes acceder a cualquier hora y en cualquier Lugar, afectando cada vez a más aspectos de la vida de las personas. Los protocolo permiten abstraer las tecnologías usadas en Internet y permitir que Los programas se pu3edan ejecutar en cualquier sitio y enviar mensajes a Cualquier nodo. Es importante distinguir Internet y web. Internet es el sistema Distribuido que permite a los usuarios acceder a servicios como el Word Wide Web, email, transferencia de archivos, etc…. Todos estos servicios están Protegidos por el firewall, que no deja que entren o salgan mensajes no Autorizados.

2.Computación móvil y ubicua: la computación Móvil consiste en el acceso a la red privada de nuestra casa, trabajo, etc… Desde cualquier sitio es decir podemos acceder a nuestros recursos compartidos como Datos impresoras etc… desde un dispositivo que este lejos de esos recursos. Esto se consigue gracias al protocolo de mobile ip.

La Computación ubicua es la conexión de herramientas pequeñas y baratas a la red De nuestra casa u oficina. Su comportamiento dentro de la red estaría ligado Con su función física. Etas herramientas podrán ser manejadas por los usuarios Mediante sus dispositivos móviles. Actualmente esta forma el Internet Of Things Y el Internet Of Everything. Todo esto necesita interoperación espontanea, es Decir, que la interoperación de los dispositivos sea rápida y conveniente ya Que las conexiones con estos se van a crear y destruir constantemente.

El Proceso service Discovery o descubrimiento del servicio permite que un Dispositivo visitante se conecta a la red local y que esta pueda detectar los Servicios que ofrece dicho dispositivo.

3.Sistemas multimedia distribuidos: estos Sistemas distribuidos soportan servicios multimedia y deben de ser capaces de Transmitir y presentar estos, así como servicios multimedia continuos. Es Decir, deben poder almacenar audio y video y transmitirlo en tiempo real si se Requiere, manteniendo la integridad de sus datos. Webcasting: capacidad de Transmitir audio o video en Internet y que lo puedan ver muchos usuarios al mismo Tiempo.

4.Computación distribuida como utilidad: el Usuario final alquila servicios o recursos ofrecidos por sistemas distribuidos, Estos recursos pueden ser:

a.Físicos: como almacenamiento y Procesamiento a través del acceso a centros de datos sofisticados. Virtualización de sistemas operativos.

b.Software: como servicios de email Calendario mapas etc…

CLOUD COMPUTING:

Es el término que Engloba esta visión de la computación como utilidad. Todo es un servicio que se Paga por ser usado. Cloud computing permite acceder a servicios sin necesidad De tener un dispositivo con muchos requisitos. Suele estar implementado en Clusters de ordenadores que ya tienen suficiente escalabilidad y rendimiento. A Veces se usan también blade servicers, componentes computacionales mínimos con Capacidad de almacenamiento y procesamiento.

INTERCAMBIO DE RECURSOS:

 Cuando un sistema distribuido está escrito en Un lenguaje orientado a objetos los recursos se encapsulan como objetos, en Este escenario tenemos:

1.El servicio: es la parte del sistema que Gestiona una colección de recursos relacionados entre si y presenta su Funcionalidad a usuarios y aplicaciones.

2.El servidor es el programa que acepta las Solicitudes para usar un servicio y responde a las mismas

3.El cliente es el programa que ejecuta la Petición para usar un servicio

Todo esto se Conoce como computación cliente-servidor. Cuando un cliente hace una petición, Se dice que invoca una operación en el servidor. Esto se llama invocación Remota.

RETOS:

1.Heterogeneidad: variedad y diferencia en:

a.Redes.

b.Hardware.

c.Sistemas operativos.

d.Lenguajes.

e.Implementación de distintos Desarrolladores.

Estas Diferencias deben de ser enmascaradas permitiendo a cualquier equipo Comunicarse con otro.

Las Distintas implementaciones de los protocolos dependiendo del tipo de red quedan Enmascaradas por las abstracciones de los protocolos de comunicación. Los tipos De datos pueden ser representados de distinta manera en distintas maquinas Antes de ser intercambiados debe de ser marshalizados.

f.Middleware: capa de software que provee una Capa de abstracción para la programación y enmascara la heterogeneidad de las Redes, hardware, sistemas operativos y lenguajes de programación que tenga por Debajo.

g.Mobile code: programa que puede ser Transferido y ejecutado en la maquina destino.

2.Apertura: carácterística que determina si Un sistema puede ser aplicado y re implementado de varias maneras. La apertura Del sistema no es posible si las interfaces clave no son publicadas.

3.Seguridad: es importante ya que los sistemas Distribuidos pueden contener información de valor de los usuarios, tiene tres Componentes:

a.Confidencialidad: protección contra Individuaos no autorizados.

b.Integridad: protección contra alteración o Corrupción.

c.Disponibilidad: protección contra interferencias Que afecten al acceso de los recursos.

4.Escalabilidad: un sistema distribuido es Escalable si no pierde eficiencia al aumentar el número de nodos

5.Manejo de fallos: los fallos en los Sistemas distribuidos son parciales, es decir, si un nodo falla los demás Pueden seguir funcionando.

6.Concurrencia: varios clientes van a Intentar acceder a un mismo recurso simultáneamente, si el servidor solo acepta Una solicitud cada vez que se limitaría el rendimiento del sistema.

7.Transparencia: se necesita:

a.De acceso.

b.De localización.

c.De concurrencia.

d.De replicación.

e.De fallo.

f.De movilidad.

g.De prestaciones.

h.De escalado.

Inovacion remota.

Introducción:

El tema trata de Ocmo se comunican los procesos entre si en un sistema distribuido.

1.Protocolos request-reply : patrón de Funcionamiento de protocolos bvasado en el intercambio de mensajes en 2 Direcciones. Usado en la computación cliente-servidor. Http es un protocolo Request-replay.

2.RPC: remote procedure call, permite a el Programa cliente llamar a los procedimientos del programa servidor

3.RMI: remote method invocation, permite a un Pobjeto de un proceso llamar a los métodos de un objeto de otro proceso. Rmi general Y java rmi.

PROTOCOLOS REQUES-REPLY:

Comunicación síncrona: El cliente envía la petición y hasta que no recibe la respuesta permanece Bloqueado.

Es fiable porque Cuando llega la respuesta sabemos que la petición fue entregada correctamente.

Comunicación asincrna: Se da en casos en los que los cliente spueden permitirse recibir las respuestas Tarde.

1.UDP: la propia implementación del Reques-reply da garantías de envía. La respuesta es el ACK

Propiedades:

a.Identificación de mensaje: todos los Mensajes intercambiados tienen que tener un identificador único formado por RequesId y identificación del emisor.

b.Modelo de fallos: omisión, desorden, fallos De proceso y byzantirios.

c.Tiempo de espera, en caso de que la Respuesta se pierda, se produce una reques o solicitud repetidamente hast que Se obtiene la respuesta, todas estas solicitudes repetidas se descartaran.

d.Idempotencia de operaciones: si el servidor Recibe muchas solicitudes solo va a enviar una respuesta, es una operación dempotiente Tiene el mismo efecto ejecutarla 1 vez que 50.

e.Historial de solicitudes y repuestas: se Van almacenando las operaciones para saber si han sido ejecutadas.

f.Protocolos de intercambio de Solicitud-respuesta:

i.Reques protocol

ii.Request replay protocol

iii.Reques replay acknowledgment protocol.

2.TCP: es perfecto cuando los argumentos y el Resultado puede ser de cualquier tamaño

a.El TCP asegura que los mensajes sean Enviados correctamente y en orden.

b.Simplifica la implementación del reques- Response.

c.Si no se necesitan todas las utilidades del TCP es mas simple y eficiente usar el UDP.

3.HTTP: protocolo que especifica los mensajes Involucrados en un intercambio request-reply, los métodos, los argumentos, los Resultados, y como marshallizarlos. Usa conexiones TCP persistentes:

a.Negociación de contenido: las peticiones de Los clientes pueden incluir información de la representación de datos que Aceptan.

b.Autenticación: mediante credenciales y desafíos Se puede usar una autenticación con contraseña.

c.Los mensajes son marshallizados como texto Ascii.

d.Los recursos se identifican gracias a que usan Estructuras mime, multipurpose Internet mail extensión.

4.Remote procedure call, RPC: el objetivo es Que la programación de los sistemas distribuidos se parezca a la programación convencional, Las funciones de las maquinas remotas pueden ser llamadas como si fueran Locales:

a.Cuestiones de diseño: el estilo de programación Con interfaces, las semánticas de la llamada equivalentes a las locales, Transparencias de acceso y localización.

b.Programando con interfaces:

i.Cada módulo tiene su interfaz

ii.Los módulos están impelemntados de manera Que solo se puede sabes la información disponible en la interfaz así la implementación Puede cambiarse sin que afecte al usuario.

iii.Service interface: engloba la especificación De las funciones ofrecidas por un servidor definiendo los tipos de sus Argumentos. No especifica acceso directo a las variables, solo mediante getters Y setters. No se puede llamar a un objeto por referencia, los espacios de Direccionamiento están separados.

iv.Interface definitio languages: permite que Un procedimiento escrito en un lenguaje pueda hacer una llamada a otro escrito En un lenguaje diferente, también en rmi.

c.Semántica de llamadas en RPC: las llamadas A los procedimientos locales se hacen exactamente una vez, las llamadas pueden Realizarse de 3 manteras:

i.Reintentar solicitud: retransmite la solicitud Hasta que recibe respuesta o supone que el servidor ha fallado.

ii.Filtrado duplicado: controla cuando se usan Retransmisiones y si filtran o no las solicitudes duplicadas.

iii.Retransmisión de resultados: controla si se Debe mantener un historial de mensajes por si hay pérdidas, para que puedan ser Retransmitidos.

d.Transparencia: el objetivo del RPc es Ofrecer transparencias de:

i.Localización.

ii.Acceso:

A pesar de todo, las llamadas RPC son más vulnerables que las llamadas locales por fallos en la red, fallos En los ordenadores o en los procesos, latencia de la red. Las llamadas deben recuperarse De esos fallos.

e.Implementación:

i.El cliente tiene un programa.

ii.Consulta al stub de la función.

iii.Se marshaliza y pasa al módulo de comunicación.

iv.Desde aquí se manda un request al módulo de Comunicación del servidor.

v.De aquí se lleva al dispatch y selección el Stub correspondiente al que tiene que llegar según los parámetros recibidos.

vi.Si se necesita ir a alguna función se Desmarshaliza se solicita la función y vuelve al stub.

vii.Si no del stub se marshaliza y se envía al módulo De comunicación.

viii.De aquí con un replay se envía al módulo de Comunicación del cliente.

ix.Se desmarshaliza pasando al stub.

x.Y termina en el programa del cliente.

5.RMI remote method invocation: muy relacionado Con el rpc pero extendido a la programación orientada a objetos. Se programa Con interfaces, está construido sobre un protocolo reques-reply, ofrece Transpacencias de acceso y localización.

a.Diferencias entre RPC y RMI:

i.En rmi se usa programación orientada a Objetos para el desarrollo de un sistema distribuido.

ii.Todos los objetos RMI tienen una única referencia De objeto, por lo que estas referencias de objeto se pueden pasar como parámetro.

b.Cuestiones de diseño:

i.Modelo de objetos convencional: un programa Orientado a objetos consiste en una colección de objetos que interactúan entre sí, Se comunican entre ellos invocando sus métodos pasándose argumentos y Recibiendo los resultados.

ii.Modelo de objetos distribuidos: pueden Tener una arquitectura cliente servidor en la que el servidor sea el objeto que Tiene el método y el cliente el objeto que hace la invocación a ese método. También Pueden estar replicados para mejorar el rendimiento y la tolerancia a fallos.

Entradas relacionadas: