Use of metadata for seamless updates
AssigneeBroadcom Corporation
InventorCurtis McDowell
Life of this patent
Estimating the term…
Abstract
The invention provides a system and method for updating software in the CPU of a network device without interrupting the operation of the network device. The invention determines whether operating state information is recoverable. If it is not recoverable, then it will be stored in a metadata module or reload buffer. When the CPU is rebooted, after a software update or crash, it operates in a special reload mode and is able to recover any system state information not available in the network device from the metadata module.
Claims15
A network device, comprising:
- a central processing unit (CPU) configured to assist the network device with processing one or more data packets;
- tables configured to store operating state information associated with the processing one or more data packets;
- and
- a metadata module configured to store the operating state information that is non-recoverable from the tables;
- wherein, when the CPU becomes unavailable, the network device is configured to:
- continue the processing one or more data packets,
- update the tables with the operating state information,
- determine whether the operating state information stored in the tables is non-recoverable operating state information, and
- update the metadata module with the non-recoverable operating state information based on determination;
- and
- wherein, when the CPU becomes available, the CPU is configured to:
- retrieve the recoverable operating state information from the tables, and
- if the recoverable operating state information retrieved from the tables is incomplete, retrieve the non-recoverable operating state information from the metadata module.
A computer-implemented method for updating software in a central processing unit (CPU) of a network device, the method comprising:
- configuring the CPU to assist the network device in processing one or more data packets;
- storing operating state information in tables of the network device, wherein the operating state information associated with the processing one or more data packets;
- storing non-recoverable operating state information from tables in a metadata module;
- determining that the CPU becomes unavailable;
- while the CPU is unavailable:
- continuing the processing one or more data packets,
- updating the operating state information in the tables,
- determining whether the operating state information stored in the tables is non-recoverable, and
- updating the non-recoverable operating state information in the metadata module based on the determination;
- and
- determining that the CPU becomes available after the software update, wherein the CPU is configured to:
- retrieve the recoverable operating state information from the tables, and
- if the recoverable operating state information retrieved from the tables is incomplete, retrieve the non-recoverable operating state information from the metadata module.
A network device comprising:
- processing means for processing one or more data packets with assistance from a central processing unit (CPU);
- table means for storing operating state information associated with the processing one or more data packets;
- and
- module means for storing non-recoverable operating state information from the tables;
- wherein, when the CPU becomes unavailable:
- the processing means continues the processing one or more data packets,
- the table means updates the operating state information,
- determining means for determining whether the operating state information stored in the tables means is non-recoverable operating state information, and
- the module means updates the non-recoverable operating state information based on determining means;
- and
- wherein when the CPU becomes available:
- the table means provides the recoverable operating state information for the CPU, and
- if the recoverable operating state information from the table means is incomplete, the module means provides the non-recoverable operating state information for the CPU.
Dependencies are inferred from the claim text.