# US 12,120,138 B1 · Using a remote procedure call (RPC) service to provide data on neighboring devices

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

- Number: US 12,120,138 B1
- Document ID: US12120138B1
- Status: Granted
- Kind: B1
- Application number: 17/682,262
- Filed: 2022-02-28
- Granted: 2024-10-15
- Earliest claimed: 2022-02-28
- Assignees: Rapid7, Inc.
- Applicants: Rapid7, Inc.
- Inventors: Emmett Kelly; Ross Kirk
- Web page: https://patentgrep.com/patent/US12120138B1

## CPC

- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 63/02: {for separating internal from external traffic, e.g. firewalls}
- H04W 64/00: Locating users or terminals {or network equipment} for network management purposes, e.g. mobility management
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A software agent executing on a computing device receives a request from a client to provide data associated with neighboring devices to the computing device. The client includes a scan engine to perform a network scan of a network that includes the computing device. The software agent accesses device data in a cache of an operating system command, determines, based on the device data, an identifier associated with each device that is neighboring the computing device, converts the device data into a standardized format to create neighboring device data, and sends the neighboring device data to the client.

## Claims

### Claim 1

A method comprising:
receiving, by a software agent executing on a computing device, a request from a client to provide data associated with neighboring devices, the client including a scan engine to perform a network scan of a network that includes the computing device;
accessing, by the software agent, device data in a cache of an operating system command, wherein the operating system command is specific to an operating system of the computing device;
determining, by the software agent and based on the device data, at least one identifier associated with each device that is neighboring the computing device;
converting, by the software agent, the device data into a standardized format to create neighboring device data, wherein the standardized format is a same format for a plurality of different operating systems; and
sending, by the software agent, the neighboring device data to the client.

### Claim 2 (depends on 1)

The method of claim 1, wherein the operating system command comprises:
a Neighbor Discovery Protocol (NDP) command.

### Claim 3 (depends on 1)

The method of claim 1, wherein the operating system command comprises:
an Address Resolution Protocol (ARP) command.

### Claim 4 (depends on 1)

The method of claim 1, wherein the at least one identifier comprises:
a media access control (MAC) address.

### Claim 5 (depends on 1)

The method of claim 1, wherein the at least one identifier comprises:
an internet protocol (IP) address.

### Claim 6 (depends on 1)

The method of claim 1, wherein the request from the client to provide the data associated with the neighboring devices is received at an application programming interface (API) endpoint.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
at least one device that is neighboring the computing device includes a device firewall that is configured to not respond to the network scan;
an intermediary firewall prevents the network scan from reaching the at least one device that is neighboring the computing device;
the network scan is not configured to scan an address associated with the at least one device that is neighboring the computing device; or
any combination thereof.

### Claim 8

A computing device comprising:
one or more processors; and
one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising:
receiving a request from a client to provide data associated with neighboring devices, the client including a scan engine to perform a network scan of a network that includes the computing device;
accessing device data in a cache of an operating system command, wherein the operating system command is specific to an operating system of the computing device;
determining, based on the device data, at least one identifier associated with each device that is neighboring the computing device;
converting the device data into a standardized format to create neighboring device data, wherein the standardized format is a same format for a plurality of different operating systems; and
sending the neighboring device data to the client.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the operating system command comprises:
a Neighbor Discovery Protocol (NDP) command.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the operating system command comprises:
an Address Resolution Protocol (ARP) command.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the at least one identifier comprises:
a media access control (MAC) address.

### Claim 12 (depends on 8)

The computing device of claim 8, wherein the at least one identifier comprises: an internet protocol (IP) address.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein:
at least one device that is neighboring the computing device includes a device firewall that is configured to not respond to the network scan;
an intermediary firewall prevents the network scan from reaching the at least one device that is neighboring the computing device;
the network scan is not configured to scan an address associated with the at least one device that is neighboring the computing device; or
any combination thereof.

### Claim 14

One or more non-transitory computer readable media storing instructions executable by one or more processors of a computing device to perform operations comprising:
receiving a request from a client to provide data associated with neighboring devices, the client including a scan engine to perform a network scan of a network that includes the computing device;
accessing device data in a cache of an operating system command, wherein the operating system command is specific to an operating system of the computing device;
determining, based on the device data, at least one identifier associated with each device that is neighboring the computing device;
converting the device data into a standardized format to create neighboring device data, wherein the standardized format is a same format for a plurality of different operating systems; and
sending the neighboring device data to the client.

### Claim 15 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the operating system command comprises:
a Neighbor Discovery Protocol (NDP) command.

### Claim 16 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the operating system command comprises:
an Address Resolution Protocol (ARP) command.

### Claim 17 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the at least one identifier comprises:
a media access control (MAC) address.

### Claim 18 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the at least one identifier comprises:
an internet protocol (IP) address.

### Claim 19 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the request from the client to provide the data associated with the neighboring devices is received at an application programming interface (API) endpoint.

### Claim 20 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein:
at least one device that is neighboring the computing device includes a device firewall that is configured to not respond to the network scan;
an intermediary firewall prevents the network scan from reaching the at least one device that is neighboring the computing device;
the network scan is not configured to scan an address associated with the at least one device that is neighboring the computing device; or
any combination thereof.
