A Programming Language Approach to Internet-Based Virtual Computing Environment |
| |
Authors: | Ji Wang Rui Shen Huai-Min Wang |
| |
Affiliation: | (1) National Laboratory for Parallel and Distributed Processing, School of Computer, National University of Defense Technology, Changsha, 410073, China |
| |
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. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|