Patent Document ID: 9059928
Application ID: 14327431
Patent Flag: 1

Claim One:
1. A method implemented by a network topology design system, the network topology design system including a processing device, the method to determine placement of a controller within a network with a split architecture where control plane components of the split architecture network are executed by a controller and the control plane components are separate from data plane components of the split architecture network, wherein the placement of the controller is selected to minimize disruption of the split architecture network caused by a link failure, a switch failure or a connectivity loss between the controller and the data plane components, the method comprising the steps of: graphing, by the processing device, a topology of the split architecture network, with links in the split architecture network represented as a set of edges in a graph and network elements in the split architecture network represented as a set of nodes; calculating, by the processing device, a routing tree for each node in the set of nodes with each node at a root of a corresponding routing tree; determining, by the processing device, a routing tree weight for each routing tree by summing all node weights in each respective routing tree, wherein each routing tree weight is based on a number of unprotected downstream nodes in each respective routing tree, where a protected node can redirect control traffic over a tunnel to an intermediate node in the graph that is not downstream of the protected node and where the tunnel traverses at least one downstream node of the protected node; determining, by the processing device, a protection metric for each node based on each respective node's corresponding routing tree weight, where the protection metric measures resilience of the split architecture network as a degree of node failure protection within the split architecture network for a potential controller placement; and selecting, by the processing device, a network element corresponding to a node with a best protection metric to be the controller for the split architecture network, wherein the node with the best protection metric is a node with a minimum weight for a corresponding routing tree amongst all weights for all routing trees corresponding to the set of nodes in the split architecture network.