IP Library Granted Patent US 10,523,543
Granted Patent B2
US 10,523,543 · App. 15/940,121 · Granted Dec 31, 2019

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 10,523,543
App. No.
15/940,121
Granted
Dec 31, 2019
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 (61)

1. A component discovery method for identifying components undiscoverable by or unresponsive to active scanning or querying, the method comprising:

intercepting data communications occurring between components in a computer network;

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

analyzing the important data communications to determine a quantity of the important data communications established by a first component; and

generating a hypothesis indicating the first component is a server host when the quantity meets a threshold.

2. The method of claim 1 , further comprising:

determining, using the intercepted data communications, a second component that communicates with the first component more than a predetermined quantity of times;

identifying a first application installed on the second component;

determining which communication ports are used in communications between the first component and the second component; and

generating a second hypothesis about a second application installed on the first component, the second hypothesis based on the communication ports used in the data communications between the first component and the second component and based on the second application.

3. The method of claim 1 , further comprising:

generating a second hypothesis indicating an operational relationship between the first component and a second component, the second hypothesis based on a first application installed on the second component and the communication ports used by the important data communications;

generating a third hypothesis indicating an operational relationship between the first component and the second component based on the first application and the communication ports used by the important data communications; and

enabling a user to select a relationship from the second hypothesis and the third hypothesis.

4. The method of claim 1 , further comprising storing the important data communications in a memory device, the analyzing using the stored data communications.

5. The method of claim 1 , wherein the important data communications include communications using predetermined communication ports.

6. The method of claim 1 , wherein communications using predetermined communication ports are excluded from the important data communications.

7. The method of claim 1 , further comprising:

intercepting data communications occurring between applications on the first component;

identifying a first application by determining that at least some of the intercepted data communications occurring between applications occur on predetermined communication ports between the first application and a second application, and

generating a second hypothesis about the first application on the first component based on the second application and the communication ports used in the data communications between the first application and the second application.

8. The method of claim 1 , further comprising:

intercepting data communications occurring between applications on the first component; and

generating a second hypothesis indicating an operational relationship between the first application and the second application based on analyzing the data communications occurring between a first application and a second application to determine communication port ranges used.

9. The method of claim 1 , further comprising:

identifying at least a first application on the first component by analyzing the important data communications occurring between the first component and a second component; and

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

10. The method of claim 9 , 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 communication ports of the first component used to communicate with port ranges of the second component.

11. The method of claim 9 , wherein analyzing the important data communications includes determining a network address of the first component and a network address of the second component.

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

13. A network discovery system for identifying network components undiscoverable by or unresponsive to active scanning or querying, the network discovery system comprising:

a communication network;

a plurality of components operatively coupled to the communication network, the plurality of components including at least a first component;

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 plurality of components in the communication network,

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

analyze the important data communications to determine a quantity of the important data communications involving the first component, and

generate a hypothesis that the first component is a server host when the quantity meets a threshold.

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

determine, using the intercepted data communications, a second component that communicates with the first component more than a predetermined quantity of times;

identify a first application installed on the second component;

determine which communication ports are used in communications between the first component and the second component; and

generate a second hypothesis about a second application installed on the first component based on the communication ports used and the second application.

15. The network discovery system of claim 13 , wherein the instructions further include instructions that, when executed by the programmable control device, cause the computing device to store the important data communications in a memory device, the identifying and analyzing using the stored data communications.

16. The network discovery system of claim 13 , wherein the important data communications include communications using predetermined communication ports.

17. The network discovery system of claim 13 , wherein the hypothesis is a first hypothesis and the instructions further include instructions that, when executed by the programmable control device, cause the computing device to:

intercept data communications occurring between applications installed on the first component;

generate a second hypothesis about an operational relationship between the first application and the second application based on analyzing the data communications occurring between a first application and a second application to determine communication port ranges used.

18. The network discovery system of claim 17 , further comprising building a model of an infrastructure of the communication network using the first hypothesis and the second hypothesis.

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

identify at least a first application installed on the first component by analyzing the important data communications occurring between the first component and a second component; and

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

20. The network discovery system of claim 19 , 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 communication ports of the first component used to communicate with port ranges of the second component.

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 052844/0646 →
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 →
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 →
SECURITY INTEREST Recorded Jun 22, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046176/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2018
From: SPINELLI, LIONEL; CHABRIER, JEAN-CLAUDE; GERMAIN, PIERRE
To: BMC SOFTWARE, INC.
Reel/Frame 045420/0061 →