Systems and methods for load balancing using predictive routing
AssigneeVeriSign, Inc.
InventorJohn Ernest Rodriguez
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for routing requests for information based on predictive data. The systems and methods may receive measurement data indicative of states of each of a plurality of destination servers, and generate predicted measurement data values for each of the plurality of destination servers based on the retrieved measurement data. The predicted measurement data values may represent predicted states of each of the destination servers at a time later than a time corresponding to the received measurement data. The systems and methods may also receive requests for information from a client computer, and route the received requests for information to one of the plurality of destination servers based on the predicted measurement data value.
Claims22
A system for routing requests for information based on predictive data, the system comprising:
- one or more memories storing instructions;
- and
- one or more processors capable of executing the instructions to:
- receive, for each of a plurality of destination servers, corresponding measurement data values that indicate an operational state of the destination server at a first time;
- generate, based on the corresponding measurement data values for each of the plurality of destination servers, corresponding predicted data values for the destination server that predict the operational state of the destination server at a second time later than the first time;
- receive a first set of requests for information from one or more client computers;
- for each destination server included in the plurality of destination servers, combine the corresponding measurement data values and the corresponding predicted data values to generate a combined time series associated with a time interval between the first time and the second time;
- for each destination server included in the plurality of destination servers, calculate, based on the combined time series corresponding to the destination server in the plurality of destination servers, a corresponding predicted state change in the operational state of the destination server from the first time to the second time;
- select, based on a plurality of combined time series that includes the combined time series corresponding to each destination server of the plurality of destination servers, a set of selected destination servers for which the corresponding predicted state change is predicted to improve from the first time to the second time;
- route the first set of requests for information to a first destination server included in the set of selected destination servers;
- update a first combined time series corresponding to the first destination server based on updated measurement data values and updated predicted data values determined in response to the first destination server processing the first set of requests;
- receive a second set of requests for information from the one or more client computers;
- and
- route the second set of requests for information to a second destination server corresponding to a second combined time series having a lower mean value than the updated first combined time series.
A computer-implemented method for routing requests for information based on predictive data, the computer-implemented method comprising:
- receiving, for each of a plurality of destination servers, corresponding measurement data values that indicate an operational state of the destination server at a first time;
- generating, by one or more processors based on the corresponding measurement data values for each of the plurality of destination servers, corresponding predicted data values for the destination server that predict the operational state of the destination server at a second time later than the first time;
- receiving a first set of requests for information from one or more client computers;
- for each destination server included in the plurality of destination servers, combine the corresponding measurement data values and the corresponding predicted data values to generate a combined time series associated with a time interval between the first time and the second time;
- for each destination server included in the plurality of destination servers, calculating, based on the combined time series corresponding to the destination server in the plurality of destination servers, a corresponding predicted state change in the operational state of the destination server from the first time to the second time;
- selecting, based on a plurality of combined time series that includes the combined time series corresponding to each destination server of the plurality of destination servers, a set of selected destination servers for which the corresponding predicted state change is predicted to improve from the first time to the second time;
- routing the first set of requests for information to a first destination server included in the set of selected destination servers;
- updating a first combined time series corresponding to the first destination server based on updated measurement data values and updated predicted data values determined in response to the first destination server processing the first set of requests;
- receiving a second set of requests for information from the one or more client computers;
- and
- routing the second set of requests for information to a second destination server corresponding to a second combined time series having a lower mean value than the updated first combined time series.
One or more non-transitory computer readable media including instructions for routing requests for information based on predictive data that, when executed by one or more processors, cause the one or more processors to:
- receive, for each of a plurality of destination servers, corresponding measurement data values that indicate an operational state of the destination server at a first time;
- generate, based on the corresponding measurement data values for each of the plurality of destination servers, corresponding predicted data values for the destination server that predict the operational state of the destination server at a second time later than the first time;
- receive a first set of requests for information from one or more client computers;
- for each destination server included in a plurality of destination servers, combine the corresponding measurement data values and the corresponding predicted data values to generate a combined time series associated with a time interval between the first time and the second time;
- for each destination server included in the plurality of destination servers, calculate, based on the combined time series corresponding to the destination server in the plurality of destination servers, a corresponding predicted state change in the operational state of the destination server from the first time to the second time;
- select, based on a plurality of combined time series that includes the combined time series corresponding to each destination server of the plurality of destination servers, a set of selected destination servers for which the corresponding predicted state change is predicted to improve from the first time to the second time;
- route the first set of requests for information to a first destination server included in the set of selected destination servers;
- update a first combined time series corresponding to the first destination server based on updated measurement data values and updated predicted data values determined in response to the first destination server processing the first set of requests;
- receive a second set of requests for information from the one or more client computers;
- and
- route the second set of requests for information to a second destination server corresponding to a second combined time series having a lower mean value than the updated first combined time series.
Dependencies are inferred from the claim text.