IP Library › Granted Patent US 12,732,432
Granted Patent B2
US 12,732,432 · App. 18/166,038 · Granted Sep 8, 2026

Large network simulation

Inventor: Todd A. Neal (Madison, AL)
Assignee: Science Applications International Corporation
H04L41/145H04L41/0803H04L45/7453H04L61/3015H04L63/1433H04L61/5007
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 12,732,432
App. No.
18/166,038
Granted
Sep 8, 2026
Kind
B2
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 instantiable 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 instantiable 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 instantiable 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 →
Continuity (4)
Continuation 16008422 · Jun 14, 2018
Continuation 16004971 · Jun 11, 2018
Provisional Application 62573311 · Oct 17, 2017
Related Publication 20230188429A1 · Jun 15, 2023
References Cited (34)
US 6757742B1 · Viswanath · 2004 [cited by applicant]
US 6820042B1 · Cohen et al. · 2004 [cited by applicant]
US 7457737B2 · Patiejunas · 2008 [cited by applicant]
US 7620535B2 · Shevenell et al. · 2009 [cited by applicant]
US 7633939B2 · Curran-Gray et al. · 2009 [cited by applicant]
US 7805287B1 · Jones · 2010 [cited by examiner]
US 7844432B1 · Jones · 2010 [cited by examiner]
US 8413216B2 · Hughes et al. · 2013 [cited by applicant]
US 8532970B2 · White et al. · 2013 [cited by applicant]
US 8751629B2 · White et al. · 2014 [cited by applicant]
US 9246768B2 · White et al. · 2016 [cited by applicant]
US 10374934B2 · Gudetee · 2019 [cited by examiner]
US 12380016B2 · Zhou · 2025 [cited by examiner]
US 20020016708A1 · Houh · 2002 [cited by applicant]
US 20090154464A1 · Kim et al. · 2009 [cited by applicant]
US 20090210526A1 · Howell · 2009 [cited by examiner]
US 20110222407A1 · Matsuo · 2011 [cited by examiner]
US 20120029898A1 · Carroll et al. · 2012 [cited by applicant]
US 20120059921A1 · Serban et al. · 2012 [cited by applicant]
US 20140026122A1 · Markande · 2014 [cited by examiner]
US 20140081589A1 · Lin · 2014 [cited by examiner]
US 20140115687A1 · Roesch et al. · 2014 [cited by applicant]
US 20140281715A1 · Khan et al. · 2014 [cited by applicant]
US 20140343915A1 · Song · 2014 [cited by applicant]
US 20160028631A1 · Yishay · 2016 [cited by examiner]
US 20170223037A1 · Singh et al. · 2017 [cited by applicant]
US 20170304707A1 · Morton · 2017 [cited by examiner]
US 20190058717A1 · Chailytko · 2019 [cited by applicant]
US 20230179506A1 · Bergeron · 2023 [cited by examiner]
Li, T. and Liu, J., “Cluster-Based Spatiotemporal Background Traffic Generation for Network Simulation”, In ACM Trans. Model. Comput. Simul., vol. 25, No. 1, Nov. 2014, pp. 1-25, available at: http://doi.acm.org/10.1145… [cited by examiner]
Baumgart, I., et al., “OverSim: A Flexible Overlay Network Simulation Framework”, Jun. 2007. [cited by applicant]
Bajaj, L., et al., “GloMoSim: A Scalable Network Simulation Environment”, 1999. [cited by applicant]
Document titled “Cyberoperations Enhanced Network and Training Simulators (CENTSÒ)”, downloaded Apr. 5, 2018, from <http://cybercents.com/wp-content/uploads/2017/10/Metova-CyberCENTS-CENTS%C2%AE-Data-Sheet.pdf>. [cited by applicant]
Aug. 29, 2018—(WO) International Search Report and Written Opinion—App No. PCT/US2018/038945. [cited by applicant]