Methods and apparatus for conspiracy between objects
First Claim
1. A computer implemented service arranged to reside within a server process executed on a computer that is arranged to be a part of a distributed object environment based computing system, the service comprising:
- a conspiracy servant;
a plurality of conspirator objects, each conspirator object having an associated object reference and an associated skeleton, the conspirator objects being arranged to process collectively requests received from clients, the skeletons each being arranged to pass incoming client requests to the conspiracy servant; and
wherein the conspiracy servant is a arranged to provide the requested services that are requested of each of the conspirator objects and wherein the collective processing of the requests by the conspirator objects includes communication among the conspirator objects independent of the interfaces presented to the clients by the conspirator objects.
0 Assignments
0 Petitions
Accused Products
Abstract
A number of methods and apparatus are disclosed for providing a service in a distributed object operating environment. According to some embodiments of the present invention, methods and apparatus for providing a conspiracy among objects in a object operating environment are disclosed. In particular, conspiracies within a distributed object operating environment are contemplated. In general, the present invention teaches mechanisms by which a collection of objects can form a conspiracy wherein objects can both communicate behind the object interfaces and share all resources. In some embodiments, the collection of objects work together to provide a service to clients. According to one embodiment, the objects which are members of the conspiracy may be distributed objects located in separate processes. In some embodiments, objects which are members of the conspiracy are able to perform interactions with one another behind the interface (i.e. without having to communicate through the interface) and also share persistent state. Three specific embodiments of the present invention are described, these being (1) a shared servant conspiracy model, (2) a shared object conspiracy model, and (3) a hybrid object conspiracy model. Each of these embodiments incorporates the conspiracy concept of the present invention yet they each have particular advantages which will be apparent upon reading the detailed description of the figures.
149 Citations
22 Claims
-
1. A computer implemented service arranged to reside within a server process executed on a computer that is arranged to be a part of a distributed object environment based computing system, the service comprising:
-
a conspiracy servant; a plurality of conspirator objects, each conspirator object having an associated object reference and an associated skeleton, the conspirator objects being arranged to process collectively requests received from clients, the skeletons each being arranged to pass incoming client requests to the conspiracy servant; and wherein the conspiracy servant is a arranged to provide the requested services that are requested of each of the conspirator objects and wherein the collective processing of the requests by the conspirator objects includes communication among the conspirator objects independent of the interfaces presented to the clients by the conspirator objects. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer implemented service arranged to be a part of a distributed object environment based computing system, the service comprising:
-
a conspiracy object including a conspiracy skeleton and a conspiracy servant, the conspiracy object further being configured to communicate with associated conspirator objects independent of the interface presented by the conspiracy object to external clients of the conspiracy object; and a plurality of distributed conspirator objects, each distributed conspirator object having an associated conspirator object reference, an associated conspirator skeleton that is arranged to receive requests from clients, and an associated conspirator servant, the conspirator skeleton being arranged to pass incoming client requests directly to the conspirator servant, the conspirator servant knowing the object reference associated with the conspiracy object so that the conspiracy skeleton can make requests to the conspiracy servant; wherein the conspiracy object is arranged to provide the requested services that are requested of each of the conspirator objects by collective processing of such requested services in conjunction with the associated conspirator objects. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer implemented service arranged to reside within a server process executed on a computer that is arranged to be a part of a distributed object environment based computing system, the service comprising:
-
a conspiracy object including a conspiracy skeleton, a conspiracy servant, and a conspiracy engine, the conspiracy object further having an associated conspiracy object reference that permits access to the conspiracy skeleton and that is not accessible to external clients of the conspiracy object; and a plurality of distributed conspirator objects, each distributed conspirator object having an associated conspirator skeleton that is arranged to receive requests from clients, an associated conspirator object reference that permits access to the conspiracy skeleton and may be known by external clients, and an associated conspirator servant, the conspirator skeleton being arranged pass incoming client requests directly to the conspiracy servant, the conspiracy servant knowing the object reference associated with the conspiracy object so that the conspirator servant can make requests to the conspiracy object; and wherein the conspiracy servant is arranged to return a direct pointer to the conspiracy engine to the conspirator servants when a request is made to the conspiracy object such that the conspirator servants can communicate directly with the conspiracy engine to process thereby services requested of the conspiracy object from a client collectively without using elements of the interface of the conspiracy object that are accessible to the client. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer implemented method for providing a service to clients, the service being implemented within a server process, the method comprising the computer controlled steps of:
-
providing a conspiracy servant and a plurality of associated conspirator objects, each conspirator object including a corresponding conspirator skeleton and each conspirator object being configured to function in association with at least one other conspirator object without using the interface of the other conspirator object that is accessible to the clients; receiving at a first conspirator skeleton a first invocation request for a first conspirator object associated with the first conspirator skeleton; causing the first conspirator skeleton to directly invoke the conspiracy servant; returning a result directly from the conspiracy servant to a client that initiated the first conspirator invocation request; receiving at a second conspirator skeleton a second invocation request for a second conspirator object associated with the second conspirator skeleton, the first and second conspirator skeletons being distinct from one another; causing the second conspirator skeleton to directly invoke the conspiracy servant; and returning a result directly from the conspiracy servant to a client that initiated the second conspirator invocation request. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A computer implemented method for providing a service to clients, the method comprising the computer implemented steps of:
-
providing a conspiracy servant and a plurality of associated conspirator objects, each conspirator object including a corresponding conspirator skeleton and each conspirator object being configured to function in association with at least one other conspirator object without using the interface of the other conspirator object that is accessible to the clients; receiving at a first conspirator skeleton a first invocation request for a first conspirator object associated with the first conspirator skeleton; causing the first conspirator skeleton to directly invoke the conspiracy servant; causing the first conspirator servant to invoke a conspiracy object reference associated with the conspiracy object, the conspiracy object reference not available to clients that are not part of the service; returning a result from the conspiracy servant to a client that initiated the first conspirator invocation request; receiving at a second conspirator skeleton a second invocation request for a second conspirator object associated with the second conspirator skeleton; causing the second conspirator skeleton to invoke the conspiracy servant; causing the second conspirator servant to invoke a conspiracy object reference associated with the conspiracy object, the conspiracy object reference not available to clients that are not part of the service; returning a result from the conspiracy servant to a client that initiated the second conspirator invocation request; and returning results from the conspirator servants to their respective clients.
-
-
22. A computer implemented service arranged to reside within a server process executed on a computer that is arranged to be a part of a distributed object environment based computing system, the service comprising:
-
a plurality of conspirator objects, each conspirator object having an associated object reference and an associated skeleton that is arranged to receive requests from clients that reside outside of the service process, the skeletons each being arranged to pass incoming client requests directly to the conspiracy servant, each conspirator object having an object interface that defines services the conspirator object can provide to clients, the services the conspirator object can provide being a subset of the plurality of computer services performed by the conspiracy servant, the plurality of services including services available only to other conspirator objects and not accessible through the interface of the conspirator object by the clients of the conspirator object; and wherein the conspiracy servant is arranged to provide the requested services that are requested of each of the conspirator objects.
-
Specification