×

Techniques for decentralized load balancing

  • US 10,146,593 B2
  • Filed: 12/22/2017
  • Issued: 12/04/2018
  • Est. Priority Date: 02/17/2017
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a cluster having a plurality of host instances, each host instance in the cluster, includes a processor and memory, to implement one or more service agents, the one or more service agents to perform tasks included in a workload;

    a shared cache utilized by the one or more service agents of the plurality of hosts instances to automatically balance processing of the tasks in the workload among the host instances in the cluster without a centralized controller or a load balancer;

    a first service agent of the one or more service agents implemented by a first host instance in the cluster of host instances to perform a task in the workload based on a data structure in the shared cache that indicates the first service agent is an active agent for the task;

    a second service agent of the one or more service agents implemented by a second host instance in the cluster of host instances to;

    transition from a sleep state to an active state in response to expiration of a timer;

    identify a number of active service agents associated with the first host instance based on the data structure in the shared cache;

    compute a difference between the number of active service agents associated with the first host instance and a number of active service agents associated with the second host instance;

    compare the difference between the number of active service agents associated with the first host instance and the number of active service agents associated with the second host instance to a load difference threshold, wherein the load difference threshold is a numerical value determined based on a comparison of processing capabilities of hardware resources available to the first host instance to processing capabilities of hardware resources available to the second host instance; and

    update the data structure in the shared cache to indicate that the second service agent is the active agent for the task when the difference between the number of active service agents associated with the first host instance and the number of active service agents associated with the second host instance exceeds the load difference threshold, the update to the data structure in the shared cache to reduce a portion of the workload performed by the first service agent of the one or more service agents implemented by the first host instance in the cluster of host instances.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×