Controller Assignment List for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing environments, managing logical forwarding elements with a cluster of controllers leads to uneven resource distribution due to large numbers of control channel connections, causing load imbalances across controllers.
Innovation Solution
A method is introduced where a controller assignment list is distributed to host computers, using index values derived from logical forwarding element identifiers to identify and connect with appropriate controllers for out-of-band control channel communications, employing a hash/modulo process for load balancing across controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If controllers manage a large number of host computers with control channel connections, then coverage and connectivity are improved, but controller resource utilization becomes uneven and load imbalance occurs
Solution Approach 1:
The patent segments the controller cluster into multiple controllers, each responsible for a specific subset of host computers. This segmentation is achieved through partitioning the host computer list into multiple groups, where each group is assigned to a specific controller. The segmentation reduces the number of connections per controller while maintaining comprehensive coverage, thereby resolving the contradiction between connectivity and resource utilization.
Solution Approach 2:
The patent implements local quality by assigning different subsets of host computers to different controllers based on their specific characteristics and requirements. Each controller manages a tailored subset of hosts rather than uniformly managing all hosts, allowing for optimized resource allocation and reduced load imbalance while maintaining reliable connectivity across the network.
2Device complexity
If a single controller manages all host computers, then control simplicity is maintained, but controller resource exhaustion occurs under uneven load distribution
Solution Approach 1:
The patent divides the control system into multiple controllers, each managing a specific subset of host computers. This segmentation prevents any single controller from becoming a bottleneck or failing under uneven load distribution, thereby maintaining reliability while introducing only minimal complexity through automated assignment mechanisms.
Solution Approach 2:
The patent introduces a controller assignment list as an intermediary mechanism that mediates between the host computers and the controller cluster. This assignment list enables host computers to identify their designated controllers without requiring complex discovery or routing protocols, thus maintaining simplicity while distributing the management burden across multiple controllers.
3Adaptability or versatility
If controllers establish control channel connections with all host computers, then comprehensive management is achieved, but control channel communication load increases on individual controllers
Solution Approach 1:
The patent segments the control channel communication load by assigning specific host computer subsets to specific controllers. This segmentation reduces the communication capacity requirement for each individual controller while maintaining comprehensive management coverage across all host computers through the distributed controller architecture.
Solution Approach 2:
The patent implements dynamic controller assignment where the controller assignment list can be updated and redistributed based on changing network conditions and load requirements. This dynamic adaptation allows the system to optimize communication load distribution while maintaining comprehensive management coverage, preventing any single controller from becoming overloaded.
Data Source
AI summary
Some embodiments provide a novel method for distributing control-channel communication load between multiple controllers in a network control system. In some embodiments, the controllers manage physical forwarding elements that forward data between several computing devices (also called hosts or host computers), some or all of which execute one or more virtual machines (VMs). The method of some embodiments distributes a controller assignment list to the host computers. The host computers use this list to identify the controllers with which they need to interact to perform some of the forwarding operations of their associated logical forwarding elements. In some embodiments, agents executing on the host computers (1) review the controller assignment list to identify the appropriate controllers, and (2) establish control channel communications with these controllers to obtain the needed data for effectuating the forwarding operations of their associated physical forwarding elements. These agents in some embodiments are responsible for out-of-band control channel communication with the controllers.


