IP Library Granted Patent US 10,498,652
Granted Patent B2
US 10,498,652 · App. 15/407,767 · Granted Dec 3, 2019

Method and system of application-aware routing with crowdsourcing

Inventors: Ajit Ramachandra Mayya (Saratoga, CA); Parag Pritam Thakore (Los Gatos, CA); Stephen Craig Connors (San Jose, CA); Sunil Mukundan (Chennai, IN); Thomas Harold Speeter (San Martin, CA)
Assignee: NICIRA, INC.
H04L45/745H04L12/4633H04L12/66H04L43/028H04L45/306H04L45/42H04L49/35H04L63/029H04L63/0272H04L63/0281G06N20/00H04L67/10
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,498,652
App. No.
15/407,767
Granted
Dec 3, 2019
Kind
B2
Abstract

In one aspect, a computerized method of an application routing service includes the step of using a deep-packet inspection (DPI) technique on a first network flow to identify an application. The method includes the step of storing an Internet-protocol (IP) address and a port number used by the application and an identity of the application in a database. The method includes the step of detecting a second network flow. The method includes the step of identifying the IP address and the port number of the application in the second network flow. The method includes the step of looking up the IP address and the port number in the database. The method includes the step of identifying the application based on the IP address and the port number.

Claims (28)

1. A method for application routing comprising:

at a first edge device of a network:

receiving a first flow associated with an application and identifying in a flow identifier of the first flow an Internet Protocol (IP) address and port number of the application;

using deep packet inspection (DPI) to identify an application identifier that identifies the application associated with the first flow;

storing a record that maps the application identifier with the identified IP address and port number; and

sending the record to a second edge device to use to associate a second flow received by the second edge device with the application identifier by matching an IP address and port number in a flow identifier of the second flow with the identified IP address and port number in the record.

2. The method of claim 1 , wherein the first and second edge devices provide network routing decisions for the first and second flows based on the application identifier.

3. The method of claim 1 , wherein sending the record to the second edge device comprises sending the record to a manager that provides the record to the second edge device.

4. The method of claim 1 , wherein the IP address comprises a Destination IP Address (DIP) and the port number comprises a Destination Port Number (DPORT).

5. The method of claim 1 , wherein the first edge device stores the record in a first local application routing cache at the first edge device, the second edge device stores the record in a second local application routing cache at the second edge device, and the second edge device queries the second local application routing cache based on the IP address and the port number.

6. The method of claim 3 , wherein the network is a first network of a first enterprise and the second edge device belongs to a second network of a second, different enterprise.

7. The method of claim 3 , wherein the manager provides the record to the second edge device in response to receiving a request for application routing data from the second edge device.

8. The method of claim 3 , wherein the manager implements a distributed management plane spanning a set of public cloud datacenters.

9. The method of claim 3 , wherein the first and second flows are for forwarding to the application through a set of cloud gateways that (i) is managed by the manager, (ii) executes in a set of public cloud datacenters, and (iii) connects to the first and second edge devices.

10. The method of claim 2 , wherein the routing decisions use a same quality of service for the first and second flows.

11. The method of claim 3 , wherein the manager stores the record in an application routing database.

12. A non-transitory machine readable medium storing a program for execution on a first edge device of a network, the program comprising sets of instructions for:

receiving a first flow associated with an application and identifying in a flow identifier of the first flow a Layer 3 address and Layer 4 address for the application;

using deep packet inspection (DPI) to identify an application identifier that identifies the application associated with the first flow;

storing a record that maps the application identifier with the identified Layer 3 and Layer 4 addresses; and

sending the record to a second edge device to use to associate a second flow received by the second edge device with the application identifier by matching a Layer 3 address and a Layer 4 address in a flow identifier of the second flow with the identified Layer 3 address and Layer 4 address in the record.

13. The non-transitory machine readable medium of claim 12 , wherein the first and second edge devices provide network routing decisions for the first and second flows based on the application identifier.

14. The non-transitory machine readable medium of claim 13 , wherein the routing decisions use a same quality of service for the first and second flows.

15. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for sending the record to the second edge device comprises a set of instructions for sending the record to a manager that provides the record to the second edge device.

16. The non-transitory machine readable medium of claim 15 , wherein the manager stores the record in an application routing database.

17. The non-transitory machine readable medium of claim 15 , wherein the first and second flows are for forwarding to the application through a set of cloud gateways that (i) is managed by the manager, (ii) executes in a set of public cloud datacenters, and (iii) connects to the first and second edge devices.

18. The non-transitory machine readable medium of claim 15 , wherein the network is a first network that belongs to a first enterprise, and the second edge device belongs to a second network of a second, different enterprise.

19. The non-transitory machine readable medium of claim 12 , wherein the Layer 3 address comprises a Destination IP Address (DIP) and the Layer 4 address comprises a Destination Port Number (DPORT).

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2025
From: VMWARE, LLC
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 072326/0693 →
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INADVERTENT DISCREPANCIES IN THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 044917 FRAME 0102. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Jun 18, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 046129/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: VELOCLOUD NETWORKS, LLC
To: NICIRA, INC.
Reel/Frame 044917/0102 →
CHANGE OF NAME Recorded Jan 30, 2018
From: VELOCLOUD NETWORKS, INC.
To: VELOCLOUD NETWORKS, LLC
Reel/Frame 045195/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: MAYYA, AJIT RAMACHANDRA; CONNORS, STEPHEN CRAIG; MUKUNDAN, SUNIL; SPEETER, THOMAS HAROLD; THAKORE, PARAG PRITAM
To: VELOCLOUD NETWORKS, INC.
Reel/Frame 043823/0979 →
Cited By (33)
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 US 12,719,782