Methods and apparatus for managing deactivation and shutdown of a server
First Claim
1. A computer implemented method for managing clients of a server that is arranged to provide services to a plurality of clients, the server being responsive to service requests from various clients and deactivation requests, the method including the computer controlled steps of:
- (a) in response to each service request, determining only once for a particular service request whether the server is in a locked state, wherein when the server is in the locked state the server will reject and not handle the service request and thus the server will never perform a requested service corresponding to the particular service request if the particular service request was received while the server is in the locked state, but, when the server is in an unlocked state, the server will accept and subsequently handle the service request, and incrementing a transaction counter by a predetermined value when it is determined that the server is in the unlocked state, the transaction counter being indicative of the number of service requests actively utilizing the server;
(b) performing the requested service when it is determined in step (a) that the server is in the unlocked state;
(c) decrementing the transaction counter by the predetermined value after each requested service having a corresponding service request that was accepted has been completed;
(d) in response to a deactivation request, setting the server to the locked state and checking the transaction counter to determine whether there are any active service requests prior to deactivating the server; and
(e) when it is determined that there is at least one active service request, waiting to deactivate the server until it is determined based on the transaction counter that all of the active service requests have been completed, wherein the server is deactivated only after it is determined that all of the active service requests have been completed,whereby when the server is to be deactivated, new service requests are refused since the server is in the locked state and existing service requests are completed prior to deactivation.
1 Assignment
0 Petitions
Accused Products
Abstract
A number of methods and apparatus for managing clients of a computer server. In particular, the usher implements an orderly and predictable server deactivation and/or shut down strategy in generally the following manner. The usher continuously maintains a transaction counter indicative of the number of clients actively utilizing services. For example, the usher may increment the transaction counter when a service is requested and then decrement the transaction counter when a service is completed or terminated. However, at some point in the server operation, the usher may receive a lock up request. This may occur because a client has invoked a deactivation and/or shut down operation, or the server may decide to shut down itself. In any event, upon receiving the lock up request, the usher will not perform any new client requests. Thus the usher controls the accessibility of the server to external clients by preventing new client requests for service in preparation for shut down. Nevertheless, the usher utilizes a gentle strategy and only eliminates clients through attrition. Hence the usher implements a shut down strategy which, while not accepting new client requests, will complete any services active at the time deactivation and/or shut down was requested. In some embodiments of the present invention, an usher is an internal component of or is used by a server such as a computer process, a computer service, or a target object.
-
Citations
51 Claims
-
1. A computer implemented method for managing clients of a server that is arranged to provide services to a plurality of clients, the server being responsive to service requests from various clients and deactivation requests, the method including the computer controlled steps of:
-
(a) in response to each service request, determining only once for a particular service request whether the server is in a locked state, wherein when the server is in the locked state the server will reject and not handle the service request and thus the server will never perform a requested service corresponding to the particular service request if the particular service request was received while the server is in the locked state, but, when the server is in an unlocked state, the server will accept and subsequently handle the service request, and incrementing a transaction counter by a predetermined value when it is determined that the server is in the unlocked state, the transaction counter being indicative of the number of service requests actively utilizing the server; (b) performing the requested service when it is determined in step (a) that the server is in the unlocked state; (c) decrementing the transaction counter by the predetermined value after each requested service having a corresponding service request that was accepted has been completed; (d) in response to a deactivation request, setting the server to the locked state and checking the transaction counter to determine whether there are any active service requests prior to deactivating the server; and (e) when it is determined that there is at least one active service request, waiting to deactivate the server until it is determined based on the transaction counter that all of the active service requests have been completed, wherein the server is deactivated only after it is determined that all of the active service requests have been completed, whereby when the server is to be deactivated, new service requests are refused since the server is in the locked state and existing service requests are completed prior to deactivation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer implemented method for managing clients of a server that is arranged to provide services to a plurality of clients, the server being responsive to service requests from various clients and deactivation requests, the method including the computer controlled steps of:
-
in response to each service request, invoking a check in operation, the check in operation including the computer controlled steps of determining only once for a particular service request whether the server is in a locked state, wherein when the server is in the locked state the server will reject and not handle the service request and thus the server will never perform a requested service corresponding to the particular service request if the particular service request was received while the server is in the locked state, but, when the server is in an unlocked state the server will accept and subsequently handle the service request, and incrementing a transaction counter by a predetermined value when it is determined that the server is in the unlocked state, the transaction counter being indicative of the number of service requests actively utilizing the server; performing the requested service when it is determined that the server is in the unlocked state; in response to a service request being completed, invoking a check out operation that decrements the transaction counter by the predetermined value; in response to a deactivation request, invoking a lock up operation that sets the server to the locked state, wherein in the locked state the server completes all active service requests but rejects new service requests; in response to a deactivation request, performing any necessary deactivation functions and then invoking a flush operation that checks the transaction counter to determine whether there are any active service requests prior to deactivating the server; and when it is determined that there is at least one active service request, waiting to deactivate the server until after it is determined based on the transaction counter that all of the active services have been completed, whereby when the server is to be deactivated, new service requests are refused and existing service request are completed prior to deactivation. - View Dependent Claims (26, 27, 28, 29)
-
-
30. An usher device for use on a computer system, said usher device being arranged to manage a plurality of clients of a computer server and assist in an orderly shutdown of said computer server, said usher device comprising:
-
a transaction counter indicative of the number of client service requests actively utilizing said computer server, a client service request that is actively utilizing said computer server being a client service request that has been accepted by the usher but has not yet been completed by the computer server; a check in device operable to increment said transaction counter by a predetermined value; a check out device operable to decrement said transaction counter by said predetermined value; a lock up device operable to lock up said computer server such that when said computer server is locked up it does not accept new client service requests but continues performing any active service requests, whereby said computer server will never perform new client service requests received while the computer server is locked up; and a flush device operable to shut down said usher device when said computer server is locked up and after waiting until said transaction counter indicates that there are no active service requests, wherein the flush device is operable to deactivate the server when it is determined based on the transaction counter that there are not active service requests. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification