Journal of Computer Science and Technology

, Volume 26, Issue 4, pp 600–615 | Cite as

A Programming Language Approach to Internet-Based Virtual Computing Environment

Regular Paper


There is an increasing need to build scalable distributed systems over the Internet infrastructure. However, the development of distributed scalable applications suffers from lack of a wide accepted virtual computing environment. Users have to take great efforts on the management and sharing of the involved resources over Internet, whose characteristics are intrinsic growth, autonomy and diversity. To deal with this challenge, Internet-based Virtual Computing Environment (iVCE) is proposed and developed to serve as a platform for distributed scalable applications over the open infrastructure, whose kernel mechanisms are on-demand aggregation and autonomic collaboration of resources. In this paper, we present a programming language for iVCE named Owlet. Owlet conforms with the conceptual model of iVCE, and exposes the iVCE to application developers. As an interaction language based on peer-to-peer content-based publish/subscribe scheme, Owlet abstracts the Internet as an environment for the roles to interact, and uses roles to build a relatively stable view of resources for the on-demand resource aggregation. It provides language constructs to use 1) distributed event driven rules to describe interaction protocols among different roles, 2) conversations to correlate events and rules into a common context, and 3) resource pooling to do fault tolerance and load balancing among networked nodes. We have implemented an Owlet compiler and its runtime environment according to the architecture of iVCE, and built several Owlet applications, including a peer-to-peer file sharing application. Experimental results show that, with iVCE, the separation of resource aggregation logic and business logic significantly eases the process of building scalable distributed applications.


distributed architecture distributed programming on demand aggregation virtual computing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Supplementary material

