Software defined wide area network control method

The software-defined wide area network control method dynamically selects optimal paths based on node relationships and performance metrics, addressing inefficiencies in SD-WAN networks by enhancing efficiency and stability with blockchain-based management.

CN119728464APending Publication Date: 2025-03-28LENOVO (BEIJING) LTD

Patent Information

Application Number
CN202411998810.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

SD-WAN networks face inefficiencies due to reliance on static routing and load balancing, which fail to adapt to dynamic network conditions, leading to suboptimal path selection and increased communication costs, especially in complex environments.

Method used

A software-defined wide area network control method that dynamically determines the most cost-effective path by analyzing node communication relationships and performance metrics across multiple network interfaces, using a network orchestrator to select the optimal path for data transmission and updating this information on a blockchain platform for secure and transparent management.

Benefits of technology

This approach enhances network efficiency and stability by dynamically adjusting paths in real-time, reducing communication costs and improving resource utilization, while ensuring secure and transparent data management through blockchain technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728464A_ABST
    Figure CN119728464A_ABST
Patent Text Reader

Abstract

The invention discloses a software defined wide area network control method, and the method comprises the steps: receiving network state information for to-be-transmitted data through a first network composer, the network access points are node communication relations among an input network access point of to-be-transmitted data, a plurality of intermediate network access points and an output network access point and a plurality of performance indexes of corresponding node transmission links, and the intermediate network access points are network access points for realizing communication between the input network access point and the output network access point. Determining the minimum path communication cost of each transmission path for transmitting the data to be transmitted from the input network access point to the output network access point according to the node communication relationship and a plurality of performance indexes of the node transmission link; and determining the corresponding transmission path as a target transmission path for the to-be-transmitted data, and sending the target transmission path to the first network controller so as to control the corresponding network access point to realize transmission of the to-be-transmitted data according to the target transmission path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a software defined wide area network control method. Background Art

[0002] SD-WAN (software-defined networking in a wide area network) is a service that applies SDN (Software Defined Network) technology to manage the traffic and performance of wide area networks (WANs). It is widely used to connect enterprise networks, data centers, Internet applications and cloud services in a wide geographical area.

[0003] In actual applications, SD-WAN allows network traffic to be dynamically routed on multiple network paths to improve network performance and reliability, but it usually relies on static routing tables or load balancing strategies to select network paths for packet forwarding. It cannot effectively cope with complex and changing network environments, resulting in low transmission efficiency and unstable network performance. Summary of the invention

[0004] In view of the above problems, this application provides the following solutions:

[0005] A first aspect of the present application provides a software-defined wide area network control method, which is applied to a first network orchestrator of a software-defined wide area network. The method includes:

[0006] receiving network status information for data to be transmitted; the network status information includes a node communication relationship between an input network access point of the data to be transmitted, a plurality of intermediate network access points and an output network access point, and a plurality of performance indicators of corresponding node transmission links, wherein the intermediate network access point is a network access point used to realize communication between the input network access point and the output network access point;

[0007] Determine, based on the node communication relationship and a plurality of performance indicators of the node transmission link, a target path communication cost for transmitting the data to be transmitted from the input network access point to the output network access point; the target path communication cost is a minimum path communication cost of each transmission path from the input network access point to the output network access point;

[0008] A transmission path corresponding to the minimum path communication cost from the input network access point to the output network access point is determined as a target transmission path for the data to be transmitted, and the target transmission path is output.

[0009] In a possible implementation, determining, based on the node communication relationship and the multiple performance indicators of the node transmission link, a target path communication cost for transmitting the to-be-transmitted data from the input network access point to the output network access point includes:

[0010] According to a plurality of performance indicators of transmission links of each of the nodes, a link communication cost between two network access points under the corresponding node communication relationship is obtained;

[0011] According to the node communication relationship, starting from the next network access point of the input network access point communication, the corresponding link communication costs are iteratively accumulated to obtain the path communication cost of the first transmission path from the input network access point to the currently selected network access point;

[0012] If the path communication cost of the second transmission path from the input network access point to the currently selected network access point is greater than the path communication cost of the first transmission path, updating the path communication cost of the first transmission path to the target path communication cost of the currently selected network access point;

[0013] If the target path communication cost of the output network access point selected this time is obtained, the operation of selecting the next network access point is terminated.

[0014] In a possible implementation, determining, based on the node communication relationship and the multiple performance indicators of the node transmission link, a target path communication cost for transmitting the to-be-transmitted data from the input network access point to the output network access point includes:

[0015] According to a plurality of performance indicators of transmission links of each of the nodes, a link communication cost between two network access points under the corresponding node communication relationship is obtained;

[0016] According to the node communication relationship, starting from the input network access point, a current processing node is selected, and the following processing steps are iteratively performed:

[0017] Determining a target path communication cost corresponding to each neighbor unprocessed node of the current processing node according to the path communication cost of the current processing node and the link communication cost between the current processing node and the neighbor unprocessed node; the neighbor unprocessed node refers to a network access point that directly communicates with the current processing node and is not selected as the current processing node, and the target path communication cost refers to the minimum path communication cost of each transmission path from the input network access point to the corresponding network access point through the determined processed node;

[0018] Determine the current processing node as a processed node, and select the neighboring unprocessed node with the minimum path communication cost from the neighboring unprocessed nodes with the determined target path communication cost to determine it as the next current processing node;

[0019] If the next currently processed node determined is the output network access point, the output network access point is determined as a processed node, and the processing step is terminated.

[0020] In a possible implementation, obtaining the link communication cost between two network access points under the corresponding node communication relationship according to the multiple performance indicators of the transmission link of each node includes:

[0021] Determining the communication weights of the plurality of performance indicators according to the network performance requirements of the application scenario of the data to be transmitted;

[0022] Using a plurality of performance indicators of transmission links of each of the nodes and respective communication weights of the plurality of performance indicators, a link communication cost between two network access points under the corresponding node communication relationship is obtained;

[0023] The higher the matching degree between the performance indicator and the network performance requirement, the greater the communication weight of the performance indicator.

[0024] In a possible implementation, determining, based on the node communication relationship and the multiple performance indicators of the node transmission link, a target path communication cost for transmitting the to-be-transmitted data from the input network access point to the output network access point includes:

[0025] Determine, according to the node communication relationship, each candidate transmission path existing from the input network access point to the output network access point;

[0026] Determining the path communication cost of the candidate transmission path according to multiple performance indicators of each of the node transmission links included in the same candidate transmission path;

[0027] The path communication costs of the candidate transmission paths are compared, and the candidate transmission path corresponding to the minimum path communication cost is determined as the target transmission path, so as to output the target transmission path.

[0028] In a possible implementation, the outputting the target transmission path includes:

[0029] Uploading the target transmission path for the data to be transmitted to a first distributed ledger of a first network controller deployed on a blockchain platform;

[0030] Among them, if there are multiple network orchestrators of the software-defined wide area network, communication is performed between the multiple network orchestrators deployed on the blockchain platform through smart contracts.

[0031] A second aspect of the present application provides a software-defined wide area network control method, which is applied to a first network controller of a software-defined wide area network, and the method includes:

[0032] In response to a data transmission request from a terminal device, determine current network status information for the data to be transmitted; the network status information includes node communication relationships between an input network access point, a plurality of intermediate network access points and an output network access point of the data to be transmitted, and a plurality of performance indicators of corresponding node transmission links;

[0033] Sending the network status information for the data to be transmitted to the first network orchestrator;

[0034] receiving a target transmission path for the data to be transmitted fed back by the first network orchestrator; the target transmission path is a transmission path corresponding to a minimum path communication cost for transmitting data from the input network access point to the output network access point via at least one of the intermediate network access points;

[0035] According to the target transmission path, the corresponding network access point is controlled to realize the transmission of the data to be transmitted.

[0036] In a possible implementation, determining, in response to a data transmission request from a terminal device, current network status information for data to be transmitted includes:

[0037] Receiving a data transmission request sent by a terminal device; the data transmission request includes data to be transmitted and sending and receiving identification information of the data to be transmitted;

[0038] Determining an input network access point and an output network access point of the data to be transmitted according to the sending and receiving identification information;

[0039] According to the node communication relationship of the multiple deployed network access points, select multiple intermediate network access points from the multiple deployed network access points for realizing communication between the input network access point and the output network access point;

[0040] A plurality of performance indicators of node transmission links between the current input network access point, the plurality of intermediate network access points and the output network access point and the corresponding node communication relationships are obtained.

[0041] In a possible implementation, the receiving a target transmission path for the data to be transmitted fed back by the first network orchestrator, and controlling a corresponding network access point to transmit the data to be transmitted according to the target transmission path, includes:

[0042] According to a smart contract in a first distributed ledger of the first network controller deployed on a blockchain platform, read a target transmission path for data to be transmitted stored in the first distributed ledger;

[0043] The target transmission path is synchronously updated to the second distributed ledgers of the respective deployed multiple network access points, so that the input network access point transmits the data to be transmitted to the output network access point according to the target transmission path.

[0044] In a possible implementation, the method further includes at least one of the following:

[0045] A network abnormality event is detected, the network abnormality event is processed according to the smart contract, a corresponding event processing result is obtained, the event processing result is updated to the first distributed ledger, and the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledger of each network access point are synchronously updated;

[0046] Receive a network configuration request, write the network configuration request into the first distributed ledger of the first network controller, respond to the network configuration request through the smart contract, write the obtained new network configuration data into the first distributed ledger, and synchronously update the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledgers of each network access point. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0048] Figure 1 A schematic diagram of an SD-WAN network system architecture applicable to a software defined wide area network control method proposed in this application;

[0049] Figure 2 A schematic diagram of another SD-WAN network system architecture applicable to a software defined wide area network control method proposed in this application;

[0050] Figure 3 A signaling flow diagram of a software defined wide area network control method proposed in Embodiment 1 of the present application;

[0051] Figure 4 A flowchart of a software defined wide area network control method proposed in Embodiment 2 of the present application;

[0052] Figure 5 A schematic diagram of determining a target transmission path corresponding to a minimum path communication cost in a software defined wide area network control method proposed in an embodiment of the present application;

[0053] Figure 6 A flowchart of a software-defined wide area network control method proposed in Embodiment 3 of the present application;

[0054] Figure 7 A flowchart of a software-defined wide area network control method proposed in Embodiment 4 of the present application;

[0055] Figure 8 A flowchart of a software-defined wide area network control method proposed in Embodiment 5 of the present application;

[0056] Fig. 9 A schematic diagram of the structure of a software-defined wide area network control device provided in Embodiment 1 of the present application;

[0057] Fig.10 A schematic diagram of the structure of a software-defined wide area network control device provided in Example 2 of the present application. DETAILED DESCRIPTION

[0058] The following describes the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation method section of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0059] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0060] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0061] Regarding the content described in the background technology section, in SD-WAN (software-defined networking in awide area network) applications, the path selection method that relies on static routing tables cannot respond to changes in network status in real time, and often cannot select the best network, resulting in low data transmission efficiency and high communication costs; while the path selection method that relies on load balancing strategies diverts data to multiple paths, often ignoring the real-time performance indicators of the links provided by PoP (Point of Presence, network access point, also known as access point) nodes in the SD-WAN network environment, which may cause some selected paths to be overloaded, while other path resources are not fully utilized, resulting in low and unreasonable overall resource utilization. In response to this, it is proposed to optimize path selection based on traffic engineering, but it usually adjusts the path selection strategy after a long time interval, which cannot meet real-time requirements, and the response to sudden network events is not timely enough, which reduces the service access experience of the SD-WAN network.

