An automated system and computing device for network simulation

By using automated systems and computing devices, the problems of complex configuration and inefficient simulation in network simulation are solved, and efficient and automated data processing and analysis are achieved. It is suitable for large-scale complex network simulation and improves team collaboration efficiency and visualization of simulation results.

CN121262089BActive Publication Date: 2026-04-21HANGZHOU YUNBAO CHUANGXIN INTELLIGENT TECHNOLOGY CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU YUNBAO CHUANGXIN INTELLIGENT TECHNOLOGY CO LTD
Filing Date
2025-12-05
Publication Date
2026-04-21

Smart Images

  • Figure CN121262089B_ABST
    Figure CN121262089B_ABST
Patent Text Reader

Abstract

This application provides an automated system and computing device for network simulation. The automated system includes: a business model automation module, a simulation execution automation module, and a simulation analysis automation module. The business model automation module receives abstract topology descriptions and abstract traffic descriptions parsed from the business model and generates detailed topology descriptions and full traffic descriptions, respectively. The simulation execution automation module receives the detailed topology descriptions and full traffic descriptions and generates configuration information, automatically runs the network simulation, and accelerates execution. The simulation analysis automation module automatically captures and archives important intermediate results for data parsing. According to the technical solution of this application, complex simulation configuration tasks can be completed through simple structured configuration changes or the addition of execution script parameter options, while improving simulation efficiency and providing automated, efficient, and flexible data processing and analysis capabilities.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network simulation technology, and more specifically to an automated system and computing device for network simulation. Background Technology

[0002] Network simulation is a method that uses software modeling and computer simulation techniques to dynamically reproduce and analyze devices, protocols, traffic, and behaviors in real or virtual network environments. It simulates the interaction processes between network nodes (such as routers, switches, and terminal devices) and the transmission, latency, and packet loss of data packets through abstract mathematical models and algorithms. This allows for the evaluation of network performance, verification of protocol designs, or prediction of system behavior in a virtual environment. Generally, network simulation includes the following core elements: 1. Topology modeling, used to define network structures (such as star, tree, and mesh topologies) and node connections; 2. Protocol modeling, simulating the logic and behavior of protocol stacks such as TCP / IP (Transmission Control Protocol / Internet Protocol), RDMA (Remote Direct Memory Access), HTTP (Hypertext Transfer Protocol), and 5G NR (5G New Radio); 3. Traffic generation, injecting real or synthetic data traffic (such as data center storage traffic or AI service traffic); 4. Performance analysis, statistically analyzing key indicators such as throughput, latency, and packet loss rate.

[0003] Existing technologies often employ physical testing platforms, such as real network interface cards (NICs) and switches. These platforms are costly in terms of physical testing, require a large amount of hardware, struggle to cover complex scenarios, and are difficult to reproduce extreme conditions, such as large-scale failures or high-concurrency traffic. Tests requiring modifications to network configurations or protocols necessitate hardware redeployment, resulting in insufficient overall flexibility.

[0004] Compared to traditional physical experimental platforms, network simulation is low-cost and can construct complex network environments without real equipment. It allows for precise control of variables, reproduction of identical experimental conditions, and high repeatability. Network simulation also enables rapid adjustment of topology, protocols, and traffic models, offering high flexibility, isolating the test environment to avoid impacting real networks, and ensuring high security.

[0005] However, current network simulation technologies mostly rely on network tools, with commonly used ones including NS-3 (Network Simulator 3), OMNET++ (Object-Oriented Network Simulator++), Mininet, and GNS3 (Graphical Network Simulator 3). Network simulation using these tools often requires complex configuration processes, demanding certain programming knowledge and skills from users. Furthermore, for large projects, the readability of configuration files is poor, hindering team collaboration and environment maintenance. During simulation execution, issues such as slow simulation speed and low resource utilization make it difficult to meet the needs of large-scale, complex network simulations. After simulation, there is a lack of automated capture, in-depth analysis, and intuitive visualization of the large amounts of network data generated. Users often need to rely on additional data analysis tools and visualization software for subsequent processing, increasing workflow complexity and the risk of errors during data transfer, hindering the rapid extraction of valuable information from simulation data for network optimization decisions.

[0006] Therefore, a technical solution is needed to complete complex simulation configuration tasks through simple structured configuration changes or script parameter option additions, while improving simulation efficiency and providing automated, efficient and flexible data processing and analysis capabilities. Summary of the Invention

[0007] This application aims to provide an automated system and computing device for network simulation, which can complete complex simulation configuration tasks through simple structured configuration changes or script parameter option additions, while improving simulation efficiency and providing automated, efficient and flexible data processing and analysis capabilities.

[0008] According to one aspect of this application, an automated system for network simulation is provided, the system comprising: a business model automation module, a simulation execution automation module, and a simulation analysis automation module, wherein...

[0009] The business model automation module receives the abstract topology description and abstract traffic description parsed from the business model, generates a detailed topology description and a full traffic description respectively, and sends the detailed topology description and the full traffic description to the simulation execution automation module.

[0010] The simulation execution automation module receives the detailed topology description and the full traffic description from the business model automation module, generates configuration information, and automatically performs configuration information parsing and runs network simulation.

[0011] The simulation analysis automation module is used to automatically capture and archive at least some of the intermediate results of the network simulation execution process for analysis.

[0012] According to some embodiments, the business model automation module includes: a topology automation construction module, a topology automation display module, a traffic automation generation module, and a traffic automation parsing module, wherein,

[0013] The topology automation construction module receives the abstract topology description, thereby constructing the detailed topology description, and transmits the detailed topology description to the topology automation display module and the simulation execution automation module.

[0014] The topology automation display module receives the detailed topology description from the topology automation construction module to generate a topology map for interactive display.

[0015] The traffic automation generation module receives the abstract traffic description, generates the detailed traffic description, and transmits the detailed traffic description to the traffic automation parsing module and the simulation execution automation module.

[0016] The automated traffic parsing module parses traffic features based on the abstract traffic description and / or the detailed traffic description to generate a traffic distribution map for interactive display.

[0017] According to some embodiments, the simulation execution automation module includes: a simulation automation execution module, which receives the detailed topology description and the full traffic description from the business model automation module, abstracts the code details of the network simulation execution process, exposes the network simulation execution options as limited configuration items, and automatically executes the configuration information parsing of the configuration items, runs the simulation code to perform the simulation task, and / or

[0018] The simulation execution automation module uses default configuration information to execute network simulation tasks.

[0019] According to some embodiments, the simulation execution automation module further includes a simulation automation acceleration module, which automatically accelerates the network simulation using multi-threading technology and a distributed computing framework based on actual hardware resources and the configuration information.

[0020] According to some embodiments, the simulation execution automation module is configured as follows:

[0021] The configuration information is validated and preprocessed to convert it into instructions and parameters that the underlying simulation engine can recognize, thereby starting the simulation task.

[0022] According to some embodiments, the automated simulation analysis module includes: an automated data capture module, an automated data analysis module, and an automated result display module, wherein,

[0023] The automated data capture module is used to automatically filter and collect important intermediate results of the execution process according to the capture rules in the configuration information by inserting a customized logging function in the simulation code, so as to obtain simulation data and store it in the specified storage medium.

[0024] The automated data analysis module acquires the simulation data, automatically performs data filtering and parsing under different indicators according to the analysis indicators and analysis conditions specified by the user, obtains the simulation data analysis results, and transmits them to the automated result display module.

