Abstract:Software Defined Networking(SDN) decouples control plane from data plane in networks,and controls networks using centralized controllers,finally achieves flexible control and management over networks.To ensure performance and reliability in large-scale SDN networks such as datacenters,it is necessary to deploy distributed controllers to provide scalable and continuous services.In such kind of environment,hardware/software upgrading of controllers requires online swapping of specified nodes,while both the service interruption of controllers and processing errors are not allowed.In addition,load-balancing needs to be re-considered since the hardware of controllers may become heterogeneous after swapping.To address this problem,this paper proposes an online swapping mechanism for distributed SDN controllers;in addition,a load-balancing algorithm for heterogeneous controllers is also presented to ensure that network switches utilize resources of the new controller efficiently.Experimental results demonstrate effectiveness of the mechanism.