A system and method for load balancing in a software-defined wireless sensor network
Patent Information
- Authority / Receiving Office
- TW · TW
- Patent Type
- Applications
- Current Assignee / Owner
- CLOUD NETWORK TECH SINGAPORE PTE LTD
- Filing Date
- 2025-01-23
- Publication Date
- 2026-08-01
Smart Images

Figure TWG2TA001069892_001 
Figure TWG2TA001069892_002 
Figure TWG2TA001069892_003
Abstract
Description
[Technical Field]
[0001] This invention relates to the field of wireless communication technology, and more particularly to a load balancing method and system for a software-defined wireless sensor network. [Previous Technology]
[0002] With the widespread application of wireless sensor networks, application scenarios with high data throughput and multiple data types are gradually increasing. However, the routing methods of traditional sensor networks require the participation of sensor nodes, which affects the lifespan of sensor nodes, which already have limited energy.
[0003] In order to effectively manage the transmission paths of wireless sensor networks and thus improve the lifespan of sensor nodes, Software-Defined Networking (SDN) technology has been applied to wireless sensor networks, resulting in increasing attention to Software-Defined Wireless Sensor Networks (SDN). Although SDN can improve the lifespan of sensor nodes by balancing traffic in the wireless sensor network through algorithms, current algorithms cannot handle the problem of sudden large-scale path changes caused by sensor node failures, which can overload the SDN controller.
[0004] Therefore, there is a need for a load balancing method and system for software-defined wireless sensor networks that can effectively balance the load of SDN controllers, avoid overloading of a single SDN controller, and improve the stability and reliability of software-defined wireless sensor networks. [Summary of the Invention]
[0005] The main objective of this invention is to provide a load balancing system and method for software-defined wireless sensor networks, which can effectively balance the load status of the controller and avoid the problem of sudden overload of the controller caused by sudden large-scale path changes due to node failure, thereby improving the stability and reliability of the network.
[0006] This invention provides a load balancing system for a software-defined wireless sensor network, including a gateway, a first controller, and a second controller. The gateway connects to multiple nodes, and the gateway and the multiple nodes have multiple transmission paths. The first controller manages the gateway and detects the load on the multiple transmission paths. When the ratio of overloaded multiple transmission paths exceeds a ratio threshold, an overload warning message is issued. The second controller connects to the first controller and receives the overload warning message, so as to add the first controller that issued the overload warning message to a watchlist and stop transferring new gateways to the first controller in the watchlist for management.
[0007] In this embodiment, the second controller further receives load information from the first controller. When the load information of the first controller exceeds the load threshold, the first controller is added to the high load list. When the load information of the first controller is below the load threshold, the first controller is added to the low load list.
[0008] In this embodiment, the second controller selects the gateway with the highest load managed by the first controller in the high load list; estimates the highest load gateway and connects the connection quality assessment value of each first controller in the low load list; and transfers the highest load gateway to the first controller with the highest connection quality assessment value for management.
[0009] In this embodiment, the second controller further uses an evaluation value equation to estimate the connection quality evaluation value. The evaluation value equation is as follows: , is the connection quality evaluation value, and is the weight, is the load limit of the first controller, is the load value of one of the first controllers in the low load list, and is the number of relay points from the highest load gateway to one of the first controllers in the low load list.
[0010] In this embodiment, the first controller further adjusts the reporting frequency of the load message to the second controller. The reporting frequency is adjusted according to the reporting frequency equation, which is as follows: , where is the reporting frequency, and is the time point, expressed as the following equation: , where is the packet quantity output by the first controller, where is the packet quantity input by the first controller, and where is the total number of packets input and output by the first controller.
[0011] The present invention further provides a load balancing method for a software-defined wireless sensor network, comprising the following steps: a first controller detects the load of a gateway and multiple transmission paths of multiple nodes. When the ratio of overloaded multiple transmission paths exceeds a ratio threshold, the first controller issues an overload warning message. Upon receiving the overload warning message, a second controller adds the first controller to a watchlist and stops transferring new gateways to the first controller in the watchlist for management.
Implementation Method
[0012] In order to facilitate those skilled in the art to understand and implement the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the embodiments described herein are only for illustration and explanation of the present invention and are not intended to limit the present invention.
[0013] The present invention is a load balancing system and method for software-defined wireless sensor networks, which can avoid the problem of controller overload caused by sudden large-scale path changes due to sensor node failure in software-defined networking (SDN) architecture, which requires the controller with high load to bear a large amount of additional path adjustment work.
[0014] The SDN architecture includes an infrastructure layer, a control layer, and an application layer. The infrastructure layer includes gateways belonging to edge devices and sensor nodes or routing nodes belonging to terminal devices. The gateways serve as a bridge between the upper control layer and the lower terminal devices. The gateways can communicate with the lower terminal devices wirelessly, and simultaneously transmit data with the upper control layer cloud devices using traditional wired communication methods.
[0015] The control layer defines the controller for the cloud device network. The controller can sense the status of all nodes in the network to make corresponding decisions and control the operation of the network. The controller is implemented using cloud resources, and the network management mechanism and security management mechanism are deployed in the control layer.
[0016] The application layer is based on the cloud data server and meets the needs of different application scenarios by writing corresponding applications.
[0017] Please refer to Figure 1 to illustrate the system architecture of this embodiment. The system in this embodiment mainly applies the control layer and infrastructure layer of the SDN architecture to the management of wireless sensing nodes. As shown in Figure 1, the load balancing system 1 includes a plurality of nodes 12, 12', gateways 14, 14', first controllers 16, 16', and a second controller 20, which are sequentially connected in communication. It should be noted that Figure 1 is merely an example and should not be construed as a limitation of the present invention. For example, the number of gateways 14 connected to the first controller 16 can also be plurality; more first controllers 16, 16' can also be deployed.
[0018] The aforementioned multiple nodes 12, 12' and gateways 14, 14' are classified as the infrastructure layer in the SDN architecture. The first controllers 16, 16' and the second controller 20 are classified as the control layer in the SDN architecture. The second controller 20 can communicate with the data server (not shown in Figure 1) in the application layer (not shown in Figure 1) via wired or wireless means.
[0019] In this embodiment, the plurality of nodes 12 and 12' include sensor nodes and router nodes. Taking the Industrial Internet of Things (IIoT) as an example, when the plurality of nodes 12 and 12' are sensor nodes, they can be installed on robotic arms, conveyor belts, products, etc., to monitor the robotic arms, conveyor belts, products, etc., and generate sensing data. The sensor nodes can directly transmit the sensing data to the gateways 14 and 14'. The sensor nodes can also transmit the sensing data to the neighboring router nodes, and then transmit it to the gateways 14 and 14' through the router nodes. In this embodiment, the router nodes are used to relay data between the plurality of sensor nodes and the gateways 14 and 14', and at the same time receive routing rules from the first controllers 16 and 16' to ensure that the data flow takes the optimal path. The router nodes are also used to monitor the status of themselves and neighboring nodes, such as path load, and report to the first controllers 16 and 16' to receive routing configuration instructions.
[0020] Gateways 14 and 14' can be devices such as modems, hubs, bridges, or switches. Gateways 14 and 14' are communicatively connected between multiple nodes 12 and 12' and the first controllers 16 and 16', enabling the integration of heterogeneous wireless sensor networks and SDN network architectures. In this embodiment, gateways 14 and 14' are used to forward data packets to designated paths according to the flow table rules issued by the first controllers 16 and 16', and simultaneously receive instructions from the first controllers 16 and 16' to reconfigure data flow paths, thereby reducing the pressure on high-load nodes.
[0021] In this embodiment, to adapt to application scenarios with a large number of nodes or a wide distribution range, a complex controller architecture is adopted, namely, first controllers 16 and 16'. First controllers 16 and 16' can be deployed in locations geographically close to the complex nodes 12 and 12' to reduce communication latency between the complex nodes 12 and 12' and the first controllers 16 and 16'. First controllers 16 and 16' are responsible for managing the complex nodes 12 and 12' and the gateways 14 and 14', respectively, and form control domains 10 and 10'.
[0022] The first controllers 16 and 16' are used to manage the network topology and routing tables within their control domains 10 and 10', calculate the optimal route based on network information, and distribute the flow table to the gateways 14 and 14'. At the same time, the first controllers 16 and 16' are also used to dynamically adjust the route based on the real-time status of the multiple nodes 12 and 12' to avoid overloading of a single node.
[0023] The second controller 20 is used to coordinate the first controllers 16 and 16' to achieve dynamic load balancing. For example, when the load on the first controller 16 is too high, the gate 14 can be dynamically migrated to the first controller 16' with a lower load.
[0024] To improve system stability and reliability, it is necessary to avoid situations where a single controller may experience instantaneous overload. For example, taking control domain 10 as an example, when one of the multiple nodes 12 fails, it may cause neighboring nodes to frequently report abnormal states to the gateway 14 and the first controller 16, such as link interruptions or data transmission failures, increasing the communication load on the first controller 16. At the same time, the first controller 16 also needs to send updated flow table rules to the gateway 14 or router nodes, further increasing the communication requirements of the first controller 16. Especially in scenarios where multiple nodes 12 form a large-scale wireless sensor network, frequent node failures may also increase the frequency of topology updates, causing the first controller 16 to experience instantaneous overload.
[0025] To achieve dynamic load balancing between the first controller 16 and the first controller 16', please refer to Figure 2, which shows a flowchart of the load balancing method executed by the first controllers 16 and 16'. The explanation of the steps in the flowchart is based on the first controller 16 as an example, and the same applies to the first controller 16', so it will not be repeated here.
[0026] As shown in step S10, the first controller 16 estimates the load of the complex transmission path between the gate 14 and the complex nodes 12.
[0027] For example, the first controller 16 can estimate the load of the complex transmission path based on the topology of the control domain 10 it maintains, combined with the flow statistics of the gateway 14 and the complex nodes 12.
[0028] In one example, the load of each transmission path can be calculated according to the following formula: Transmission path load, where the node load is the amount of data processed by the node on the transmission path or the remaining energy of the node; the link load is the data rate of communication between nodes or the remaining energy.
[0029] Next, proceeding to step S12, when the first controller 16 detects that the percentage of overloaded transmission paths exceeds the ratio threshold, the first controller 16 sends an overload warning message to the second controller 20. For example, an overload situation may occur when the bandwidth utilization of the transmission path has reached 90%, which is considered an overload condition. The ratio threshold is, for example, 75%. When the percentage of overloaded transmission paths to the total number of transmission paths is 76%, it indicates that the ratio threshold has been exceeded, and at this time, the first controller 16 sends an overload warning message to the second controller 20. The overload warning message may contain the identification information of the first controller 16 itself, providing the second controller 20 with confirmation that the overload warning message was issued by the first controller 16.
[0030] Next, proceed to step S14. After receiving the overload warning message, the second controller 20 confirms the first controller 16 that issued the overload warning message based on the identity information and adds the first controller 16 that issued the overload warning message to the observation list. If load balancing is started in the future, the transfer of the new gateway 14 to the first controller 16 in the observation list can be stopped.
[0031] The above method prevents the second controller 20 from transferring new gateways to the first controller 16 in the watchlist when the system starts load balancing, thus avoiding instantaneous overload of the first controller 16. For example, if it is necessary to migrate gateway 14' managed by the first controller 16', the second controller 20 will not migrate gateway 14' to the first controller 16 for management, avoiding the first controller 16 from issuing additional updated flow table rules to gateway 14' or router nodes, which would increase workload and cause overload of the first controller 16.
[0032] In addition to the aforementioned observation list, the second controller 20 further includes maintaining a high-load list and a low-load list. The second controller 20 can classify the first controllers 16 and 16' into the high-load list and low-load list based on their load status. During subsequent load balancing, the second controller 20 can quickly select the first controllers 16 and 16' from the low-load list that can have their load increased. The classification method is explained below.
[0033] In this embodiment, there are multiple control domains 10 and 10'. The first controllers 16 and 16' in each control domain 10 and 10' periodically send load information to the second controller 20. The load information includes the processor utilization rate of the first controllers 16 and 16', the total number of packets processed by the first controllers 16 and 16', and the identity information of the first controllers 16 and 16'. After receiving the load information, the second controller 20 can determine which first controller 16 or 16' the load information belongs to, based on the identity information in the load information, and can also determine the load status of the first controllers 16 and 16' based on the processor utilization rate and the total number of packets processed in the load information.
[0034] In this embodiment, the first controllers 16 and 16' can also adjust the reporting frequency of the load information to the second controller 20. In one example, the reporting frequency will increase as the load of at least one of the first controllers 16 and 16' increases.
[0035] In one example, the report frequency can be adjusted primarily based on the packet volume processed by the first controllers 16 and 16'. The report frequency can be adjusted according to the report frequency equation, which is as follows: is the report frequency, is the time point, and is expressed as the following equation: , is the packet volume output by the first controllers 16 and 16', is the packet volume input by the first controllers 16 and 16', and is the total number of packets input and output by the first controllers 16 and 16'.
[0036] After receiving the load message, the second controller 20 can classify the first controllers 16 and 16' of the multiple network control domains 10 and 10' according to the load message. The second controller 20 can receive the load messages of the first controllers 16 and 16' within the same time period, such as one second. When the load message of the first controller 16 exceeds the load threshold, the second controller 20 adds the first controller 16 to the high load list. When the load message of the first controller 16' is lower than the load threshold, the second controller 20 adds the first controller 16' to the low load list. For example, the load threshold includes the processor utilization threshold and the total number of packets processed threshold. For example, the processor utilization threshold is set to 90%, and the total number of packets processed threshold is set to 8333 packets / second. When the processor utilization and the total number of packets processed in the load message are both greater than the processor utilization threshold and the total number of packets processed threshold, or greater than one of them, the load threshold is defined as exceeding the load threshold. When the processor utilization and the total number of packets processed for the load message are both lower than the processor utilization threshold and the total number of packets threshold, it is defined as being below the load threshold.
[0037] After classifying the first controllers 16 and 16' of the complex control domains 10 and 10', the second controller 20 can quickly determine which first controllers 16 and 16' are under high load and which are under low load. This classification is beneficial for the second controller 20 to allocate the load of the first controllers 16 and 16' when performing load balancing adjustments.
[0038] Please refer to Figures 1 and 3 to illustrate the load balancing method performed by the second controller 20. In this embodiment, the first controller 16 of control domain 10 is classified in the high-load list and is the first controller 16 with the highest load. The first controller 16' of control domain 10' is classified in the low-load list. In this embodiment, the number of first controllers 16 in the high-load list can be multiple. The number of first controllers 16' in the low-load list can also be multiple.
[0039] Proceeding to step S20, the second controller 20 selects a plurality of first controllers 16 from the high-load list. The second controller 20 then selects the gateway 14 managed by each of the aforementioned first controllers 16 that has the highest load. The gateway with the highest load can be determined based on the packet processing volume of the gateway 14 and the processing volume of the processor of the gateway 14. The higher the packet processing volume and the processing volume of the processor, the higher the load.
[0040] Next, proceeding to step S22, the second controller 20 estimates the connection quality assessment value of the highest load gateway 14 managed by each first controller 16 connecting to each first controller 16' in the low load list. In this embodiment, for example, there are ten first controllers 16' in the low load list. When estimating the connection quality assessment value, the second controller 20 estimates the connection quality between each highest load gateway 14 and the ten first controllers 16' one by one, and each highest load gateway 14 will generate ten corresponding connection quality assessment values.
[0041] The connection quality assessment value can be estimated using the assessment value equation, which is as follows: , is the connection quality assessment value, and is the weight, is the upper limit of the load of the first controller 16', is the load value of one of the first controllers 16' in the low load list, and is the number of relay points from the highest load gateway to one of the first controllers in the low load list.
[0042] After calculating the connection quality assessment value of each highest load gateway 14, proceed to step S24. The second controller 20 selects the first controller 16' with a high connection quality assessment value among the ten connection quality values corresponding to the highest load gateway 14, so as to transfer each highest load gateway 14 to the first controller 16 with the highest connection quality assessment value for management, thereby completing the movement of the gateway 14 in load balancing.
[0043] As described above, the present invention can effectively balance the load of the controller in the network, avoid the overload of the controller, and improve the stability and reliability of the network system.
[0044] In summary, the present invention meets the requirements for an invention patent, and therefore a patent application is filed in accordance with the law. However, the above description is only a preferred embodiment of the present invention, and the scope of the present invention is not limited to the described embodiments. All equivalent modifications or variations made by those skilled in the art in accordance with the spirit of the present invention should be covered within the scope of the following patent application. [Simplified Explanation of the Diagram]
[0045] Figure 1 is an architecture diagram of the load balancing system according to an embodiment of the present invention. Figure 2 is a flowchart of the load balancing method according to an embodiment of the present invention. Figure 3 is a flowchart of the steps for migrating the load of a high-load controller according to an embodiment of the present invention. [Biomaterial Storage]
[0047] None
Claims
1. A load balancing system for a software-defined wireless sensor network, comprising: At least one gateway connects to a plurality of nodes, the at least one gateway having a plurality of transmission paths with the nodes; at least one first controller manages the at least one gateway and detects the load of the transmission paths, issuing an overload warning message when the ratio of overloaded transmission paths exceeds a ratio threshold; and a second controller connects to the at least one first controller, receives the overload warning message, adds the at least one first controller that issued the overload warning message to a watchlist, and stops transferring new gateways to the at least one first controller in the watchlist; wherein the second controller further receives load information from the at least one first controller, and the at least one first controller further adjusts the reporting frequency of the load information to the second controller, the reporting frequency being adjusted according to a reporting frequency equation, the reporting frequency equation being as follows: , where is the reporting frequency, is the time point, and is expressed as the following equation: , where is the packet quantity output by the at least one first controller, is the packet quantity input by the at least one first controller, and is the total number of packets input and output by the at least one first controller.
2. The load balancing system for the software-defined wireless sensor network as described in claim 1 further includes adding the at least one first controller to a high-load list when the load information of the at least one first controller exceeds a load threshold; and adding the at least one first controller to a low-load list when the load information of the at least one first controller is below the load threshold.
3. A load balancing system for a software-defined wireless sensor network as described in claim 2, wherein the second controller selects the at least one gateway with the highest load managed by the at least one first controller in the high-load list; estimates the connection quality assessment value of the at least one gateway with the highest load to each of the at least one first controller in the low-load list; and transfers the at least one gateway with the highest load to the at least one first controller having the highest connection quality assessment value.
4. A load balancing system for a software-defined wireless sensor network as described in claim 3, wherein the second controller further estimates the connection quality assessment value using an evaluation value equation, the evaluation value equation being as follows: where is the connection quality assessment value, and are weights, is the load limit value of the at least one first controller, is the load value of one of the at least one first controllers in the low load list, and is the number of relay points from the at least one gateway with the highest load to one of the at least one first controllers in the low load list.
5. A load balancing method for a software-defined wireless sensor network, comprising the following steps: at least one first controller detects the load of at least one gateway and multiple transmission paths of multiple nodes; when the ratio of overloaded transmission paths exceeds a ratio threshold, the at least one first controller issues an overload warning message; a second controller receives the overload warning message, adds the at least one first controller to a watchlist, and stops transferring new gateways to the at least one first controller in the watchlist for management; wherein, The second controller also receives load information from the at least one first controller. The at least one first controller adjusts the reporting frequency of the load information to the second controller through the reporting frequency equation. The reporting frequency equation is as follows: , where is the reporting frequency, is the time point, and is expressed as the following equation: , where is the packet quantity output by the at least one first controller, is the packet quantity input by the at least one first controller, and is the total number of packets input and output by the at least one first controller.
6. The software-defined wireless sensor network load balancing method as described in claim 5 further includes: When the load message of the at least one first controller exceeds the load threshold, the at least one first controller is added to the high load list; when the load message of the at least one first controller is below the load threshold, the at least one first controller is added to the low load list.
7. The software-defined wireless sensor network load balancing method as described in claim 6 further includes: The second controller selects the at least one gateway in the high-load list that manages the highest load; Estimate the connection quality assessment value of the at least one gateway with the highest load, connecting each of the at least one first controller in the low load list; and transfer the at least one gateway with the highest load to the at least one first controller with the highest connection quality assessment value for management.
8. The load balancing method for a software-defined wireless sensor network as described in claim 7, wherein the step of estimating the connection quality assessment value further includes estimating the connection quality assessment value using an assessment value equation, the assessment value equation being as follows: where is the connection quality assessment value, and are weights, is the upper limit of the load of the at least one first controller, is the load value of one of the at least one first controllers in the low load list, and is the number of relay points from the at least one gateway with the highest load to one of the at least one first controllers in the low load list.