[0025] The automated result display module receives the simulation data analysis results and generates visual data analysis charts based on the simulation data analysis results for interactive display.

[0026] According to some embodiments, the automated data capture module includes: a log management tool, which configures log recording rules, views log file status, and performs log data backup and recovery operations.

[0027] According to some embodiments, the simulation analysis automation module further includes: a real-time data analysis module and a real-time data display module, wherein,

[0028] The real-time data analysis module is used to acquire the simulation data in real time, automatically perform data filtering and parsing under different indicators, obtain real-time simulation data analysis results, and transmit them to the real-time data display module.

[0029] The real-time data display module receives the real-time simulation data analysis results and generates visualized real-time data analysis charts based on the results for interactive display.

[0030] According to some embodiments, the abstract topology description includes a typical topology, the number of switch nodes at each level, the number of host nodes, link bandwidth, link latency, and packet loss rate.

[0031] The abstract traffic description includes typical business traffic types, number of active host nodes, load factor, host bandwidth, and total execution time.

[0032] According to another aspect of this application, a computing device is provided, comprising: an automated system for network simulation as described in any of the preceding claims.

[0033] According to another aspect of this application, a computing device is provided, comprising:

[0034] Processor; and

[0035] A memory storing a computer program that, when executed by the processor, causes the processor to perform the method described in any of the preceding methods.

[0036] According to another aspect of this application, a non-transitory computer-readable storage medium is provided, having stored thereon computer-readable instructions that, when executed by a processor, cause the processor to perform the method as described in any of the preceding claims.

[0037] According to embodiments of this application, by adding the business model automation module, complex simulation configuration tasks can be completed by providing simple structured configuration changes or adding execution script parameter options; by adding the simulation execution automation module, various simulation acceleration technologies (such as MPI acceleration and distributed acceleration) can be used to accelerate simulation, thereby improving simulation execution efficiency; by adding the simulation automation analysis module, functions such as automated data capture, automated analysis, and graphical display of results are realized.

[0038] According to some embodiments, the technical solution of this invention integrates the entire network simulation process (topology construction, traffic generation, simulation execution, data capture, analysis and display) into a unified automated system. Through an abstract description language (such as JSON configuration) and modular design, it achieves end-to-end automated processing from business requirements to simulation results, eliminating the problems of scattered configurations and redundant scripts in traditional simulation tools. This significantly lowers the programming threshold for users and improves team collaboration efficiency. Combining multi-threaded partitioning strategies (Logical Processes, LPs) with a distributed computing framework (MPI + multi-threaded hybrid kernel), it achieves dynamic load balancing for simulation tasks. Based on automatic detection and adaptation of hardware resources (CPU / memory), it dynamically adjusts the number of threads and partitioning strategies to maximize resource utilization, breaking through the efficiency bottleneck of single-threaded / static parallelism in traditional simulation tools and supporting efficient simulation of large-scale complex networks.

[0039] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this application. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.

[0041] Figure 1 The diagram illustrates an automated system for network simulation according to an example embodiment.

[0042] Figure 2 A schematic diagram of an automated system for network simulation is shown according to another example embodiment.

[0043] Figure 3 This diagram illustrates the workflow of an automated system simulation execution module for network simulation according to an example embodiment.

[0044] Figure 4 This diagram illustrates the workflow of an automated system simulation acceleration module for network simulation according to an example embodiment.

[0045] Figure 5 This diagram illustrates the workflow of an automated data analysis module for an automated system used in network simulation, according to an example embodiment.

[0046] Figure 6 This diagram illustrates the workflow of an automated system data real-time analysis module for network simulation according to an example embodiment.

[0047] Figure 7 A flowchart of a method for network simulation according to an example embodiment is shown.

[0048] Figure 8 A block diagram of a computing device according to an exemplary embodiment is shown. Detailed Implementation

[0049] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that this application will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.

[0050] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0051] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0052] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0053] It should be understood that, as used herein, the term “and / or” includes all combinations of any one and more of the listed items in relation to each other.

[0054] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0055] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of exemplary embodiments, and the modules or processes in the drawings are not necessarily necessary for implementing this application, and therefore cannot be used to limit the scope of protection of this application.

[0056] Existing technologies often employ physical entity-based experimental platforms, such as real network interface cards (NICs) and switches. These platforms are costly in terms of physical testing, require a large amount of hardware, and struggle to cover complex scenarios. Furthermore, they are difficult to reproduce extreme conditions, such as large-scale failures or high-concurrency traffic. Tests requiring modifications to network configurations or protocols necessitate hardware redeployment, resulting in insufficient overall flexibility.

[0057] Compared to traditional physical-based experimental platforms, network simulation offers low cost and the ability to construct complex network environments without real equipment. It allows for precise control of variables, reproducing identical experimental conditions with high repeatability. It also enables rapid adjustments to topology, protocols, and traffic models, offering excellent flexibility. Furthermore, the isolated test environment prevents impact on real networks, ensuring high security.

[0058] However, current network simulation technologies mostly rely on network tools, with commonly used ones including NS-3, OMNET++, Mininet, and GNS3. Among them, NS-3 and OMNET++, as typical discrete event network simulators, offer high flexibility and scalability, making them suitable for research work such as protocol design and performance evaluation. However, their learning curves are quite steep. Users typically need to master specific languages ​​such as C++ or NED and have a deep understanding of their internal architecture to effectively build simulation scenarios. Furthermore, in pursuit of simulation accuracy, these tools often consume significant computational resources when simulating large-scale networks, resulting in long simulation times, low efficiency, and high hardware requirements.

[0059] Mininet is known for its lightweight nature and strong support for SDN, making it particularly suitable for quickly building test environments for software-defined networks. However, as it is implemented based on Linux containers, its simulation scale is limited by host resources, making it difficult to support the simulation of ultra-large-scale networks. Furthermore, because containers share the kernel, their network behavior still differs somewhat from that of real physical networks, resulting in limited simulation fidelity, especially in terms of network latency and flow control, where it may lack precision.

[0060] In contrast, GNS3 provides a near-real-world network experience by integrating real device images (such as Cisco IOS) or virtual machines, and is widely used for network engineer training and certification preparation. However, this also brings significant drawbacks: running these device images requires extremely high computing resources, easily causing system overload; at the same time, legally using commercial device images involves licensing issues, posing legal and cost risks. Furthermore, GNS3 is more suitable for building and debugging small-scale topologies and is ill-suited for automated simulation and performance testing of large-scale networks.

[0061] In summary, NS-3 is suitable for high-precision protocol-level simulation, while Mininet is suitable for functional-level verification. GNS3 offers faster graphical operation, while NS-3 requires programming but offers greater flexibility. NS-3 is preferred for large-scale simulations (such as data center networks), while Mininet can be chosen for small-scale SDN experiments.

[0062] Taking NS-3 as an example, the general process for performing network simulation is as follows:

[0063] 1. Environment Setup

[0064] - Install NS-3 (depends on C++ compiler and Python).

[0065] 2. Script Writing

[0066] - Define topology, protocols, and traffic models using C++ or Python.

[0067] - Sample code (simple TCP / IP protocol simulation):

[0068] / / Create two nodes

[0069] NodeContainer nodes;

[0070] nodes.Create(2);

[0071] / / Create a point-to-point link object