[0062] In order to solve the above problems, an embodiment of the present application provides a software defined wide area network control method. For a data transmission request sent by a terminal device, after determining the input network access point and the output network access point for requesting data transmission, each intermediate network access point that can realize communication from the input network access point to the output network access point, as well as the node communication relationship between these network access points (which is usually directed, indicating which one or more network access points the corresponding network access point can send data to, that is, which one or more network access points can communicate with) and multiple performance indicators of the corresponding node transmission link (which are usually key indicators affecting data transmission efficiency) are calculated in real time based on this, and the optimal transmission path from the input network access point to the output network access point (that is, the data transmission path with the lowest communication cost, which can be the fastest transmission path) is calculated, so that the transmission of the data to be transmitted from the terminal device is realized according to the optimal transmission path. The method can adapt to complex and changeable network environments, improve the overall network transmission efficiency and stability, and better meet the service access requirements of the SD-WAN network.

[0063] Reference Figure 1 , is a schematic diagram of an SD-WAN network system architecture applicable to a software defined wide area network control method proposed in this application, such as Figure 1 As shown, the SD-WAN network system architecture includes: multiple network access points (i.e., PoP nodes) 110, at least one network controller 120, and at least one network orchestrator 130, wherein:

[0064] The PoP node 110 is a network access point deployed by the SD-WAN network service operator. Each PoP node 110 can be deployed by the same or different SD-WAN network service operators in public clouds, private clouds, and hybrid cloud nodes around the world. Multiple PoP nodes 110 can be data centers established in different geographical regions, that is, distributed in multiple networks across domains to support cross-domain communication. In other words, different PoP nodes 110 distributed in the same network or deployed by the same network service operator can communicate with each other, and PoP nodes 110 distributed in different networks or different PoP nodes 110 of different network service operators can also communicate with each other to meet the various service access requirements of the SD-WAN network.

[0065] Among them, multiple PoP nodes 110 distributed in the same geographical area can be deployed by one or more network service operators, and PoP nodes 110 distributed in different geographical areas can also be deployed by the same or different network service providers. This application does not limit the implementation method of cross-domain deployment of multiple PoP nodes 110 under the SD-WAN network system architecture. It should be understood that in communication applications, it is not excluded to meet the data transmission request of the terminal device through intra-domain communication between different PoP nodes 110, which can be determined according to actual conditions.

[0066] In the SD-WAN network, the PoP node 110 can be used as a transit station for data transmission, reducing data transmission delay and improving data transmission efficiency. Through the PoP node 110, SD-WAN network users (such as enterprises) can easily expand their network coverage, achieve wider regional connections, and support more diverse cross-domain communications. It can also be flexibly deployed near the network backbone to quickly respond to access requests (such as data transmission requests) from terminal devices and provide a high-speed network experience. Among them, the deployment location of each PoP node 110 can be determined and flexibly adjusted based on actual network requirements (such as bandwidth requirements, quality of service (QoS, Quality of Service), security requirements, etc.), existing networks and evaluation conditions of various network service operators, etc. In the process of registering and deploying the PoP node 110 according to the determined deployment location, the relevant deployment information of the PoP node 110 is usually reported to the network controller 120, so as to configure and manage the PoP node 110 through the network controller 120, and the implementation process is not described in detail in this application.

[0067] It can be seen that in the embodiment of the present application, multiple PoP nodes 110 in the SD-WAN network system architecture can store the registration information of each PoP node 110 during the deployment process in the network controller 120, such as the deployment location (such as geographical location), supported communication methods, access rights, and node communication relationships between different PoP nodes 110 of each PoP node 110, so as to realize centralized network management and monitoring of multiple PoP nodes 110 through the network controller 120. As analyzed above, the node communication relationship between different PoP nodes 110 may include: directed communication relationships supported by the same network or the same network service operator, that is, intra-domain communication relationships, and directed communication relationships between different networks or different network service operators, that is, cross-domain communication relationships.

[0068] Among them, after each PoP node 110 completes registration and deployment, it can use its own data collection capabilities to collect link status data in real time, that is, multiple performance indicators corresponding to at least one node transmission link supported by the PoP node 110 itself, such as bandwidth utilization, delay, and packet loss rate, etc., which are key indicators affecting network performance. After that, the PoP node 110 can transmit the collected link status data to the network controller 120 in a timely manner through a secure channel, such as through deployed network devices such as routers, firewalls, and switches, as well as configured virtual dedicated lines or dedicated lines configured by network service operators. The present application does not limit the communication method between each PoP node 110 and the network controller 120.

[0069] In a possible implementation, for multiple PoP nodes 110 deployed in the entire SD-WAN network, if a central node and a branch node are configured, each PoP node 110 belonging to a branch node can send the link status data collected in real time to the PoP node 110 belonging to the central node, and then the PoP node 110 uploads the link status data collected by all current PoP nodes 110 to the network controller 120 for storage. If multiple PoP nodes 110 adopt a decentralized layout, the network controller 120 can serve as a central data processing center, so that each PoP node 110 directly uploads the link status data collected in real time to the network controller 120 for storage.

[0070] When there are multiple network controllers 120, each PoP node 110 can directly upload the link status data collected in real time to the network controller 120 that is closest to itself, so as to realize the synchronous sharing of the link status data corresponding to each PoP node 110 through the data synchronization mechanism between different network controllers 120, thereby ensuring that each network controller 120 can obtain the link status data corresponding to each current PoP node 110, so that each network controller 120 supports the software-defined wide area network control method proposed in this application.

[0071] In addition, since all deployed PoP nodes 110 form a widely covered network access layer, after the user uses the terminal device to access the local network, the traffic can be directed to the PoP node (i.e., input network access point) of the SD-WAN network through the edge device (CPE, Customer Premises Equipment) of the SD-WAN network, and through the traffic transmission between the PoP nodes, it reaches the destination PoP node (i.e., output network access point), and is then transmitted to the target network, such as cloud services, data centers or other branches. It can be seen that each deployed PoP node 110 has data forwarding capabilities, and forwarding of the data to be transmitted is achieved according to the optimal fast transmission path determined by the software-defined wide area network control method proposed in the embodiment of the present application. The implementation process can refer to the description of the corresponding part of the method embodiment below.

[0072] The network controller 120, i.e., the SD-WAN controller, serves as the management center of the SD-WAN network and is responsible for the centralized management and control of the network. The implementation process can refer to the execution process of the software-defined wide area network control method described from the network controller 120 side in the method embodiment below, and the embodiment of the present application will not be described in detail here. It should be noted that for the link status data collected in real time by each PoP node 110, in addition to actively reporting to the network controller 120 according to the implementation method described above, the network controller 120 can also continuously monitor the network status of each PoP node 110 and read the link status data collected in real time by each PoP node 110, so that the network controller 120 can monitor the complex and changeable network environment, adopt the method proposed in this application, respond to network failures and performance degradation in a timely manner, dynamically adjust the data transmission path, select the optimal transmission path (such as the fastest and most reliable transmission path), realize reliable and efficient transmission of the data to be transmitted, and ensure efficient utilization and management of network resources.

[0073] When there are multiple network controllers 120, that is, multiple network controllers 120 are deployed in different geographical areas, they can be implemented using a distributed architecture, a centralized architecture, or a hybrid architecture, and can support data synchronization and sharing between different network controllers 120, ensuring that each network controller 120 can achieve centralized monitoring and management of the network status of each PoP node 110. The present application does not limit the implementation method of data synchronization and sharing of different network controllers 120.

[0074] In actual applications, due to the single point failure problem that may arise when multiple network controllers 120 adopt a centralized architecture, that is, if an attacked network controller 120 is locked, it may cause damage to the entire SD-WAN network; if a distributed architecture is adopted, it may be affected by limitations in hardware resources, software architecture and design, which may affect the centralized management and control of the network based on complex balancing and hot standby; if a hybrid architecture is adopted, it is often difficult to ensure data consistency between the various network controllers 120, and security authentication cannot be achieved.

[0075] In order to improve the above problems, preferably, Figure 2 The system architecture shown in the figure, the present application can use an open source blockchain platform (such as Hyperledger Fabric (an open source distributed ledger platform initiated by the Linux Foundation) or Ethereum, etc.) to build a blockchain platform for the SD-WAN network, and automatically execute the policies and rules of the SD-WAN network, such as traffic control, path selection / optimization, and security policies, by developing smart contracts to improve network performance and reliability; blockchain technology can also be used to implement distributed identity authentication, prevent illegal users and devices from accessing the SD-WAN network, and reliably implement security authentication. Blockchain technology can also be used to implement decentralized network management, allowing multiple network controllers 120 to jointly monitor and maintain the SD-WAN network, improve the reliability and security of the network, and protect the transmission data in the SD-WAN network. The implementation process can refer to the description of the corresponding part of the method embodiment below.

[0076] Among them, in the deployment of multiple network controllers 120 based on blockchain technology to achieve high security, reliability and intelligent network management and control solutions, such as Figure 2As shown, the distributed ledgers of each network controller 120 can be deployed in the constructed blockchain platform, and the smart contracts can be integrated into the distributed ledgers of each network controller 120, and the distributed ledgers of each network controller 120 can be controlled to remain synchronized, thereby ensuring the data consistency and accuracy of the distributed ledger records of different network controllers 120, so that the monitoring and management of the SD-WAN network no longer depends on a single network controller 120, that is, decentralized monitoring and management is achieved, the risk of single point failure is avoided, the robustness of the system is enhanced, and based on the transparency and immutability of the distributed ledger, the security and reliability of network communications are improved. Based on the high availability and fault tolerance of the distributed ledger, even if some network controllers 120 fail, the system can still operate normally and maintain data consistency and accessibility.

[0077] The network orchestrator 130, namely the SD-WAN orchestrator, can act as a virtual manager of the SD-WAN network. It can apply the policies and protocols set by the network service operator, calculate the transmission path corresponding to the minimum communication cost that satisfies the data transmission request of the terminal device based on the network status sent by the network controller 120, and send it to the network controller 120 to dynamically adjust the transmission path of the data to be transmitted to ensure the reliability and efficiency of data transmission. The implementation process can refer to the execution steps of the software-defined wide area network control method described from the network orchestrator 130 side in the method embodiment below, and the embodiments of the present application will not be described in detail here.

[0078] In the case where there are multiple network orchestrators 130, multiple network orchestrators 130 can also be deployed based on blockchain technology, so that each network orchestrator 130 has high security and prevents network attacks and data tampering. At this time, different network orchestrators 130 can use smart contracts to communicate with each other to automatically perform network resource allocation and scheduling based on the received network status and configuration information. The implementation process is not described in detail in this application. It should be noted that Figure 2 It is only a communication diagram of the network controller 120 and the network orchestrator 130 deployed based on the blockchain technology, and does not limit the number of network controllers 120 and network orchestrators 130 deployed.

