Skip to main content
Log in

A Programming Language Approach to Internet-Based Virtual Computing Environment

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Gong L. JXTA: A network programming environment. IEEE Internet Computing, 2001, 5(3): 88–95.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  3. Alves A, Arkin A et al. Web services business process execution language version 2.0. OASIS Standard, 2007.

  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.

    Article  MATH  Google Scholar 

  5. Jennings N R. An agent-based approach for building complex software systems. Comm. ACM, 2001, 44(4): 35–41.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

  9. Androutsellis-Theotokis S, Spinellis D. A survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 2004, 36(4): 335–371.

    Article  Google Scholar 

  10. Eugster P, Felber P, Guerraoui R, Kermarrec A. The many faces of publish/subscribe. ACM Computing Surveys, 2003, 35(2): 114–131.

    Article  Google Scholar 

  11. Clark J, DeRose S. XML path language (XPath) version 1.0, W3C Recommendation, 1999.

  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.

  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.

  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.

  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.

    Article  MathSciNet  Google Scholar 

  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.

  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.

  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.

  19. Paurobally S, Jennings N R. Protocol engineering for web services conversations. Engineering Applications of Artificial Intelligence, 2005, 18(2): 237–254.

    Article  Google Scholar 

  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.

  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.

  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.

  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.

  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.

  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.

  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.

    Article  Google Scholar 

  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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ji Wang.

Additional information

Supported by the National Basic Research 973 Program of China under Grant Nos. 2005CB321800 and 2011CB302600, and the National Natural Science Foundation of China under Grant Nos. 90612009, 60725206 and 60625203.

Electronic Supplementary Material

Below is the link to the electronic supplementary material.

(PDF 136 kb)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, J., Shen, R. & Wang, HM. A Programming Language Approach to Internet-Based Virtual Computing Environment. J. Comput. Sci. Technol. 26, 600–615 (2011). https://doi.org/10.1007/s11390-011-1160-5

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-011-1160-5

Keywords

Navigation