[0072] PointToPointHelper pointToPoint;

[0073] pointToPoint.SetDeviceAttribute("DataRate", StringValue("5Mbps"));

[0074] pointToPoint.SetChannelAttribute("Delay", StringValue("2ms"));

[0075] / / Install network devices on the node

[0076] NetDeviceContainer devices = pointToPoint.Install(nodes);

[0077] / / Install Internet Protocol Stack

[0078] InternetStackHelper stack;

[0079] stack.Install(nodes);

[0080] / / Assign IP address

[0081] Ipv4AddressHelper address;

[0082] address.SetBase("10.1.1.0", "255.255.255.0");

[0083] Ipv4InterfaceContainer interfaces = address.Assign(devices);

[0084] / / Create a UDP echo server application

[0085] UdpEchoServerHelper echoServer(9);

[0086] / / Install the server on the second node

[0087] ApplicationContainer serverApps = echoServer.Install(nodes.Get(1));

[0088] serverApps.Start(Seconds(1.0));

[0089] serverApps.Stop(Seconds(10.0));

[0090] / / Create a UDP echo client application

[0091] UdpEchoClientHelper echoClient(interfaces.GetAddress(1), 9);

[0092] echoClient.SetAttribute("MaxPackets", UintegerValue(1));

[0093] echoClient.SetAttribute("Interval", TimeValue(Seconds(1.0)));

[0094] echoClient.SetAttribute("PacketSize", UintegerValue(1024));

[0095] / / Install the client on the first node

[0096] ApplicationContainer clientApps = echoClient.Install(nodes.Get(0));

[0097] clientApps.Start(Seconds(2.0));

[0098] clientApps.Stop(Seconds(10.0));

[0099] / / Start simulation

[0100] Simulator::Run();

[0101] Simulator::Destroy();

[0102] 3. Run the simulation

[0103] - Execute the script and generate logs:

[0104] bash

[0105] . / ns3 run scratch / my-simulation.cc

[0106] 4. Data Analysis

[0107] - Visualization tools: Use Python Matplotlib and Gnuplot to parse the output logs.

[0108] - Statistical methods: Calculate metrics such as throughput, end-to-end latency, and packet loss rate.

[0109] - Example analysis code (Python):

[0110] Python

[0111] import pandas as pd

[0112] import matplotlib.pyplot as plt

[0113] data = pd.read_csv("result.csv")

[0114] plt.plot(data["Time"], data["Throughput"])

[0115] plt.xlabel("Time (s)")

[0116] plt.ylabel("Throughput (Mbps)")

[0117] plt.show()

[0118] Therefore, network simulation using network tools often requires a complex configuration process, demanding certain programming knowledge and skills from users. Furthermore, for large projects, the readability of configuration files is poor, hindering team collaboration and environment maintenance. During simulation execution, issues such as slow simulation speed and low resource utilization make it difficult to meet the needs of large-scale, complex network simulations. After simulation, there are shortcomings in the automated capture, in-depth analysis, and intuitive visualization of the large amounts of network data generated. Users often need to rely on additional data analysis tools and visualization software for subsequent processing, increasing workflow complexity and the risk of errors during data transfer, hindering the rapid extraction of valuable information from simulation data for network optimization decisions.

[0119] To address this, this application proposes an automated system and computing device for network simulation. This system can complete complex simulation configuration tasks through simple structured configuration changes or the addition of script parameter options, while simultaneously improving simulation efficiency and providing automated, efficient, and flexible data processing and analysis capabilities. According to the embodiments, by adding the business model automation module, complex simulation configuration tasks can be completed by providing simple structured configuration changes or the addition of script parameter options; by adding the simulation execution automation module, various simulation acceleration technologies (such as MPI acceleration and distributed acceleration) are used to accelerate simulation, improving simulation execution efficiency; and by adding the simulation automation analysis module, functions such as automated data capture, automated analysis, and graphical display of results are achieved.

[0120] According to some embodiments, the technical solution of this invention integrates the entire network simulation process (topology construction, traffic generation, simulation execution, data capture, analysis and display) into a unified automated system. Through an abstract description language (such as JSON configuration) and modular design, it achieves end-to-end automated processing from business requirements to simulation results, eliminating the problems of scattered configurations and redundant scripts in traditional simulation tools. This significantly lowers the programming threshold for users and improves team collaboration efficiency. Combining multi-threaded partitioning strategies (Logical Processes, LPs) with a distributed computing framework (MPI + multi-threaded hybrid kernel), it achieves dynamic load balancing for simulation tasks. Based on automatic detection and adaptation of hardware resources (CPU / memory), it dynamically adjusts the number of threads and partitioning strategies to maximize resource utilization, breaking through the efficiency bottleneck of single-threaded / static parallelism in traditional simulation tools and supporting efficient simulation of large-scale complex networks.

[0121] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of this application.

[0122] Figure 1 The diagram illustrates an automated system for network simulation according to an example embodiment.

[0123] See Figure 1 The figure shows an automated system for network simulation, which includes: a business model automation module 01, a simulation execution automation module 02, and a simulation analysis automation module 03.

[0124] According to some embodiments, the business model automation module 01 receives the abstract topology description and abstract traffic description parsed from the business model, generates a detailed topology description and a full traffic description respectively, and generates corresponding visualization charts for interactive display. It then sends the detailed topology description and the full traffic description to the simulation execution automation module 02. Specifically, the business model automation module 01 is responsible for receiving network topology descriptions and traffic patterns at the abstract level and generating detailed, specific network connection and traffic data from these abstract descriptions. Furthermore, it can generate visualization charts to help understand these transformed details and prepare data for subsequent steps.

[0125] According to some embodiments, the simulation execution automation module 02 receives the detailed topology description and the full traffic description from the business model automation module 01, generates configuration information, and automatically performs configuration information parsing and network simulation, employing multi-threading technology and a distributed computing framework to accelerate execution. Specifically, after receiving detailed network topology and traffic data, the simulation execution automation module 02 generates configuration information that can be used for network simulation. Utilizing multi-threading technology and a distributed computing framework, this module can effectively run network simulation, thereby accelerating the entire simulation process.

[0126] According to some embodiments, the simulation analysis automation module 03 is used to automatically capture and archive at least some intermediate results of the network simulation execution process for analysis, and to perform data analysis during and / or after the simulation, and to graphically display the obtained data analysis results as visual charts. Specifically, the simulation analysis automation module 03 focuses on capturing and archiving key intermediate results in the network simulation process, analyzing these results, and displaying the analyzed data graphically, allowing users to more intuitively understand and analyze the results of the network simulation.

[0127] According to some embodiments, the design of this invention is well-suited for scenarios requiring frequent network topology and traffic simulation, not only improving efficiency but also significantly reducing the error rate that may result from manual operation. Furthermore, by providing visualized analysis results, it greatly enhances the user's understanding and insight into network behavior.

[0128] Figure 2 A schematic diagram of an automated system for network simulation is shown according to another example embodiment.

[0129] See Figure 2The business model automation module 01 includes: topology automation construction module 0101, topology automation display module 0102, traffic automation generation module 0103, and traffic automation parsing module 0104.

[0130] According to some embodiments, the topology automation construction module 0101 receives the abstract topology description, constructs the detailed topology description, and transmits the detailed topology description to the topology automation display module 0102 and the simulation execution automation module 02. Specifically, the topology automation construction module 0101 constructs the detailed topology description based on the network topology abstract description decomposed from the business model. The network topology abstract description includes typical topology structure, number of switch nodes at each level, number of host nodes, link bandwidth, link latency, packet loss rate, etc., and users can specify these values ​​in configuration files or script control options.

[0131] Generally, in the configuration file, you can use the JSON format shown below. This configuration indicates the creation of a spine_leaf topology, where there are 2 spine switch nodes, 2 leaf switch nodes, 2 host nodes connected to each leaf switch, a link bandwidth of 10Gbps, a link latency of 1ms, a link packet loss rate of 0.01%, and the topology detailed description output file is topo.txt.

[0132] {

[0133] "topology": "spine-leaf",

[0134] "spine": 2,

[0135] "leaf": 2,

[0136] "host": 2,

[0137] "link_bandwidth": "100Gbps",

[0138] "link_latency": "0.001ms",

[0139] "packet_loss_rate": "0.01",

[0140] "output": "topo.txt"

[0141] }

[0142] In the script control options, the parameters can be specified in the following form, and the meaning of the command is the same as described above.

[0143] python3 topology_generator.py --topology spine_leaf --spine 2 --leaf2 --host 2 --link_bandwidth 100Gbps --link_latency 0.001ms --packet_loss_rate0.01 --output topo.txt

[0144] The typical detailed description file generated by the topology automation module based on the topology abstraction description is shown below:

[0145] 8 4 8 # Total number of nodes, total number of switches, total number of links

[0146] 6 7 4 5 # Switch node number

[0147] 6 4 100Gbps 0.001ms 0.01 # End node A, End node B, Link bandwidth, Link latency

[0148] 6 5 100Gbps 0.001ms 0.01

[0149] 7 4 100Gbps 0.001ms 0.01

[0150] 7 5 100Gbps 0.001ms 0.01

[0151] 4 0 100Gbps 0.001ms 0.01

[0152] 4 1 100Gbps 0.001ms 0.01

[0153] 5 2 100Gbps 0.001ms 0.01

[0154] 5 3 100Gbps 0.001ms 0.01

[0155] According to some embodiments, the topology automation display module 0102 receives the detailed topology description from the topology automation construction module 0101 and generates a topology diagram for interactive display. Specifically, the topology automation display module 0102 can generate a visual topology diagram based on the detailed topology description for easy understanding. Optionally, the topology automation display module 0102 can utilize professional graphical libraries (such as Graphviz, NetworkX, etc.) to generate an intuitive and clear visual topology diagram. The topology diagram not only displays the basic connection relationships of nodes and links, but also distinguishes different types of nodes and links using different graphic styles, colors, icons, etc., and labels key parameter information (such as node number, link bandwidth, and latency). Furthermore, it supports user operations such as zooming, panning, and rotating the topology diagram, allowing users to observe the network topology structure from different angles and levels. Optionally, the topology automation display module 0102 can be integrated with the topology automation construction module 0101 to form a GUI interactive topology automation module. That is, users can input relevant control parameters in the GUI interface by clicking with the mouse or inputting with the keyboard, and simultaneously obtain a detailed topology description file for subsequent program execution and an intuitive topology diagram display result.

[0156] According to some embodiments, the automated traffic generation module 0103 receives the abstracted traffic description, generates the detailed traffic description, and transmits the detailed traffic description to the automated traffic parsing module 0104 and the automated simulation execution module 02. Specifically, the automated traffic generation module 0103 generates the detailed traffic description based on the abstracted network communication traffic description decomposed from the business model. The abstracted traffic description includes typical business traffic types, the number of active host nodes, load factors, host bandwidth, total execution time, etc. Users can specify these values ​​in configuration files or script control options.

[0157] Generally, JSON format can be used in the configuration file. As shown below, this configuration means: generate MemCached business traffic, with 8 active host nodes, a load factor of 0.5, a host bandwidth of 100Gbps, a total execution time of 2 seconds, and output a detailed traffic description file named MemCached_8Host_100M.txt.

[0158] {

[0159] "traffic_type": "MemCached",

[0160] "active_hosts": 8,

[0161] "load_factor": 0.5,

[0162] "host_bandwidth": "100Gbps",

[0163] "total_execution_time": "2s",

[0164] "output_file": "MemCached_8Host_100M.txt"

[0165] }

[0166] In the script control options, the parameters can be specified in the following form, and the meaning of the command is the same as described above.

[0167] python3 traffic_gen.py -c MemCached_distribution.txt -n 8 -l 0.5 -b100G -t 2 -o MemCached_8Host_100M.txt

[0168] MemCached_distribution.txt contains the cumulative distribution characteristics of MemCached service traffic, as shown below: 0 0 1 20 2 25 3 26 4 30 10 35 12 42 13 43 15 50 95 60 160 70 170 80 210 90 1000 95 3000 100

[0184] The specific meaning of this distribution is as follows:

[0185] - First column (bytes): Indicates the size of the MemCached request or response packet (in bytes).

[0186] - Second column (percentage): Represents the cumulative percentage of requests or responses that are less than or equal to the corresponding packet size.

[0187] The example is explained below:

[0188] - `0 0`: Requests or responses with a packet size of 0 bytes account for 0%.

[0189] - `1 20`: Requests or responses with a packet size of ≤ 1 byte account for 20%.

[0190] - `3000 100`: Requests or responses with a packet size of ≤ 3000 bytes account for 100%.

[0191] This distribution characteristic can help the traffic generation module simulate real MemCached business traffic.

[0192] The typical detailed traffic description file generated by the traffic automation generation module 0103 based on the traffic abstraction description is shown below:

[0193] 536327 # Total Traffic

[0194] 5 4 3 100 1 2.000001752 # Sending node number, receiving node number, PFC priority, destination port number, stream size, stream start time 5 1 3 100 1 2.000005862 1 2 3 100 167 2.000006146 0 6 3 100 143 2.000008279 2 3 3 100 2475 2.000013667 5 1 3 100 151 2.000022862 7 5 3 100 1 2.000026979 1 2 3 100 1 2.000027470 0 3 3 100 1 2.000030334

[0203] According to some embodiments, the automated traffic parsing module 0104 parses traffic characteristics based on the abstract traffic description and / or the detailed traffic description to generate a traffic distribution map for interactive display. The automated traffic parsing module 0104 parses traffic characteristics based on the abstract or detailed traffic description to generate a visual data display. Specifically, if the cumulative distribution feature file in the abstract traffic description is used as input, a cumulative distribution map of the service traffic can be obtained. Optionally, the cumulative distribution map supports multiple distribution feature files as input. If the detailed traffic description file is used as input, a scatter plot showing the distribution of simulated traffic service size over time can be obtained.

[0204] Figure 3 This diagram illustrates the workflow of an automated system simulation execution module for network simulation according to an example embodiment.

[0205] See Figure 2 The simulation execution automation module 02 includes: simulation automation execution module 0201 and simulation automation acceleration module 0202.

[0206] According to some embodiments, the simulation automation execution module receives the detailed topology description and the full traffic description from the business model automation module 01, abstracts the code details of the network simulation execution process, exposes the network simulation execution options as limited configuration items, and automatically parses the configuration information of the configuration items, runs the simulation code to execute the simulation task, and / or the simulation automation execution module executes the network simulation task using default configuration information. See also Figure 3 In the workflow, the simulation automation execution module 0201 can hide the code details of the execution process, expose the execution options as limited configuration items, and automatically perform configuration parsing and run the simulation code. Through the simulation automation execution module 0201, users only need to perform simple configuration (such as selecting the simulation scene, setting the simulation time, specifying the simulation parameter range, etc.) to start the simulator.

