A managed network device maintains running configuration information, and changes the information in response to configuration change requests from a network management system (NMS) at a first interface and configuration change requests received from outside the NMS at a second interface, which may include a command line interface and dial-up connection such as TELNET. configuration information for the device is maintained in a database in the NMS, and can become outdated due to the configuration change requests received at the second interface. To update the information in the NMS database, the NMS sends an upload configuration request to the network device, which responds by transferring a configuration file containing the running configuration information to the NMS. The NMS uses the contents of the uploaded configuration file to update the information in the NMS database.
|
20. A network having a plurality of devices, comprising:
a network device being operative (1) to maintain running configuration information of the network device, where the configuration information includes how the devices are connected to each other, the capacities and relative utilization of communication links of the network among the devices and faults and problems on the network, (2) to change the running configuration information in response to (i) configuration change requests received at a first interface and (ii) configuration change requests received at a second interface, and (3) in response to receiving an upload configuration request at the first interface, to transfer a configuration file containing the running configuration information to the source of the request via the first interface; and
a network management system coupled to the network device via the first interface, the network management system being operative (1) to maintain a database including configuration information for the network device, the configuration information potentially being outdated due to the configuration change requests received by the network device at the second interface, and (2) under predetermined conditions, (i) to send an upload configuration request to the network device and to subsequently receive the configuration file from the network device, and (ii) to update the configuration information in the database using the contents of the configuration file.
1. A method of managing configuration information of a network device of a network having a plurality of devices, comprising:
at the network device, (1) maintaining running configuration information of the network device, where the configuration information includes how the devices are connected to each other, the capacities and relative utilization of communication links of the network among the devices and faults and problems on the network, (2) changing the running configuration information in response to (i) configuration change requests received from a network management system at a first interface and (ii) configuration change requests received from outside the network management system at a second interface, and (3) in response to receiving an upload configuration request from the network management system, transferring a configuration file containing the running configuration information to the network management system; and
at the network management system, (1) maintaining a database including configuration information for the network device, the configuration information potentially being outdated due to the configuration change requests received by the network device at the second interface, and (2) under predetermined conditions, (i) sending an upload configuration request to the network device and subsequently receiving the configuration file from the network device, and (ii) updating the configuration information in the database using the contents of the configuration file.
2. A method according to
5. A method according to
6. A method according to
7. A method according to
8. A method according to
9. A method according to
10. A method according to
11. A method according to
12. A method according to
13. A method according to
14. A method according to
15. A method according to
16. A method according to
17. A method according to
18. A method according to
19. A method according to
at the network device, saving the running configuration information in response to save requests received from the network management system; and
at the network management system, under predetermined conditions, sending a save request to the network device.
21. A network according to
24. A network according to
25. A network according to
26. A network according to
27. A network according to
28. A network according to
29. A network according to
30. A network according to
33. A network according to
34. A network according to
35. A network according to
36. A network according to
37. A network according to
38. A network according to
the network device is further operative to save the running configuration information in response to save requests received from the network management system; and
the network management system is further operative to send a save request to the network device under predetermined conditions.
|
None
Not Applicable
The present invention relates to the field of network management in data communications networks.
Network management systems are used to monitor and control the operational behavior of data communications networks and the individual devices included in such networks. Operational characteristics of networks and devices can be monitored to obtain information useful to a network management user such as a network administrator. Such characteristics can include, for example, the manner in which various devices are connected to each other, the capacities and relative utilization of communications links among the devices, the extent and locations of faults or problems in the network such as traffic congestion and packet loss, etc. On the control side, network management systems are utilized to configure the network devices in accordance with a plan of network operation, for example by defining virtual circuits used to carry traffic between devices, and establishing forwarding tables and filtering rules that are used in routing and selective filtering of traffic.
For network management systems to be effective, it is important that they contain accurate information regarding the operational state of the managed devices. Information can be maintained in the network management system based on explicit monitoring of the devices, or based on a combination of monitoring and inferences drawn from control operations. That is, if the network management system is used to configure a network device, the network management can infer that the device's operational configuration is that which would normally result from the stream of configuration commands sent to the device from the network management system. By such operation, the amount of explicit monitoring or polling of a network device to obtain configuration information can be reduced. However, there may be circumstances under which it is desirable to explicitly obtain configuration information from a managed device in order to ensure that device information in the network management system is accurate. Therefore, there is a need for efficient and robust mechanisms by which such information transfers can be accomplished.
In accordance with the present invention, a method and apparatus are disclosed for updating network device information in a network management system so that the information in the network management system becomes synchronized to configuration information maintained at the network device. The method can be performed upon command of a network management user and upon certain events, such as power-up of the device, so that potential problems associated with unsynchronized operation are reduced or avoided. The method is particularly useful with network devices whose configuration can be changed in some way other than via the network management system. In such a case, it is possible that configuration changes are made that the network management system is unaware of, and therefore an explicit transfer of information is needed to ensure that the configuration information maintained by the network management system is accurate.
The network device maintains running configuration information and changes the running configuration information in response to configuration change requests received from the network management system at a first interface. The network device also changes the running configuration information in response to configuration change requests received from outside the network management system at a second interface. The second interface may include a command line interface and associated connection such as a dial-up connection, Internet connection, etc. The network management system maintains a database including configuration information for the network device. The configuration information in this database has the potential to become outdated due to the configuration change requests received by the network device at the second interface. Thus, under predetermined conditions, a “synchronization” process is executed. The network management system sends an upload configuration request to the network device, to which the network device responds by transferring a configuration file containing the running configuration information to the network management system. Upon receiving the configuration file from the network device, the network management system updates the configuration information in the database using the contents of the configuration file. By this mechanism, the configuration information in the network management system database is kept synchronized to the running configuration information of the network device.
In the disclosed system, the synchronization process can be initiated by a network management client in response to input from a user. The network management client sends a synchronization request message to a network management server that maintains the database and exchanges messages with the network device to effect the uploading of the configuration file. The process can also be initiated via a trap message sent by the network device to the network management server under certain conditions, such as upon power-up or upon insertion or removal of a circuit card.
The configuration file may incorporate extensibility for relative ease in upgrading the network device independently of the network management system. In one embodiment, the configuration file employs the Extensible Markup Language (XML) and a Document Type Definition (DTD) that defines the structure of the XML configuration file.
Other aspects, features, and advantages of the present invention will be apparent from the detailed description that follows.
The invention will be more fully understood by reference to the following Detailed Description of the invention in conjunction with the Drawing, of which:
In
The network device 12 is a device such as a switch, router, or similar apparatus that provides communications functionality for user data traffic in a network (not shown in
In addition to the interface to the NMS 10 via the connection 18, the network device 12 also provides a command line interface (CLI) via a separate connection 20, which may be for example a dial-up connection such as TELNET. This second connection 20 enables direct access to the network device 12 for certain purposes when it is necessary or desirable to bypass the NMS 10. Such purposes can include, for example, remotely initiated diagnostic testing of the network device 12, especially if the connection 18 to the NMS 10 is not working. Alternatively, the CLI at the connection 20 may provide access or control functions not available in the NMS 10, such as access to or control of low-level hardware elements or functions. Such dial-up interfaces on network devices are generally known to those skilled in the art.
The network device 12 maintains its configuration information in local non-volatile storage 13, such as flash-programmable memory. By doing so, the network device 12 is able to restore a running configuration after a power loss or similar interruption in operation. The NMS 10 also maintains configuration information for the network device 12. This copy of the configuration information is stored in a database at the server 16, and is used by the NMS 10 in managing the network device 12.
Upon receiving a successful SAVE response 26 from the device 12, the server 16 updates a “last saved time” attribute for the device 12 in the NMS database. Additionally, an UPDATE event 28 is generated and sent to all clients 14 in the system. The UPDATE event 28 provides the updated “last saved time” attribute for the device 12 to the clients 14, which use this information to update records associated with the device 12 for display purposes. In particular, the “last saved time” and other attributes may be listed on a tabbed pane, pop-up pane, or similar display item associated with the device 12 in the graphical user interfaces of the clients 14. Although not shown in
In addition to updating the NMS database and generating the UPDATE event 28, the server 16 generates a SAVE status report 30 to report the status of the SAVE operation to the specific client 14 that initiated the SAVE. The SAVE status report 30 can be used in a variety of ways. For example, the client 14 may allow for only one SAVE to be pending at a time, by disabling SAVEs during the period between sending a SAVE request 22 and receiving the corresponding SAVE status report 30. The SAVE status report 30 can also be used to provide an announcement to the user, such as an error announcement alerting the user to potential problems in the system if an unsuccessful status report is received.
The SAVE process results in the saving of the configuration information at the network device 12. As previously mentioned, the NMS 10 also maintains configuration information for the device 12. While it is beneficial for operational purposes that the NMS 10 and the network device 12 maintain separate copies of the configuration information for the device 12, there is a potential hazard that must be addressed. The configuration information stored in the NMS 10 can become outdated, and therefore inaccurate, when configuration changes are made to the device 12 via the CLI connection 20. In such a case, the NMS 10 and device 12 are said to be “unsynchronized”, because the configuration information in the NMS 10 does not reflect the actual configuration of the device 12. When such an unsynchronized condition exists, the ability of the NMS 10 to correctly manage the device 12 may be impaired. As an example, the NMS 10 may attempt to configure a new virtual router, based on configuration information indicating that the resources needed for a new virtual router are still available at the device 12. However, if configuration changes made to the device 12 via the CLI connection 20 have resulted in the allocation of some or all of the necessary resources to other uses, the device 12 may be unable to create a new virtual router or may do so in an incorrect fashion. Such a situation is preferably avoided.
Upon receiving either the SYNC request 32 or the SYNC trap 34, the server 16 initiates the synchronization operation by sending an UPLOAD request 36 to the network device 12. This message instructs the network device 12 to send its configuration information to the server 16. The server 16 also generates an UPDATE event 38 indicating that a synchronization operation is in progress. Each client 14 receiving the UPDATE event 38 can respond by updating its display in some manner, such as by changing a visual attribute of an icon representing the device 12 or displaying a text message such as “synchronization in progress”.
The device 12 responds to the UPLOAD request 36 by sending an UPLOAD response 40 including a file containing the device's running configuration information. A file transfer protocol such as FTP may be used. The file may be formatted in any of a variety of convenient formats. In one embodiment, the file uses Extensible Markup Language (XML) and has a format defined by a custom Document Type Definition (DTD), an example of which is reproduced below. By using a flexible format such as XML, the network device 12 may be upgraded independently of the NMS 10, as long as the XML browser employed in the NMS 10 can interpret new XML files based on new DTDs that may be used in connection with the upgrade.
Upon receiving the uploaded configuration file included in the UPLOAD response 40 from the device 12, the server 16 updates the corresponding information in the network management database. That is, each record in the uploaded configuration file is copied to a counterpart location in the database, overwriting the previous database contents. Upon completion of this updating, the NMS database becomes synchronized with the configuration information in the network device 12. The server 16 generates a REFRESH event 42 informing the clients 14 that the device information in the database has changed. The clients 14 respond to the REFRESH event by updating the portion of the display pertaining to the device 12. Such updating might include, for example, re-writing a list of virtual routers configured in the device 12, or other displayed information.
In addition to generating the REFRESH event 42, the server 16 sends a SYNC status report 44 to the client 14 that initiated the synchronization, when the synchronization process was initiated by a client 14 rather than by the device 12. The client 14 can use this report for various purposes, such as displaying notifications to the user and re-enabling the synchronization control button to permit subsequent initiation of another synchronization.
It should be noted that in the process of
For illustrative purposes, an exemplary DTD for an XML-based configuration information file is shown below. This DTD is specific to a device 12 of the type described above, i.e. a complex router that can be configured with multiple virtual routers. For this type of device, the configuration information includes lists of such things as the slots and ports of the device, supported virtual LANs (VLANs), MPLS tunnels over which virtual routers communicate with other virtual routers in the network, and information pertaining to supported routing protocols such as OSPF and RIP. It will be appreciated that the elements defined in a DTD will vary considerably depending on the nature of the network device 12.
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE device-config [
<!ELEMENT device-config (chassis, vlan-list?, virtual-management-
router?, virtual-backbone-router?, tunnel-list?, virtual-router-
list?) >
<!ELEMENT chassis (slot-list, chassis-general?) >
<!ELEMENT slot-list (slot*) >
<!ELEMENT slot (var-list, portmapping-list) >
<!ELEMENT portmapping-list (port*) >
<!ELEMENT port (var-list) >
<!ELEMENT chassis-general (var-list) >
<!ELEMENT vlan-list (vlan*) >
<!ELEMENT vlan (var-list) >
<!ELEMENT virtual-management-router (var-list, virtual-router-
interface-list?, protocol-list?, ip-cidr-route-list?) >
<!ELEMENT virtual-backbone-router (var-list, virtual-router-
interface-list, protocol-list?, ip-cidr-route-list?) >
<!ELEMENT tunnel-list (tunnel*, tunnel-resource-list?, tunnel-
hops-list?, tunnel-arhops-list?) >
<!ELEMENT tunnel (static-tunnel|signal-tunnel) >
<!ELEMENT static-tunnel (ingress-tunnel, egress-tunnel) >
<!ELEMENT ingress-tunnel (in-segment, cross-connect, mpls-tunnel)>
<!ELEMENT in-segment (var-list) >
<!ELEMENT cross-connect (var-list) >
<!ELEMENT mpls-tunnel (var-list) >
<!ELEMENT egress-tunnel (out-segment, cross-connect, mpls-tunnel)
>
<!ELEMENT out-segment (var-list) >
<!ELEMENT signal-tunnel (mpls-tunnel) >
<!ELEMENT tunnel-resource-list (tunnel-resource*) >
<!ELEMENT tunnel-hops-list (tunnel-hops*) >
<!ELEMENT tunnel-arhops-list (tunnel-arhops*) >
<!ELEMENT tunnel-resource (var-list) >
<!ELEMENT tunnel-hops (var-list) >
<!ELEMENT tunnel-arhops (var-list) >
<!ELEMENT virtual-router-list (virtual-router*) >
<!ELEMENT virtual-router (var-list, virtual-router-interface-list,
protocol-list, ip-cidr-route-list?) >
<!ELEMENT virtual-router-interface-list (virtual-router-
interface*) >
<!ELEMENT virtual-router-interface (var-list) >
<!ELEMENT protocol-list (ospf?|rip?) >
<!ELEMENT ospf (ospf-general, ospf-interface-list) >
<!ELEMENT ospf-general (var-list) >
<!ELEMENT ospf-interface-list (ospf-interface) >
<!ELEMENT ospf-interface (ospf-area, ospf-interface-entry) >
<!ELEMENT ospf-area (var-list) >
<!ELEMENT ospf-interface-entry (var-list) >
<!ELEMENT ripv2 (ripv2-interface-list?) >
<!ELEMENT ripv2-interface-list (rip2-interface*) >
<!ELEMENT ripv2-interface (var-list) >
<!ELEMENT ip-cidr-route-list ( ip-cidr-route) >
<!ELEMENT ip-cidr-route (var-list) >
<!ELEMENT var-list (var+)>
<!ELEMENT var EMPTY>
<!ATTLIST device-config
version CDATA #REQUIRED
deviceid CDATA #REQUIRED
>
<!ATTLIST slot index CDATA #REQUIRED >
<!ATTLIST port index CDATA #REQUIRED >
<!ATTLIST ip-cidr-route index CDATA #REQUIRED >
<!ATTLIST vlan index CDATA #REQUIRED
>
<!ATTLIST virtual-management-router index CDATA #REQUIRED >
<!ATTLIST virtual-backbone-router index CDATA #REQUIRED >
<!ATTLIST virtual-router index CDATA #REQUIRED >
<!ATTLIST ingress-tunnel
index CDATA #REQUIRED
src CDATA #REQUIRED
dst CDATA #REQUIRED
>
<!ATTLIST egress-tunnel
index CDATA #REQUIRED
src CDATA #REQUIRED
dst CDATA #REQUIRED
>
<!ATTLIST var
oid CDATA #REQUIRED
type (int32|string|ipaddr)
value CDATA #REQUIRED
>
]>
It will be apparent to those skilled in the art that modifications to and variations of the disclosed methods and apparatus are possible without departing from the inventive concepts disclosed herein, and therefore the invention should not be viewed as limited except to the full scope and spirit of the appended claims.
Champagne, Yves-Andre, Luciani, Joan E., Ko, Stella I., Langille, Paul F., McKenna, Edward F.
Patent | Priority | Assignee | Title |
10056978, | Jun 10 2016 | SubCom, LLC | Techniques for provisioning network elements of a data communications network (DCN) and an optical communication system using the same |
10976891, | Dec 08 2009 | Hand Held Products, Inc. | Remote device management interface |
7590072, | Mar 12 2004 | WSOU Investments, LLC | Interworking network maps of network management and element management systems |
7809809, | Jan 13 2004 | Nokia Technologies Oy | Client provisioning using application characteristics template with flag parameters |
7857222, | Aug 16 2007 | HAND HELD PRODUCTS, INC | Data collection system having EIR terminal interface node |
8025233, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
8041788, | Apr 09 2008 | UNITED SERVICES AUTOMOBILE ASSOCIATION USAA | Systems and methods for development of secure shell devices |
8046683, | Apr 29 2004 | Microsoft Technology Licensing, LLC | Structural editing with schema awareness |
8082577, | Apr 09 2008 | UNITED SERVICES AUTOMOBILE ASSOCIATION USAA | Systems and methods for deployment of secure shell devices |
8165993, | Sep 06 2002 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
8255454, | Sep 06 2002 | Oracle International Corporation | Method and apparatus for a multiplexed active data window in a near real-time business intelligence system |
8266241, | Jun 22 2004 | Apple Inc | Image sharing |
8297508, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
8381280, | Apr 09 2008 | United Services Automobile Association (USAA) | Systems and methods for deployment of secure shell devices |
8402095, | Sep 16 2002 | Oracle International Corporation | Apparatus and method for instant messaging collaboration |
8539123, | Oct 06 2011 | Honeywell International, Inc.; HONEYWELL INTERNATIONAL INC , DOING BUSINESS AS D B A HONEYWELL SCANNING & MOBILITY | Device management using a dedicated management interface |
8556174, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
8566693, | Sep 06 2002 | Oracle International Corporation | Application-specific personalization for data display |
8577989, | Sep 06 2002 | Oracle International Corporation | Method and apparatus for a report cache in a near real-time business intelligence system |
8621123, | Oct 06 2011 | Honeywell International Inc.; HONEYWELL INTERNATIONAL INC , DOING BUSINESS AS D B A HONEYWELL SCANNING & MOBILITY | Device management using virtual interfaces |
8638941, | May 15 2008 | Red Hat, Inc. | Distributing keypairs between network appliances, servers, and other network assets |
8789148, | Apr 09 2008 | United Services Automobile Association | Systems and methods for deployment of secure shell devices |
8868803, | Oct 06 2011 | Honeywell Internation Inc. | Managing data communication between a peripheral device and a host |
8918564, | Oct 06 2011 | Honeywell International Inc. | Device management using virtual interfaces |
8925818, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
9053055, | Oct 06 2011 | Honeywell International | Device management using virtual interfaces cross-reference to related applications |
9094258, | Sep 06 2002 | Oracle International Corporation | Method and apparatus for a multiplexed active data window in a near real-time business intelligence system |
9116756, | Jun 22 2004 | Apple Inc. | Image sharing |
9240979, | May 15 2008 | Red Hat, Inc. | Distributing keypairs between network appliances, servers, and other network assets |
9258188, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
9497092, | Dec 08 2009 | Hand Held Products, Inc. | Remote device management interface |
9509801, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
9514104, | Jan 30 2006 | Microsoft Technology Licensing, LLC | Opening network-enabled electronic documents |
9929906, | Aug 16 2007 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
Patent | Priority | Assignee | Title |
6259679, | Mar 06 1998 | Verizon Patent and Licensing Inc | Network management system |
6480955, | Jul 09 1999 | NetApp, Inc | Methods and apparatus for committing configuration changes to managed devices prior to completion of the configuration change |
20020069272, | |||
20030018755, | |||
20030028624, | |||
20030105838, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 22 2002 | Ericsson AB | (assignment on the face of the patent) | / | |||
Apr 09 2002 | CHAMPAGNE, YVES-ANDRE | CRESCENT NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012837 | /0338 | |
Apr 09 2002 | LUCIANI, JOAN E | CRESCENT NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012837 | /0338 | |
Apr 09 2002 | MCKENNA, EDWARD F | CRESCENT NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012837 | /0338 | |
Apr 10 2002 | KO, STELLA I | CRESCENT NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012837 | /0338 | |
Apr 12 2002 | LANGILLE, PAUL F | CRESCENT NETWORKS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012837 | /0338 | |
Nov 19 2003 | CRESCENT NETWORKS, INC | COMDISCO VENTURES, INC | TRANSFER STATEMENT | 014141 | /0684 | |
Dec 22 2003 | COMDISCO VENTURES, INC | MARCONI INTELLECTUAL PROPERTY RINGFENCE , INC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 014222 | /0069 | |
Jan 01 2006 | MARCONI INTELLECTUAL PROPERTY RINGFENCE INC | Ericsson AB | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018047 | /0028 |
Date | Maintenance Fee Events |
Sep 07 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 08 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 06 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 06 2010 | 4 years fee payment window open |
Sep 06 2010 | 6 months grace period start (w surcharge) |
Mar 06 2011 | patent expiry (for year 4) |
Mar 06 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 06 2014 | 8 years fee payment window open |
Sep 06 2014 | 6 months grace period start (w surcharge) |
Mar 06 2015 | patent expiry (for year 8) |
Mar 06 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 06 2018 | 12 years fee payment window open |
Sep 06 2018 | 6 months grace period start (w surcharge) |
Mar 06 2019 | patent expiry (for year 12) |
Mar 06 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |