IP Library Granted Patent US 11,875,195
Granted Patent B2
US 11,875,195 · App. 18/121,675 · Granted Jan 16, 2024

Methods and systems for dynamic load balancing of processing resources in distributed environments

Inventors: Amit Mishra (Broomfield, CO); Thorsten Ohrstrom Sandgren (New York, NY)
Assignee: LIVEPERSON, INC.
G06F9/5077G06F9/505G06F9/45558G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,875,195
App. No.
18/121,675
Granted
Jan 16, 2024
Kind
B2
Abstract

Systems and method are provided for load balancing in distributed environments. A computing device may instantiate a first quantity of partitions within a processing node. The first set of partitions can be configured to support a service accessible by multiple user devices. The computing device may determine that a load value corresponding to the first quantity of partitions is greater than a threshold and in response, cause an autoscaler to instantiate a second quantity of partitions. The quantity of petitions in the second quantity of partitions may be determined based on the first quantity of partitions. The computing device may then modify the autoscaler based on an indication that the second quantity of partitions has been instantiated. Modifying the autoscaler can include adjusting the threshold to reduce a likelihood that a subsequent load value is greater than the threshold.

Claims (34)

1. A method comprising:

instantiating a first set of partitions within a processing node, the first set of partitions configured to support a service accessible by a plurality of users, the first set of partitions including a first quantity of partitions;

determining that a load value corresponding to the first set of partitions is greater than a threshold;

instantiating, in response to determining that the load value is greater than the threshold and by an autoscaler, a second set of partitions including a second quantity of partitions determined based on a scaling value, wherein the scaling value decreases as a quantity of partitions that have been instantiated increases; and

modifying the autoscaler based on an indication that the second set of partitions have been instantiated, wherein modifying the autoscaler includes adjusting the threshold to reduce a likelihood that a subsequent load value is greater than the threshold.

2. The method of claim 1 , wherein the first quantity of partitions is selected based on n-modular redundancy.

3. The method of claim 1 , wherein the second quantity of partitions is equal to the first quantity of partitions.

4. The method of claim 1 , further comprising:

determining that the load value is greater than the threshold for a predetermined time interval, wherein instantiating the second set of partitions is further in response to determining that the load value is greater than the threshold for the predetermined time interval.

5. The method of claim 1 , wherein each partition of the first set of partitions includes a set of containers, and wherein each container includes an environment configured to execute one or more applications accessible to one or more users.

6. A system comprising:

one or more processors; and

a machine-readable storage medium storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations including:

instantiating a first set of partitions within a processing node, the first set of partitions configured to support a service accessible by a plurality of users, the first set of partitions including a first quantity of partitions;

determining that a load value corresponding to the first set of partitions is greater than a threshold;

instantiating, in response to determining that the load value is greater than the threshold and by an autoscaler, a second set of partitions including a second quantity of partitions determined based on a scaling value, wherein the scaling value decreases as a quantity of partitions that have been instantiated increases; and

modifying the autoscaler based on an indication that the second set of partitions have been instantiated, wherein modifying the autoscaler includes adjusting the threshold to reduce a likelihood that a subsequent load value is greater than the threshold.

7. The system of claim 6 , wherein the first quantity of partitions is selected based on n-modular redundancy.

8. The method of claim 4 , wherein a length of the predetermined time interval is determined based on a quantity of the partitions that have been instantiated.

9. The system of claim 6 , wherein the second quantity of partitions is equal to the first quantity of partitions.

10. The system of claim 6 , wherein the operations further include:

determining that the load value is greater than the threshold for a predetermined time interval, wherein instantiating the second set of partitions is further in response to determining that the load value is greater than the threshold for the predetermined time interval.

11. The system of claim 10 , wherein a length of the predetermined time interval is determined based on a quantity of the partitions that have been instantiated.

12. The system of claim 6 , wherein each partition of the first set of partitions includes a set of containers, and wherein each container includes an environment configured to execute one or more applications accessible to one or more users.

13. A non-transitory computer-readable storage medium storing instructions that when executed by one or more processors, cause the one or more processors to perform operations including:

instantiating a first set of partitions within a processing node, the first set of partitions configured to support a service accessible by a plurality of users, the first set of partitions including a first quantity of partitions;

determining that a load value corresponding to the first set of partitions is greater than a threshold;

instantiating, in response to determining that the load value is greater than the threshold and by an autoscaler, a second set of partitions including a second quantity of partitions determined based on a scaling value, wherein the scaling value decreases as a quantity of partitions that have been instantiated increases; and

modifying the autoscaler based on an indication that the second set of partitions have been instantiated, wherein modifying the autoscaler includes adjusting the threshold to reduce a likelihood that a subsequent load value is greater than the threshold.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the first quantity of partitions is selected based on n-modular redundancy.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the second quantity of partitions is equal to the first quantity of partitions.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further include:

determining that the load value is greater than the threshold for a predetermined time interval, wherein instantiating the second set of partitions is further in response to determining that the load value is greater than the threshold for the predetermined time interval.

17. The non-transitory computer-readable storage medium of claim 16 , wherein a length of the predetermined time interval is determined based on a quantity of the partitions that have been instantiated.

Assignments (2)
SECURITY INTEREST Recorded Sep 13, 2025
From: LIVEPERSON, INC.; VOICEBASE, INC.; LIVEPERSON AUTOMOTIVE, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 072891/0627 →
PATENT SECURITY AGREEMENT Recorded Jun 3, 2024
From: LIVEPERSON, INC.; LIVEPERSON AUTOMOTIVE, LLC; VOICEBASE, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 067607/0073 →
Continuity (2)
Provisional Application 63319979 · Mar 15, 2022
Related Publication 20230297441A1 · Sep 21, 2023