Methods and apparatus for load sharing between primary and secondary computing environments based on expected completion latency differences
AssigneeShopify Inc.
InventorsAndrew Tubman, Kevin O'Donnell
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, systems and articles of manufacture for load shedding are disclosed. An example apparatus includes memory, and at least one processor to execute machine readable instructions to cause the at least one processor to at least access a request to execute a process using a second computing environment, the second computing environment being a replica of a first computing environment, determine an expected execution latency associated with execution of the process using the second computing environment, and reject the request in response to the expected execution latency exceeding a threshold.
Claims20
A computer system comprising:
- memory;
- and
- at least one processor to execute machine readable instructions to cause the at least one processor to at least:
- access an electronic request to execute a process, wherein the process is to be executed using a first computing environment and a second computing environment, the first computing environment being a primary node and the second computing environment being a replica of the first computing environment, the first computing environment and the second computing environment having a known resource asymmetry;
- calculate an expected resource need for processing of the request at the second computing environment;
- determine, based on the expected resource need for processing of the request, a first expected completion time for execution of the process using the second computing environment;
- determine a second expected completion time for execution of the process using the first computing environment;
- determine an expected latency associated with execution of the process using the first computing environment, the expected latency further based on a difference between the first and second expected completion times;
- and
- selectively process the request based on the expected latency, wherein execution of the process at each of the first computing environment and the second computing environment is caused when the expected latency does not exceed a threshold and wherein a rejection of the request is signaled in response to the expected latency exceeding the threshold.
At least one non-transitory computer readable medium comprising instructions that, when executed, cause at least one processor to at least:
- access an electronic request to execute a process, wherein the process is to be executed using a first computing environment and a second computing environment, the first computing environment being a primary node and the second computing environment being a replica of the first computing environment, the first computing environment and the second computing environment having a known resource asymmetry;
- calculate an expected resource need for processing of the request at the second computing environment
- determine, based on the expected resource need for processing of the request, a first expected completion time for execution of the process using the second computing environment;
- determine a second expected completion time for execution of the process using the first computing environment;
- determine an expected latency associated with execution of the process using the first computing environment, the expected latency based on a difference between the first and second expected completion times;
- and
- selectively process the request based on the expected latency, wherein the execution of the process at each of the first computing environment and the second computing environment is caused when the expected latency does not exceed a threshold and wherein a rejection of the request is signaled in response to the expected latency exceeding the threshold.
A computer-implemented method comprising:
- accessing an electronic request to execute a process, wherein the process is to be executed using a first computing environment and a second computing environment, the first computing environment being a primary node and the second computing environment being a replica of the first computing environment, the first computing environment and the second computing environment having a known resource asymmetry;
- calculating an expected resource need for processing of the request at the second computing environment
- determining, based on the expected resource need for processing of the request, a first expected completion time for execution of the process using the second computing environment;
- determining a second expected completion time for execution of the process using the first computing environment;
- determining an expected latency associated with execution of the process using the first computing environment, the expected latency further based on a difference between the first and second expected completion times;
- and
- selectively processing the request based on the expected latency, wherein execution of the process at each of the first computing environment and the second computing environment is caused when the expected latency does not exceed a threshold and a a rejection of the request is signaled in response to the expected latency exceeds the threshold.
Dependencies are inferred from the claim text.