  Aiming at the local overload of multi-controller deployment in
software-defined networks, a load balancing mechanism of SDN controller based
on reinforcement learning is designed. The initial paired migrate-out domain
and migrate-in domain are obtained by calculating the load ratio deviation
between the controllers, a preliminary migration triplet, contains migration
domain mentioned above and a group of switches which are subordinated to the
migrate-out domain, makes the migration efficiency reach the local optimum.
Under the constraint of the best efficiency of migration in the whole and
without migration conflict, selecting multiple sets of triples based on
reinforcement learning, as the final migration of this round to attain the
global optimal controller load balancing with minimum cost. The experimental
results illustrate that the mechanism can make full use of the controllers'
resources, quickly balance the load between controllers, reduce unnecessary
migration overhead and get a faster response rate of the packet-in request.