[0207] According to some embodiments, the simulation automation execution module is configured to perform validity checks and preprocessing on the configuration information, converting the configuration information into instructions and parameters recognizable by the underlying simulation engine, thereby starting the simulation task. The simulation automation execution module 0201 automatically performs validity checks and preprocessing on the user-configured parameters, converting the configuration information into instructions and parameters recognizable by the underlying simulation engine, and calling the simulation engine's interface to start the simulation process. Users can specify these values ​​in configuration files or script control options.

[0208] Generally, the configuration file can use the JSON format as described below. These configurations mean the following: The simulation process specifies `topo.txt` as the path to the topology file, which contains the network topology definition, including information such as nodes, links, and switches; `flow.txt` is specified as the path to the flow file, which contains the network flow definition, including source nodes, destination nodes, flow size, flow start time, etc.; the congestion control mode is specified as DCQCN, which can be replaced with other congestion control algorithms such as DCTCP / Timely / HPCC; the simulation duration is set to 10 seconds; the priority flow control mode is set to dynamic, which can be dynamically adjusted according to the load; the packet payload size is set to 1000 bytes; the log file path is specified as `mylog.txt`, where key information will be recorded during the simulation; the logging mode is set to logic, indicating that key events and intermediate data tagged with "logic" will be recorded during the simulation.

[0209] {

[0210] "topo_file": "topo.txt",

[0211] "flow_file": "flow.txt",

[0212] "cc_mode": "DCQCN",

[0213] "duration": 10,

[0214] "pfc_mode": "dynamic",

[0215] "payload_size": 1000,

[0216] "log_file": "mylog.txt",

[0217] "log_mode": "logic"

[0218] }

[0219] In the script control options, the parameters can be specified in the following form, and the command means as described above.

[0220] python3 . / auto_run.py --topo_file topo.txt --flow_file flow.txt --cc_mode DCQCN --duration 10 --pfc_mode dynamic --payload_size 1000 --log_filemylog.txt --log_mode logic

[0221] Figure 4 This diagram illustrates the workflow of an automated system simulation acceleration module for network simulation according to an example embodiment.

[0222] According to some embodiments, the simulation automation acceleration module automatically accelerates the network simulation using multi-threading technology and a distributed computing framework, based on actual hardware resources and the configuration information. See also... Figure 4 The simulation automation acceleration module 0202 accelerates the network simulation process automatically using multi-threading technology and distributed computing frameworks, based on actual hardware resources and configurable options. This module enables automated hardware resource adaptation, dynamically adjusting simulation parameters by automatically detecting hardware resources (such as the number of CPU cores and memory size) to fully utilize them. For example, the simulation automation acceleration module 0202 can automatically set the number of threads based on the available CPU cores, thereby achieving efficient parallel simulation. The simulation automation module utilizes multi-threading technology and a fine-grained partitioning strategy to automatically divide the network topology into multiple logical processes (LPs). Each LP is responsible for simulating one or more nodes in the network, thereby improving caching efficiency and parallelization efficiency. Furthermore, the module's scheduler can dynamically balance the workload of each thread, ensuring that all processor cores can complete event processing synchronously. This dynamic scheduling strategy, based on network characteristics, effectively reduces waiting time between threads and improves parallelization efficiency. The simulation automation acceleration module 0202 implements a hybrid simulation kernel (hybrid-simulator-impl) that combines multi-threaded parallelization (MTP) and message passing interface (MPI) to coordinate local LPs and global MPI communication. This enables the network automation simulation module to perform distributed simulations across multiple machines, fully utilizing cluster resources. The entire partitioning and scheduling process of the simulation automation acceleration module 0202 is transparent to the user, achieving efficient parallel simulation without modifying the original discrete event simulation (DES) model code. Users can flexibly adjust the simulation parallelism through configuration files or command-line parameters, such as setting the number of threads and partitioning strategies, to adapt to different hardware resources and simulation requirements.

[0223] See Figure 2 The simulation analysis automation module 03 includes: an automated data capture module 0301, an automated data analysis module 0302, and an automated result display module 0303.

[0224] According to some embodiments, the automated data capture module 0301 is used to automatically filter and collect important intermediate results of the execution process according to the capture rules in the configuration information, through a customized logging function inserted into the simulation code, to obtain simulation data and store it in a specified storage medium. The automated data capture module 0301 automatically captures and archives important intermediate results of the execution process based on the customized logging technology of the simulation tool. During network simulation execution, the automated data capture module 0301 automatically captures and archives important intermediate result data (such as node performance indicators, port packet counts, PFC trigger counts, etc.) in real time. It can flexibly filter and collect the required data according to user-configured capture rules (such as capturing data from specific nodes, capturing data within a specific time period, capturing data at a certain sampling frequency, etc.), and store it in a specified storage medium (such as a local hard drive, network storage device, etc.), ensuring data integrity and reliability, providing rich data resources for subsequent data analysis and result evaluation, avoiding the tediousness and error-proneness of manual data recording, and improving the efficiency and accuracy of data collection.

[0225] According to some embodiments, the automated data capture module 0301 includes a log management tool. This tool allows configuration of log recording rules, viewing of log file status, and backup and recovery of log data. The automated data capture module 0301 relies on customized logging functions inserted into the simulation code. These functions write important data to log files or storage buffers according to predefined formats and rules during simulation execution. Asynchronous writing can be used to avoid excessive impact of logging operations on simulation performance. Simultaneously, a log management tool is provided, allowing users to easily configure logging rules, view log file status, and perform backup and recovery of log data. Furthermore, to improve the security and reliability of data storage, data encryption and verification technologies can be used to process the captured data, ensuring data integrity during storage and transmission.

[0226] Figure 5 This diagram illustrates the workflow of an automated data analysis module for an automated system used in network simulation, according to an example embodiment.

[0227] According to some embodiments, the automated data analysis module 0302 acquires the simulation data, and automatically performs data filtering and parsing under different indicators based on user-specified analysis indicators and conditions, obtaining simulation data analysis results and transmitting them to the automated result display module 0303. The automated data analysis module 0302 automatically performs data filtering and parsing under different indicators based on the archived data from the automated data capture module 0301. See also... Figure 5 From the large amount of archived data stored in the automated data capture module 0301, the automated data analysis module 0302 automatically performs data filtering, cleaning, transformation, and analysis operations based on user-specified analysis indicators (such as bandwidth, latency, packet loss rate, etc.) and analysis conditions (such as specific time periods, specific nodes, etc.) to extract valuable information and patterns. It can utilize various data analysis algorithms and models (such as statistical analysis, machine learning, data mining, etc.) to deeply mine the data, generating analysis reports and visualization charts. This helps users quickly understand the performance and potential problems of network simulation results, providing strong data support for network optimization and decision-making, reducing the workload and complexity of manual data analysis, and improving the accuracy and efficiency of data analysis. Specifically, the automated data analysis module 0302 first reads the archived data file and, based on the user-configured analysis indicators and conditions, uses data filtering algorithms to select the required data subset. Then, it cleans and transforms the filtered data, such as removing outliers, filling missing values, and normalizing the data to meet the requirements of subsequent analysis algorithms. Next, based on the analysis algorithm selected by the user (such as average calculation, trend analysis, cluster analysis, association rule mining, etc.), the corresponding data analysis library (such as Pandas, NumPy, Scikit-learn, etc.) is called to perform calculations and analysis to obtain the analysis results data.