[0079] It can be seen that each node in the distributed network architecture built on blockchain technology, such as an independent network controller 120 or network orchestrator 130, can use distributed ledgers to improve the security, transparency and trust of the network. It also solves problems such as data tampering, single point failure and privacy leakage, and provides a reliable transaction and scheduling mechanism for business scenarios involving multiple parties.

[0080] In a possible implementation, the network controller 120 and the network orchestrator 130 deployed in the same geographical area can be deployed on the same server, and the server can deploy at least one network controller 120 and at least one network orchestrator 130, and the specific number can be determined according to the actual situation. Preferably, in order to improve the configuration flexibility and security, the network controller 120 and the network orchestrator 130 in the same geographical area can be deployed in different servers. In this case, the first server deployed with the network controller 120 can deploy one or more network controllers 120. Similarly, the first server deployed with the network orchestrator 130 can deploy one or more network orchestrators 130, which can be determined according to actual needs.

[0081] Based on the SD-WAN network system architecture and its components described above, the software-defined wide area network control method of the embodiment of the present application will be introduced from the perspectives of the network orchestrator 130 and the network controller 120 in combination with the accompanying drawings.

[0082] Reference Figure 3 , which is a signaling flow diagram of a software defined wide area network control method proposed in Example 1 of the present application, with reference to Figure 1 or Figure 2 The SD-WAN network system architecture shown in Figure 3 As shown, the method may include but is not limited to the following steps:

[0083] Step S31, the first network controller determines the current network status information for the data to be transmitted in response to the data transmission request from the terminal device; the network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission link;

[0084] Step S32, the first network controller sends network status information for the data to be transmitted to the first network orchestrator;

[0085] The data to be transmitted can be data that needs to be transmitted by the PoP node (i.e., network access point) in the SD-WAN network in the application scenario of accessing the SD-WAN network. For example, data such as real-time communication messages / files that need to be transmitted in real-time communication scenarios, video streams that need to be transmitted in video conferencing scenarios, order data, market data, customer data, and transaction instructions in financial service scenarios, etc. This application does not restrict the content of the data to be transmitted, and it can be determined based on the type of application scenario to be implemented by accessing the SD-WAN network and its communication requirements.

[0086] In the embodiment of the present application, combined with the above description of the working principle of each component of the SD-WAN network system architecture, in the application scenarios listed above, when it is necessary to access the SD-WAN network for data transmission, the client can send a corresponding data transmission request (i.e., an access request to the SD-WAN network) to the SD-WAN network. In the present application, the network controller in the SD-WAN network will respond to the data transmission request. Usually, the network controller closest to the client (referred to as the first network controller) can receive the data transmission request, and after analysis, it is determined that for the data to be transmitted this time, the SD-WAN network is requested to access the input network access point (i.e., the starting PoP node) for the data to be transmitted to start transmission, and the output network access point (i.e., the ending PoP node) for the SD-WAN network to end transmission. For example, according to the starting network address and the ending network address of the data to be transmitted contained in the data transmission request, when there are multiple PoP nodes in the same geographical area, the corresponding starting PoP node and the ending PoP node can also be selected in combination with the link status data of each of the current multiple PoP nodes, etc. The present application does not limit the method for determining the starting PoP node and the ending PoP node of the data to be transmitted.

[0087] Afterwards, since the first network controller has stored the node communication relationship between each PoP node that has been deployed in the entire SD-WAN network, as well as the link status data of each current PoP, that is, multiple performance indicators of the corresponding node transmission link, such as bandwidth utilization, delay, packet loss rate and other key performance indicators, after the first network controller determines the starting PoP node and the ending PoP node for the data to be transmitted, it can select from the deployed PoP nodes the various intermediate PoP nodes that can be used to realize data transmission from the starting PoP node to the ending PoP node, that is, select multiple intermediate network access points for realizing communication between the input network access point of the data to be transmitted and the output network access point of the data to be transmitted. The selection method is not limited in this application.

[0088] In this way, the first network controller can at least determine the above-determined input network access point of the data to be transmitted, the node communication relationship between multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission links as network status information for the data to be transmitted, and send it to the first network orchestrator for analysis, so as to give a path optimization suggestion from the starting PoP node to the terminating PoP node by considering the received real-time performance indicators, thereby improving the network transmission performance.

[0089] The first network orchestrator may be a network orchestrator that is closest to the first network controller among the network orchestrators deployed in the SD-WAN network, such as a network orchestrator deployed in the geographical area where the first network controller is located, but the selection method of the first network orchestrator is not limited to this method. In a possible implementation, a network orchestrator that can complete the path selection task for the data to be transmitted may be selected as the first network orchestrator based on the available resources of each network orchestrator or based on a load balancing strategy, so as to perform subsequent processing steps.

[0090] Step S33, the first network scheduler determines a target path communication cost for transmitting the data to be transmitted from the input network access point to the output network access point based on the node communication relationship in the received network state information and multiple performance indicators of the node transmission link; the target path communication cost is the minimum path communication cost of each transmission path from the input network access point to the output network access point;

[0091] Step S34, the first network scheduler determines a transmission path corresponding to a minimum path communication cost from the input network access point to the output network access point as a target transmission path for the data to be transmitted, and outputs the target transmission path;

[0092] Following the above analysis, the first network orchestrator receives network status information for the data to be transmitted. Since the network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission links, based on this, the first network orchestrator can calculate the path communication cost corresponding to each transmission path from the input network access point to the output network access point, select the minimum path communication cost as the target path communication cost, and determine the transmission path corresponding to the minimum path communication cost as the target transmission path for the data to be transmitted.

[0093] Among them, the path communication cost of each transmission path from the input network access point to the output network access point is determined by the link communication cost of each node transmission link included in the transmission path, and the link communication cost of each node transmission link can be determined based on multiple performance indicators of the node transmission link. It can be seen that the path communication cost (i.e., communication cost) of each transmission path calculated by the first network orchestrator can reflect the current network performance of the node transmission link of each network access point included in the corresponding transmission path, and can also reflect the degree to which it meets the communication requirements and network resource utilization rate in the current application scenario corresponding to the request to be transmitted, or the efficiency and reliability of the data transmission to be transmitted according to the transmission path. Generally, the smaller the path communication cost, the better the network performance of the corresponding transmission path, the more it meets the communication requirements of the current application scenario, and the higher the data transmission reliability and efficiency.

[0094] Based on this, the present application can traverse each intermediate network access point, determine all transmission paths from the input network access point to the output network access point, and calculate the path communication cost corresponding to each transmission path based on multiple performance indicators corresponding to the corresponding node transmission link. After comparison, the minimum path communication cost among the path communication costs is selected, and the corresponding transmission path is determined as the target transmission path. In order to reduce the amount of calculation and improve the efficiency of path selection, the path communication cost from each intermediate network access point to the input network access point can be calculated one by one according to the communication relationship of each node, and the next intermediate network access point corresponding to the minimum path communication cost is selected for cyclic calculation until the output network access point is obtained, and the target transmission path corresponding to the minimum path communication cost is obtained. The present application does not limit the implementation method of step S33.

[0095] It can be seen that the first network orchestrator calculates the path communication cost based on the link status data (i.e., multiple performance indicators) collected in real time by each network access point in the current SD-WAN network, which can be used to transmit the data to be transmitted sent by the terminal device, so that the path selection for the data to be transmitted based on this is more accurate and reliable, avoiding the selection of transmission paths with abnormal conditions such as overload or no access rights, and ensuring that the target transmission path selected based on this is the optimal transmission path for the data to be transmitted in the current SD-WAN network, achieving efficient and reliable data transmission, and improving the utilization rate of network resources.

[0096] It should be understood that, in the event of a network state change, since the PoP node can quickly respond to changes in the network state and report the changed performance indicators to the first network controller, the first network controller can promptly update the network state information for the data to be transmitted, thereby enabling the first network orchestrator to reselect the optimal transmission path according to the method described above, so as to achieve dynamic adjustment of the data transmission path, improve the reliability and efficiency of data transmission, and have the ability to respond quickly to sudden network events, better meeting real-time and high-precision response requirements.

[0097] Step S35, the first network controller receives the target transmission path for the data to be transmitted fed back by the first network orchestrator;

[0098] Step S36: the first network controller controls the corresponding network access point to transmit the data to be transmitted according to the target transmission path.

[0099] As analyzed above, the target transmission path determined by the first network orchestrator is the transmission path corresponding to the minimum path communication cost of transmitting data from the input network access point of the data to be transmitted to the output network access point of the data to be transmitted through at least one intermediate network access point. After the first network controller obtains the target transmission path for the data to be transmitted, it can control the corresponding network access point to transmit the data to be transmitted according to the transmission order of each network access point included in the target transmission path, that is, after sending the data to be transmitted to the input network access point (such as transmitting the local data to be transmitted to the input network access point through the user gateway, usually the nearest PoP node, but not limited to this), it can be transmitted to the output network access point according to the target transmission path. The control implementation process of step S36 is not described in detail in this application.

[0100] It should be noted that the various network access points included in the target transmission path may be deployed in the same geographical area to complete the transmission of the data to be transmitted within the same domain; they may also be deployed in different geographical areas to achieve the transmission of the data to be transmitted through cross-domain communication. In this cross-domain communication process, the cross-domain transmission of the data to be transmitted can be completed in accordance with the communication mechanism of the line (i.e., node transmission link) of the cross-domain network service operator. The implementation process is not described in detail in this application.

[0101] To sum up, in the embodiment of the present application, in any application scenario where a terminal device accesses the SD-WAN network, the first controller will respond to a data transmission request from the terminal device, such as a video stream transmission request in a video conferencing scenario, a communication request in a real-time communication scenario, or an order transaction request in a financial service scenario, etc., and will determine the node communication relationship between the input network access point of the corresponding data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission link, that is, the link status data collected in real time by these network access points. After sending it to the first network orchestrator, the first network orchestrator calculates the path communication cost of the transmission path from the input network access point to the output network access point based on this, selects the target transmission path corresponding to the minimum path communication cost, and feeds it back to the first network controller, so as to control the corresponding network access point according to the target transmission path to achieve efficient and reliable transmission of the data to be transmitted, better meet the communication requirements of the current application scenario, effectively cope with complex and changeable network environments, improve the response speed to sudden network events, and improve the overall network performance.

[0102] It should be noted that if the first network controller receives multiple data transmission requests at the same time, the software-defined wide area network control method proposed in this application can be executed for each data transmission request, and the implementation process is similar to that of this application and will not be described in detail one by one. Of course, in order to improve control efficiency, the first network controller can distribute these multiple data transmission requests to different network controllers, and cooperate with corresponding different network orchestrators to implement the software-defined wide area network control method proposed in this application, and this application does not limit this.

[0103] Among them, for each data transmission request, during the execution of the software-defined wide area network control method proposed in this application, if the first network controller monitors a network abnormal event and determines that the network abnormal event is related to the network status information, such as a PoP node or a node transmission link failure that is included in the network status information. The failure is a network access point / node transmission link that is no longer suitable for participating in subsequent path selection operations. The first network controller can timely update the network status information for the data to be transmitted according to the method described above. If the failure occurs at the start / end PoP node, a new start / end PoP node can be selected in combination with the link status data of each PoP node currently adjacent to its deployment location, and the network status information can be updated according to the method described above, or the network abnormality event can be fed back to the terminal device to remind the user to reselect the corresponding start / end PoP node and restart step S31; the network abnormality event and prompt information such as the new start / end PoP node reselected by the first network controller can also be sent to the terminal device for the user's reference whether to continue to execute the corresponding data transmission request accordingly. If the user confirms to continue, the first network controller will update the network status information based on the new start / end PoP node; if the user does not use it, the user can use the terminal device to re-initiate the data transmission request, and the first network controller can end the response to the data transmission request, etc.

