Desarrollo de sistemas y servicios de información sobre redes overlay peer-to-peer

  1. Muñoz Gea, Juan Pedro
Zuzendaria:
  1. José María Malgosa Sanahuja Zuzendaria

Defentsa unibertsitatea: Universidad Politécnica de Cartagena

Fecha de defensa: 2011(e)ko maiatza-(a)k 13

Epaimahaia:
  1. Juan Ramón Velasco Pérez Presidentea
  2. Pilar Manzanares López Idazkaria
  3. Jesús Esteban Díaz Verdejo Kidea
  4. Thomas M. Chen Kidea
  5. Francesc Burrull i Mestres Kidea
Saila:
  1. Tecnologías de la Información y las Comunicaciones

Mota: Tesia

Teseo: 310511 DIALNET

Laburpena

Resumen de la tesis: Una red overlay es una red virtual de nodos y enlaces lógicos construida sobre la red Internet. Por lo tanto, las redes overlay se pueden ver como una capa intermedia situad entre los protocolos básicos de Internet y el nivel de aplicación. Para entender por qué las redes overlay son importantes y el papel que desempeñan, merece la pena considerar las distintas razones que han motivado su aparición. En primer lugar, las redes overlay pueden utilizarse para soportar los requisitos especiales de una clase de aplicaciones particulares o de una determinada comunidad de usuarios. En segundo lugar, y relacionado con lo anterior, las redes overlay pueden desempeñar un papel importante en la evolución dinámica de la tecnología de Internet. La arquitectura tradicional para el desarrollo de aplicaciones distribuidas ha estado basada durante muchos años exclusivamente en el modelo cliente-servidor. Este modelo era más apropiado cuando no existían los PCs, sólo estaciones de trabajo, cuya potencia distaba mucho de los grandes y costosos ordenadores centrales. Hoy en día, los PCs empleados en hogares y empresas tienen unas prestaciones cada vez más parecidas a los servidores a un precio sensiblemente menor. Por ello, las redes P2P (Peer-to-Peer) surgen como alternativa para aprovechar toda la capacidad de proceso, almacenamiento y ancho de banda sobrante de los ordenadores interconectados. Básicamente, una red informática P2P o "entre iguales", se refiere a una red que no tiene clientes y servidores fijos, sino una serie de nodos que se comportan a la vez como clientes y como servidores de los demás nodos de la red. Este modelo de red contrasta con el modelo cliente-servidor tradicionalmente empleado en las aplicaciones de Internet. Aquí, todos los nodos se comportan igual y pueden realizar el mismo tipo de operaciones, pudiendo no obstante diferir en configuración local, velocidad de proceso, ancho de banda de su conexión a la red y capacidad de almacenamiento. Respecto a los mecanismos y protocolos en que se basan las redes P2P, podemos diferenciar claramente dos componentes necesarios: I) Mecanismos para la localización de recursos (como pueden ser usuarios, servicios o contenidos) y II) Mecanismos de acceso o comunicación con los recursos (como puede ser el establecimiento de una llamada o la descarga de un fichero). Comúnmente, las redes P2P se clasifican en función de los mecanismos para la localización de recursos en redes no-estructuradas, redes basadas en superpeers y redes estructuradas. Las propiedades de las redes P2P las hacen muy apropiadas para el desarrollo de nuevos sistemas y servicios de información. En este trabajo se estudian en detalle las principales características de los diferentes tipos de redes P2P previamente presentados. Además, también se analiza su idoneidad para el desarrollo de nuevos sistemas y servicios de información sobre ellas. Una de las características más importantes de las redes P2P no-estructuradas es que presentan una arquitectura topológica plana, donde todos los nodos pertenecen al mismo nivel. Ello las hace especialmente apropiadas para la implementación de los mecanismos de provisión de anonimato tradicionalmente utilizados en redes IP. Uno de estos mecanismos, llamado Crowds, se basa en la construcción de un camino random-walk entre el origen y el destino de la comunicación. Uno de los inconvenientes de esta metodología es que el coste asociado con la comunicación aumenta enormemente cuando el número de saltos se incrementa. Por lo tanto, limitar la longitud de los caminos es un aspecto clave en este escenario. En este trabajo, se propone un mecanismo para reducir la varianza asociada a la longitud de los caminos random-walk. Además, se deriva un intuitivo a la vez que riguroso modelo analítico para calcular el grado de anonimato en las redes que utilizan el mecanismo propuesto. Este modelo se ha validado mediante simulación y se ha demostrado que es posible conseguir una buena solución de compromiso entre el nivel de anonimato (el beneficio) y la longitud del camino (el coste). Además, también se ha demostrado que el rendimiento del nuevo mecanismo frente a ataques especiales, como los ataques de análisis de tráfico o los ataques del predecesor, es equivalente al rendimiento conseguido por Crowds. Por otra parte, las redes P2P basadas en superpeers presentan una arquitectura topológica jerárquica, donde los clientes se conectan a un superpeer que a su vez se conecta a un conjunto de superpeers vecinos. Este tipo de redes overlay intentan mejorar algunas de las características de las redes overlay planas, tales como el retardo y el rendimiento del encaminamiento. Para ello, cada superpeer mantiene un registro de los datos de sus clientes. Cuando un cliente desea enviar una solicitud a la red, la enviará a su superpeer. Si el superpeer encuentra algún resultado lo devolverá al cliente. En caso contrario, enviará la solicitud a sus superpeers vecinos y devolverá las posibles respuestas al cliente. Esta arquitectura fue utilizada en [Nafaa et al., 2008] para proporcionar un servicio de distribución de vídeo bajo demanda (Video-On-Demand, VOD) basado en P2P. En esta arquitectura, los contenidos son almacenados en los Set-Top-Boxes (STB) que actúan como clientes, y las sesiones son proporcionadas mediante streaming multi-fuente. En este trabajo se ha extendido la funcionalidad de esta arquitectura. En primer lugar el sistema se ha evaluado en la red de un operador y se ha demostrado que los mecanismos existentes no son suficientes para aprovechar completamente los recursos de la red. A continuación, se ha evaluado el sistema en el contexto de Internet. Respecto al escenario de la red del operador, se ha propuesto un nuevo mecanismo de traducción de popularidad en disponibilidad, con el objetivo de terminar de forma óptima el número de copias necesarias de cada título en la red. A continuación, se ha presentado un nuevo mecanismo de reparto. Para llevar a cabo la evaluación del sistema completo con los nuevos mecanismos anteriores, se ha implementado una estrategia simple de asignación de recursos. Esta estrategia ordena los STBs en función del ancho de banda de subida disponible. A partir de la evaluación anterior, se ha deducido que los mecanismos previos no son suficientes para aumentar el número de sesiones de VOD simultáneas, y se ha demostrado que una condición necesaria para conseguir ese objetivo es poder distribuir uniformemente la tasa de rechazo sobre toda la librería de contenidos, independientemente de su popularidad. La estrategia de reasignación de recursos dinámica presentada es capaz de conseguir el objetivo anterior. En el contexto de Internet, se ha propuesto un nuevo algoritmo de reparto de contenidos. La decisión de qué contenido se reparte a qué STB se determina mediante un algoritmo de programación no lineal. Los resultados de simulación muestran que este algoritmo puede ayudar a mitigar la carga del servidor. A continuación, se han presentado dos nuevos mecanismos para reenviar las solicitudes entre diferentes redes de operador. Se ha demostrado que ambos mecanismos son capaces de mejorar el rendimiento global del sistema. Además, también se ha implementado y evaluado la estrategia de reasignación de recursos dinámica para los dos mecanismos previos. Para el mecanismo full requests forwarding, se demuestra que el porcentaje de carga del servidor se distribuye de forma más uniforme entre las diferentes categorías de contenidos. Por otra parte, también se demuestra que esta estrategia no es capaz de mejorar los resultados obtenidos por el mecanismo sub-request forwarding. Por otra parte, las redes P2P estructuradas fueron desarrolladas con el objetivo de proporcionar búsquedas deterministas. Estas redes ofrecen un servicio de encaminamiento capaz de enviar un mensaje con una clave asociada a un solo nodo, responsable de esa clave. Por esta razón, a este servicio se le llama Key-Based Routing (KBR). En general, las arquitecturas P2P descentralizadas requieren de algún mecanismo de mantenimiento de red, ya que los servidores centralizados han sido eliminados. Los mecanismos de auto-organización pueden ser una buena forma de solucionar estos problemas de control. Se trata de mecanismos que permiten que la organización de un sistema se realice de forma automática, sin necesidad de ser gestionada por una fuente externa. En este trabajo, se ha presentado un mecanismo de auto-organización para aplicaciones P2P basadas en superpeers, que hacen uso de la funcionalidad de encaminamiento fiable asociada a las redes P2P estructuradas. El mecanismo propuesto se ha implementado en dos aplicaciones P2P basadas en superpeers. La primera es una aplicación de dos niveles, donde todos los superpeers son miembros de un grupo ALM (Application Level Multicast). La segunda es una aplicación P2P jerárquica. Esta aplicación es similar a la anterior, pero en este caso los superpeers tienen comunicación directa entre ellos utilizando una arquitectura jerárquica de superpeers. Además, los mecanismos de anonimato previamente presentados se han integrado en ambas aplicaciones P2P. Finalmente, se han presentado los sistemas DHT (Distributed Hash Table). Se trata de sistemas de almacenamiento de datos fiables y escalables que liberan a los programadores de muchas de las complicaciones asociadas a la construcción de los sistemas distribuidos. Las DHT almacenan bloques de datos en cientos o miles de máquinas conectadas a Internet, replican los datos para aumentar la fiabilidad, y además son capaces de localizar datos rápidamente, aunque sean ejecuados sobre enlaces de baja capacidad. Este tipo de aplicaciones se implementan sobre la interfaz KBR ofrecida por las redes P2P estructuradas. En este trabajo se ha propuesto un mecanismo para obtener automáticamente la red de suministro asociada a un producto específico utilizando la red EPCglobal, y se ha implementado en un sistema DHT. Existen otros mecanismos con el mismo objetivo, pero la principal diferencia con la propuesta de este trabajo es que en nuestro sistema el cliente no tiene que realizar ninguna operación, es decir, él solicita la red de suministro asociada a un producto específico y los resultados se obtienen directamente. Este mecanismo se ha integrado dentro del Discovery Service de la red EPCglobal, que se encuentra actualmente en desarrollo. Recientemente se han presentado varias propuesta para la implementación del Discovery Service. En la mayoría de ellas se ha implementado como un sistema centralizado. Por ejemplo, en el proyecto BRIDGE se ha desarrollado como una base de datos centralizada basada en LDAP. En este trabajo, se ha desarrollado un prototipo basado en DHT. Las DHTs tienen varias ventajas sobre las aproximaciones centralizadas, sin embargo también tienen un inconveniente importante: no implementan ningún mecanismo de control de acceso. Por lo tanto, en nuestro prototipo de Discovery Service basado en DHT también se ha implementado un servicio de control de acceso. http://repositorio.bib.upct.es/dspace/