Patentable/Patents/US-8090806
US-8090806

Two-stage network device configuration process

PublishedJanuary 3, 2012
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method and apparatus for modifying the configuration of a network device, such as a router, using a two-stage configuration model is provided. A first request for a change in configuration of a network device is received. Configuration data that describes the change in configuration of the network device is stored in a buffer. A second request to modify the current operational state of the network device to reflect the configuration data stored in the buffer is received. An exclusive lock on the network device is obtained. The current operational state of the network device is modified to reflect the configuration data stored in the buffer. Multiple users may modify the network device without interfering with one another because conflicts are avoided through use of an exclusive lock. Requests of different management operations may be contained within XML documents that are transmitted from the client to the network device.

Patent Claims
45 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: receiving, at a network device, a first request for a change in configuration of a network device to a potential operational state from a current operational state of the network device, wherein the first request comprises configuration data that describes the change in configuration of the network device; storing the configuration data from the first request in a buffer, wherein the change in configuration described by the configuration data includes two or more configuration changes; after the storing, receiving, at the network device, a second request to modify the current operational state of the network device to reflect the configuration data stored in the buffer, wherein the second request specifies that the current operational state of the network device should be modified to reflect any of the two or more configuration changes that can be performed even when at least one of the two or more configuration changes cannot be performed; obtaining an exclusive lock on the network device; modifying the current operational state of the network device to reflect the configuration data only upon obtaining the exclusive lock by: determining that the second request does not require at least one of the two or more configuration changes to be performed; and in response to determining that the second request does not require at least one of the two or more configuration changes described by the configuration data to be performed: modifying the current operational state of the network device to reflect one or more configuration changes that can be performed, wherein one or more other configuration changes are not capable of being performed and are not performed, wherein the two or more configuration changes comprise one or more configuration changes that can be performed and the one or more other configuration changes that are not capable of being performed; in response to a determination that a third request requires that each of a set of two or more configuration changes be performed: determining if each configuration change of the set of two or more configuration changes is capable of being performed, and modifying the current operational state of the network device to reflect the configuration data only if each configuration change of the set of two or more configuration changes is capable of being performed.

2

2. The method of claim 1 , wherein the network device is a router.

3

3. The method of claim 1 , wherein modifying the current operational state further comprises: storing the configuration data from the buffer to a device configuration database.

4

4. The method of claim 3 , wherein the configuration data stored in the device configuration database reflects only a set of configuration options that changed from a first operational state of the network device to a second operational state of the network device.

5

5. The method of claim 3 , wherein the device configuration database stores configuration history data that describes all changes in an operational state of the network device that occur over a period of time; and further comprising: creating and providing a view of the configuration history data stored in the device configuration database associated with a particular point in time.

6

6. The method of claim 5 , further comprising: generating, based on the configuration history data, a set of configuration changes that describe the change in configuration between two different operational states of the network device.

7

7. The method of claim 1 , further comprising creating and storing information identifying, for each of the two or more configuration changes, when the configuration change was made, what user initiated the configuration change, and a location from which the configuration change was initiated.

8

8. The method of claim 1 , further comprising: prior to receiving the second request, creating and providing a view of the configuration data stored in the buffer.

9

9. The method of claim 1 , wherein the buffer is a particular buffer in a set of buffers, and wherein the step of storing the configuration data further comprises: determining that the particular buffer in the set of buffers is associated with a particular user associated with the first request.

10

10. The method of claim 1 , further comprising: determining whether the first request contains one or more syntax errors; and in response to a determination that the first request contains one or more syntax errors, informing a user associated with the first request that the first request contains one or more syntax errors.

11

11. The method of claim 1 , further comprising: determining whether the second request contains one or more semantic errors or one or more verification errors; and in response to a determination that the second request contains one or more semantic errors or one or more verification errors, informing a user associated with the second request that the second request contains one or more semantic errors or one or more verification errors.

12

12. The method of claim 1 , wherein the first request is associated with a first user that holds an exclusive lock, wherein the exclusive lock indicates that only the holder of the exclusive lock may effect change to the current operational state of the network device, and further comprising: determining that a fourth request to change the configuration of the network device is associated with a second user who does not have the exclusive lock; and notifying the second user that the fourth request is not performed.

13

13. The method of claim 1 , further comprising: receiving a fourth request to change the configuration of the network device from the current operational state of the network device to a prior operational state of the network device; determining if a user associated with the fourth request has a sufficient privilege level for the third request to be performed; and changing the configuration of the network device from the current operational state of the network device to the prior operational state of the network device upon determining that the user has the sufficient privilege level for the fourth request to be performed.

