Methods and apparatus for performing in-service software upgrading for a network device using system virtualization
First Claim
1. A method of modifying software via virtual machines (“
- VMs”
) to a line card of a network device facilitated by a network processing card (“
NPC”
), comprising;
receiving a software upgrade command on a control card;
maintaining a first version of data structure containing a first data portion and a first metadata portion in a first VM, wherein maintaining the first version of data structure further includes maintaining first type region, first length region, and first offset region of the first metadata portion;
generating a second version of data structure containing a second data portion and a second metadata portion in a second VM in response to the software upgrade commend, wherein generating the second version of data structure includes creating a second type region, a second length region, and a second offset region of the second metadata portion;
activating a second version 2 (“
V2”
) in-service software upgrade (“
ISSU”
) manager for the NPC, and a V2 ISSU proxy for the line card;
activating the second VM on the NPC in response to the software upgrade signal while a first version 1 (“
V1”
) ISSU manage continuing providing network service based on V1 software operating in the first VM running on the NPC;
downloading new version software onto the second VM; and
switching over from the V1 software to the new version software for all nodes and obtaining checkpoint files for synchronizing execution state between the first VM and the second VM in accordance with information contained in checkpoint files.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and/or network system is able to perform an in-service software upgrade (“ISSU”) using virtualization technology while ongoing network service is maintained. After receipt of an upgrade signal such as a command of software upgrade, a new or second virtual machine (“VM”) is created in response to the upgrade signal. After downloading the new version of program to the second VM while maintaining the first version of program running on the first VM, the process for providing network management begins to migrate from the first version of program to the new version of program. The process simultaneously facilitates ISSU for a data-path module such as a line card to convert from the previous version of software to the new version of the software.
-
Citations
18 Claims
-
1. A method of modifying software via virtual machines (“
- VMs”
) to a line card of a network device facilitated by a network processing card (“
NPC”
), comprising;receiving a software upgrade command on a control card; maintaining a first version of data structure containing a first data portion and a first metadata portion in a first VM, wherein maintaining the first version of data structure further includes maintaining first type region, first length region, and first offset region of the first metadata portion; generating a second version of data structure containing a second data portion and a second metadata portion in a second VM in response to the software upgrade commend, wherein generating the second version of data structure includes creating a second type region, a second length region, and a second offset region of the second metadata portion; activating a second version 2 (“
V2”
) in-service software upgrade (“
ISSU”
) manager for the NPC, and a V2 ISSU proxy for the line card;activating the second VM on the NPC in response to the software upgrade signal while a first version 1 (“
V1”
) ISSU manage continuing providing network service based on V1 software operating in the first VM running on the NPC;downloading new version software onto the second VM; and switching over from the V1 software to the new version software for all nodes and obtaining checkpoint files for synchronizing execution state between the first VM and the second VM in accordance with information contained in checkpoint files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- VMs”
-
10. An apparatus for network communication able to modify software via virtual machines (“
- VMs”
) to a line card of a network device facilitated by a network processing card (“
NPC”
), comprising;central processing unit (“
CPU”
) connected to a storage memory via buses;a component of the NPC operable to receive a software upgrade command; a first VM of the NPC configured to maintain a first version of data structure which includes first data, first metadata, first type region, first length region, and first offset region of the first metadata; a second VM of the NPC configured to generate a second version of data structure which includes second data, second metadata, second type region, second length region, and a second offset region of the second metadata in response to the software upgrade commend; a version 2 (“
V2”
) in-service software upgrade (“
ISSU”
) manager of the NPC configured to activate a V2 ISSU proxy for the line card; anda VM manager of the NPC configured to facilitate activating the second VM in response to the software upgrade signal while a version 1 (“
V1”
) ISSU manager continuing providing network service based on V1 software operating in the first VM, wherein the VM manager, upon downloading new version software onto the second VM, facilitates to switch network service from the V1 software to the new version software for all nodes, wherein the VM manager is able to obtain checkpoint files for synchronizing execution state between the first VM and the second VM in accordance with information in the checkpoint files. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- VMs”
Specification