Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for providing dynamic flow control of requests from a plurality of client computers to a server computer, the method comprising: collecting throughput metrics indicating a current number and size of the requests; collecting a stability metric indicating a current processing load of the server; calculating a throughput rating indicating a current throughput of the requests from the plurality of client computers from the throughput metric; calculating a stability rating indicating the current processing load of the server from the stability metric; imposing flow control on a first subset of the plurality of client computers if the throughput rating or the stability rating is above a first threshold value; and imposing flow control on a second subset of the plurality of client computers if the throughput rating or the stability rating is above a second threshold value.
2. The method of claim 1 further comprising: calculating trend data for the throughput metric and the stability metric; calculating the throughput rating from the throughput metric and the trend data; and calculating the stability rating from the stability metric and the trend data.
3. The method of claim 1 , wherein the first subset and the second subset each comprise a percentage of the plurality of client computers having a largest throughput of requests.
4. The method of claim 1 , where imposing flow control on a subset of the plurality of client computers comprises sending a protocol command to each of the subset of the plurality of client computers instructing the client computer to limit the number of requests sent to the server.
5. The method of claim 1 , where imposing flow control on a subset of the plurality of client computers comprises imposing a limit on a number of requests that will be processed for each of the subset of the plurality of client computers.
6. The method of claim 1 , where imposing flow control on a subset of the plurality of client computers comprises imposing a limit on a number of connections available for the plurality of client computers.
7. A computer storage medium having computer executable instructions stored thereon, which, when executed by a computer, will cause the computer to: collect a plurality of metrics indicating a current processing load of the computer; calculate trend data for the plurality of metrics; calculate a rating from the plurality of metrics and the trend data; determine if the rating is greater than or equal to a maximum threshold value; if the rating is greater than or equal to the maximum threshold value, impose flow control on a plurality of client computers; if the rating is not greater than or equal to the maximum threshold value, determine if the rating is greater than or equal to a nominal threshold value; and if the rating is greater than or equal to the nominal threshold value, impose flow control on a subset of the plurality of client computers comprising a first percentage of the client computers having a largest throughput of requests.
8. The computer storage medium of claim 7 having additional computer executable instructions stored thereon, which, when executed by the computer, cause the computer to: determine if the rating is greater than or equal to an intermediate threshold value; and if the rating is greater than or equal to the intermediate threshold value, impose flow control on a subset of the plurality of client computers comprising a second percentage of the client computers having the largest throughput of requests, wherein the second percentage is larger than the first percentage.
9. The computer storage medium of claim 7 , wherein the plurality of metrics comprises one or more of a total number of requests to the computer from the plurality of client computers over a period of time, a total size of requests to the computer from the plurality of client computers over the period of time, a percentage of processor utilization of the computer, a rate of paging of a virtual memory of the computer, a rate of disk read and write requests at the computer, a rate of database transactions from the computer, and a number of bytes of free memory remaining in the computer.
10. The computer storage medium of claim 7 , wherein imposing flow control on the plurality of client computers comprises sending a protocol command to each of the plurality of client computers instructing the client computer to limit the throughput of requests to the computer.
11. The computer storage medium of claim 7 , wherein imposing flow control on the plurality of client computers comprises limiting a number of requests accepted from each of the plurality of client computers over a period of time.
12. The computer storage medium of claim 7 , where imposing flow control on the plurality of client computers comprises imposing a limit on a number of connections available for the plurality of client computers.
13. A method for providing dynamic server flow control in a hybrid peer-to-peer network, the method comprising: collecting a plurality of metrics indicating a current load upon a server connected to a plurality of peer-to-peer devices; calculating trend data for each of the plurality of metrics; calculating a current load rating from the plurality of metrics and the trend data; determining whether the current load rating is greater than or equal to a maximum threshold value; if the current load rating is greater than or equal to the maximum threshold value, imposing flow control on all of the plurality of peer-to-peer devices; if the current load rating is not greater than or equal to the maximum threshold value, determining if the current load rating is greater than or equal to a nominal threshold value; if the current load rating is greater than or equal to the nominal threshold value, imposing flow control on a subset of the plurality of peer-to-peer devices comprising a percentage of peer-to-peer devices having a largest number of requests or a largest size of requests over a period of time; and if the current load rating is not greater than or equal to the nominal threshold value, imposing no flow control on the plurality of peer-to-peer devices.
14. The method of claim 13 , wherein the plurality of metrics comprise a total number of requests to the server from the plurality of peer-to-peer devices over a period of time and a total size of requests to the server from the plurality of peer-to-peer devices over the period of time.
15. The method of claim 13 , wherein the percentage of peer-to-peer devices is proportional to the current load rating.
16. The method of claim 13 , where imposing flow control on the subset of the plurality of peer-to-peer devices comprises sending a protocol command to each of the subset of the plurality of peer-to-peer devices instructing the peer-to-peer device to limit the number or the size of requests to the server.
17. The method of claim 13 , wherein the plurality of metrics comprise one or more of a percentage of processor utilization, a rate of paging of virtually memory, a rate of disk read and write requests, a rate of database transactions, and a number of bytes of free memory remaining.
Unknown
September 6, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.