UNIVERSIDAD NACIONAL DE SAN AGUSTÍN ESCUELA PROFESIONAL INGENIERÍA DE SISTEMAS
INFORME DE TRABAJO E INVESTIGACIÓN:
“IMPLEMENTACIÓN DE PROTOCOLOS DE BROADCAST CONFIABLE Y El ALGORITMO DE ECO PARA UN CHAT EN SISTEMAS DISTRIBUIDOS”
ESTUDIANTE: - Ticona Bejarano Alex Daniel CUI: - 20133322
INFORME TRABAJO E INVESTIGACIÓN 1.
CONTEXTO En presente informe permite dar a conocer la participación, trabajo e investigación desarrollados con el fin de obtener el conocimiento necesario para poder implementar dos papers relacionados con el tema de sistemas distribuidos que son el protocolo de broadcast confiable y el algoritmo de ECHO.
2. 2.1.
INVESTIGACIÓN Algoritmo de Eco El algoritmo de eco es un mecanismo de envió y retorno (paso de mensajes) que permite la comunicación dentro de un sistema distribuido. El emisor hace uso de éste para esperar el retorno o respuesta a una comunicación. El algoritmo consta de dos fases una fase de exploración y otra de retorno. La primera fase se encarga de enviar el mensaje La segunda espera la respuesta hacia el nodo central
2.2.
Protocolo broadcast confiable Este protocolo permite la difusión de mensajes de forma segura hacia todos los nodos que estén conectados en un Sistema distribuidos. La idea principal es utilizar
tokens que permitan comprobar que los mensajes hayan llegad oa sus destino correctamente. Esto se realiza de la siguiente manera se envía un mensaje desde el emisor, luego este al ser recibido por un broadcast que lo que hace es agregarle tokens al mensaje y enviarlo hacia el receptor, cuando el receptor recibe el mensaje devuelve un token de respuesta al broadcast con esto se confirma que el mensaje se ha enviado correctamente, caso contrario el mensaje será renviado luego de cierto tiempo.
2.3.
Websocket Es un protocolo al igual que HTTP permite la comunicación y envío de mensajes entre el servidor y un navegador. Este hace uso de un canal bidireccional de comunicación que permite hacer mas directa y persistente la comunicación ya que no espera una petición y respuesta como es el caso del protocolo HTTP.
2.4.
AJAX Es una herramienta que permite la comunicación asíncrona entre la interfaz del sistema y el servidor. Esto permite actualizar en tiempo real sin necesidad de recargar una página cierto contenido que necesite actualizarse o mostrarse constantemente.
3. 3.1.
TRABAJO Algoritmo de Eco en el chat Los algoritmos de eco son una clase de algoritmos que están enfocados en el paso de mensajes.
Este mecanismo se representa en el envió y recepción de mensajes. Se utilizara posteriormente en la parte de clientes conectados y desconectados, donde se comprobará en tiempo real su estado respectivo (activo o inactivo). Se efectúa una petición de confirmación desde el servidor hacia todos los usuarios conectados, luego cada usuario debe devolver un eco de respuesta. De esta forma se comprueba el estado de cada usuario en el chat.
3.2.
Algoritmo de broadcast confiable
La siguiente grafica muestra cómo se realiza el proceso de paso de mensaje a través de los diferentes actores en el sistema.
El segundo caso es la comprobación de mensajes que se realiza de la siguiente manera: 1. 2.
3. 4. 5.
El usuario ingresa un destinatario y mensaje, luego oprime el boton enviar. La interfaz del emisor(usuariochat.php) manda este mensaje al controlador que es broadcast.php, aquí se agregan los tokens de comprobacion que son los de enviado y visto con los valores true y false respectivamente. Todos estos valores son guardados en la BD. Se apertura una comunicación con el websocket y se envia el mensaje Este menssaje es recibido en la interfaz del receptor(usuariochat.php) la cual cambia el valor del token de recibido a true. Lo cual permite comprobar en tiempo real que en mensaje ha sid oentregado satisfactoriamente.