Journal of Grid Computing

, Volume 8, Issue 1, pp 77–107 | Cite as

Orbweb—A Network Substrate for Peer-to-Peer Desktop Grid Computing Based on Open Standards

  • Sven SchulzEmail author
  • Wolfgang Blochinger
  • Mathias Poths


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.


Grid computing Peer-to-Peer Desktop Grid Communication middleware 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anderson, D.P., Fedak, G.: The computational and storage potential of volunteer computing. In: Proc. of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2006), pp. 73–80. Singapore (2006)Google Scholar
  2. 2.
    Blochinger, W., Dangelmayr, C., Schulz, S.: Aspect-oriented parallel discrete optimization on the cohesion desktop grid platform. In: Proc. of the Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2006), pp. 49–56. Singapore (2006)Google Scholar
  3. 3.
    Schulz, S., Blochinger, W.: Parallel boolean satisfiability solving on Peer-to-Peer desktop grids. J. Grid Comput. (2009, submitted).
  4. 4.
    Schulz, S., Blochinger, W., Held, M., Dangelmayr, C.: COHESION—a microkernel based desktop grid platform for irregular task-parallel applications. Future Gener. Comput. Syst. Int. J. Grid Comput. Theory Methods Appl. 24(5), 354–370 (2008)CrossRefGoogle Scholar
  5. 5.
    Schulz, S., Blochinger, W.: An integrated approach for managing Peer-to-Peer desktop Grid systems. In: Proc. of the Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007), pp. 233–240. Rio de Janeiro (2007)Google Scholar
  6. 6.
    Blochinger, W., Westje, W., Küchlin, W., Wedeniwski, S.: ZetaSAT—boolean satisfiability solving on desktop Grids. In: Proc. of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2005), vol. 2, pp. 1079–1086, Cardiff (2005)Google Scholar
  7. 7.
    Schulz, S., Blochinger, W., Poths, M.: A network substrate for Peer-to-Peer Grid computing beyond embarrassingly parallel applications. In: Proc. of International Conference on Communications and Mobile Computing (CMC 2009), vol. 3, pp. 60–68. Kunming, Yunnan, China, January 2009. IEEE, Los Alamitos (2009)Google Scholar
  8. 8.
    Foster, I., Iamnitchi, A.: On death, taxes, and the convergence of Peer-to-Peer and Grid computing. In: International workshop on Peer-to-Peer systems (IPTPS 2003), pp. 118–128. Berkeley (2003)Google Scholar
  9. 9.
    Anderson, D.P.: BOINC: a System for public-resource computing and storage. In: Proc. of the 5th IEEE/ACM International Workshop on Grid Computing, pp. 4–10, Pittsburgh (2004)Google Scholar
  10. 10.
    Tanaka, Y., Shudo, K., Sekiguchi, K.: P3: P2P-based middleware enabling transfer and aggregation of computational resources. In: Proc. Cluster Computing and Grid 2005 (Fifth Int’l Workshop on Global and Peer-to-Peer Computing), Cardiff (2005)Google Scholar
  11. 11.
    Chien, A., Calder, B., Elbert, S., Bhatia, K.: Entropia: architecture and performance of an enterprise desktop Grid system. J. Parallel Distrib. Comput. 63, 597–610 (2003)CrossRefGoogle Scholar
  12. 12.
    Cirne, W., Brasileiro, F., Andrade, N., Costa, L., Andrade, A., Novaes, R., Mowbray, M.: Labs of the world, Unite!!! J. Grid Comput. 4(3), 225–246 (2006)zbMATHCrossRefGoogle Scholar
  13. 13.
    Epema, D.H.J., Livny, M., van Dantzig, R., Evers, X., Pruyne, J.: A worldwide flock of condors: load sharing among workstation clusters. Future Gener. Comput. Syst. 12(1), 53–65 (1996)CrossRefGoogle Scholar
  14. 14.
    The XMPP Software Foundation: The XMPP Software Foundation homepage. (04/24/2008) (2008)
  15. 15.
    Saint-Andre, P.: End-to-End signing and object encryption for the extensible messaging and presence protocol (XMPP). RFC 3923 (Proposed Standard) (2004)Google Scholar
  16. 16.
    ejabberd.: The Erlang Jabber/XMPP daemon community site. (04/24/2008) (2008)
  17. 17.
    Ignite Realtime: A Jive software community. (04/24/2008) (2008)
  18. 18. Fast Infoset Project. (04/24/2008) (2008)
  19. 19.
    The Apache Software Foundation: MINA. (04/24/2008) (2008)
  20. 20.
    Ganesh, A.J., Kermarrec, A.M., Massoulié, L.: Peer-to-Peer membership management for gossip-based protocols. IEEE Trans. Comput. 52(2), 139–149 (2003)CrossRefGoogle Scholar
  21. 21.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns. Addison-Wesley, Reading (1995)Google Scholar
  22. 22.
    Schulz, S., Blochinger, W., Hannak, H.: Capability-aware information aggregation in Peer-to-Peer Grids–methods, architecture, and implementation. J. Grid Comput. 7(2), 135–167 (2009). doi: 10.1007/s10723-008-9114-z CrossRefGoogle Scholar
  23. 23.
    Skeen, D., Stonebraker, M.: A formal model of crash recovery in a distributed system. IEEE Trans. Softw. Eng. 9(3), 219–228 (1983)Google Scholar
  24. 24.
    Dijkstra, E.W., Feijen, W.H.J., van Gasteren, A.J.M.: Derivation of a termination detection algorithm for distributed computations. In: Proc. of the NATO Advanced Study Institute on Control flow and data flow: concepts of distributed programming, pp. 507–512. Springer, New York (1986)Google Scholar
  25. 25.
    Traversat, B., Arora, A., Abdelaziz, M., Duigou, M., Haywood, C., Hugly, J.C., Pouyoul, E., Yeager, B.: Project JXTA 2.0 Super-Peer virtual network. Technical report, Sun Microsystems (2003)Google Scholar
  26. 26.
    Birman, K.P., Hayden, M., Ozkasap, O., Xiao, Z., Budiu, M., Minsky, Y.: Bimodal multicast. ACM Trans. Comput. Syst. 17(2), 41–88 (1999)CrossRefGoogle Scholar
  27. 27.
    Özkasap, Ö., Birman, K.P.: Throughput stability of reliable multicast protocols. In: ADVIS ’00: Proceedings of the First International Conference on Advances in Information Systems, pp. 159–169. Springer, London (2000)Google Scholar
  28. 28.
    Cheriton, D.R., Skeen, D.: Understanding the limitations of causally and totally ordered communication SIGOPS Oper. Syst. Rev. 27(5), 44–57 (1993)Google Scholar
  29. 29.
    Piantoni, R., Stancescu, C.: Implementing the swiss exchange trading system. In: FTCS ’97: Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS ’97), pp. 309–313. IEEE, Washington, DC (1997)CrossRefGoogle Scholar
  30. 30.
    Floyd, S., Jacobson, V., Liu, C.G., McCanne, S., Zhang, L.: A reliable multicast framework for light-weight sessions and application level framing. IEEE/ACM Trans. Netw. 5(6), 784–803 (1997)CrossRefGoogle Scholar
  31. 31.
    Liu, C.-G.: Error recovery in scalable reliable multicast. PhD thesis, University of Southern California, Los Angeles (1997)Google Scholar
  32. 32.
    Lucas, M.T.: Efficient data distribution in large-scale multicast networks. PhD thesis, Pennsylvania State University (1998)Google Scholar
  33. 33.
    Coplien, J.O., Schmidt, D.C. (eds.): Pattern Languages of Program Design, Chapter Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching, pp. 529–545. ACM/Addison-Wesley, New York (1995)Google Scholar
  34. 34.
    Sun, Y., Wang, C.L.: Solving irregularly structured problems based on distributed object model. Parallel Comput. 29(11–12), 1539–1562 (2003)CrossRefGoogle Scholar
  35. 35.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    van Nieuwpoort, R.V., Kielmann, T., Bal H.E.: Efficient load balancing for wide-area divide-and-conquer applications. In: PPoPP ’01: Proceedings of the Eight ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, pp. 34–43. ACM, New York (2001)CrossRefGoogle Scholar
  37. 37.
    Gkantsidis, C., Mihail, M., Saberi, A.: Hybrid search schemes for unstructured Peer-to-Peer networks. In: INFOCOM, pp. 1526–1537. IEEE, Piscataway (2005)Google Scholar
  38. 38.
    Lv, Q., Cao, P., Cohen, E., Li, K., Shenker, S.: Search and replication in unstructured Peer-to-Peer networks. In: ICS ’02: Proceedings of the 16th International Conference on Supercomputing, pp. 84–95. ACM, New York (2002)CrossRefGoogle Scholar
  39. 39.
    Crespo, A., Molina, H.G.: Routing indices for Peer-to-Peer systems. In: ICDCS ’02: Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS’02), pp 23–32. IEEE, Washington, DC (2002)CrossRefGoogle Scholar
  40. 40.
    Datta, A., Hauswirth, M., John, R., Schmidt, R., Aberer, K.: Range queries in trie-structured overlays. In: P2P ’05: Proceedings of the Fifth IEEE International Conference on Peer-to-Peer Computing, pp. 57–66. IEEE, Washington, DC (2005)CrossRefGoogle Scholar
  41. 41.
    Ratnasamy, S., Hellerstein, J.M., Shenker, S.: Range queries over DHTs. Technical Report IRB-TR-03-009, Intel Research, Berkley (2003)Google Scholar
  42. 42.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable Peer-to-Peer lookup service for internet applications. In: SIGCOMM ’01: Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pp. 149–160. ACM, New York (2001)CrossRefGoogle Scholar
  43. 43.
    Yalagandula, P., Dahlin, M.: A scalable distributed information management system. In: SIGCOMM ’04: Proceedings of the 2004 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pp. 379–390. ACM, New York (2004)CrossRefGoogle Scholar
  44. 44.
    Gomez, P., Aston, P.: The Grinder V3.0. (07/16/2008) (2008)
  45. 45.
    Kondo, D., Taufer, M., Brooks, C.L., Casanova, H., Chien, A.A.: Characterizing and evaluating desktop Grids: an empirical study. In: Proc. of International Parallel and Distributed Processing Symposium, pp. 26–35, Sante Fe (2004)Google Scholar
  46. 46.
    Antoniu, G., Hatcher, P., Jan, M., Noblet, D.A.: Performance evaluation of jxta communication layers. In: Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid’05), pp. 251–258. IEEE, Washington, DC (2005)Google Scholar
  47. 47.
    Zhao, B.Y., Huang, L., Stribling, J., Rhea, S.C., Joseph, A.D., Kubiatowicz, J.D.: Tapestry: a global-scale overlay for rapid service deployment. IEEE J. Sel. Areas Commun. 22, 41–53 (2003)CrossRefGoogle Scholar
  48. 48.
    Rowstron, A.I.T., Druschel, P.: Pastry: scalable, decentralized object location, and routing for large-scale Peer-to-Peer systems. In: Middleware ’01: Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg, pp. 329–350. Springer, London (2001)Google Scholar
  49. 49.
    Boykin, P.O., Bridgewater, J.S.A., Kong, J.S., Lozev, K.M., Rezaei, B,A., Roychowdhury, V.P.: A symphony conducted by brunet. Computing Research Repository (CoRR). arXiv:0709.4048v1 (2007)
  50. 50.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Schenker, S.: A scalable content-addressable network. In SIGCOMM ’01: Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pp. 161–172. ACM, New York (2001)CrossRefGoogle Scholar
  51. 51.
    Halepovic, E., Deters, R.: The costs of using jxta. In: Proceedings of the 3rd International Conference on Peer-to-Peer Computing, pp. 160–167. IEEE, Washington, DC (2003)Google Scholar
  52. 52.
    Seigneur, J.M.: JXTA pipe performance. (06/08/2009) (2009)
  53. 53.
    Burbeck, K., Garpe, D., Nadjm-Tehrani, S.: Scale-up and performance studies of three agent platforms. In: IEEE International Conference on Performance, Computing and Communications, pp. 857–863 (2004)Google Scholar
  54. 54.
    Antoniu, G., Cudennec, L., Jan, M., Duigou, M.: Performance scalability of the jxta p2p framework. In: Proc. of the International Symposium on Parallel and Distributed Processing (IPDPS 2007), pp. 109–118. IEEE, Los Alamitos, Los Alamitos, CA, USA (2007)Google Scholar
  55. 55.
    Rattanapoka, C.: P2P-MPI: a fault-tolerant message passing interface implementation for Grids. Ph.D. thesis, University Louis Pasteur Strasbourg (2008)Google Scholar
  56. 56.
    Wang, I.: P2PS (Peer-to-Peer Simplified). In: Proceedings of 13th Annual Mardi Gras Conference—Frontiers of Grid Applications and Technologies, pp. 54–59. Louisiana State University (2005)Google Scholar
  57. 57.
    Lima, A., Cirne, W., Brasileiro, F.B., Fireman D.: A Case for Event-Driven Distributed Objects. In: OTM Conferences (2), pp. 1705–1721 (2006)Google Scholar
  58. 58.
    Tsaregorodtsev, A., Garonne, V., Stokes-Rees, I.: Dirac: a scalable lightweight architecture for high throughput computing. In: GRID ’04: Proceedings of the Fifth IEEE/ACM International Workshop on Grid Computing, pp. 19–25. IEEE, Washington, DC (2004)CrossRefGoogle Scholar
  59. 59.
    Milowski, R.A.: Computing for the mathematical sciences with xml web services and p2p. In: XML 2005, Atlanta (2005)Google Scholar
  60. 60.
    Milowski, R.A.: Xeerkat—a P2P computing framework over XMPP. (06/08/2009) (2009)
  61. 61.
    Norbisrath, U., Kraaner, K., Vainikko, E., Batrasev, O.: Friend-to-friend computing—instant messaging based spontaneous desktop Grid. In: Proc. of the Third International Conference on Internet and Web Applications and Services (ICIW’08), pp. 245–256. IEEE, Los Alamitos (2008)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  • Sven Schulz
    • 1
    Email author
  • Wolfgang Blochinger
    • 1
  • Mathias Poths
    • 2
  1. 1.Institute of Parallel and Distributed Systems (IPVS)University of StuttgartStuttgartGermany
  2. 2.Accenture Technology Solutions AGZurichSwitzerland

Personalised recommendations