11390_2011_1160_MOESM1_ESM.pdf (136 kb)
(PDF 136 kb)


  1. [1]
    Gong L. JXTA: A network programming environment. IEEE Internet Computing, 2001, 5(3): 88–95.CrossRefGoogle Scholar
  2. [2]
    Lu X, Wang H, Wang J. Internet-based virtual computing environment (iVCE): Concepts and architecture. Science in China Series F, 2006, 49(6): 681–701.CrossRefGoogle Scholar
  3. [3]
    Alves A, Arkin A et al. Web services business process execution language version 2.0. OASIS Standard, 2007.Google Scholar
  4. [4]
    Florescu D, Grünhagen A, Kossmann D. XL: An XML programming language for Web service specification and composition. Computer Networks, 2003, 42(5): 641–660.MATHCrossRefGoogle Scholar
  5. [5]
    Jennings N R. An agent-based approach for building complex software systems. Comm. ACM, 2001, 44(4): 35–41.CrossRefGoogle Scholar
  6. [6]
    Platon E, Mamei M, Sabouret N, Honiden S, Parunak H V D. Mechanisms for environments in multi-agent systems: Survey and opportunities. Autonomous Agents and Multi-Agent Systems, 2007, 14(1): 31–47.CrossRefGoogle Scholar
  7. [7]
    Desai N, Mallya A U, Chopra A K, Singh M P. Interaction protocols as design abstractions for business processes. IEEE Trans. Software Engineering, 2005, 31(12): 1015–1027.CrossRefGoogle Scholar
  8. [8]
    Doi T, Tahara Y, Honiden S. IOM/T: An interaction description language for multi-agent systems. In Proc. the 4th Int. Joint Conf. Autonomous Agent and Multi-Agent Systems (AAMAS2005), Utrecht, The Netherlands, Jul. 25–29, 2005, pp.778-785.Google Scholar
  9. [9]
    Androutsellis-Theotokis S, Spinellis D. A survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 2004, 36(4): 335–371.CrossRefGoogle Scholar
  10. [10]
    Eugster P, Felber P, Guerraoui R, Kermarrec A. The many faces of publish/subscribe. ACM Computing Surveys, 2003, 35(2): 114–131.CrossRefGoogle Scholar
  11. [11]
    Clark J, DeRose S. XML path language (XPath) version 1.0, W3C Recommendation, 1999.Google Scholar
  12. [12]
    Shen R, Wang J, Zhang S, Shen S, Fan P. A framework for constructing peer-to-peer overlay networks in Java. In Proc. 7th Int. Conf. Principles and Practice of Programming in Java (PPPJ 2009), Calgary, Canada, Aug. 27–28, 2009, pp 40–48.Google Scholar
  13. [13]
    Stoica I, Morris R, Karger D, Kaashoek M F, Balakrishnan H. Chord: A scalable peer-to-peer lookup service for Internet applications. In Proc. Conf. Applications, Technologies, Architectures, and Protocols for Computer Comm. (SIGCOMM2001), San Diego, USA, Aug. 27–31, 2001, pp.149–160.Google Scholar
  14. [14]
    Li D, Lu X, Wu J. FISSIONE: A scalable constant degree and low congestion DHT scheme based on Kautz graphs. In Proc. 24th Annual Joint Conf. of the IEEE Computer and Comm. Societies (INFOCOMM2005), Philadelphia, USA, Aug. 22–26, 2005, pp.1677–1688.Google Scholar
  15. [15]
    Zhu Y, Hu Y. Ferry: A P2P-based architecture for content-based publish/subscribe services. IEEE Trans. Parallel and Distributed Systems, 2007, 18(5): 672–685.CrossRefMathSciNetGoogle Scholar
  16. [16]
    Zhang S, Wang J, Shen R, Xu J. Towards building efficient content-based publish/subscribe systems over structured P2P overlays. In Proc. the 39th Int. Conf. Parallel Processing (ICPP 2010), San Diego, USA, Sept. 13–16, 2010, pp.258–266.Google Scholar
  17. [17]
    Welsh M, Culler D, Brewer E. SEDA: An architecture for well-conditioned, scalable internet services. In Proc. ACM Symposium on Operating Systems Principles (SOSP 2001), Banff, Canada, Oct. 21–24, 2001, pp.230–243.Google Scholar
  18. [18]
    Killian C, Anderson J W, Braud R, Jhala R, Vahdat A. Mace: Language support for building distributed systems. In Proc. 2007 ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI 2007), San Diego, USA, Jun. 10-13, 2007, pp.179–188.Google Scholar
  19. [19]
    Paurobally S, Jennings N R. Protocol engineering for web services conversations. Engineering Applications of Artificial Intelligence, 2005, 18(2): 237–254.CrossRefGoogle Scholar
  20. [20]
    Cooney D, Dumas M, Roe P. GPSL: A programming language for service implementation. In Proc. the 9th Int. Conf. Fundamental Approaches to Software Engineering (FASE 2006), Vienna, Austria, Mar. 27–28, 2006, pp.3–17.Google Scholar
  21. [21]
    Huhns M N. Interaction-oriented programming. In Proc. 1st Int. Workshop on Agent Oriented Software Engineering (AOSE 2000), Limerick, Ireland, Jun. 10, 2000, pp.29–44.Google Scholar
  22. [22]
    Wang J, Shen R, Zhu H. Agent-oriented programming based on SLABS. In Proc. the 29th Annual Int. Computer Software and Applications Conf. (COMPSAC2005), Edinburgh, UK, Jul. 25–28, 2005, pp.127–132.Google Scholar
  23. [23]
    Kaneko Y, Harumoto K et al. A location-based peer-to-peer network for context-aware services in a ubiquitous environment. In Proc. 2005 IEEE/IPSJ Int. Symp. Applications and the Internet (SAINT 2005) Workshops, Trento, Italy, Jan. 31-Feb. 4, 2005, pp.208–211.Google Scholar
  24. [24]
    Busetta P, Dona A, Nori M. Channeled multicast for group communications. In Proc. the 1st Int. Joint Conf. Autonomous Agents and Multi Agent Systems (AAMAS2002), Bologna, Italy, Jul. 15–19, 2002, pp.1280–1287.Google Scholar
  25. [25]
    Anderson D P. BOINC: A system for public-resource computing and storage. In Proc. the 5th Int. Workshop on Grid Computing (GRID 2004), Pittsburgh, USA, 2004, pp.4–10.Google Scholar
  26. [26]
    Caromel D, di Costanzo A, Mathieu C. Peer-to-peer for computational grids: Mixing clusters and desktop machines. Parallel Computing, 2007, 33(4/5): 275–288.CrossRefGoogle Scholar
  27. [27]
    Zheng Z, Lyu M R. WS-DREAM: A distributed reliability assessment mechanism for Web services. In Proc. the 38th Annual IEEE/IFIP Int. Conf. Dependable Systems and Networks (DSN2008), Anchorage, USA, Jun. 24–27, 2008, pp.392–397.Google Scholar

Copyright information

© Springer Science+Business Media, LLC & Science Press, China 2011

Authors and Affiliations

  1. 1.National Laboratory for Parallel and Distributed Processing, School of ComputerNational University of Defense TechnologyChangshaChina

Personalised recommendations