[0228] According to some embodiments, the automated result display module 0303 receives the simulation data analysis results and generates visual data analysis charts based on the simulation data analysis results for interactive display. The automated result display module 0303 generates visual results, such as histograms, line charts, and scatter plots, using professional plotting libraries based on the data results parsed by the automated data analysis module 0302. The automated result display module 0303 receives the analysis result data generated by the automated data analysis module 0302 and automatically generates high-quality visual results using professional plotting libraries (such as Matplotlib, Seaborn, Plotly, etc.) according to the user-selected display method (such as chart type, report format, display layout, etc.). It can generate various types of charts (such as histograms to show network traffic distribution, line charts to show performance index trends over time, and scatter plots to show performance correlations between different nodes), and arrange and combine these charts in a reasonable manner to form complete visualization reports or dashboards. This presents key information and performance indicators of network simulation results in an intuitive and visual way, allowing users to quickly understand and grasp network performance and identify problems. It also facilitates reporting and communication with others (such as team members, superiors, and clients), improving the effectiveness and efficiency of results presentation. Based on the type and characteristics of the analyzed data, the automated results display module 0303 selects appropriate chart types and plotting parameters, and calls the plotting functions of the plotting library to generate chart objects. It provides a variety of chart styles and templates for users to choose from, meeting the personalized needs of different users for results presentation.

[0229] Figure 6 This diagram illustrates the workflow of an automated system data real-time analysis module for network simulation according to an example embodiment.

[0230] See Figure 2 The simulation analysis automation module 03 also includes: a real-time data analysis module 0304 and a real-time data display module 0305.

[0231] According to some embodiments, the real-time data analysis module 0304 is used to acquire the simulation data in real time, automatically perform data filtering and parsing under different indicators, obtain real-time simulation data analysis results, and transmit them to the real-time data display module 0305. See also Figure 6The real-time data analysis module 0304, based on the real-time data acquired by the automated data capture module 0301, performs real-time data filtering and parsing, similar to the automated data analysis module 0302. During simulation execution, it acquires real-time data output by the automated data capture module 0301 and employs data processing and analysis algorithms similar to those used in the automated data analysis module 0302 to quickly filter, clean, transform, and analyze the real-time data, promptly extracting key performance indicators and trend information. It can monitor network performance status in real-time according to user-defined thresholds and alarm rules, enabling timely detection and resolution of functional or performance issues arising during network simulation. This provides strong support for real-time network performance optimization and fault prevention, compensating for the shortcomings of traditional post-event data analysis and improving the real-time performance and responsiveness of network simulation. The real-time data analysis module 0304 receives real-time data streams through real-time data stream processing technologies (such as Apache Flink, Storm, etc.) or message queue mechanisms (such as Kafka, RabbitMQ, etc.) and performs rapid processing and analysis of the real-time data. Lightweight data analysis algorithms and models can be used to meet real-time requirements. Simultaneously, a real-time monitoring interface is set up to display changes in key performance indicators in real time through dynamic charts or dashboards, allowing users to intuitively observe network performance status. Furthermore, to improve the accuracy and reliability of real-time analysis, historical data can be combined for comparative analysis and trend prediction, providing users with more comprehensive performance evaluation and decision support.

[0232] According to some embodiments, the real-time data display module 0305 receives the real-time simulation data analysis results and generates visualized real-time data analysis charts based on these results for interactive display. The real-time data display module 0305 generates dynamically changing visualization results in real-time using a professional charting library, based on the real-time results parsed by the real-time data analysis module 0304. Based on the real-time result data parsed by the real-time data analysis module 0304, it generates dynamically changing visualization results in real-time using a professional charting library and dynamic visualization technology. This allows for the intuitive display of network performance indicator trends and real-time network status information, such as real-time traffic changes in links and performance indicator fluctuations of nodes in the network topology diagram, in the form of animations and real-time updated charts. This enables users to observe dynamic behavior and performance changes during network simulation in real time, promptly identify potential problems and performance bottlenecks, and provides intuitive and visual evidence for real-time network optimization and decision-making. It enhances users' real-time perception and control capabilities of the network simulation process, improving the visualization effect and user experience of network simulation. The real-time data visualization module 0305 uses dynamic visualization libraries (such as Plotly's Dash and Bokeh) or web technologies (such as HTML5, JavaScript, and WebSocket) to build a real-time visualization interface. After receiving real-time results data from the real-time data analysis module 0304, it updates the chart content in real time according to data changes, achieving a dynamic display effect. The data update frequency and chart refresh interval can be set to balance real-time performance and performance consumption. Simultaneously, interactive functions are provided, such as real-time adjustment of the chart display range, switching chart types, and viewing detailed data, allowing users to observe and analyze real-time data more flexibly. Furthermore, to ensure the stability and smoothness of the real-time display, data caching and preloading technologies can be used to optimize data transmission and processing, improving the performance and response speed of the real-time visualization system.

[0233] According to some embodiments, the generated visualization charts are arranged reasonably using layout management algorithms to ensure that the charts do not obstruct each other and are clearly readable. Regarding chart layout, layout management algorithms (such as grid layout, free layout, etc.) are used to arrange multiple charts reasonably, ensuring that the charts do not obstruct each other and are clearly readable. Simultaneously, elements such as titles, axis labels, legends, and annotations can be added to provide detailed explanations and annotations of the charts, enhancing their readability and information delivery. Furthermore, to facilitate user sharing and display of results, the visualization results can be saved as files in various formats (such as PNG, JPEG, SVG, PDF, etc.) or displayed directly on web pages, mobile devices, and other platforms.

[0234] According to some embodiments, the design of the present invention can also include a GUI interactive program, which comprises the automation system described in any of the preceding claims. To further enhance the user experience and reduce user reliance on command-line operations, this technical solution can also employ a fully interactive GUI implementation, integrating all functional modules of the entire network simulation framework into a single graphical user interface. Users do not need to explicitly invoke scripts or edit configuration files in the terminal; instead, they can complete the configuration, execution, and analysis of simulation tasks through intuitive graphical operations.

[0235] First, a modular GUI layout was designed for the GUI interaction framework. For example, the framework was divided into a topology building module, a traffic generation module, a simulation execution module, a data analysis module, and a results display module. The topology building module provides a drag-and-drop topology design interface, allowing users to build network topologies by dragging and dropping nodes (such as switches and hosts) and connections (such as links), and preview the topology diagram in real time. The traffic generation module allows users to set parameters such as traffic type (such as MemCached, Web Search), traffic distribution characteristics, and load factor through form input or a graphical configuration interface. The simulation execution module provides a one-click simulation start button, allowing users to select simulation scenarios, set simulation time, and adjust acceleration options. The data analysis module integrates a real-time data monitoring dashboard and a historical data analysis interface, supporting dynamic chart updates and interactive data exploration. The results display module provides various visualization chart templates (such as line charts, scatter plots, and heatmaps), allowing users to customize chart styles and export reports.

