CN105340241A - Method and system for balancing load in a sdn network - Google Patents

Method and system for balancing load in a sdn network Download PDF

Info

Publication number
CN105340241A
CN105340241A CN201380077828.0A CN201380077828A CN105340241A CN 105340241 A CN105340241 A CN 105340241A CN 201380077828 A CN201380077828 A CN 201380077828A CN 105340241 A CN105340241 A CN 105340241A
Authority
CN
China
Prior art keywords
sdn controller
cluster
application
main
load data
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.)
Pending
Application number
CN201380077828.0A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105340241A publication Critical patent/CN105340241A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based

Abstract

The present invention relates to a method for balancing load in a cluster (1) of SDN controllers (2). Initially, for an application (3) and/or device (4) intending to connect to the cluster (1), a primary SDN controller (2) is defined by a CMS. The application (3) and/or device (4) are then connected to the primary SDN controller (2). Then, the primary SDN controller (2) determines a best SDN controller (2) for the application (3) and/or device (4) based on load data (6) of the cluster (1) and/or based on other characteristics like utilization (CPU, memory, I/O etc.). Then, the primary SDN controller (2) instructs the application (3) and/or device (4) to connect to the best SDN controller (2), causing the application (3) and/or device (4) to finally connect to the best SDN controller (2). To perform the method, the cluster (1) preferably uses a coordination cluster (5) for storing and locking the load data (6) into a predetermined path of the coordination cluster (5). The present invention also relates to a system comprising a cluster (1) of SDN, controllers (2) configured to carry out said method.

Description

For the method and system of the load of equilibrium in SDN
Technical field
The present invention relates to a kind of method and system for the load of equilibrium in the cluster of software defined network (softwaredefinednetwork, SDN) controller.Specifically, method and system equilibrium intention of the present invention is connected to the application of the cluster of SDN controller and/or the load of device.
Background technology
In prior art level, SDN is the emerging network technology solving customization and optimization problem.In SDN, therefore data surface from control plane decoupling zero, and can simplify modern communication network.Control plane function is implemented usually in one or more SDN controller.SDN controller can be grouped into cluster.Usually, the cluster of distributed SDN controller must process a large amount of connected application in described SDN and device simultaneously.Such as, one or more device, such as virtual switch (virtualswitch, vSwitch), and one or more application, such as deep message detects (deeppacketinspection, DPI), fire compartment wall (firewall, FW), Web page application program fire compartment wall (webapplicationfirewalls, WAF) and more, the cluster of distributed SDN controller can be connected to.
The cluster of SDN controller is preferably designed so that the load made on balanced indivedual SDN controllers in the cluster.In other words, each SDN controller should serve identical several destination device and/or application, and has nothing to do with the actual total load of described cluster.
For this purpose, load equalizer (loadbalancer, LB) is implemented between the northbound interface (NorthboundInterface, NBI) of the SDN controller of prior art level traditionally in application layer and described cluster.In addition, implement between the southbound interface (SouthboundInterface, SBI) of the SDN controller of another LB traditionally in device layers and described cluster.But each in these LB is bottleneck, and therefore in fact each LB is potential Single Point of Faliure (singlepointoffailure, SPOF).This means that whole cluster becomes unavailable when the fault of LB.The subject matter of the cluster of this SPOF and SDN controller is far from each other, and described subject matter and described cluster provide high availability.The service implementation that high availability is design method and is associated, its intention guarantees the operating characteristics of specified level.Specifically, term " availability " refers to the ability that user and/or application and/or device are obtained service by the cluster of SDN controller or conducted interviews to described cluster in the present invention.If cluster is inaccessible, or if possible do not obtain service by described cluster, so described cluster is not useable for described user and/or application and/or device.In order to high availability, cluster, and the service that SDN controller exactly in described cluster runs and application, preferably can use always.
Summary of the invention
In view of the above problems and shortcoming, the invention is intended to improve prior art level.Specifically, target of the present invention is load between the balanced SDN controller comprised in the cluster of application and/or device and SDN controller and can not produces SPOF, and described SPOF jeopardizes whole cluster makes it become unavailable.
Above-mentioned target is realized by the scheme provided in accompanying independent claim.Favourable embodiment is defined in the dependent claims of correspondence.Specifically, core of the present invention is the SPOF being alleviated traditional LB by distributed load equalizing mechanism, and described distributed load equalizing mechanism is implemented in the mode based on software by using coordination service to carry out the load between synchronous other SDN controller on each SDN controller of cluster.
A first aspect of the present invention provides a kind of method for the load of equilibrium in the cluster of SDN controller, and main SDN controller is defined in application and/or device that described method comprises for being intended to be connected to described cluster; Main SDN controller is connected to by described application and/or device; Best SDN controller is determined based on the load data of described cluster by described main SDN controller; Described application and/or device is indicated to be connected to best SDN controller by main SDN controller; Best SDN controller is connected to by described application and/or device.
In the method for the invention, each application or the device that are connected to cluster are especially connected to main SDN controller, but not as being connected to public LB in prior art level.Therefore LB is eliminated as SPOF.In addition, by determining best SDN controller, method of the present invention can load automatically in the middle of balanced SDN controller in described cluster.Each new opplication and/or device is preferably indicated to be connected to best SDN controller in view of load in the cluster distributes, namely, preferably indicate each new opplication and/or device to be connected to SDN controller when the minimum load of pre-treatment, described minimum load is the application of minimum object and/or device such as.
In the first form of implementation of the method for first aspect, described method comprises the load data using the predefined paths storage cluster coordinating cluster further, wherein determines that the step of best SDN controller comprises the described predefined paths being coordinated cluster by main SDN controller lock; The load data of the cluster be stored in the predefined paths coordinating cluster is read by main SDN controller; Best SDN controller is calculated by main SDN controller; Estimated to upgrade the load data of the cluster estimated by coordinate in cluster according to load based on determined best SDN controller by main SDN controller; The predefined paths coordinating cluster is unlocked by main SDN controller; And by SDN controller pass through calculated best SDN controller reconfigure application and/or device.
Coordinate cluster preferably based on ApacheZookeeper and for synchronous and locking mechanism.Thus, each SDN controller is ensured all the time based on up-to-date and maximally related load data operation.Coordinate cluster, by using some nodes, the load data with high availability is provided to SDN controller, wherein can perform read/write on any node.Can more effectively and more accurately perform the load balancing in the cluster of SDN controller.
After the step unlocked, main SDN controller indicates described application and/or device to be connected to best SDN controller.Thus, main SDN controller reconfigures described device preferably by the best SDN controller using OF-Config to be found by described main SDN controller.Subsequently application and/or device are connected to best SDN controller.Finally, best SDN controller upgrades and is coordinating the actual loading data in cluster.
In the second form of implementation of the method for the first form of implementation according to first aspect, described method is included in application and/or device when being connected to best SDN controller further, is upgraded at the load data coordinating the cluster in cluster by best SDN controller.
According to first aspect thus or according in the 3rd form of implementation of the method for any one in the previous form of implementation of first aspect, coordinate cluster and implemented by ApacheZookeeper.
According to first aspect thus or according in the 4th form of implementation of the method for any one in the previous form of implementation of first aspect, coordinate multiple nodes that cluster has the SDN controller for described cluster.
ApacheZookeeper is popular and easily extensible coordinates cluster, and it ensures coordination between its multiple node and consistency.SDN controller can obtain load data from any node of ApacheZookeeper.Therefore, can the high availability of proof load data.
Preferably, the cluster of SDN controller comprises 2 to 20 SDN controllers.Tuning controller preferably comprises 3 to 5 nodes.
According to thus first aspect or according in the 5th form of implementation of the method for any one in the previous form of implementation of first aspect, auxiliary SDN controller is defined in application and/or device that described method comprises further for being intended to be connected to cluster, and when failing to be connected to main SDN controller, in all correlation technique steps, substitute main SDN controller with auxiliary SDN controller.
By defining the 2nd SDN controller for each application and/or device, described method is sane for the fault of main SDN controller.Main SDN controller be out of order or to or from the out of order situation of connection of main SDN controller, relevant auxiliary SDN controller adapter all functions at once and step.Eliminate the SPOF of the cluster of SDN controller thus.Therefore, described cluster provides high availability.Also may define often application and/or device more than two SDN controllers.Such as, even with order of priority, all SDN controllers in described cluster may be supplied to each application and/or device.Therefore, each application and/or device will can be connected to initial SDN controller all the time, and described SDN controller can determine best SDN controller subsequently.
According to thus first aspect or according in the 6th form of implementation of the method for any one in the previous form of implementation of first aspect, the step defining main SDN controller is performed by one or more cloud management system (cloudmanagementsystem, CMS).
Described one or more CMS such as opens stack, cloud stack or fellow.CMS can use every cluster Round-Robin Algorithm to define main and auxiliary SDN controller for each device and/or application.Thus, ensure that initial load is balanced in period of shaking hands.Likely use multiple CMS to realize redundancy, to realize high availability.
According to thus first aspect or according in the 7th form of implementation of the method for any one in the previous form of implementation of first aspect, the load data of cluster comprises each application of SDN controller and/or the number of device that are connected to described cluster and/or the memory utilance comprising each SDN controller, disk space, cpu busy percentage and/or I/O speed.
Load data can alternatively or in addition calculate based on weighted logistic regression formula based on as features such as memory, CPU, I/O or fellows.In other words, the disposal ability (cpu busy percentage) of the memory utilance of each SDN controller, each SDN controller can be considered, or the I/O speed of each SDN controller in the cluster.
According to first aspect thus or according in the 8th form of implementation of the method for any one in the previous form of implementation of first aspect, determine that the step of best SDN controller comprises use weighted round-robin algorithm.
According to thus first aspect or according in the 9th form of implementation of the method for any one in the previous form of implementation of first aspect, if multiple application and/or device intention are connected to cluster simultaneously, so described method comprises and defines multiple main SDN controller, and different main SDN controllers is used for each application and/or device; Its main SDN controller is connected to by each application and/or device; Then determine that best SDN controller is connected thereto for application and/or device according to a certain order in a ground by each load data based on cluster in multiple main SDN controller, a main SDN controller; Indicate the application and/or device that are connected to it to be connected to the best SDN controller determined for it by each in multiple main SDN controller; Its best SDN controller is connected to by each application and/or device.
Can define multiple main SDN controller by using Round-Robin Algorithm, different main SDN controllers is for each application and/or device.
Described method can guarantee the actual best SDN controller that can find for each new opplication and/or device thus.Substantially, each SDN controller can from any node read/write coordinating cluster.But, if locked, so guarantee that the load data in the predefined paths coordinating cluster is once only accessed by a SDN controller.
Each application is associated with a main SDN controller, and wherein the SDN controller of different application and/or device is different from each other.Preferably, CMS preferably calculates the main SDN controller of each application and/or device based on Round-Robin Algorithm.Preferably, when defining multiple SDN controller for multiple application and/or device, CMS performs initiatively load balancing.
In the tenth form of implementation of the method for the 9th form of implementation according to first aspect, determine that best SDN controller comprises and waited in turn in order by each main SDN controller, preferably wait for standby mode.
Therefore, method of the present invention can effectively and the mode of conserve energy perform.
According in first aspect thus or the 11 form of implementation according to the method for the 9th or the tenth form of implementation of first aspect, described method comprises further and defines multiple SDN controller, and different SDN controllers is used for each application and/or device; And described main SDN controller is substituted with the corresponding auxiliary SDN controller of each main SDN controller of display fault in all correlation technique steps.
Main SDN controller is replaced to the high availability that cluster guaranteed by auxiliary SDN controller.
In second aspect, the invention provides one and comprise software defined network (softwaredefinednetwork, SDN) system of the cluster of controller, main SDN controller is defined in application and/or device that described system is used for for being intended to be connected to cluster; Described application and/or device are connected to main SDN controller; Best SDN controller is determined based on the load data of cluster by main SDN controller; Described application and/or device is indicated to be connected to best SDN controller by main SDN controller; Described application and/or device are connected to best SDN controller.
In the first form of implementation of the system of second aspect, described system comprises the coordination cluster of the load data for using predefined paths storage cluster further, wherein in order to determine best SDN controller, described system is used for the described predefined paths being coordinated cluster by main SDN controller lock; The load data of the cluster be stored in the predefined paths coordinating cluster is read by main SDN controller; Best SDN controller is calculated by main SDN controller; Estimated to upgrade the load data coordinating the cluster in cluster according to load based on determined best SDN controller by main SDN controller; The predefined paths coordinating cluster is unlocked by main SDN controller; And pass through calculated best SDN controller by SDN controller and reconfigure described application and/or device.
In the second form of implementation of the system of the first form of implementation of second aspect, described system is further used for, when applying and/or device is connected to best SDN controller, being upgraded at the load data coordinating the cluster in cluster by best SDN controller.
System of the present invention realize with above for the advantage that the advantage described by described method is identical.System of the present invention can be further used for performing the method step according to all forms of implementation as described above.
Accompanying drawing explanation
Above-mentioned aspect of the present invention and form of implementation by following about accompanying drawing to the description of specific embodiment in illustrated, wherein
Fig. 1 illustrates the basic procedure of method according to an embodiment of the invention.
Fig. 2 illustrates the instantiation of the basic procedure of the method shown in Fig. 1 to 9, described method performs in system according to an embodiment of the invention.
Embodiment
Fig. 1 illustrates sequential chart, and described sequential chart shows the basic procedure of the embodiment of method of the present invention.Described method implements the distributed load equalizing mechanism of the cluster 1 being used for SDN controller 2.Described method especially can process huge traffic carrying capacity on the cluster 1 to SDN controller 2 and the direction from described cluster and request.
Described method preferably performs in SDN environment, and described SDN environment preferably comprises the cluster 1 of SDN controller 2; At least one SDN applies 3, as DPI, WAF etc.; At least one device 4, as vSwitch; And coordinate cluster 5.
In the initial step of described method, intention is connected to each application 3 and/or the device 4 of the cluster 1 of SDN controller 2, defines main SDN controller 2 for application 3 and/or device 4 and in described application and/or device, configure described main SDN controller.As shown in fig. 1, preferably, cloud management system (CMS) 8 is responsible for defining and configure main SDN controller 2 for each application 3 and/or device 4.Preferably, also define auxiliary SDN controller 2 by identical CMS8 for each application 3 and/or device 4 and in described application and/or device, configure described auxiliary SDN controller.(namely each auxiliary SDN controller 2 serves as its relevant main SDN controller 2, for same application 3 and/or device 4 determine and the main SDN controller 2 configured in described same application and/or device) backup, such as to replace relevant main SDN controller 2 in the described relevant out of order situation of main SDN controller 2 or in the out of order situation of connection to relevant main SDN controller 2.Preferably, CMS8 uses Round-Robin Algorithm define main SDN controller 2 for each application 3 and/or device 4 and preferably define auxiliary SDN controller 2.By using Round-Robin Algorithm, ensure in the initial load of the period of shaking hands of application 3 and/or device 4 balanced and cluster 1 can be provided.Also therefore may to use more than a CMS8 to ensure the high availability of cluster 1 for the reason of redundancy.Hereinafter, about often apply 3 and/or the main SDN controller 2 that defines of device 4 further method step is described.But if be out of order to the connection of one or more relevant main SDN controller 2, so described method any time in the process or any step place are automatically switched to one or more auxiliary SDN controller 2.
In other method step, application 3 and/or device 4 are connected to its main SDN controller 2, CMS8 and have defined for described application and/or device and configured main SDN controller 2 and optionally assist SDN controller 2.This with wherein to apply 3 and/or the device 4 prior art level that must be connected to public LB differ widely, described LB presents SPOF.After application 3 and/or device 4 have been connected to its main SDN controller 2, consider that the load data 6 of cluster 1 determines best SDN controller 2 for application 3 and/or device 4.Coordinate cluster 5 to implement preferably by ApacheZookeeper, and comprise the multiple nodes for communicating with cluster 1.ApacheZookeeper ensures good coordination ability between its respective nodes and reliable consistency.The load data 6 of cluster 1 is stored in the predefined paths of coordination cluster 5 by the method according to the embodiment shown in Fig. 1.Predefined paths can such as pass through " cluster ID/SDN controller ID/ applies | device " identify.Load data 6 such as can comprise the application 3 of each indivedual SDN controllers 2 and/or the number of device 4 that are connected to cluster 1.But load data 6 can also based on the different qualities of SDN controller 2, such as, its memory and cpu busy percentage, disposal ability, and/or I/O speed.Preferably, weighted formula can be used to carry out computational load data 6 based on these different qualities.
In a further step, its main SDN controller 2 has been connected to (or when the connection fault of main SDN controller 2 in application 3 and/or device 4, be connected to its auxiliary SDN controller 2) after, load data 6 is locked on the predefined paths of coordination cluster 5 by described main SDN controller 2.Therefore, another SDN controller 2 of cluster 1 is not had can be accessed in now locked load data 6 on predefined paths.Due to the coordination ability of ApacheZookeeper, load data 6 can read from any one its node, and therefore provides high availability.Load data 6 is not only locked on the predefined paths of coordination cluster 5 by main SDN controller 2, and reads the load data 6 be stored in predefined paths in a further step.Based on obtained load data 6, main SDN controller 2 can be connected to the application 3 of cluster 1 for current intention subsequently and/or device 4 determines best SDN controller 2.Such as, main SDN controller 2 defines the SDN controller 2 do not utilized that application 3 and/or device 4 can be connected thereto as best SDN controller 2.Preferably, use basic weighted round-robin algorithm to find best SDN controller 2.
When best SDN controller 2 is found by main SDN controller 2, estimated load data 6 is updated in the predefined paths coordinating cluster 5 by main SDN controller 2 in another step of described method, and unblock predefined paths, namely described load data, supposes that application and/or device will be connected to the load data 6 of determined best SDN controller 2.In addition, instruction message is sent to application 3 and/or the device 4 (preferably by OF-Config agreement) that intention is connected to cluster 1 by main SDN controller 2, to indicate described application and/or device to be connected to determined best SDN controller 2.
Based on the instruction request from its main SDN controller 2, application 3 and/or device 4 upgrade its configuration in other method step, that is, reconfigure described application and/or device, to substitute pre-configured main SDN controller 2 with best SDN controller 2.Subsequently application 3 and/or device 4 are connected to its best SDN controller 2.When application 3 and/or device 4 have been connected to its best SDN controller 2, load data 6 has been locked on the predefined paths of coordination cluster 5 by described best SDN controller 2 in a further step, and is updated on predefined paths by the new load data 6 of reality.Finally, best SDN controller 2 unlocks predefined paths.In tuning controller 5, be stored in information in predefined paths can for the reason of data integrity and fail safe leader node with follow between node synchronous.
Fig. 2 illustrates to 9 the example how embodiment of method of the present invention performs in the embodiment of system of the present invention.In Fig. 2 is to 9, described system comprises the cluster 1 of SDN controller 2, and preferably includes the coordination cluster 5 of the load data 6 for using predefined paths storage cluster 1.Cluster 1, that is, the SDN controller 2 of especially cluster 1, can by multiple nodes 7 of coordinating cluster 5 with coordinate cluster 5 and be connected and communicate.
Multiple application 3 and/or device 4 can connect the cluster 1 that maybe can be intended to be connected to SDN controller 2.In the example shown in Fig. 2 to 9, three SDN controllers 2 (being distinguished by 2a, 2b and 2c hereinafter) are contained in cluster 1.In addition, coordinate cluster 5 to be realized by the ApacheZookeeper comprising three Zookeeper nodes 7.Load data 6, be in the case in cluster 1 for the application 3 of each SDN controller 2 and the number of device 4, be stored in predefined paths.According to Fig. 2 in the example of 9, two methods 3 is connected to each SDN controller 2a, 2b and 2c.In addition, SDN controller 2a and SDN controller 2c processes nine devices 4 separately, eight devices 4 of SDN controller 2b process simultaneously.
Fig. 3 illustrates wherein two new equipment 4a and 4b now, such as two vSwitch, wants the situation of the cluster 1 being connected to SDN controller 2.Configure new equipment 4a and 4b preferably by the CMS8 that describes about Fig. 1, wherein main SDN controller 2 and optionally assist SDN controller 2 for each device 4a and 4b.In this example, the device 4a shown in Fig. 3 is configured with SDN controller 2a as its main SDN controller, and the device 4b on the right is configured with SDN controller 2c as its main SDN controller.In addition, when the fault of main SDN controller 2, in order to redundancy, device 4a and 4b can be configured with auxiliary SDN controller 2.Such as, device 4a is configured with SDN controller 2b as its auxiliary SDN controller, and device 4b is configured with SDN controller 2c as its auxiliary SDN controller.In figure 3, two device 4a and 4b that intention is connected to cluster 1 are connected to its main SDN controller 2a and 2c defined in advance accordingly simultaneously, and send request for being instructed to best SDN controller 2.
In the diagram, the locking mechanism coordinating cluster 5 is adopted.Such as, first, predefined paths is locked in and coordinates on cluster 5 and obtain load data 6 stored therein by SDN controller 2c.Subsequently, SDN controller 2c calculates best SDN controller 2 for its device 4b.Thus, described SDN controller preferably uses weighted round-robin algorithm.When SDN controller 2c determines best SDN controller 2, SDN controller 2a can not read data from coordination cluster 5 and preferably be in wait state, is more preferably in stand-by state.
In Figure 5, SDN controller 2c determines the best SDN controller 2 of device 4b in SDN controller 2b, because described SDN controller is current only have eight devices 4 being connected to it, and other SDN controller 2a and 2c processes nine jockeys 4 separately.Therefore, SDN controller 2c upgrades the load data 6 estimated by the predefined paths coordinating cluster 5, that is, the load being connected to this hypothesis of SDN controller 2b estimated based on device 4b; And response is sent to device 4b, to indicate described device that SDN controller 2b is used as best SDN controller to be connected.Subsequently, SDN controller 2c solution is locked in the data payload 6 on the predefined paths of Consistent Sets group 5.
In figure 6, present SDN controller 2a can read load data 6 from coordination cluster 5, and therefore locks predefined paths.Similar to SDN controller 2c before, described SDN controller 2a is preferably again by using weighted round-robin algorithm to define best SDN controller 2 for device 4a.In figure 6, the best SDN controller 2 for device 4a is SDN controller 2a, described SDN controller or the main SDN controller of device 4a.
As previously explained, in the figure 7, SDN controller 2a upgrades the load data 6 estimated by the predefined paths coordinating cluster 5, that is, suppose device 4a is by the load estimated by keeping being connected with SDN controller 2a; And SDN controller 2a is used as its best SDN controller by indicating device 4a.
In fig. 8, device 4a reconnects and receives SDN controller 2a (in fact described device connects, and therefore Status Flag preferably only changes over " reality " from " initially " by it).Each subsequently in best SDN controller 2a and 2b upgrades the actual loading data on the predefined paths coordinating cluster 5.
Fig. 9 illustrates the end-state being connected to the system after cluster 1 at two device 4a and 4b.Cluster 1 is load balancing.SDN controller 2a processes ten devices 4 now, and SDN controller 2b and SDN controller 2c processes nine devices 4 separately.Therefore, Fig. 2 represents the method and system of the embodiments of the invention for distributed load equalizing mechanism to 9.Specifically, the load in the cluster 1 of SDN controller 2 obtains equilibrium, and does not produce SPOF or availability bottleneck.Therefore, the SDN with high availability can be supported.It should be noted that the flow process of device 4a and the 4b description being connected to the cluster 1 of SDN controller 2 in Fig. 2 is to 9 for intention by SBI is similarly applicable to the load between the balanced application 3 being connected to the cluster 1 of SDN controller 2 in intention by NBI.
In general, method and system of the present invention realizes the load-balancing mechanism of the cluster 1 being used for SDN controller 2.Advantageously, implement load balancing to make not produce SPOF.Because do not produce SPOF, so add SDN performance, and high availability can be ensured always.
The various embodiments combined herein describe the present invention.But other version of the embodiment disclosed can be understood by the invention required by practice and be realized by those skilled in the art from the research of graphic, disclosure and appended claims.In detail in the claims, word " comprises " does not get rid of other element or step, and indefinite article " " is not got rid of multiple.Single processor or other unit can complete the function of the several devices described in claim.Only be documented in this simple fact in mutually different dependent claims with some measure and do not meaning that the combination of these measures can not be used effectively.Computer program can store or be distributed on suitable medium, the optical storage media such as provided together with other hardware or as the part of other hardware or solid state medium, can also in other forms such as by internet or other wired or wireless telecommunication system distribution.

Claims (15)

1., for a method for the load of equilibrium in the cluster (1) of software defined network (softwaredefinednetwork, SDN) controller (2), it is characterized in that, described method comprises
The application (3) of described cluster (1) is connected to and/or device (4) defines main SDN controller (2) for intention,
Described main SDN controller (2) is connected to by described application (3) and/or device (4),
Best SDN controller (2) is determined based on the load data (6) of described cluster (1) by described main SDN controller (2),
Described application (3) and/or device (4) is indicated to be connected to described best SDN controller (2) by described main SDN controller (2),
Described best SDN controller (2) is connected to by described application (3) and/or device (4).
2. method according to claim 1, is characterized in that, comprises further
The predefined paths coordinating cluster (5) is used to store the load data (6) of described cluster (1),
Wherein determine that the step of described best SDN controller (2) comprises
The described predefined paths of described coordination cluster (5) is locked by described main SDN controller (2),
The described load data (6) of the described cluster (1) in the described predefined paths of described coordination cluster (5) is stored in by described main SDN controller (2) reading,
Described best SDN controller (2) is calculated by described main SDN controller (2),
Estimated the estimated load data of the described cluster (1) upgraded in described coordination cluster (5) according to load based on described determined best SDN controller (2) by described main SDN controller (2),
The described predefined paths of described coordination cluster (5) is unlocked by described main SDN controller (2),
Described application and/or device is reconfigured by described calculated best SDN controller (2) by described SDN controller.
3. method according to claim 2, is characterized in that, comprises further
When described application (3) and/or device (4) are connected to described best SDN controller (2), upgraded the described load data (6) of the described cluster (1) in described coordination cluster (5) by described best SDN controller (2).
4., according to the method described in Claim 1-3, it is characterized in that, described coordination cluster (5) has multiple nodes (7) of the described SDN controller (2) for described cluster (1).
5., according to the method described in claim 1 to 4, it is characterized in that, comprise further
The described application (3) of described cluster (1) is connected to and/or device (4) defines auxiliary SDN controller (2) for intention,
When described main SDN controller (2) can not be connected to, in all correlation technique steps, substitute described main SDN controller (2) with described auxiliary SDN controller (2).
6. according to the method described in claim 1 to 5, it is characterized in that, the step defining described main SDN controller (2) is performed by one or more cloud management system (cloudmanagementsystem, CMS) (8).
7. according to the method described in claim 1 to 6, it is characterized in that, the described load data (6) of described cluster (1) comprises the application (3) of each SDN controller (2) and/or the number of device (4) that are connected to described cluster (1) and/or the memory utilance comprising each SDN controller (2), disk space, cpu busy percentage and/or I/O speed.
8., according to the method described in claim 1 to 7, wherein saidly determine that the step of described best SDN controller (2) comprises use weighted round-robin algorithm.
9. according to the method described in claim 1 to 8, it is characterized in that, if multiple application (3) and/or device (4) intention are connected to described cluster (1) simultaneously, so described method comprises
Preferably by use Round-Robin Algorithm define multiple main SDN controller (2), different main SDN controllers (2) for each application (3) and/or device (4),
Its main SDN controller (2) is connected to by each application (3) and/or device (4),
Then determine that best SDN controller (2b) is connected thereto for described application (3) and/or device according to a certain order in a ground by each load data based on described cluster (1) in described multiple main SDN controller (2), a main SDN controller (2)
Its described application (3) is connected to and/or device (4) is connected to the described best SDN controller (2) determined for it by each instruction in described multiple main SDN controller (2),
Its best SDN controller (2) is connected to by each application (3) and/or device (4).
10. method according to claim 9, is characterized in that, determines that described best SDN controller (2) comprises
Waited in turn by described order by each main SDN controller (2), preferably wait for standby mode.
11. methods according to claim 9 or 10, is characterized in that, comprise further
Define multiple auxiliary SDN controller (2), different auxiliary SDN controllers (2) for each application (3) and/or device (4),
The out of order main SDN controller (2) of display is substituted with its corresponding auxiliary SDN controller (2b) in all correlation technique steps.
12. 1 kinds of systems comprising the cluster (1) of software defined network (softwaredefinednetwork, SDN) controller (2), it is characterized in that, described system is used for
The application (3) of described cluster (1) is connected to and/or device (4) defines main SDN controller (2) for intention,
Described application (3) and/or device (4) are connected to described main SDN controller (2),
Best SDN controller (2) is determined based on the load data (6) of described cluster (1) by described main SDN controller (2),
Described application (3) and/or device (4) is indicated to be connected to described best SDN controller (2) by described main SDN controller (2),
Described application (3) and/or device (4) are connected to described best SDN controller (2).
13. systems according to claim 12, is characterized in that, comprise the coordination cluster (5) for using predefined paths to store the load data (6) of described cluster (1) further,
Wherein in order to determine described best SDN controller (2), described system is used for
The described predefined paths of described coordination cluster (5) is locked by described main SDN controller (2),
The described load data (6) of the described cluster (1) in the described predefined paths of described coordination cluster (5) is stored in by described main SDN controller (2) reading,
Described best SDN controller (2) is calculated by described main SDN controller (2),
Estimated the described load data of the described cluster (1) upgraded in described coordination cluster (5) according to load based on described determined best SDN controller (2) by described main SDN controller (2),
The described predefined paths of described coordination cluster (5) is unlocked by described main SDN controller (2),
And reconfigure described application and/or device by described SDN controller by described calculated best SDN controller (2).
14. systems according to claim 13, is characterized in that, be further used for
When described application (3) and/or device (4) are connected to described best SDN controller (2), upgraded the described load data (6) of the described cluster (1) in described coordination cluster (5) by described best SDN controller (2).
15. 1 kinds of computer programs with program code, described program code is used for the method performed when described computer program runs on computers according to any one of claim 1 to 11.
CN201380077828.0A 2013-11-27 2013-11-27 Method and system for balancing load in a sdn network Pending CN105340241A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/074888 WO2015078498A1 (en) 2013-11-27 2013-11-27 Method and system for balancing load in a sdn network

