IP Library › Granted Patent US 7,290,164
Granted Patent B1
US 7,290,164 · App. 10/792,946 · Granted Oct 30, 2007

Method of reverting to a recovery configuration in response to device faults

Assignee: Cisco Technology, Inc.
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,290,164
App. No.
10/792,946
Granted
Oct 30, 2007
Kind
B1
Abstract

A method is disclosed for reverting to a recovery configuration in response to device faults. A change to the configuration is received. The change may be in the form of configuration instructions that comprise input from a user identifying changes to be made to the configuration information reflecting the configuration of cards or interface devices in the device. A user, an IT administrator or the like can provide configuration instructions. The device may change its current configuration to a new configuration based upon the configuration instructions. If a loss of connectivity resulting from the configuration change is detected, the device will recover from the loss of connectivity by reverting to a recovery configuration.

Claims (137)

1. A method of reverting to a recovery configuration in response to faults of a network device, the method comprising the computer-implemented steps of:

receiving configuration instructions;

changing a current configuration to a new configuration based upon the configuration instructions;

detecting a loss of connectivity between the device and a network resulting from the configuration change; and

recovering from the loss of connectivity by reverting to a recovery configuration, wherein the recovery configuration is stored in a persistent storage of the device in association with manufacturing the device, wherein the recovering step further comprises:

retrieving a recovery configuration;

making the recovery configuration the current configuration; and

establishing connectivity to a configuration manager using the recovery configuration.

2. A method as recited in claim 1 , wherein changing a current configuration to a new configuration based upon the configuration instructions comprises:

detecting whether the new configuration will require a change to the current configuration of the device; and if so:

making the proposed change as the current configuration and setting a flag indicating a pending commit state.

3. A method as recited in claim 1 , wherein the step of detecting a loss of connectivity resulting from the configuration change further comprises the steps of:

sending a test message;

determining whether a connection is established; and

invoking a recovery routine if a timeout occurs.

4. A method as recited in claim 3 , wherein sending a test message comprises sending a ping message.

5. A method as recited in claim 1 , wherein the step of recovering from the loss of connectivity by reverting to a recovery configuration further comprises the steps of:

receiving from the configuration manager a network level configuration; and

replacing the current configuration with the network level configuration.

6. A method as recited in claim 1 , wherein the recovery configuration is a boot configuration and wherein establishing connectivity to a configuration manager using the recovery configuration comprises:

establishing connectivity with the configuration manager as a new device.

7. A method as recited in claim 1 , wherein the recovery configuration differs from a boot configuration and wherein establishing connectivity to a configuration manager using the recovery configuration comprises:

establishing connectivity with the configuration manager as a device seeking reconfiguration.

8. A method as recited in claim 1 , wherein retrieving the recovery configuration comprises:

obtaining security credentials enabling the device to establish connectivity to the configuration manager.

9. A method as recited in claim 1 , wherein retrieving the recovery configuration comprises:

obtaining a configuration for a state enabling the device to establish connectivity to the configuration manager.

10. A method as recited in claim 1 , further comprising the steps of:

establishing connectivity to a network using the network level configuration as the current configuration.

11. A method as recited in claim 1 , further comprising the step of:

receiving an updated recovery configuration; and

replacing the recovery configuration with the updated recovery configuration.

12. A method as recited in claim 11 , wherein receiving an updated recovery configuration comprises:

connecting to a configuration manager using a maintenance network connection;

receiving from the configuration manager an updated configuration.

13. A method as recited in claim 1 , further comprising:

blocking changes to the recovery configuration.

14. A method as recited in claim 1 , further comprising:

committing the configuration if a connection is established and no timeout occurs.

15. A method as recited in claim 1 , wherein establishing connectivity to a configuration manager using the recovery configuration comprises:

copying the recovery configuration from a persistent storage to the current configuration for the device; and

rebooting the device.

16. A method as recited in claim 15 , wherein rebooting the device includes loading the recovery configuration into the memory of the device to determine the configuration of interfaces of the device.

17. A method of reverting to a recovery configuration in response to device faults, the method comprising the computer-implemented steps of:

receiving configuration instructions;

changing a current configuration to a new configuration based upon the configuration instructions by

detecting whether the new configuration will require a change to the current configuration of the device; and if so:

making the proposed change as the current configuration and setting a flag indicating pending commit;

detecting a loss of connectivity resulting from the configuration change by sending a test message;

determining whether a connection is established; and

invoking a recovery routine if a timeout occurs; and

recovering from the loss of connectivity by reverting to a recovery configuration by

making a recovery configuration stored in a persistent storage of the device in association with manufacturing the device the current configuration;

establishing connectivity to a configuration manager using the recovery configuration;

receiving from the configuration manager a network level configuration; and

replacing the current configuration with the network level configuration.

18. A computer-readable medium carrying one or more sequences of instructions for reverting to a recovery configuration in response to faults of a network device, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:

receiving configuration instructions;

changing the current configuration to a new configuration based upon the configuration instructions;

detecting a loss of connectivity between the device and a network resulting from the configuration change;

recovering from the loss of connectivity by reverting to a recovery configuration

wherein the recovery configuration is stored in a persistent storage of the device in association with manufacturing the device, wherein the recovering step further comprises:

retrieving the recovery configuration;

making the recovery configuration the current configuration; and

establishing connectivity to a configuration manager using the recovery configuration.

19. A computer-readable medium as recited in claim 18 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of:

storing the recovery configuration into a persistent storage of the device in association with manufacturing the device.

20. A computer-readable medium as recited in claim 19 , wherein the instructions for changing the current configuration to a new configuration based upon the configuration instructions further comprise instructions for carrying out the steps of:

