Virtual machine based controller and upgrade mechanism
First Claim
1. A method comprising:
- operating a first controller virtual machine on a server;
if a new software patch is available, replicating the first controller virtual machine into a replica controller virtual machine, the replica controller virtual machine including the new software patch;
transferring system state data from the first controller virtual machine to the replica controller virtual machine including;
determining one or more conversions applicable to the system state data corresponding to one or more differences between the first controller virtual machine and the second controller virtual machine, wherein the one or more conversions comprise one or more of converting to different dynamically linked libraries, conversions between older and new data structures, or conversions between newer and older data structures; and
applying the one or more conversions to the system state data;
transferring execution of one or more processes from the first controller virtual machine to the replica controller virtual machine;
after transferring the system state data and execution of the one or more processes, operating the replica controller virtual machine without suspending the first controller.
3 Assignments
0 Petitions
Accused Products
Abstract
High availability for a network may be achieved, for example, during a hitless upgrade by creating a replica controller virtual machine of an operating controller virtual machine (source controller). The replica controller virtual machine may be on a same or different server as the source controller virtual machine. The replica controller virtual machine may be copied with processes present in the source controller virtual machine and synchronized for runtime state. Upgrades or changes to software applications run in the source controller virtual machine may be provided to the replica controller virtual machine. Once enabled, the replica controller virtual machine may be operated without suspension of the source controller virtual machine.
36 Citations
16 Claims
-
1. A method comprising:
-
operating a first controller virtual machine on a server; if a new software patch is available, replicating the first controller virtual machine into a replica controller virtual machine, the replica controller virtual machine including the new software patch; transferring system state data from the first controller virtual machine to the replica controller virtual machine including; determining one or more conversions applicable to the system state data corresponding to one or more differences between the first controller virtual machine and the second controller virtual machine, wherein the one or more conversions comprise one or more of converting to different dynamically linked libraries, conversions between older and new data structures, or conversions between newer and older data structures; and applying the one or more conversions to the system state data; transferring execution of one or more processes from the first controller virtual machine to the replica controller virtual machine; after transferring the system state data and execution of the one or more processes, operating the replica controller virtual machine without suspending the first controller. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code being configured to:
-
operate a first controller virtual machine on a server; if a new software patch is available, replicate the first controller virtual machine into a replica controller virtual machine, the replica controller virtual machine including the new software patch; transfer system state data from the first controller virtual machine to the replica controller virtual machine including; determine one or more conversions applicable to the system state data corresponding to one or more differences between the first controller virtual machine and the second controller virtual machine, wherein the one or more conversions comprise one or more of converting to different dynamically linked libraries, conversions between older and new data structures, or conversions between newer and older data structures; and apply the one or more conversions to the system state data; transfer execution of one or more processes from the first controller virtual machine to the replica controller virtual machine; after transferring the system state data and execution of the one or more processes, operate the replica controller virtual machine without suspending the first controller. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A network, comprising:
-
one or more servers comprising memory storing program instructions that when executed by a processor on the one or more servers cause the one or more servers to; operate a first controller virtual machine on a server; if a new software patch is available, replicate the first controller virtual machine into a replica controller virtual machine, the replica controller virtual machine including the new software patch; transfer system state data from the first controller virtual machine to the replica controller virtual machine including; determine one or more conversions applicable to the system state data corresponding to one or more differences between the first controller virtual machine and the second controller virtual machine, wherein the one or more conversions comprise one or more of converting to different dynamically linked libraries, conversions between older and new data structures, or conversions between newer and older data structures; and apply the one or more conversions to the system state data; transfer execution of one or more processes from the first controller virtual machine to the replica controller virtual machine; after transferring the system state data and execution of the one or more processes, operate the replica controller virtual machine without suspending the first controller. - View Dependent Claims (14, 15, 16)
-
Specification