IP Library › Granted Patent US 12,155,532
Granted Patent B1
US 12,155,532 · App. 18/201,555 · Granted Nov 26, 2024

Using machine learning for online application detection

Inventors: Michal Wladyslaw Garcarz (Cracow, PL); Jean-Philippe Vasseur (Combloux, FR); Guy Keinan (Kfar-Saba, IL)
Assignee: Cisco Technology, Inc.
H04L41/0894H04L41/16
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,155,532
App. No.
18/201,555
Granted
Nov 26, 2024
Kind
B1
Abstract

In one embodiment, a device obtains telemetry data associated with an online application accessible via a network. The device trains, based on the telemetry data, a machine learning model to determine whether a given address in the network is associated with the online application. The device uses the machine learning model to generate a listing of network addresses associated with the online application. The device provides the listing of network addresses for use by an application detection service in the network to determine that an initial packet of a traffic flow is associated with the online application based on a match between a destination address of that packet and a network address in the listing of network addresses.

Claims (38)

1. A method comprising:

obtaining, by a device, telemetry data associated with an online application accessible via a network;

training, by the device and based on the telemetry data, a machine learning model to determine whether a given address in the network is associated with the online application, wherein the telemetry data is filtered to exclude addresses that host multiple applications;

using, by the device, the machine learning model to generate a listing of network addresses associated with the online application; and

providing, by the device, the listing of network addresses for use by an application detection service in the network to determine that an initial packet of a traffic flow, without decrypting the initial packet, is associated with the online application based on a match between a destination address of that packet and a network address in the listing of network addresses.

2. The method as in claim 1 , wherein the telemetry data comprises a listing of addresses in use reported by the online application.

3. The method as in claim 1 , wherein the telemetry data comprises traffic statistics of traffic associated with the online application.

4. The method as in claim 1 , wherein the application detection service is executed by a router or firewall.

5. The method as in claim 1 , wherein the application detection service determines that the initial packet of a traffic flow is associated with the online application without or applying deep packet inspection to the initial packet.

6. The method as in claim 1 , wherein the application detection service applies a network policy to the traffic flow based on its determination that the initial packet of the traffic flow is associated with the online application.

7. The method as in claim 6 , wherein the network policy controls how the traffic flow is routed in the network.

8. The method as in claim 1 , further comprising:

excluding, by the device, a particular network address from inclusion in the listing of network addresses based on it being associated with a content delivery network (CDN) or load balancer.

9. The method as in claim 1 , wherein the telemetry data comprises telemetry generated by a path probing service in the network.

10. The method as in claim 1 , wherein using the machine learning model to generate the listing of network addresses associated with the online application comprises:

applying the machine learning model to a range of network addresses suspected of being associated with the online application.

11. An apparatus, comprising:

one or more network interfaces;

a processor coupled to the one or more network interfaces and configured to execute one or more processes; and

a memory configured to store a process that is executable by the processor, the process when executed configured to:

obtain telemetry data associated with an online application accessible via a network;

train, based on the telemetry data, a machine learning model to determine whether a given address in the network is associated with the online application, wherein the telemetry data is filtered to exclude addresses that host multiple applications;

use the machine learning model to generate a listing of network addresses associated with the online application; and

provide the listing of network addresses for use by an application detection service in the network to determine that an initial packet of a traffic flow, without decrypting the initial packet, is associated with the online application based on a match between a destination address of that packet and a network address in the listing of network addresses.

12. The apparatus as in claim 11 , wherein the telemetry data comprises a listing of addresses in use reported by the online application.

13. The apparatus as in claim 11 , wherein the telemetry data comprises traffic statistics of traffic associated with the online application.

14. The apparatus as in claim 11 , wherein the application detection service is executed by a router or firewall.

15. The apparatus as in claim 11 , wherein the application detection service determines that the initial packet of a traffic flow is associated with the online application without applying deep packet inspection to the initial packet.

16. The apparatus as in claim 11 , wherein the application detection service applies a network policy to the traffic flow based on its determination that the initial packet of the traffic flow is associated with the online application.

17. The apparatus as in claim 16 , wherein the network policy controls how the traffic flow is routed in the network.

18. The apparatus as in claim 11 , wherein the process when executed is further configured to:

exclude a particular network address from inclusion in the listing of network addresses based on it being associated with a content delivery network (CDN) or load balancer.

19. The apparatus as in claim 11 , wherein the telemetry data comprises telemetry generated by a path probing service in the network.

20. A tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising:

obtaining, by the device, telemetry data associated with an online application accessible via a network;

training, by the device and based on the telemetry data, a machine learning model to determine whether a given address in the network is associated with the online application, wherein the telemetry data is filtered to exclude addresses that host multiple applications;

using, by the device, the machine learning model to generate a listing of network addresses associated with the online application; and

providing, by the device, the listing of network addresses for use by an application detection service in the network to determine that an initial packet of a traffic flow, without decrypting the initial packet, is associated with the online application based on a match between a destination address of that packet and a network address in the listing of network addresses.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2023
From: GARCARZ, MICHAL WLADYSLAW; VASSEUR, JEAN-PHILIPPE; KEINAN, GUY
To: CISCO TECHNOLOGY, INC.
Reel/Frame 063752/0229 →
Cited By (2)
US 12,626,244 US 12,669,991