IP Library Granted Patent US 9,967,162
Granted Patent B2
US 9,967,162 · App. 14/164,524 · Granted May 8, 2018

Generic discovery for computer networks

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 9,967,162
App. No.
14/164,524
Granted
May 8, 2018
Kind
B2
Abstract

A generic discovery methodology collects data pertaining to components of a computer network using various discovery technologies. From the collected data, the methodology identifies, filters and analyzes information related to inter-component communications. Using the communication and application information, the methodology determines reliable relationships for those components having sufficient information available. To qualify more components, the methodology implements a decision service to generate hypothetical relationships between components that are known and components that are unqualified or unknown. The hypothetical relationships are presented to a user for selection, and each hypothetical relationship is preferably associated with an indication of its reliability.

Claims (62)

1. A component discovery method comprising:

intercepting data communications occurring between a first computer system in a computer network and a second computer system in the computer network;

identifying a sub-set of the intercepted data communications as important based on communication ports used in the data communications;

identifying at least a first application on the first computer system by analyzing the important data communications; and

generating a first hypothesis of an operational relationship between the first computer system and the second computer system based on the first application and the communication ports used by the important data communications.

2. The method of claim 1 , wherein the important data communications include communications using pre-determined ports.

3. The method of claim 1 , wherein communications using pre-determined ports are excluded from the important data communications.

4. The method of claim 1 , wherein the first application is identified by determining that communication ports used by the first application in the important data communications match a range of ports used to communicate with a known application.

5. The method of claim 1 , wherein the first application is identified by determining that communication ports used by the first application in the important data communications match ports known to be used to establish simultaneous connections with multiple other computer systems in the computing network.

6. The method of claim 1 , further comprising:

intercepting data communications occurring between applications on the first computer system; and

identifying a second application on the first computer system by:

determining that at least some of the intercepted communications occur between the first application and the second application, and

determining that a type of the at least some important communications between the first application and the second application matches a known type of communications,

wherein the first hypothesis is further based on the identity of the second application.

7. The method of claim 1 , wherein analyzing the important data communications includes:

determining listening ports used in the important communications;

determining open port ranges used in the important communications;

determining client ports used in the important communications; and

determining ports of the first computer system used to communicate with port ranges of the second computer system.

8. The method of claim 1 , wherein analyzing the important data communications includes:

determining a network address of the first computer system and the second computer system.

9. The method of claim 1 , further comprising building a model of an infrastructure of the computer network using the first hypothesis.

10. The method of claim 1 , further comprising:

generating a second hypothesis of a second operational relationship between the first computer system and the second computer system based on the first application and the communication ports used by the important data communications; and

enabling a user to select a relationship from at least two generated hypotheses of relationships.

11. A network discovery system, comprising:

a communication network; and

a plurality of components operatively coupled to the communication network, the plurality of components including a first computer system and a second computer system, and at least one component being a computing device having at least one programmable control device and a storage device operatively coupled to the programmable control device, the storage device having stored therein instructions that, when executed by the programmable control device, cause the computing device to:

intercept data communications occurring between the first computer system and the second computer system,

identify a sub-set of the intercepted data communications as important based on communication ports used in the data communications,

determine an identity of at least a first application on the first computer system by analyzing the important data communications, and

generate a first hypothesis of an operational relationship between the first computer system and the second computer system based on the identity of the first application and the communication ports used by the important data communications.

12. The network discovery system of claim 11 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to identify the first application by determining that communication ports used by the first application in the important data communications match a range of ports used to communicate with a known application.

13. The network discovery system of claim 11 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to identify the first application by determining that communication ports used by the first application in the important data communications match ports known to be used to establish simultaneous connections with multiple other computer systems in the communication network.

14. The network discovery system of claim 11 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to:

intercept data communications occurring between applications on the first computer system; and

determine an identity of a second application on the first computer system by:

determining that at least some of the intercepted communications occur between the first application and the second application, and

determining that a type of the at least some important communications between the first application and the second application matches a known type of communications associated with the identity of the second application,

wherein the first hypothesis is further based on the identity of the second application.

15. The network discovery system of claim 11 , wherein analyzing the important data communications includes:

determining listening ports used in the important communications;

determining open port ranges used in the important communications;

determining client ports used in the important communications; and

determining ports of the first computer system used to communicate with port ranges of the second computer system.

16. The network discovery system of claim 11 , wherein analyzing the important data communications includes:

determining a network address of the first computer system and the second computer system.

17. The network discovery system of claim 11 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to build a model of an infrastructure of the communication network using the first hypothesis.

18. The network discovery system of claim 11 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to:

generate a second hypothesis of a second operational relationship between the first computer system and the second computer system based on the first application and the communication ports used by the important data communications; and

enable a user to select a relationship from at least two generated hypotheses of relationships.

19. A non-transitory computer-readable device comprising instructions stored on the computer-readable device for causing a programmable control device to:

identify TCP connections between a first computer system in a computer network and a second computer system in the computer network;

identify a set of communications using the TCP connections as important communications based on port information extracted from the communications;

identifying at least a first application on the first computer system by analyzing the important communications; and

generating a first hypothesis of an operational relationship between the first computer system and the second computer system based on the first application and the ports used by the important communications.

20. The non-transitory computer-readable device of claim 19 , wherein identifying the first application on the first computer system includes:

determining the port information for a particular data communication occurs in a known range; and

determining that the first computer system and the second computer system are known to host particular application types.

21. The non-transitory computer-readable device of claim 19 , wherein identifying the first application on the first computer system includes:

determining that at least some of the important communications are made within contiguous port numbers.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2018
From: SPINELLI, LIONEL; CHABRIER, JEAN-CLAUDE; GERMAIN, PIERRE
To: BMC SOFTWARE, INC.
Reel/Frame 044971/0422 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →