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 »everyone knows everyone« 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.
Keywords Grid computing - Peer-to-Peer - Desktop Grid - Communication middleware