| CPC H04L 47/125 (2013.01) | 18 Claims |

|
1. A computer-implemented method of directing data traffic among computerized network devices connected over a data transmission network, comprising:
receiving a data request;
identifying application tasks that are currently underway at a plurality of network devices;
calculating a current processing speed of the plurality of network devices based at least in part on the application tasks;
receiving feedback data embedded in packet headers corresponding to data traffic flows, wherein the feedback data comprises an instant server load state score, the current processing speed and a time stamp associated with each of the plurality of network devices;
upon receipt of the feedback data, using the feedback data to calculate weights for each of the plurality of network devices, wherein the weights correspond to load states of each respective network device of the plurality of network devices at respective times during data traffic flows;
using a weighted sampling mechanism for selecting candidate devices from the-plurality of network devices;
tabulating a load state score for each of the candidate devices that are available to complete the data request, wherein the load state score for a respective candidate device is a function of a previous load state score, the current processing speed of the respective candidate device, and a time value corresponding to an elapsed amount of time since the load state score was last updated;
identifying a selected candidate device based at least in part on the tabulated load state scores to complete the data request; and
encapsulating an identifier for the selected candidate device in the packet headers, wherein the encapsulating comprises selecting a partition method from modulo or range division based, at least in part, on a transmission protocol of a respective data traffic flow of the data traffic flows.
|