# US 8,305,931 B2 · Incremental and targeted auto-discovery of network devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,305,931 B2
- Document ID: US8305931B2
- Status: Granted
- Kind: B2
- Application number: 12/544,317
- Filed: 2009-08-20
- Published: 2010-02-25
- Granted: 2012-11-06
- Earliest claimed: 2008-08-24
- Assignees: OPNET Technologies, Inc.
- Inventors: Krishnan Sivaramakrishna Iyer; James Mark Shaw; Jerrold A. Stiffler
- Web page: https://patentgrep.com/patent/US8305931B2

## CPC

- H04L 41/12: Discovery or management of network topologies
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and/or system is configured to improve the results of an auto-detection of network devices based on the causes of detection failures in preceding runs of the auto-detection process. As each device that is believed to be in the network is found to be undiscovered, the identification of the device and information regarding the cause(s) of non-discovery are stored. Prior to the next auto-detection run, one or more of the discovery parameters are modified, based on the causes associated with the undiscovered devices. The extent to which the discovery parameters are modified is preferably based on the apparent stability of the network, or upon the detection of changes to the network.

## Claims

### Claim 1

A method comprising:
at a first time:
commencing a discovery process on a network analysis system using a first set of discovery parameters, the discovery process being configured to discover a plurality of discovered devices on a network, and to provide an identification of at least one undiscovered device on the network and a corresponding at least one cause associated with not discovering the undiscovered device,
storing the identification of the at least one undiscovered device and corresponding at least one cause in a memory, and
terminating the discovery process, and
at a second time:
retrieving the identification of the at least one undiscovered device and corresponding at least one cause from the memory,
modifying the first set of discovery parameters based on the at least one cause, to provide a second set of discovery parameters,
commencing the discovery process on the network analysis system at a second time using the second set of discovery parameters to discover the at least one undiscovered device, and
providing one or more reports based on the at least one undiscovered device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second time is separated from the first time by at least a day.

### Claim 3 (depends on 1)

The method of claim 1, wherein the modifying of the first set of discovery parameters is based on a classification of the network.

### Claim 4 (depends on 3)

The method of claim 3, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 5 (depends on 1)

The method of claim 1, wherein the cause is selected from a set of: exclusion, and failure to respond.

### Claim 6 (depends on 1)

The method of claim 1, wherein, if the cause is exclusion, one or more sources of the exclusion is stored in the memory.

### Claim 7 (depends on 6)

The method of claim 6, wherein the modifying of the first set of discovery parameters is based on a classification of the network and the one or more sources of exclusion.

### Claim 8 (depends on 7)

The method of claim 7, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 9 (depends on 6)

The method of claim 6, wherein the one or more sources of exclusion include one or more of:
included address list,
excluded address list,
included vendor list,
excluded vendor list, and
hop limit parameters.

### Claim 10 (depends on 6)

The method of claim 6, wherein, if the cause is failure to respond, one or more sources of belief that the undiscovered device is on the network is stored in the memory.

### Claim 11 (depends on 1)

The method of claim 1, wherein, if the cause is failure to respond, one or more sources of belief that the undiscovered device is on the network is stored in the memory.

### Claim 12 (depends on 11)

The method of claim 11, wherein the modifying of the first set of discovery parameters is based on a classification of the network and the one or more sources of belief.

### Claim 13 (depends on 12)

The method of claim 12, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 14 (depends on 11)

The method of claim 11, wherein the one or more sources of belief includes one or more of:
ARP (Address Resolution Protocol) table,
IP (Internet Protocol) subnet sweep,
routing table subnet sweep,
routing table next hop, and
neighbor discovery.

### Claim 15 (depends on 1)

The method of claim 1, including identifying one or more target segments of the network and modifying the first set of discovery parameters based on the one or more target segments.

### Claim 16 (depends on 15)

The method of claim 15, including querying one or more devices for configuration data, comparing the configuration data to prior configuration data to identify configuration changes, and identifying the one or more target segments based on the configuration changes.

### Claim 17 (depends on 15)

The method of claim 15, including receiving user input and identifying the one or more target segments based on the user input.

### Claim 18

A system comprising:
a processor that is configured to communicate with devices on a network to identify discovered devices and undiscovered devices, and
a memory that is configured to store an identification of each undiscovered device and a corresponding at least one cause associated with a lack of discovery of the undiscovered device on the network,
wherein the processor is further configured to:
retrieve the identification of at least one undiscovered device and the corresponding at least one cause from the memory,
modify a first set of discovery parameters associated with the lack of discovery of the undiscovered device on the network based on the corresponding at least one cause, to provide a second set of discovery parameters, and
communicate with one or more of the devices on the network to discover whether the at least one undiscovered device is on the network, based on the second set of discovery parameters.

