Method and system for effective management of client and server processes
First Claim
1. A computer-implemented method for managing client processes and a server process referenced by the client processes, the method comprising:
- maintaining an event list comprising;
client identifications corresponding to the client processes; and
event identifications corresponding to client processes that have active references to the server process;
receiving an initial request from a client process for a service provided by the server process, and in response to receiving the initial request;
establishing a communication interface for communicating between the client process and the server process;
initiating by the client process through a special purpose interface provided by the server process a client process registration procedure, the registration procedure comprising;
adding a client process identification corresponding to the client process to the event list;
adding, to the event list, a new client event identification corresponding to an initiation of the client process in the server;
entering a new wait state by the server process associated with the client process;
receiving a notification that the client process has terminated, and in response to receiving the notification that the client process has terminated;
emerging from the wait state by the server process; and
removing the client process identification corresponding to the client process from the event list; and
performing a server process operation in response to a change to the event list, wherein the server process operation manages at least one of a client process and a server process.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, functional components and structures are disclosed for carrying out management of client/server processes operating within separate process spaces within a computer system. The disclosed methods, functional components facilitate and carry out management of client and server processes within a computer system such that a greater degree of control can be exhibited over their execution. An active server component process maintains a list structure identifying each client process that is currently using one of the server component process'"'"'s interfaces. When a new client references a server, the list structure is augmented to include the system identification (e.g., handle) assigned by the operating system to the client process. A thread within the server process blocks while awaiting a triggering event (e.g., a client process in the list terminates). When the client process terminates, the block on the thread releases and the thread processes the change in client references. If the list of clients within the structure reaches zero, then the server process can immediately terminate.
-
Citations
37 Claims
-
1. A computer-implemented method for managing client processes and a server process referenced by the client processes, the method comprising:
-
maintaining an event list comprising; client identifications corresponding to the client processes; and event identifications corresponding to client processes that have active references to the server process; receiving an initial request from a client process for a service provided by the server process, and in response to receiving the initial request; establishing a communication interface for communicating between the client process and the server process; initiating by the client process through a special purpose interface provided by the server process a client process registration procedure, the registration procedure comprising; adding a client process identification corresponding to the client process to the event list; adding, to the event list, a new client event identification corresponding to an initiation of the client process in the server; entering a new wait state by the server process associated with the client process; receiving a notification that the client process has terminated, and in response to receiving the notification that the client process has terminated; emerging from the wait state by the server process; and removing the client process identification corresponding to the client process from the event list; and performing a server process operation in response to a change to the event list, wherein the server process operation manages at least one of a client process and a server process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer storage medium storing computer-executable instructions for managing client processes and a server process referenced by the client processes, the computer-executable instructions, when executed on a computing device, facilitating executing the steps of:
-
maintaining an event list comprising; client identifications corresponding to the client processes; and event identifications corresponding to client processes that have active references to the server process; receiving an initial request from a client process for a service provided by the server process, and in response to receiving the initial request; establishing a communication interface for communicating between the client process and the server process; initiating by the client process through a special purpose interface provided by the server process a client process registration procedure, the procedure comprising; adding a client process identification corresponding to the client process to the event list; adding, to the event list, a new client event identification corresponding to an initiation of the client process in the server; entering a new wait state by the server process associated with the client process; receiving a notification that the client process has terminated, and in response to receiving the notification that the client process has terminated; emerging from the wait state by the server process; and removing the client process identification corresponding to the client process from the event list; and performing a server process operation in response to a change to the event list, wherein the server process operation manages at least one of a client process and a server process. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system facilitating managing execution of client processes and a referenced server process, the system comprising a computer storage medium stored thereon a server component, the server component including:
-
an event list for storing client identifications corresponding to client processes and event identifications, the event list comprising; client identifications corresponding to the client processes; and event identifications corresponding to client processes that have active references to the server process; a new client procedure, initiated by the client process through a special purpose interface provided by the server process, for adding, to the event list, a client process identification corresponding to a client process referencing the server process, wherein the client process and the server process communicate through a communication interface;
adding, to the event list, a new client event identification corresponding to an initiation of the client process in the server;and entering a new wait state by the server process associated with the client process; a removed client procedure for emerging from the wait state and deleting, from the list, the client process identification in response to receiving a notification that the client process has terminated; and an event processor that executes at least one server process operation in response to a change to the event list, wherein the server process operation manages at least one of a client process and a server process. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification