# US 11,909,621 B2 · Systems and methods for implementing a network resiliency testbed emulator

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

- Number: US 11,909,621 B2
- Document ID: US11909621B2
- Status: Granted
- Kind: B2
- Application number: 18/328,277
- Filed: 2023-06-02
- Published: 2023-12-07
- Granted: 2024-02-20
- Earliest claimed: 2022-06-03
- Assignees: LinQuest Corporation
- Applicants: LinQuest Corporation
- Inventors: Robert Arthur Hughes, Jr.
- Web page: https://patentgrep.com/patent/US11909621B2

## CPC

- H04L 43/50: Testing arrangements
- H04L 43/55: Testing of service level quality, e.g. simulating service usage
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for network resiliency testing comprising: executing a resiliency testbed application at a plurality of virtual machines; accessing, by the plurality of virtual machines, network configuration data stored in a configuration database, the configuration data corresponding to a topology of a network to be emulated; configuring at least a portion of the virtual machines, according to the network configuration data, to emulate a plurality of nodes of the network to be emulated; automatically determining least cost paths between the plurality of nodes; simulating communications between the plurality of nodes based on the determined least cost paths; and determining one or more metrics of the network to be emulated based on the simulation.

## Claims

### Claim 1

A method for network resiliency testing comprising:
executing a resiliency testbed application at a plurality of virtual machines;
accessing, by the plurality of virtual machines, network configuration data stored in a configuration database, the configuration data corresponding to a topology of a network to be emulated;
configuring at least a portion of the virtual machines, according to the network configuration data, to emulate a plurality of nodes of the network to be emulated;
automatically determining least cost paths between the plurality of nodes;
simulating communications between the plurality of nodes based on the determined least cost paths; and
determining one or more metrics of the network to be emulated based on the simulation.

### Claim 2 (depends on 1)

The method of claim 1, wherein each node instantiates communications links to one or more other nodes for communicating information to the one or more other nodes.

### Claim 3 (depends on 1)

The method of claim 1, wherein at least one of the nodes instantiates a path component for communicating to other path components of other nodes to analyze the least cost path across nodes.

### Claim 4 (depends on 1)

The method of claim 1, wherein automatically determining least cost paths between the plurality of nodes comprises using swarm theory techniques to flood the emulated plurality of nodes with propagated data structures to analyze least cost paths from all nodes to all nodes.

### Claim 5 (depends on 1)

The method of claim 1, wherein the nodes are configured to calculate a vector position for a visual layout and broadcast the vector position to other nodes so that the network topology can be visually displayed to a user.

### Claim 6 (depends on 1)

The method of claim 1, wherein each virtual machine emulates a plurality of nodes.

### Claim 7 (depends on 1)

The method of claim 1, comprising emulating at least 20,000 nodes.

### Claim 8 (depends on 1)

The method of claim 1, wherein automatically determining least cost paths between the plurality of nodes comprises automatically discovering shortest paths between nodes by transmitting path analysis payloads between nodes.

### Claim 9 (depends on 8)

The method of claim 8, wherein the payloads comprise a source node identification, a target node identification, and a list of nodes visited by the payload.

### Claim 10 (depends on 9)

The method of claim 9, wherein the list of nodes visited by the payload is updated by at least one of the nodes receiving the payload.

### Claim 11 (depends on 9)

The method of claim 9, wherein automatically determining least cost paths between the plurality of nodes comprises, at a respective node, determining that the target node identification identifies the respective node, updating the target node identification with the source node identification and send the payload back to the source node.

### Claim 12 (depends on 9)

The method of claim 9, wherein automatically determining least cost paths between the plurality of nodes comprises, at the source node, determining that the source identification and the target identification identifies the source node, and determining whether a path traversed by the payload is a shortest path between the source node and the target node.

### Claim 13 (depends on 1)

The method of claim 1, comprising displaying at least a portion of the metrics via a user interface to a user.

### Claim 14

A computing system comprising one or more processors, memory, and one or more programs stored in the memory for execution by the one or more processors for causing the system to perform a method comprising:
executing a resiliency testbed application at a plurality of virtual machines;
accessing, by the plurality of virtual machines, network configuration data stored in a configuration database, the configuration data corresponding to a topology of a network to be emulated;
configuring at least a portion of the virtual machines, according to the network configuration data, to emulate a plurality of nodes of the network to be emulated;
automatically determining least cost paths between the plurality of nodes;
simulating communications between the plurality of nodes based on the determined least cost paths; and
determining one or more metrics of the network to be emulated based on the simulation.

### Claim 15 (depends on 14)

The system of claim 14, wherein each node instantiates communications links to one or more other nodes for communicating information to the one or more other nodes.

### Claim 16 (depends on 14)

The system of claim 14, wherein at least one of the nodes instantiates a path component for communicating to other path components of other nodes to analyze the least cost path across nodes.

### Claim 17 (depends on 14)

The system of claim 14, wherein automatically determining least cost paths between the plurality of nodes comprises using swarm theory techniques to flood the emulated plurality of nodes with propagated data structures to analyze least cost paths from all nodes to all nodes.

### Claim 18 (depends on 14)

The system of claim 14, wherein the nodes are configured to calculate a vector position for a visual layout and broadcast the vector position to other nodes so that the network topology can be visually displayed to a user.

### Claim 19 (depends on 14)

The system of claim 14, wherein each virtual machine emulates a plurality of nodes.

### Claim 20 (depends on 14)

The system of claim 14, comprising emulating at least 20,000 nodes.

### Claim 21 (depends on 14)

The system of claim 14, wherein automatically determining least cost paths between the plurality of nodes comprises automatically discovering shortest paths between nodes by transmitting path analysis payloads between nodes.

### Claim 22 (depends on 21)

The system of claim 21, wherein the payloads comprise a source node identification, a target node identification, and a list of nodes visited by the payload.

### Claim 23 (depends on 22)

The system of claim 22, wherein the list of nodes visited by the payload is updated by at least one of the nodes receiving the payload.

### Claim 24 (depends on 22)

The system of claim 22, wherein automatically determining least cost paths between the plurality of nodes comprises, at a respective node, determining that the target node identification identifies the respective node, updating the target node identification with the source node identification and send the payload back to the source node.

### Claim 25 (depends on 22)

The system of claim 22, wherein automatically determining least cost paths between the plurality of nodes comprises, at the source node, determining that the source identification and the target identification identifies the source node, and determining whether a path traversed by the payload is a shortest path between the source node and the target node.

### Claim 26 (depends on 14)

The system of claim 14, comprising displaying at least a portion of the metrics via a user interface to a user.

### Claim 27

A non-transitory computer readable medium comprising instructions for execution by one or more processors of a computing system that when executing by the computing system cause the computing system to perform a method comprising:
executing a resiliency testbed application at a plurality of virtual machines;
accessing, by the plurality of virtual machines, network configuration data stored in a configuration database, the configuration data corresponding to a topology of a network to be emulated;
configuring at least a portion of the virtual machines, according to the network configuration data, to emulate a plurality of nodes of the network to be emulated;
automatically determining least cost paths between the plurality of nodes;
simulating communications between the plurality of nodes based on the determined least cost paths; and
determining one or more metrics of the network to be emulated based on the simulation.
