IP Library Granted Patent US 7,689,678
Granted Patent B2
US 7,689,678 · App. 10/133,163 · Granted Mar 30, 2010

Method and apparatus for restoring the configuration of a network device

Assignee: Extreme Networks
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,689,678
App. No.
10/133,163
Granted
Mar 30, 2010
Kind
B2
Abstract

A method and apparatus is provided to restore the configuration of a network device. A configuration manager in a network device saves a version of the configuration of the network device by storing the configuration data in an format that conforms to a standard markup language such as the extended markup language (XML). The format includes a sequence of corresponding tags and values that represent the content of the internal data structures in the memory of the router that comprise the saved version of the configuration. At the time of restoration, an parser is used to parse the values from the tags and the configuration manager restores the contents of the internal data structures in the memory of the router to the parsed values in accordance with the corresponding tags.

Claims (54)

1. In a network router operating within a Local Area Network (LAN), a method comprising:

accessing, via a configuration manager that operates from within the network router, a device independent data structure stored in a non-volatile memory of the network router and communicatively interfaced with the configuration manager, the device independent data structure comprising operational parameters for the network router, wherein the device independent data structure conforms to a standardized markup language and is not device-specific or vendor-specific;

accessing, via the configuration manager of the network router, an internal memory structure stored in a volatile memory of the network router and communicatively interfaced with the configuration manager, wherein the common internal data structure is a proprietary device-specific data structure whose contents represent the then currently running configuration of the network router;

mapping, via a Universal Management Object Layer (UMOL) of the network router that is communicatively interfaced with the configuration manager and operates in conjunction with the configuration manager, the operational parameters accessed from the device independent data structure to the currently running configuration in the internal memory structure;

re-populating, via the UMOL of the network router in conjunction with the configuration manager, the operational parameters for the network router accessed from the device independent data structure into corresponding locations within the proprietary device-specific data structure based upon the mapping of the operational parameters to the currently running configuration; and

wherein re-populating the operational parameters comprises restoring the currently running configuration of the network router from the device independent data structure stored in the non-volatile memory of the network router without having to re-process a plurality of commands used to originally generate the currently running configuration of the network router;

modifying one or more operational parameters of the currently running configuration responsive to command input received at the network router;

mapping the modified operational parameters of the currently running configuration to the device independent data structure;

modifying the device independent data structure stored in the non-volatile memory of the network router by loading the modified operational parameters of the currently running configuration directly into the device independent data structure; and

storing the modified device independent data structure in the non-volatile memory of the network router, wherein the modified device independent data structure reflects the modifications made to the currently running configuration responsive to the command input, and wherein the modified device independent data structure to be later restored to the network router as the currently running configuration, or sent to a second network router to be loaded as a new active currently running configuration for the second network router, or both.

2. The method of claim 1 , further comprising:

receiving a second device independent data structure comprising new operational parameters from a second network router;

mapping the new operational parameters of the second device independent data structure to the currently running configuration in the internal memory structure; and

populating the new operational parameters of the second device independent data structure directly into the currently running configuration in the internal memory structure based on the mapping of the new operational parameters to the currently running configuration.

3. The method of claim 2 , wherein the first network router and the second network router are of different vendor types.

4. The method of claim 1 , wherein re-populating the operational parameters comprises one of:

re-populating the operational parameters responsive to a startup routine for the network router;

re-populating the operational parameters prior to a restart of the network router to make the re-populated operational parameters active in the network router;

re-populating the operational parameters automatically in accordance with a pre-determined schedule; and

re-populating the operational parameters responsive to an external command received at the configuration manager of the network router.

5. The method of claim 1 , further comprising:

mapping the re-populated operational parameters of the currently running configuration to the device independent data structure;

loading the operational parameters of the currently running configuration directly into the device independent data structure; and

sending the device independent data structure to a second network router for use by the second network router to load as a new active currently running configuration.

6. The method of claim 1 , wherein the operational parameters of the device independent data structure comprises a plurality of parameter-value pairs, and wherein