[0236] Next, the interactive functionality is designed. Optionally, when users configure topology or traffic parameters, the GUI interface can display the results of configuration validity checks in real time (such as whether the link bandwidth exceeds the range, whether the traffic distribution is reasonable). Real-time preview of the generated topology and traffic distribution diagrams can also be supported during topology construction and traffic configuration. Multiple windows can be opened simultaneously for topology design, traffic configuration, simulation monitoring, and data analysis, improving multi-tasking efficiency.

[0237] Finally, implement the GUI interactive program. Optionally, a mature graphical library (such as PyQt, Tkinter, Electron) can be used to build the GUI interface, ensuring cross-platform compatibility (Windows / Linux / macOS). Then, integrate libraries such as Graphviz and NetworkX to achieve automatic layout and rendering of the topology graph. Alternatively, use dynamic visualization libraries such as Plotly and Bokeh to support real-time data updates and interactive chart operations. Convert user operations in the GUI into JSON or YAML configuration files for the backend simulation engine to call. Manage the execution of simulation tasks through multi-threading or asynchronous task queues (such as Celery) to ensure the GUI interface remains responsive during simulation. Use WebSocket or RESTful API to implement front-end and back-end data interaction, supporting real-time data streaming and remote simulation task management.

[0238] Figure 7 A flowchart of a method for network simulation according to an example embodiment is shown.

[0239] See Figure 7 The present invention also provides a method for network simulation, comprising:

[0240] In S701, the receiver generates a detailed topology description and a full traffic description based on the abstract topology description and abstract traffic description parsed from the service model.

[0241] According to some embodiments, the abstract topology description and abstract traffic description parsed from the business model typically express the network's structural characteristics (such as node types and connection relationships) and traffic behaviors (such as communication modes and service types) in a high-level, simplified form. This information is then transformed into specific detailed topology descriptions and full traffic descriptions. The detailed topology description explicitly specifies the device model, interface configuration, link parameters (such as bandwidth, latency, and packet loss rate), and specific connection relationships for each network node; the full traffic description refines key parameters such as traffic source and destination, protocol type, packet size, transmission frequency, and QoS requirements, thereby realizing the transformation from a conceptual model to executable technical parameters and laying the foundation for subsequent simulations.

[0242] In S703, configuration information is generated based on the detailed topology description and the full traffic description, and configuration information parsing and network simulation are automatically executed.

[0243] According to some embodiments, configuration information required for simulation is automatically generated based on the detailed topology and full traffic description. This configuration information is adapted to the simulation platform used (such as NS-3, Mininet, or GNS3) and includes device configuration scripts, link setting instructions, and traffic generation rules. These configurations are automatically parsed, and the network simulation process is started. To further improve simulation efficiency, multi-threaded parallel processing and distributed computing frameworks can be combined to achieve rapid modeling and operation of large-scale network scenarios, effectively shortening simulation time and supporting dynamic simulation of complex network behaviors.

[0244] In S705, at least some intermediate results of the network simulation execution process are automatically captured and archived for parsing.

[0245] According to some embodiments, key intermediate results during the simulation execution process are automatically captured and archived. These intermediate results include, but are not limited to, link utilization, end-to-end latency, packet loss rate, queue length changes, routing table update records, and traffic throughput. Optionally, real-time monitoring and data acquisition mechanisms can be used to ensure that important performance indicators are fully recorded during the simulation process. This data can be used not only for dynamic analysis during the simulation but also to provide a reliable data foundation for in-depth analysis, visualization, and model optimization after the simulation.

[0246] According to some embodiments, the technical solution of this invention allows users to complete complex simulation tasks through graphical operations without writing scripts or editing configuration files, significantly reducing the technical requirements on users. It provides intuitive operation guidance and error prompts to help users quickly get started and avoid configuration errors. It supports saving and sharing project files, allowing team members to quickly view and modify simulation configurations through the GUI interface, promoting collaborative development. Version control functionality records the configuration and results of each simulation task, facilitating backtracking and comparative analysis. Real-time feedback and dynamic preview functions allow users to instantly view the effects during configuration, improving operational efficiency. It provides rich visualization options and interactive functions to meet users' personalized needs for data analysis and result display.

[0247] According to some embodiments, the technical solution of the present invention, by adding the business model automation module 01, enables the completion of complex simulation configuration tasks by providing simple structured configuration changes or adding script parameter options. For example, users can select network topology, set node attributes, configure algorithm modes, etc. in a JSON file. The system automatically converts these configuration information into instructions that the underlying simulation engine can recognize, enabling convenient startup of simulation execution, reducing the requirements for users' professional skills, and improving the efficiency of the simulation preparation stage through increased convenience. This significantly enhances team collaboration capabilities: the product team can communicate and implement product requirements more efficiently, the technical support team can quickly solve problems and work closely with the R&D team, and the after-sales team can better serve customers and collaborate with other departments, thereby achieving efficient collaboration between upstream and downstream teams and smooth operation of business processes, ultimately improving the overall operational efficiency and market competitiveness of the enterprise.

[0248] According to some embodiments, the technical solution of the present invention improves simulation execution efficiency by adding the simulation execution automation module 02, thereby using various simulation acceleration technologies (such as MPI acceleration and distributed acceleration). For example, before the simulation task starts, the computing cluster is initialized through the MPI initialization function to determine the number of computing nodes participating in the simulation, communication methods, and other information. Then, the simulation task is decomposed into multiple sub-tasks according to a certain strategy, and the sub-tasks are allocated to each computing node through the MPI message passing mechanism. During the execution of the sub-tasks, each computing node performs calculations according to the simulation logic and sends key data to other nodes through the MPI communication function to achieve data synchronization and collaborative simulation. Finally, the simulation results of each node are summarized to complete the entire simulation task.

[0249] According to some embodiments, the technical solution of the present invention, by adding the aforementioned simulation automation analysis module, achieves functions such as automated data capture, automated analysis, and graphical display of results. For example, during the simulation process, real-time data stream processing technology is used to analyze the generated data in real time, updating performance indicators and graphical display content promptly, allowing users to observe changes in network status in real time. Simultaneously, the system incorporates multiple data analysis algorithms to automatically process the captured data, extract key performance indicators, and display these indicators in intuitive charts and reports. Users can quickly understand the network's performance during the simulation process, compare the differences in indicators under different configurations or protocols, and assist in making network optimization decisions.

[0250] According to some embodiments, the technical solution of this invention integrates the entire network simulation process (topology construction, traffic generation, simulation execution, data capture, analysis and display) into a unified automated system. Through an abstract description language (such as JSON configuration) and modular design, it achieves end-to-end automated processing from business requirements to simulation results, eliminating the problems of scattered configurations and redundant scripts in traditional simulation tools. This significantly lowers the programming threshold for users and improves team collaboration efficiency. Combining multi-threaded partitioning strategies (Logical Processes, LPs) with a distributed computing framework (MPI + multi-threaded hybrid kernel), it achieves dynamic load balancing for simulation tasks. Based on automatic detection and adaptation of hardware resources (CPU / memory), it dynamically adjusts the number of threads and partitioning strategies to maximize resource utilization, breaking through the efficiency bottleneck of single-threaded / static parallelism in traditional simulation tools and supporting efficient simulation of large-scale complex networks. By introducing real-time data stream analysis engines (such as Apache Flink / Kafka) and dynamic visualization libraries (Plotly Dash / Bokeh), we can achieve real-time capture, analysis, and dynamic chart updates of simulation data. We support threshold alarms and interactive visualization (zoom / pan / multi-dimensional switching), providing real-time monitoring and immediate feedback of the simulation process. This solves the problem that traditional tools rely on post-analysis and lack real-time insights, and improves the depth of data processing and the speed of decision response.

