Claims
- 1. A method of dynamically switching message logging schemes to improve performance of a distributed system, the distributed system including a client device and a server device that communicate by sending and receiving messages across a network, the client device capable of executing a client-side message logging scheme and the server device capable of executing a server-side message logging scheme, the method comprising:
measuring an application response time for an application that executes using said client device and said server device; measuring a system load for said server device; measuring a network delay for said messages; selecting said client-side message logging scheme when said application response time is greater than an application response time threshold and said system load is greater than a system load threshold and said network delay is less than a network delay threshold; selecting both said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is less than said system load threshold and said network delay is greater than said network delay threshold; selecting at least one of said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is less than said system load threshold and said network delay is less than said network delay threshold; and selecting both said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is greater than said system load threshold and said network delay is greater than said network delay threshold.
- 2. The method of claim 1 wherein said application response time is measured by one of a running mean and a variance of a plurality of instantaneous values of said application response time.
- 3. The method of claim 1 wherein said system load is measured by a number of active client sessions per second at said server device.
- 4. The method of claim 1 wherein said system load is measured by one of a running mean and a variance of a plurality of instantaneous values of said system load.
- 5. The method of claim 1 wherein said network delay is measured by at least one of a time spent in communication from said client device to said server device and a time spent in communication from said server device to said client device.
- 6. The method of claim 5 wherein said network delay is measured by an average of said time spent in communication from said client device to said server device and said time spent in communication from said server device to said client device.
- 7. The method of claim 1 wherein said network delay is measured by one of a running mean and a variance of a plurality of instantaneous values of said network delay.
- 8. The method of claim 1 further comprising:
measuring a switching overhead latency; determining whether said switching overhead latency is greater than a switching threshold; and switching to a selected message logging scheme when said switching overhead latency is greater than a switching threshold;
- 9. The method of claim 1, wherein said distributed system includes a plurality of groups of client devices connected to said server, further comprising grouping switching to a selected message logging scheme for each of said plurality of groups of client devices gradually.
- 10. The method of claim 1 further comprising:
providing a smoothing threshold; switching to a selected message logging scheme only when a number of switches in a given period of time is less than said smoothing threshold.
- 11. A computer program product embodied on a computer usable medium for dynamically switching message logging schemes to improve performance of a distributed system, the distributed system including a client device and a server device that communicate by sending and receiving messages across a network, the client device capable of executing a client-side message logging scheme and the server device capable of executing a server-side message logging scheme, the computer program product comprising:
instructions for measuring an application response time for an application that executes using said client device and said server device; instructions for measuring a system load for said server device; instructions for measuring a network delay for said messages; instructions for selecting said client-side message logging scheme when said application response time is greater than an application response time threshold and said system load is greater than a system load threshold and said network delay is less than a network delay threshold; instructions for selecting both said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is less than said system load threshold and said network delay is greater than said network delay threshold; instructions for selecting at least one of said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is less than said system load threshold and said network delay is less than said network delay threshold; and instructions for selecting both said client-side message logging scheme and said server-side message logging scheme when said application response time is greater than said application response time threshold and said system load is greater than said system load threshold and said network delay is greater than said network delay threshold.
- 12. A method of dynamically switching message logging schemes to improve performance of a distributed system, the distributed system including a client device and a server device that communicate by sending and receiving messages across a network, the method comprising:
measuring a system load for said server; measuring a network delay for said messages; and selecting at least one of a client-side message logging scheme and a server-side message logging scheme based on whether said system load is greater than a system load threshold and whether said network delay is greater than a network delay threshold.
- 13. A server device for dynamically switching message logging schemes to improve system performance, the server device capable of communicating with a client device by sending and receiving messages across a network, wherein at least one of said server device and said client device is capable of logging said messages, the server device comprising:
a processor configured to execute program instructions; a memory connected with said processor, said memory configured to store said programs instructions; and said program instructions including
a first set of instructions operative to measure a system load for said server, a second set of instructions operative to measure a network delay for said messages, and a third set of instructions operative to select at least one of a client-side message logging scheme and a server-side message logging scheme based on whether said system load is greater than a system load threshold and whether said network delay is greater than a network delay threshold.
- 14. A method of dynamically switching message logging schemes to improve performance of a distributed system, the distributed system including a client device and a server device that communicate by sending and receiving messages across a network, the client device capable of executing a client-side message logging scheme and the server device capable of executing a server-side message logging scheme, the method comprising:
measuring a system load for said server device; measuring a network delay for said messages; selecting said client-side message logging scheme when said system load is greater than a system load threshold and said network delay is less than a network delay threshold; maintaining a current message logging scheme when said system load is less than said system load threshold and said network delay is greater than said network delay threshold; selecting at least one of said client-side message logging scheme and said server-side message logging scheme when said system load is less than said system load threshold and said network delay is less than said network delay threshold; and selecting said client-side message logging scheme when said system load is greater than said system load threshold and said network delay is greater than said network delay threshold.
- 15. The method of claim 14 wherein said system load is measured by a number of active client sessions per second at said server device.
- 16. The method of claim 14 wherein said system load is measured by one of a running mean and a variance of a plurality of instantaneous values of said system load.
- 17. The method of claim 14 wherein said network delay is measured by at least one of a time spent in communication from said client device to said server device and a time spent in communication from said server device to said client device.
- 18. The method of claim 17 wherein said network delay is measured by an average of said time spent in communication from said client device to said server device and said time spent in communication from said server device to said client device.
- 19. The method of claim 14 wherein said network delay is measured by one of a running mean and a variance of a plurality of instantaneous values of said network delay.
- 20. The method of claim 14 further comprising:
measuring a switching overhead latency; determining whether said switching overhead latency is greater than a switching threshold; and switching to a selected message logging scheme when said switching overhead latency is greater than a switching threshold;
- 21. The method of claim 14, wherein said distributed system includes a plurality of groups of client devices connected to said server, further comprising grouping switching to a selected message logging scheme for each of said plurality of groups of client devices gradually.
- 22. The method of claim 14 further comprising:
providing a smoothing threshold; switching to a selected message logging scheme only when a number of switches in a given period of time is less than said smoothing threshold.
- 23. A computer program product embodied on a computer usable medium for dynamically switching message logging schemes to improve performance of a distributed system, the distributed system including a client device and a server device that communicate by sending and receiving messages across a network, the client device capable of executing a client-side message logging scheme and the server device capable of executing a server-side message logging scheme, the computer program product comprising:
instructions for measuring a system load for said server device; instructions for measuring a network delay for said messages; instructions for selecting said client-side message logging scheme when said system load is greater than a system load threshold and said network delay is less than a network delay threshold; instructions for maintaining a current message logging scheme when said system load is less than said system load threshold and said network delay is greater than said network delay threshold; instructions for selecting at least one of said client-side message logging scheme and said server-side message logging scheme when said system load is less than said system load threshold and said network delay is less than said network delay threshold; and instructions for selecting said client-side message logging scheme when said system load is greater than said system load threshold and said network delay is greater than said network delay threshold.
RELATED APPLICATION
[0001] This application is related to application Ser. No. 10/243,083, Attorney Docket No. 10745/133, filed Sep. 13, 2002, entitled “Method For Dynamically Switching Fault Tolerance Schemes,” naming as inventors Shahid Shoaib and Nayeem Islam and application Ser. No. 10/313,265, Attorney Docket No. 10745/134, filed Dec. 6, 2002, entitled “Configurable Reliable Messaging System,” naming as inventors Shahid Shoaib and Nayeem Islam.
[0002] This application claims the benefit pursuant to 35 U.S.C. §119(e) of Provisional U.S. Patent Application Serial No. 60/431,515 filed on Dec. 6, 2002, which is expressly incorporated herein by reference, and Provisional U.S. Patent Application Serial No. 60/435,056 filed on Dec. 18, 2002, which is expressly incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60431515 |
Dec 2002 |
US |
|
60435056 |
Dec 2002 |
US |