Service framework for a distributed object network system
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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A distributed object network system comprising:
a first computer; a service residing on the first computer, the service providing access to a limited resource that resides on the first computer; a service framework; wherein the service framework further comprises:
a first set of computer instructions executed by the first computer, the first set of computer instructions providing access to the requested 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.
2 . The apparatus of claim 1 further comprising:
a second computer;
a network connecting the second computer to the first computer,
wherein the service framework further comprises:
a second set of computer instructions executed by the second computer, the second set of computer instructions requesting a service from the first computer.
3 . The apparatus of claim 2 further comprising:
a third set of computer instructions executed by a third computer, the third set of computer instructions providing central management and configuration for administering distributed applications.
4 . The apparatus of claim 2 wherein the service framework further comprises:
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.
5 . The apparatus of claim 4 wherein the service framework further comprises:
a third set of computer instructions executed by the second computer, the third set of computer instructions providing an object reference to 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.
6 . The apparatus of claim 2 wherein the service framework further comprises:
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.
7 . The apparatus of claim 2 wherein the second set of computer instructions comprises methods exported by an interface of the worker.
8 . The apparatus of claim 2 wherein the second set of computer instructions further comprises:
obtaining an object reference to the 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.
9 . The apparatus of claim 8 wherein the first set of computer instructions further comprises:
allocating reservations among at least two workers in the worker pool for the service.
10 . The apparatus of claim 9 wherein the first set of computer instructions further comprises:
balancing the workload among the workers in the worker pool by providing 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.
11 . The apparatus of claim 10 wherein the second set of computer instructions further comprises:
providing a reservation context that comprises a client key, a worker key, and a service key.
12 . The apparatus of claim 11 wherein the service framework is implemented as CORBA extensions.
13 . The apparatus of claim 12 wherein the second computer further comprises:
a web browser.
14 . The apparatus of claim 13 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.
15 . The apparatus of claim 14 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.
16 . 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 the worker pool for the service, 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.
17 . The computer implemented method of claim 16 wherein the step of 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.
18 . The computer implemented method of claim 16 further comprising:
executing a third set of computer instructions in the second computer, the third set of computer instructions providing workload balancing among instances of the service locator, wherein the service locator provides an object reference to the first set of computer instructions.
19 . The computer implemented method of claim 16 wherein the step of 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.
20 . The computer implemented method of claim 19 wherein the step of executing the first set of computer instructions further comprises:
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.
21 . 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; and
a load balancing manager that balances workloads among the plurality of workers in the worker pool for the service.
22 . The computer-readable medium as in claim 21 wherein the service framework software further comprises:
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.
23 . The computer-readable medium as in claim 21 wherein the service framework software further comprises:
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.
24 . Computer data signals embodied in a carrier wave comprising:
an allocate worker interface in Internet Inter-ORB Protocol (IIOP) from a service proxy object to a service object, the service object residing on a first computer and providing access to a limited resource on the first computer, and the service proxy object residing on a second computer and encapsulating the operation of requesting a service, wherein the allocate worker interface comprises service properties and a reservation context; and an execute request interface in IIOP from the service proxy object to an allocated worker object that resides on the first computer, wherein the allocated worker object executes service requests.
25 . The computer data signals as in claim 24 wherein the allocate worker interface in IIOP further comprises:
a worker hint in the reservation context, wherein the worker hint comprises an object reference of a worker that was previously reserved by the second computer.Join the waitlist — get patent alerts
Track US2001010053A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.