IP Library Granted Patent US 11,637,762
Granted Patent B2
US 11,637,762 · App. 17/110,100 · Granted Apr 25, 2023

MDL-based clustering for dependency mapping

Inventors: Ellen Christine Scheib (Mountain View, CA); Ali Parandehgheibi (Sunnyvale, CA); Omid Madani (San Carlos, CA); Vimalkumar Jeyakumar (Los Altos, CA); Navindra Yadav (Cupertino, CA); Mohammadreza Alizadeh Attar (Cambridge, MA)
Assignee: Cisco Technology, Inc.
H04L43/045G06F3/0482G06F3/04842G06F3/04847G06F9/45558G06F16/122G06F16/137G06F16/162G06F16/17G06F16/173G06F16/174G06F16/1744G06F16/1748G06F16/235G06F16/2322G06F16/2365G06F16/248G06F16/24578G06F16/285G06F16/288G06F16/29G06F16/9535G06F21/53G06F21/552G06F21/556G06F21/566G06N20/00G06N99/00G06T11/206H04J3/0661H04J3/14H04L1/242H04L9/0866H04L9/3239H04L9/3242H04L41/046H04L41/0668H04L41/0803H04L41/0806H04L41/0816H04L41/0893H04L41/12H04L41/16H04L41/22H04L43/02H04L43/026H04L43/04H04L43/062H04L43/08H04L43/0805H04L43/0811H04L43/0829H04L43/0841H04L43/0858H04L43/0864H04L43/0876H04L43/0882H04L43/0888H04L43/10H04L43/106H04L43/12H04L43/16H04L45/306H04L45/38H04L45/46H04L45/507H04L45/66H04L45/74H04L47/11H04L47/20H04L47/2441H04L47/2483H04L47/28H04L47/31H04L47/32H04L61/5007H04L63/0227H04L63/0263H04L63/06H04L63/0876H04L63/145H04L63/1408H04L63/1416H04L63/1425H04L63/1433H04L63/1441H04L63/1458H04L63/1466H04L63/16H04L63/20H04L67/01H04L67/10H04L67/1001H04L67/12H04L67/51H04L67/75H04L69/16H04L69/22H04W72/08H04W84/18G06F2009/4557G06F2009/45587G06F2009/45591G06F2009/45595G06F2221/033G06F2221/2101G06F2221/2105G06F2221/2111G06F2221/2115G06F2221/2145H04L67/535
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,637,762
App. No.
17/110,100
Granted
Apr 25, 2023
Kind
B2
Abstract

Systems and methods are provided for automatically discovering applications/clusters in a network and mapping dependencies between the applications/clusters. A network monitoring system can capture network flow data using sensors executing on physical and/or virtual servers of the network and sensors executing on networking devices connected to the servers. The system can determine a graph including nodes, representing at least the servers, and edges, between pairs of the nodes of the graph indicating the network flow data includes one or more observed flows between pairs of the servers represented by the pairs of the nodes. The system can determine a dependency map, including representations of clusters of the servers and representations of dependencies between the clusters, based on the graph. The system can display a first representation of a first cluster of the dependency map and information indicating a confidence level of identifying the first cluster.

Claims (27)

1. A method comprising:

capturing, at a collector associated with a network monitoring system, network flow data relating to a plurality of endpoints, wherein each endpoint is a virtual machine, wherein each endpoint of the plurality of endpoints sends and/or receives packets via a virtual network interface dedicated to the endpoint; and

analyzing the network flow data via a machine-learning based analytics engine, the analyzing comprising the steps of:

creating an application dependency graph, wherein nodes in the application dependency graph correspond to a first set of endpoints that function together as a first distributed application, and wherein edges the application dependency graph correspond to network flows described in the network flow data; and

creating at least one cluster of two or more nodes of the first distributed application based upon a similarity of their connections in the application dependency graph,

wherein the collector receives network flow data relating to at least one additional endpoint, wherein the at least one additional endpoint is selected from a group containing a container, a hypervisor, a server, a network device, an external network, or a service, and wherein the network flow data from the at least one additional endpoint is based upon packets being sent and/or received via a network interface dedicated to the at least one additional endpoint.

2. The method of claim 1 , further comprising observing network packets being sent and/or received at each endpoint and sending network flow data describing the observed network flows to the collector.

3. The method of claim 1 , wherein the collector receives network flow information relating to at least one additional endpoint located on a different network, segment, or tenant space.

4. The method of claim 1 , wherein at least one cluster corresponds to a tier in the first distributed application.

5. The method of claim 1 , wherein application dependency graph descriptions of the endpoints within each cluster of the at least one cluster have a similar minimum description length (MDL).

6. The method of claim 1 , further comprising creating a second application dependency graph, wherein nodes in the second application dependency graph correspond to a second set of endpoints that function together as a second distributed application, and wherein edges in the second application dependency graph correspond to network flows described in the network flow data.

7. The method of claim 1 , further comprising presenting a visual representation of the application dependency graph via a user interface.

8. The method of claim 1 , wherein the network flow data is received and processed in substantially real time to map endpoints to applications.

9. The method of claim 8 , wherein changes in the first distributed application are reflected in changes in the application dependency graph.

10. A network traffic monitoring system comprising:

a collector and a machine-learning based analytics engine, wherein the collector receives network flow data relating to a plurality of endpoints, wherein each endpoint of the plurality of endpoints is a virtual machine, wherein each endpoint of the plurality of endpoints sends and/or receives packets via a virtual network interface dedicated to the endpoint, and wherein the machine-learning based analytics engine is configured to:

analyze the network flow data to identify a first set of endpoints functioning together as a first distributed application, and create an application dependency graph, wherein nodes in the application dependency graph correspond to a first set of endpoints associated with the first distributed application and edges in the application dependency graph correspond to network flows described in the network flow data; and

create at least one cluster of two or more nodes of the first distributed application based upon a similarity of their connections in the application dependency graph,

wherein the collector receives network flow data relating to at least one additional endpoint, wherein the at least one additional endpoint is selected from a group containing a container, a hypervisor, a server, a network device, an external network, or a service, and wherein the network flow data from the at least one additional endpoint is based upon packets being sent and/or received via a network interface dedicated to the at least one additional endpoint.

11. The system of claim 10 , wherein the system further comprises the plurality of endpoints.

12. The system of claim 10 , wherein the collector receives network flow information relating to at least one additional endpoint located on a different network, segment, or tenant space.

13. The system of claim 10 , wherein at least one cluster corresponds to a tier in the first distributed application.

14. The system of claim 10 , wherein application dependency graph descriptions of the endpoints within a cluster of the at least one cluster have a similar minimum description length (MDL).

15. The system of claim 10 , wherein a second set of endpoints correspond to a second distributed application.

16. The system of claim 10 , further comprising a presentation module, the presentation module includes a user interface, and wherein the presentation module creates a visual representation of the application dependency graph via the user interface.

17. The system of claim 10 , wherein the traffic data is captured and processed in substantially real time to map endpoints to applications.

18. The system of claim 17 , wherein changes in the first distributed application are reflected in changes in the application dependency graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: SCHEIB, ELLEN CHRISTINE; PARANDEHGHEIBI, ALI; MADANI, OMID; JEYAKUMAR, VIMALKUMAR; YADAV, NAVINDRA; ATTAR, MOHAMMADREZA ALIZADEH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 054521/0853 →
Continuity (4)
Continuation 16443122 · Jun 17, 2019
Continuation 15145666 · May 3, 2016
Provisional Application 62171899 · Jun 5, 2015
Related Publication 20210176145A1 · Jun 10, 2021
Cited By (1)
US 12,487,801