Grid computing is a method of harnessing the power of many computational resources in a network. Grid computing is a distributed computer infrastructure involving large-scale sharing applications and/or high performance processing and network bandwidth.
Referring to FIG. 1, a grid computing environment comprising a plurality of heterogeneous computing nodes distributed across multiple administrative domains. A virtual organization (e.g., VO-X, VO-Y, and VO-Z) may include nodes from different domains. For example, VO-Z includes nodes from each of Administrative Domains 110, 120, and 130.
A node (hereinafter also referred to as a computing resource) may be a member of several virtual organizations. An end-user (e.g., USER M, USER N, or USER O) may need to access remote nodes either in the same administrative domain, or across domains. For example, User O may access VO-Y from within Domain 120, or User N within Domain 130 may access the same node from outside of Domain 120. Similarly, User M of Domain 130 may access both VO-Y and VO-Z through a single node in Domain 110.
Traditionally, grid computing has provided for the execution of batch jobs in the scientific and academic community. Batch execution on a grid computing environment requires authentication, authorization, resource access, resource discovery, and other services. In support of batch processing of jobs on a grid computing environment, protocols, services, application programming interfaces, and software development kits have been developed. The conventional method and system are not particularly suited for interactive grid computing sessions.
In a grid computing environment, security can be a concern. As a result, a grid computing service, providing access to desktops for use, may reside behind a firewall. In addition, a user that is accessing a grid computing resource, may reside behind another firewall. Conventional methods for providing grid computing resources cannot traverse firewalls and provide a secure connection simultaneously.
Port forwarding can be used to traverse firewalls between organizations. In this solution a third party host is needed between firewalls which is accessible from both organizations. Both organizations need to connect to this bridge host to open a tunnel.
This solution may be fine for academic settings, but in commercial environments, the client may not want to go over an intermediate bridge for connecting to the ASP. Also, bridge host needs to be especially set up in order to do port forwarding.
A grid computing infrastructure that can hide the complexities of resource management from the user and that can provide secure graphical and multimedia interactive sessions is needed.