CN113630330B - Multi-controller load balancing method and system for software defined network - Google Patents

Multi-controller load balancing method and system for software defined network Download PDF

Info

Publication number
CN113630330B
CN113630330B CN202110927356.XA CN202110927356A CN113630330B CN 113630330 B CN113630330 B CN 113630330B CN 202110927356 A CN202110927356 A CN 202110927356A CN 113630330 B CN113630330 B CN 113630330B
Authority
CN
China
Prior art keywords
alternative
switch
controller
load
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110927356.XA
Other languages
Chinese (zh)
Other versions
CN113630330A (en
Inventor
王东滨
智慧
时金桥
郝志宇
张宇
陆月明
郭昆
吴东哲
甄子旺
李欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110927356.XA priority Critical patent/CN113630330B/en
Publication of CN113630330A publication Critical patent/CN113630330A/en
Application granted granted Critical
Publication of CN113630330B publication Critical patent/CN113630330B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The invention discloses a load balancing method and a system for multiple controllers of a software defined network, wherein the method comprises the following steps: calculating a load difference value between an overload controller with load exceeding a threshold value and an average load of all controllers; taking each edge switch managed by the overload controller as an alternative switch set, and taking each adjacent controller as an alternative controller to form each alternative set, and repeatedly adding the switch which is most in transmission new flow number among all switches in the alternative switch set and is directly connected into the alternative switch set to form a newly added alternative set until the sum of loads of all switches in the alternative switch set requesting the overload controller to calculate a new flow path is smaller than the load difference value; and (3) a group of alternative sets which have no intersection among the selected alternative sets of switches and minimize the load variance of all controllers, wherein the switches in the alternative sets of switches in the selected alternative sets are changed to be managed by the alternative controllers in the selected alternative sets.

Description

Multi-controller load balancing method and system for software defined network
Technical Field
The present invention relates to the field of computer networks, and in particular, to a method and a system for balancing loads of multiple controllers in a software defined network.
Background
The software defined network decouples the control layer from the forwarding layer, and the controller of the control plane mainly completes calculation and control of network data message forwarding paths and issues a flow table to the switch of the data plane. The switch of the data plane forwards the data according to the flow table issued by the controller. The software defined network provides a programmable interface, and a network manager can configure the network according to specific services by a programming mode, so that the network is flexibly managed. With the development of cloud computing and big data, the network scale is unprecedented to increase, and the performance problem of a software defined network control layer is more and more emphasized by researchers. For small networks, a single controller is typically used to centrally control the entire network. The number of switch nodes in the wide area network is large, a large number of new flows simultaneously flow into each switch, and the single controller has limited processing capacity and cannot timely process a large number of calculation new flow path requests sent by forwarding equipment, so that a multi-controller architecture deployment software defined network is adopted in the wide area network. The problem of load distribution imbalance among multiple controllers is easily caused in a network with dynamically changed flow: the speed of processing the switch request is slowed down due to overhigh load of part of controllers, so that the time delay of sending a new stream from a client to a server is seriously influenced, and the performance of a network is reduced; while some controllers are in idle state, resources are severely wasted.
The existing load balancing method for multiple control of the software defined network mainly adopts that part of switches managed by an overload switch are migrated to other controllers for management, but the load balancing degree among all controllers of the migrated software defined network is not fully considered. The multi-controller load balancing for the load balancing degree among all controllers of the software defined network has important research significance and practical value.
Disclosure of Invention
In order to solve the above problems, an embodiment of the present invention provides a method for balancing loads of multiple controllers in a software defined network.
In a first aspect, an embodiment of the present invention provides a method for load balancing multiple controllers in a software defined network, including: for an overload controller which calculates that the load of a new flow path exceeds a threshold value, calculating a load difference value of the average load of the overload controller and all controllers; considering each edge switch managed by the overload controller as an alternative switch set and each alternative set formed by each controller adjacent to the edge switch as an alternative controller, if all switches in the alternative switch set request to the overload controller to calculate a load sum of new flow paths to be smaller than the load difference value, adding the switch which is managed by the overload controller and is directly connected with all switches in the alternative switch set and has the largest transmission new flow number into the alternative switch set to form a new alternative set, and repeating the new alternative set process until all switches in the alternative switch set of the new alternative set request to the overload controller to calculate the load sum of new flow paths to be not smaller than the load difference value; selecting a group of alternative sets from all the alternative sets, so that no intersection exists among the alternative switch sets of the selected alternative sets, the load variance of all controllers is minimum when the switches in the alternative switch sets migrate to be managed by the alternative controllers in the alternative sets, and the load of the alternative controllers does not exceed a threshold value; migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives.
Further, each controller adjacent to the edge switch includes:
the edge switch is connected with the switches managed by each adjacent controller by links.
Further, migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives, comprising:
and when a new flow arrives, the switch does not send a request for calculating a new flow path to the overload controller but to the alternative controller, the alternative controller calculates the new flow path and issues a flow rule to the switch.
Further, the method may further comprise one or more of:
the software defined network root controller calculates the loads of all other controllers, calculates and selects a group of alternative sets with the smallest load variance, and completes migration of the switches in the alternative switch sets of the selected alternative sets to be managed by the alternative controllers in the selected alternative sets;
the software defined network controller transmits the load to other controllers, one of the controllers calculates and selects an alternative set which minimizes the load variance, and migration of the switches in the alternative switch set of the selected alternative set to be managed by the alternative controllers in the selected alternative set is completed.
In a second aspect, an embodiment of the present invention provides a software defined network multi-controller load balancing system, including: the load calculation module is used for calculating the load of the software defined network controller; a migration selection module, configured to generate an alternative set based on an edge switch managed by the overload controller, and calculate and select a group of alternative sets that minimizes a load variance; and the migration module is used for migrating the switches in the alternative switch set in the selected alternative set to the alternative controller management in the selected alternative set.
Further, the software defined network multi-controller load balancing system further comprises:
and the load transmission module is used for transmitting the load of the software defined network controller.
In a third aspect, an embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor executes the program to implement the steps of the method for load balancing multiple controllers in a software defined network according to the first aspect of the present invention.
In a fourth aspect, embodiments of the present invention provide a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the software defined network multi-controller load balancing method of the first aspect of the present invention.
The embodiment of the invention provides a method and a system for balancing loads of multiple controllers of a software defined network, which are used for calculating overload controllers for calculating loads of new flow paths exceeding a threshold value and load difference values of average loads of the overload controllers and all controllers. And forming an alternative set by taking each edge switch managed by the overload controller as an alternative switch set and taking each controller adjacent to the edge switch as an alternative controller. Considering each alternative set, if the sum of the loads of all the alternative switches in the alternative set for requesting to calculate the new flow path is smaller than the load difference value of the overload controller, merging the switch which is most in number of new flow transmission among all the alternative switches in the alternative set and is directly connected with the alternative switch set into a newly added alternative set, and repeating the new alternative set process until the sum of the loads of all the switches in the alternative switch set in the newly added alternative set for requesting to calculate the new flow path to the overload controller is not smaller than the load difference value. And migrating the switches in the alternative switch sets of the selected alternative set to be managed by the alternative controllers in the selected alternative set, so that the load of the overload controller is reduced, and the load balance among multiple controllers of the software-defined network is realized.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a load balancing method for multiple controllers of a software defined network according to an embodiment of the present invention;
FIG. 2 is a block diagram of a load balancing system of a software defined network multi-controller according to an embodiment of the present invention;
fig. 3 is a schematic entity structure diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The existing load balancing method for multiple control of the software defined network mainly adopts that part of switches managed by an overload switch are migrated to other controllers for management, but the load balancing degree among all controllers of the migrated software defined network is not fully considered.
The invention provides a load balancing method for multiple controllers of a software defined network, which is used for calculating an overload controller for calculating the load of a new flow path exceeding a threshold value and calculating the load difference value of the average load of the overload controller and all controllers. And forming an alternative set by taking each edge switch managed by the overload controller as an alternative switch set and taking each controller adjacent to the edge switch as an alternative controller. Considering each alternative set, if the sum of the loads of all the alternative switches in the alternative set for requesting to calculate the new flow path is smaller than the load difference value of the overload controller, merging the switch which is most in number of new flow transmission among all the alternative switches in the alternative set and is directly connected with the alternative switch set into a newly added alternative set, and repeating the new alternative set process until the sum of the loads of all the switches in the alternative switch set in the newly added alternative set for requesting to calculate the new flow path to the overload controller is not smaller than the load difference value. And migrating the switches in the alternative switch sets of the selected alternative set to be managed by the alternative controllers in the selected alternative set, so that the load of the overload controller is reduced, and the load balance among multiple controllers of the software-defined network is realized.
Fig. 1 is a flowchart of a load balancing method of a software defined network multi-controller according to an embodiment of the present invention, as shown in fig. 1, where the embodiment of the present invention provides a load balancing method of a software defined network multi-controller, including:
101. for an overload controller that calculates that the load of the new flow path exceeds a threshold, a load difference is calculated for the average load of the overload controller and all controllers.
When a new flow arrives at the switch, a request for calculating a new flow path is sent to the controller to which the new flow path belongs, and when the load of the new flow path is calculated to exceed a threshold value, the controller is overloaded. The load, average load, and the difference between the overload controller and the average load of all software defined network controllers are calculated.
102. Considering each edge switch managed by the overload controller as an alternative switch set and each alternative set formed by each controller adjacent to the edge switch as an alternative controller, if all switches in the alternative switch set request to the overload controller to calculate a load sum of new flow paths to be smaller than the load difference value, merging the switch which is managed by the overload controller and is directly connected with all switches in the alternative switch set and has the largest transmission new flow number with the alternative switch set to become a newly added alternative set, repeating the newly added alternative set until all switches in the alternative switch set of the newly added alternative set request to the overload controller to calculate the load sum of new flow paths to be not smaller than the load difference value.
Each edge switch managed by the overload controller is taken as an alternative switch set, and each controller adjacent to the edge switch is taken as an alternative controller to form an alternative set. For example: an edge switch managed by the overload controller is adjacent to three controllers, i.e. the edge switch is connected to switches managed by the three controllers, three alternative sets are established, each of which initially only comprises the edge switch and an adjacent controller. Each alternative set includes an alternative switch set, an alternative controller. In order to reduce the load of the overload controller and balance the load of the multiple controllers, the switch managed by the overload controller needs to be migrated to the alternative controllers in the alternative set to be managed, so that the load of the overload controller is reduced. In order to make the load of the overload controller not higher than the average load of all controllers, it is necessary to make all switches in the alternative switch set of the migrated alternative set request calculation of the sum of the loads of the new flow paths not smaller than the load difference value of the average load of the overload controller and all controllers. If the load difference condition is not satisfied, then other switches managed by the overload controller need to be added to the alternative switch set of the alternative set. Considering the cost of the number of the migration switches, selecting the switch which is most in number of new flow transmission among all switches in the alternative switch set of the alternative set and is directly connected with the switch to be added into the alternative switches in the alternative set to form a new added alternative set, and repeating the new added alternative set process until the load difference requirement is met. For example: for the edge switch 1 of the overload controller, all switches in the alternative switch set of the newly added alternative set meeting the load difference requirement are 3 switches such as the edge switch 1, the switch 2, the switch 3 and the like, and there are 3 alternative sets in total, and the switches in the alternative switch set of the 3 alternative sets are respectively: an edge switch 1; edge switch 1 and switch 2; edge switch 1, switch 2, switch 3.
103. Selecting a group of alternative sets from all the alternative sets, so that no intersection exists among the alternative switch sets of the selected alternative sets, the load variance of all controllers when the switches in the alternative switch sets migrate to be managed by the alternative controllers in the alternative sets is minimum, and the load of the alternative controllers does not exceed a threshold value.
The switches in the alternative switch set in the alternative set are migrated to the controllers in the alternative set for management, so that the overload controller can realize that the load of the overload controller is not higher than the average load of all the controllers after the switches are migrated. In order to make the loads among all controllers more balanced, a group of alternative sets capable of minimizing the load variance of all controllers, and the loads of the alternative controllers in the alternative sets after migration do not exceed a threshold value needs to be selected, and meanwhile, no intersection exists among the alternative switch sets meeting the alternative sets.
104. Migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives.
Configuring an overload controller, a switch in an alternative switch set of an alternative set and an alternative controller, migrating the switch to be managed by the alternative controller, when a new flow arrives, sending a request for calculating a new flow path to the overload controller, calculating the new flow path by the alternative controller and issuing a flow rule to the switch by the switch.
Based on the foregoing embodiment, as an alternative embodiment, each controller adjacent to the edge switch includes: the edge switch is connected with the switches managed by each adjacent controller by links.
In consideration of interaction time delay and management between the controllers and the switches after migration, the edge switch of the overload controller is selected for migration, and meanwhile, the controller to which the switch connected with the edge switch by a link belongs is selected as the management controller after migration.
Based on the content of the above embodiment, as an alternative embodiment, migrating switches in the selected alternative switch set of the selected alternative set to be managed by the alternative controller in the selected alternative set includes: configuring an overload controller, a switch in an alternative switch set of an alternative set and an alternative controller, migrating the switch to be managed by the alternative controller, when a new flow arrives, sending a request for calculating a new flow path to the overload controller, calculating the new flow path by the alternative controller and issuing a flow rule to the switch by the switch.
Based on the foregoing, as an alternative embodiment, the method further includes one or more of: the software defined network root controller calculates the loads of all other controllers, calculates and selects a group of alternative sets with the smallest load variance, and completes migration of the switches in the alternative switch sets of the selected alternative sets to be managed by the alternative controllers in the selected alternative sets; the software defined network controller transmits the load to other controllers, one of the controllers calculates and selects an alternative set which minimizes the load variance, and migration of the switches in the alternative switch set of the selected alternative set to be managed by the alternative controllers in the selected alternative set is completed.
When load calculation of the software-defined network controller is performed, a centralized root controller can be adopted, and the root controller is used for completing load calculation, calculation and selection of an alternative set and switch migration in the alternative switch set of the alternative set; the distributed mode can also be adopted, the controller transmits the load to other controllers, and one of the controllers completes load calculation, calculation and selection of an alternative set and migration of the switches in the alternative switch set of the alternative set.
Fig. 2 is a block diagram of a load balancing system of a software defined network multi-controller according to an embodiment of the present invention, as shown in fig. 2, where the load balancing system of a software defined network multi-controller includes: a load calculation module 201, a migration selection module 202, and a migration module 203. Wherein, the load calculation module 201 is used for calculating the load of the software defined network controller; the migration selection module 202 is configured to generate an alternative set based on the edge switch managed by the overload controller, and calculate and select a set of alternative sets that minimizes the load variance; the migration module 203 is configured to migrate switches in an alternative switch set in the selected alternative set to an alternative controller in the selected alternative set for management.
Based on the foregoing embodiment, as an alternative embodiment, the software defined network multi-controller load balancing system shown in fig. 2 further includes:
and the load transmission module is used for transmitting the load of the software defined network controller.
The system embodiment provided in the embodiment of the present invention is for implementing the above method embodiments, and specific flow and details refer to the above method embodiments, which are not repeated herein.
The software defined network multi-controller load balancing system provided by the embodiment of the invention calculates the overload controller for calculating the load of the new flow path exceeding the threshold value and the load difference value of the average load of the overload controller and all controllers. And forming an alternative set by taking each edge switch managed by the overload controller as an alternative switch set and taking each controller adjacent to the edge switch as an alternative controller. Considering each alternative set, if the sum of the loads of all the alternative switches in the alternative set for requesting to calculate the new flow path is smaller than the load difference value of the overload controller, merging the switch which is most in number of new flow transmission among all the alternative switches in the alternative set and is directly connected with the alternative switch set into a newly added alternative set, and repeating the new alternative set process until the sum of the loads of all the switches in the alternative switch set in the newly added alternative set for requesting to calculate the new flow path to the overload controller is not smaller than the load difference value. And migrating the switches in the alternative switch sets of the selected alternative set to be managed by the alternative controllers in the selected alternative set, so that the load of the overload controller is reduced, and the load balance among multiple controllers of the software-defined network is realized.
Fig. 3 is a schematic physical structure diagram of an electronic device according to an embodiment of the present invention, where, as shown in fig. 3, the electronic device may include: processor 301, communication interface (Communications Interface) 302, memory (memory) 303 and bus 304, wherein processor 301, communication interface 302, memory 303 complete communication with each other through bus 304. The communication interface 302 may be used for information transfer of an electronic device. The processor 301 may invoke logic instructions in the memory 303 to perform methods including: for an overload controller which calculates that the load of a new flow path exceeds a threshold value, calculating a load difference value of the average load of the overload controller and all controllers; considering each edge switch managed by the overload controller as an alternative switch set and each alternative set formed by each controller adjacent to the edge switch as an alternative controller, if all switches in the alternative switch set request to the overload controller to calculate a load sum of new flow paths to be smaller than the load difference value, merging the switch which is managed by the overload controller and is directly connected with all switches in the alternative switch set and has the largest transmission new flow number with the alternative switch set to become a newly added alternative set, repeating the newly added alternative set until all switches in the alternative switch set of the newly added alternative set request to the overload controller to calculate the load sum of new flow paths to be not smaller than the load difference value; selecting a group of alternative sets from all the alternative sets, so that no intersection exists among the alternative switch sets of the selected alternative sets, the load variance of all controllers when the switches in the alternative switch sets migrate to be managed by the alternative controllers in the alternative sets is minimum, and the load of the alternative controllers does not exceed a threshold value; migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives.
Further, the logic instructions in the memory 303 may be implemented in the form of software functional units and stored in a computer readable storage medium when sold or used as a stand alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the above-described method embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, embodiments of the present invention further provide a non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor is implemented to perform the transmission method provided in the above embodiments, for example, including: for an overload controller which calculates that the load of a new flow path exceeds a threshold value, calculating a load difference value of the average load of the overload controller and all controllers; considering each edge switch managed by the overload controller as an alternative switch set and each alternative set formed by each controller adjacent to the edge switch as an alternative controller, if all switches in the alternative switch set request to the overload controller to calculate a load sum of new flow paths to be smaller than the load difference value, merging the switch which is managed by the overload controller and is directly connected with all switches in the alternative switch set and has the largest transmission new flow number with the alternative switch set to become a newly added alternative set, repeating the newly added alternative set until all switches in the alternative switch set of the newly added alternative set request to the overload controller to calculate the load sum of new flow paths to be not smaller than the load difference value; selecting a group of alternative sets from all the alternative sets, so that no intersection exists among the alternative switch sets of the selected alternative sets, the load variance of all controllers when the switches in the alternative switch sets migrate to be managed by the alternative controllers in the alternative sets is minimum, and the load of the alternative controllers does not exceed a threshold value; migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives.
The system embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (7)

1. A method for load balancing of multiple controllers in a software defined network, comprising:
for an overload controller which calculates that the load of a new flow path exceeds a threshold value, calculating a load difference value of the average load of the overload controller and all controllers;
taking each edge switch managed by the overload controller as an alternative switch set, taking each controller adjacent to the edge switch as an alternative controller, respectively forming each alternative set by the alternative switch set to which each edge switch belongs and each alternative controller adjacent to the alternative switch set, wherein each alternative set only comprises the edge switch and an adjacent controller at first; if all switches in all the alternative switch sets request to the overload controller to calculate that the sum of loads of new flow paths is smaller than the load difference value, adding the switch which is managed by the overload controller, has the largest number of new flow transmission between all switches in the alternative switch sets of each alternative set and is directly connected with the switch to form an additional alternative set, and repeating the process of the additional alternative set until all switches in the alternative switch sets of all the alternative sets request to the overload controller to calculate that the sum of loads of new flow paths is not smaller than the load difference value;
selecting a group of alternative sets from all the alternative sets, so that no intersection exists among the alternative switch sets of the selected alternative sets, the load variance of all controllers is minimum when the switches in the alternative switch sets migrate to be managed by the alternative controllers in the alternative sets, and the load of the alternative controllers does not exceed a threshold value;
migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives.
2. The method of claim 1, wherein a controller adjacent to the edge switch comprises:
the edge switch is connected with the switch managed by the adjacent controller by a link.
3. The method of claim 1, wherein migrating switches in the set of alternative switches of the selected set of alternatives to be managed by an alternative controller in the selected set of alternatives comprises:
configuring an overload controller, a switch in an alternative switch set of an alternative set and an alternative controller, migrating the switch to be managed by the alternative controller, when a new flow arrives, sending a request for calculating a new flow path to the overload controller, calculating the new flow path by the alternative controller and issuing a flow rule to the switch by the switch.
4. The method of claim 1, further comprising one or more of:
the software defined network root controller calculates the loads of all other controllers, calculates and selects a group of alternative sets with the smallest load variance, and completes migration of the switches in the alternative switch sets of the selected alternative sets to be managed by the alternative controllers in the selected alternative sets;
the software defined network controller transmits the load to other controllers, one of the controllers calculates and selects an alternative set which minimizes the load variance, and migration of the switches in the alternative switch set of the selected alternative set to be managed by the alternative controllers in the selected alternative set is completed.
5. A software defined network multi-controller load balancing system, comprising:
the load calculation module is used for calculating the load of the software defined network controller, and calculating the load difference value of the load of the overload controller and the average load of all controllers for the overload controller which calculates the load of the new flow path to exceed a threshold value;
the migration selection module is configured to generate an alternative set based on an edge switch managed by the overload controller, and calculate and select a group of alternative sets that minimize a load variance, and specifically includes: taking each edge switch managed by the overload controller as an alternative switch set, taking each controller adjacent to the edge switch as an alternative controller, respectively forming each alternative set by the alternative switch set to which each edge switch belongs and each alternative controller adjacent to the alternative switch set, wherein each alternative set only comprises the edge switch and an adjacent controller at first; if all switches in all the alternative switch sets request to the overload controller to calculate that the sum of loads of new flow paths is smaller than the load difference value, adding the switch which is managed by the overload controller, has the largest number of new flow transmission between all switches in the alternative switch sets of each alternative set and is directly connected with the switch to form an additional alternative set, and repeating the process of the additional alternative set until all switches in the alternative switch sets of all the alternative sets request to the overload controller to calculate that the sum of loads of new flow paths is not smaller than the load difference value;
the migration module is configured to migrate a switch in an alternative switch set in a selected alternative set to an alternative controller in the selected alternative set for management, and specifically includes: selecting a group of alternative sets from all the alternative sets, enabling the alternative switch sets of the selected alternative sets to have no intersection, enabling the switch in the alternative switch sets to migrate to be managed by the alternative controllers in the alternative sets, enabling the load variance of all controllers to be minimum, enabling the load of the alternative controllers to not exceed a threshold, and enabling the switch in the alternative switch sets of the selected alternative sets to migrate to be managed by the alternative controllers in the selected alternative sets.
6. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor performs the steps of the software defined network multi-controller load balancing method according to any one of claims 1 to 4 when the program is executed by the processor.
7. A non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor performs the steps of the software defined network multi-controller load balancing method according to any of claims 1 to 4.
CN202110927356.XA 2021-08-09 2021-08-09 Multi-controller load balancing method and system for software defined network Active CN113630330B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110927356.XA CN113630330B (en) 2021-08-09 2021-08-09 Multi-controller load balancing method and system for software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110927356.XA CN113630330B (en) 2021-08-09 2021-08-09 Multi-controller load balancing method and system for software defined network

Publications (2)

Publication Number Publication Date
CN113630330A CN113630330A (en) 2021-11-09
CN113630330B true CN113630330B (en) 2023-07-28

Family

ID=78385164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110927356.XA Active CN113630330B (en) 2021-08-09 2021-08-09 Multi-controller load balancing method and system for software defined network

Country Status (1)

Country Link
CN (1) CN113630330B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101541168B1 (en) * 2015-02-24 2015-08-03 성균관대학교산학협력단 Route control method for flow of controller in software defined network
CN106059933A (en) * 2016-05-30 2016-10-26 杭州华三通信技术有限公司 Method and device for maintaining software defined network (SDN)
CN107276794A (en) * 2017-06-02 2017-10-20 重庆邮电大学 Interchanger migration algorithm in a kind of software defined network
CN107276662A (en) * 2017-07-27 2017-10-20 大连大学 A kind of software definition Information Network multi-controller dynamic deployment method
CN108737125A (en) * 2017-04-13 2018-11-02 国网信息通信产业集团有限公司 A kind of more control domain communication means of SDN network and system
CN108880918A (en) * 2018-08-24 2018-11-23 北京邮电大学 A kind of SDN multi-controller load-balancing method and system
US10666580B1 (en) * 2018-05-01 2020-05-26 Amazon Technologies, Inc. Network switches using centralized improvement of routing based on link capacity
CN111711576A (en) * 2020-06-30 2020-09-25 西安电子科技大学 Controller load balancing system and method based on efficient switch migration

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180006833A1 (en) * 2016-06-29 2018-01-04 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for controller-initiated simultaneous discovery of the control tree and data network topology in a software defined network
US10091093B2 (en) * 2016-06-30 2018-10-02 Futurewei Technologies, Inc. Multi-controller control traffic balancing in software defined networks
US20180013630A1 (en) * 2016-07-11 2018-01-11 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method for a switch-initiated sdn controller discovery and establishment of an in-band control network
CN113645146B (en) * 2021-08-09 2023-09-26 北京邮电大学 New stream density-based software defined network controller load balancing method and system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101541168B1 (en) * 2015-02-24 2015-08-03 성균관대학교산학협력단 Route control method for flow of controller in software defined network
CN106059933A (en) * 2016-05-30 2016-10-26 杭州华三通信技术有限公司 Method and device for maintaining software defined network (SDN)
CN108737125A (en) * 2017-04-13 2018-11-02 国网信息通信产业集团有限公司 A kind of more control domain communication means of SDN network and system
CN107276794A (en) * 2017-06-02 2017-10-20 重庆邮电大学 Interchanger migration algorithm in a kind of software defined network
CN107276662A (en) * 2017-07-27 2017-10-20 大连大学 A kind of software definition Information Network multi-controller dynamic deployment method
US10666580B1 (en) * 2018-05-01 2020-05-26 Amazon Technologies, Inc. Network switches using centralized improvement of routing based on link capacity
CN108880918A (en) * 2018-08-24 2018-11-23 北京邮电大学 A kind of SDN multi-controller load-balancing method and system
CN111711576A (en) * 2020-06-30 2020-09-25 西安电子科技大学 Controller load balancing system and method based on efficient switch migration

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于多目标优化的应激式交换机迁移策略;王立业;胡宇翔;胡涛;;信息工程大学学报(第04期);全文 *
基于软件定义网络的分层式控制器负载均衡机制;朱世珂;束永安;;计算机应用(第12期);全文 *
软件定义空间信息网络多控制器动态部署策略;杨力;孔志翔;石怀峰;;计算机工程(第10期);全文 *

Also Published As

Publication number Publication date
CN113630330A (en) 2021-11-09

Similar Documents

Publication Publication Date Title
CN113645146B (en) New stream density-based software defined network controller load balancing method and system
WO2020119648A1 (en) Computing task unloading algorithm based on cost optimization
CN102469023B (en) Based on the dispatching method of cloud computing, unit and system
Hu et al. Dynamic slave controller assignment for enhancing control plane robustness in software-defined networks
CN109660466A (en) A kind of more live load balance realizing methods towards cloud data center tenant
CN111538570B (en) Energy-saving and QoS guarantee-oriented VNF deployment method and device
CN103179046A (en) Data center flow control method and data center flow control system based on openflow
Xie et al. Cutting long-tail latency of routing response in software defined networks
EP2922249A1 (en) Control plane optimization of communication networks
Qu et al. Traffic engineering for service-oriented 5G networks with SDN-NFV integration
CN106817306B (en) Method and device for determining target route
Li et al. Deployment of edge servers in 5G cellular networks
WO2019012627A1 (en) Network control system, method and program
CN112543151B (en) SDN controller deployment method and device, electronic equipment and storage medium
CN110958297B (en) Data migration method and system
CN105704180A (en) Configuration method and configuration system for data center
Zhu et al. Energy saving and load balancing for SDN based on multi-objective particle swarm optimization
CN113630330B (en) Multi-controller load balancing method and system for software defined network
Amiri et al. Optimized controller placement for software defined wide area networks
CN105847428A (en) Mobile cloud platform
Chen et al. Towards adaptive elastic distributed software defined networking
Yang et al. Dynamic load balancing of multiple controller based on intelligent collaboration in sdn
WO2014102996A1 (en) Information processing system
Konglar et al. Load distribution of software-defined networking based on controller performance
Portaluri et al. Power efficient resource allocation in cloud computing data centers using multi-objective genetic algorithms and simulated annealing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant