IP Library Patent Application 18166038
Patent Application
App. No. 18/166,038

Large Network Simulation

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 None
App. No.
18/166,038
Abstract

Systems, methods, and apparatuses are described for simulating a network. Interrogations directed to hosts in the simulated network may be received. For some interrogations, data objects may be instantiated to simulate the interrogated hosts by, e.g., providing responses to low-level network commands. One or more characteristics of a simulated host may be determined randomly or pseudo-randomly.

Claims (78)

1 . A method comprising:

receiving, by a computer system executing a simulated network, a first interrogation directed to a first address in the simulated network;

instantiating, in response to the first interrogation and based on a determination that the first address is associated with a primary host, a first synthetic host object;

forwarding, to a first user device from which the first interrogation was received, a response, to the first interrogation, generated by the first synthetic host object;

receiving, after instantiating the first synthetic host object, a second interrogation directed to a second address in the simulated network;

instantiating, based on a determination that the second address is associated with a background host that does not exist in the simulated network and based on a determination that a number of existing background hosts is below a volume parameter value, a second synthetic host object; and

forwarding, to a second user device from which the second interrogation was received, a response, to the second interrogation, generated by the second synthetic host object.

2 . The method of claim 1 , wherein instantiating the second synthetic host object comprises pseudo-randomly generating a host name comprising a top-level domain name and a sub-domain name.

3 . The method of claim 1 , wherein the instantiating the first synthetic host object comprises selecting, based on configuration data stored in a database, one or more services supported by the first synthetic host object, and wherein the instantiating the second synthetic host object comprises pseudo-randomly selecting one or more services supported by the second synthetic host object.

4 . The method of claim 3 , wherein, for each of the first synthetic host object and the second synthetic host object, the one or more services comprise one or more of:

discard protocol using transmission control protocol (TCP),

echo protocol using TCP,

domain name server,

network time protocol using user datagram protocol,

ping using Internet control message protocol, or

Telnet using TCP.

5 . The method of claim 1 , wherein instantiating the first synthetic host object comprises determining, based on configuration data stored in a database, a host name.

6 . The method of claim 1 , further comprising inducing simulated performance degradation of the simulated network.

7 . The method of claim 6 , wherein the simulated performance degradation comprises one or more of simulated received packet loss, simulated transmitted packet loss, simulated reception latency, simulated transmission latency, simulated reception bandwidth reduction, simulated transmission bandwidth reduction, or loss of connectivity to portions of the simulated network.

8 . The method of claim 1 further comprising:

receiving the volume parameter value indicating a quantity of instantiatable background hosts.

9 . The method of claim 1 , further comprising:

rewriting, based on configuration data, source and destination addresses of additional interrogations to one or more additional primary hosts; and

rewriting, based on the configuration data, source and destination addresses of responses to the additional interrogations.

10 . A computing system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing system to:

receive, while executing a simulated network, a first interrogation directed to a first address in the simulated network;

instantiate, in response to the first interrogation and based on a determination that the first address is associated with a primary host, a first synthetic host object;

forward, to a first user device from which the first interrogation was received, a response, to the first interrogation, generated by the first synthetic host object;

receive, after instantiating the first synthetic host object, a second interrogation directed to a second address in the simulated network;

instantiate, based on a determination that the second address is associated with a background host that does not exist in the simulated network and based on a determination that a number of existing background hosts is below a volume parameter value, a second synthetic host object; and

forward, to a second user device from which the second interrogation was received, a response, to the second interrogation, generated by the second synthetic host object.

11 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to instantiate the second synthetic host object by pseudo-randomly generating a host name comprising a top-level domain name and a sub-domain name.

12 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to:

instantiate the first synthetic host object by selecting, based on configuration data stored in a database, one or more services supported by the first synthetic host object; and

instantiate the second synthetic host object by pseudo-randomly selecting one or more services supported by the second synthetic host object.

13 . The computing system of claim 12 , wherein, for each of the first synthetic host object and the second synthetic host object, the one or more services comprise one or more of:

discard protocol using transmission control protocol (TCP),

echo protocol using TCP,

domain name server,

network time protocol using user datagram protocol,

ping using Internet control message protocol, or

Telnet using TCP.

14 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to instantiate the first synthetic host object by determining, based on configuration data stored in a database, a host name.

15 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to induce simulated performance degradation of the simulated network.

16 . The computing system of claim 15 , wherein the simulated performance degradation comprises one or more of simulated received packet loss, simulated transmitted packet loss, simulated reception latency, simulated transmission latency, simulated reception bandwidth reduction, simulated transmission bandwidth reduction, or loss of connectivity to portions of the simulated network.

17 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to:

receive the volume parameter value indicating a quantity of instantiatable background hosts.

18 . The computing system of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing system to:

rewrite, based on configuration data, source and destination addresses of additional interrogations to one or more additional primary hosts; and

rewrite, based on the configuration data, source and destination addresses of responses to the additional interrogations.

19 . A non-transitory computer-readable medium comprising instructions that, when executed, configure a computing system to;

receive, while executing a simulated network, a first interrogation directed to a first address in the simulated network;

instantiate, in response to the first interrogation and based on a determination that the first address is associated with a primary host, a first synthetic host object;

forward, to a first user device from which the first interrogation was received, a response, to the first interrogation, generated by the first synthetic host object;

receive, after instantiating the first synthetic host object, a second interrogation directed to a second address in the simulated network;

instantiate, based on a determination that the second address is associated with a background host that does not exist in the simulated network and based on a determination that a number of existing background hosts is below a volume parameter value, a second synthetic host object; and

forward, to a second user device from which the second interrogation was received, a response, to the second interrogation, generated by the second synthetic host object.

20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to instantiate the second synthetic host object by pseudo-randomly generating a host name comprising a top-level domain name and a sub-domain name.

21 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to:

instantiate the first synthetic host object by selecting, based on configuration data stored in a database, one or more services supported by the first synthetic host object; and

instantiate the second synthetic host object by pseudo-randomly selecting one or more services supported by the second synthetic host object.

22 . The non-transitory computer-readable medium of claim 21 , wherein, for each of the first synthetic host object and the second synthetic host object, the one or more services comprise one or more of:

discard protocol using transmission control protocol (TCP),

echo protocol using TCP,

domain name server,

network time protocol using user datagram protocol,

ping using Internet control message protocol, or

Telnet using TCP.

23 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to instantiate the first synthetic host object by determining, based on configuration data stored in a database, a host name.

24 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to induce simulated performance degradation of the simulated network.

25 . The non-transitory computer-readable medium of claim 24 , wherein the simulated performance degradation comprises one or more of simulated received packet loss, simulated transmitted packet loss, simulated reception latency, simulated transmission latency, simulated reception bandwidth reduction, simulated transmission bandwidth reduction, or loss of connectivity to portions of the simulated network.

26 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to:

receive the volume parameter value indicating a quantity of instantiatable background hosts.

27 . The non-transitory computer-readable medium of claim 19 , wherein the instructions, when executed, configure the computing system to:

rewrite, based on configuration data, source and destination addresses of additional interrogations to one or more additional primary hosts; and

rewrite, based on the configuration data, source and destination addresses of responses to the additional interrogations.

Assignments (2)
SECURITY INTEREST Recorded Dec 10, 2025
From: SCIENCE APPLICATIONS INTERNATIONAL CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073170/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: NEAL, TODD A.
To: SCIENCE APPLICATIONS INTERNATIONAL CORPORATION
Reel/Frame 062625/0004 →