Engineering an interoperable computational collaboratory on the Grid
Concurrency and Computation
The growth of the Internet and the advent of the computational Grid have made it possible to develop and deploy advanced computational collaboratories. These systems build on high-end computational resources, communication technologies and enabling services underlying the Grid, and provide seamless and collaborative access to resources, applications and data. Combining these focused collaboratories and allowing them to interoperate has many advantages and can lead to truly collaborative,
... sciplinary and multi-institutional problem solving. However, integrating these collaboratories presents significant challenges, as each of these collaboratories has a unique architecture and implementation, and builds on different enabling technologies. This paper investigates the issues involved in integrating collaboratories operating on the Grid. It then presents the design and implementation of a prototype middleware substrate to enable a peer-to-peer integration of and global access to multiple, geographically distributed instances of the DISCOVER computational collaboratory. An experimental evaluation of the middleware substrate is presented. Although interoperability has been identified as a central issue for Grid based systems in previous work [2, 28, 34, 35] , there has been limited progress towards achieving this goal. This is particularly true in the case of computational collaboratories. Although, there have been specific efforts aimed at bilateral sharing and interoperability such as those between Ninf  and NetSolve , these have been made possible because of joint development efforts by their respective development teams. These efforts only further highlight the benefits and significance of interoperability and the need for having a general solution for interoperability. The Collaboratory Interoperability Framework (CIF) Project  addresses the interoperability problem by proposing a common communication API that can be used by collaboratory developers to build tools for collaboration such as videoconferencing, text-based collaboration through chat, whiteboard and electronic notebooks. The idea is that, since these tools will use a common communication API that hides the details of the underlying protocol used, they should be able to interoperate with each other. While this approach can provide low-level interoperability at the communication layer, collaboratories will continue to build customized services on top of this layer and cease to be interoperable.