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

Methods and systems for AI-based load balancing of processing resources in distributed environments

Inventors: Amit Mishra (Bloomfield, CO); Thorsten Ohrstrom Sandgren (New York, NY)
Assignee: LIVEPERSON, INC.
G06F9/505G06F9/5077
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,190
App. No.
18/121,708
Granted
Jan 16, 2024
Kind
B2
Abstract

Systems and method are provided for load balancing in distributed networks. A computing device uses historical resource allocation data associated with a service deployed within a distributed network to train a machine-learning model configured to generate a threshold processing load usable to determine when processing resources allocated to a service within a particular distributed network are to be increased. An autoscaler of the computing device may instantiate a first quantity of partitions within a processing node of the particular distributed network. The computing device may execute the machine-learning model using a load value associated with the first quantity of partitions to generate a threshold processing load. Upon receiving an updated load value that is greater than the threshold process load, the autoscaler may instantiate a second quantity of partitions and, in response, modify the autoscaler based on the updated load value.

Claims (52)

1. A method comprising:

receiving historical resource allocation data associated with a service deployed within a distributed network;

training a machine-learning model using the historical resource allocation data, the machine-learning model being configured to generate a threshold processing load usable to determine when processing resources allocated to a particular service within a particular distributed network are to be increased;

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

receiving a load value corresponding to the first set of partitions;

executing the machine-learning model using the load value, the machine-learning model generating a threshold processing load;

receiving an updated load value corresponding to the first set of partitions;

determining that the updated load value is greater than the threshold processing load;

instantiating, by the autoscaler and in response to determining that the updated load value is greater than the threshold processing load, 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 and the machine-learning model based on the updated load value and in response to instantiating the second set of partitions.

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 , wherein the second quantity of partitions further determined based on a quantity of partitions that have been instantiated.

5. The method of claim 1 ,

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

6. The method of claim 5 , wherein a length of the predetermined time interval is determined based on a quantity of instantiated partitions.

7. 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.

8. 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:

receiving historical resource allocation data associated with a service deployed within a distributed network;

training a machine-learning model using the historical resource allocation data, the machine-learning model being configured to generate a threshold processing load usable to determine when processing resources allocated to a particular service within a particular distributed network are to be increased;

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

receiving a load value corresponding to the first set of partitions;

executing the machine-learning model using the load value, the machine-learning model generating a threshold processing load;

receiving an updated load value corresponding to the first set of partitions;

determining that the updated load value is greater than the threshold processing load;

instantiating, by the autoscaler and in response to determining that the updated load value is greater than the threshold processing load, 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 and the machine-learning model on the updated load value and in response to instantiating the second set of partitions.

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

10. The system of claim 8 , wherein the second quantity of partitions is equal to the first quantity of partitions.

11. The system of claim 8 , wherein the second quantity of partitions further determined based on a quantity of partitions that have been instantiated.

12. The system of claim 8 ,

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

13. The system of claim 12 , wherein a length of the predetermined time interval is determined based on a quantity of instantiated partitions.

14. 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.

15. 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:

receiving historical resource allocation data associated with a service deployed within a distributed network;

training a machine-learning model using the historical resource allocation data, the machine-learning model being configured to generate a threshold processing load usable to determine when processing resources allocated to a particular service within a particular distributed network are to be increased;

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

receiving a load value corresponding to the first set of partitions;

executing the machine-learning model using the load value, the machine-learning model generating a threshold processing load;

receiving an updated load value corresponding to the first set of partitions;

determining that the updated load value is greater than the threshold processing load;

instantiating, by the autoscaler and in response to determining that the updated load value is greater than the threshold processing load, 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 and the machine-learning model based on the updated load value and in response to instantiating the second set of partitions.

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

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

18. The non-transitory computer-readable storage medium of claim 15 , wherein the second quantity of partitions further determined based on a quantity of partitions that have been instantiated.

19. The non-transitory computer-readable storage medium of claim 15 ,

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

20. The non-transitory computer-readable storage medium of claim 19 , wherein a length of the predetermined time interval is determined based on a quantity of instantiated partitions.

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 63319984 · Mar 15, 2022
Related Publication 20230297433A1 · Sep 21, 2023