Orbweb-A Network Substrate for Peer-to-Peer Desktop Grid Computing Based on Open Standards
While Desktop Grid Computing has become a promising alternative to classical Grids for certain kinds of applications, it has not yet reached the same level of standardization. In this article, we present Orbweb, a network substrate for Peer-to-Peer Desktop Grid Computing based on the open industrial-strength eXtensible Messaging and Presence Protocol (XMPP). We discuss, how XMPP can be leveraged to tackle domain-specific challenges, including high scalability, support for volatility, NAT/Firewall traversal, and protocol efficiency. Where XMPP fails to meet these requirements, we contribute pertinent extensions. In particular, we boost the scalability of XMPP by taking load of the XMPP servers through dynamically negotiated direct Peer-to-Peer communication channels between XMPP peers. We pave the way for scalable group membership management by substituting the existing XMPP Multi-User Chat protocol for one that does not suffer from limitations imposed by an A >> everyone knows everyoneA << visibility model and allows for deploying custom virtual topologies that best match the interaction patterns of a given application. As efficient multicasting is an essential prerequisite for many distributed algorithms, we adapt the well-known Bimodal Multicast protocol to work in a highly volatile Peer-to-Peer Desktop Grid Computing environment. Finally, we show how to improve the protocol efficiency of XMPP by leveraging a standardized binary encoding of the XML Information Set for XMPP packet transmission. To substantiate the applicability of our approach and the effectiveness of our extensions, we describe how some important higher-level services used in Peer-to-Peer Desktop Grid Computing can be implemented on top of Orbweb and provide a detailed experimental analysis with up to 10K nodes.
peer-to-peer desktop grid grid computing communication middleware