Abstract
The popularity of peer-to-peer networks has grown tremendously in recent times as a
result of the ever-improving capabilities of host entities at the edge and the ubiquitous
reach of the Internet. The growth has fueled the realization of many peer-to-peer
networks in both academia and the commercial arena. Peer-to-peer networks generally
fall into one of these categories centralized systems with server-like entities in the
network; unstructured systems with random topology and message routing, and
structured systems with deterministic topology and routing behavior. Surveying the
major peer-to-peer networks in each category, one can conclude that the each of the
categories exhibit very different characteristics and properties from one another.
This thesis addresses the problems in the peer-to-peer networking space by employing
two overarching principles. Firstly, desirable properties of systems in one category can
be adopted by another to achieve restructuring. In short, restructuring involves the
injection of structure into unstructured networks and conversely loosening the rigidity in
structured systems. Secondly, as much as possible, participating peers in the network
are designed to be homogeneous in functionality recognizing that they are
heterogeneous in capabilities. True to the concept of the peer-to-peer paradigm, this
principle keeps participants functioning as fellow peers rather than imposing
hierarchical differences in the roles within the network.
We describe three contexts in which the issues pertaining to the peer-to-peer networks
in view can be addressed by applying the principle of restructuring. For the Mobile
Agent Peer-to-Peer architecture, we adopt centralized concepts into the unstructured
peer-to-peer network while maintaining homogeneity in functionality through the use of
mobile agents. The architecture shields excessive traffic from peers with limited
resources and allows more capable peers to share others burden. Through the use of
mobile agents, logical hierarchy is avoided and thus the second overarching principle of
homogeneity is preserved. For Gnutella Clusters, concepts from the structured systems
are adopted to facilitate the formation and maintenance of clustering in unstructured
networks. Clustering limits the amount of flooding in the network and thus conserves
bandwith. The clustering algorithm is decentralized to all peers, and does not need a set
of participants to have special functionality thus preserving the generic nature of all
peers. In Autonomic Decentralized Service Directory platform, structure is released
from the underlying Chord network to provide better support for service registration and
searching. The strict requirements for deterministic routing and lookup which
characterize structured systems are granted some leniency for the ability to avoid
misbehaving nodes and provide incentives for peers to behave properly.