IP Library Granted Patent US 12,457,275
Granted Patent B2
US 12,457,275 · App. 18/750,943 · Granted Oct 28, 2025

Application based egress interface selection

Inventors: Madhusudhan Ravi (San Jose, CA); Wilson Wang (Mountain View, CA); Rajeev Nair (Newark, CA)
Assignee: VMware LLC
H04L69/162H04L45/306H04L45/54H04L45/745H04L47/125
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,457,275
App. No.
18/750,943
Granted
Oct 28, 2025
Kind
B2
Abstract

A method of selecting an egress interface for a source process running on an electronic device is provided. The device implements a TCP/IP stack utilized by a plurality of applications for sending network packets. The method receives a packet from a particular application in the plurality of applications to send to a network destination over a socket tagged with an identifier of the particular application. The method compares the socket tag with a set of network egress interface tags. Each network egress interface tag is associated with a network egress interface in a plurality of network egress interfaces. Each network egress interface tag includes the identifier of an application that utilizes the network egress interface. The method selects a network egress interface with a tag that matches the socket tag. The method sends the packet to the network destination through the selected network egress interface.

Claims (24)

1. A method for networking, comprising:

providing a plurality of network interfaces, the plurality of network interfaces comprising a first network egress interface and a second network egress interface;

executing a plurality of applications on a computer, the plurality of applications comprising a first application;

receiving a packet from the first application, the packet comprising a tag for identifying network egress interfaces, the tag comprising an identifier of the first application utilizing the first and second network egress interfaces;

selecting the first network egress interface using at least the tag and a first match selection; and

sending the packet to a destination through the first network egress interface according to a set of parameters.

2. The method of claim 1 , wherein the tag further comprises the set of parameters.

3. The method of claim 1 , further comprising performing load balancing to select the first network egress interface.

4. The method of claim 1 , wherein the first network egress interface implements a transport control protocol/Internet protocol (TCP/IP) stack.

5. The method of claim 1 , wherein the tag comprises a universally unique identifier (UUID) of the first application.

6. The method of claim 1 , further comprising using a round robin selection to select the first network egress interface.

7. The method of claim 1 , wherein the first network egress interface and the second network egress interface are connected to a same gateway.

8. The method of claim 1 , wherein the first network egress interface is associated with the first application and a second application.

9. The method of claim 1 , wherein the first network egress interface is associated with a first network egress interface, and the tag comprises a socket tag.

10. A non-transitory computer readable-medium storing a program for execution by at least one processing unit of a computer, the program comprising sets of instructions for:

providing a plurality of network interfaces, the plurality of network interfaces comprising a first network egress interface and a second network egress interface;

executing a plurality of applications on an electronic device;

receiving a packet from a first application, the packet comprising a tag for identifying the network egress interface, the tag comprising an identifier of the first application utilizing network egress interfaces;

selecting the first network egress interface using at least the tag and a first match selection; and

sending the packet to a destination through the first network egress interface according to a set of parameters.

11. The non-transitory computer readable-medium of claim 10 non-transitory computer readable-medium, wherein the computer implements a transport control protocol/Internet protocol (TCP/IP) stack, and the TCP/IP stack is the program.

12. The non-transitory computer readable-medium of claim 10 non-transitory computer readable-medium, wherein the tag further comprises the set of parameters.

13. The non-transitory computer readable-medium of claim 10 non-transitory computer readable-medium, wherein the first network egress interface implements a transport control protocol/Internet protocol (TCP/IP) stack.

14. The non-transitory computer readable-medium of claim 10 non-transitory computer readable-medium, wherein the tag comprises a universally unique identifier (UUID) of the first application.

Assignments (2)
MERGER Recorded Feb 28, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070363/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: RAVI, MADHUSUDHAN; WANG, WILSON; NAIR, RAJEEV
To: NICIRA, INC.
Reel/Frame 068878/0599 →
Continuity (5)
Continuation 17952318 · Sep 26, 2022
Continuation 16920415 · Jul 2, 2020
Continuation 16048680 · Jul 30, 2018
Provisional Application 62539347 · Jul 31, 2017
Related Publication 20240348704A1 · Oct 17, 2024
References Cited (20)
US 7606160B2 · Klinker · 2009 [cited by examiner]
US 7830896B2 · Srivastava · 2010 [cited by examiner]
US 7861167B2 · Fernando et al. · 2010 [cited by applicant]
US 8014278B1 · Subramanian · 2011 [cited by examiner]
US 8606911B2 · Raleigh · 2013 [cited by examiner]
US 9571342B2 · Chao · 2017 [cited by examiner]
US 9608902B2 · Malik et al. · 2017 [cited by applicant]
US 9876719B2 · Revah · 2018 [cited by examiner]
US 9954791B2 · Sreeramoju · 2018 [cited by examiner]
US 10038616B2 · Talat et al. · 2018 [cited by applicant]
US 10116515B2 · MacFaden · 2018 [cited by examiner]
US 10243857B1 · Mizrahi · 2019 [cited by examiner]
US 10326675B2 · Raleigh · 2019 [cited by examiner]
US 10721338B2 · Ravi et al. · 2020 [cited by applicant]
US 11457096B2 · Ravi et al. · 2022 [cited by applicant]
US 20140321290A1 · Jin et al. · 2014 [cited by applicant]
US 20140325228A1 · Roitshtein · 2014 [cited by examiner]
US 20180367438A9 · Liang · 2018 [cited by examiner]
US 20190068759A1 · Ravi et al. · 2019 [cited by applicant]
US 20200336571A1 · Ravi et al. · 2020 [cited by applicant]