1. Introduction
Many recent efforts in distributed computing are aimed at developing general-purpose distributed computing infrastructures, providing integrated security, availability, scalability, reliability, and manageability for general distributed computing applications. Examples of infrastructures exploring general distributed computing are Charlotte [1], Javalin/Javalin++ [13], [14], HARNESS [2], Legion [10], and Globus [7]. These infrastructures address the technologies needed to build computational grids [8]. Grids are persistent environments that enable software applications to integrate instruments, displays, computational and information resources that are managed by diverse organizations.