IP Library Granted Patent US 12,137,051
Granted Patent B1
US 12,137,051 · App. 17/181,862 · Granted Nov 5, 2024

Network analysis and management based on a quantitative theory of bottleneck structures

Inventors: Jordi Ros-Giralt (Newport Beach, CA); Noah Amsel (New York, NY); Sruthi Yellamraju (Germantown, MD); Richard A. Lethin (New York, NY)
Assignee: Reservoir Labs, Inc.
H04L47/12H04L43/045H04L43/0882
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 12,137,051
App. No.
17/181,862
Granted
Nov 5, 2024
Kind
B1
Abstract

A technique is described for quantifying the effect of a perturbation on a property of a network link or flow, and to manipulate the network based on a quantitative estimation of the perturbation.

Claims (48)

1. A method for managing network flows, the method comprising performing by a processor the steps of:

for a network having a plurality of links and a plurality of flows active during a specified time window constructing a gradient graph comprising one or more link vertices respectively corresponding to one or more links and one or more flow vertices respectively corresponding to one or more flows, wherein the gradient graph comprises one or more link-to-flow edges from a link vertex to one or more flow vertices, indicating that respective flows corresponding to the one or more flow vertices are bottlenecked at a link corresponding to the link vertex;

computing and storing, for each link vertex, a respective fair share of a corresponding link;

selecting, from the plurality of flows, a flow to be accelerated;

determining, by traversing the gradient graph, a target flow associated with a positive flow gradient;

computing a leap and a fold for the target flow, wherein the fold comprises two links having a substantially same fair share;

reducing a flow rate of the target flow using a traffic shaper by a factor up to the leap; and

increasing a flow rate of the flow to be accelerated up to a product of the leap and a gradient of the flow to be accelerated.

2. The method of claim 1 , wherein the gradient graph comprises one or more flow-to-link edges from a flow vertex to one or more link vertices, wherein a flow corresponding to the flow vertex traverses respective links corresponding to the respective link vertices, but is not bottlenecked at the respective links.

3. The method of claim 2 , wherein at least one of the one or more link-to-flow edges comprises a bidirectional edge.

4. The method of claim 1 , wherein constructing the gradient graph comprises:

determining, for each link in the network, a number of flows bottlenecked at that link;

summing, over the plurality of links, the respective numbers of flows bottlenecked at each link, to obtain a total number of link-to-flow edges in the gradient graph; and

allocating memory based on, at least in part, the total number of link-to-flow edges for the gradient graph.

5. The method of claim 1 , wherein the factor is selected to preserve completion time of slowest of the plurality of flows.

6. The method of claim 1 , further comprising repeating the determining, computing, reducing, and increasing steps.

7. The method of claim 1 , wherein the gradient graph comprises a first level of link vertices and a second, lower level of link vertices, the method further comprising, for adding a new flow to the network, designating the new flow to at least one link of the second level, to improve flow performance.

8. The method of claim 1 , further comprising:

selecting, from the plurality of links, a link for which capacity is to be increased;

computing a leap of a gradient of the selected link; and

increasing capacity of the selected link by up to the leap, to improve network performance.

9. The method of claim 1 , wherein the network comprises a data network, a transportation network, an energy distribution network, a fluidic network, or a biological network.

10. A system for managing network flows, the system comprising:

a first processor; and

a first memory in electrical communication with the first processor, and comprising instructions that, when executed by a processing unit that comprises one or more computing units, wherein one of the one or more computing units comprises the first processor or a second processor, and wherein the processing unit is in electronic communication with a memory module that comprises the first memory or a second memory, program the processing unit to:

for a network having a plurality of links and a plurality of flows active during a specified time window, construct a gradient graph comprising one or more link vertices respectively corresponding to one or more links and one or more flow vertices respectively corresponding to one or more flows, wherein the gradient graph comprises one or more link-to-flow edges from a link vertex to one or more flow vertices, indicating that respective flows corresponding to the one or more flow vertices are bottlenecked at a link corresponding to the link vertex;

compute and store, for each link vertex, a respective fair share of a corresponding link;

select, from the plurality of flows, a flow to be accelerated;

determine, by traversing the gradient graph, a target flow associated with a positive flow gradient;

compute a leap and a fold for the target flow, wherein the fold comprises two links having a substantially same fair share;

reduce a flow rate of the target flow using a traffic shaper by a factor up to the leap; and

increase a flow rate of the flow to be accelerated up to a product of the leap and a gradient of the flow to be accelerated.

11. The system of claim 10 , wherein the gradient graph comprises one or more flow-to-link edges from a flow vertex to one or more link vertices, wherein a flow corresponding to the flow vertex traverses respective links corresponding to the respective link vertices, but is not bottlenecked at the respective links.

12. The system of claim 11 , wherein at least one of the one or more link-to-flow edges comprises a bidirectional edge.

13. The system of claim 10 , wherein to construct the gradient graph the instructions program the processing unit to:

determine, for each link in the network, a number of flows bottlenecked at that link;

sum, over the plurality of links, the respective numbers of flows bottlenecked at each link, to obtain a total number of link-to-flow edges in the gradient graph; and

allocate memory based on, at least in part, the total number of link-to-flow edges for the gradient graph.

14. The system of claim 10 , wherein the instructions program the processing unit to select the factor to preserve completion time of slowest of the plurality of flows.

15. The system of claim 10 , wherein the instructions further program the processing unit to repeat the determine, compute, reduce, and increase operations.

16. The system of claim 10 , wherein:

the gradient graph comprises a first level of link vertices and a second, lower level of link vertices; and

the instructions further program the processing unit, for adding a new flow to the network, to designate the new flow to at least one link of the second level, to improve flow performance.

17. The system of claim 10 , wherein the instructions further program the processing unit to:

select, from the plurality of links, a link for which capacity is to be increased;

compute a leap of a gradient of the selected link; and

increase capacity of the selected link by up to the leap, to improve network performance.

18. The system of claim 10 , wherein the network comprises a data network, a transportation network, an energy distribution network, a fluidic network, or a biological network.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2025
From: RESERVOIR LABS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 070167/0110 →
CONFIRMATORY LICENSE Recorded Mar 30, 2022
From: RESERVOIR LABS, INC.
To: UNITED STATES DEPARTMENT OF ENERGY
Reel/Frame 059554/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2021
From: ROS-GIRALT, JORDI; AMSEL, NOAH; YELLAMRAJU, SRUTHI; LETHIN, RICHARD A.
To: RESERVOIR LABS, INC.
Reel/Frame 057138/0328 →
Continuity (1)
Provisional Application 63013183 · Apr 21, 2020