IP Library Granted Patent US 11,115,337
Granted Patent B2
US 11,115,337 · App. 16/429,088 · Granted Sep 7, 2021

Network traffic segregation on an application basis in a virtual computing environment

Inventors: Vasantha Kumar (Pune, IN); Sandeep Kasbe (Pune, IN)
Assignee: Nicira, Inc.
H04L47/24H04L47/31H04L12/4633H04L12/4645
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 11,115,337
App. No.
16/429,088
Granted
Sep 7, 2021
Kind
B2
Abstract

The technology disclosed herein enables segregation of network traffic on an application basis. In a particular embodiment, a method is performed in a virtual network interface for a first guest Operating System (OS) executing on a host and includes receiving guest data packets from the first guest OS. The method further includes associating the guest data packets with respective ones of a plurality of applications executing within the first guest OS and separating the guest data packets into respective ones of a plurality of application port interfaces each corresponding to at least one of the plurality of applications. The method also includes passing the guest data packets to a host network interface using the plurality of application port interfaces.

Claims (50)

1. A method of segregating traffic on an application specific basis, the method comprising:

in a virtual network interface included in a virtual machine executing on a host:

receiving guest data packets from a guest Operating System (OS) executing on the virtual machine;

associating the guest data packets with respective ones of a plurality of applications executing within the guest OS;

separating the guest data packets into respective ones of a plurality of application port interfaces each corresponding to at least one of the plurality of applications and included in the virtual network interface; and

passing the guest data packets from the plurality of application port interfaces to a host network interface included in the host.

2. The method of claim 1 , further comprising:

determining one or more respective users associated with the guest data packets; and

wherein the respective ones of the plurality of application port interfaces also correspond to the respective users.

3. The method of claim 1 , wherein passing the guest data packets to the host network interface comprises:

implementing one or more Quality of Service (QoS) policies for the guest data packets.

4. The method of claim 3 , wherein a first QoS policy of the QoS policies directs the host network interface to use communication bandwidth reserved for data packets of one of the plurality of application port interfaces.

5. The method of claim 1 , wherein associating the guest data packets comprises:

receiving, from a filtering driver of the host, an indication of the respective ones of the plurality of applications associated with each of the guest data packets.

6. The method of claim 1 , wherein separating the guest data packets comprises:

tagging each guest data packet of the guest data packets with a tag indicating an application port interface of the plurality of application port interfaces.

7. The method of claim 6 , further comprising:

in the host network interface, encapsulating the guest data packets in respective tunneling packets for transfer from the host and embedding the tag of each guest data packet in each respective tunneling packet.

8. The method of claim 7 , further comprising:

routing the tunneling packets through a communication network based on the tags; and

wherein one or more Quality of Service (QoS) policies are applied at a destination for the tunneling packets based on the tags.

9. The method of claim 8 , wherein routing the tunneling packets through the communication network comprises implementing an Equal Cost Multipath (ECMP) load balancing policy for the guest data packets based on the tags.

10. The method of claim 7 , wherein the tunneling packets correspond to one or more Virtual Extensible Local Area Network (VXLAN) or Geneve tunnels.

11. A system for segregating traffic on an application specific basis, the system comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

provide a host on which a virtual machine executing a guest Operating System (OS) executes;

in a virtual network interface included in the virtual machine:

receive guest data packets from the guest OS;

associate the guest data packets with respective ones of a plurality of applications executing within the guest OS;

separate the guest data packets into respective ones of a plurality of application port interfaces each corresponding to at least one of the plurality of applications and included in the virtual network interface; and

pass the guest data packets from the plurality of application port interfaces to a host network interface included in the host.

12. The system of claim 11 , wherein the program instructions further direct the processing system to:

determining one or more respective users associated with the guest data packets; and

wherein the respective ones of the plurality of application port interfaces also correspond to the respective users.

13. The system of claim 11 , wherein to pass the guest data packets to the host network interface direct the processing system to:

implement one or more Quality of Service (QoS) policies for the guest data packets.

14. The system of claim 13 , wherein a first QoS policy of the QoS policies directs the host network interface to use communication bandwidth reserved for data packets of one of the plurality of application port interfaces.

15. The system of claim 11 , wherein to associate the guest data packets, the program instructions direct the processing system to:

receive, from a filtering driver of the host, an indication of the respective ones of the plurality of applications associated with each of the guest data packets.

16. The system of claim 11 , wherein to separate the guest data packets, the program instructions direct the processing system to:

tag each guest data packet of the guest data packets with a tag indicating an application port interface of the plurality of application port interfaces.

17. The system of claim 16 , wherein the program instructions further direct the processing system to:

in the host network interface, encapsulate the guest data packets in respective tunneling packets for transfer from the host and embed the tag of each guest data packet in each respective tunneling packet.

18. The system of claim 17 , wherein to pass the guest data packets to the host network interface, the program instructions direct the processing system to:

route the tunneling packets through a communication network based on the tags; and

wherein one or more Quality of Service (QoS) policies are applied at a destination for the tunneling packets based on the tags.

19. The system of claim 18 , wherein to route the tunneling packets through the communication network comprises implementing an Equal Cost Multipath (ECMP) load balancing policy for the guest data packets based on the tags.

20. The system of claim 17 , wherein the tunneling packets correspond to one or more Virtual Extensible Local Area Network (VXLAN) or Geneve tunnels.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 049342 FRAME: 065. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 30, 2021
From: KUMAR, VASANTHA; KASBE, SANDEEP
To: NICIRA, INC.
Reel/Frame 056105/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2019
From: KUMAR, VASANTHA; KASBE, SANDEEP
To: VMWARE, INC.
Reel/Frame 049342/0656 →