IP Library › Granted Patent US 12,363,019
Granted Patent B2
US 12,363,019 · App. 18/456,140 · Granted Jul 15, 2025

Systems and methods for intelligent application grouping

Inventors: Jeremy Littlejohn (Fairview, NC); Greg Watts (Nottingham, NH)
Assignee: RISC Networks, LLC
H04L43/12H04L41/145H04L43/062H04L47/803H04L67/10H04L69/32
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,363,019
App. No.
18/456,140
Granted
Jul 15, 2025
Kind
B2
Abstract

A method is described that comprises collecting communication data travelling among a plurality of computing nodes in a networked environment. The method includes using the communication data to create a plurality of connectivity records, wherein each connectivity record comprises a communication between a source computing node and a destination computing node of the plurality of computing nodes. The method includes associating the communication with an application context and protocol. The method includes processing the plurality of connectivity records to eliminate connectivity records that meet at least one criteria, wherein the plurality of connectivity records includes associated application contexts and protocols, wherein a first portion of the plurality of connectivity records comprises the eliminated connectivity records, wherein a second portion of the plurality of connectivity records comprises the remainder of the connectivity records. The method includes building a graph using the second portion of the connectivity records.

Claims (33)

1. A computer-implemented method comprising:

under control of a computing system comprising one or more computing devices configured to execute specific instructions,

collecting communication data regarding communications among a plurality of computing nodes in a networked environment;

creating a plurality of connectivity records from the communication data, wherein each connectivity record of the plurality of connectivity records represents a communication between a source computing node and a destination computing node of the plurality of computing nodes;

generating cross-reference data based on the plurality of connectivity records cross-referenced with service oriented architecture group membership information for corresponding computing nodes associated with the plurality of connectivity records;

determining device types for the corresponding computing nodes associated with the plurality of connectivity records based at least partly on the cross-reference data;

identifying a plurality of applications of the networked environment based at least partly on device types for individual computing nodes associated with the plurality of connectivity records; and

generating a graph of the networked environment based at least partly on the identifying the plurality of applications, wherein the graph comprises a plurality of vertices corresponding to the plurality of applications.

2. The computer-implemented method of claim 1 , wherein creating the plurality of connectivity records from the communication data comprises creating the plurality of connectivity records from portions of the communication data that satisfy a criterion.

3. The computer-implemented method of claim 1 , wherein generating the graph comprises including, in the graph, a plurality of edges representing communication links between applications.

4. The computer-implemented method of claim 3 , wherein generating the graph comprises including, in the graph, an edge that designates whether a communication link is critical or non-critical.

5. The computer-implemented method of claim 3 , wherein generating the graph comprises including, in the graph, an edge that designates whether an application is licensed or unlicensed.

6. The computer-implemented method of claim 1 , wherein creating the plurality of connectivity records from the communication data comprises creating a first connectivity record using a first communication which comprises a source IP address of a first source computing node and a destination IP address of a first destination computing node.

7. The computer-implemented method of claim 6 , further comprising associating the first communication with an application context.

8. The computer-implemented method of claim 7 , further comprising associating the first communication with a protocol.

9. The computer-implemented method of claim 1 , further comprising determining to exclude a service orientated architecture application from a set of applications represented by vertices of the graph.

10. A system comprising:

computer-readable memory storing executable instructions; and

one or more processors in communication with the computer-readable memory and configured by the executable instructions to at least:

collect communication data regarding communications among a plurality of computing nodes in a networked environment;

create a plurality of connectivity records from the communication data, wherein each connectivity record of the plurality of connectivity records represents a communication between a source computing node and a destination computing node of the plurality of computing nodes;

generate cross-reference data based on the plurality of connectivity records cross-referenced with service oriented architecture group membership information for corresponding computing nodes associated with the plurality of connectivity records;

determine device types for the corresponding computing nodes associated with the plurality of connectivity records based at least partly on the cross-reference data;

identify a plurality of applications of the networked environment based at least partly on device types for individual computing nodes associated with the plurality of connectivity records; and

generate a graph of the networked environment in response to identifying the plurality of applications, wherein the graph comprises a plurality of vertices corresponding to the plurality of applications.

11. The system of claim 10 , wherein to create the plurality of connectivity records from the communication data, the one or more processors are further configured by the executable instructions to create the plurality of connectivity records from portions of the communication data that satisfy a criterion.

12. The system of claim 10 , wherein the graph comprises a plurality of edges representing communication links between applications.

13. The system of claim 12 , wherein the graph comprises an edge that designates whether a communication link is critical or non-critical.

14. The system of claim 12 , wherein the graph comprises an edge that designates whether an application is licensed or unlicensed.

15. The system of claim 10 , wherein to create the plurality of connectivity records from the communication data, the one or more processors are further configured by the executable instructions to create a first connectivity record using a first communication which comprises a source IP address of a first source computing node and a destination IP address of a first destination computing node.

16. The system of claim 15 , wherein the one or more processors are further configured by executable instructions to associate the first communication with an application context.

17. The system of claim 16 , wherein the one or more processors are further configured by executable instructions to associate the first communication with a protocol.

18. The system of claim 10 , wherein the one or more processors are further configured by executable instructions to exclude a service orientated architecture application from a set of applications represented by vertices of the graph.

Continuity (6)
Continuation 17586051 · Jan 27, 2022
Continuation 16889545 · Jun 1, 2020
Continuation 16239761 · Jan 4, 2019
Continuation 15223864 · Jul 29, 2016
Continuation In Part 14846791 · Sep 6, 2015
Related Publication 20240171525A1 · May 23, 2024
References Cited (18)
US 7925874B1 · Zaitsev · 2011 [cited by applicant]
US 9231833B1 · Bandopadhyay · 2016 [cited by applicant]
US 10193824B2 · Littlejohn et al. · 2019 [cited by applicant]
US 20020095454A1 · Reed et al. · 2002 [cited by applicant]
US 20070061495A1 · Cummins et al. · 2007 [cited by applicant]
US 20090295798A1 · Goel · 2009 [cited by applicant]
US 20100067400A1 · Dolganow et al. · 2010 [cited by applicant]
US 20100328311A1 · Lakshmanan et al. · 2010 [cited by applicant]
US 20120271806A1 · Ieong · 2012 [cited by examiner]
US 20120297089A1 · Carothers · 2012 [cited by applicant]
US 20130117847A1 · Friedman et al. · 2013 [cited by applicant]
US 20140068747A1 · Burchfield et al. · 2014 [cited by applicant]
US 20140108483A1 · Tarta et al. · 2014 [cited by applicant]
US 20140172782A1 · Schuenzel · 2014 [cited by examiner]
US 20150304880A1 · Kotecha et al. · 2015 [cited by applicant]
US 20160028580A1 · Radivojevic et al. · 2016 [cited by applicant]
US 20170054643A1 · Fraser · 2017 [cited by applicant]
US 20170126564A1 · Mayya · 2017 [cited by examiner]