[0104] It can be seen that when the first network controller responds to a data transmission request from a terminal device, if the response is interrupted or terminated due to an abnormal network event, the first network controller can restore the above data transmission request or re-initiate the data transmission request according to but not limited to the method described in the above embodiment. The first network controller can respond to the data transmission request according to the software defined wide area network control method proposed in the present application to meet the communication requirements for accessing the SD-WAN network. The implementation process will not be described in detail in this application.

[0105] Reference Figure 4, is a flowchart of a software-defined wide area network control method proposed in the second embodiment of the present application. The method can be applied to the first network orchestrator in the SD-WAN network, which can be any network orchestrator deployed in the SD-WAN network. This embodiment can describe an optional implementation method for how the first network orchestrator determines the minimum path communication cost for the data to be transmitted. For other processing steps of the software-defined wide area network control method proposed in this application, please refer to the description of the corresponding part of the above embodiment, which will not be described in detail in this embodiment. Based on this, Figure 4 As shown, the method performed by the first network orchestrator may include but is not limited to the following steps:

[0106] Step S41, receiving network status information for data to be transmitted; the network status information includes node communication relationships between an input network access point of the data to be transmitted, multiple intermediate network access points and an output network access point, and multiple performance indicators of corresponding node transmission links;

[0107] Step S42, obtaining the link communication cost between two network access points under the corresponding node communication relationship according to the multiple performance indicators of the transmission link of each node;

[0108] In the embodiment of the present application, for each node transmission link between different PoP nodes, there may be node transmission links of the same type, or there may be node transmission links of different types, which can be determined based on factors such as actual business needs and network conditions. Among them, the types of node transmission links may include but are not limited to: MPLS (Multiprotocol Label Switching), L3 (routing and forwarding), VPN (Virtual Private Network), dedicated line (MPLS wide area network can be provided by ISP network service operators), MSTP (Multiple Spanning Tree Protocol), Internet and 4G / 5G (fourth / fifth generation mobile communication network), etc. Based on the above analysis, two PoP nodes connected by a node transmission link can be set by the same or different network service providers, or in other words, to achieve communication within the same network / between different networks, depending on the situation, and this application does not impose any restrictions.

[0109] It can be seen that the network configurations of different PoP nodes deployed in the SD-WAN network may be different, and as the overall network status changes, the network status of different PoP nodes may also change, that is, the link status data collected in real time may change, or even mutate. Therefore, multiple performance indicators of the same node transmission link collected by the same PoP node may change dynamically over time, and the dynamic change trends and results of transmission links at different nodes may be different. When the application needs to select a path, the first network orchestrator will calculate the communication cost of the corresponding node transmission link based on the current link status data of the corresponding network access point and record it as the link communication cost, especially indicating the communication cost that will be generated by the current transmission link at the node, which refers to the consumption in terms of various performance indicators, and also indicates the quality of the transmission link at the node. The application does not limit the calculation implementation method.

[0110] In one possible implementation, the present application can determine the various factors that may affect the selection of the transmission path, such as the multiple performance indicators described above, the business requirements (communication requirements) in the application scenario where the data to be transmitted is located, and the usage fees of the node transmission links belonging to the dedicated line, etc., and then can also comprehensively measure the degree of influence of each of these multiple factors on the selection of the transmission path for the data to be transmitted, and use it as the weight of the corresponding factor. Through a suitable path selection algorithm, the current situation and weight of these influencing factors are automatically calculated to obtain the node transmission link as a component of the transmission path for realizing the data transmission to be transmitted under the current network environment. The present application does not elaborate on the type of path selection algorithm and its implementation process for realizing the target transmission path selection. Of course, the present application can also directly calculate the link communication cost according to the analysis content.

[0111] Step S43, starting from the next network access point of the input network access point communication, based on the node communication relationship, and iteratively accumulating the corresponding link communication costs, to obtain the path communication cost of the first transmission path from the input network access point to the currently selected network access point;

[0112] In an embodiment of the present application, the node communication relationship of any PoP node can indicate that the network access point communicates with another PoP node within the same domain or across domains, which is usually determined during the registration and deployment process of each PoP node. Adding new PoP nodes, adjusting the current deployment location of the PoP, or removing an existing PoP node in the entire SD-WAN network may affect network performance. The updated node communication relationship and multiple performance indicators of its corresponding node transmission link can be updated to the network controller in a timely manner to respond to any data transmission request according to the method described above, and obtain corresponding network status information consistent with the current network environment.

[0113] Among them, some PoP nodes and their node transmission links may have access rights, resulting in that two PoP nodes directly connected through a node transmission link may not necessarily be able to communicate bidirectionally. In order to improve the reliability of path selection, the present application can obtain the communication direction represented by the unidirectional node transmission link, and which PoP node is communicating with which other PoP node with access rights according to the communication direction, etc. Starting from the input network access point, according to the communication direction corresponding to at least one node transmission link connected to the input network access point, determine each intermediate network access point directly connected to the input network access point, select the next network access point from them, and record the link communication cost of the node transmission links of the two network access points, sum it with the path communication cost of the previous network access point for the input network access point (that is, the path communication cost from the input network access point to the previous network access point), and obtain the path communication cost between the input network access point and the currently selected network access point.

[0114] In this way, each time a network access point is selected, the link communication cost of the node transmission link between the network access point currently selected and the network access point previously selected can be accumulated on the basis of the path communication cost of the network access point previously selected (if it does not exist, the input network access point here), so as to obtain the communication cost from the input network access point to the network access point currently selected. As the selected network access point advances toward the output network access point, the newly determined link communication cost is gradually iteratively accumulated to obtain the path communication cost of the network access point currently selected for the input network access point, until the output network access point is selected this time.

[0115] For example, in order to clearly illustrate the node communication relationship between each network access point in the network state information for the data to be transmitted received by the first network orchestrator, the following example can be used: Figure 5 The tree-structured graph network shown in the figure assumes that the input network access point of the data to be transmitted is PoP node A, and the output network access point is PoP node E. The weights on the connecting lines (i.e., node transmission links) between the PoP nodes in the figure can represent the link communication costs of the corresponding node transmission links. The path communication cost of the input network access point, i.e., PoP node A, is initialized to 0.

[0116] Starting from the PoP node directly connected to PoP node A, if PoP node B is selected, the link communication cost of the node transmission link can be determined based on the various performance indicators of the node transmission link that PoP node A collects in real time from the PoP node A to communicate with the PoP node, such as Figure 5As shown in 1, add it with the path communication cost of PoP node A to get the path communication cost from PoP node A to PoP node B, which is 1. If PoP node A selects PoP node C as its next PoP node, similarly, calculate the link communication cost between PoP node C and PoP node A, as shown in Figure 5 As shown in 4, sum it with the path communication cost of PoP node A to obtain the path communication cost from PoP node A to PoP node C, which is 1.

[0117] Afterwards, according to the method described above, for PoP node B, the next PoP node for direct communication can be selected. At this time, if the next PoP node selected is PoP node C, the link communication cost of the node transmission link for communication from PoP node B to PoP node C can be calculated based on the link communication cost collected in real time by PoP node B, such as Figure 5 As shown in 2, it is iteratively accumulated with the path communication cost of PoP node B (i.e., 1) to obtain the path communication cost of the first transmission path for PoP node A to communicate with PoP node C through PoP node B, that is, the path communication cost of PoP node C for the first transmission path of PoP node A, such as 1+2=3. It can be seen that this is the path communication cost of PoP node C obtained by iteratively superimposing the link communication cost of the node transmission link between PoP node A and PoP node B, and the link communication cost of the node transmission link between PoP node B and PoP node C.

[0118] Step S44, if the path communication cost of the second transmission path from the input network access point to the network access point selected this time is greater than the path communication cost of the first transmission path, the path communication cost of the first transmission path is updated to the target path communication cost of the network access point selected this time;

[0119] Following the above analysis, for two network access points, the corresponding transmission paths are different because the transmission links through the nodes are different. When the link communication costs of the transmission links of the different nodes are different, the path communication costs of the different transmission paths between the two network access points are also different. As shown in Figure 5, the path communication cost of the first transmission path from PoP node A directly to PoP node C is 4, and the path communication cost of the second transmission path from PoP node A to PoP node C through PoP node B is 3. At this time, the path communication cost of the second transmission path can be 3, which is determined as the target path communication cost of PoP node C for PoP node A. Afterwards, the next PoP node of PoP node C is selected, and in the process of obtaining the path communication cost of the next PoP node D / E, the iteratively accumulated path communication cost of PoP node C is 3.

[0120] It should be understood that if Figure 5 In the figure, the link communication cost of the node transmission link between PoP node A and PoP node C is 3. According to the path communication cost calculation method described above, the two transmission paths between PoP node A and PoP node C have the same path communication cost, which is 3. The path communication cost calculation for the next PoP node can be continued according to the method described above. The implementation process is not described in detail one by one in this application. It should be noted that in the process of iteratively accumulating the link communication cost of the node transmission path, if there are multiple transmission paths between the same two PoP nodes, the minimum path communication cost among the path communication costs of these multiple transmission paths can be determined as the path communication cost from PoP node A to the PoP node selected this time.

[0121] Step S45, if the target path communication cost of the output network access point selected this time is obtained, the selection operation of the next network access point is terminated, and the transmission path corresponding to the target path communication cost is determined as the target transmission path;

[0122] Step S46, outputting a target transmission path for the data to be transmitted.

[0123] Combination Figure 5 For example, starting from PoP node A, the target path communication cost from PoP node A to the next PoP node is accumulated by calculating the path communication cost of the next PoP node with which it directly communicates and the link communication cost between the last selected PoP node and the next PoP node. If the PoP node selected this time is PoP node E, the transmission path corresponding to the target path communication cost from PoP node A to PoP node E can be determined as the target transmission path for the data to be transmitted, which may be one or more transmission paths, such as Figure 5 As shown, a transmission path with minimum path communication cost from PoP node A, after passing through PoP node B and PoP node C in sequence, to communicate with PoP node E, and another transmission path with minimum path communication cost from PoP node A, after passing through PoP node B and PoP node D in sequence, to communicate with PoP node E, one of the transmission paths can be arbitrarily selected as the target transmission path, or both can be sent to the first network controller as the target transmission paths, and the first network controller will select another one, and control the corresponding PoP node accordingly to realize the transmission of the data to be transmitted, thereby ensuring high efficiency and high reliability of data transmission.

[0124] Reference Figure 6, is a flow chart of a software defined wide area network control method proposed in Embodiment 3 of the present application, which can be applied to a first network orchestrator in a SD-WAN network. This embodiment can describe another optional implementation method of how the first network orchestrator determines the minimum path communication cost for data to be transmitted, such as Figure 6 As shown, the method performed by the first network orchestrator may include but is not limited to the following steps:

