Grid services framework
First Claim
1. A method for providing computational services to a client using a grid-based distributed computing system, the system including a plurality of engines and at least one grid manager, the method comprising:
- deploying executable code corresponding one or more service(s) such that the engines can access the executable code;
registering the service(s) with the manager;
creating instance(s) of the service(s) that may be invoked by the client; and
, using one or more of the instance(s) to invoke one or more of the registered service(s), wherein invoking a service comprises;
communicating a service request to the manager;
using the manager to assign the service request to an available engine; and
, executing code corresponding to the requested service on the assigned engine.
13 Assignments
0 Petitions
Accused Products
Abstract
A service-oriented framework allows client applications to access computational services hosted on a distributed computing grid. Services facilitate remote, parallel execution of code in a way that is scalable, fault-tolerant, dynamic and language-independent. Services can be written in a variety of languages, and do not need to be compiled or linked with vendor-supplied code. A client written in one language can invoke a Service written in another. A benefit of the invention over traditional approaches is that it virtualizes the Service. Rather than send a request directly to the remote machine hosting the Service, a client request is sent to a manager, which enqueues it until an Engine is available. The first Engine to dequeue the request hosts the Service. This mechanism, in which a single virtual Service instance (the client-side object) is implemented by one or more physical instances (Engine processes), provides for fault tolerance and essentially unlimited scalability.
-
Citations
34 Claims
-
1. A method for providing computational services to a client using a grid-based distributed computing system, the system including a plurality of engines and at least one grid manager, the method comprising:
-
deploying executable code corresponding one or more service(s) such that the engines can access the executable code;
registering the service(s) with the manager;
creating instance(s) of the service(s) that may be invoked by the client; and
,using one or more of the instance(s) to invoke one or more of the registered service(s), wherein invoking a service comprises;
communicating a service request to the manager;
using the manager to assign the service request to an available engine; and
,executing code corresponding to the requested service on the assigned engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for providing a client with a flexible, service-oriented computing environment using a computing grid, the method comprising:
-
invoking a grid manager to create client-side instances of stateless services;
invoking the grid manager to create client-side instances of stateful services;
using one or more of the client-side instances to invoke stateless services on one or more manager-assigned engines; and
,using one or more of the client-side instances to invoke stateful services on one or more manager-assigned engines. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method of deploying and invoking a stateful service on a grid computing platform, the method comprising:
-
deploying service code so as to be accessible to engines in the grid computing platform;
generating a service proxy corresponding to the deployed service code;
configuring the proxy to include state update information for each stateful method associated with the service code; and
,using the proxy to synchronously and/or asynchronously invoke stateful methods associated with the service code, whereby the proxy'"'"'s state update information is used, as needed, to maintain coherent state information between nodes of the grid computing platform. - View Dependent Claims (34)
-
Specification