Enabling Scalable Information Sharing for Distributed Applications Through Dynamic Replication
MetadataShow full item record
As broadband connections to the Internet become more common, new information sharing applications that provide rich services to distributed users will emerge. Furthermore, as computing devices become pervasive and better connected, the scalability requirements for Internet-based services are also increasing. Distributed object middleware has been widely used to develop such applications since it made it easier to rapidly develop distributed applications for heterogeneous computing and communication systems. As the application's scale increases, however, the client/server architecture limits the performance due to the bottleneck at the centralized servers. The recent development in peer-to-peer technologies creates a new opportunity for addressing scalability and performance problems for services that are used by many nodes. In a peer-to-peer system, peer nodes can contribute a fraction of their resources to the system, enabling more flexible and extended sharing between the entities in the system. When peer nodes are required to contribute their resources by replicating a service for self and others, however, several new challenges arise. Our thesis is that non-dedicated resources in a distributed system can be utilized to replicate shared objects dynamically so that the quality and scalability of a distributed service can be achieved with lower cost by replicating the objects at right places and updates to those shared objects can be disseminated efficiently and quickly. The following are the contributions of our work that has been done to validate the thesis. 1. A new fair and self-managing replication algorithm that allows distributed non-dedicated resources to be used to improve service performance with lower cost. 2. A multicast grouping algorithm that is used to disseminate updates to the shared objects among a large set of heterogeneous peer nodes to keep consistent view for all peer nodes. It groups nodes with similar interests into same group and multicasts all the required data to the group so that the unwanted data received by each node can be minimized. 3. An overlay construction algorithm that aims at reducing both network latency and total network traffic when delivering data through the built overlay network. 4. An implementation of a distributed object framework, GT-RMI, that allows peer nodes to invoke dynamically replicated objects transparently. The framework can be configured for a particular peer node through a policy file.