[0125] Step S61, receiving network status information for data to be transmitted; the network status information includes node communication relationships between an input network access point of the data to be transmitted, multiple intermediate network access points and an output network access point, and multiple performance indicators of corresponding node transmission links;

[0126] Step S62, determining the communication weights of the plurality of performance indicators according to the network performance requirements of the application scenario of the data to be transmitted;

[0127] In the embodiments of the present application, it is considered that different performance indicator requirements for the SD-WAN network may be different in different application scenarios. Thus, in the process of obtaining the link communication cost between two network access points under the corresponding node communication relationship based on multiple performance indicators of the transmission link of each node, the communication weights of the multiple performance indicators of the node transmission link can be determined based on the network performance requirements of the application scenario, such as low latency, high bandwidth, high stability (i.e., low packet loss rate), balance of various performance indicators or specific performance requirements, etc. The present application does not restrict the method for determining the communication weight and its value, which can be flexibly configured or adjusted according to actual conditions, or can be pre-learned through an artificial intelligence AI algorithm using a sample data set under the same application scenario. The reasonable communication weights corresponding to each performance indicator in the application scenario, etc., are learned. The implementation process is not described in detail in this application.

[0128] Among them, the higher the matching degree between the performance indicator and the network performance requirement, the greater the communication weight of the performance indicator. Taking the bandwidth of the node transmission link (which represents the ability of the network to transmit data), delay and packet loss rate (which represents stability) of the real-time collection node of the PoP node as an example, in application scenarios such as real-time communication or video conferencing that require low latency, the performance indicator of delay is a key factor in such application scenarios. Selecting a low-latency transmission path in the SD-WAN network can better meet the real-time communication requirements in such application scenarios. Therefore, a larger communication weight can be configured for the performance indicator of the node transmission link delay, and a lower communication weight can be configured for other performance indicators. The greater the impact of other performance indicators on delay performance, the larger the corresponding communication weight is, such as the communication weight of the delay performance indicator is 0.7, the communication weight of the bandwidth performance indicator is 0.2, and the communication weight of the packet loss rate performance indicator is 0.1, etc., but it is not limited to the values ​​of each communication weight in the example.

[0129] Similarly, for application scenarios that require high bandwidth, such as big data transmission or streaming media services, it is necessary to select high-bandwidth transmission paths in the SD-WAN network to better meet the business needs of such application scenarios. In order to optimize the transmission efficiency and reliability of large amounts of data streams, performance indicators such as bandwidth utilization can be assigned a larger communication weight, and other types of performance indicators can be assigned a lower communication weight. For example, the communication weight of the delay performance indicator is 0.2, the communication weight of the bandwidth performance indicator is 0.7, and the communication weight of the packet loss rate performance indicator is 0.1.

[0130] For application scenarios such as financial trading systems or mission-critical applications, highly stable transmission paths can better meet the business needs of such application scenarios. In order to avoid problems such as business failures caused by data packet loss and to improve the response speed to network mutations, performance indicators such as packet loss rate can be assigned a larger communication weight, and other types of performance indicators can be assigned a lower communication weight. For example, the communication weight of the delay performance indicator is 0.1, the communication weight of the bandwidth performance indicator is 0.2, and the communication weight of performance indicators such as packet loss rate is 0.7.

[0131] For application scenarios that require balanced performance indicators in all aspects, communication weights can be evenly allocated to various performance indicators. For example, the communication weight of the delay performance indicator is 0.33, the communication weight of the bandwidth performance indicator is 0.33, and the communication weight of performance indicators such as packet loss rate is 0.34, so that the first network orchestrator can comprehensively consider these types of performance indicators and select a relatively optimal transmission path to complete data transmission in this application scenario.

[0132] It should be noted that in various application scenarios listed above, the communication weights configured for the three types of performance indicators, namely bandwidth, delay and packet loss rate, include but are not limited to the values ​​listed above. In application scenarios where one type of performance indicator is required to be high, the distribution ratios of the communication weights of these three types of performance indicators are not required to be consistent, such as not limited to 0.7 (allocated to the key performance indicators for the application scenario), 0.2 and 0.1, and can be flexibly adjusted according to actual conditions, such as 0.8 (allocated to the key performance indicators for the application scenario), 0.1 and 0.1, or 0.65 (allocated to the key performance indicators for the application scenario), 0.15 and 0.2, etc. In a possible implementation, the present application can determine the reasonable communication weights configured for different performance indicators in various application scenarios through a large number of experimental tests or based on artificial intelligence algorithm learning, and then associate the application type / identification in a type of application scenario with the corresponding communication weights of each performance indicator and store them, so that during the execution of step S62, the communication weights of each performance indicator associated with the application type / identification of the data to be transmitted can be directly read.

[0133] In addition, the present application can also customize the communication weights of various performance indicators configured for the business needs of the application scenario specified by the user, such as the communication weight of the delay performance indicator is 0.5, the communication weight of the bandwidth performance indicator is 0.3, the communication weight of the performance indicators such as packet loss rate is 0.2, etc. When the terminal device sends a data transmission request, in the network configuration interface for the data to be transmitted, the communication weights of the three performance indicators of bandwidth utilization, delay and stability required for the data to be transmitted during the SD-WAN network transmission can be selected or entered to ensure that the network orchestrator can select the final transmission path in the application scenario and reliably and flexibly meet the business needs of the application scenario.

[0134] In addition, the multiple performance indicators of the node transmission link collected by the PoP node in real time are not limited to the three performance indicators listed above, namely, delay, packet loss rate and bandwidth. Other performance indicators can be adaptively added, or certain performance indicators can be reduced or replaced according to the changes in the key performance indicators of the SD-WAN network. After that, the corresponding communication weights can be configured according to the method described above.

[0135] Step S63, using the multiple performance indicators of the transmission links of each node and the communication weights of the multiple performance indicators, the link communication cost between the two network access points under the corresponding node communication relationship is obtained;

[0136] Following the above analysis, after the first network orchestrator learns the communication weights of the multiple performance indicators of the node transmission link in the current application scenario, the calculation method represented by the following formula may be used to implement step S63, but is not limited to the following formula:

[0137] ; (1)

[0138] Among them, α represents the communication weight configured by the performance indicator of delay, β represents the communication weight configured by the performance indicator of packet loss rate, and γ represents the communication weight configured by the performance indicator of bandwidth. The values ​​of these three communication weights can be determined according to but not limited to the method described above. When the network performance requirements of the application scenario change, the communication weights of the corresponding performance indicators can be adjusted in time according to the configuration method described above. The implementation process is not described in detail in this application.

[0139] According to the above analysis, Figure 5In the example, the first network orchestrator can determine which PoP node PoP node A can directly transmit data to, and through which network / network service provider provided dedicated line and other node transmission links to achieve communication with the corresponding PoP node, based on the communication relationship between each node of PoP node A. The communication may be intra-domain communication or cross-domain communication. Figure 5 In the example of communication between PoP node A and PoP node B, the corresponding link communication cost can be obtained according to formula (1) based on the performance indicators of the node transmission link between PoP node A and PoP node B, as follows: Figure 5 1 shown. Similarly, the link communication cost calculation method for other node transmission links is similar, and this application will not be described in detail.

[0140] Step S64, iteratively selecting a current processing node starting from the input network access point according to the node communication relationship;

[0141] Step S65, determining each neighboring unprocessed node of the currently processed node;

[0142] In the embodiment of the present application, the path communication cost of the input network access point can be initialized to 0, and the path communication cost of other network access points for the data to be transmitted can be initialized to infinity (which indicates that the optimal transmission path has not been determined at present). Based on this, the input network access point can be selected as the current processing stage, and each intermediate network access point and output network access point for the data to be transmitted are unprocessed nodes, and the optimal transmission path is still determined. Figure 5 Take the example scenario as an example to illustrate that PoP node A is the current processing node, and its unprocessed node set is: (PoP node B, PoP node C, PoP node D, PoP node E), from which the network access point that directly communicates with the current processing node and is not selected as the current processing node can be selected as the neighbor unprocessed node, such as Figure 5 The two neighboring nodes PoP node B and PoP node C shown in FIG.

[0143] Step S66, determining the target path communication cost of each neighbor unprocessed node of the current processing node according to the path communication cost of the current processing node and the link communication cost between the current processing node and each neighbor unprocessed node, and marking the current processing node as the predecessor node of the neighbor unprocessed node;

[0144] According to the link communication cost calculation method described above, the path communication cost of each transmission path from the input network access point through the determined processed node to the corresponding neighbor unprocessed node can be calculated, such as summing the link communication costs of each node communication link included in the transmission path to determine the path communication cost. Figure 5, the path communication cost from PoP node A to PoP node B can be determined by using the link communication cost of the node transmission link between PoP node A and PoP node B and PoP node C respectively. Since it is less than the path communication cost initialized for PoP node B, the newly determined path communication cost can be updated as the path communication cost of PoP node B, and the path communication cost from PoP node A to PoP node C can be determined. Similarly, it is updated to the path communication cost of PoP node C, and PoP node A is determined as the predecessor node of PoP node B and PoP node C respectively.

[0145] Afterwards, the path communication costs of the two neighboring unprocessed nodes of the current processing node PoP node A are compared, and the minimum path communication cost is selected and recorded as the target path communication cost. It can be seen that the target path communication cost refers to the minimum path communication cost of each transmission path from the input network access point through the determined processed node to the corresponding network access point (that is, each neighboring unprocessed node).

[0146] Step S67, determining the current processing node as a processed node, and selecting a neighboring unprocessed node with a minimum path communication cost from each neighboring unprocessed node with a determined target path communication cost to determine as the next current processing node;

[0147] According to the method described above, after completing the update of the path communication costs of each neighboring unprocessed node of the current processing node, the current processing node can be determined as a processed node, the next current processing node can be selected, and the steps described above are repeated to update the path communication costs of each neighboring unprocessed node of the next current processing node.

[0148] Following the above example, Figure 5 As shown, the path communication cost from PoP node A to PoP node B is less than the path communication cost from PoP node A to PoP node C. The target path communication cost for each neighbor unprocessed node of PoP node A determined above is the updated path communication cost of PoP node B, and PoP node B can be selected as the next current processing node.

[0149] Step S68, determining whether the current processing node is an output network access point, if not, returning to step S65 for iterative execution; if yes, executing step S69;

[0150] Step S69: determine the output network access point as a processed node, and determine a target transmission path with a minimum path communication cost from the input network access point to the output network access point by backtracking the predecessor node.

[0151] Following the above analysis, since the output network access point is the last current processing node, each time a new current processing node is selected, it can be determined whether it is the output network access point. If yes, the process returns to step S65 for iterative execution.

[0152] like Figure 5 As shown in FIG. 1 , when PoP node B is selected as the current processing node, from the set of unprocessed nodes (i.e., network access points that are not selected as the current processing nodes) (PoP node C, PoP node D, PoP node E), its neighbor unprocessed nodes are determined to be PoP node C and PoP node D. According to the method described above, the path communication cost from PoP node A through PoP node B to PoP node C can be calculated as follows: The link communication cost from PoP node A to PoP node B (e.g., Figure 5 1), and the link communication cost from PoP node B to PoP node C (as shown in Figure 5 The sum of 2) shown in Figure 5 In the example, the path communication cost calculated from PoP node A through PoP node B to PoP node C is 3, which is less than the path communication cost 4 from PoP node A directly to PoP node C calculated last time. The path communication cost calculated this time is updated to the path communication cost of PoP node C.

