IP Library Granted Patent US 10,404,612
Granted Patent B2
US 10,404,612 · App. 15/655,371 · Granted Sep 3, 2019

Prioritizing flows in software defined networks

Inventors: Yong Wang (Sunnyvale, CA); Ronghua Zhang (San Jose, CA)
Assignee: Nicira, Inc.
H04L47/6215H04L45/26H04L45/42H04L45/02H04L45/302H04L45/38H04L47/20H04L49/90
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,404,612
App. No.
15/655,371
Granted
Sep 3, 2019
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance network traffic management. In one implementation, a method of operating a network interface system on a host computing system includes receiving a plurality of network packets and, for each packet in the plurality of network packets, identifying whether the packet comprises a control packet for fault detection in a software defined network (SDN). The method further includes prioritizing, for processing by a main processing system of the computing system, each packet in the plurality of network packets based on whether the packet comprises a control packet for fault detection in a SDN.

Claims (37)

1. A method of operating a network interface system on a computing system to manage network traffic, the method comprising:

receiving a plurality of network packets;

for each packet in the plurality of network packets, identifying whether the packet comprises a control packet for fault detection in a software defined network (SDN); and

prioritizing, for processing by a main processing system of the computing system, each packet in the plurality of network packets based on whether the packet comprises a control packet for fault detection in a SDN, wherein the prioritizing comprises:

in response to identifying that the packet comprises a control packet, placing the packet in a first processing queue for the main processing system of the computing system; and

in response to identifying that the packet does not comprise a control packet, placing the packet in at least one secondary processing queue for the main processing system.

2. The method of claim 1 , wherein identifying whether the packet comprises a control packet for fault detection in a SDN comprises identifying whether the packet comprises a Bidirectional Forwarding Detection packet.

3. The method of claim 1 , wherein identifying whether the packet comprises a control packet for fault detection in a SDN comprises identifying whether the packet comprises a Border Gateway Protocol packet.

4. The method of claim 1 , wherein the first processing queue is allocated a first set of processing resources for the main processing system, and wherein the at least one secondary processing queue is allocated a second set of processing resources for the main processing system.

5. The method of claim 4 , wherein the first set of processing resources comprise a first processing core allocation, a first clock cycle allocation, or a first memory allocation, and wherein the second set of processing resources comprise a second processing core allocation, a second clock cycle allocation, or a second memory allocation.

6. The method of claim 1 , wherein the plurality of network packets is encapsulated in a plurality of tunneling packets, and wherein identifying whether the packet comprises a control packet comprises identifying whether the packet comprises a control packet based on an identifier within a header for a corresponding tunneling packet.

7. The method of claim 1 , wherein the computing system comprises a first host computing system of a computing environment, and wherein receiving the plurality of network packets comprises receiving the plurality of network packets from at least one second host computing system of the computing environment.

8. A computing apparatus comprising:

one or more non-transitory computer readable storage media;

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

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

receive a plurality of network packets;

for each packet in the plurality of network packets, identify whether the packet comprises a control packet for fault detection in a software defined network (SDN); and

prioritize, for processing by a main processing system of the host computing system, each packet in the plurality of network packets based on whether the packet comprises a control packet for fault detection in the SDN, wherein the prioritizing comprises:

in response to identifying that the packet comprises a control packet, place the packet in a first processing queue for the main processing system of the host computing system; and

in response to identifying that the packet does not comprise a control packet, place the packet in at least one secondary queue for the main processing system.

9. The computing apparatus of claim 8 , wherein the program instructions to identify whether the packet comprises a control packet for fault detection in a SDN direct the processing system to identify whether the packet comprises a Bidirectional Forwarding Detection packet.

10. The computing apparatus of claim 8 , wherein the program instructions to identify whether the packet comprises a control packet for fault detection in a SDN direct the processing system to identify whether the packet comprises a Border Gateway Protocol packet.

11. The computing apparatus of claim 8 , wherein the first processing queue is allocated a first set of processing resources for the main processing system, and wherein the at least one secondary processing queue is allocated a second set of processing resources for the main processing system.

12. The computing apparatus of claim 11 , wherein the first set of processing resources comprise a first processing core allocation, a first clock cycle allocation, or a first memory allocation, and wherein the second set of processing resources comprise a second processing core allocation, a second clock cycle allocation, or a second memory allocation.

13. The computing apparatus of claim 8 , the plurality of network packets is encapsulated in a plurality of tunneling packets, and wherein identifying whether the packet comprises a control packet comprises identifying whether the packet comprises a control packet based on an identifier within a header for a corresponding tunneling packet.

14. The computing apparatus of claim 8 , wherein receiving the plurality of network packets comprises receiving the plurality of network packets from at least one second host computing system.

15. A computing system to manage received network traffic comprising:

a main processing system configured to execute at least one virtual node; and

a network interface system communicatively coupled to the main processing system and configured to:

receive a plurality of network packets;

for each packet in the plurality of network packets, identify when the packet comprises a control packet for fault detection in a software defined network (SDN); and

prioritize, for processing by the main processing system, each packet in the plurality of packets based on whether the packet comprises a control packet for fault detection in a SDN, wherein the prioritizing comprises:

when the packet comprises a control packet, place the packet in a first processing queue of a plurality of processing queues for the main processing system, the first processing queue allocated to process at least control packets for fault detection; and

when the packet does not comprise a control packet, place the packet in at least one secondary processing queue of the plurality of processing queues.

16. The computing system of claim 15 , wherein the at least one virtual node comprises at least one virtual machine or at least one container.

17. The computing system of claim 15 , wherein identifying whether the packet comprises a control packet for fault detection in a SDN comprises identifying whether the packet comprises a Bidirectional Forwarding Detection packet or a Border Gateway Protocol packet.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2017
From: WANG, YONG; ZHANG, RONGHUA
To: NICIRA, INC.
Reel/Frame 043228/0613 →
Continuity (2)
Provisional Application 62428785 · Dec 1, 2016
Related Publication 20180159790A1 · Jun 7, 2018