IP Library Granted Patent US 11,088,953
Granted Patent B2
US 11,088,953 · App. 16/504,383 · Granted Aug 10, 2021

Systems and methods for load balancing

Inventors: Federico Daniel Larumbe (Newark, CA); Dejan Curcic (San Jose, CA)
Assignee: Facebook, Inc.
H04L47/125G06N20/00H04L41/147H04L43/0817H04L47/11H04L47/122H04L47/127H04L67/101H04L67/1008H04L41/16
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,088,953
App. No.
16/504,383
Granted
Aug 10, 2021
Kind
B2
Abstract

The disclosed computer-implemented method may include determining a current load measure of data exiting a network at an access point, generating a load projection for data exiting the network at the access point at a future time, and generating, based at least on the load projection, an assigned address for diverting network traffic to reduce network load at the access point. Generating the load projection may include generating the load projection for data exiting the network across proxy nodes of the access point, determining a model profile from a behavior model set corresponding to previous load measures and the current load measure and extrapolating the load projection according to the model profile, and/or calculating a load profile based on line-fitting with a spline profile corresponding to the previous load measures and the current load measure. Various other methods, systems, and computer-readable media are also disclosed.

Claims (46)

1. A computer-implemented method, comprising:

determining a current load measure of data exiting a network at an access point;

generating a load projection for data exiting the network at proxy nodes of the access point at a future time, wherein generating the load projection comprises using at least one of a polynomial solver or machine learning to extrapolate the load projection from at least one of:

at least one previous load measure of data exiting the network at the access point; or

the current load measure of data exiting the network at the access point;

wherein using the polynomial solver or the machine learning comprises:

calculating one or more derivatives associated with at least one of: the previous load measure or the current load measure; and

using the calculated one or more derivatives to generate the load projection; and

generating, based at least in part on the load projection, an assigned address for diverting network traffic to reduce network load at the access point.

2. The computer-implemented method of claim 1 , wherein determining the current load measure comprises determining at least one of: a current demand or a current usage of one or more resources in a computing system.

3. The computer-implemented method of claim 1 , wherein determining the current load measure comprises measuring an amount of data traffic across the proxy nodes of the access point.

4. The computer-implemented method of claim 1 , wherein generating the assigned address is performed in response to receiving an address request from an end-user device in communication with the network.

5. The computer-implemented method of claim 1 , wherein generating the assigned address is based at least in part on comparing the load projection and a capacity threshold of a computing resource associated with the network.

6. The computer-implemented method of claim 5 , further comprising determining the capacity threshold as a representation of a limit on a capability of the access point.

7. The computer-implemented method of claim 5 , further comprising comparing the capacity threshold and the load projection to generate the assigned address.

8. The computer-implemented method of claim 1 , wherein generating the assigned address comprises generating the assigned address for accessing data including live streaming content.

9. The computer-implemented method of claim 1 , wherein generating the load projection comprises dynamically generating the load projection.

10. The computer-implemented method of claim 7 , wherein generating the assigned address is based at least in part on dynamically generating the load projection.

11. The computer-implemented method of claim 7 , wherein dynamically generating the load projection comprises dynamically generating the load projection within or less than a response time using at least one of the current load measure or the previous load measures.

12. The computer-implemented method of claim 1 , further comprising determining a response time in reacting to a client request to access data from the network.

13. The computer-implemented method of claim 10 , wherein generating the load projection comprises accounting for the response time.

14. The computer-implemented method of claim 1 , further comprising:

balancing, based on the load projection, a load of data exiting the network at the access point based on a comparison time threshold comprising a maximum time with at least one of accuracy or a confidence level that exceeds a predetermined threshold.

15. A computer-implemented method, comprising:

determining a current load measure of data exiting a network at an access point;

generating a load projection for data exiting the network at the access point at a future time by determining a model profile from a behavior model set corresponding to previous load measures and the current load measure and extrapolating the load projection according to the model profile, wherein generating the load projection comprises using at least one of a polynomial solver or machine learning to extrapolate the load projection from at least one of:

at least one of the previous load measures; or

the current load measure;

wherein using the polynomial solver or the machine learning comprises:

calculating one or more derivatives associated with at least one of: the previous load measure or the current load measure; and

using the calculated one or more derivatives to generate the load projection; and

generating an assigned address for diverting network traffic from the access point.

16. The computer-implemented method of claim 15 , further comprising balancing a load of data exiting the network at the access point based on the load projection.

17. The computer-implemented method of claim 16 , wherein balancing the load is performed based on a comparison time threshold.

18. The computer-implemented method of claim 17 , wherein the comparison time threshold comprises a maximum time with at least one of an accuracy or a confidence level that exceeds a predetermined threshold.

19. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

determine a current load measure of data exiting a network at an access point;

generate a load projection for data exiting the network at the access point at a future time, wherein generating the load projection comprises using at least one of a polynomial solver or machine learning to extrapolate the load projection from at least one of:

at least one previous load measure of data exiting the network at the access point; or

the current load measure of data exiting the network at the access point;

wherein using the polynomial solver or the machine learning comprises:

calculating one or more derivatives associated with at least one of: the previous load measure or the current load measure; and

using the calculated one or more derivatives to generate the load projection; and

generate, based at least in part on the load projection, an assigned address for diverting network traffic to reduce network load at the access point.

20. The non-transitory computer-readable medium of claim 19 , wherein the one or more computer-executable instructions further cause the computing device to:

balance, based on the load projection, a load of data exiting the network at the access point based on a comparison time threshold comprising a maximum time with at least one of accuracy or a confidence level that exceeds a predetermined threshold.

Assignments (3)
CHANGE OF NAME Recorded Jan 27, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058871/0336 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COMMA AFTER THE PERIOD IN "INC' IN THE ASSIGNEE'S NAME. THE ASSIGNEE'S NAME SHOULD APPEAR: FACEBOOK, INC. PREVIOUSLY RECORDED AT REEL: 050081 FRAME: 0287. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 13, 2021
From: LARUMBE, FEDERICO DANIEL; CURCIC, DEJAN
To: FACEBOOK, INC.
Reel/Frame 057475/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2019
From: LARUMBE, FEDERICO DANIEL; CURCIC, DEJAN
To: FACEBOOK, INC.,
Reel/Frame 050081/0287 →
Cited By (1)
US 12,683,896