[0153] Afterwards, the predecessor node of the PoP node C determined last time can be updated to the current processing node determined this time, that is, the predecessor node of PoP node C is updated to PoP node B. The network performance of the node transmission link directly from PoP node A to PoP node C does not meet the business requirements of the current application scenario. For example, when a low-latency application scenario is required, the delay of the node transmission link is very high. The node transmission link directly from PoP node A to PoP node C no longer participates in the selection of subsequent target transmission paths, which reduces the amount of path selection calculations and is conducive to improving path selection efficiency.

[0154] Similarly, according to the method described above, the path communication cost from PoP node A through PoP node B to PoP node C can be calculated, that is, the link communication cost from PoP node A to PoP node B (such as Figure 5 1), and the link communication cost from PoP node B to PoP node D (as shown in Figure 5 The sum of 2) shown in 3 is updated as the path communication cost of PoP node D, and the predecessor node of PoP node D is updated to PoP node B, and PoP node B is updated to a processed node and no longer participates in subsequent path selection. It can be seen that the path communication costs of each neighbor unprocessed node of PoP node B are the same, which can be determined as the target path communication cost of the corresponding neighbor unprocessed node.

[0155] According to the method described above, after completing the processing of PoP node B and marking it as a processed node, since the target path communication of each neighbor unprocessed node of PoP node B is the same, each neighbor unprocessed node can be used as a new current processing node in sequence, and the above path communication cost calculation steps are executed cyclically. For example, PoP node C is used as the current processing node, and its neighbor unprocessed node is PoP node E. The path communication cost from PoP node A through PoP node B and PoP node C to PoP node E is calculated as follows: the path communication cost of the current PoP node C (as calculated above, 3) and the link communication cost from PoP node C to PoP node E (as calculated above, 3) Figure 5 The sum of 3) shown in FIG3 is 6, the path communication cost of PoP node E is updated to 6, and PoP node C is updated to the predecessor node of PoP node E, and PoP node C is updated to a processed node and no longer participates in subsequent path selection.

[0156] Take PoP node D as the current processing node, and its neighbor unprocessed node is PoP node E. The path communication cost from PoP node A through PoP node B and PoP node D to PoP node E is calculated as follows: the path communication cost of the current PoP node D (as calculated above, 3), and the link communication cost from PoP node D to PoP node E (as calculated above, 4). Figure 5 The sum 6 of 3) shown in FIG. 3) is the same as the path communication cost of the currently recorded PoP node E. The path communication cost of the PoP node E does not need to be updated. The PoP node D is retained as the predecessor node of the PoP node E, and the PoP node D is updated to a processed node, which no longer participates in the subsequent path selection.

[0157] After completing the processing of PoP node D, its neighbor unprocessed node is determined as the current processing node, that is, PoP node E, which belongs to the output network access point for the data to be stored and can be directly marked as a processed node, indicating that after processing all network access points for the data to be stored, the optimal transmission path from the input network access point to the output network access point can be determined by backtracking the predecessor node, such as Figure 5 In this example, the fastest and most reliable transmission path from PoP node A to PoP node E is to trace back from PoP node E to the predecessor node (PoP node C), then trace back from PoP node C to the predecessor node (PoP node B), and further trace back to the predecessor node of PoP node B (PoP node A). The resulting path has the minimum communication cost ( Figure 5 The following example shows the transmission path of 6): PoP node A→PoP node B→PoP node C→PoP node E.

[0158] Similarly, if the predecessor node that PoP node E traces back to is PoP node D, and then PoP node D traces back to the predecessor node (PoP node B), and further traces back to the predecessor node of PoP node B (PoP node A), the resulting path has the minimum communication cost ( Figure 5 The following example shows the transmission path of 6): PoP node A→PoP node B→PoP node D→PoP node E.

[0159] It can be seen that in this embodiment, after the first network orchestrator receives the network status information for the data to be transmitted, it starts from the input network access point of the data to be transmitted, and gradually screens and processes each network access point according to the node communication relationship, updates its path communication cost for the input network access point, and records its predecessor node with a smaller path communication cost, and finally obtains the target transmission path corresponding to the minimum path communication cost from the input network access point to the output network access point by backtracking the predecessor node, and sends it to the first network controller, so as to ensure that the data to be transmitted is transmitted from one network access point to another network access point in the fastest and most reliable manner according to the target transmission path until it reaches the output network access point, thereby improving data transmission efficiency and reliability and ensuring stable network performance.

[0160] In this way, in the face of a complex and changeable network environment, since the network status information received by the first network orchestrator is a plurality of performance indicators collected and reported in real time by each network access point in the current network that realizes the transmission of data to be transmitted, it reflects the current actual network performance, and ensures that the link communication cost calculated thereby matches the current network environment, so as to reliably select the target path communication cost corresponding to the minimum path communication cost from the input network access point to the output network access point of the data to be transmitted, thereby improving the network transmission performance. Moreover, in the process of calculating the link communication cost, the embodiment of the present application takes into account the differences in network performance requirements of different types of application scenarios, and configures different communication weights corresponding to different performance indicators according to the network performance requirements of the corresponding type of application scenario of the data to be transmitted, further improving the reliability and accuracy of the calculated link communication cost, and being able to realize the intelligent selection of the target transmission path according to the application scenario, further improving the flexibility and adaptability of path selection.

[0161] It should be noted that in the software-defined wide area network control method proposed in the present application, in the process of calculating the target transmission path for the data to be transmitted, in order to improve the processing efficiency, the first network orchestrator can construct the following according to the node communication relationship of each network access point in the network status information: Figure 5The tree-structured communication relationship diagram shown in the figure, the nodes in the figure represent network access points, the edges represent the corresponding node transmission links, and the edge weights represent the link communication costs obtained based on multiple performance indicators of the corresponding node transmission links. Based on this, in the path selection process, it is possible to start from the root node and process the network access points layer by layer, such as the calculation process described in the above embodiment, to reliably determine the target transmission path for the data to be transmitted. Of course, this application may also not need to construct such Figure 5 The communication relationship diagram shown directly calculates the path communication cost of each network access point based on the node communication relationship. Figure 5 It is only a schematic diagram of the communication relationship of the network access points that may be used for the data to be transmitted. As the data to be transmitted changes and the node communication relationship of each network access point changes, the corresponding communication relationship diagram will change accordingly, and this application will not give detailed examples one by one.

[0162] Reference Figure 7 , is a flow chart of a software defined wide area network control method proposed in Embodiment 4 of the present application, which can be applied to a first network orchestrator in a SD-WAN network, such as Figure 7 As shown, the method may include:

[0163] Step S71, receiving network status information for data to be transmitted; the network status information includes node communication relationships between an input network access point of the data to be transmitted, multiple intermediate network access points and an output network access point, and multiple performance indicators of corresponding node transmission links;

[0164] Step S72, determining each candidate transmission path from the input network access point to the output network access point according to the node communication relationship;

[0165] In the embodiment of the present application, the communication relationship between each node of the input network access point, multiple intermediate network access points and the output network access point of the data to be transmitted can be directly traversed to traverse all candidate transmission paths from the input network access point to the output network access point, and the following can also be constructed: Figure 5 After reading the communication relationship diagram shown, traverse all paths from the root node (such as PoP node A) to the leaf node (such as PoP node E), and then select the transmission path with the smallest path communication cost as the target transmission path. This application does not limit the method of obtaining the candidate transmission path.

[0166] Step S73, determining the path communication cost of the candidate transmission path according to multiple performance indicators of each node transmission link included in the same candidate transmission path;

[0167] Step S74, comparing the path communication costs of the candidate transmission paths, and determining the candidate transmission path corresponding to the minimum path communication cost as the target transmission path;

[0168] Step S75: sending the target transmission path to the first network controller.

[0169] In combination with the calculation method of the link communication cost described in the above embodiment, such as the calculation method represented by formula (1), the link communication cost between two network access points under the corresponding node communication relationship can be obtained based on multiple performance indicators of each node transmission link. For each candidate transmission path, after determining the multiple node transmission links it contains, the sum of the corresponding link communication costs is determined as the path communication cost of the candidate transmission path. After comparison, the candidate transmission path corresponding to the minimum path communication cost is output as the target transmission path, so that the first network controller dynamically adjusts the transmission path of the data to be transmitted according to the target transmission path, controls the corresponding network access points in the target transmission path, and realizes efficient and reliable transmission of the data to be transmitted.

[0170] In some embodiments, after the first network orchestrator obtains the target transmission path for the data to be transmitted, it can generate a path optimization strategy for the data to be transmitted and send it to the first network controller. The first network controller then implements the transmission of the data to be transmitted according to the target transmission path in accordance with the path optimization strategy. The implementation process is not limited in this application.

[0171] In a possible implementation, combined with the relevant description of the above system embodiment, when multiple network orchestrators and multiple network controllers are deployed based on blockchain technology, the first network orchestrator can upload the target transmission path for the data to be transmitted to the first distributed ledger of the first network controller deployed on the blockchain platform. The first network controller can execute the path optimization strategy through the smart contract, and synchronously update the first distributed ledger storing the target transmission path for the data to be transmitted to each distributed ledger of other nodes deployed on the blockchain platform, such as the first distributed ledger of other network controllers and the second distributed ledger of each PoP node, to ensure data consistency. The synchronous update process of the distributed ledger can be implemented by the network controller through the smart contract, and the specific implementation process is not described in detail in this application. In this way, for each PoP node that has been deployed in the SD-WAN network, the transmission of the data to be transmitted can be realized according to the target transmission path based on the second distributed ledger that has been synchronously updated.

[0172] It can be seen that the distributed network built based on blockchain technology, as the infrastructure of the network controller and network orchestrator, can store and share network topology information of the network controller (which includes the node communication relationship between each PoP node, the deployment relationship between each network controller and the network orchestrator, etc.), link status data (such as multiple performance indicators collected in real time by each PoP node) and path optimization strategy (such as the target transmission path, etc.) and other data. This application does not elaborate on how the PoP node collects link status data and sends it to the network controller. This application can achieve unified management and coordination of each POP node through a network controller (such as an SD-WAN controller), ensuring high utilization and management of network resources.

[0173] Among them, smart contracts can be written in Solidity language to implement functions such as identity authentication, policy management, network status monitoring, and security incident response. In the embodiment of the present application, in the distributed ledger, smart contracts need to be used to implement the logic of the network controller and the network orchestrator. When creating smart contracts, it can be based on the user's demand for the SD-WAN network, define the contract rules / policies and protocols that meet the demand, and then deploy them to the distributed ledger of the blockchain platform, so as to achieve the purpose of security, transparency, tamper-proof, and efficient and fast execution. In this way, in actual applications, when the smart contract meets the triggering conditions, such as being triggered by the SD-WAN controller, it can be executed according to the predefined rules / policies and protocols, and the execution results obtained can be stored in the distributed ledger of the blockchain platform, and synchronized and updated to the distributed ledgers of other nodes of the distributed network built based on blockchain technology as needed to ensure data consistency.

