Network simulation method and apparatus, device and storage medium
By acquiring reference network data sequences and updating them using the target model, the problem of low simulation accuracy in traditional network simulators is solved, achieving more efficient and accurate network simulation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-17
- Publication Date
- 2026-03-26
AI Technical Summary
Traditional network simulators, which simulate network environments based on mathematical statistical models, differ significantly from real-world networks. This leads to inaccurate test results, difficulty in covering various real-world network conditions, and challenges in constructing abnormal network conditions.
By acquiring the data sequence of the reference network, generating the prediction network data using the target model, and updating the target model based on the comparison between the prediction data and the reference data, a simulation model suitable for real-world networks is trained.
It improves the accuracy and efficiency of network simulation, enabling it to better simulate various conditions and anomalies in real-world networks and provide more accurate test results.
Smart Images

Figure CN2025121877_26032026_PF_FP_ABST
Abstract
Description
Network simulation method, apparatus, device, and storage medium
[0001] This application claims priority to the Chinese Patent Application No. 202411311265.3, filed on September 19, 2024, entitled “Network simulation method, apparatus, device, and storage medium”, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0002] Example embodiments of the present disclosure generally relate to the field of computer technology, and in particular, to a method, apparatus, device, and computer-readable storage medium for network simulation. BACKGROUND
[0003] A network simulator is a tool for simulating network conditions of a network, which is usually used in research and development and testing in the field of network transmission. In the research and development stage of a network product, it is usually necessary to test the running of the product in various scenarios in a real network. The network simulator provides a convenient platform for users to establish a simulated network environment therein, so as to test and analyze the application running in the network environment.
[0004] A conventional network simulator simulates a network environment based on a mathematical statistical model, such as packet loss, jitter, and speed limit, etc. There is a large difference between the simulated network environment given by the mathematical statistical model and the actual network environment, and the accuracy of the results obtained by testing and analyzing in the network simulator is low. SUMMARY
[0005] In a first aspect of the present disclosure, a network simulation method is provided. The method comprises: obtaining a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time; generating, based on at least first reference data corresponding to a first time in the reference data sequence, predicted network data corresponding to a second time using a target model, the target model being used to simulate state changes of a target network; and updating the target model based on a comparison between the predicted network data and second reference data corresponding to the second time in the reference data sequence.
[0006] In a second aspect of the present disclosure, a network simulation apparatus is provided. The apparatus comprises: an obtaining module configured to obtain a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time; a generating module configured to generate, based on at least first reference data corresponding to a first time in the reference data sequence, predicted network data corresponding to a second time using a target model, the target model being used to simulate state changes of a target network; and an updating module configured to update the target model based on a comparison between the predicted network data and second reference data corresponding to the second time in the reference data sequence.
[0007] In a third aspect of the disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. The instructions, when executed by the at least one processor, cause the device to perform the method of the first aspect.
[0008] In a fourth aspect of the disclosure, a computer-readable storage medium is provided. The medium has stored thereon computer-executable instructions that, when executed by a processor, implement the method of the first aspect.
[0009] In a fifth aspect of the disclosure, a computer program product is provided. The computer program product is tangibly stored in a computer storage medium and includes computer- executable instructions. The computer-executable instructions, when executed by a device, cause the device to perform the method of the first aspect.
[0010] It should be understood that all statements herein made regarding the examples described in this section are intended to be illustrative of the key and important features of the embodiments of the present disclosure and it is not intended that the disclosure be limited to such features. Other features of the disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0011] The above-mentioned and other features and advantages of various embodiments of the present disclosure will become more apparent by reference to the following detailed description taken in conjunction with the accompanying drawings. In the drawings, like reference numerals denote like elements, wherein:
[0012] FIG. 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;
[0013] FIG. 2 shows a schematic diagram of an architecture for network simulation, according to some embodiments of the present disclosure;
[0014] FIG. 3 shows a schematic diagram of a data sequence for network simulation, according to some embodiments of the present disclosure;
[0015] FIG. 4 shows a flowchart of a method for network simulation, according to some embodiments of the present disclosure;
[0016] FIG. 5 shows a block diagram of an apparatus for network simulation, according to some embodiments of the present disclosure; and
[0017] FIG. 6 shows a block diagram of a device capable of implementing various embodiments of the present disclosure. DETAILED DESCRIPTION
[0018] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be implemented in various forms and should not be interpreted as being limited to the embodiments set forth herein, but rather, these embodiments are provided so as to more completely and thoroughly understand the present disclosure. It is understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0019] In the description of embodiments of the present disclosure, the term "comprising" and its conjugations should be understood as open-ended, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "an embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit or implicit definitions can also be included below.
[0020] In this document, unless explicitly stated, performing a step "in response to A" does not mean performing the step immediately after A, but can include one or more intermediate steps.
[0021] It can be understood that the data involved in the technical solutions of the present disclosure (including but not limited to the data itself, the obtaining or use of the data) should comply with the requirements of relevant laws and regulations and relevant provisions.
[0022] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the type of personal information involved in the present disclosure, the scope of use, the use scenario, etc. should be informed to the user and the authorization of the user should be obtained through appropriate means according to relevant laws and regulations.
[0023] For example, in response to receiving the active request of the user, a prompt information is sent to the user to explicitly prompt the user that the operation requested to be performed will require obtaining and using the personal information of the user, so that the user can voluntarily choose whether to provide the personal information to the software or hardware such as electronic device, application program, server or storage medium, etc. performing the operation of the technical solutions of the present disclosure according to the prompt information.
[0024] As an optional but non-limiting implementation manner, in response to receiving the active request of the user, the manner of sending the prompt information to the user may, for example, be the manner of pop-up window, and the prompt information may, for example, be presented in the form of text in the pop-up window. In addition, the pop-up window may also carry selection controls for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0025] It can be understood that the above notification and user authorization process is only illustrative and does not limit the implementation manner of the present disclosure, and other manners meeting the relevant laws and regulations can also be applied to the implementation manner of the present disclosure.
[0026] Traditionally, network simulators simulate network conditions of a network by integrating multiple statistical models, such as a random packet loss model and a Gilbert-Elliot (GE) packet loss model. However, the network conditions of a network simulated based on statistical models are usually quite different from the network conditions of a real network. When network products or algorithms are tested and analyzed using these simulated networks, accurate test results cannot be obtained. In addition, it often happens that a product or algorithm performs well in the environment of a network simulator, but performs poorly in a real network.
[0027] In addition, because the network conditions of a real network are complex and changeable, a network simulator based on statistical models usually cannot cover various network conditions of a real network, and some special network conditions appearing in a real network cannot be constructed by a network simulator based on statistical models. Products and algorithms that pass reliability tests in a network simulator can have various abnormalities in a real network.
[0028] In the application process of a network simulator, it is usually also necessary to construct a simulated network environment in the network simulator based on the network conditions of a real network. For example, when the performance of a product or algorithm in a real network under abnormal conditions (e.g., a high packet loss rate) is tested and analyzed, a simulated network with abnormal conditions needs to be constructed in the network simulator. However, in a traditional network simulator, it is difficult to construct a corresponding network according to requirements.
[0029] To address the above and other potential issues, embodiments of the present disclosure propose a scheme for network simulation. In the scheme, first reference data corresponding to a first time in a reference data sequence is input into a target model to generate predicted network data corresponding to a second time. Then, the target model is updated based on a comparison between the predicted network data and the reference data sequence. In this way, the reference data sequence in a reference network can be used to train the target model. The scheme of the present disclosure can use the target model for network simulation, improving the efficiency and accuracy of network simulation.
[0030] Some example embodiments of the present disclosure will be described below with reference to the accompanying drawings.
[0031] FIG. 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. In this example environment 100, a network simulation device 101 is configured to transmit and process network data. The network simulation device 101 can also be configured to simulate a network to generate a target network 120. In this document, the target network 120 is also referred to as a simulated network. As an example, a target model 110 can be included in the network simulation device 101 or obtained from other devices. The network simulation device 101 can train the target model 110 using various network data of a reference network 130. The trained target model 110 can be used to simulate condition or state changes of the target network 120 to generate simulated network data for simulation and analysis of network products and algorithms.
[0032] In particular, the network simulation device 101 can provide network data of the reference network 130 to the target model 110. The network simulation device 101 can also compare network data generated by the target model 110 with network data of the reference network 130, and update the target model 110 based on a result of the comparison. In addition, the network simulation device 101 can also generate network data of the target network 120 using the updated target model 110.
[0033] In some embodiments, the reference network 130 can be a real network, such as the Internet, a local area network, a mobile communication network, or other suitable network. Alternatively, the reference network 130 can also be a network generated by other network simulators.
[0034] In some embodiments, the network simulation device 101 can be any type of device with computing capability, including a terminal device or a server device. The terminal device can be any type of mobile terminal, fixed terminal, or portable terminal including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multi-media tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a game device, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. The server device can include, for example, a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, or the like. It should be understood that the network simulation device 101 can be configured to implement any or all techniques of embodiments of the present disclosure, which are not limited in this regard.
[0035] It should be appreciated that the structure and function of the environment 100 are described for illustrative purposes only and are not intended to imply any limitation of the scope of the present disclosure. The various devices or modules shown in FIG. 1 are exemplary and are not intended to limit the scope of the present disclosure. Example embodiments according to the present disclosure will be described in detail below with reference to the accompanying drawings.
[0036] FIG. 2 shows a schematic diagram of an architecture 200 for simulating a network, according to some embodiments of the present disclosure. The architecture 200 can be implemented by, for example, the network simulation device 101 in FIG. 1 or other suitable devices. Hereinafter, the architecture 200 is described with reference to FIG. 1 for illustrative purposes.
[0037] As shown in FIG. 2, the network simulation device 101 obtains a reference data sequence 210 of the reference network 130. The reference data sequence 210 can include a plurality of reference data, such as a first reference data 211 and a second reference data 212. The reference data of the reference network 130 at different time instants can be sequentially ordered in time to form the reference data sequence 210. For example, a set of reference data periodically or non-periodically collected within a predetermined time period can be used to generate the reference data sequence 210 according to the time instants of collection. It should be appreciated that although the reference data sequence 210 including two reference data is shown in the example of FIG. 2, in some embodiments, the reference data sequence 210 can include more than two reference data.
[0038] In some embodiments, the network simulation device 101 generates, based on at least the first reference data 211 corresponding to a first time instant in the reference data sequence 210, a predicted network data 220 corresponding to a second time instant using the target model 110. The network simulation device 101 further updates the target model 110 based on a comparison between the predicted network data 220 and the second reference data 212 corresponding to the second time instant in the reference data sequence 210. In this context, updating a model means updating parameters of the model, and the model is also referred to as being trained or training the model.
[0039] In some embodiments, the reference data sequence 210 is a sequence of network data of the reference network 130 corresponding to respective time instants. Further, the network simulation device 101 can generate a predicted data sequence by generating a plurality of predicted network data using the target model 110 based on a plurality of reference data corresponding to a plurality of different time instants in the reference data sequence 210. The network simulation device 101 can update the target model 110 based on the plurality of reference data and the associated plurality of predicted network data in the reference data sequence and the predicted data sequence.
[0040] FIG. 3 illustrates a diagram of a reference data sequence 210 and a predicted data sequence 310, according to some embodiments of the present disclosure. As shown in FIG. 3, the reference data sequence 210 can include a first reference data 211 corresponding to a first time instance 301, a second reference data 212 corresponding to a second time instance 302, a third reference data 323 corresponding to a third time instance 303, and so on, and an Nth reference data 325 corresponding to an Nth time instance 305 (N is an integer greater than 1). The predicted data sequence 310 can include a predicted network data 220 corresponding to the second time instance 302, a predicted network data 313 corresponding to the third time instance 303, and so on, and a predicted network data 315 corresponding to the Nth time instance 305.
[0041] As previously mentioned, the first reference data 211 of the reference data sequence 210 corresponding to the first time instance 301 is input to the target model 110 to generate the predicted network data 220. Next, the target model 110 can be updated based on a comparison between the second reference data 212 corresponding to the second time instance 302 and the predicted network data 220. In some embodiments, the second time instance 302 can be the next time instance after the first time instance 301, or can be any time instance different from the first time instance 301. For example, there can be one or more other time instances between the first time instance 301 and the second time instance 302.
[0042] In some embodiments, the updating or training of the target model 110 can be performed iteratively. For example, the target model 110 updated using the comparison between the predicted network data 220 of the second time instance 302 and the second reference data 212 can be used to obtain the predicted network data 313 of the third time instance 303 based on the first reference data 211 and the second reference data 212. The target model 110 can be further updated based on a comparison between the predicted network data 313 and the third reference data 323.
[0043] In some embodiments, the length of time or the number of time instances for training or updating the target model 110 can be predetermined. For example, the target model 110 can be trained using a predetermined number of time instances corresponding to reference network data. Alternatively, in some embodiments, a threshold value can be set to stop training or updating the target model 110. If the difference between the reference data of a time instance and the predicted network data generated by the target model 110 does not exceed the threshold value, the updating of the target model 110 can be stopped.
[0044] With reference back to FIG. 2, in some embodiments, the network simulation device 101 can perform training of the target model 110 with self-supervised learning. For example, the network simulation device 101 can train the target model 110 based on a contrastive constraint. For instance, when comparing the predicted network data 220 and the second reference data 212, the second reference data is set as a positive sample, and the reference data in the reference data sequence 210 corresponding to other time instants other than the second time instant are set as negative samples. Then, the target model 110 is trained based on a metric that measures the distance between the predicted network data 220 and the positive and negative samples. For the reference data and the predicted network data of other time instants, the target model 110 can be further trained in a similar manner. It should be appreciated that the manner of training the target model 110 can be in any appropriate manner, and embodiments of the present disclosure do not limit the same in any way.
[0045] In some embodiments, the network simulation device 101 can update the parameters of the target model 110 by minimizing the difference between the predicted network data and the corresponding reference data. Specifically, a cross-entropy loss function can be used to compare the difference between the predicted network data and the corresponding reference data. The network simulation device 101 can update the parameters of the target model 110 by minimizing the value of the cross-entropy loss function. It should be appreciated that the above example regarding comparing the difference between the predicted network data and the corresponding reference data is merely exemplary, and the present disclosure does not limit the same in any way.
[0046] By generating the predicted network data using the reference data in the reference data sequence, and updating the target model using the comparison between the predicted network data and the reference data in the reference data sequence, a target model with high accuracy can be trained at a low cost.
[0047] In some embodiments, the reference data sequence 210 can include at least one of a packet loss rate data sequence, a jitter data sequence, a round-trip delay data sequence, an out-of-order data sequence, or a total code rate data sequence. Specifically, for example, if the reference data sequence 210 includes a packet loss rate data sequence, the first reference data 211 includes packet loss rate data of the reference network 130 corresponding to the first time instant T1, and the second reference data 212 includes packet loss rate data of the reference network 130 corresponding to the second time instant T2. By training the target model 110 using different types of reference data sequences, the trained target model 110 can be applicable to different network scenarios. In some embodiments, the reference data sequence 210 can include only one type of data sequence, whereby the trained target model 110 can better predict the network scenario corresponding to the type of data sequence.
[0048] In some embodiments, the target model 110 can be trained based on at least one of a reference event type and a reference application scenario type. Specifically, the reference event type includes at least one of a network transmission packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario. For example, if the reference event type includes the network transmission packet loss event, the reference data sequence 210 will include a reference network 130 packet loss rate data sequence in this way, the trained target model 110 can be used to simulate different application scenarios.
[0049] The reference application scenario type includes at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication. For example, if the reference application scenario type includes the multimedia data download, the reference data sequence 210 will include network data of the reference network 130 in the multimedia data download scenario.
[0050] As an example, the target model 110 can be a transformer (a machine learning model with a transformer architecture). Specifically, the target model 110 can include a self-attention mechanism, so that the target model 110 can consider data of all positions in the input reference data sequence 210 at the same time. In addition, in some embodiments, the target model 110 can also assign different weights to different parts of the reference data sequence 210. It should be understood that the target model 110 can also employ any other appropriate model. Embodiments of the present disclosure are not limited in this respect.
[0051] It should be understood that the present disclosure does not make any limitation on the number of reference networks 130 and target networks 120. For example, reference data sequences 210 from multiple reference networks 130 can be used to generate predicted network data 220, and the target model 110 can reflect the state changes of multiple target networks 120.
[0052] With the exemplary embodiments discussed above, predicted network data can be generated based on the reference data sequence of the reference network and the target model, and the target model can be updated based on the comparison of the predicted network data and the reference data sequence, so that the performance of the target model in simulating the target network can be improved, thereby improving the efficiency and accuracy of network simulation.
[0053] After updating the target model 110, the network simulation device 101 can use the updated target model 110 to generate a simulation data sequence. Here, the simulation data sequence reflects the simulated state changes of the target network 120 over a period of time.
[0054] In some embodiments, the network simulation device 101 can generate the simulation data sequence based on a target event type using the updated target model 110. Here, the simulation data sequence is used to simulate the state change of the target network 120 corresponding to the target event type. The target event type includes at least one of a network transmission packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario.
[0055] Specifically, for example, if the target event type is a “network transmission packet loss event”, the network simulation device 101 generates the simulation data sequence using the updated target model 110 to include network data simulating the occurrence of the network transmission packet loss event in the target network 120, thereby achieving a network in the network simulator that simulates the occurrence of the target event type. In some embodiments, the target event type can be the same as or different from the reference event type described above. The present disclosure also does not make any limitation on the number and times of the target event type, for example, the simulation data sequence can simulate the state change of the target network 120 corresponding to multiple and / or multiple times of the target event type.
[0056] In some embodiments, the simulation data sequence can be generated based on a target application scenario type using the updated target model 110. Here, the simulation data sequence is used to simulate the state change of the target network 120 corresponding to the target application scenario type. The target application scenario type includes at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication.
[0057] Specifically, if the target application scenario type is “network communication”, for example, instant messaging, communication with a presence background stream, or other network communication methods, etc., the network simulation device 101 generates the simulation data sequence using the updated target model 110 to include network data simulating the network communication being performed in the target network 120, thereby achieving a network in the network simulator that meets the target application scenario type. The target application scenario type can be the same as or different from the reference application scenario type described above. The present disclosure also does not make any limitation on the number of target application types, for example, the simulation data sequence can simulate the state change of the target network 120 corresponding to multiple target application scenario types at the same time.
[0058] In this way, the simulation data sequence reflecting the state change of the target network over a period of time can be generated using the trained target model, and a simulated network meeting the target requirements can be obtained based on the target event type and the target application scenario type, improving the efficiency and accuracy of network simulation.
[0059] FIG. 4 shows a flowchart of a method 400 for network simulation according to some embodiments of the present disclosure. The method 400 can be performed by, for example, the network simulation device 101 in FIG. 1 or other appropriate devices.
[0060] At 410, the network simulation device 101 obtains a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time. At 420, the network simulation device 101 generates predicted network data corresponding to a second time instance based on at least first reference data corresponding to a first time instance in the reference data sequence, using a target model for simulating state changes of a target network. At 430, the network simulation device 101 updates the target model based on a comparison between the predicted network data and second reference data corresponding to the second time instance in the reference data sequence.
[0061] In some example embodiments, the network simulation device 101 can generate a simulation data sequence using the updated target model, the simulation data sequence reflecting simulated state changes of the target network over a period of time.
[0062] In some example embodiments, the network simulation device 101 can generate a simulation data sequence using the updated target model, the simulation data sequence simulating state changes of the target network corresponding to a target event type, the target event type including at least one of a network packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario.
[0063] In some example embodiments, the network simulation device 101 can generate a simulation data sequence using the updated target model, the simulation data sequence simulating state changes of the target network under a target application scenario type, the target application scenario type including at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication.
[0064] In some example embodiments, the network simulation device 101 can update parameters of the target model by minimizing a difference between the predicted network data and the second reference data.
[0065] In some example embodiments, the reference data sequence can include at least one of a packet loss rate data sequence, a jitter data sequence, a round-trip delay data sequence, an out-of-order data sequence, or a total received code rate data sequence.
[0066] In some example embodiments, the target model can be trained based on at least one of a reference event type or a reference application scenario type.
[0067] In some example embodiments, the reference event type can include at least one of a network packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario.
[0068] In some example embodiments, the reference application scenario type can comprise at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication.
[0069] FIG. 5 illustrates a block diagram of an apparatus 500 for network simulation, according to some embodiments of the present disclosure. The apparatus 500 can be implemented as or included in the network simulation device 101 of FIG. 1. Various modules / components in the apparatus 500 can be implemented by hardware, software, firmware, or any combination thereof.
[0070] As shown, the apparatus 500 includes an obtaining module 510 configured to obtain a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time. The apparatus 500 further includes a generating module 520 configured to generate, based on at least first reference data in the reference data sequence corresponding to a first time instant, predicted network data corresponding to a second time instant, using a target model, the target model being used to simulate state changes of a target network. The apparatus 500 further includes an updating module 530 configured to update the target model based on a comparison between the predicted network data and second reference data in the reference data sequence corresponding to the second time instant.
[0071] In some example embodiments, the generating module 520 can be further configured to generate, using the updated target model, a simulation data sequence, the simulation data sequence reflecting simulated state changes of the target network over the period of time.
[0072] In some example embodiments, the generating module 520 can be further configured to generate, based on a target event type, the simulation data sequence simulating state changes of the target network corresponding to the target event type, the target event type comprising at least one of network packet loss event, network jitter event, network round-trip delay event, network bandwidth limitation event, or network out-of-order scenario, using the updated target model.
[0073] In some example embodiments, the generating module 520 can be further configured to generate, based on a target application scenario type, the simulation data sequence simulating state changes of the target network under the target application scenario type, the target application scenario type comprising at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication, using the updated target model.
[0074] In some example embodiments, the updating module 530 can be further configured to update parameters of the target model by minimizing a difference between the predicted network data and the second reference data.
[0075] In some example embodiments, the reference data sequence can comprise at least one of a packet loss rate data sequence, a jitter data sequence, a round trip delay data sequence, an out-of-order data sequence, or a total code rate data sequence.
[0076] In some example embodiments, the target model can be trained based on at least one of a reference event type or a reference application scenario type.
[0077] In some example embodiments, the reference event type can comprise at least one of a network transmission packet loss event, a network jitter event, a network round trip delay event, a network width limit event, or a network out-of-order scenario.
[0078] In some example embodiments, the reference application scenario type can comprise at least one of multimedia data download, multimedia data transmission, cloud gaming, or network communication.
[0079] FIG. 6 illustrates a block diagram of an electronic device 600 in which one or more embodiments of the disclosure can be implemented. It should be understood that the electronic device 600 illustrated in FIG. 6 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 600 illustrated in FIG. 6 can be used to implement the network simulation device 101 of FIG. 1 or the apparatus 500 for network simulation of FIG. 5.
[0080] As shown in FIG. 6, the electronic device 600 is in the form of a general computing device. Components of the electronic device 600 can include, but are not limited to, one or more processors or processing units 610, a memory 620, a storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. The processing unit 610 can be a real or virtual processor and is capable of executing various processing in accordance with programs stored in the memory 620. In a multi-processing system, multiple processing units execute computer-executable instructions in parallel to improve the processing power of the electronic device 600.
[0081] The electronic device 600 typically includes a plurality of computer storage media. Such media can be removable and / or non-removable and can include volatile and / or nonvolatile media. The memory 620 can be a volatile memory (e.g., a register, a cache, a random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory), or some combination thereof. The storage device 630 can be a removable or non-removable media and can include a machine-readable medium, such as a flash drive, a magnetic disk, or any other medium that can be used to store information and / or data and that can be accessed by the electronic device 600.
[0082] The electronic device 600 can further include additional detachable / non-detachable, volatile / non-volatile storage media. Although not shown in FIG. 6, a disk drive for reading from or writing to a detachable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a detachable, non-volatile optical disk (e.g., a CD-ROM) can be provided. In these cases, each drive can be connected to the bus (not shown) by one or more data media interfaces. The memory 620 can include a computer program product 625 having one or more program modules configured to carry out the various methods or acts of the various embodiments of the present disclosure.
[0083] The communication unit 640 enables communication with other electronic devices through communication media. Additionally, the functionality of the components of the electronic device 600 can be implemented in a single computing cluster or a plurality of computer machines capable of communicating with one another through a communication connection. As such, the electronic device 600 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network nodes in the networking environment.
[0084] The input device 650 can be one or more input devices, such as a mouse, a keyboard, a trackball, etc. The output device 660 can be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 600 can also communicate with one or more external devices (not shown) such as a storage device, a display device, etc., one or more devices that enable a user to interact with the electronic device 600, or any devices (e.g., a network card, a modem, etc.) that enable the electronic device 600 to communicate with one or more other electronic devices, through the communication unit 640, as needed. Such communication can be carried out via an input / output (I / O) interface (not shown).
[0085] According to an example implementation of the present disclosure, a computer readable storage medium having computer executable instructions stored thereon is provided, where the computer executable instructions are executed by a processor to implement the method described above. According to an example implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer readable medium and includes computer executable instructions, where the computer executable instructions are executed by a processor to implement the method described above.
[0086] Various aspects of the disclosure are now described with reference to flowcharts and / or block diagrams illustrating methods, apparatuses, devices, and storage media implemented in accordance with the present disclosure. It will be understood that each block of the flowchart and / or block diagrams, and combinations of blocks in the flowchart and / or block diagrams, can be implemented by computer readable program instructions.
[0087] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer- readable storage medium having no data storage viruses or other code or instructions implementing a functionally equivalent to that of the software manual reproduction process. The instructions can form an interface to other code or programs that or adapted at one time to implement specific processes or can form a component of another program, which can implement specific processes as conditions require.
[0088] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0089] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical functions ("instructions"). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and
[0090] implementations have been described above, the description is intended to be illustrative, and not restrictive, and is not intended to exclude other implementations from the scope of the implementations disclosed herein. Many modifications and variations to the implementations described herein are possible and are within the scope of the implementations described herein. The order or sequence of any process or method can be different from that described. Any referenced method can include additional steps not included in the "preferred sequence" of the method in the description of the implementations herein. The inclusion of a step in a method is not a requirement or a limitation for other implementations and the exclusion of a step is also not a requirement or a limitation for other implementations. Any process or method can include additional steps that are not present in other processes or methods. The use of any of the following "may have", "may", "might", "may not have", "might not", "might not have", "may not", "might not be", "may not include", "may not store", "may not contain", "may not comprise", "may not be", "may not", "not", "no", or any variation of these, unless specifically stated otherwise, is not a requirement or a limitation on implementations. The description herein of any process or method using terms such as "can", "might", or "may" also refers to a possibility of those terms not being used or present, unless specifically stated otherwise. Any process or method can include additional steps that are not present in other processes or methods. The use of any of the following "can", "might", or "may" is not a requirement or a limitation on implementations. The specific use of any of these terms will be based on the specific context in which they are used in this disclosure. The use of any of these terms will also be based on the preference of the person composing the claims. The specific use of any of these terms will also be based on the legal standards that apply to the term as used in the specific jurisdiction where the claims are filed.
Claims
1. A network simulation method, comprising: obtaining a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time; generating, based on at least first reference data in the reference data sequence corresponding to a first time instant, predicted network data corresponding to a second time instant using a target model, the target model being configured to simulate state changes of a target network; and updating the target model based on a comparison between the predicted network data and second reference data in the reference data sequence corresponding to the second time instant.
2. The method of claim 1, further comprising: generating, using the updated target model, a simulation data sequence, the simulation data sequence reflecting simulated state changes of the target network over a period of time.
3. The method of claim 2, wherein generating the simulation data sequence comprises: generating, based on a target event type, the simulation data sequence using the updated target model, the simulation data sequence simulating state changes of the target network corresponding to the target event type, the target event type comprising at least one of: a network packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario.
4. The method of claim 2, wherein generating the simulation data sequence comprises: generating, based on a target application scenario type, the simulation data sequence using the updated target model, the simulation data sequence simulating state changes of the target network under the target application scenario type, the target application scenario type comprising at least one of: multimedia data download, multimedia data transmission, cloud gaming, or network communication.
5. The method of any one of claims 1-4, wherein updating the target model comprises: updating parameters of the target model by minimizing a difference between the predicted network data and the second reference data.
6. The method of any one of claims 1-5, wherein the reference data sequence comprises at least one of: a packet loss rate data sequence, a jitter data sequence, a round-trip delay data sequence, an out-of-order data sequence, or a total received code rate data sequence.
7. The method of any one of claims 1-6, wherein the target model is further trained based on at least one of: a reference event type, or a reference application scenario type.
8. The method of claim 7, wherein the reference event type comprises at least one of: a network packet loss event, a network jitter event, a network round-trip delay event, a network bandwidth limitation event, or a network out-of-order scenario.
9. The method of claim 7, wherein the reference application scenario type comprises at least one of: multimedia data download, multimedia data transmission, cloud gaming, or network communication.
10. A network simulation apparatus, comprising: an obtaining module configured to obtain a reference data sequence, the reference data sequence reflecting state changes of a reference network over a period of time; a generating module configured to generate, based on at least first reference data corresponding to a first time point in the reference data sequence, predicted network data corresponding to a second time point by using a target model, the target model being used to simulate state changes of a target network; and an updating module configured to update the target model based on a comparison between the predicted network data and second reference data corresponding to the second time point in the reference data sequence. 11.An electronic device, comprising: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions, when executed by the at least one processor, causing the electronic device to perform the method according to any one of claims 1 to 9. 12.A computer-readable storage medium having stored thereon computer-executable instructions that are executable by a processor to implement the method according to any one of claims 1 to 9. 13.A computer program product tangibly stored in a computer storage medium and comprising computer-executable instructions that, when executed by a device, cause the device to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Network index prediction method and device, electronic equipment and storage medium
CN116346640A
Communication network anomaly detection method and device
CN117294617A
Data processing method and device, equipment, storage medium and product
CN117319228A
Drift detection for predictive network models
US20230093130A1
Method and system to predict network performance using a hybrid model incorporating multiple sub-models
US20240086787A1