Patent ID: 9600263
Date: 2017-03-21
CPC Classifications: G06F,H04L

Claim:
1. A method of using at least first and second controllers that each controls switches in a network having end hosts that are coupled to the switches, the method comprising: with the first controller, communicating with the second controller to perform a software upgrade operation on the network, wherein the switches in the network forward network traffic between the end hosts during the software upgrade operation, and wherein the first and second controllers are separate from the switches; with the second controller, identifying first and second redundant partitions of switches in the network, wherein each of the end hosts is coupled to the first redundant partition of switches and each of the end hosts is coupled to the second redundant partitions of switches; with a given one of the first and second controllers, loading software onto the first and second redundant partitions of switches and onto the first and second controllers; with the second controller, instructing each of the switches in the first and second redundant partitions of switches to disable a respective connection with the first controller; with the second controller, after each of the switches in the first and second redundant partitions have disabled the respective connections with the first controller, providing flow table entries to the switches in the first and second redundant partitions of switches without conveying the flow table entries through the first controller, wherein the first and second redundant partitions of switches each include at least two switches and wherein the second redundant partition of switches does not include any switches from the first redundant partition of switches; with the second controller, determining whether there exists network redundancy in the network; with the second controller, aborting the software upgrade operation in response to determining that the network redundancy does not exist in the network; and with the second controller, identifying the switches in the first and second redundant partitions of switches in response to determining that the network redundancy exists in the network with the first controller, installing the loaded software on the first controller; with the first controller, instructing each of the switches in the first redundant partition of switches to install the loaded software after the first controller has finished installing the loaded software; with the second controller, installing the loaded software after the first redundant partition of switches has finished installing the loaded software; and with the first controller and concurrently with installing the loaded software at the second controller, instructing each of the switches in the second redundant partition of switches to install the loaded software.