RASupport: soporte flexible, bio-inspirado, auto-configurable y multi-agente para la agregación de recursos en sistemas P2P colaborativos

RASupport: soporte flexible, bio-inspirado, auto-configurable y multi-agente para la agregación de recursos en sistemas P2P colaborativos

Damián Isaid Arellanes Molina
 

Texto completo de la Tesis            Video del evento          

 


Resumen

 

En los últimos años, se han propuesto alternativas de uso de los sistemas P2P en las que los nodos proporcionan recursos y usan los recursos de los demás, con la finalidad de lograr tareas de gran escala. A tales sistemas se les denomina sistemas P2P colaborativos, los cuales tienen un importante rol en la agregación de recursos: anunciamiento, descubrimiento,selección, empatamiento y enlace. Actualmente no existen herramientas de software (e.g., toolkits) que permitan a los desarrolladores incorporar soporte para llevar a cabo la agregación de recursos en tales sistemas usando algún lenguaje de programación específico. Además, la mayoría de los protocolos P2P actuales que permiten llevar a cabo la agregación de recursos únicamente se encuentran especificados teóricamente y no proporcionan cohesión entre las fases clave de la agregación de recursos (selección, empatamiento y enlace). La principal contribución de esta tesis es el diseño e implementación de RASupport, el cual es un soporte de software flexible, auto-configurable, bio-inspirado y multi-agente desarrollado en lenguaje Java que permite a los desarrolladores agregar recursos heterogéneos, distribuidos, multi-atributo, dinámicos y estáticos en sistemas P2P colaborativos. Dicho soporte emplea el protocolo Myconet para mantener una arquitectura no estructurada basada en super-peers, la cual está inspirada en el crecimiento de los micelios. Los super-peers seleccionan, empatan y enlazan recursos en nombre de sus peers normales, reduciendo así el tráfico en la red. RSupport ofrece una alta cohesión y un bajo acoplamiento, debido a que utiliza técnicas de programación automática y a que se encuentra implementado de forma modular, por lo que fácilmente se pueden agregar, modificar y eliminar móodulos sin necesidad de afectar otras partes del diseño. Además, su comportamiento varía en función de los requerimientos y restricciones de una aplicación cliente, facilitando así el desarrollo de sistemas P2P colaborativos. Palabras clave: sistemas P2P, super-peers, colaboración de recursos, agregación de recursos, toolkit, cómputo autónomo.

 

 

Abstract

In the last years, usage alternatives of P2P systems have been proposed, in which nodes provide resources and use resources of others in a collaborative way, in order to accomplish high scale tasks. Such systems are called Collaborative P2P Systems and they have an important role in resource aggregation: advertisement, discovery, selection, matching, and binding phases. However, any software tools (e.g., toolkits) do not allow developers to incorporate resource aggregation support in such systems, using a specific programming language. In addition, existent P2P protocols are only specified theoretically, they do not contemplate the restrictions and the requirements of the applications, and they do not achieve cohesion among the key phases of resource aggregation (selection, matching, and binding). The main contribution of this thesis work is the design and the implementation of RASupport, which is a flexible, auto-configurable, bio-inspired, multi-agent, and Java-based support that allows developers to aggregate heterogeneous, distributed, multi-attribute, dynamic, and static resources into collaborative P2P systems. Such a support uses the Myconet protocol in order to mantain an unstructured topology based on super-peers, which is inspired in the growth of Mycelium. Super-peers select, match and bind on behalf of their normal peers, reducing the network traffic. RASupport provides high cohesion and low coupling, because it uses automatic programming techniques and it is implemented in a modular fashion. Therefore, modules can be added, modified or deleted in an easy way, without affect other parts of the design. In addition, the behaviour of RASupport, changes depending on the requirements and the restrictions of a client application, which facilitates the development of collaborative P2P systems. Keywords: P2P systems, super-peers, resource collaboration, resource aggregation,toolkit, autonomic computing.