IP Library › Granted Patent US 10,778,544
Granted Patent B2
US 10,778,544 · App. 16/105,420 · Granted Sep 15, 2020

Dynamic allocation of processing queues for control packets in software defined networks

Inventors: Yong Wang (Sunnyvale, CA); Eduard Serra Miralles (Redwood City, CA); David James LeRoy (Los Gatos, CA)
Assignee: VMware, Inc.
H04L43/028H04L41/0677H04L41/20H04L47/50H04L49/70
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,778,544
App. No.
16/105,420
Granted
Sep 15, 2020
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance network traffic management. In one implementation, upon initialization of a computing system, the computing system may select one or more processing queues from a plurality of processing of processing queues to filter control packets of at least one software defined network. The computing system may further configure a network interface to filter the control packets to the identified one or more processing queues.

Claims (62)

1. A method of managing network traffic in a computing system, the method comprising:

in response to an initialization of the computing system, selecting, at random or at pseudorandom, a processing queue for control packets of at least one software defined network from a plurality of processing queues available on the computing system;

configuring a network interface to filter the control packets to the selected processing queue.

2. The method of claim 1 , further comprising:

receiving a plurality of network packets at the network interface;

for each packet in the plurality of network packets, identifying when the packet comprises a control packet for the at least one software defined network; and

when the packet comprises a control packet for the at least one software defined network, placing the packet in the selected processing queue.

3. The method of claim 1 , wherein the control packets comprise Bidirectional Forwarding Detection packets.

4. The method of claim 1 , wherein the control packets comprise a Border Gateway Protocol packets.

5. The method of claim 1 further comprising:

identifying a timeout event for the selected processing queue;

in response to the timeout event, selecting a second processing queue to replace the selected processing queue for the control packets from the plurality of processing queues; and

configuring the network interface to filter the control packets to the second processing queue.

6. The method of claim 1 further comprising:

identifying when a quantity of packets processed from the selected processing queue satisfy a processed packet threshold;

in response to the quantity of packets processed from the selected processing queue satisfying the processed packet threshold, selecting a second processing queue to replace the selected processing queue for the control packets from the plurality of processing queues; and

configuring the network interface to filter the control packets to the second processing queue.

7. The method of claim 1 further comprising:

identifying when a length of the selected processing queue satisfies a length threshold;

in response to the length of the selected processing queue satisfying the length threshold, selecting a second processing queue to replace the selected processing queue for the control packets from the plurality of processing queues; and

configuring the network interface to filter the control packets to the second processing queue.

8. The method of claim 1 , wherein the control packets of the at least one software defined network comprises control packets capable of identifying fault detection.

9. A computing system comprising:

one or more non-transitory computer readable storage media;

at least one processing system operatively coupled to the one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media to manage network traffic in the computing system that, when read and executed by the at least one processing system, direct the at least one processing system to at least:

in response to an initialization of the computing system, select, at random or at pseudorandom, one or more processing queues for control packets of at least one software defined network from a plurality of processing queues available on the computing system;

configure a network interface to filter the control packets to the one or more processing queues.

10. The computing system of claim 9 , wherein the program instructions further direct the at least one processing system to:

receive a plurality of network packets at the network interface;

for each packet in the plurality of packets, identify when the packet comprises a control packet for the at least one software defined network; and

when the packet comprises a control packet for the at least one software defined network, place the packet in the one or more processing queues.

11. The computing system of claim 9 , wherein the control packets comprise Bidirectional Forwarding Detection packets or Border Gateway Protocol packets.

12. The computing system of claim 9 , wherein the program instructions further direct the at least one processing system to:

identify an expiration event for the one or more processing queues;

in response to the expiration event, select one or more secondary processing queues to replace the one or more processing queues for the control packets from the plurality of processing queues; and

configure the network interface to filter the control packets to the one or more secondary processing queues.

13. The computing system of claim 9 , wherein the program instructions further direct the at least one processing system to:

identify a timeout event for the one or more processing queues; and

in response to the timeout event, select one or more secondary processing queues to replace the one or more processing queues for the control packets from the plurality of processing queues; and

configure the network interface to filter the control packets to the one or more secondary processing queues.

14. The computing system of claim 9 , wherein the program instructions further direct the at least one processing system to:

identify when a quantity of packets processed from the one or more processing queues satisfy a processed packet threshold; and

in response to the quantity of packets processed from the one or more processing queues satisfying the processed packet threshold, select one or more secondary processing queues to replace the one or more processing queues for the control packets from the plurality of processing queues; and

configure the network interface to filter the control packets to the one or more secondary processing queues.

15. The computing system of claim 9 , wherein the program instructions further direct the at least one processing system to:

identifying when a length of the one or more processing queues satisfies a length threshold; and

in response to the length of the one or more processing queues satisfying the length threshold, select one or more secondary processing queues to replace the one or more processing queues for the control packets from the plurality of processing queues; and

configure the network interface to filter the control packets to the one or more secondary processing queues.

16. The computing system of claim 9 , wherein the control packets of the at least one software defined network comprises control packets capable of identifying fault detection.

17. A computing system comprising:

a network interface system operatively coupled to a processing system; and

the processing system configured to:

select one or more first processing queues to filter packets with a quality of service requirement from a plurality of processing queues;

configure the network interface system to filter the packets with the quality of service requirement to the one or more first processing queues;

identify an expiration event for the one or more first processing queues;

in response to the expiration event, select one or more secondary processing queues to replace the one or more first processing queues from the plurality of processing queues; and

configure the network interface system to filter the packets with the quality of service requirement to the one or more secondary processing queues.

18. The computing system of claim 17 , wherein the expiration event comprises:

a timeout event for the one or more first processing queues;

a quantity of packets processed from the one or more first processing queues satisfying a processed packet threshold; or

a length of the one or more first processing queues satisfying a length threshold.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2018
From: WANG, YONG; SERRA MIRALLES, EDUARD; LEROY, DAVID JAMES
To: VMWARE, INC.
Reel/Frame 046755/0514 →
Continuity (1)
Related Publication 20200059421A1 · Feb 20, 2020