Adaptive timeout value setting for distributed computing environment (DCE) applications
First Claim
1. A method for determining an adaptive timeout value setting in distributed computing environment (DCE) applications for a client/server pair having a client system and a server system, comprising the steps of:
- tracking a server response time of the server system to a remote procedure call from the client system, wherein the remote procedure call includes a binding handle, and wherein the server response time is based on a time of the server system responding to the remote procedure, calculating an optimal timeout value from the response time, and resetting a timeout value of the binding handle as the optimal timeout value.
1 Assignment
0 Petitions
Accused Products
Abstract
An adaptive timeout value setting is determined for DCE applications, wherein the timeout value setting is adapted and adjusted according to environmental factors and communication conditions between a client/server pair. The adaptive timeout value setting takes into consideration the communication time between a client and a server in each client/server pair in determining and setting a timeout value for each pair. The timeout value for a client/server pair is adjusted in a dynamic fashion so that the client is able to be more adaptive to real environment changes and so that the server'"'"'s performance is not degraded due to ineffective timeouts. The system and method determines an adaptive timeout value setting in distributed computing environment (DCE) applications for a client/server pair wherein each pair has a client system and a server system. A server response time of the server system is tracked to a remote procedure call from the client system. The remote procedure call includes a binding handle, and the server response time is based on a time of the server system responding to the remote procedure. An optimal timeout value is calculated from the response time, and a timeout value of the binding handle is reset as the optimal timeout value.
-
Citations
18 Claims
-
1. A method for determining an adaptive timeout value setting in distributed computing environment (DCE) applications for a client/server pair having a client system and a server system, comprising the steps of:
-
tracking a server response time of the server system to a remote procedure call from the client system, wherein the remote procedure call includes a binding handle, and wherein the server response time is based on a time of the server system responding to the remote procedure, calculating an optimal timeout value from the response time, and resetting a timeout value of the binding handle as the optimal timeout value. - View Dependent Claims (2, 3, 4, 5, 6)
obtaining, by the client system, the binding handle to communicate with the server system, populating, by the client system, the binding handle with attributes to be used for the remote procedure call with the binding handle, setting and referring to an initial value for the timeout value of the binding handle when one of the remote procedure call is made, invoking additional code that is added around an internal remote procedure call application programming interface which is called in correspondence to the remote procedure call to set a timer before the remote procedure call is made and to record the response time after the remote procedure call is returned, and recording the response time in a storage array having a number of array elements wherein one of the array elements corresponds to the response time for the remote procedure call.
-
-
3. The method according to claim 1, wherein the calculating step further comprises the steps of:
-
invoking an additional module that is added to a runtime of the remote procedure call to execute a pre-defined method, and obtaining the optimal timeout value for the remote procedure call associated with the binding handle from the pre-defined method.
-
-
4. The method according to claim 3, wherein the pre-defined method is a largest response time method wherein a largest value of the response time in the storage array is used for computing the optimal timeout value.
-
5. The method according to claim 3, wherein the pre-defined method is a heuristics or statistics calculation method wherein average values and standard deviations derived from values of the response time in the storage array are used for computing the optimal timeout value.
-
6. The method according to claim 1, wherein the resetting step further comprises the steps of:
-
receiving the optimal timeout value from a pre-defined method executed by an additional module, using, by the additional module, the optimal timeout value to reset the timeout value associated with the binding handle, and setting the timeout value with the optimal timeout value when the remote procedure call is made from the client system to the server system through the binding handle during a next remote procedure call.
-
-
7. A system for determining an adaptive timeout value setting in distributed computing environment (DCE) applications for a client/server pair having a client system and a server system, comprising:
-
means for tracking a server response time of the server system to a remote procedure call from the client system, wherein the remote procedure call includes a binding handle, and wherein the server response time is based on a time of the server system responding to the remote procedure, means for calculating an optimal timeout value from the response time, and means for resetting a timeout value of the binding handle as the optimal timeout value. - View Dependent Claims (8, 9, 10, 11, 12)
means for obtaining, by the client system, the binding handle to communicate with the server system, means for populating, by the client system, the binding handle with attributes to be used for the remote procedure call with the binding handle, means for setting and referring to an initial value for the timeout value of the binding handle when one of the remote procedure call is made, means for invoking additional code that is added around an internal remote procedure call application programming interface which is called in correspondence to the remote procedure call to set a timer before the remote procedure call is made and to record the response time after the remote procedure call is returned, and means for recording the response time in a storage array having a number of array elements wherein one of the array elements corresponds to the response time for the remote procedure call.
-
-
9. The system according to claim 7, wherein the means for calculating further comprises:
-
means for invoking an additional module that is added to a runtime of the remote procedure call to execute a pre-defined method, and means for obtaining the optimal timeout value for the remote procedure call associated with the binding handle from the pre-defined method.
-
-
10. The system according to claim 9, wherein the pre-defined method is a largest response time method wherein a largest value of the response time in the storage array is used for computing the optimal timeout value.
-
11. The system according to claim 9, wherein the pre-defined method is a heuristics or statistics calculation method wherein average values and standard deviations derived from values of the response time in the storage array are used for computing the optimal timeout value.
-
12. The system according to claim 7, wherein the means for resetting further comprises:
-
means for receiving the optimal timeout value from a pre-defined method executed by an additional module, means for using, by the additional module, the optimal timeout value to reset the timeout value associated with the binding handle, and means for setting the timeout value with the optimal timeout value when the remote procedure call is made from the client system to the server system through the binding handle during a next remote procedure call.
-
-
13. A program product on a computer-usable medium for determining an adaptive timeout value setting in distributed computing environment (DCE) applications for a client/server pair having a client system and a server system, comprising the steps of:
-
instruction means for tracking a server response time of the server system to a remote procedure call from the client system, wherein the remote procedure call includes a binding handle, and wherein the server response time is based on a time of the server system responding to the remote procedure, instruction means for calculating an optimal timeout value from the response time, and instruction means for resetting a timeout value of the binding handle as the optimal timeout value. - View Dependent Claims (14, 15, 16, 17, 18)
instruction means for obtaining, by the client system, the binding handle to communicate with the server system, instruction means for populating, by the client system, the binding handle with attributes to be used for the remote procedure call with the binding handle, instruction means for setting and referring to an initial value for the timeout value of the binding handle when one of the remote procedure call is made, instruction means for invoking additional code that is added around an internal remote procedure call application programming interface which is called in correspondence to the remote procedure call to set a timer before the remote procedure call is made and to record the response time after the remote procedure call is returned, and instruction means for recording the response time in a storage array having a number of array elements wherein one of the array elements corresponds to the response time for the remote procedure call.
-
-
15. The program product according to claim 13, wherein the instruction means for calculating further comprises:
-
instruction means for invoking an additional module that is added to a runtime of the remote procedure call to execute a pre-defined method, and instruction means for obtaining the optimal timeout value for the remote procedure call associated with the binding handle from the pre-defined method.
-
-
16. The program product according to claim 15, wherein the pre-defined method is a largest response time method wherein a largest value of the response time in the storage array is used for computing the optimal timeout value.
-
17. The program product according to claim 15, wherein the pre-defined method is a heuristics or statistics calculation method wherein average values and standard deviations derived from values of the response time in the storage array are used for computing the optimal timeout value.
-
18. The program product according to claim 13, wherein the instruction means for resetting further comprises:
-
instruction means for receiving the optimal timeout value from a pre-defined method executed by an additional module, instruction means for using, by the additional module, the optimal timeout value to reset the timeout value associated with the binding handle, and instruction means for setting the timeout value with the optimal timeout value when the remote procedure call is made from the client system to the server system through the binding handle during a next remote procedure call.
-
Specification