Publications (1)

Publication Number Publication Date
CN105340241A true CN105340241A (en) 2016-02-17

Family

ID=49683713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380077828.0A Pending CN105340241A (en) 2013-11-27 2013-11-27 Method and system for balancing load in a sdn network

Country Status (2)

Country Link
CN (1) CN105340241A (en)
WO (1) WO2015078498A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330558A (en) * 2016-08-31 2017-01-11 哈尔滨工业大学(威海) Controller load prediction system and method applied to software defined network
CN106603288A (en) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 Centralized multi-controller management method, centralized multi-controller management device and centralized multi-controller management system used for industrial control network
CN107682410A (en) * 2017-09-14 2018-02-09 广州西麦科技股份有限公司 A kind of control method and device of distributed SDN controllers cluster
CN109716732A (en) * 2016-08-03 2019-05-03 施耐德电器工业公司 The network architecture that industrial software for the deployment in the automated system of software definition defines
CN112350937A (en) * 2020-08-20 2021-02-09 山西大学 Efficient routing calculation method integrating load balancing and routing energy saving
CN112667409A (en) * 2020-11-25 2021-04-16 紫光云技术有限公司 Implementation method of reentrant distributed exclusive lock
CN112887110A (en) * 2019-11-29 2021-06-01 中盈优创资讯科技有限公司 Device control method and device under SDN controller

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713378B (en) * 2015-07-30 2020-07-31 北京京东尚科信息技术有限公司 Method and system for providing service by multiple application servers
CN105159767B (en) * 2015-09-06 2019-07-02 北京京东尚科信息技术有限公司 Method and apparatus for realizing distributed scheduling based on zookeeper
CN106936857B (en) * 2015-12-29 2020-05-19 中国电信股份有限公司 Connection management method of hybrid cloud, SDN controller and hybrid cloud system
CN106559254A (en) * 2015-12-29 2017-04-05 国网智能电网研究院 SDN multiple-domain networks device and implementation method based on both-end mouth switch
CN108228581B (en) * 2016-12-09 2022-06-28 阿里云计算有限公司 Zookeeper compatible communication method, server and system
CN107094119B (en) * 2017-07-07 2019-10-25 广州市品高软件股份有限公司 A kind of control method for equalizing load and system based on cloud computing and SDN network
CN107579857A (en) * 2017-09-29 2018-01-12 烽火通信科技股份有限公司 A kind of method of the redundancy backup protection of SDN controllers based on cloud
CN109451065B (en) * 2018-12-26 2021-06-01 中电福富信息科技有限公司 Soft load balancing and shunting automation system and operation method thereof
CN110865993B (en) * 2019-11-04 2022-09-09 紫光云技术有限公司 SDN controller cluster system
CN111522665A (en) * 2020-04-24 2020-08-11 北京思特奇信息技术股份有限公司 Zookeeper-based method for realizing high availability and load balancing of Influxdb-proxy
CN112751789A (en) * 2021-01-05 2021-05-04 浪潮云信息技术股份公司 Method and system for realizing asymmetric SDN controller cluster

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729592A (en) * 2008-10-29 2010-06-09 中国移动通信集团公司 Distributed communication network and equipment and communication network separation method
CN103248724A (en) * 2013-04-19 2013-08-14 中国(南京)未来网络产业创新中心 SDN (Software-Defined Networking) controller-based DHCP (Dynamic Host Configuration Protocol) broadcast processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5556498B2 (en) * 2010-08-17 2014-07-23 富士通株式会社 Management device, file server system, processing method and management program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729592A (en) * 2008-10-29 2010-06-09 中国移动通信集团公司 Distributed communication network and equipment and communication network separation method
CN103248724A (en) * 2013-04-19 2013-08-14 中国(南京)未来网络产业创新中心 SDN (Software-Defined Networking) controller-based DHCP (Dynamic Host Configuration Protocol) broadcast processing method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ADVAIT DIXIT: "Towards an Elastic Distributed SDN Controller", 《HOT TOPICS IN SOFTWARE DEFINED NETWORKING,ACM》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109716732A (en) * 2016-08-03 2019-05-03 施耐德电器工业公司 The network architecture that industrial software for the deployment in the automated system of software definition defines
CN106330558A (en) * 2016-08-31 2017-01-11 哈尔滨工业大学(威海) Controller load prediction system and method applied to software defined network
CN106603288A (en) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 Centralized multi-controller management method, centralized multi-controller management device and centralized multi-controller management system used for industrial control network
CN107682410A (en) * 2017-09-14 2018-02-09 广州西麦科技股份有限公司 A kind of control method and device of distributed SDN controllers cluster
CN112887110A (en) * 2019-11-29 2021-06-01 中盈优创资讯科技有限公司 Device control method and device under SDN controller
CN112350937A (en) * 2020-08-20 2021-02-09 山西大学 Efficient routing calculation method integrating load balancing and routing energy saving
CN112667409A (en) * 2020-11-25 2021-04-16 紫光云技术有限公司 Implementation method of reentrant distributed exclusive lock

