Service framework for a distributed object network system
First Claim
Patent Images
1. A distributed object network system comprising:
- a first computer;
a second computer;
a network connecting the second computer to the first computer;
a service residing on the first computer, the service providing access to a limited resource that resides on the first computer; and
a service framework comprising;
a first set of computer instructions executed by the first computer, the first set of computer instructions providing access to the service by allocating a worker in a worker pool for the service in response to a service request, wherein the worker executes the service request, and the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service;
a second set of computer instructions executed by the second computer, the second set of computer instructions requesting said service from the first computer; and
a service locator executed by the first computer, the service locator providing an object reference to the first set of computer instructions in response to a get service operation from the second set of computer instructions, wherein the service locator provides workload balancing among instances of the service.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved method and apparatus for providing a service framework for a distributed object network system are provided. In some embodiments, an apparatus that includes a server, a service for a limited resource residing on the server, and a pool of workers for the service that execute service requests from a client in a distributed object network system is provided. In some embodiments, a method that includes providing client-side service request encapsulation, balancing workloads among clones of service locators, clones of services, and workers in a worker pool of a service, and improving fault tolerance in a distributed object network system is provided.
281 Citations
16 Claims
-
1. A distributed object network system comprising:
-
a first computer;
a second computer;
a network connecting the second computer to the first computer;
a service residing on the first computer, the service providing access to a limited resource that resides on the first computer; and
a service framework comprising;
a first set of computer instructions executed by the first computer, the first set of computer instructions providing access to the service by allocating a worker in a worker pool for the service in response to a service request, wherein the worker executes the service request, and the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service;
a second set of computer instructions executed by the second computer, the second set of computer instructions requesting said service from the first computer; and
a service locator executed by the first computer, the service locator providing an object reference to the first set of computer instructions in response to a get service operation from the second set of computer instructions, wherein the service locator provides workload balancing among instances of the service. - View Dependent Claims (2)
a third set of computer instructions executed by the second computer, the third set of computer instructions providing an object reference to an instance of the service locator in response to a find service operation from the second set of computer instructions, wherein the third set of computer instructions provides workload balancing among instances of the service locator.
-
-
3. A distributed object network system comprising:
-
a first computer;
a second computer;
a network connecting the second computer to the first computer;
a service residing on the first computer, the service providing access to a limited resource thelt resides on the first computer; and
a service framework comprising;
a first set of computer instructions executed by the first computer, the first set of computer instructions providing access to the service by allocating a worker in a worker pool for the service in response to a service request, wherein the worker executes the service request, and the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service;
a second set of computer instructions executed by the second computer, the second set of computer instructions requesting said service from the first computer; and
a third set of computer instructions executed by the first computer, the third set of computer instructions instantiating the second set of computer instructions and registering the service with a service locator, wherein the service locator is executed by the first computer and provides an object reference to the first set of computer instructions in response to a get service operation from the second set of computer instructions.
-
-
4. A distributed object network system comprising:
-
a first computer;
a second computer;
a network connecting the second computer to the first computer;
a service residing on the first computer, the service providing access to a limited resource that resides on the first computer; and
a service framework comprising;
a first set of computer instructions executed by the first computer, the first set of computer instructions providing access to the service by allocating a worker in a worker pool for the service in response to a service request, wherein the worker executes the service request, and the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service; and
a second set of computer instructions executed by the second computer, the second set of computer instructions requesting said service from the first computer, wherein the second set of computer instructions further comprises;
obtaining an object reference to a service locator;
obtaining the object reference to the requested service;
obtaining a reservation on the worker in the worker pool for the requested service; and
executing the service request on the worker in the worker pool for the requested service. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
allocating reservations among at least two workers in the worker pool for the service.
-
-
6. The system of claim 5 wherein the first set of computer instructions further comprises:
balancing the workload among the workers in the worker pool by providing at least two quetles that each comprise workers that have various properties, wherein each queue comprises a sub-queue that comprises workers that have various priorities.
-
7. The system of claim 6 wherein the second set of computer instructions further comprises:
providing a reservation context that comprises a client key, a worker key, and service key.
-
8. The system of claim 7 wherein the service framework is implemented as CORBA extensions.
-
9. The system of claim 8 wherein the second computer further comprises:
a web browser.
-
10. The system of claim 9 wherein the service framework provides session management for a connection between the first set of computer instructions and the second set of computer instructions during a worker reservation.
-
11. The system of claim 10 wherein the second computer further comprises:
a JAVA applet executed by the second computer, wherein the second set of computer instructions provides the service request in Internet Inter-ORB Protocol (IIOP) to the first set of computer instructions.
-
12. A computer implemented method for providing a service framework in a distributed object network system, the method comprising:
-
executing a first set of computer instructions in a first computer, the first set of computer instructions providing access to a service by allocating a worker in a worker pool for the service in response to a service request, wherein the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service, and the service provides access to a limited resource that resides on the first computer; and
executing a second set of computer instructions in a second computer, the second set of computer instructions encapsulating the operation of performing a service request for the second computer, wherein the second computer connects to the first computer over a network and further wherein said executing the second set of computer instructions further comprises;
finding the requested service using a service locator, wherein the service locator provides an object reference to the first set of computer instructions;
obtaining an allocated worker in the worker pool for the requested service, wherein the allocated worker is selected and reserved by the first set of computer instructions, and the allocated worker executes service requests;
receiving results of the service request from the allocated worker; and
passing the results of the service request to the second computer.
-
-
13. A computer implemented method for providing a service framework in a distributed object network system, the method comprising:
-
executing a first set of computer instructions in a first computer, the first set of computer instructions providing access to a service by allocating a worker in a worker pool for the service in response to a service request, wherein the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service, and the service provides access to a limited resource that resides on the first computer;
executing a second set of computer instructions in a second computer, the second set of computer instructions encapsulating the operation of performing a service request for the second computer, wherein the second computer connects to the first computer over a network; and
executing a third set of computer instructions in the second computer, the third set of computer instructions providing workload balancing among instances of a service locator, wherein the service locator provides an object reference to the first set of computer instructions.
-
-
14. A computer implemented method for providing a service framework in a distributed object network system, the method comprising:
-
executing a first set of computer instructions in a first computer, the first set of computer instructions providing access to a service by allocating a worker in a worker pool for the service in response to a service request, wherein the first set of computer instructions provides workload balancing among a plurality of workers in the worker pool for the service, and the service provides access to a limited resource that resides on the first computer;
executing a second set of computer instructions in a second computer, the second set of computer instructions encapsulating the operation of performing a service request for the second computer, wherein the second computer connects to the first computer over a network and further wherein said executing the first set of computer instructions further comprises;
allocating reservations among at least two workers in the worker pool for the service based on worker statistics; and
providing a load balancing manager that comprises at least two queues that each comprise workers that have various properties, wherein each queue comprises a sub-queue that comprises workers that have various priorities.
-
-
15. A computer-readable medium comprising software for a service framework for a distributed object network system, the service framework software comprising:
-
a set of objects, the set of objects providing access to a service, the service providing access to a limited resource residing on a first computer, wherein the set of objects further comprises;
a plurality of workers in a worker pool for the service;
a load balancing manager that balances workloads among the plurality of workers in the worker pool for the service; and
a service proxy object, the service proxy object encapsulating, for a second computer, the operation of a service request to the set of objects, wherein the second computer connects to the first computer over a network.
-
-
16. A computer-readable medium comprising software for a service framework for a distributed object network system, the service framework software comprising:
-
a set of objects, the set of objects providing access to a service, the service providing access to a limited resource residing on a first computer, wherein the set of objects further comprises;
a plurality of workers in a worker pool for the service;
a load balancing manager that balances workloads among the plurality of workers in the worker pool for the service; and
a service proxy locator object, the service proxy locator object providing workload balancing among instances of a service locator, wherein the service locator provides an object reference to the set of objects and balances workloads among instances of the requested service.
-
Specification