CONTROLLER SIDE METHOD OF GENERATING AND UPDATING A CONTROLLER ASSIGNMENT LIST
First Claim
1. For a network control system that includes a plurality of host computers that execute a plurality of physical forwarding elements (PFEs) that collectively implement a plurality of logical forwarding elements (LFEs), a method of managing the LFEs comprising:
- selecting a common range of index values for different types of LFEs;
identifying a plurality of controllers to manage the LFEs;
generating a controller assignment list that associates each controller with at least one index value in the common index value range, wherein the index values are derivable from identifiers of the LFEs;
distributing the controller assignment list so that the list is received by the hosts, said list for the hosts to use to identify which controllers to request data necessary for effectuating a subset of the operations of the LFEs.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
55 Citations
24 Claims
-
1. For a network control system that includes a plurality of host computers that execute a plurality of physical forwarding elements (PFEs) that collectively implement a plurality of logical forwarding elements (LFEs), a method of managing the LFEs comprising:
-
selecting a common range of index values for different types of LFEs; identifying a plurality of controllers to manage the LFEs; generating a controller assignment list that associates each controller with at least one index value in the common index value range, wherein the index values are derivable from identifiers of the LFEs; distributing the controller assignment list so that the list is received by the hosts, said list for the hosts to use to identify which controllers to request data necessary for effectuating a subset of the operations of the LFEs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. For a network control system that includes a plurality of host computers that execute a plurality of physical forwarding elements (PFEs) that collectively implement a plurality of logical forwarding elements (LFEs), a method of managing the LFEs comprising:
-
identifying a plurality of controllers to manage the LFEs; generating a controller assignment list that associates each controller with an index value that is derivable from identifiers of the LFEs, said generating comprising assigning the index values to the controllers by using a load-balancing process for distributing the LFE management load across the controllers; distributing the controller assignment list so that the list is received by the hosts, said hosts using the list to identify the controllers to contact to obtain data necessary for effectuating a subset of the LFE operations. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. For a network control system that includes a plurality of host computers that execute a plurality of physical forwarding elements (PFEs) that collectively implement a plurality of logical forwarding elements (LFEs), a method of managing the LFEs comprising:
-
identifying a plurality of controllers to manage the LFEs; gathering statistics regarding operations of the host computers relating to the LFEs; based on the gathered statistics, assigning at least a subset of the LFEs to a subset of controllers; receiving a request from a particular host computer to connect to a controller to receive data for processing packets associated with a particular LFE; supplying the identity of a particular controller to the particular host computer, wherein the particular host computer uses the supplied identity to establish a control-channel connection with the particular controller, and uses the connection to process a subset of the operations associated with the particular LFE. - View Dependent Claims (24)
-
Specification