[0174] For the above-mentioned distributed ledger, it is a ledger system based on blockchain technology, which allows multiple nodes of the above-mentioned distributed network to jointly maintain a ledger, that is, the distributed ledgers maintained by each node are kept in sync, and the Byzantine Fault Tolerance consensus algorithm (BFT) can be used to achieve the consistency of ledger data. Compared with the traditional consensus algorithm, when some nodes (which can be called Byzantine nodes) of the distributed network fail or the reliability and scalability of the system are destroyed due to malicious behavior, the BFT algorithm can also maintain the reliability and scalability of the distributed network, and reliably meet the data consistency requirements of each distributed ledger. This application does not elaborate on the implementation method of synchronizing its own distributed ledger update information to its own ledger copy and the distributed ledgers of other nodes for any node in the distributed network to keep the distributed ledger copies of all nodes synchronized. This application uses the security, immutability and transparency of distributed ledgers to meet data processing requirements. Among them, each node can verify the distributed ledger update information maintained by itself through a smart contract, add it to its own distributed ledger copy, and broadcast the update information to the entire distributed network to ensure the consistency of the distributed ledger.

[0175] Reference Figure 8 , is a flow chart of a software defined wide area network control method proposed in Embodiment 5 of the present application, which can be applied to a first network controller in a SD-WAN network, such as Figure 8 As shown, the method may include:

[0176] Step S81, receiving a data transmission request sent by a terminal device; the data transmission request includes data to be transmitted and sending and receiving identification information of the data to be transmitted;

[0177] Step S82, determining an input network access point and an output network access point of the data to be transmitted according to the sending and receiving identification information;

[0178] Combined with the description of the corresponding part of the first embodiment above, the transceiver identification information of the data to be transmitted may be the starting IP address and the ending IP address, which are used to respectively determine the input network access point and the output network access point of the data to be transmitted. In actual applications, the data to be transmitted in the data transmission request may be a data packet / message constructed according to the corresponding communication protocol, and the packet header information includes the target IP of the data packet, so that the first network controller determines the input / output network access point that matches the target IP according to the network configuration information of each deployed PoP node. The implementation process is not described in detail in this application. Optionally, according to the business needs in the application scenario, when sending a data transmission request, the input / output network access point may also be specified. At this time, the transceiver identification information may be the identification information of each of the specified input / output network access points, etc. This application does not limit the method for determining the input / output network access point of the data to be transmitted.

[0179] Step S83, selecting a plurality of intermediate network access points for implementing communication between the input network access point and the output network access point from the plurality of deployed network access points according to the node communication relationship among the plurality of deployed network access points;

[0180] Step S84, obtaining multiple performance indicators of node transmission links between the current input network access point, multiple intermediate network access points and the output network access point, and corresponding node communication relationships;

[0181] Regarding the method for determining the intermediate network access point and the method for obtaining multiple performance indicators of the node transmission link between each PoP node, as well as the meaning of the node communication relationship between different PoP nodes and the method for determining it, please refer to the description of the corresponding part of the above embodiment, which will not be described in detail in this embodiment.

[0182] Step S85, sending a plurality of performance indicators of node transmission links between an input network access point, a plurality of intermediate network access points and an output network access point for data to be transmitted and corresponding node communication relationships to the first network orchestrator;

[0183] Step S86, reading a target transmission path for the data to be transmitted stored in the first distributed ledger according to a smart contract in the first distributed ledger of the first network controller deployed by the blockchain platform;

[0184] Step S87, synchronously updating the target transmission path to the second distributed ledgers of the respective deployed multiple network access points, so that the input network access point transmits the data to be transmitted to the output network access point according to the target transmission path.

[0185] Regarding how the first network orchestrator determines the target transmission path corresponding to the minimum path cost based on the current network status information for the data to be transmitted, reference may be made to the description of the corresponding part of the above embodiment, which will not be elaborated in this embodiment.

[0186] In some embodiments, the components constituting the SD-WAN network, such as the network controller, the network orchestrator, and each PoP node, etc., can construct a corresponding distributed network based on blockchain technology, deploy a corresponding distributed ledger in the blockchain platform, and use the smart contract in the distributed ledger to automatically execute network configuration, status, and event processing. Based on this, the first network orchestrator can write the target transmission path for the data to be transmitted into the first distributed ledger of the first network controller, and the first network controller can verify the existence of update information in the first distributed ledger through the smart contract, that is, for the target transmission path of the data to be transmitted, the target transmission path for the data to be transmitted in the first distributed ledger can be read, and it can be synchronously updated to the second distributed ledger of each deployed PoP node, so that the PoP node belonging to the target transmission path can realize reliable and efficient transmission of the data to be transmitted based on the target transmission path in its own second distributed ledger.

[0187] At the same time, the first network controller can also synchronize the target transmission path for the data to be transmitted updated in the first distributed ledger to the first distributed ledger of other network controllers (which can be recorded as the second network controller) through the smart contract to ensure the consistency of the ledger data. It should be understood that the link status information and other network configuration information reported by each PoP node can also be written into the first distributed ledger, and according to the method described above, the first distributed ledgers of each network controller can be synchronized and updated with each other, so that each network controller can know the link status information of each deployed PoP node, so as to monitor the network abnormal event in any network controller, and it can process the network abnormal event according to the smart contract, obtain the corresponding event processing result, update the event processing result to the first distributed ledger, and synchronize the update to the first distributed ledger of other network controllers deployed on the blockchain platform and the second distributed ledger of each network access point.

[0188] In this case, the network controller that detects the abnormal network status event, especially during the transmission of the data to be transmitted, can promptly initiate a path adjustment request for the data to be transmitted, or re-initiate a data transmission request, and configure the PoP node where the current data to be transmitted is located as the input network access point in the request. If it fails, the input network access point can be reselected, and combined with its original output network access point or the re-determined network access point, according to the method described above, the network status information for the data to be transmitted can be re-determined, or the monitoring data can be sent to the corresponding network orchestrator to reselect the target transmission path for the data to be transmitted, that is, to provide a path optimization strategy for the target transmission path determined last time, etc., and then send it to the network controller to adjust the transmission path in time to achieve the transmission of the data to be transmitted. It should be understood that during the transmission of the data to be transmitted along the target transmission path, after real-time or continuous monitoring of the network status is normal, the target transmission path can be maintained for transmission.

[0189] It can be seen that the network controller can respond to network failures and performance degradation in a timely manner by real-time or continuous monitoring of the status of each network, and optimize and adjust the transmission path in a timely manner to ensure the reliability and efficiency of data transmission.

[0190] In some embodiments, when it is necessary to configure or adjust the entire network configuration, a corresponding network configuration request can be sent to the first network controller. After receiving the network configuration request, the first network controller can write the network configuration request into the first distributed ledger of the first network controller to respond to the network configuration request through a smart contract, write the obtained new network configuration data into the first distributed ledger, and synchronously update the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledger of each network access point to complete the network configuration or adjustment. Afterwards, the response to the data transmission request or network abnormal event can be implemented based on the latest network configuration data. The implementation process is similar, and this application does not give detailed examples one by one.

[0191] For PoP nodes deployed in different geographical locations (which can be multiple PoP nodes deployed across domains in the world, i.e., data centers established by various network service operators or enterprises in different regions), multiple performance indicators of the current link can be reported in a timely manner by communicating with the SD-WAN controller (i.e., the network controller). After the network controller responds to the data transmission request sent by the terminal device and determines the input network access point and the output network access point for requesting data transmission, each intermediate network access point that can realize communication from the input network access point to the output network access point, as well as the node communication relationship between these network access points and multiple performance indicators of the corresponding node transmission link can be sent to the SD-WAN orchestrator (i.e., the network orchestrator used to implement path selection).

[0192] A software-defined wide area network control method provided in an embodiment of the present application is introduced above, and a device for executing the above-mentioned software-defined wide area network control method will be introduced below.

[0193] Reference Fig. 9 , is a schematic diagram of the structure of a software-defined wide area network control device provided in the first embodiment of the present application. The software-defined wide area network control device can be applied to a first network scheduler, such as Fig. 9 As shown, the software-defined wide area network control device may include:

[0194] The network status information receiving module 91 is used to receive network status information for data to be transmitted; the network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission links, and the intermediate network access point is a network access point used to realize the communication between the input network access point and the output network access point;

[0195] A target path communication cost determination module 92 is used to determine a target path communication cost of transmitting the data to be transmitted from the input network access point to the output network access point based on the node communication relationship and multiple performance indicators of the node transmission link; the target path communication cost is the minimum path communication cost of each transmission path from the input network access point to the output network access point;

[0196] The target transmission path output module 93 is used to determine the transmission path corresponding to the minimum path communication cost from the input network access point to the output network access point as the target transmission path for the data to be transmitted, and output the target transmission path.

[0197] Optionally, the target path communication cost determination module 92 may include:

[0198] A first link communication cost obtaining unit, configured to obtain a link communication cost between two network access points under the corresponding node communication relationship according to a plurality of performance indicators of each node transmission link;

[0199] A first path communication cost obtaining unit is configured to gradually select, based on the node communication relationship, a next network access point to be communicated with by the input network access point, and iteratively accumulate the corresponding link communication costs to obtain a path communication cost of a first transmission path from the input network access point to the currently selected network access point;

[0200] a first path communication cost updating unit, configured to update the path communication cost of the first transmission path to the target path communication cost of the network access point selected this time if the path communication cost of the second transmission path from the input network access point to the network access point selected this time is greater than the path communication cost of the first transmission path; and terminate the selection operation of the next network access point if the target path communication cost of the output network access point selected this time is obtained.

[0201] Optionally, the target path communication cost determination module 92 may include:

[0202] A second link communication cost obtaining unit, configured to obtain a link communication cost between two network access points under the corresponding node communication relationship according to a plurality of performance indicators of each node transmission link;

[0203] The first selection unit is configured to select, based on the node communication relationship, the input network access point as the current processing node, and trigger the following units to iteratively execute:

[0204] a first determining unit, configured to determine a target path communication cost corresponding to each neighbor unprocessed node of the current processing node according to the path communication cost of the current processing node and the link communication cost between the current processing node and the neighbor unprocessed node; the neighbor unprocessed node refers to a network access point that directly communicates with the current processing node and is not selected as the current processing node, and the target path communication cost refers to the minimum path communication cost of each transmission path from the input network access point to the corresponding network access point through the determined processed node;

[0205] A second selection unit is used to determine the current processing node as a processed node, and select the neighboring unprocessed node with the minimum path communication cost from the neighboring unprocessed nodes with the determined target path communication cost to determine it as the next current processing node;

[0206] The second determining unit is configured to determine the output network access point as a processed node and terminate the processing step if the next current processing node is the output network access point.

[0207] Optionally, the first link communication cost obtaining unit and the second link communication cost obtaining unit may both include:

[0208] A communication weight determination subunit, configured to determine the communication weights of the plurality of performance indicators according to the network performance requirements of the application scenario of the data to be transmitted;

[0209] A link communication cost obtaining subunit is used to obtain a link communication cost between two network access points under the corresponding node communication relationship by using a plurality of performance indicators of each node transmission link and the communication weights of each of the plurality of performance indicators;

[0210] The higher the matching degree between the performance indicator and the network performance requirement, the greater the communication weight of the performance indicator.

[0211] Optionally, the target path communication cost determination module 92 may include:

[0212] a candidate transmission path determination unit, configured to determine each candidate transmission path existing from the input network access point to the output network access point according to the node communication relationship;

[0213] A third determining unit, configured to determine a path communication cost of the candidate transmission path according to a plurality of performance indicators of each of the node transmission links included in the same candidate transmission path;

[0214] The fourth determining unit is used to compare the path communication costs of the candidate transmission paths, determine the candidate transmission path corresponding to the minimum path communication cost as the target transmission path, and output the target transmission path.

[0215] Optionally, the target transmission path output module 93 may include:

[0216] An uploading unit, configured to upload the target transmission path for the data to be transmitted to a first distributed ledger of a first network controller deployed on a blockchain platform;

[0217] Among them, if there are multiple network orchestrators of the software-defined wide area network, communication is performed between the multiple network orchestrators deployed on the blockchain platform through smart contracts.

[0218] Reference Fig.10 , is a schematic diagram of the structure of a software-defined wide area network control device provided in Embodiment 2 of the present application. The software-defined wide area network control device can be applied to a first network controller, such as Fig.10 As shown, the software-defined wide area network control device may include:

[0219] The network status information determination module 101 is used to determine the current network status information for the data to be transmitted in response to the data transmission request from the terminal device; the network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission link;

[0220] A network status information sending module 102, configured to send the network status information for the data to be transmitted to the first network orchestrator;

[0221] The target transmission path receiving module 103 is used to receive the target transmission path for the data to be transmitted fed back by the first network orchestrator; the target transmission path is the transmission path corresponding to the minimum path communication cost for transmitting data from the input network access point to the output network access point via at least one of the intermediate network access points;

[0222] The control module 104 is used to control the corresponding network access point to transmit the data to be transmitted according to the target transmission path.

[0223] Optionally, the network status information determining module 101 may include:

[0224] A data transmission request receiving unit, configured to receive a data transmission request sent by a terminal device; the data transmission request includes data to be transmitted and sending and receiving identification information of the data to be transmitted;

[0225] a fifth determining unit, configured to determine an input network access point and an output network access point of the data to be transmitted according to the sending and receiving identification information;

[0226] A third selection unit is configured to select, from the plurality of deployed network access points, a plurality of intermediate network access points for implementing communication between the input network access point and the output network access point according to a node communication relationship among the plurality of deployed network access points;

[0227] The first acquisition unit is used to acquire multiple performance indicators of the node transmission links between the current input network access point, the multiple intermediate network access points and the output network access point, and the corresponding node communication relationship.

[0228] Optionally, the target transmission path receiving module 103 and the control module 104 may include:

[0229] A reading unit, configured to read a target transmission path for data to be transmitted stored in a first distributed ledger of the first network controller deployed on a blockchain platform according to a smart contract in the first distributed ledger;

[0230] The synchronous updating unit is used to synchronously update the target transmission path to the second distributed ledgers of the respective deployed multiple network access points, so that the input network access point transmits the data to be transmitted to the output network access point according to the target transmission path.

[0231] Optionally, the software defined wide area network control device may further include at least one of the following modules:

[0232] A network anomaly processing module, used to detect a network anomaly event, process the network anomaly event according to the smart contract, obtain a corresponding event processing result, update the event processing result to the first distributed ledger, and synchronously update the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledger of each network access point;

[0233] The network configuration processing module is used to receive a network configuration request, write the network configuration request into the first distributed ledger of the first network controller, respond to the network configuration request through the smart contract, write the obtained new network configuration data into the first distributed ledger, and synchronously update the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledger of each network access point.

[0234] An embodiment of the present application also provides a computer program product, including computer program instructions. When the computer program instructions are executed on an electronic device, the electronic device implements any software-defined wide area network control method provided in the embodiment of the present application.

[0235] A computer-readable storage medium is also provided in an embodiment of the present application. The storage medium carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any software-defined wide area network control method provided in the embodiment of the present application.

[0236] In practical applications, when loading and executing computer program instructions on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer program instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

[0237] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.

[0238] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0239] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. In this specification, each embodiment is described in a progressive or parallel manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. For the device and system disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

Claims

1. A software defined wide area network control method, applied to a first network orchestrator of a software defined wide area network, the method comprising: receiving network status information for data to be transmitted; The network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission links, wherein the intermediate network access point is a network access point used to realize the communication between the input network access point and the output network access point; Determining a target path communication cost for transmitting the data to be transmitted from the input network access point to the output network access point according to the node communication relationship and a plurality of performance indicators of the node transmission link; The target path communication cost is the minimum path communication cost of each transmission path from the input network access point to the output network access point; A transmission path corresponding to the minimum path communication cost from the input network access point to the output network access point is determined as a target transmission path for the data to be transmitted, and the target transmission path is output.

2. The method according to claim 1, wherein determining the target path communication cost of transmitting the data to be transmitted from the input network access point to the output network access point based on the node communication relationship and multiple performance indicators of the node transmission link comprises: According to a plurality of performance indicators of transmission links of each of the nodes, a link communication cost between two network access points under the corresponding node communication relationship is obtained; According to the node communication relationship, starting from the next network access point of the input network access point communication, the corresponding link communication costs are iteratively accumulated to obtain the path communication cost of the first transmission path from the input network access point to the currently selected network access point; If the path communication cost of the second transmission path from the input network access point to the currently selected network access point is greater than the path communication cost of the first transmission path, updating the path communication cost of the first transmission path to the target path communication cost of the currently selected network access point; If the target path communication cost of the output network access point selected this time is obtained, the operation of selecting the next network access point is terminated.

3. The method according to claim 1, wherein determining the target path communication cost of transmitting the data to be transmitted from the input network access point to the output network access point based on the node communication relationship and multiple performance indicators of the node transmission link comprises: According to a plurality of performance indicators of transmission links of each of the nodes, a link communication cost between two network access points under the corresponding node communication relationship is obtained; According to the node communication relationship, starting from the input network access point, a current processing node is selected, and the following processing steps are iteratively performed: Determining a target path communication cost corresponding to each neighbor unprocessed node of the current processing node according to the path communication cost of the current processing node and the link communication cost between the current processing node and the neighbor unprocessed node; the neighbor unprocessed node refers to a network access point that directly communicates with the current processing node and is not selected as the current processing node, and the target path communication cost refers to the minimum path communication cost of each transmission path from the input network access point to the corresponding network access point through the determined processed node; Determine the current processing node as a processed node, and select the neighboring unprocessed node with the minimum path communication cost from the neighboring unprocessed nodes with the determined target path communication cost to determine it as the next current processing node; If the next currently processed node determined is the output network access point, the output network access point is determined as a processed node, and the processing step is terminated.

4. The method according to claim 2 or 3, wherein obtaining the link communication cost between two network access points under the corresponding node communication relationship based on the multiple performance indicators of each node transmission link comprises: Determining the communication weights of the plurality of performance indicators according to the network performance requirements of the application scenario of the data to be transmitted; Using a plurality of performance indicators of transmission links of each of the nodes and respective communication weights of the plurality of performance indicators, a link communication cost between two network access points under the corresponding node communication relationship is obtained; The higher the matching degree between the performance indicator and the network performance requirement, the greater the communication weight of the performance indicator.

5. The method according to claim 1, wherein determining the target path communication cost of transmitting the data to be transmitted from the input network access point to the output network access point based on the node communication relationship and multiple performance indicators of the node transmission link comprises: Determine, according to the node communication relationship, each candidate transmission path existing from the input network access point to the output network access point; Determining the path communication cost of the candidate transmission path according to multiple performance indicators of each of the node transmission links included in the same candidate transmission path; The path communication costs of the candidate transmission paths are compared, and the candidate transmission path corresponding to the minimum path communication cost is determined as the target transmission path, so as to output the target transmission path.

6. The method according to claim 1, wherein outputting the target transmission path comprises: Uploading the target transmission path for the data to be transmitted to a first distributed ledger of a first network controller deployed on a blockchain platform; Among them, if there are multiple network orchestrators of the software-defined wide area network, communication is performed between the multiple network orchestrators deployed on the blockchain platform through smart contracts.

7. A software defined wide area network control method, applied to a first network controller of a software defined wide area network, the method comprising: In response to a data transmission request from a terminal device, determining current network status information for data to be transmitted; The network status information includes the node communication relationship between the input network access point of the data to be transmitted, multiple intermediate network access points and the output network access point, and multiple performance indicators of the corresponding node transmission links; Sending the network status information for the data to be transmitted to the first network orchestrator; receiving a target transmission path for the data to be transmitted fed back by the first network orchestrator; the target transmission path is a transmission path corresponding to a minimum path communication cost for transmitting data from the input network access point to the output network access point via at least one of the intermediate network access points; According to the target transmission path, the corresponding network access point is controlled to realize the transmission of the data to be transmitted.

8. The method according to claim 7, wherein, in response to a data transmission request from a terminal device, determining current network status information for data to be transmitted comprises: Receiving a data transmission request sent by a terminal device; The data transmission request includes the data to be transmitted and the sending and receiving identification information of the data to be transmitted; Determining an input network access point and an output network access point of the data to be transmitted according to the receiving and sending identification information; According to the node communication relationship of the multiple deployed network access points, select multiple intermediate network access points from the multiple deployed network access points for realizing communication between the input network access point and the output network access point; A plurality of performance indicators of node transmission links between the current input network access point, the plurality of intermediate network access points and the output network access point and the corresponding node communication relationships are obtained.

9. The method according to claim 7, wherein the receiving the target transmission path for the data to be transmitted fed back by the first network orchestrator and controlling the corresponding network access point to transmit the data to be transmitted according to the target transmission path comprises: According to a smart contract in a first distributed ledger of the first network controller deployed on a blockchain platform, read a target transmission path for data to be transmitted stored in the first distributed ledger; The target transmission path is synchronously updated to the second distributed ledgers of the respective deployed multiple network access points, so that the input network access point transmits the data to be transmitted to the output network access point according to the target transmission path.

10. The method according to claim 9, further comprising at least one of the following: A network abnormality event is detected, the network abnormality event is processed according to the smart contract, a corresponding event processing result is obtained, the event processing result is updated to the first distributed ledger, and the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledger of each network access point are synchronously updated; Receive a network configuration request, write the network configuration request into the first distributed ledger of the first network controller, respond to the network configuration request through the smart contract, write the obtained new network configuration data into the first distributed ledger, and synchronously update the first distributed ledger of the second network controller deployed on the blockchain platform and the second distributed ledgers of each network access point.

Citation Information

Patent Citations

  • Flow transmission method, server and storage medium

    CN112511433A

  • Air-space-ground integrated network communication method and device

    CN118337687A

  • Intelligent power communication fault diagnosis method and system

    CN118842733A

  • Routing method for wireless mesh networks and wireless mesh network system using the same

    US20120134347A1

Cited By

  • Main and standby AC synchronization method and device and electronic equipment

    CN120529403A

  • Intelligent global cloud live broadcast system based on AI and multi-operator and multi-cloud optimization

    CN120640020A

  • Network resource allocation method and device, equipment, storage medium and program product

    CN120856663A

  • Network resource allocation method, apparatus, device, storage medium, and program product

    CN120856663B