ntroller and the switch it connects to. We assume network links fail inde- pendently. Switch failure: A switch failure indicates that the corresponding node is unable to originate, respond, or forward any packet. Switch failures can be caused by software bugs, hardware failures, misconfigurations, and SO on. Again, we assume network nodes fail independently. Special case - connectivity loss between switch and controller: A switch may lose connectivity to its controller due to failures on 4.4 SDN Management the intermediate links or nodes along the path. In this invention, we assume that whenever a switch cannot reach its controller, the switch will discard all the packets on the forwarding plane, even though the path on the forwarding plane is still valid. Therefore, this can be considered as a special case of switch failure. 4.4.4.1 A Special Study: Controller to Switch Connectivity In the following, we illustrate the reliability issue using a specific prob- lem. We focus on the controller placement problem given the distribu- tion of forwarding plane switches. We consider that control platform consists of a set of commodity servers connecting to one or more of the switches. Therefore, the control plane and data plane are in the same network domain. The connectivity to the controller is extremely important for the OpenFlow network reliability. We define the reliability of controller to data plane as the average likelihood of loss of connectivity between the controller and any of the OpenFlow switches. In the following, we discuss three aspects of the connectivity between controller and the switches. Routing between controller and switches For a given controller location, the controller can construct any desired routing tree, for example, a routing tree that maximizes the protection of the network against component failures or a routing tree that optimizes the performance based on any desired metrics. One of the popular routing method is the shortest path routing constructed by intra-domain routing protocols such