IP Library Granted Patent US 10,992,558
Granted Patent B1
US 10,992,558 · App. 16/216,235 · Granted Apr 27, 2021

Method and apparatus for distributed data network traffic optimization

Inventors: Victor de Souza Lima e Silva (San Francisco, CA); Archit Baweja (San Francisco, CA); Nithin Michael (San Francisco, CA)
Assignee: VMWARE, INC.
H04L43/062H04L45/123H04L47/122H04L43/0829H04L43/0852H04L43/0882H04L45/56
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,992,558
App. No.
16/216,235
Granted
Apr 27, 2021
Kind
B1
Abstract

Embodiments disclosed include a method and apparatus for global traffic control and optimization for software-defined networks. In an embodiment, data traffic is optimized by distributing predefined metrics (data traffic information) to all controllers in the network. The predefined metrics are specific to local network switches and controllers, but are distributed to all peers at configurable intervals. “Local” as used herein implies one POP and its associated switch and controller. The method of distribution of local POP metrics is strictly in band using a packet as defined by the protocol used by the data network.

Claims (27)

1. A method for routing packets among at least three points of presence (POPs) in a network, each POP comprising a network controller and a forwarding element, the method comprising:

at a first POP comprising a first network controller and a first forwarding element:

interpreting, at the first network controller, data collected from the first forwarding element to derive local processing data comprising at least latency, packet loss, and link utilization associated with data packets processed at the first POP; and

sending, from the first forwarding element, a set of information packets containing the local processing data to other forwarding elements of other POPs for processing at the other POPs; and

at a second POP comprising a second network controller and a second forwarding element, using the sent local processing data to identify routes for data packet flows from the second POP to the other POPs.

2. The method of claim 1 , wherein local processing data in the information packets further comprises a device ID for the first forwarding element.

3. The method further comprising using, at each particular POP other than the first and second POPs, the sent local processing data to identify routes for data packet flows from the particular POP to other POPs.

4. The method of claim 1 , wherein the first forwarding element collects local processing data to provide to the first network controller.

5. The method of claim 1 , wherein interpreting the data further comprises updating a feedback database local to the first network controller with the local processing data.

6. The method of claim 1 , wherein using the sent local processing data to identify routes for data packet flows from the second POP to other POPs further comprises updating a feedback database local to the second POP with the sent local processing data.

7. The method of claim 6 , wherein the second network controller uses data from the local feedback database as input for a routing algorithm and receives as output from the routing algorithm a set of routing data to identify the routes for data packet flows from the second POP to other POPs.

8. The method of claim 7 , wherein the second network controller directs the second forwarding element to install routing rules based on the set of routing data.

9. The method of claim 1 , wherein each network controller in the plurality of network controllers comprises a processor.

10. The method of claim 1 , wherein the first POP sends a set of information packets containing local processing data at a particular interval.

11. A non-transitory machine readable medium storing a program for execution by at least one processing unit of a point of presence (POP) in a network, the program for routing packets among at least three POPs in the network, each POP comprising a network controller and a forwarding element, the program comprising sets of instructions for:

at a first POP comprising a first network controller and a first forwarding element:

interpreting, at the first network controller, data collected from the first forwarding element to derive local processing data comprising at least latency, packet loss, and link utilization associated with data packets processed at the first POP; and

sending, from the first forwarding element, a set of information packets containing the local processing data to other forwarding elements of other POPs for processing at the other POPs,

wherein each particular other POP uses the sent local processing data to identify routes for data packet flows from the particular POP to the other POPs.

12. The non-transitory machine readable medium of claim 11 , wherein local processing data in the information packets further comprises a device ID for the first forwarding element.

13. The non-transitory machine readable medium of claim 11 , wherein the first forwarding element collects local processing data to provide to the first network controller.

14. The non-transitory machine readable medium of claim 11 , wherein interpreting the data further comprises updating a feedback database local to the first network controller with the local processing data.

15. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for each other POP using the sent local processing data to identify routes for data packet flows from each particular POP to other POPs further comprises a set of instructions for updating a feedback database local to the particular POP with the sent local processing data.

16. The non-transitory machine readable medium of claim 15 , wherein each network controller at each particular POP uses data from the feedback database local to the particular POP as input for a routing algorithm and receives as output from the routing algorithm a set of routing data to identify the routes for data packet flows from the particular POP to other POPs.

17. The non-transitory machine readable medium of claim 16 , wherein for each POP, the particular network controller directs the particular forwarding element to install routing rules based on the set of routing data.

18. The non-transitory machine readable medium of claim 1 , wherein each network controller in the plurality of network controllers comprises a processor.

19. The non-transitory machine readable medium of claim 1 , wherein the first POP sends a set of information packets containing local processing data at a particular interval.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2020
From: THE MODE GROUP
To: VMWARE, INC.
Reel/Frame 054637/0251 →
Cited By (32)
US 12,218,800 US 12,218,845 US 12,237,990 US 12,250,114 US 12,261,777 US 12,267,364 US 12,316,524 US 12,335,131 US 12,355,655 US 12,368,676 US 12,375,403 US 12,401,544 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 US 12,483,968 US 12,489,672 US 12,506,678 US 12,507,120 US 12,507,148 US 12,507,153 US 12,526,183 US 12,549,465 US 12,563,438 US 12,568,039 US 12,587,468 US 12,603,827 US 12,603,848 US 12,632,330 US 12,652,217 US 12,659,719