In the QuA component based middleware architecture, the implementationbroker assists the service planner in service planning by performing resource discovery. Pluggable core services is a key feature in QuA, and the implementation broker role is one of those. However, at the start of this thesis, there was only one component available for this role; the Basic Implementation Broker.
The Basic implementation broker is designed to perform resource discovery of local resources. A second implementation should not only be able to share offer space for resources among instances of QuA, for its ability to scale well, self organize and provide robustness to data loss from node failure would allow for a larger field of use for the component.
Peer-to-peer technology has evolved greatly since the rise and fall of Napster, and the scalability, robustness and self-organization properties make peer-to-peer technology a good basis for an architectural model for distributed systems.
This thesis aims to investigate the feasibility of using peer-to-peer technology in QuA resource discovery by designing and implementing an implementation broker component based on peer-to-peer technology. The component is also tested and evaluated in terms of scalability, robustness and ability to self organize a network of peer-to-peer broker components without any centralized control.
The design of the component is only technology generation specific, but the implementation described uses the FreePastry implementation of the Pastry technology. The component is fully operational as an implementation broker component in QuA.
The evaluation of the component show that the component is able to distribute responsibility for query resolution on resources as evenly as the underlying technology permits on participating nodes in a network of peer-to-peer broker components. Further, it is able to re-organize responsibility for resources among participating nodes both in the event of nodes joining and departing from the network. The replication scheme is also proven to be working, and through that robustness to data loss from node failure is also acheived.