Methods and apparatus for managing computer processes
First Claim
1. A daemon process for use on a computer system in a distributed object operating environment, said distributed object operating environment including a plurality of distributed objects which are intended to reside in a corresponding plurality of server processes, said daemon process operable to manage that portion of said plurality of distributed objects which reside on said computer system and that portion of said plurality of server processes which execute on said computer system, said daemon process including:
- an active server table arranged to maintain entries regarding a plurality of server processes, said entries including a server identifier, a server process state, and server process addressing information, wherein each server process that is active on said computer system has an entry in said active server table and a first active server process has at least one target object capable of providing service; and
a locator service operable to access said active server table to provide server process addressing information for said plurality of server processes, said locator service further operable to register a server process in said active server table.
0 Assignments
0 Petitions
Accused Products
Abstract
A number of methods, apparatus, and data structures are disclosed for managing computer processes. In one aspect, a daemon process which manages server processes includes an active server table and a locator service. The locator service can look up and register server processes in the active server table. Furthermore, the locator service can start up server processes. In some embodiments, the locator service includes a look-up object and a server process registration object which perform the tasks of the locator service. In other embodiments, methods for managing server process such as starting and registering the server processes are taught. In one specific method, a daemon process performs a variety of steps in response to receiving a look-up call for a target object. These steps include obtaining a server identifier for the target object, determining the state of a server process, and returning addressing information corresponding to the server process under which the target object will activate. In related method aspects the daemon process will start the server process if it isn'"'"'t running and/or wait until the server process is running to return the addressing information. In a separate method aspect, a server process self-starts; receiving an object reference for a desired target object, receiving a server process identification number, creating a communications port for itself, forming addressing information for itself, obtaining an object reference for a server process registration object, and registering itself by calling the server process registration object to invoke a register new process operation.
-
Citations
14 Claims
-
1. A daemon process for use on a computer system in a distributed object operating environment, said distributed object operating environment including a plurality of distributed objects which are intended to reside in a corresponding plurality of server processes, said daemon process operable to manage that portion of said plurality of distributed objects which reside on said computer system and that portion of said plurality of server processes which execute on said computer system, said daemon process including:
-
an active server table arranged to maintain entries regarding a plurality of server processes, said entries including a server identifier, a server process state, and server process addressing information, wherein each server process that is active on said computer system has an entry in said active server table and a first active server process has at least one target object capable of providing service; and
a locator service operable to access said active server table to provide server process addressing information for said plurality of server processes, said locator service further operable to register a server process in said active server table. - View Dependent Claims (2, 3, 4, 5)
a client residing on a remote computer system that requests services of said target object by indirectly invoking said target object by invoking a surrogate object corresponding to said target object that resides on said remote computer system operable to establish a connection with said daemon process in order to obtain addressing information of said first active server process from said daemon process.
-
-
3. A daemon process as described in claim 1 further including an object adapter database, said object adapter database including:
-
a plurality of target object identifiers;
a plurality of server identifiers, each server identifier corresponding to at least one of said plurality of target object identifiers; and
a plurality of object references, each object reference corresponding to one of said plurality of target object identifiers.
-
-
4. A daemon process as described in claim 1 wherein said locator service includes a locator object arranged to perform said operation of accessing said active server table to provide server process addressing information, said operation performed in response to a request from a client.
-
5. A daemon process as described in claim 1 wherein said locator service includes a server process registration object arranged to perform said operation of registering a server process in the active server table.
-
6. An apparatus for managing a plurality of server processes which are intended to execute on a computer system for use in a distributed object operating environment, said distributed object operating environment providing clients access to the services of remote distributed objects through the use of surrogate objects, said method performed by a daemon process resident on said computer system, said method comprising:
-
means for receiving under computer control a look-up call for a target object, said look-up call originating from a client, wherein when said client resides on a remote computer system, said client originates said look-up call indirectly by invoking a surrogate object corresponding to said target object, said surrogate object residing on said remote computer system;
means for determining under computer control a state of a server process corresponding to said target object, said server process uniquely defined within said computer system by said server identifier; and
means for returning under computer control addressing information corresponding to said server process to said client, wherein when said client resides on a remote computer, said surrogate object is the recipient of said addressing information. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
means for creating under computer control a server process entry in said second database, said server process entry including a server identifier and a server process state;
means for marking under computer control said server process state as starting in said second database;
means for accessing under computer control said first database to get an execdef for said target object;
means for starting under computer control said server process using said execdef for target object; and
means for waiting under computer control until said server process state for said server process transitions from starting to running.
-
-
13. An apparatus as recited in claim 12 further comprising:
-
means for receiving under computer control a server process identification number from an operating system of said computer system;
means for creating under computer control a communications port for said server process;
means for forming under computer control addressing information for said server process;
means for calling under computer control a server process registration object resident in said daemon process, said call operable to invoke a register server operation, said call passing said addressing information, said server process identification number, and said server identifier to said server process registration object.
-
-
14. An apparatus as recited in claim 13 further comprising:
-
means for receiving under computer control a call invoking said register server operation;
means for storing under computer control said addressing information in said second database; and
means for marking under computer control said server process state entry as running.
-
Specification