Patent ID: 7936737

Claim:
Software encoded in one or more non-transitory computer-readable storage media comprising instructions executable by one or more processors and when executed operable to: identify one or more controllers for update, wherein each controller is operative to manage at least one managed network element; select a first controller from the one or more controllers; transmit a first update message to the first controller, the first update message comprising information corresponding to an update for the first controller; transmit a first disable message to the first controller, the first disable message configured to cause the first controller to transmit a second disable message to each of at least one first managed network elements currently associated with the first controller, each second disable message instructing the corresponding first managed network element to migrate to one of one or more second controllers; determine whether the at least one first managed network elements have migrated to the one or more second controllers; and conditionally transmit a reboot command message to the first controller based on the determination of whether the at least one first managed network elements have migrated to the one or more second controllers, the reboot command message configured to cause the first controller to reboot in order to effectuate the update to the first controller.