detecting whether the new configuration will require a change to the current configuration of the device; and if so:

making the proposed change as the current configuration and setting a flag indicating pending commit state.

21. A computer-readable medium as recited in claim 19 , wherein the instructions for detecting a loss of connectivity resulting from the configuration change further comprise instructions for carrying out the steps of:

sending a test message;

determining whether a connection is established; and

invoking a recovery routine if a timeout occurs.

22. A computer-readable medium as recited in claim 21 , wherein the instructions for sending a test message further comprising instructions for carrying out the step of:

sending a ping message.

23. A computer-readable medium as recited in claim 19 , wherein the instructions for recovering from the loss of connectivity by reverting to a recovery configuration further comprise instructions for carrying out the steps of:

retrieving a recovery configuration;

making a recovery configuration the current configuration; and

establishing connectivity to a configuration manager using the recovery configuration.

24. A computer readable medium as recited in claim 23 , wherein the instructions for recovering from the loss of connectivity by reverting to a recovery configuration further comprise instructions for carrying out the steps of:

receiving from the configuration manager a network level configuration; and

replacing the current configuration with the network level configuration.

25. A computer-readable medium as recited in claim 23 , wherein the recovery configuration is a boot configuration and wherein the instructions for establishing connectivity to a configuration manager using the recovery configuration further comprise instructions for carrying out the step of:

establishing connectivity with the configuration manager as a new device.

26. A computer-readable medium as recited in claim 23 , wherein the recovery configuration differs from a boot configuration and wherein the instructions for establishing connectivity to a configuration manager using the recovery configuration further comprise instructions for carrying out the step of:

establishing connectivity with the configuration manager as a device seeking reconfiguration.

27. A computer-readable medium as recited in claim 23 , wherein the instructions for retrieving the recovery configuration further comprise instructions for carrying out the step of:

obtaining security credentials enabling the device to establish connectivity to the configuration manager.

28. A computer-readable medium as recited in claim 23 , wherein the instructions for retrieving the recovery configuration further comprise instructions for carrying out the step of:

obtaining a configuration for a state enabling the device to establish connectivity to the configuration manager.

29. A computer-readable medium as recited in claim 23 , further comprises the steps of:

establishing connectivity to a network using the network level configuration as the current configuration.

30. A computer readable medium as recited in claim 23 , wherein the instructions for establishing connectivity to a configuration manager using the recovery configuration further comprise instructions carrying out the steps of:

copying the recovery configuration from a persistent storage to the current configuration for the device; and

rebooting the device.

31. A computer readable medium as recited in claim 30 , wherein rebooting the device includes:

loading the recovery configuration into the memory of the device to determine the configuration of interfaces of the device.

32. A computer-readable medium as recited in claim 19 , further comprising instructions for carrying out the step of:

receiving an updated recovery configuration; and

replacing the recovery configuration with the updated recovery configuration.

33. A computer-readable medium as recited in claim 32 , wherein the instructions for receiving an updated recovery configuration further comprising instructions for carrying out the step of:

connecting to a configuration manager using a maintenance network connection;

receiving from the configuration manager an updated configuration.

34. A computer-readable medium as recited in claim 19 , further comprising instructions for carrying out the step of:

blocking changes to the recovery configuration.

35. A computer-readable medium as recited in claim 19 , further comprising instructions for carrying out the step of:

committing the configuration if a connection is established and no timeout occurs.

36. A computer-readable medium as recited in claim 19 , wherein the instructions for recovering from the loss of connectivity by reverting to a recovery configuration further comprise instructions for carrying out the steps of:

retrieving a recovery configuration; and

making a recovery configuration the current configuration.

37. An apparatus for reverting to a recovery configuration in response to device faults, comprising:

means for storing a proposed change as the current configuration and setting a flag indicating pending commit if the new configuration will require a change to the current configuration of the device;

means for sending a test message and determining whether a connection is established;

means for detecting a timeout;

means for invoking a recovery routine if a timeout occurs;

means for making a recovery configuration the current configuration;

means for establishing connectivity to a configuration manager using the recovery configuration;

means for receiving from the configuration manager a network level configuration; and

means for replacing the current configuration with the network level configuration.

38. An apparatus for reverting to a recovery configuration in response to device faults, comprising:

a network interface that is coupled to the data network for receiving one or more packet flows therefrom;

a processor;

one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

receiving configuration instructions;

changing a current configuration to a new configuration based upon the configuration instructions by

detecting whether the new configuration will require a change to the current configuration of the device; and if so:

making the proposed change as the current configuration and setting a flag indicating pending commit;

detecting a loss of connectivity resulting from the configuration change by sending a test message;

determining whether a connection is established;

detecting a timeout; and

invoking a recovery routine if a timeout occurs; and

recovering from the loss of connectivity by reverting to a recovery configuration by

making a recovery configuration stored in a persistent storage of the device in association with manufacturing the device the current configuration;

establishing connectivity to a configuration manager using the recovery configuration;

receiving from the configuration manager a network level configuration; and

replacing the current configuration with the network level configuration.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE SIGNATURE PAGE INSIDE ASSIGNMENT PREVIOUSLY RECORDED AT REEL: 034523 FRAME: 0654. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 18, 2014
From: CISCO TECHNOLOGY, INC.
To: CISCO SYSTEMS, INC.
Reel/Frame 034674/0182 →
CONFIRMATION OF ASSIGNMENT Recorded Dec 3, 2014
From: CISCO TECHNOLOGY, INC.
To: CISCO SYSTEMS, INC.
Reel/Frame 034523/0654 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2004
From: HARVEY, ANDREW G.; NG, JOHN; WOODMAN, GILBERT R., JR.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 015048/0654 →