Topology-aware controller associations in software-defined networks
AssigneeFuturewei Technologies, Inc.
InventorsJingjing Zhang, Wei Wei, Liurong Qian
Life of this patent
Estimating the term…
Abstract
Control plane management based on physical topology of nodes in software-defined networks (SDNs) is provided. Nodes in an SDN are organized into a plurality of node clusters. A cluster of nodes in an SDN is formed and control plane management for the nodes within the cluster is provided. A topology-aware assignment of nodes to controllers in an SDN is provided. Related nodes such as root and corresponding child nodes are assigned to a single cluster in one embodiment to lessen the impacts of controller failure. The assignment of nodes to controllers is also provided based on minimizing traffic between node clusters and between nodes and external networks.
Claims21
A system, comprising:
- one or more networks comprising a plurality of nodes and a plurality of links between a subset of the nodes, each node is associated with at least one device;
- a plurality of controllers configured to manage control plane functions for the one or more networks;
- and
- one or more servers, coupled to the one or more networks and the plurality of controllers, including a computer-readable medium storing instructions that when executed by one or more processors, cause the one or more processors to:
- determine a first parent node that is isolated from a second parent node in the one or more networks;
- create from the plurality of nodes a first node cluster including the first parent node and one or more first child nodes having one or more links to the first parent node;
- create from the plurality of nodes a second node cluster including the second parent node and one or more second child nodes having one or more links to the second parent node, wherein nodes of the second node cluster are isolated from nodes of the first node cluster;
- and
- configure the first node cluster for control by a first controller of the plurality and the second node cluster for control by a second controller of the plurality.
A computer-implemented method for network management, comprising:
- accessing, by one or more processors, network information for a plurality of nodes, each node associated with at least one device;
- creating, by the one or more processors, a plurality of node clusters based on minimizing a total amount of traffic connecting nodes within each node cluster to one or more networks;
- assigning, by the one or more processors, each of the plurality of nodes to one of the plurality of node clusters in accordance with a minimal total traffic determination;
- configuring, by the one or more processors, each of a plurality of controllers for control of a subset of nodes associated with one or more of the node clusters.
A non-transitory computer-readable medium storing computer instructions for network management, that when executed by one or more processors, cause the one or more processors to perform the steps of:
- access network information for a plurality of nodes, each node associated with at least one device;
- assign to each node a weight representing a total amount of traffic associated with the node;
- determine that a first combined weight of a first node and a second node is less than a capacity of a first controller, the second node is a parent to the first node;
- in response to determining that the first combined weight is less than the capacity, determine that a second combined weight of the first node, the second node, and a third node is less than the capacity, the third node is a child to the second node;
- in response to determining that the second combined weight is less than the capacity, determine that a third combined weight of the first node, the second node, the third node, and a fourth node is equal to or greater than the capacity, the fourth node is a parent to the second node;
- in response to determining that the third combined weight is equal to or greater than the capacity, assign the first node, the second node, and the third node to the first controller and assign the fourth node to a second controller.
Dependencies are inferred from the claim text.