In-service software upgrade utilizing metadata-driven state translation
AssigneeEricsson Inc.
InventorsTimothy John Lynch, Scott Ripley Mordock, Christian Stabel Daudt
Life of this patent
Estimating the term…
Abstract
A method and apparatus for a metadata-driven upgrade of a network element is described. A network element comprises an active and backup controller card and receives new software to be installed on that network element. In addition, the network element installs the software on the backup controller card and synchronizes the active state of the network element to the backup controller card. Furthermore, the network element uses metadata to translate the active state to the format used by the new software.
Claims25
A method performed within a network element, comprising:
- receiving new software to be installed on the network element having an active controller card and a backup controller card, wherein the new software comprises metadata describing a format used by the new software to store and access state information of the network element;
- installing the new software on the backup controller card;
- synchronizing an active state of the network element on the backup controller card, wherein the active state is associated with an old software running on the network element;
- and
- translating the active state that is synchronized on the backup controller card using the metadata to the format used by the new software, wherein the active state that is translated using the metadata includes at least one of a traffic forwarding table, user session information, and subscriber session information, wherein the active state that is translated has been dynamically built up during runtime and is used to control how the network element handles data traffic, and wherein the metadata that is used to translate the active state describes a structure and fields of an active state data structure to be used by the new software, wherein the translating further comprises performing at least one of:
- translating data from fields of an active state data structure used by the old software to fields of the active state data structure used by the new software that have been rearranged relative to the fields of the active state data structure used by the old software;
- and
- assigning a default value to a field of the active state data structure used by the new software that is not found in the active state data structure used by the old software.
A machine-readable medium that stores instructions, which when executed by a set of one or more processors, cause said set of one or more processors to perform operations comprising:
- receive new software to be installed on a network element having an active controller card and a backup controller card, wherein the new software comprises metadata that describes a format used by the new software to store and access state information of the network element;
- install the new software on the backup controller card;
- synchronize an active state of the network element on the backup controller card, wherein the active state is associated with an old software that runs on the network element;
- and
- translate the active state that is synchronized on the backup controller card using the metadata to the format used by the new software, wherein the active state that is translated using the metadata includes at least one of a traffic forwarding table, user session information, and subscriber session information, wherein the active state to be translated is operable to control how the network element handles traffic and has been dynamically built up during runtime and derived from interactions with other network elements in a network, wherein the metadata that is used to translate the active state describes a structure and fields of an active state data structure used by the new software, wherein the translation includes performing at least one of the following operations:
- translate data from fields of an active state data structure used by the old software to fields of the active state data structure used by the new software that have been rearranged relative to the fields of the active state data structure used by the old software;
- and
- assign a default value to a field of the active state data structure used by the new software that is not found in the active state data structure used by the old software;
- and
- wherein the machine-readable medium is selected from a read only memory (ROM), a random access memory (RAM), a magnetic disk storage media, an optical storage media, and a flash memory device.
An apparatus comprising:
- an active controller card;
- at least one of a processor and an Application Specific Integrated Circuit (ASIC) of the active controller card;
- a memory;
- a software management module to receive new software to be installed on a network element having the active controller card and a backup controller card, wherein the new software comprises metadata that describes a format used by the new software to store and access state information of the network element, and wherein the software management module is configured to install the new software on the backup controller card;
- a state synchronization module to synchronize an active state of the network element on the backup controller card, wherein the active state is associated with an old software currently installed to run on the active controller card;
- and
- a state translation module to translate the active state that is synchronized on the backup controller card using the metadata to the format used by the new software, wherein the active state to be translated is to include runtime information that has been derived from interactions with other elements in a network and that is used to control how the network element forwards traffic, and wherein the metadata that is to be used to translate the active state is operable to describe an active state data structure to be used by the new software for representing the active state, wherein the state translation module is operative to perform one or more of the following as part of the translation:
- translate data from fields of an active state data structure used by the old software to fields of the active state data structure used by the new software that have been rearranged relative to the fields of the active state data structure used by the old software;
- and
- assign a default value to a field of the active state data structure used by the new software that is not found in the active state data structure used by the old software.
A network element comprising:
- an active controller card configured to control functions of the network element;
- a backup controller card, wherein the network element is configured to,
- receive new software to be installed on the network element, wherein the new software comprises metadata that describes a format used by the new software to store and access state information of the network element, the state information including run-time traffic forwarding information to control forwarding of traffic,
- install the new software on the backup controller card,
- synchronize an active state of the network element on the backup controller card, wherein the active state is associated with an old software running on the network element, and
- translate the active state that is synchronized on the backup controller card, including the run-time traffic forwarding information that is to control the forwarding of the traffic, using the metadata to the format used by the new software, wherein the metadata used to translate the active state describes a structure and fields of an active state data structure to be used for the active state in a markup language, wherein the backup controller card is operative to perform at least one of the following operations as part of the translation:
- translate data from fields of an active state data structure used by the old software to fields of the active state data structure used by the new software that have been rearranged relative to the fields of the active state data structure used by the old software;
- and
- assign a default value to a field of the active state data structure used by the new software that is not found in the active state data structure used by the old software;
- and
- a set of one or more line cards, the line cards to process and forward traffic.
Dependencies are inferred from the claim text.