Also Published As

Publication number Publication date
WO2015078498A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
CN105340241A (en) Method and system for balancing load in a sdn network
US10347542B2 (en) Client-initiated leader election in distributed client-server systems
AU2019213422B2 (en) Pre-configure and pre-launch compute resources
EP2901308B1 (en) Load distribution in data networks
US10387179B1 (en) Environment aware scheduling
US20160226962A1 (en) Port pooling
US9350682B1 (en) Compute instance migrations across availability zones of a provider network
KR20210060364A (en) Edge server system supporting hybrid cloud
KR20070006906A (en) System and method for topology-aware job scheduling and backfilling in an hpc environment
KR20070011503A (en) High performance computing system and method
US10826812B2 (en) Multiple quorum witness
CN113572831A (en) Communication method between Kubernetes clusters, computer equipment and medium
CN109845192B (en) Computer system and method for dynamically adapting a network and computer readable medium
CN110224917A (en) Data transmission method, apparatus and system, server
US11405455B2 (en) Elastic scaling in a storage network environment
KR20140142445A (en) Method for providing the dynamic node service and appartus for performing the same
CN114172811A (en) Container mirror image deployment platform and deployment method thereof
CN112655185B (en) Apparatus, method and storage medium for service allocation in a software defined network
Xu et al. A mathematical model and dynamic programming based scheme for service function chain placement in NFV
Huang et al. Virtualrack: Bandwidth-aware virtual network allocation for multi-tenant datacenters
CN101170544A (en) A communication method in high-availability cluster system based on single practical IP address
Romanov et al. Enhancing Resource Availability: Indicators and Strategies for Optimizing the Kubernetes Network
Jiang et al. Efficient and Automated Deployment Architecture for OpenStack in TianHe SuperComputing Environment
CN115470303A (en) Database access method, device, system, equipment and readable storage medium
JP5464746B2 (en) Resource management apparatus, program and method for distributing and sharing database

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160217