IP Library Granted Patent US 10,931,743
Granted Patent B1
US 10,931,743 · App. 16/806,975 · Granted Feb 23, 2021

Systems and methods for dynamically generating routing tables for edge nodes in large-scale networking infrastructures

Inventors: David Shu-Hao Chou (Menlo Park, CA); Tianyin Xu (Urbana, IL); Kaushik Veeraraghavan (Bainbridge Island, WA); Andrew John Newell (Fremont, CA); Sonia Margulis (Mountain View, CA); Lin Xiao (Redwood City, CA); Pol Mauri Ruiz (Mountain View, CA); Justin James Meza (San Jose, CA); Kiryong Ha (Redmond, WA); Shruti Padmanabha (San Fransico, CA); Kevin Burton Cole (Menlo Park, CA); Dmitri Perelman (San Jose, CA)
Assignee: Facebook, Inc.
H04L67/1002H04L41/145H04L43/08H04L45/745
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 10,931,743
App. No.
16/806,975
Granted
Feb 23, 2021
Kind
B1
Abstract

A disclosed computer-implemented method may include receiving, via a monitoring infrastructure that monitors an operational state of a networking infrastructure, data representative of the operational state of the networking infrastructure during a period of time. The networking infrastructure may include (1) a plurality of data centers, and (2) at least one point-of-presence (POP) edge node. The method may also include (1) accessing data representative of a set of predefined policies associated with the networking infrastructure, and (2) based on the data representative of the operational state (a) determining a set of edge load factors associated with the edge node, and (b) generating, via a linear solver and further based the set of edge load factors associated with the edge node and the set of predefined policies associated with the networking infrastructure, a routing table for the POP edge node. Various other methods, systems, and computer-readable media are also disclosed.

Claims (66)

1. A computer-implemented method comprising:

receiving, via a monitoring infrastructure that monitors an operational state of a networking infrastructure, data representative of the operational state of the networking infrastructure during a period of time, the networking infrastructure comprising:

a plurality of data centers; and

at least one point-of-presence (POP) edge node;

accessing data representative of a set of predefined policies associated with the networking infrastructure;

based on the data representative of the operational state of the networking infrastructure during the period of time:

determining a set of data center load factors, each data center load factor in the set of data center load factors associated with a different data center in the plurality of data centers; and

generating, via a linear solver and further based the set of data center load factors and the set of predefined policies associated with the networking infrastructure, a routing table for the POP edge node.

2. The computer-implemented method of claim 1 , wherein the data representative of the operational state of the networking infrastructure comprises data representative of at least one of:

a traffic load metric associated with a portion of the networking infrastructure;

a capacity metric associated with the portion of the networking infrastructure;

a health metric associated with the portion of the networking infrastructure; or

a utilization metric associated with the portion of the networking infrastructure.

3. The computer-implemented method of claim 1 , wherein the data representative of the operational state of the networking infrastructure comprises at least one of:

a set of edge traffic volume metrics, wherein each edge traffic volume metric included in the set of edge traffic volume metrics is associated with a different data center in the plurality of data centers; or

a set of latency metrics, wherein each latency metric included in the set of latency metrics is representative of a latency between the POP edge node and a different data center in the plurality of data centers.

4. The computer-implemented method of claim 1 , wherein determining the set of data center load factors comprises modeling, based on the data representative of an operational state of a networking infrastructure, a traffic load of a portion of the networking infrastructure.

5. The computer-implemented method of claim 4 , wherein modeling the traffic load of the portion of the networking infrastructure comprises modeling stateless traffic as requests-per-second and sticky traffic as user sessions.

6. The computer-implemented method of claim 1 , wherein:

the linear solver comprises a constrained optimization solver;

the data representative of the set of predefined policies associated with the networking infrastructure comprises data representative of a policy that specifies a constraint and an optimization objective; and

generating the routing table for the POP edge node comprises assigning, via the constrained optimization solver and based on the constraint and the optimization objective, for each data center in the plurality of data centers, a respective fraction of traffic for the POP edge node to route to the data center.

7. The computer-implemented method of claim 6 , wherein:

the constraint comprises equally balancing, for each data center in the plurality of data centers, a utilization metric associated with the data center; and

the optimization objective comprises optimizing a network latency metric associated with the networking infrastructure.

8. The computer-implemented method of claim 6 , wherein:

the constraint comprises, for each data center in the plurality of data centers, a predefined utilization threshold associated with the data center; and

the optimization objective comprises, for each data center in the plurality of data centers, optimizing a latency metric associated with the POP edge node and the data center.

9. The computer-implemented method of claim 1 , wherein generating the routing table for the POP edge node comprises, for each data center in the plurality of data centers, limiting a change in a volume of traffic routed from the POP edge node to the data center in accordance with a threshold volume difference.

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

receiving, via the POP edge node, a user request from a user device; and

routing, in accordance with the routing table, the user request from the POP edge node to a data center in the plurality of data centers.

11. The computer-implemented method of claim 1 , wherein the routing table comprises data representative of a fraction of user traffic received by the POP edge node that the POP edge node routes to a data center included in the plurality of data centers.

12. A system comprising:

a networking infrastructure comprising:

a plurality of data centers; and

at least one point-of-presence (POP) edge node;

a monitoring infrastructure that monitors an operational state of the networking infrastructure;

a receiving module, stored in memory, that receives, via the monitoring infrastructure, data representative of the operational state of the networking infrastructure during a period of time;

an accessing module, stored in memory, that accesses data representative of a policy associated with the networking infrastructure;

a generating module, stored in memory, that, based on the data representative of the operational state of the networking infrastructure during the period of time:

determines a set of data center load factors, each data center load factor in the set of data center load factors associated with a different data center in the plurality of data centers; and

generates, via a linear solver and further based on the set of data center load factors and the policy associated with the networking infrastructure, a routing table for the POP edge node; and

at least one physical processor that executes the receiving module, the accessing module, and the generating module.

13. The system of claim 12 , wherein the generating module determines the set of data center load factors by modeling, based on the data representative of an operational state of a networking infrastructure, a traffic load of a portion of the networking infrastructure.

14. The system of claim 13 , wherein the generating module models the traffic load of the portion of the networking infrastructure by modeling stateless traffic as requests per second (RPS) and sticky traffic as user sessions.

15. The system of claim 12 , wherein:

the linear solver comprises a constrained optimization solver;

the data representative of the policy associated with the networking infrastructure comprises data representative of a policy that specifies a constraint and an optimization objective; and

the generating module generates the routing table for the POP edge node by assigning, via the constrained optimization solver and based on the constraint and the optimization objective, for each data center in the plurality of data centers, a respective fraction of traffic for the POP edge node to route to the data center.

16. The system of claim 12 , wherein the generating module generates the routing table for the POP edge node by, for each data center in the plurality of data centers, limiting a change in a volume of traffic routed from the POP edge node to the data center in accordance with a threshold volume difference.

17. The system of claim 12 , wherein the routing table comprises data representative of a fraction of user traffic received by the POP edge node that the POP edge node routes to a data center included in the plurality of data centers.

18. The system of claim 12 , wherein the data representative of the operational state of the networking infrastructure comprises at least one of:

a set of edge traffic volume metrics, wherein each edge traffic volume metric included in the set of edge traffic volume metrics is associated with a different data center in the plurality of data centers; or

a set of latency metrics, wherein each latency metric included in the set of latency metrics is representative of a latency between the POP edge node and a different data center in the plurality of data centers.

19. The system of claim 12 , further comprising a directing module, stored in memory, that directs the POP edge node to:

receive a user request from a user device; and

route, in accordance with the routing table, the user request from the POP edge node to a data center in the plurality of data centers.

20. A non-transitory computer-readable medium comprising computer-readable instructions that, when executed by at least one processor of a computing system, cause the computing system to:

receive, via a monitoring infrastructure that monitors an operational state of a networking infrastructure, data representative of the operational state of the networking infrastructure during a period of time, the networking infrastructure comprising:

a plurality of data centers; and

at least one point-of-presence (POP) edge node;

access data representative of a set of predefined policies associated with the networking infrastructure;

based on the data representative of the operational state of the networking infrastructure during the period of time:

determine a set of data center load factors, each data center load factor in the set of data center load factors associated with a different data center in the plurality of data center; and

generate, via a linear solver and further based the set of data center load factors and the set of predefined policies associated with the networking infrastructure, a routing table for the POP edge node.

Assignments (2)
CHANGE OF NAME Recorded Nov 17, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058175/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2020
From: CHOU, DAVID SHU-HAO; XU, TIANYIN; VEERARAGHAVAN, KAUSHIK; NEWELL, ANDREW JOHN; MARGULIS, SONIA; XIAO, LIN; RUIZ, POL MAURI; MEZA, JUSTIN JAMES; HA, KIRYONG; PADMANABHA, SHRUTI; COLE, KEVIN BURTON; PERELMAN, DMITRI
To: FACEBOOK, INC.
Reel/Frame 053504/0126 →
Continuity (1)
Provisional Application 62869533 · Jul 1, 2019
Cited By (3)
US 12,395,377 US 12,413,592 US 12,645,556