[0251] According to some embodiments, the technical solution of the present invention automatically converts business requirements into a detailed, executable simulation model through the abstract topology description (such as spine-leaf structural parameters) and the abstract traffic description (such as MemCached cumulative distribution). Combined with graphical generation tools (Graphviz / NetworkX) and an interactive GUI, it achieves bidirectional visualization of topology and traffic (abstract model <-> detailed model), simplifying the complex network modeling process, improving configuration file readability, and reducing the error rate of manual modeling. Asynchronous log writing technology and customized log functions are used to automatically capture key data without affecting simulation performance. Based on a multi-algorithm fusion analysis engine (Pandas + Scikit-learn) and a templated plotting library (Matplotlib / Seaborn), it automatically generates standardized analysis reports and multi-format visualization charts, solving the problems of traditional tools relying on manual data processing and switching between multiple software programs, and achieving a one-stop closed loop of "simulation-analysis-display".

[0252] Figure 8 A block diagram of a computing device according to an example embodiment of this application is shown.

[0253] like Figure 8As shown, the computing device 30 includes a processor 12 and a memory 14. The computing device 30 may also include a bus 22, a network interface 16, and an I / O interface 18. The processor 12, memory 14, network interface 16, and I / O interface 18 can communicate with each other via the bus 22.

[0254] The processor 12 may include one or more general-purpose CPUs (Central Processing Units), microprocessors, or application-specific integrated circuits, for executing relevant program instructions. According to some embodiments, the computing device 30 may also include a high-performance display adapter (GPU) 20 for accelerating the processor 12.

[0255] Memory 14 may include a machine-readable medium in the form of volatile memory, such as random access memory (RAM), read-only memory (ROM), and / or cache memory. Memory 14 is used to store one or more programs containing instructions, as well as data. Processor 12 may read the instructions stored in memory 14 to perform the methods described above according to embodiments of this application.

[0256] The computing device 30 can also communicate with one or more networks via the network interface 16. The network interface 16 can be a wireless network interface.

[0257] Bus 22 can include address bus, data bus, control bus, etc. Bus 22 provides a path for exchanging information between components.

[0258] It should be noted that, in specific implementations, the computing device 30 may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the device described above may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.

[0259] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method. The computer-readable storage medium may include, but is not limited to, any type of disk, including floppy disks, optical disks, DVDs, CD-ROMs, microdrives, as well as magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic cards or optical cards, nanosystems (including molecular memory ICs), network storage devices, cloud storage devices, or any type of medium or device suitable for storing instructions and / or data.

[0260] This application also provides a computer program product including a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments.

[0261] Those skilled in the art will clearly understand that the technical solutions of this application can be implemented using software and / or hardware. In this specification, "unit" and "module" refer to software and / or hardware capable of independently performing or cooperating with other components to perform a specific function, where the hardware may be, for example, a field-programmable gate array (FPGA), integrated circuit, etc.

[0262] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0263] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0264] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some service interface; the indirect coupling or communication connection between apparatuses or units may be electrical or other forms.

[0265] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0266] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0267] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application.

[0268] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0269] The exemplary embodiments of this application have been specifically shown and described above. It should be understood that this application is not limited to the detailed structures, arrangements, or implementation methods described herein; rather, this application is intended to cover various modifications and equivalent arrangements contained within the spirit and scope of the appended provisions.

Claims

1. An automated system for network simulation, characterized in that, The system includes: a business model automation module, a simulation execution automation module, and a simulation analysis automation module, wherein... The business model automation module receives the abstract topology description and abstract traffic description parsed from the business model, generates a detailed topology description and a full traffic description respectively, and sends the detailed topology description and the full traffic description to the simulation execution automation module. The automated business model module includes: an automated topology construction module, an automated topology display module, an automated traffic generation module, and an automated traffic parsing module. The automated topology construction module receives the abstracted topology description, constructs the detailed topology description, and transmits the detailed topology description to the automated topology display module and the automated simulation execution module. The automated topology display module receives the detailed topology description from the automated topology construction module and generates a topology map for interactive display. The automated traffic generation module receives the abstracted traffic description, generates the full traffic description, and transmits the full traffic description to the automated traffic parsing module and the automated simulation execution module. The automated traffic parsing module parses traffic characteristics based on the abstract traffic description and / or the full traffic description to generate a traffic distribution map for interactive display. The simulation execution automation module receives the detailed topology description and the full traffic description from the business model automation module, generates configuration information, and automatically performs configuration information parsing and runs network simulation. The simulation execution automation module includes: a simulation automation execution module, The simulation automation execution module receives the detailed topology description and the full traffic description from the business model automation module, abstracts the code details of the network simulation execution process, exposes the network simulation execution options as limited configuration items, and automatically parses the configuration information of the configuration items, runs the simulation code, and performs the simulation task. The simulation execution automation module further includes a simulation automation acceleration module, which automatically accelerates the network simulation using multi-threading technology and a distributed computing framework based on actual hardware resources and the configuration information. The simulation analysis automation module is used to automatically capture and archive at least some of the intermediate results of the network simulation execution process for analysis. The automated simulation analysis module includes: an automated data capture module, an automated data analysis module, and an automated result display module. The automated data capture module is used to automatically filter and collect important intermediate results of the execution process according to the capture rules in the configuration information, through a customized logging function inserted into the simulation code, to obtain simulation data and store it in the specified storage medium. The automated data analysis module acquires the simulation data, automatically performs data filtering and parsing under different indicators based on user-specified analysis indicators and conditions, obtains the simulation data analysis results, and transmits them to the automated result display module. The automated result display module receives the simulation data analysis results and generates visual data analysis charts based on the simulation data analysis results for interactive display.

2. The automation system according to claim 1, characterized in that, The simulation automation execution module uses the default configuration information to execute network simulation tasks.

3. The automation system according to claim 1, characterized in that, The simulation execution automation module is configured as follows: The configuration information is validated and preprocessed to convert it into instructions and parameters that the underlying simulation engine can recognize, thereby starting the simulation task.

4. The automation system according to claim 1, characterized in that, The automated data capture module includes a log management tool, which allows configuration of log recording rules, viewing of log file status, and backup and recovery of log data.

5. The automation system according to claim 1, characterized in that, The automated simulation analysis module further includes: a real-time data analysis module and a real-time data display module, wherein... The real-time data analysis module is used to acquire the simulation data in real time, automatically perform data filtering and parsing under different indicators, obtain real-time simulation data analysis results, and transmit them to the real-time data display module. The real-time data display module receives the real-time simulation data analysis results and generates visualized real-time data analysis charts based on the results for interactive display.

6. The automation system according to claim 1, characterized in that, The abstract topology description includes typical topology structure, number of switch nodes at each level, number of host nodes, link bandwidth, link latency, and packet loss rate; The abstract traffic description includes typical business traffic types, number of active host nodes, load factor, host bandwidth, and total execution time.

7. A computing device, characterized in that, Includes an automated system for network simulation as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Network simulator-oriented large-scale batch data acquisition method, system and equipment and medium

    CN117560291A