### Claim 19 (depends on 18)

The system of claim 18, wherein the processor is configured to modify the first set of discovery parameters based on a classification of the network.

### Claim 20 (depends on 19)

The system of claim 19, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 21 (depends on 18)

The system of claim 18, wherein the cause is selected from a set of: exclusion, and failure to respond.

### Claim 22 (depends on 18)

The system of claim 18, wherein, if the cause is exclusion, the processor is configured to store one or more sources of the exclusion in the memory.

### Claim 23 (depends on 22)

The system of claim 22, wherein the processor is configured to modify the first set of discovery parameters based on a classification of the network and the one or more sources of exclusion.

### Claim 24 (depends on 23)

The system of claim 23, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 25 (depends on 22)

The system of claim 22, wherein the one or more sources of exclusion include one or more of:
included address list,
excluded address list,
included vendor list,
excluded vendor list, and
hop limit parameters.

### Claim 26 (depends on 18)

The system of claim 18, wherein, if the cause is failure to respond, the processor is configured to store one or more sources of belief that the undiscovered device is on the network in the memory.

### Claim 27 (depends on 26)

The system of claim 26, wherein the processor is configured to modify the first set of discovery parameters based on a classification of the network and the one or more sources of belief.

### Claim 28 (depends on 27)

The system of claim 27, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 29 (depends on 26)

The system of claim 26, wherein the one or more sources of belief includes one or more of:
ARP (Address Resolution Protocol) table,
IP (Internet Protocol) subnet sweep,
routing table subnet sweep,
routing table next hop, and
neighbor discovery.

### Claim 30 (depends on 18)

The system of claim 18, wherein the processor is configured to modify the first set of discovery parameters based on one or more identified target segments of the network.

### Claim 31 (depends on 30)

The system of claim 30, wherein the processor is configured to detect changes at one or more devices on the network and to identify the one or more target segments based on the changes.

### Claim 32 (depends on 30)

The system of claim 30, wherein the processor is configured to receive user input and to determine the identified target segments based on this input.

### Claim 33

A non-transitory computer readable medium that is configured to store a program that is configured to cause a processor to:
retrieve an identification of at least one undiscovered device and corresponding at least one cause associated with not discovering the at least one undiscovered device from a memory,
retrieve a first set of discovery parameters used by a discovery process that failed to discover the at least one undiscovered device,
modify the first set of discovery parameters based on the at least one cause, to provide a second set of discovery parameters,
execute the discovery process using the second set of discovery parameters to discover the at least one undiscovered device, and
provide one or more reports based on the at least one undiscovered device.

### Claim 34 (depends on 33)

The medium of claim 33, wherein the program is configured to cause the processor to modify the first set of discovery parameters based on a classification of the network.

### Claim 35 (depends on 34)

The medium of claim 34, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 36 (depends on 33)

The medium of claim 33, wherein the cause is selected from a set of: exclusion, and failure to respond.

### Claim 37 (depends on 33)

The medium of claim 33, wherein, if the cause is exclusion, the program is configured to cause the processor to store one or more sources of the exclusion in the memory.

### Claim 38 (depends on 37)

The medium of claim 37, wherein the program is configured to cause the processor to modify the first set of discovery parameters based on a classification of the network and the one or more sources of exclusion.

### Claim 39 (depends on 38)

The medium of claim 38, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 40 (depends on 37)

The medium of claim 37, wherein the one or more sources of exclusion include one or more of:
included address list,
excluded address list,
included vendor list,
excluded vendor list, and
hop limit parameters.

### Claim 41 (depends on 33)

The medium of claim 33, wherein, if the cause is failure to respond, the program is configured to cause the processor to store one or more sources of belief that the undiscovered device is on the network in the memory.

### Claim 42 (depends on 41)

The medium of claim 41, wherein the program is configured to cause the processor to modify the first set of discovery parameters based on a classification of the network and the one or more sources of belief.

### Claim 43 (depends on 42)

The medium of claim 42, wherein the classification is selected from a set of at least two of: dynamic, static, and transitional.

### Claim 44 (depends on 41)

The medium of claim 41, wherein the one or more sources of belief includes one or more of:
ARP (Address Resolution Protocol) table,
IP (Internet Protocol) subnet sweep,
routing table subnet sweep,
routing table next hop, and
neighbor discovery.

### Claim 45 (depends on 33)

The medium of claim 33, wherein the program is configured to cause the processor to modify the first set of discovery parameters based on one or more identified target segments of the network.

### Claim 46 (depends on 45)

The medium of claim 45, wherein the program is configured to cause the processor to detect changes at one or more devices on the network and to identify the one or more target segments based on the changes.

### Claim 47 (depends on 45)

The medium of claim 45, wherein the program is configured to receive user input and to determine the identified target segments based on this input.
