Dynamic server flow control in a hybrid peer-to-peer network
First Claim
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 Assignments
0 Petitions
Accused Products
Abstract
Technologies are described herein for providing dynamic flow control of requests to a server in a hybrid peer-to-peer network. The server collects a number of metrics related to its current stability and the throughput of requests from peer-to-peer devices. These metrics, along with associated trend data, are used by the server to calculate a current stability rating and a current throughput rating. The server then imposes flow control on a proportional number of the peer-to-peer devices based upon the current ratings. This operation is run periodically, with ratings re-calculated from current metrics, and new flow control measures imposed in each cycle.
-
Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17)
-
Specification