A network bandwidth prediction method and device based on a graph neural network
By using a graph neural network-based approach, the problems of high computational cost and idealized model construction in existing technologies for network bandwidth prediction are solved, achieving accurate prediction of complex networks and improving prediction accuracy and efficiency.
Patent Information
- Application Number
- CN202211495900.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-24
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2042-11-24
AI Technical Summary
Existing network bandwidth prediction methods suffer from problems such as high computational cost, idealized model construction, and incomplete network information when dealing with complex networks, making it difficult to achieve accurate estimation.
A graph neural network-based approach is adopted, which constructs node and link feature vectors through data acquisition, feature engineering, network system abstraction and representation, and graph neural network model training, and uses machine learning algorithms to predict network bandwidth.
It improves the accuracy and efficiency of network bandwidth prediction, and can more accurately characterize the node and link features in the network topology, enabling accurate prediction under different network topologies.
Smart Images

Figure CN115935563B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of artificial intelligence, in particular to a network bandwidth prediction method and device based on a graph neural network. BACKGROUND
[0002] With the rapid development of new generation information technologies such as Internet of Things, cloud computing, edge computing and artificial intelligence, robots have realized the intelligentization from perception to cognition, reasoning and decision-making, and have gradually become one of the main trends in the future development of various industries, and have great application value in many aspects such as industrial manufacturing and life service. The current robot technology integrates cloud computing and edge computing, resulting in cloud robots and fog robots. Cloud robots use the powerful computing power of cloud servers to provide sufficient computing power for robots, and fog robots aim to solve the problem of poor real-time response capability of cloud computing, and use edge computing to realize the communication, calculation, data storage and processing capabilities of the cloud side. The current research trend is to use the computing architecture of robot body (end)-edge server (edge)-cloud server (cloud) fusion to provide a distributed relationship between computing, storage and collaborative cooperation for robots performing different computing tasks, and to provide computing power support on the cloud and edge side to realize more effective and economical computing power deployment. Since a large amount of data transmission is involved between the robot body and the edge server and the cloud server, network bandwidth limitation is one of the most critical factors in end-edge-cloud collaborative computing. The influence of the network must be considered in the modeling process. With the increasing size and complexity of the existing network structure, the factors affecting the normal operation of the network are increasing, and the network bandwidth is also affected by network jitter, packet loss, etc. The demand for real-time prediction of network bandwidth is also increasing.
[0003] For the prediction of network bandwidth, the existing modeling technology cannot achieve accurate estimation, and there are defects such as large amount of calculation, idealized model construction, and incomplete consideration of network information. For the research on network performance analysis, it can be divided into measurement method, analytical method and simulation method. The measurement method simply uses software and hardware tools to monitor the measurement of relevant characteristics. The analytical method uses mathematical theory to describe the relationship between performance characteristics and system parameters to obtain the parameter solution of performance estimation (such as queuing theory, network calculus, etc.). The simulation method is to abstractly establish a network system model, and then combine mathematical description and network modeling to predict network performance.
[0004] The above methods have the following problems:
[0005] (1) The measurement method is difficult to meet the strict requirements of new network measurement and analysis;
[0006] (2) The analytical method establishes ideal models that cannot reflect the real situation in the network and have certain differences from the actual complex network.
[0007] (3) Existing simulation models generally perform poorly in more widely used non-Euclidean spaces (such as real-world networks with complex and irregular connection information).
[0008] In recent years, with the rise of deep learning and the development of data-driven approaches, more and more research has begun to use deep neural networks for network performance prediction. Recurrent Neural Networks (RNNs), with their temporal memory capabilities, have been widely used by researchers in traffic prediction. However, RNN-based models only consider temporal features and ignore spatial features. To better characterize the spatial features of networks, some studies have introduced Convolutional Neural Networks (CNNs) to model the space. However, traditional CNNs can only process Euclidean space data (such as images, text, and speech). For graph data like networks, which have unstructured characteristics, graph neural networks can generate graphs from unstructured data. Their outputs are independent of the input order of nodes, and edges represent the link connections between two nodes. They can update the states of nodes and edges based on the surrounding states, making them practically significant for network performance prediction research. Summary of the Invention
[0009] To address the shortcomings of existing technologies and enable the prediction of bandwidth on each link under different network topologies, thereby avoiding the time-consuming and labor-intensive nature of actual measurements, this invention provides a network bandwidth prediction method based on graph neural networks.
[0010] A network bandwidth prediction method based on graph neural networks includes the following steps:
[0011] S101, Data Acquisition, collects data under different network topologies, including the number of queues on each network node, the length of each queue, the output size of each data packet, as well as the execution scheduling policy and weight information, the link connection relationship between nodes and the maximum bandwidth capacity of the link, the packet loss rate on the link, and other network performance-related information.
[0012] S102, Feature engineering is performed to preprocess the collected data, construct feature vectors for network nodes based on the information of network topology nodes, and construct feature vectors for links based on the information of each link between nodes.
[0013] S103, Network System Abstraction Representation, which abstracts the network into a graph represented by nodes and edges. The weight of a node is assigned by the feature vector of the node, and the edge is assigned by the feature vector of the link between nodes.
[0014] S104, based on the model training of the graph neural network, the node features and link features in the network are modeled by using a graph neural network model, and new node features and link feature information are obtained by training, which more accurately represents the node features and link feature information in the network topology;
[0015] S105, network bandwidth prediction, according to the updated node features and link feature information, a machine learning algorithm is used to predict the bandwidth between the links.
[0016] Further, the data collection of S101 includes the following steps:
[0017] Step 201, collect various network topologies, including but not limited to star topology, mesh topology, tree topology, and hybrid topology.
[0018] The star topology has one center and multiple nodes. The multiple nodes are connected to the central node in a point-to-point manner.
[0019] The mesh topology is that each node is connected to each other through a transmission line, and each node is connected to at least two other nodes.
[0020] The tree topology has a tree root at the top, branches below the tree root, and each branch can have sub-branches. The tree root receives data sent by each station and then broadcasts it to the entire network.
[0021] The hybrid topology is a network topology formed by mixing two or more network topologies.
[0022] Step 202, collect network node information under different network topologies, including: number of queues on the node, length of each queue, and output size of each data packet, execution scheduling strategy and weight information of data packets generated by different queues on the node;
[0023] The network node refers to various devices under the network topology, which can be routers, switches, and other network devices, or computer devices such as servers, desktop computers, and development boards that have network connection functions.
[0024] The output size of each data packet in different queues on the node refers to the byte size of each data packet, with Byte as the unit. The execution scheduling strategy of data packets generated by different queues includes but is not limited to first-in-first-out (FIFO), strict priority scheduling (PQ), weighted fair queue scheduling (WFQ), round robin scheduling (RR), weighted round robin scheduling (WRR), differential round robin scheduling (DRR), and differential weighted round robin scheduling (DWRR).
[0025] The weight information is only assigned a value in the case of a weighted scheduling policy.
[0026] In step 203, link information under different network topologies is collected, including: maximum bandwidth capacity of the link, packet loss rate on the single link, and throughput of the single link.
[0027] The link refers to a path connecting between each two network nodes, the maximum bandwidth capacity of the link refers to the maximum bandwidth limit of the full link under different network topologies, the packet loss rate on the single link refers to the ratio of the number of lost data packets on the single link to the transmitted data packets, which is measured; and the throughput of the single link is initialized by dividing the full link maximum bandwidth capacity by the total number of links.
[0028] Further, the feature engineering of S102 includes the following steps:
[0029] In S301, a feature vector x of the network node is constructed according to the node information of the network topology. v , including the number of queues queue_num on the node, the length of each queue queue_length, the size of the output data packet queue_size under each queue, the scheduling policy of the queue schedule_policy, and the scheduling weight information schdule_weight possibly generated under different policies, which is expressed as
[0030] In S302, a feature vector x of the network link is constructed according to the information of each link between nodes. l , including the maximum bandwidth capacity max_capacity of the link, the packet loss rate link_loss on the single link, and the throughput link_throughput of the single link, which is expressed as x l ={c max ,l loss ,l througput};
[0031] In S303, a routing relationship matrix R is constructed according to the link connection relationship between nodes. n×n , and n is the number of nodes.
[0032] Further, the routing relationship matrix of S303 reflects the routing connection relationship between network nodes.
[0033] Further, the network system abstract representation of S103 is that, for a given network, the topology is abstracted into a graph G=(V,L) represented by nodes and edges according to the topology structure, any node i in the topology is represented as v i , and the node set is nv is the feature vector of the node, and n is the number of nodes. is the weight value of the node. Any link j in the topology is denoted as l j , and the link set is n l is the feature vector of the link, and m is the number of links. is the weight value of the link.
[0034] Further, the model training of the S104 based on the graph neural network comprises the following steps:
[0035] S401, obtaining the input node feature vector x v and the link feature vector x l ;
[0036] The node feature vector x v and the link feature vector x l are the node feature vector x v constructed by the S301 and the link feature vector x l constructed by the S302.
[0037] S402, converting the input feature vector into a fixed-length expression by encoding;
[0038] The encoding is to convert the high-dimensional feature vector of different lengths into a low-dimensional fixed-length graph embedding expression, on which subsequent training and updating are performed.
[0039] S403, starting from the target node / edge, randomly sampling the neighbor nodes / edges, setting the threshold S and the number of hops K of sampling, and the number of neighbors sampled at each hop is not more than S, for example, 3 neighbor nodes / edges are sampled at the first hop, and 2 neighbor nodes / edges are sampled at the second hop;
[0040] S404, generating the embedding expression of the target node / edge: first aggregating the features of the K-hop neighbors to generate the embedding expression of the K-1-hop neighbors, and then aggregating the embedding expressions of the K-1-hop neighbors until the embedding expression of the target node / edge is generated;
[0041] S405, updating the node features and link features according to the embedding expression of the target node / edge generated by S404.
[0042] The model training process of the S104 based on the graph neural network can be summarized as follows:
[0043] 1. Randomly sampling the neighbor nodes / edges of each node / edge in the graph
[0044] 2. Aggregating the feature information contained in the neighbor nodes / edges according to the aggregation function
[0045] 3. Get new embedding representation of each node / edge in the graph for downstream tasks
[0046] Further, the network bandwidth prediction of the S105 refers to that the machine learning algorithm is used to model the updated node features and link features of the S405 to predict the bandwidth of the link between nodes.
[0047] The application also comprises a network bandwidth prediction device based on a graph neural network, comprising a data acquisition module, a feature engineering module, a network system abstract representation module, a graph neural network model training module and a network bandwidth prediction module connected in sequence, characterized in that:
[0048] The data acquisition module acquires data under different network topologies, including the number of queues on each network node, the length of each queue and the output size of each data packet, and the execution scheduling strategy and weight information, the link connection relationship between nodes and the maximum bandwidth capacity of the link, and the packet loss rate and other network performance related information on the link.
[0049] The feature engineering module pre-processes the collected data, constructs a feature vector of the network node according to the information of the network topology node, and constructs a feature vector of the link according to the information of each link between nodes.
[0050] The network system abstract representation module abstracts the network into a graph represented by nodes and edges, the weight of the node is assigned by the feature vector of the node, and the edge is assigned by the feature vector of the link between nodes.
[0051] The graph neural network model training module models the node features and link features in the network using a graph neural network model, and trains to obtain new node features and link feature information, which more accurately represents the node features and link feature information in the network topology.
[0052] The network bandwidth prediction module uses a machine learning algorithm to predict the bandwidth between links according to the updated node features and link feature information.
[0053] The advantages and beneficial effects of the application are as follows:
[0054] In the process of network bandwidth prediction, the existing modeling technology cannot realize accurate estimation of network bandwidth, and there are problems of large amount of calculation, idealized model construction, and incomplete network information consideration. In order to solve the problems of the prior art, the network system is abstracted and modeled, the complex network topology structure is converted into graph data for description, the neighbor nodes are randomly sampled based on the graph neural network algorithm, and the feature information of the neighbor nodes is converged for multiple times, so as to realize accurate expression of the feature information of the network nodes and edges, and further connect the machine learning algorithm to complete accurate prediction of the network bandwidth. BRIEF DESCRIPTION OF DRAWINGS
[0055] Figure 1 is a method flowchart of the present application.
[0056] Figure 2 is a running flowchart of the data acquisition module in the embodiment of the present application.
[0057] Figure 3 is a network model data flow diagram in the embodiment of the present application.
[0058] Figure 4 is a running flowchart of the feature engineering module in the embodiment of the present application.
[0059] Figure 5 is a running flowchart of the model training module based on the graph neural network in the embodiment of the present application.
[0060] Figure 6 is a graph neural network model information convergence visual diagram in the embodiment of the present application.
[0061] Figure 7 is a device structure schematic diagram of the present application. DETAILED DESCRIPTION
[0062] The specific embodiments of the present application are described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only used to illustrate and explain the present application, and are not used to limit the present application.
[0063] A network bandwidth prediction method based on a graph neural network, a convolutional neural network is good at processing images, and the core concept behind it is a convolutional layer, which identifies spatial local features through a set of kernel form receptive fields. However, the convolutional neural network can only process structured data, and it is difficult to process unstructured graph data. Graph neural network (GNN) is a kind of deep learning method, which performs well on graph data, and can realize the prediction of nodes, edges or graphs, and realize the tasks that traditional convolutional neural network (CNN) cannot handle. For unstructured data such as communication network, the method of graph neural network can be used for modeling, the connection relationship between network devices and devices is mapped to the nodes and edges of the graph, and the nodes and edges are mapped to a low-dimensional embedding space. The feature vector expression of the nodes and edges reflects the various performance parameters of the network, and through a series of graph convolution, graph aggregation, graph update and other operations, more accurate node and edge embedding expressions are obtained, so that machine learning methods are further used to predict the bandwidth of each link in the network. The prediction accuracy of network bandwidth can be improved after using the method for prediction.
[0064] Specifically, as shown in Figure 1 The method of the application comprises the following steps:
[0065] S101, data acquisition, acquiring data under different network topologies, including the number of queues on each network node, the length of each queue, the output size of each data packet, and the execution scheduling strategy and weight information, the link connection relationship between nodes and the maximum bandwidth capacity of the link, and the packet loss rate and other network performance related information on the link.
[0066] In this embodiment, as shown in Figure 2 The data acquisition comprises the following steps:
[0067] Step 201, various network topologies are collected, including but not limited to star topology, mesh topology, tree topology and hybrid topology.
[0068] Step 202, network node information under different network topologies is collected, including: the number of queues on the node, the length of each queue, the output size of each data packet, the execution scheduling strategy and weight information of the data packet generated by different queues on the node;
[0069] Specifically, as shown in Figure 3 The network node information in the step 202 comprises:
[0070] Different network devices can be routers, switches and other network devices, or servers, desktop computers, development boards and other computer devices with network connection function.
[0071] Each network device corresponds to a network node, and each network device has a certain number of queues. Figure 3 There are 4 queues on network device 1, 3 queues on network device 2, and 2 queues on network device n, and each queue has a computing task to be queued and executed. Some computing tasks require low latency, require small cache and are prioritized; some computing tasks require zero packet loss, so the larger the cache is the better; some pursue network throughput and utilization; some pursue fairness and require queue resources to be distributed as evenly as possible. Therefore, the data packets generated by different queues will correspond to different execution scheduling strategies according to the computing task requirements, including but not limited to first-in-first-out (FIFO), strict priority scheduling (PQ), weighted fair queue scheduling (WFQ), round robin scheduling (RR), weighted round robin scheduling (WRR), differential round robin scheduling (DRR) and differential weighted round robin scheduling (DWRR) and the like. In the case of weighted scheduling strategy, different weights need to be assigned to the corresponding queues, such as weighted fair queue scheduling, weighted round robin scheduling and differential weighted round robin scheduling, which will have a weight list associated with each queue.
[0072] Step 203, collect link information under different network topologies, including: maximum bandwidth capacity of the link, packet loss rate on a single link, and throughput of a single link;
[0073] The link refers to the path connecting between each two network nodes, the maximum bandwidth capacity of the link refers to the maximum bandwidth limit of the full link under different network topologies, the packet loss rate on a single link refers to the ratio of the number of lost data packets to the number of transmitted data packets on a single link, which is measured; the throughput of a single link is initialized by dividing the maximum bandwidth capacity of the full link by the total number of links.
[0074] There is data transmission between each connected device, as shown in Figure 3 The bandwidth on each link is not the same, so it is necessary to continuously update and iterate to obtain accurate bandwidth information. Different queues on different devices may have the same type of data packets, such as the data packets of queue 1 of network device 1 and queue 3 of network device 2, and the data packets of queue 2 of network device 1 and queue 1 of network device 2, which belong to the same type of data packets.
[0075] S102, constructing a feature engineering, pre-processing the collected data, constructing a feature vector of a network node according to information of a network topology node, and constructing a feature vector of a link according to information of each link between nodes;
[0076] In this embodiment, as shown in Figure 4 Constructing a feature engineering includes the following steps:
[0077] S301, constructing a feature vector x of a network node according to node information of a network topology v , including the number of queues queue_num on the node, the length of each queue queue_length, the size of the output packet of each queue queue_size, the packet scheduling policy of the queue schedule_policy, and the scheduling weight information schdule_weight that may be generated under different policies, denoted as
[0078] S302, constructing a feature vector x of a network link according to information of each link between nodes l , including the maximum bandwidth capacity max_capacity of the link, the packet loss rate link_loss on the single link, and the throughput link_throughput of the single link, denoted as x l ={c max ,l loss ,l througput};
[0079] S303, constructing a routing relationship matrix R according to the connection relationship of the links between nodes n×n , and n is the number of nodes.
[0080] Further, the routing relationship matrix of S303 reflects the routing connection relationship between the network nodes.
[0081] Further, the network system abstract representation of S103 is that, for a given network, the topology is abstracted into a graph G=(V,L) represented by nodes and edges according to the topology structure, any node i in the topology is represented as v i , the node set is n v , the number of nodes, and the feature vector of the node is represented as , and the weight value of the node is v j , the link set is n l , the number of edges, and the feature vector of the link is represented as , and the weight value of the edge is l v .
[0082] In this embodiment, as shown in Figure 5 , the model training based on the graph neural network includes the following steps:
[0083] S401, obtaining an input node feature vector x v and a link feature vector x l ;
[0084] The node feature vector x v and the link feature vector xl The node feature vector x constructed in S301 v And the link feature vector x constructed in S302 l .
[0085] S402, convert the input feature vector into a fixed-length expression by encoding;
[0086] The encoding is to convert high-dimensional feature vectors of different lengths into low-dimensional fixed-length graph embedding expressions, on which subsequent training and updating are performed.
[0087] S403, starting from the target node / edge, randomly sample the neighbor nodes / edges, set the threshold S and the number of hops K, and the number of neighbors sampled at each hop is not more than S, for example, 3 neighbor nodes / edges are sampled at the first hop, and 2 neighbor nodes / edges are sampled at the second hop;
[0088] S404, generate the embedding expression of the target node / edge: first aggregate the features of the K-hop neighbors to generate the embedding expression of the K-1-hop neighbors, and then aggregate the embedding expressions of the K-1-hop neighbors to generate the embedding expression of the target node / edge;
[0089] S405, update the node features and link features according to the embedding expression of the target node / edge generated in S404.
[0090] Specifically, as shown in Figure 6 , the running process of the graph neural network mainly includes the following three steps:
[0091] Figure 6 .a randomly sample the neighbor nodes / edges of each node / edge in the graph
[0092] Figure 6 .b aggregate the feature information contained in the neighbor nodes / edges according to the aggregation function
[0093] Figure 6 .c obtain the new embedding expression of each node / edge in the graph for downstream tasks
[0094] The method here adopts the idea of GraphSage in graph neural network, which does not need to aggregate all neighbor nodes and edges, but considers the computational efficiency, and samples a certain number of neighbor nodes / edges for each node / edge as the node / edge to be aggregated information, such as Figure 6 K in a. is the number of network layers, representing the number of hops of neighbor nodes that each node can aggregate, for example, when K=2, each node can learn its embedding expression according to the information of 2-hop neighbor nodes.
[0095] Figure 6.b reflects the aggregation process of the information of one of the nodes. Assuming that K times of aggregation are required, K aggregation functions are required, and each time of aggregation is to aggregate the features of the neighbor nodes of each sample obtained in the last layer to obtain the features of the layer. After K times of repeated aggregation, the final features of the node are obtained, that is, Figure 6 the embedded expression of c.
[0096] The aggregation function can adopt an average aggregator, an LSTM aggregator, and a pooling aggregator.
[0097] Further, the network bandwidth prediction of the S105 refers to modeling the node features and the link features updated by the S405 by using a machine learning algorithm to predict the bandwidth of the links between nodes. The machine learning algorithm includes a neural network, a GBDT, a random forest, a support vector machine regression, and the like.
[0098] As shown in Figure 7 a network bandwidth prediction device based on a graph neural network, comprising: a data collection module, a feature engineering module, a network system abstract representation module, a graph neural network model training module and a network bandwidth prediction module connected in sequence, characterized in that:
[0099] The data collection module collects data under different network topologies, including the number of queues on each network node, the length of each queue, the output size of each data packet, the execution of the scheduling strategy and the weight information, the connection relationship between nodes and the maximum bandwidth capacity of the link, the packet loss rate of the link and other network performance related information;
[0100] The feature engineering module pre-processes the collected data, constructs a feature vector of the network node according to the information of the network topology node, and constructs a feature vector of the link according to the information of each link between nodes;
[0101] The network system abstract representation module abstracts the network into a graph represented by nodes and edges, the weight of the node is assigned by the feature vector of the node, and the edge is assigned by the feature vector of the link between nodes;
[0102] The graph neural network model training module models the node features and the link features in the network by using a graph neural network model, and trains to obtain new node feature and link feature information, which more accurately represents the node features and the link feature information in the network topology;
[0103] The network bandwidth prediction module predicts the bandwidth between the links by using a machine learning algorithm according to the updated node features and link feature information.
[0104] As shown in Figure 7At the hardware level, the network bandwidth prediction device based on the graph neural network comprises a processor, an internal bus, a network interface, a memory and a non-volatile memory, and can also comprise other hardware required by a business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs to realize the above Figure 1 The method. Of course, in addition to the software implementation, the present application does not exclude other implementation manners, such as a logic device or a combination of software and hardware, and the like, that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or a logic device.
[0105] For a technical improvement, it can be obvious whether the improvement is in hardware (e.g., improvement of circuit structures of diodes, transistors, switches, etc.) or in software (e.g., improvement of method flow). However, with the development of technology, many improvements of method flow today can be considered as direct improvements of hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement of method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A designer programs a digital system "integrated" on a PLD by himself / herself, without having to ask a chip manufacturer to design and manufacture a special integrated circuit chip. Moreover, instead of manually manufacturing an integrated circuit chip, such programming is now mostly implemented by "logic compiler" software, which is similar to a software compiler used when developing programs, and the original code before compilation also needs to be written in a specific programming language, which is called a hardware description language (HDL), and there are many types of HDL, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should be clear to those skilled in the art that only a little logical programming of the method flow in the above-mentioned hardware description languages and programming into an integrated circuit can easily obtain a hardware circuit that implements the logical method flow.
[0106] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can equally well be implemented to perform the same functions using logic gates, switches, an application specific integrated circuit, a programmable logic controller and an embedded microcontroller, etc. by means of a logical programming of the method steps. The controller can thus be considered as a hardware component, and the means comprised therein for performing the various functions can be considered as structures within the hardware component. Alternatively, the means for performing the various functions can even be considered as both a software module implementing the method and a structure within the hardware component.
[0107] The systems, apparatuses, modules or units illustrated by the above embodiments can be implemented by computer chips or entities, or products with certain functions. A typical implementation device is a computer. Specifically, the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0108] For the sake of description, the above apparatuses are described in various units with functions respectively. Of course, the functions of the units can be implemented in one or more software and / or hardware in the implementation of the present application.
[0109] Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, a system, or a computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) embodying computer readable program code.
[0110] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0111] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0112] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0113] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0114] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory, etc. The memory is an example of computer-readable media.
[0115] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0116] It should also be noted that the terms "comprising", "comprising" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or apparatus that includes a list of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.
[0117] Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, system or computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0118] The present application can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The present application can also be practiced in a distributed computing environment where tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including storage devices.
[0119] The various embodiments of the present application are described in a progressive manner, and the same or similar parts among the various embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, the system embodiments are described simply because they are basically similar to the method embodiments, and the relevant parts can be referred to the description of the method embodiments.
[0120] The above merely describes the embodiments of the present application, and is not intended to limit the present application. The present application can be variously changed and modified by those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the scope of the claims of the present application.
[0121] The above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for some or all of the technical features. Such modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A network bandwidth prediction method based on a graph neural network combined with machine learning, characterized in that It comprises the following steps: S101, data collection, collecting data under different network topologies, including the number of queues on each network node, the length of each queue, the output size of each data packet, and the execution scheduling strategy and weight information, the link connection relationship between nodes, and the maximum bandwidth capacity of the link, the packet loss rate on the link; S102, constructing a feature engineering, preprocessing the collected data, constructing a network node feature vector according to the information of the network topology node, and constructing a link feature vector according to the information of each link between nodes; S103, network system abstract representation, abstracting the network into a graph represented by nodes and edges, the weight of the node is assigned by the feature vector of the node, and the edge is assigned by the feature vector of the link between nodes; S104, model training based on graph neural network, modeling the node features and link features in the network using a graph neural network model, and training to obtain new node features and link feature information, which more accurately represent the node features and link feature information in the network topology; S105, network bandwidth prediction, using a machine learning algorithm to predict the bandwidth between links according to the updated node features and link feature information.
2. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that, The network topology structure in step S101 is selected from one of a star topology, a mesh topology, a tree topology, and a hybrid topology.
3. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that The data collection of S101 comprises the following steps: Step 201, collecting various network topologies; Step 202, collecting network node information under different network topologies, including: the number of queues on the node, the length of each queue, and the output size of each data packet, the execution scheduling strategy and weight information of the data packet generated by different queues on the node; Step 203, collecting link information under different network topologies, including: the maximum bandwidth capacity of the link, the packet loss rate on a single link, and the throughput of a single link.
4. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that The feature engineering of S102 comprises the following steps: S301, constructing a feature vector x of a network node according to node information of a network topology v , including the number of queues queue_num on the node, the length of each queue queue_length, the size of the output packet queue_size under each queue, the packet scheduling policy schedule_policy of the queue, and the scheduling weight information schdule_weight possibly generated under different policies, denoted as S302, constructing a feature vector x of a network link according to information of each link between nodes l , including a maximum bandwidth capacity max_capacity of the link, a packet loss rate link_loss on the link, a throughput link_throughput, represented as x l ={c max ,l loss ,l througput} S303, constructing a routing relationship matrix R according to the link connection relationship between nodes n×n , n is the number of nodes.
5. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that The network system abstracted representation of S103 is that for a given network, according to the topology, it is abstracted into a graph G=(V, L) represented by nodes and edges, any node i in the topology is represented as v i , the node set is n v , the number of nodes, the feature vector of the node is represented as , the weight value of the node; any link j in the topology is represented as l j , the link set is n l , the number of edges, the feature vector of the link is represented as , the weight value of the edge.
6. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that, The model based on the graph neural network of S104 refers to a graph convolutional neural network based on adjacent node convergence, which comprises: an input layer, an embedding layer, a neighbor node sampling layer, a neighbor node convergence layer, and an output layer.
7. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 1, characterized in that, The model training of S104 refers to converting the network bandwidth prediction problem into a link prediction problem in a graph, and the specific steps comprise: S401, acquire the input node feature vector x v and link feature vector x l ; S402, converting the input feature vector into a fixed length expression through coding; S403, starting from the target node / edge, randomly sampling the neighbor nodes / edges, setting a threshold S and the number of hops K, and the number of neighbors sampled at each hop is not more than S, such as sampling 3 neighbor nodes / edges at the first hop and 2 neighbor nodes / edges at the second hop; S404, generating the embedding expression of the target node / edge: first aggregating the features of the K-hop neighbors to generate the embedding expression of the K-1-hop neighbors, and then aggregating the embedding expressions of the K-1-hop neighbors until the embedding expression of the target node / edge is generated; S405, updating the node features and link features according to the embedding expression of the target node / edge generated in S404.
8. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 7, characterized in that, The network bandwidth prediction of the S105 refers to using a machine learning algorithm to model the updated node features and link features of step S404 to predict the bandwidth of the links between nodes.
9. The network bandwidth prediction method based on a graph neural network combined with machine learning according to claim 8, characterized in that, The machine learning algorithm is selected from a neural network, GBDT, random forest, and support vector machine regression.
10. A graph neural network-based network bandwidth prediction apparatus, comprising: The sequentially connected data acquisition module, feature engineering module, network system abstract representation module, graph neural network model training module, and network bandwidth prediction module are characterized in that: The data acquisition module acquires data under different network topologies, including the number of queues on each network node, the length of each queue, the output size of each data packet, the execution of the scheduling strategy and weight information, the connection relationship between nodes and the maximum bandwidth capacity of the links, and the packet loss rate on the links. The feature engineering module pre-processes the collected data, constructs a feature vector of the network node according to the information of the network topology node, and constructs a feature vector of the link according to the information of each link between nodes. The network system abstract representation module abstracts the network into a graph represented by nodes and edges, the weight of the node is assigned by the feature vector of the node, and the edge is assigned by the feature vector of the link between nodes. The graph neural network model training module models the node features and link features in the network using a graph neural network model, trains new node features and link feature information, and more accurately represents the node features and link feature information in the network topology. The network bandwidth prediction module uses a machine learning algorithm to predict the bandwidth between links according to the updated node features and link feature information.
Citation Information
Patent Citations
Bandwidth prediction method based on neural network
CN111371626A
Network link attribute relation prediction method and device based on graph neural network
CN113988464A