Dynamic server flow control in a hybrid peer-to-peer network
AssigneeMicrosoft Corporation
InventorsGraham Baker, Leon James Alexandrou
Life of this patent
Estimating the term…
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.
Claims17
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.
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.
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.
Dependencies are inferred from the claim text.