mapping the operational parameters of the device independent data structure to the currently running configuration in the internal memory structure comprises mapping data values within the parameter-value pairs to locations in the internal memory structure.

7. The method of claim 1 , wherein the device independent data structure is formatted in accordance with an Extensible Markup Language (“XML”) convention.

8. A network router operating in a Local Area Network (LAN) and having instructions stored thereon that, when executed by a processor, cause the network router to perform a method comprising:

accessing, via a configuration manager that operates from within the network router, a device independent data structure stored in a non-volatile memory of the network router and communicatively interfaced with the configuration manager, the device independent data structure comprising operational parameters for the network router, wherein the device independent data structure conforms to a standardized markup language and is not device-specific or vendor-specific;

accessing, via the configuration manager of the network router, an internal memory structure stored in a volatile memory of the network router and communicatively interfaced with the configuration manager, wherein the common internal data structure is a proprietary device-specific data structure whose contents represent the then currently running configuration of the network router;

mapping, via a Universal Management Object Layer (UMOL) of the network router that is communicatively interfaced with the configuration manager and operates in conjunction with the configuration manager, the operational parameters accessed from the device independent data structure to the currently running configuration in the internal memory structure;

re-populating, via the UMOL of the network router in conjunction with the configuration manager, the operational parameters for the network router accessed from the device independent data structure into corresponding locations within the proprietary device-specific data structure based upon the mapping of the operational parameters to the currently running configuration; and

wherein re-populating the operational parameters comprises restoring the currently running configuration of the network router from the device independent data structure stored in the non-volatile memory of the network router without having to re-process a plurality of commands used to originally generate the currently running configuration of the network router;

modifying one or more operational parameters of the currently running configuration responsive to command input received at the network router;

mapping the modified operational parameters of the currently running configuration to the device independent data structure;

modifying the device independent data structure stored in the non-volatile memory of the network router by loading the modified operational parameters of the currently running configuration directly into the device independent data structure; and

storing the modified device independent data structure in the non-volatile memory of the network router, wherein the modified device independent data structure reflects the modifications made to the currently running configuration responsive to the command input, and wherein the modified device independent data structure to be later restored to the network router as the currently running configuration, or sent to a second network router to be loaded as a new active currently running configuration for the second network router, or both.

9. The method of claim 8 , further comprising:

receiving a second device independent data structure comprising new operational parameters from a second network router;

mapping the new operational parameters of the second device independent data structure to the currently running configuration in the internal memory structure; and

populating the new operational parameters of the second device independent data structure directly into the currently running configuration in the internal memory structure based on the mapping of the new operational parameters to the currently running configuration.

10. The method of claim 9 , wherein the first network router and the second network router are of different vendor types.

11. The method of claim 8 , wherein re-populating the operational parameters comprises one of:

re-populating the operational parameters responsive to a startup routine for the network router;

re-populating the operational parameters prior to a restart of the network router to make the re-populated operational parameters active in the network router;

re-populating the operational parameters automatically in accordance with a pre-determined schedule; and

re-populating the operational parameters responsive to an external command received at the configuration manager of the network router.

12. The method of claim 8 , further comprising:

mapping the re-populated operational parameters of the currently running configuration to the device independent data structure;

loading the operational parameters of the currently running configuration directly into the device independent data structure; and

sending the device independent data structure to a second network router for use by the second network router to load as a new active currently running configuration.

13. The method of claim 8 , wherein the operational parameters of the device independent data structure comprises a plurality of parameter-value pairs, and wherein

mapping the operational parameters of the device independent data structure to the currently running configuration in the internal memory structure comprises mapping data values within the parameter-value pairs to locations in the internal memory structure.

14. The method of claim 8 , wherein the device independent data structure is formatted in accordance with an Extensible Markup Language (“XML”) convention.

Assignments (9)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2002
From: YIP, MICHAEL; ZHONG, YEEPING CHEN
To: EXTREME NETWORKS
Reel/Frame 012840/0807 →
Continuity (1)
Related Publication 20030204578A1 · Oct 30, 2003