14

14. The method of claim 1 , wherein the first request and the second request are received using a command line interface (CLI).

15

15. The method of claim 1 , wherein the first request and the second request are received in an XML document.

16

16. A non-transitory machine-readable medium carrying one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: receiving, at a network device, a first request for a change in configuration of a network device to a potential operational state from a current operational state of the network device, wherein the first request comprises configuration data that describes the change in configuration of the network device; storing the configuration data from the first request in a buffer, wherein the change in configuration described by the configuration data includes two or more configuration changes; after the storing, receiving, at the network device, a second request to modify the current operational state of the network device to reflect the configuration data stored in the buffer, wherein the second request specifies that the current operational state of the network device should be modified to reflect any of the two or more configuration changes that can be performed even when at least one of the two or more configuration changes cannot be performed; obtaining an exclusive lock on the network device; modifying the current operational state of the network device to reflect the configuration data only upon obtaining the exclusive lock by: determining that the second request does not require at least one of the two or more configuration changes to be performed; and in response to determining that the second request does not require at least one of the two or more configuration changes described by the configuration data to be performed: modifying the current operational state of the network device to reflect one or more configuration changes that can be performed, wherein one or more other configuration changes are not capable of being performed and are not performed, wherein the two or more configuration changes comprise one or more configuration changes that can be performed and the one or more other configuration changes that are not capable of being performed; in response to a determination that a third request requires that each of a set of two or more configuration changes be performed: determining if each configuration change of the set of two or more configuration changes is capable of being performed, and modifying the current operational state of the network device to reflect the configuration data only if each configuration change of the set of two or more configuration changes is capable of being performed.

17

17. The non-transitory machine-readable medium of claim 16 , wherein the network device is a router.

18

18. The non-transitory machine-readable medium of claim 16 , wherein modifying the current operational state further comprises: storing the configuration data from the buffer to a device configuration database.

19

19. The non-transitory machine-readable medium of claim 18 , wherein the configuration data stored in the device configuration database reflects only a set of configuration options that changed from a first operational state of the network device to a second operational state of the network device.

20

20. The non-transitory machine-readable medium of claim 18 , wherein the device configuration database stores configuration history data that describes all changes in an operational state of the network device that occur over a period of time; and wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the step of: creating and providing a view of the configuration history data stored in the device configuration database associated with a particular point in time.

21

21. The non-transitory machine-readable medium of claim 20 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the step of: generating, based on the configuration history data, a set of configuration changes that describe the change in configuration between two different operational states of the network device.

22

22. The non-transitory machine-readable medium of claim 16 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the step of: creating and storing information identifying, for each of the two or more configuration changes, when the configuration change was made, what user initiated the configuration change, and a location from which the configuration change was initiated.

23

23. The non-transitory machine-readable medium of claim 16 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the step of: prior to receiving the second request, creating and providing a view of the configuration data stored in the buffer.

24

24. The non-transitory machine-readable medium of claim 16 , wherein the buffer is a particular buffer in a set of buffers, and wherein the step of storing the configuration data further comprises: determining that the particular buffer in the set of buffers is associated with a particular user associated with the first request.

25

25. The non-transitory machine-readable medium of claim 16 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the steps of: determining whether the first request contains one or more syntax errors; and in response to a determination that the first request contains one or more syntax errors, informing a user associated with the first request that the first request contains one or more syntax errors.

26

26. The non-transitory machine-readable medium of claim 16 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the steps of: determining whether the second request contains one or more semantic errors or one or more verification errors; and in response to a determination that the first second contains one or more semantic errors or one or more verification errors, informing a user associated with the second request that the second request contains one or more semantic errors or one or more verification errors.

27

27. The non-transitory machine-readable medium of claim 16 , wherein the first request is associated with a first user that holds an exclusive lock, wherein the exclusive lock indicates that only the holder of the exclusive lock may effect change to the current operational state of the network device, and wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the steps of: determining that a fourth request to change the configuration of the network device is associated with a second user who does not have the exclusive lock; and notifying the second user that the fourth request is not performed.

28

28. The non-transitory machine-readable medium of claim 16 , wherein execution of the one or more sequences of instructions by one or more processors further causes the one or more processors to perform the steps of: receiving a fourth request to change the configuration of the network device from the current operational state of the network device to a prior operational state of the network device; determining if a user associated with the fourth request has a sufficient privilege level for the third request to be performed; and changing the configuration of the network device from the current operational state of the network device to the prior operational state of the network device upon determining that the user has the sufficient privilege level for the fourth request to be performed.

29

29. The non-transitory machine-readable medium of claim 16 , wherein the first request and the second request are received using a command line interface (CLI).

30

30. The non-transitory machine-readable medium of claim 16 , wherein the first request and the second request are received in an XML document.

31

31. An apparatus comprising a memory storing instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of: receiving, at a network device, a first request for a change in configuration of a network device to a potential operational state from a current operational state of the network device, wherein the first request comprises configuration data that describes the change in configuration of the network device; storing the configuration data from the first request in a buffer, wherein the change in configuration described by the configuration data includes two or more configuration changes; after the storing, receiving, at the network device, a second request to modify the current operational state of the network device to reflect the configuration data stored in the buffer, wherein the second request specifies that the current operational state of the network device should be modified to reflect any of the two or more configuration changes that can be performed even when at least one of the two or more configuration changes cannot be performed; obtaining an exclusive lock on the network device; modifying the current operational state of the network device to reflect the configuration data only upon obtaining the exclusive lock by: determining that the second request does not require at least one of the two or more configuration changes to be performed; and in response to determining that the second request does not require at least one of the two or more configuration changes described by the configuration data to be performed: modifying the current operational state of the network device to reflect one or more configuration changes that can be performed, wherein one or more other configuration changes are not capable of being performed and are not performed, wherein the two or more configuration changes comprise one or more configuration changes that can be performed and the one or more other configuration changes that are not capable of being performed; in response to a determination that a third request requires that each of a set of two or more configuration changes be performed: determining if each configuration change of the set of two or more configuration changes is capable of being performed, and modifying the current operational state of the network device to reflect the configuration data only if each configuration change of the set of two or more configuration changes is capable of being performed.

32

32. The apparatus of claim 31 , wherein the network device is a router.

33

33. The apparatus of claim 31 , wherein the step of modifying the current operational state further comprises: storing the configuration data from the buffer to a device configuration database.

34

34. The apparatus of claim 33 , wherein the configuration data stored in the device configuration database reflects only a set of configuration options that changed from a first operational state of the network device to a second operational state of the network device.

35

35. The apparatus of claim 33 , wherein the device configuration database stores configuration history data that describes all changes in an operational state of the network device that occur over a period of time; and wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of: creating and providing a view of the configuration history data stored in the device configuration database associated with a particular point in time.

36

36. The apparatus of claim 35 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of: generating, based on the configuration history data, a set of configuration changes that describe the change in configuration between two different operational states of the network device.

37

37. The apparatus of claim 31 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of: creating and storing information identifying, for each of the two or more configuration changes, when the configuration change was made, what user initiated the configuration change, and a location from which the configuration change was initiated.

38

38. The apparatus of claim 31 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of: prior to receiving the second request, creating and providing a view of the configuration data stored in the buffer.

39

39. The apparatus of claim 31 , wherein the buffer is a particular buffer in a set of buffers, and wherein the step of storing the configuration data further comprises: determining that the particular buffer in the set of buffers is associated with a particular user associated with the first request.

40

40. The apparatus of claim 31 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of: determining whether the first request contains one or more syntax errors; and in response to a determination that the first request contains one or more syntax errors, informing a user associated with the first request that the first request contains one or more syntax errors.

41

41. The apparatus of claim 31 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of: determining whether the second request contains one or more semantic errors or one or more verification errors; and in response to a determination that the first second contains one or more semantic errors or one or more verification errors, informing a user associated with the second request that the second request contains one or more semantic errors or one or more verification errors.

42

42. The apparatus of claim 31 , wherein the first request is associated with a first user that holds an exclusive lock, wherein the exclusive lock indicates that only the holder of the exclusive lock may effect change to the current operational state of the network device, and wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of: determining that a fourth request to change the configuration of the network device is associated with a second user who does not have the exclusive lock; and notifying the second user that the fourth request is not performed.

43

43. The apparatus of claim 31 , wherein the memory further comprises one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of: receiving a fourth request to change the configuration of the network device from the current operational state of the network device to a prior operational state of the network device; determining if a user associated with the fourth request has a sufficient privilege level for the third request to be performed; and changing the configuration of the network device from the current operational state of the network device to the prior operational state of the network device upon determining that the user has the sufficient privilege level for the fourth request to be performed.

44

44. The apparatus of claim 31 , wherein the first request and the second request are received using a command line interface (CLI).

45

45. The apparatus of claim 31 , wherein the first request and the second request are received in an XML document.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 10, 2004

Publication Date

January 3, 2012

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Two-stage network device configuration process” (US-8090806). https://patentable.app/patents/US-8090806

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.