WO2017122365A1 - 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置 - Google Patents

逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置 Download PDF

Info

Publication number
WO2017122365A1
WO2017122365A1 PCT/JP2016/051193 JP2016051193W WO2017122365A1 WO 2017122365 A1 WO2017122365 A1 WO 2017122365A1 JP 2016051193 W JP2016051193 W JP 2016051193W WO 2017122365 A1 WO2017122365 A1 WO 2017122365A1
Authority
WO
WIPO (PCT)
Prior art keywords
setting
rollback
communication device
reverse command
setting data
Prior art date
Application number
PCT/JP2016/051193
Other languages
English (en)
French (fr)
Inventor
大輔 竹澤
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2016/051193 priority Critical patent/WO2017122365A1/ja
Priority to JP2017561499A priority patent/JP6525067B2/ja
Publication of WO2017122365A1 publication Critical patent/WO2017122365A1/ja

Links

Images

Definitions

  • the present invention relates to a reverse command generation program, a reverse command generation method, and a reverse command generation device.
  • SDN Software-Defined Networking
  • VLAN Virtual Local Area Network
  • JP 2011-199623 A Japanese Patent Laid-Open No. 2015-142167
  • a reverse command is generated from a command that reflects the contents edited by the operation at the time of network setting, and when the rollback is instructed, the reverse command is used to change the setting of the network device.
  • a rollback process for returning to the previous state may be performed.
  • network settings are not always performed via a network management device.
  • a network administrator or the like connects to a network device via a protocol such as telnet, and via a CLI (Command Line Interface) or the like. Settings may be made.
  • the reverse command may not be generated. If a reverse command that was generated before is executed even though the reverse command could not be generated in this way, the rollback is executed with the settings made via CLI etc ignored. Will be. As a result, a problem may occur in the network due to the execution of the reverse command.
  • an object of the present invention is to provide a reverse command generation program, a reverse command generation method, and a reverse command generation device that can suppress a network failure caused by execution of a reverse command.
  • the reverse command generation program stores the first setting data stored in the communication device in a predetermined storage unit each time the setting of the communication device is updated, and the processing for accepting a setting operation on the communication device A process for acquiring the second setting data stored in the communication apparatus from the communication apparatus that is the target of the received setting operation, and a setting command that is transmitted to the communication apparatus based on the acquired second setting data Stored in the storage unit when there is a difference between the process of generating the reverse command of the first command and the second setting data acquired in the acquiring process and the first setting data stored in the storage unit And causing the computer to execute a process of invalidating the reverse command generated based on the first setting data.
  • FIG. 1 is a diagram illustrating a configuration example of a network management system according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a functional configuration of the network management apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of generation of a reverse command.
  • FIG. 4 is a diagram illustrating an example of operation history data.
  • FIG. 5 is a schematic diagram showing a time series of setting operations and setting contents.
  • FIG. 6 is a diagram illustrating an example of a rollback list screen.
  • FIG. 7 is a diagram illustrating an example of a rollback list screen.
  • FIG. 8 is a diagram illustrating an example of a rollback list screen.
  • FIG. 9 is a diagram illustrating an example of a rollback list screen.
  • FIG. 1 is a diagram illustrating a configuration example of a network management system according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a functional configuration of the network management apparatus according to the first embodiment.
  • FIG. 10 is a flowchart illustrating the procedure of the reverse command generation process according to the first embodiment.
  • FIG. 11 is a flowchart (1) illustrating the procedure of the rollback process according to the first embodiment.
  • FIG. 12 is a flowchart (2) illustrating the procedure of the rollback process according to the first embodiment.
  • FIG. 13 is a diagram illustrating a hardware configuration example of a computer that executes a rollback processing control program according to the first and second embodiments.
  • FIG. 1 is a diagram illustrating a configuration example of a network management system according to the first embodiment.
  • the network management system 1 shown in FIG. 1 provides a network management service for managing the network devices 30A to 30C that construct the network NW.
  • the network management system 1 executes various settings for the network devices 30A to 30C, The settings for the devices 30A to 30C can be rolled back.
  • the network management system 1 includes a network management device 10, network devices 30A to 30C, and a client terminal 50.
  • the network devices 30A to 30C may be collectively referred to as “network device 30”.
  • FIG. 1 illustrates the case where the three network devices 30A, 30B, and 30C are accommodated in the network management device 10, the present invention is not limited to this. That is, the number of network devices 30 accommodated by the network management device 10 may be arbitrary.
  • the network management device 10 is a computer that provides the network management service.
  • the network management apparatus 10 can be implemented as an SDN (Software-Defined Networking) controller by installing package software and online software for realizing the network management service on a desired computer.
  • SDN Software-Defined Networking
  • the network management device 10 executes management including monitoring, setting, and control of Carrier Ethernet (registered trademark) such as IP-VPN (Internet Protocol Virtual Private Network) and wide area Ethernet (registered trademark).
  • Carrier Ethernet registered trademark
  • IP-VPN Internet Protocol Virtual Private Network
  • NFV Network Function Virtualization
  • the network device 30 is a device for constructing the network NW, and for example, a data transfer device such as a router or a switch, a firewall, a load balancer, or the like can be employed.
  • the client terminal 50 is a computer that receives the above-described network management service, and is used, for example, by a related person such as a network administrator who manages the network NW.
  • FIG. 2 is a block diagram illustrating a functional configuration of the network management apparatus 10 according to the first embodiment.
  • the network management apparatus 10 includes a communication I / F (interface) unit 11, a storage unit 13, and a control unit 15.
  • the network management apparatus 10 may include various functional units included in known computers, for example, functional units such as various input devices and audio output devices, in addition to the functional units illustrated in FIG.
  • the communication I / F unit 11 is an interface that performs communication control with other devices such as the network device 30 and the client terminal 50.
  • the communication I / F unit 11 can employ a network interface card such as a LAN card.
  • the communication I / F unit 11 transmits a command related to the network setting or the reverse command to the network device 30, or a configuration file stored in the network device 30 from the network device 30, for example, “running-config” or “startup” -config ".
  • the communication I / F unit 11 receives an edit operation for network settings and a rollback instruction regarding network settings from the client terminal 50.
  • the communication I / F unit 11 transmits to the client terminal 50 an editing screen for editing network settings, a rollback list screen on which a list of setting operations to be rolled back is listed, and the like.
  • the storage unit 13 is a storage device that stores data used for various programs such as an OS (Operating System) executed by the control unit 15 and a network management program for realizing the network management service.
  • OS Operating System
  • the storage unit 13 can be implemented as an auxiliary storage device in the network management device 10.
  • the storage unit 13 may employ an HDD (Hard Disk Drive), an optical disk, an SSD (Solid State Drive), or the like.
  • the storage unit 13 does not necessarily have to be mounted as an auxiliary storage device, and can also be mounted as a main storage device in the network management device 10.
  • various semiconductor memory elements such as RAM (Random Access Memory) and flash memory can be employed for the storage unit 13.
  • the storage unit 13 stores operation history data 13a and reverse command data 13b as an example of data used in a program executed by the control unit 15. In this way, in addition to the operation history data 13a and the reverse command data 13b shown in FIG. 2, other electronic data can be stored together.
  • the storage unit 13 extracts a difference by comparing configuration files stored between the network management device 10 and each network device 30 such as “running-config” and “startup-config”. In addition, a copy of the setting file stored in each network device 30 can be stored.
  • the storage unit 13 stores user authority data in which a network device 30 or a group of network devices 30 that permit network settings for each user is defined in order to manage the authority of a user such as a network administrator. can do. Further, the storage unit 13 can store a template of a setting command in order to generate a reverse command from the network setting command. In addition, in order to manage the topology of the network NW, the storage unit 13 can also store device data related to the network device 30, link data related to the link formed by the network device 30, and the like.
  • the control unit 15 has an internal memory for storing various programs and control data, and executes various processes using these.
  • control unit 15 is implemented as a central processing unit, a so-called CPU (Central Processing Unit).
  • CPU Central Processing Unit
  • the control unit 15 does not necessarily have to be implemented as a central processing unit, and may be implemented as an MPU (Micro Processing Unit).
  • MPU Micro Processing Unit
  • the control unit 15 can be realized by hard wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the control unit 15 develops a network management program stored in the storage unit 13 on a RAM work area such as a DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) implemented as a main storage device (not shown).
  • a RAM work area such as a DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) implemented as a main storage device (not shown).
  • the control unit 15 includes a first reception unit 15a, a monitoring unit 15b, a setting unit 15c, a reverse command generation unit 15d, a rollback control unit 15e, and an output control unit 15f.
  • a second receiving unit 15g the control unit 15g.
  • the first accepting unit 15a is a processing unit that accepts various settings for the network device 30.
  • the first accepting unit 15a can accept various settings for the network device 30 via a GUI (Graphical User Interface).
  • GUI Graphic User Interface
  • the first reception unit 15a has a GUI component that performs network setting in a state in which designation of the network device 30 is received on a map in which the topology of a physical network or a virtual network is visualized, for example, a mouse is over.
  • the first accepting unit 15a can individually accept settings for one network device 30, or collectively accept settings for a plurality of network devices 30, for example, a group of network devices 30 in which group settings are performed.
  • the first receiving unit 15a can receive settings such as a VLAN (Virtual Local Area Network) and a subnet. Thereafter, the first accepting unit 15a accepts an operation for reflecting the contents accepted for editing in the setting.
  • VLAN Virtual Local Area Network
  • the first accepting unit 15a accepts an operation for reflecting the contents accepted for editing in the setting.
  • operations for accepting editing of settings, and operations for reflecting the contents accepted for editing in settings may be collectively referred to as “setting operations”.
  • the monitoring unit 15b is a processing unit that monitors the network NW.
  • the monitoring unit 15b is, as an example only, when a setting operation is received by the first receiving unit 15a, for example, when a new registration or setting change of a setting for one or a plurality of network devices 30 is performed, The following processing is executed.
  • the monitoring unit 15b reads “startup-config” read from a nonvolatile memory such as NVRAM (Non Volatile RAM) at the time of startup from the network device 30 on which the setting operation has been performed, and “running” expanded on the RAM. -config ". Then, the monitoring unit 15b compares the two setting files “startup-config” and “running-config” acquired from the network device 30 on which the setting operation has been performed, so that the two setting files match. It is determined whether or not to do. For example, the monitoring unit 15b can determine the presence / absence of a difference between the two setting files by executing a process of calculating a diff or a hash value from the two setting files.
  • NVRAM Non Volatile RAM
  • startup-config and “running-config” do not match, the following situation can be determined.
  • a network administrator or the like is connected to the network device 30 via a protocol such as telnet and set via a CLI (Command Line Interface) or the like.
  • CLI Common Line Interface
  • the situation where "running-config” was updated without intervention can be estimated.
  • network setting performed by a command performed via the CLI may be referred to as “external command operation”.
  • the external command operation is performed in this way, the updated “running-config” acquired from the network device 30 and the “running-config” before the update that the storage unit 13 stores for management of the network device 30.
  • the setting command corresponding to the content of the update cannot always be interpreted, and the reverse command cannot always be generated.
  • a malfunction may occur in the network NW. Therefore, in order to restrict the rollback to the operation before the external command operation is performed, the reverse command generated before the external command operation is performed is invalidated.
  • the monitoring unit 15b refers to link data (not shown) stored in the storage unit 13.
  • the link data includes a deletion flag indicating whether or not the link is deleted from the topology. For example, if the deletion flag is “false”, the link has not been deleted, and if the deletion flag is “true”, it can be determined that the link has been deleted. With reference to such link data, the monitoring unit 15b determines whether or not “false” is set in the deletion flag regarding the link including the network device 30 whose setting is edited.
  • the monitoring unit 15b stores the “startup-config” acquired from the network device 30 first, and the storage unit 13 compares “startup-config” stored for management of the network device 30. For example, the monitoring unit 15b determines whether the update dates and times of two “startup-config” match or does not match, or executes a process of calculating a diff or a hash value from the two “startup-config”. Whether there is a difference in “startup-config” can be determined.
  • the monitoring unit 15b can perform the above three determinations for each network device 30 according to the time-related conditions. For example, the monitoring unit 15b performs the above three determinations when a predetermined period, for example, one minute has elapsed since the previous determination, or when the system time held by the network management device 10 reaches a predetermined regular time. Can be implemented. In addition, even when the rollback is instructed, the monitoring unit 15b can perform the above three determinations before executing the rollback process.
  • the setting unit 15 c is a processing unit that performs various settings for the network device 30.
  • the setting unit 15c transmits a setting command related to the content whose editing has been received by the first receiving unit 15a to the network device 30.
  • the content accepted for editing by the first accepting unit 15 a is registered in “running-config” stored in the network device 30, so that the setting of the network device 30 is updated.
  • the setting unit 15 c acquires the updated “startup-config” or “startup-config” update date / time from the network device 30, and the storage unit 13 stores the “startup-config” for management of the network device 30. Or overwrite the update date and time of "startup-config”.
  • the setting unit 15c updates the operation history data 13a stored in the storage unit 13 for rollback.
  • the operation history data 13 a includes “operation No.”, “user name”, “device group name”, “function type”, “change date / time”, “content”, “flag 1”, “flag 2” and “flag”. Data including part or all of items such as “flag 3” can be employed.
  • “Operation No.” here refers to a number for identifying a setting operation, and for example, serial numbers are assigned in ascending order from the most recently performed setting operation.
  • “User name” refers to the name of the user who performed the setting operation.
  • the “device group name” indicates the name of the group of the network device 30 on which the setting operation has been performed.
  • the “change date / time” refers to the date / time when the setting is changed by the setting operation, and is represented by “yyyy / mm / dd hh / mm / ss”, for example.
  • “Setting operation content” refers to the content of the setting operation.
  • “Flag 1” indicates a flag indicating whether or not an external command operation has been performed on the network device 30 on which the setting operation has been performed after the setting operation has been performed. For example, flag 1 is set to “false”. When set, the external command operation is not performed, and when the flag 1 is set to “true”, it means that the external command operation is performed.
  • Flag 2 indicates a flag indicating whether or not a link including the network device 30 on which the setting operation has been performed after the setting operation has been performed. For example, flag 2 is “false”. When the flag is set to "No”, the link is not edited or deleted, and when the flag 2 is set to "true”, it means that the link is edited or deleted.
  • “Flag 3” indicates a flag indicating whether or not an error has occurred in the rollback process of the setting operation. For example, when the flag 3 is set to “false”, the rollback process for the setting operation is performed. If the hour is not executed and the flag 3 is set to “true”, it means that an error has occurred during the rollback process.
  • the setting unit 15c stores, in the storage unit 13, records related to the history from the latest setting operation to a predetermined number, for example, 20 operations, as the operation history data 13a, and deletes records related to previous setting operations from the storage unit 13.
  • the setting unit 15c detects that an external command operation is detected by the monitoring unit 15b, that is, if “startup-config” and “running-config” acquired from the network device 30 do not match, or the network management device 10 When “startup-config” does not match between the network devices 30, the following processing is executed. That is, the setting unit 15c includes the device name of the network device 30 in which the external command operation is detected in the operation history data 13a stored in the storage unit 13 in the field of the setting operation content, and the external command operation is detected. Find records before time. After that, the setting unit 15c sets “true” to the flag 1 of all the records hit by the search. As a result, the rollback of the setting operation relating to the record in which “true” is set in the flag 1 is restricted.
  • the setting unit 15 c detects the deletion of the link in the operation history data 13 a stored in the storage unit 13. The previous record in which the deletion of the link is detected is included in the setting operation content field. After that, the setting unit 15c sets “true” to the flag 2 of all the records hit by the search. Thereby, the rollback of the setting operation regarding the record in which “true” is set in the flag 2 is restricted.
  • the reverse command generation unit 15d is a processing unit that generates a reverse command.
  • the reverse command generation unit 15d matches “startup-config” and “running-config” acquired from the network device 30 and sets “false” in the deletion flag of the link including the network device 30. If the “startup-config” matches between the network management device 10 and the network device 30, a reverse command is generated. For example, the reverse command generation unit 15 d obtains the updated “running-config” from the network device 30 and compares the “running-config” before and after the update to obtain the difference between the two “running-config”. Extract. Subsequently, the reverse command generation unit 15d determines whether the setting operation is a change of the setting value from the difference between the two “running-config”.
  • the reverse command generation unit 15d when the setting operation is a change of the setting value, the reverse command generation unit 15d generates a reverse command as follows. That is, the reverse command generation unit 15d changes the setting value of the item from which the difference is extracted among the items included in “running-config” to the setting value before the setting operation for each network device 30 on which the setting operation is performed. Generate a reverse command to change. In addition, when the setting operation is not a change in the setting value, the reverse command generation unit 15d determines whether the setting operation is a change from an initial value, for example, empty or the like, that is, a new registration, based on a difference between two “running-config”. Determine.
  • the reverse command generation unit 15d when the setting operation is new registration, the reverse command generation unit 15d generates a reverse command as follows. That is, the reverse command generation unit 15d generates a reverse command for deleting the setting value of the item from which the difference is extracted among the items included in “running-config” for each network device 30 on which the setting operation is performed.
  • the initial value is a NULL value
  • a reverse command for changing the setting value of the item from which the difference is extracted to the initial value, that is, the NULL value may be generated.
  • the reverse command generation unit 15d determines whether the setting operation is a deletion from the difference between the two “running-config”.
  • the reverse command generation unit 15d when the setting operation is deletion of the set value, the reverse command generation unit 15d generates a reverse command as follows. That is, the reverse command generation unit 15d uses the setting value before the deletion operation as the setting value of the item from which the difference is extracted among the items included in “running-config” for each network device 30 on which the setting operation is performed. Generate a reverse command for new registration. The reverse command generated in this way is additionally registered in the reverse command data 13b stored in the storage unit 13 in a state associated with the value of the field “operation No.” of the operation history data 13a.
  • FIG. 3 is a diagram illustrating an example of generating a reverse command.
  • FIG. 3 shows an example in which the VLAN setting of the device A is performed.
  • an update for changing the VLAN ID from the setting a0 to the setting a1 by the operation 1 that is, an update for changing the VLAN ID from “10” to “100” is performed.
  • a reverse command for changing the setting value of the VLAN ID to “10” is generated.
  • an update for changing the VLAN ID from the setting a1 to the setting a2 by the operation 2 that is, an update for changing the VLAN ID from “100” to “200” is performed.
  • a reverse command for changing the setting value of the VLAN ID to “100” is generated. Further, an update for changing the VLAN ID from the setting a2 to the setting a3 by the operation 3, that is, an update for changing the VLAN ID from “200” to “300” is performed. In this case, a reverse command for changing the setting value of the VLAN ID to “200” is generated.
  • the reverse command generation unit 15d sets “true” in the deletion flag of the link including the network device 30. If the “startup-config” does not match between the network management device 10 and the network device 30, the reverse command related to the network device 30 is invalidated. For example, the reverse command generation unit 15d deletes the reverse command related to the network device 30 in which the external command operation is detected or the network device 30 in which the deletion of the link is detected in the reverse command data 13b stored in the storage unit 13.
  • the rollback control unit 15e is a processing unit that controls rollback processing.
  • the rollback control unit 15e when the rollback control unit 15e receives a browse request for a rollback list screen including a list of setting operations to be rolled back from the client terminal 50, the operation history stored in the storage unit 13 Read data 13a. Subsequently, the rollback control unit 15e selects one record among the records included in the operation history data 13a. For example, the rollback control unit 15e can select records one by one in order from the record related to the latest setting operation.
  • the rollback control unit 15e determines whether or not “false” is set in the rollback error flag 3 included in the previously selected record of the operation history data 13a. At this time, if “true” is set in the rollback error flag 3, the rollback process of the setting operation corresponding to the previously selected record has been performed in the past, but the result is an error. I understand that. In this case, the rollback control unit 15e assigns “rollback error” to the rollback status regarding the record.
  • the rollback control unit 15 e determines whether the setting operation corresponding to the previously selected record of the operation history data 13 a is within the range of the user authority. Determine further. For example, the rollback control unit 15e uses the user authority data stored in the storage unit 13 as the user name of the account for which the client terminal 50 making a browsing request for the rollback list screen has successfully logged in to the network management system 1. Identify the corresponding user rights. Then, the rollback control unit 15e determines whether or not the field “device group name” included in the previously selected record of the operation history data 13a is within the range of the user authority specified earlier. . At this time, when the setting operation is out of the range of the user authority, the rollback control unit 15e assigns “rollback impossible” to the rollback status regarding the record of the operation history data 13a selected previously.
  • the rollback control unit 15e determines whether “false” is set in the flag 1 of the external command operation included in the previously selected operation history data 13a. Determine further. At this time, when “true” is set in the flag 1 of the external command operation, it is understood that the external command operation is performed after the setting operation corresponding to the record is performed. In this case, the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record.
  • the rollback control unit 15 e further executes the following processing.
  • the rollback control unit 15e is included in the field “setting operation content” of the record of the operation history data 13a selected earlier among the network devices 30 included in the device data (not shown) stored in the storage unit 13. It is determined whether or not “false” is set in the deletion flag of the network device 30 to be set. At this time, when “true” is set in the deletion flag of the network device 30, it can be seen that the data related to the network device 30 is deleted from the device data after the setting operation corresponding to the record is performed. In this case, the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record.
  • the rollback control unit 15e sets “false” in the flag 2 for editing / deleting the link of the record of the operation history data 13a selected earlier. Is further determined.
  • “true” is set in the link editing / deleting flag 2
  • the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record.
  • the rollback control unit 15 e is included in the field “setting operation content” of the record of the operation history data 13 a selected previously. For each network device 30, it is further determined whether or not it is the first setting operation, that is, the latest setting operation retroactive from the time when the request for browsing the rollback list screen is received. At this time, if it is the latest setting operation in all the network devices 30, it can be determined that there is a high probability that there is no problem in the execution of the rollback process. In this case, the rollback control unit 15e assigns “rollback is possible” to the rollback status regarding the record.
  • the field “setting operation content” is set among the setting operations performed before the setting operation corresponding to the record of the operation history data 13a selected previously.
  • the rollback of the setting operation corresponding to the record of the previously selected operation history data 13a is permitted on the condition that the rollback process related to the related setting operation performed before the included network device 30 is executed. I understand that you can. In this case, the rollback control unit 15e assigns “waiting for rollback” to the rollback status regarding the record.
  • the setting operation is classified into one of “rollback possible”, “waiting for rollback”, “rollback impossible”, or “rollback error”. Will be.
  • the output control unit 15 f is a processing unit that performs output control on the client terminal 50.
  • the output control unit 15f causes the client terminal 50 to display a rollback list screen according to the rollback status assigned for each setting operation by the rollback control unit 15e.
  • the output control unit 15f registers part or all of the field information of each record in ascending order of the field “operation No.” of each record included in the operation history data 13a and is assigned to each record.
  • the data for displaying the rollback list screen is generated by associating icons such as icons corresponding to the rollback status "rollback ready", “waiting for rollback", “rollback not possible” or “rollback error” To do. Using the display data generated in this way, the output control unit 15f causes the client terminal 50 to display a rollback list screen.
  • the second receiving unit 15g is a processing unit that receives a rollback instruction.
  • the second reception unit 15g receives a rollback instruction in a state where the rollback list screen is displayed on the client terminal 50 by the output control unit 15f.
  • the second accepting unit 15g accepts designation of a setting operation for executing the rollback process by selecting any record from the list of records included in the rollback list screen. For example, when a record to which “rollback is possible” is selected as the rollback status, a GUI component that receives an instruction to execute rollback processing, for example, an execution button is displayed by the output control unit 15f in an active state. .
  • a record assigned with “waiting for rollback” is selected as the rollback status, the following display is performed by the output control unit 15f.
  • the setting operation related to the network device 30 included in the field “setting operation content” which is a setting operation performed before the setting operation corresponding to the selected record and is included in the selected record is first performed.
  • the GUI component that receives the rollback processing execution instruction is displayed in an inactive state.
  • the GUI component that receives the rollback processing execution instruction is displayed in an inactive state.
  • the second receiving unit 15g further receives a rollback process execution instruction via the GUI component.
  • a rollback process for rolling back the setting operation is executed by executing a reverse command corresponding to the setting operation for which the designation is accepted.
  • the rollback control unit 15e Implemented by the rollback control unit 15e.
  • the storage unit 13 obtains “startup-config” after the setting is updated by the rollback process from each network device 30 on which the rollback process is executed. The update date and time of “startup-config” or “startup-config” stored for management of the network device 30 is overwritten and updated.
  • the record corresponding to the setting operation for which the rollback processing has been executed is deleted from the operation history data 13a.
  • the rollback process for rolling back the setting operation for which the designation is accepted is restricted.
  • FIG. 4 is a diagram illustrating an example of the operation history data 13a.
  • FIG. 5 is a schematic diagram showing a time series of setting operations and setting contents.
  • 6 to 9 are diagrams showing examples of the rollback list screen.
  • FIG. 4 shows records relating to a total of seven setting operations, operations 1 to 7.
  • seven records are extracted and illustrated, but the number of records displayed on the rollback list screen is not limited to this.
  • the operation history data 13a shown in FIG. 4 each setting operation and the contents of the setting operation are as shown in the schematic diagram shown in FIG. It is assumed that the following group settings are made for device A, device B, and device C shown in FIGS. That is, as shown in FIG. 5, the device A is included in the group A, the device B is included in the group B, and the device C is included in the group C.
  • Group Z includes device A and device B.
  • group X includes device A, device B, and device C.
  • the device A configuration file has been updated from the initial state “a0” to “a1” by newly registering the VLAN ID of device A from “initial value” to “2”. Means. Then, in operation 6 illustrated in FIG. 5, the device A setting file is updated from “a1” to “a2” by changing the default route of the routing of the device A. Thereafter, in operation 5 shown in FIG. 5, VLAN IDs of device A, device B, and device C are collectively set. That is, by updating the VLAN ID of the device A from “2” to “3”, it means that the setting file of the device A is updated from “a2” to “a3”.
  • the VLAN IDs of the device A and the device B are collectively set. That is, by updating the VLAN ID of the device A from “3” to “4”, it means that the setting file of the device A is updated from “a3” to “a4”. At the same time, updating the VLAN ID of the device B from “3” to “4” means that the setting file of the device B is updated from “b1” to “b2”. Then, in operation 3 shown in FIG. 5, the device B setting file is updated from “b2” to “b3” by updating the VLAN ID of device B from “4” to “5”. . Subsequently, in the operation 2 shown in FIG.
  • the records corresponding to the operations 1 and 3 shown in FIG. 4 are classified as “rollable”, and records other than the records corresponding to the operations 1 and 3 shown in FIG. 4 are “waiting for rollback”. are categorized. This is because “true” is not set in flag 1 to flag 3 of each record, and records other than the records corresponding to operation 1 and operation 3 are included in the device included in the field “setting operation content”. This is because there is a device for which the setting operation has been performed first.
  • the rollback list screen shown in FIG. It is displayed on the client terminal 50.
  • the upper part of FIG. 6 shows a rollback list screen 600 when a record in the list is not selected, and the lower part of FIG. 6 shows operation 5 among the records in the list.
  • a rollback list screen 620 in a state where a corresponding record is selected is shown.
  • the general manager 3 and the general manager 4 have the authority to perform setting operations on all devices, and therefore, all of the operations included in the operation history data 13a shown in FIG. A record is displayed.
  • an icon indicating that the status relating to the rollback of the record is “rollback is possible” is included in the records corresponding to the operations 1 and 3. Displayed in correspondence.
  • the execution button 610 that receives an instruction to execute the rollback process is displayed in an inactive state. If a record corresponding to operation 1 and operation 3 is selected, the state of the execution button 610 is switched to active.
  • the display of the client terminal 50 is changed from the rollback list screen 600 shown in the upper part of FIG. 6 to the rollback list shown in the lower part of FIG. Transition to screen 620.
  • the record corresponding to the selected operation 5 is displayed in a display form different from the display form of the other records, with the darkest hatching in the figure.
  • a setting operation related to the device A, device B, or device C included in the field “setting operation content” that is a setting operation performed before the operation 5 in which the selection is performed and that is included in the record corresponding to the operation 5
  • the records corresponding to the related operations 1 to 4 performed earlier are displayed in a distinguishable display form different from the display forms of other records, for example, the second darkest hatching.
  • the records corresponding to the operations 1 and 3 that can be rolled back at present are associated with an icon indicating that “rollback is possible”. Displayed.
  • the records corresponding to operations 2 and 4 classified as “waiting for rollback” are also “related rollback” together with the record corresponding to operation 5 classified as “waiting for rollback”.
  • the icons shown are displayed in association with each other.
  • the execution button 630 is displayed in an inactive state. According to the rollback list screen 620, it is possible to grasp at a glance the rollbacks of the operations 1 to 4 that should be performed before the rollback of the operation 5.
  • the rollback list screen shown in FIG. 7 is displayed on the client terminal 50.
  • the upper part of FIG. 7 shows a rollback list screen 700 when a record in the list is not selected.
  • the middle part of FIG. 7 shows a rollback list screen 720 when the record corresponding to the operation 4 is selected from the records in the list, while the lower part of FIG.
  • a rollback list screen 740 when the rollback of the operation 1 and the operation 2 is executed on the back list screen 720 is shown. 7, from the viewpoint of specifying the correspondence with the operation history data 13a shown in FIG. 4, the “operation No.” of the operation history data 13a shown in FIG.
  • the GrpA administrator 5 has only the authority to perform setting operations on the device A. For this reason, the GrpA manager 5 does not display all the records included in the operation history data 13a shown in FIG. Specifically, the record corresponding to the operation 3 is a setting operation for the device B, and does not include the device A that is the category of the user authority of the GrpA administrator 5, and thus is not displayed on the list. Furthermore, since the operations 4 and 5 on the list include setting operations for the devices B and C that are outside the user authority of the GrpA administrator 5, the operation performed is not disclosed, and the setting operation content is not disclosed. An undisclosed mark “-” is displayed in. Furthermore, since the operation 4 and the operation 5 can have the general administrator roll back the operations 4 and 5, the “rollback impossible” icon is not given.
  • an icon indicating that the status relating to the rollback of the record is “rollback is possible” is associated with the record corresponding to the operation 1. Displayed.
  • the execution button 710 that receives an instruction to execute the rollback process is displayed in an inactive state. If the record corresponding to the operation 1 is selected, the state of the execution button 710 is switched to active.
  • the display of the client terminal 50 is changed from the rollback list screen 700 shown in the upper part of FIG. 7 to the rollback list shown in the middle part of FIG. Transition to screen 720.
  • the record corresponding to the selected operation 4 is displayed in a display form different from the display form of the other records, with the darkest hatching in the figure.
  • the setting operation related to the device A or device B included in the field “setting operation content” which is a setting operation performed before the operation 4 in which the selection is performed and is included in the record corresponding to the operation 4 is performed first.
  • the records corresponding to the performed operations 1 and 2 are displayed in a distinguishable display form different from the display forms of other records, for example, the second darkest hatching.
  • an icon indicating that “rollback is possible” is displayed in association with the record corresponding to the operation 1 that can be rolled back at present. Is done.
  • the record corresponding to operation 2 classified as “waiting for rollback” has an icon indicating “related rollback” together with the record corresponding to operation 4 classified as “waiting for rollback”. Displayed in correspondence.
  • the execution button 730 is displayed in an inactive state. According to the rollback list screen 720, it is possible to grasp at a glance the rollbacks of the operations 1 and 2 that should be performed before the rollback of the operation 4.
  • the display of the client terminal 50 is changed from the rollback list screen 720 shown in the middle part of FIG. 7 to the rollback shown in the lower part of FIG. Transition to the list screen 740.
  • the operation 1 and the operation 2 for which rollback has been performed are deleted from the list, and the record corresponding to the operation 4 that has been selected thereafter is the record of another record.
  • the display form is different from the display form, and is displayed with the darkest hatching in the figure.
  • the execution button 750 is displayed in an inactive state.
  • the GrpA manager 5 requests the GrpZ manager 1, the general manager 3, or the total manager 4 to execute rollback.
  • the display when rollback is not possible will be described.
  • a case is assumed in which the link connected to the device A is changed or deleted during a period between the operations 2 and 3, for example, May 10, 2015.
  • “true” is set in the columns of the operations 4 to 7 among the columns of the flag 2 included in the operation history data 13a illustrated in FIG. If these operations 4 to 7 are rolled back, there is a high possibility that consistency as the entire network NW cannot be obtained.
  • the rollback list screen 800 shown in the upper part of FIG. 8 is displayed. It is assumed that the rollback list screens 800, 820, and 840 shown in FIG. 8 display a display for a user having general administrator authority.
  • an icon indicating that the status regarding the rollback of each record is “rollback impossible” is displayed in association with the records corresponding to the operations 4 to 7.
  • operation 1 and operation 2 since the VLAN setting is performed after the link of the device A is changed, it is highly possible that consistency of the entire network configuration can be achieved even if the rollback is performed. Therefore, operation 1 and operation 2 are not disabled. That is, an icon indicating that the rollback status is “rollback is possible” is displayed in association with the record corresponding to operation 1, and the record corresponding to operation 2 is set to “wait for rollback”. Since it is classified, no record is selected and no icon is given at present and no record is displayed.
  • an icon indicating that the rollback status is “waiting for rollback” can be displayed in association with the record corresponding to operation 2.
  • the operation 3 is an operation for the device B that is not related to the device A that has changed the link, the operation 3 is not “rollback impossible” and the status regarding the rollback is “rollback is possible”.
  • the icons shown are displayed in association with each other. Under such circumstances, even if a record that cannot be rolled back is selected, the state of the execution button 810 is displayed as inactive.
  • a rollback list screen 820 shown in the middle of FIG. 8 is displayed.
  • the status regarding the rollback of each record is “unrollable Is displayed in association with each other. Therefore, the operation performed on the device A cannot be rolled back at all.
  • the operation 3 is an operation for the device B which is not related to the device A deleted from the topology, the operation 3 is not “rollback impossible” and the status regarding the rollback is “rollback possible”.
  • the icons shown are displayed in association with each other. Under such circumstances, even if a record that cannot be rolled back is selected, the state of the execution button 830 is displayed as inactive.
  • an icon indicating that the status regarding the rollback of each record is “rollback impossible” is displayed in association with the records corresponding to the operations 4 to 7.
  • operation 1 and operation 2 since the VLAN setting is performed after the link of the device A is changed, it is highly possible that consistency of the entire network configuration can be achieved even if the rollback is performed. Therefore, operation 1 and operation 2 are not disabled. That is, an icon indicating that the rollback status is “rollback is possible” is displayed in association with the record corresponding to operation 1, and the record corresponding to operation 2 is set to “wait for rollback”. Since it is classified, no record is selected and no icon is given at present and no record is displayed.
  • an icon indicating that the rollback status is “waiting for rollback” can be displayed in association with the record corresponding to operation 2.
  • the operation 3 is an operation on the device B which is not related to the device A on which the external command operation is performed, the operation 3 is not “rollback impossible”, and the rollback status is “rollback possible”.
  • An icon indicating that it is present is displayed in association with it. Under such circumstances, even if a record that cannot be rolled back is selected, the state of the execution button 850 is displayed as inactive.
  • a rollback list screen 900 shown in FIG. 9 is displayed.
  • the display of the record corresponding to the operation 3 is different from the rollback list screen 600 shown in FIG. That is, an icon indicating that the status relating to rollback is “rollback error” is displayed in association with the record corresponding to operation 3.
  • FIG. 10 is a flowchart illustrating a procedure of reverse command generation processing according to the first embodiment. As an example, this processing is started when setting editing is received by the first receiving unit 15a. As shown in FIG. 10, when the setting operation is received by the first receiving unit 15a (step S101), for example, the monitoring unit 15b receives “startup-config” and “startup-config” from the network device 30 on which the setting operation is performed in step S101. “Running-config” is acquired (step S102).
  • the monitoring unit 15b determines whether the two setting files match by comparing the two setting files “startup-config” and “running-config” acquired in step S102. (Step S103).
  • the setting unit 15c transmits a setting command related to the contents accepted to be edited in step S101 to the network device 30.
  • the setting of the device 30 is updated (step S111).
  • the setting unit 15c invalidates the reverse command data 13b stored in the storage unit 13 by setting the flag 1 of the operation history record related to the network device 30 in which the external command operation is detected to “true”. (Step S112).
  • the monitoring unit 15b refers to link data (not shown) stored in the storage unit 13 and edits the setting in step S101. It is determined whether or not “false” is set in the deletion flag relating to the link including the accepted network device 30 (step S104).
  • the setting unit 15c transmits the setting command related to the content accepted to be edited in step S101 to the network device 30.
  • the setting of 30 is updated (step S111). Also in this case, the setting unit 15c is invalidated by setting the flag 2 of the operation history record related to the network device 30 in which the deletion of the link is detected in the reverse command data 13b stored in the storage unit 13 to “true”. (Step S112).
  • the monitoring unit 15b displays “startup-config” acquired from the network device 30 in step S102, and the storage unit 13 displays the network device 30. Is compared with “startup-config” stored for management (step S105).
  • the setting unit 15c updates the setting of the network device 30 by transmitting to the network device 30 a setting command related to the content whose editing has been accepted in Step S101 (Step S111). Also in this case, the setting unit 15c is invalidated by setting the flag 1 of the operation history record related to the network device 30 in which the external command operation is detected in the reverse command data 13b stored in the storage unit 13 to “true”. (Step S112).
  • step S105 when “startup-config” matches between the network management device 10 and the network device 30 (Yes in step S105), the setting unit 15c transmits to the network device 30 a setting command related to the content whose editing is accepted in step S101. As a result, the setting of the network device 30 is updated (step S106).
  • the reverse command generation unit 15d obtains the updated “running-config” from the network device 30 and compares the “running-config” before and after the update to obtain the difference between the two “running-config”. Extract (step S107).
  • the reverse command generation unit 15d determines whether the setting operation is a change of the setting value from the difference between the two “running-config” (step S108).
  • the reverse command generation unit 15d generates a reverse command as follows. That is, the reverse command generation unit 15d changes the setting value of the item from which the difference is extracted among the items included in “running-config” to the setting value before the setting operation for each network device 30 on which the setting operation is performed. A reverse command to be changed is generated (step S109).
  • the reverse command generation unit 15d determines whether the setting operation is a new registration from the difference between the two “running-config” (step S110). . If the setting operation is a new registration (Yes in step S110), the reverse command generation unit 15d extracts the difference among the items included in “running-config” for each network device 30 on which the setting operation has been performed. A reverse command for deleting the setting value of the item is generated (step S1101). On the other hand, when the setting operation is not new registration (No in step S110), it is determined that the setting operation is deletion of a setting value.
  • the reverse command generation unit 15d uses the setting value of the item from which the difference is extracted among the items included in “running-config” for each network device 30 on which the setting operation has been performed as the setting value before the deletion operation.
  • step S1102 a reverse command to be newly registered is generated.
  • the setting unit 15 c obtains the updated “startup-config” or “startup-config” update date / time from the network device 30, and stores the “startup-config” stored in the storage unit 13 for management of the network device 30.
  • the update date and time of “config” or “startup-config” is overwritten and updated (step S113).
  • the setting unit 15c additionally registers a record related to the setting operation received in step S101 in the operation history data 13a stored in the storage unit 13 (step S114), and ends the process.
  • the setting unit 15c includes the device name of the network device 30 in which the external command operation is detected in the operation history data 13a stored in the storage unit 13. Is set in the field of the setting operation content, and “true” is set in the flag 1 of the record before the time when the external command operation is detected.
  • Step S114 when it is determined No in the branch of Step S104, the setting unit 15c selects the device name of the network device 30 in which the deletion of the link is detected in the operation history data 13a stored in the storage unit 13. “True” is set in the flag 2 included in the field of the setting operation content and included in the record before the time point when the deletion of the link is detected.
  • Step S114 when it is determined No in the branch of Step S105, the setting unit 15c selects the device name of the network device 30 in which the external command operation is detected in the operation history data 13a stored in the storage unit 13. “True” is set in the flag 1 included in the field of the setting operation content and included in the record before the time when the external command operation is detected.
  • FIGS. 11 and 12 are flowcharts illustrating the procedure of the rollback processing according to the first embodiment. As an example, this process is started when a browse request for a rollback list screen including a list of setting operations to be rolled back is received from the client terminal 50.
  • the rollback control unit 15e reads the operation history data 13a stored in the storage unit 13 (step S301). Subsequently, the rollback control unit 15e selects one record among the records included in the operation history data 13a (step S302).
  • the rollback control unit 15e determines whether or not “false” is set in the rollback error flag 3 included in the record of the operation history data 13a selected in step S302 (step S303).
  • step S303 if “true” is set in the rollback error flag 3 (No in step S303), the rollback process of the setting operation corresponding to the record selected in step S302 has been performed in the past. You can see that the result was an error. In this case, the rollback control unit 15e assigns “rollback error” to the rollback status regarding the record (step S304). Thereafter, the process proceeds to step S313.
  • step S303 when “false” is set in the rollback error flag 3 (Yes in step S303), the rollback control unit 15e determines that the setting operation corresponding to the record of the operation history data 13a selected in step S302 is a user authority. Is further determined (step S305). At this time, when the setting operation is out of the range of the user authority (No in step S305), the rollback control unit 15e sets “unlisted” as the rollback status regarding the record of the operation history data 13a selected in step S302. Is assigned (step S3051). Thereafter, the process proceeds to step S313.
  • step S305 Yes If the setting operation is within the range of the user authority (step S305 Yes), the rollback control unit 15e sets “false” to the flag 1 of the external command operation included in the record of the operation history data 13a selected in step S302. It is further determined whether or not it is set (step S307). At this time, if “true” is set in the external command operation flag 1 (No in step S307), it is understood that the external command operation is performed after the setting operation corresponding to the record is performed. In this case, the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record (step S306). Thereafter, the process proceeds to step S313.
  • the rollback control unit 15e further executes the following process.
  • the rollback control unit 15e is included in the field “setting operation content” of the record of the operation history data 13a selected earlier among the network devices 30 included in the device data (not shown) stored in the storage unit 13. It is determined whether or not “false” is set in the deletion flag of the network device 30 to be set (step S308).
  • step S308 if “true” is set in the deletion flag of the network device 30 (No in step S308), the data related to the network device 30 is deleted from the device data after the setting operation corresponding to the record is performed. I understand. In this case, the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record (step S306). Thereafter, the process proceeds to step S313.
  • step S308 If “false” is set in the deletion flag of the network device 30 (step S308 Yes), the rollback control unit 15e edits / deletes the link held in the record of the operation history data 13a selected in step S302. It is further determined whether or not “false” is set in the flag 2 (step S309). At this time, when “true” is set in the link edit / delete flag 2 (No in step S309), the link including the network device 30 is deleted from the topology after the setting operation corresponding to the record is performed. I understand that. In this case, the rollback control unit 15e assigns “unrollable” to the rollback status regarding the record (step S306). Thereafter, the process proceeds to step S313.
  • the rollback control unit 15e sets the field “setting operation” included in the record of the operation history data 13a selected in step S302. For each network device 30 included in the “content”, it is further determined whether or not it is the first setting operation, that is, the latest setting operation retroactively from the time when the request for browsing the rollback list screen is received (step S310).
  • step S310 if it is the latest setting operation in all the network devices 30 (step S310 Yes), it can be determined that there is a high probability that there is no problem in the execution of the rollback process. In this case, the rollback control unit 15e assigns “rollback is possible” to the rollback status regarding the record (step S311).
  • step S310 if it is not the latest setting operation in any one of the network devices 30 (No in step S310), the field "" is included in the setting operation performed before the setting operation corresponding to the record of the operation history data 13a selected in step S302.
  • the setting operation corresponding to the record of the operation history data 13a selected earlier on condition that the rollback process related to the related setting operation performed before the network device 30 included in the “setting operation content” is executed. It can be seen that rollback of the image may be permitted.
  • the rollback control unit 15e assigns “waiting for rollback” to the rollback status regarding the record (step S312).
  • Step S313 After that, until each record included in the operation history data 13a is selected (No in Step S313), the processing from Step S302 to Step S312 is repeatedly executed.
  • the output control unit 15f displays the rollback list screen according to the rollback status assigned for each setting operation by the rollback control unit 15e. Is displayed on the client terminal 50 (step S314).
  • the second accepting unit 15g accepts selection of any record from the list of records included in the rollback list screen (step S315).
  • the output control unit 15f displays an execution button that receives an instruction to execute the rollback process in an active state. (Step S317).
  • the output control unit 15f is a network that is a setting operation performed before the setting operation corresponding to the record selected in step S315, and is included in the field “setting operation content” of the selected record.
  • the record corresponding to the related setting operation that the setting operation related to the device 30 is performed can be distinguished from the display form of other records, for example, change of display color of characters and fills, or emphasis such as shading
  • the execution button is displayed in an inactive state (steps S319 and S320).
  • the output control unit 15f displays the execution button in an inactive state (step S320).
  • step S321 the processes in steps S315 to S320 are repeatedly executed.
  • step S321 Yes the rollback control unit 15e determines whether the execution button is in an active state (step S322).
  • step S322 Yes when the state of the execution button is active (step S322 Yes), the rollback control unit 15e rolls back the setting operation by executing a reverse command corresponding to the setting operation for which the designation is accepted. Back processing is executed (step S323). Note that if the state of the execution button is inactive (No in step S322), the rollback process of the setting operation for which the designation is accepted is restricted. In this case, the process returns to step S315.
  • the rollback control unit 15e acquires “startup-config” after the setting is updated by the rollback processing from each network device 30 on which the rollback processing is performed, and then the storage unit 13 uses the network device 30.
  • the update date and time of “startup-config” or “startup-config” stored for management is overwritten and updated (step S324), and a record corresponding to the setting operation for which the rollback processing has been executed is recorded from the operation history data 13a. It deletes (step S325). Thereafter, the process returns to the acquisition of the operation history data described in step S301, and the subsequent processing is repeatedly executed.
  • the network management device 10 has compared the network device 30 with the setting data stored in the network device 30 and the setting data stored in the network management device 10 in the past. Disable the generated reverse command. Therefore, according to the network management apparatus 10 according to the present embodiment, it is possible to suppress a network problem that occurs due to the execution of the reverse command.
  • each component of each illustrated apparatus does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • the first reception unit 15a, the monitoring unit 15b, the setting unit 15c, the reverse command generation unit 15d, the rollback control unit 15e, the output control unit 15f, or the second reception unit 15g is used as an external device of the network management device 10 via the network. You may make it connect.
  • first reception unit 15a, the monitoring unit 15b, the setting unit 15c, the reverse command generation unit 15d, the rollback control unit 15e, the output control unit 15f, or the second reception unit 15g are respectively provided by different devices and connected to the network.
  • the functions of the network management apparatus 10 may be realized.
  • FIG. 13 is a diagram illustrating a hardware configuration example of a computer that executes the reverse command generation program according to the first and second embodiments.
  • the computer 100 includes an operation unit 110 a, a speaker 110 b, a camera 110 c, a display 120, and a communication unit 130. Further, the computer 100 includes a CPU 150, a ROM 160, an HDD 170, and a RAM 180. These units 110 to 180 are connected via a bus 140.
  • the HDD 170 includes a first receiving unit 15a, a monitoring unit 15b, a setting unit 15c, a reverse command generation unit 15d, a rollback control unit 15e, an output control unit 15f, or the like described in the first embodiment.
  • a reverse command generation program 170a that performs the same function as the second reception unit 15g is stored.
  • the reverse command generation program 170a includes the first reception unit 15a, the monitoring unit 15b, the setting unit 15c, the reverse command generation unit 15d, the rollback control unit 15e, the output control unit 15f, or the second reception unit 15g illustrated in FIG. As with each component, they may be integrated or separated. That is, the HDD 170 does not necessarily have to store all the data shown in the first embodiment, and data used for processing may be stored in the HDD 170.
  • the CPU 150 reads the reverse command generation program 170a from the HDD 170 and expands it in the RAM 180.
  • the reverse command generation program 170a functions as a reverse command generation process 180a as shown in FIG.
  • the reverse command generation process 180a expands various data read from the HDD 170 in an area allocated to the reverse command generation process 180a in the storage area of the RAM 180, and executes various processes using the expanded various data.
  • the processing shown in FIGS. 10 to 12 and the like are included. Note that the CPU 150 does not necessarily operate all the processing units described in the first embodiment, and the processing unit corresponding to the process to be executed may be virtually realized.
  • each program is stored in a “portable physical medium” such as a flexible disk inserted into the computer 100, so-called FD, CD-ROM, DVD disk, magneto-optical disk, or IC card. Then, the computer 100 may acquire and execute each program from these portable physical media.
  • each program is stored in another computer or server device connected to the computer 100 via a public line, the Internet, a LAN, a WAN, etc., and the computer 100 acquires and executes each program from these. It may be.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワーク管理装置(10)は、通信装置の設定が更新される度に通信装置が記憶する第1の設定データを所定の記憶部に格納する処理と、通信装置に対する設定操作を受け付ける処理と、受け付けた設定操作の対象の通信装置から通信装置が記憶する第2の設定データを取得する処理と、取得した第2の設定データに基づいて通信装置へ送信する設定コマンドの逆コマンドを生成する処理と、取得する処理で取得された第2の設定データと記憶部に記憶された第1の設定データとに差分がある場合に記憶部に記憶された第1の設定データに基づいて生成した逆コマンドを無効化する処理とを実行する。

Description

逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置
 本発明は、逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置に関する。
 ネットワークの設定に関する技術の一例として、SDN(Software-Defined Networking)などの技術が知られている。かかるSDN技術では、企業等の組織内のネットワークに含まれるネットワーク装置に対する設定、例えばVLAN(Virtual Local Area Network)やサブネットなどの設定を一括で実行できるネットワーク管理装置が提供される。
特開2011-199623号公報 特開2015-142167号公報
 ところで、上記のネットワークの設定が行われる場合、認識の誤りや操作のミスなどが原因となってネットワークの管理者等が意図する通りの設定を必ずしも実施できるとは限らない。このため、ネットワークの設定時にオペレーションにより編集された内容を設定に反映するコマンドから逆コマンドを生成しておき、ロールバックが指示された場合に逆コマンドを使用してネットワーク装置の設定を変更される前の状態に戻すロールバック処理が行われる場合がある。
 しかしながら、上記の技術では、次に説明するように、逆コマンドの実行によりネットワークに不具合が発生する場合がある。
 例えば、ネットワークの設定は、必ずしもネットワーク管理装置を介して行われるとは限らず、ネットワークの管理者等がtelnetなどのプロトコルを介してネットワーク装置に接続し、CLI(Command Line Interface)などを介して設定が行われる場合がある。この場合、ネットワーク管理装置が解釈できる設定コマンドだけが使用されるとは限らず、逆コマンドが生成できない場合がある。このように逆コマンドが生成できなかったにもかかわらず、それ以前に生成されていた逆コマンドが実行された場合、CLI等を介して行われた設定が無視された状態でロールバックが実行されることになる。この結果、逆コマンドの実行によりネットワークに不具合が発生する場合もある。
 1つの側面では、本発明は、逆コマンドの実行により発生するネットワークの不具合を抑制できる逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置を提供することを目的とする。
 一態様では、逆コマンド生成プログラムは、通信装置の設定が更新される度に前記通信装置が記憶する第1の設定データを所定の記憶部に格納する処理と、通信装置に対する設定操作を受け付ける処理と、受け付けた前記設定操作の対象の前記通信装置から前記通信装置が記憶する第2の設定データを取得する処理と、取得した前記第2の設定データに基づいて前記通信装置へ送信する設定コマンドの逆コマンドを生成する処理と、前記取得する処理で取得された前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化する処理と、をコンピュータに実行させる。
 逆コマンドの実行により発生するネットワークの不具合を抑制できる。
図1は、実施例1に係るネットワーク管理システムの構成例を示す図である。 図2は、実施例1に係るネットワーク管理装置の機能的構成を示すブロック図である。 図3は、逆コマンドの生成の一例を示す図である。 図4は、操作履歴データの一例を示す図である。 図5は、設定操作および設定内容の時系列を示す模式図である。 図6は、ロールバック一覧画面の一例を示す図である。 図7は、ロールバック一覧画面の一例を示す図である。 図8は、ロールバック一覧画面の一例を示す図である。 図9は、ロールバック一覧画面の一例を示す図である。 図10は、実施例1に係る逆コマンド生成処理の手順を示すフローチャートである。 図11は、実施例1に係るロールバック処理の手順を示すフローチャート(1)である。 図12は、実施例1に係るロールバック処理の手順を示すフローチャート(2)である。 図13は、実施例1及び実施例2に係るロールバック処理制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。
 以下に添付図面を参照して本願に係る逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
 図1は、実施例1に係るネットワーク管理システムの構成例を示す図である。図1に示すネットワーク管理システム1は、ネットワークNWを構築するネットワーク装置30A~30Cを管理するネットワーク管理サービスを提供するものであり、一例として、ネットワーク装置30A~30Cに対する各種設定を実行したり、ネットワーク装置30A~30Cへの設定をロールバックしたりすることができる。
 図1に示すように、ネットワーク管理システム1には、ネットワーク管理装置10と、ネットワーク装置30A~30Cと、クライアント端末50とが含まれる。以下では、ネットワーク装置30A~30Cのことを総称する場合に「ネットワーク装置30」と記載する場合がある。なお、図1には、3つのネットワーク装置30A、ネットワーク装置30B及びネットワーク装置30Cがネットワーク管理装置10に収容される場合を例示したが、これに限定されない。すなわち、ネットワーク管理装置10が収容するネットワーク装置の数30は任意であってかまわない。
 ネットワーク管理装置10は、上記のネットワーク管理サービスを提供するコンピュータである。
 一実施形態として、ネットワーク管理装置10は、上記のネットワーク管理サービスを実現するパッケージソフトウェアやオンラインソフトウェアを所望のコンピュータにインストールさせることによってSDN(Software-Defined Networking)コントローラとして実装できる。このネットワーク管理装置10は、ネットワークNWの一例として、IP-VPN(Internet Protocol Virtual Private Network)や広域イーサネット(登録商標)などのキャリアイーサネット(登録商標)の監視、設定や制御などを含む管理を実行することができる。このようにネットワーク管理装置10により管理されるネットワークNWは、物理ネットワークに限定されず、SDNやNFV(Network Function Virtualization)などの技術により仮想化された仮想ネットワークであってもよい。
 ネットワーク装置30は、ネットワークNWを構築する装置であり、例えば、ルータやスイッチなどのデータ転送装置を始め、ファイアーウォール、ロードバランサなどを採用することができる。
 クライアント端末50は、上記のネットワーク管理サービスの提供を受けるコンピュータであり、一例として、ネットワークNWを管理するネットワーク管理者等の関係者により使用される。
[ネットワーク管理装置10の構成]
 図2は、実施例1に係るネットワーク管理装置10の機能的構成を示すブロック図である。図2に示すように、ネットワーク管理装置10は、通信I/F(interface)部11と、記憶部13と、制御部15とを有する。なお、ネットワーク管理装置10は、図2に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
 通信I/F部11は、他の装置、例えばネットワーク装置30やクライアント端末50との間で通信制御を行うインタフェースである。
 一実施形態として、通信I/F部11は、LANカードなどのネットワークインタフェースカードを採用できる。例えば、通信I/F部11は、ネットワークの設定に関するコマンドやその逆コマンドをネットワーク装置30へ送信したり、ネットワーク装置30からネットワーク装置30が記憶する設定ファイル、例えば「running-config」や「startup-config」を受信したりする。また、通信I/F部11は、クライアント端末50からネットワークの設定に対する編集操作やネットワークの設定に関するロールバック指示を受け付ける。この他、通信I/F部11は、ネットワークの設定を編集する編集画面やロールバックの対象とされる設定操作の一覧が登載されたロールバック一覧画面などをクライアント端末50へ送信したりする。
 記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記のネットワーク管理サービスを実現するネットワーク管理プログラムなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
 一実施形態として、記憶部13は、ネットワーク管理装置10における補助記憶装置として実装することができる。例えば、記憶部13には、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。なお、記憶部13は、必ずしも補助記憶装置として実装されずともよく、ネットワーク管理装置10における主記憶装置として実装することもできる。この場合、記憶部13には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。
 記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、操作履歴データ13aと、逆コマンドデータ13bとを記憶する。このように図2に示された操作履歴データ13a及び逆コマンドデータ13b以外にも、他の電子データを併せて記憶することもできる。
 例えば、記憶部13には、ネットワーク管理装置10及び各ネットワーク装置30との間で互いが記憶する設定ファイル、例えば「running-config」や「startup-config」を比較することにより差分を抽出するために、各ネットワーク装置30に記憶された設定ファイルの複製を記憶することができる。また、記憶部13には、ネットワークの管理者等のユーザの権限を管理するために、ユーザごとにネットワークの設定を許可するネットワーク装置30またはネットワーク装置30のグループが規定されたユーザ権限データを記憶することができる。さらに、記憶部13には、ネットワークの設定コマンドからその逆コマンドを生成するために、設定コマンドのテンプレートを記憶することもできる。この他、記憶部13には、ネットワークNWのトポロジを管理するために、ネットワーク装置30に関するデバイスデータやネットワーク装置30が形成するリンクに関するリンクデータなどを記憶することもできる。
 なお、ここでは、操作履歴データ13a及び逆コマンドデータ13bの説明については、操作履歴データ13a及び逆コマンドデータ13bが生成される処理部の説明がなされる段階で併せて説明することとする。
 制御部15は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって各種の処理を実行するものである。
 一実施形態として、制御部15は、中央処理装置、いわゆるCPU(Central Processing Unit)として実装される。なお、制御部15は、必ずしも中央処理装置として実装されずともよく、MPU(Micro Processing Unit)として実装されることとしてもよい。また、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
 制御部15は、図示しない主記憶装置として実装されるDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などのRAMのワークエリア上に記憶部13に記憶されたネットワーク管理プログラムを展開することにより、下記の処理部を仮想的に実現する。例えば、制御部15は、図2に示すように、第1受付部15aと、監視部15bと、設定部15cと、逆コマンド生成部15dと、ロールバック制御部15eと、出力制御部15fと、第2受付部15gとを有する。
 第1受付部15aは、ネットワーク装置30に対する各種設定を受け付ける処理部である。
 一実施形態として、第1受付部15aは、ネットワーク装置30に対する各種の設定をGUI(Graphical User Interface)を介して受け付けることができる。例えば、第1受付部15aは、物理ネットワークや仮想ネットワークのトポロジが可視化されたマップ上でネットワーク装置30の指定を受け付けた状態、例えばマウスオーバーがなされた状態で、ネットワーク設定を実施するGUIコンポーネントが操作された場合に、当該ネットワーク装置30に関する各種設定の新規登録や更新などの編集を受け付けることができる。ここで、第1受付部15aは、1つのネットワーク装置30に対する設定を個別に受け付けることもできるし、複数のネットワーク装置30、例えばグループ設定が行われたネットワーク装置30群に対する設定を一括して受け付けることもできる。かかる設定の例として、第1受付部15aは、VLAN(Virtual Local Area Network)やサブネットなどの設定を受け付けることができる。その後、第1受付部15aは、編集が受け付けられた内容を設定に反映する操作を受け付ける。以下では、設定の編集を受け付ける操作、さらには、編集が受け付けられた内容を設定に反映する操作を総称して「設定操作」と記載する場合がある。
 監視部15bは、ネットワークNWを監視する処理部である。
 一実施形態として、監視部15bは、あくまで一例として、第1受付部15aにより設定操作が受け付けられた場合、例えば1又は複数のネットワーク装置30に対する設定の新規登録または設定変更が実施される場合、次のような処理を実行する。
 例えば、監視部15bは、設定操作が行われたネットワーク装置30から、起動時にNVRAM(Non Volatile RAM)等の不揮発性メモリから読み込まれる「startup-config」と、RAM上に展開されている「running-config」とを取得する。その上で、監視部15bは、設定操作が行われたネットワーク装置30から取得された「startup-config」及び「running-config」の2つの設定ファイルを比較することにより、2つの設定ファイルが一致するか否かを判定する。例えば、監視部15bは、2つの設定ファイルからdiffやハッシュ値を算出する処理を実行することにより、2つの設定ファイルの差分の有無を判定することができる。
 ここで、「startup-config」及び「running-config」が一致しない場合、次のような状況を判断できる。例えば、ネットワークの管理者等がtelnetなどのプロトコルを介してネットワーク装置30に接続し、CLI(Command Line Interface)などを介して設定が行われた公算が高く、ネットワーク管理装置10、いわゆるSDNコントローラを介さずに「running-config」が更新された状況を推定できる。以下では、CLIを介して行われるコマンドによりネットワーク設定が行われることを「外部コマンド操作」と記載する場合がある。このように外部コマンド操作が行われた場合、ネットワーク装置30から取得された更新後の「running-config」と、記憶部13がネットワーク装置30の管理用に記憶する更新前の「running-config」との差分から、更新の内容に対応する設定コマンドを解釈できるとは限らず、逆コマンドも生成できるとは限らない。この場合、外部コマンド操作が行われる以前の操作へのロールバックが実行されると、ネットワークNWに不具合が発生する場合もある。よって、外部コマンド操作が行われる以前の操作へのロールバックを規制するために、外部コマンド操作が行われる以前に生成された逆コマンドは無効化される。
 一方、監視部15bは、「startup-config」及び「running-config」が一致する場合、記憶部13に記憶された図示しないリンクデータを参照する。かかるリンクデータには、一例として、リンクがトポロジから削除されたか否かを示す削除フラグが含まれる。例えば、削除フラグが「false」であればリンクが削除されておらず、削除フラグが「true」であればリンクが削除されたことを判別できる。このようなリンクデータを参照して、監視部15bは、設定が編集されるネットワーク装置30を含むリンクに関する削除フラグに「false」が設定されているか否かを判定する。
 このとき、設定が編集されるネットワーク装置30を含むリンクに関する削除フラグに「true」が設定されている場合、トポロジから削除されたリンクに含まれるネットワーク装置30の設定がロールバックされるのを規制するために、削除フラグに「true」が設定される以前に生成された逆コマンドは無効化される。
 また、監視部15bは、設定が編集されるネットワーク装置30を含むリンクに関する削除フラグに「false」が設定されている場合、先にネットワーク装置30から取得された「startup-config」と、記憶部13がネットワーク装置30の管理用に記憶する「startup-config」とを比較する。例えば、監視部15bは、2つの「startup-config」の更新日時の一致または不一致を判定したり、2つの「startup-config」からdiffやハッシュ値を算出する処理を実行することにより2つの「startup-config」の差分の有無を判定したりすることができる。
 この結果、2つの「startup-config」が一致しない場合、上記の外部コマンド操作が行われた公算が高いと判断できる。この場合にも、外部コマンド操作が行われる以前の操作へのロールバックを規制するために、外部コマンド操作が行われる以前に生成された逆コマンドは無効化される。
 なお、ここでは、あくまで一例として、設定操作が行われた場合に、上記3つの判定、すなわちネットワーク装置30における2つの設定ファイルの比較、リンクの削除フラグの確認およびネットワーク装置30及びネットワーク管理装置10間の「startup-config」の比較を行う場合を例示したが、これに限定されない。すなわち、監視部15bは、時間に関する条件にしたがって各ネットワーク装置30ごとに上記3つの判定を実施することができる。例えば、監視部15bは、前回に判定を行ってから所定の期間、例えば1分間が経過した場合、ネットワーク管理装置10が保持するシステム時刻が所定の定期時刻に到達する場合、上記3つの判定を実施することができる。この他、監視部15bは、ロールバックが指示された場合にも、ロールバック処理を実行する前に上記3つの判定を実施することもできる。
 設定部15cは、ネットワーク装置30に対する各種設定を行う処理部である。
 一実施形態として、設定部15cは、第1受付部15aにより編集が受け付けられた内容に関する設定コマンドをネットワーク装置30へ送信する。これによって、第1受付部15aにより編集が受け付けられた内容がネットワーク装置30に記憶された「running-config」へ登録される結果、ネットワーク装置30の設定が更新される。そして、設定部15cは、ネットワーク装置30から更新後の「startup-config」または「startup-config」の更新日時を取得し、記憶部13がネットワーク装置30の管理用に記憶する「startup-config」または「startup-config」の更新日時を上書き更新する。
 ここで、設定部15cは、ネットワーク装置30の設定が更新された場合、記憶部13がロールバック用に記憶する操作履歴データ13aを更新する。かかる操作履歴データ13aには、「操作No.」、「ユーザ名」、「デバイスグループ名」、「機能種別」、「変更日時」、「内容」、「フラグ1」、「フラグ2」及び「フラグ3」などの項目の一部または全部を含むデータを採用できる。ここで言う「操作No.」とは、設定操作を識別する番号を指し、例えば、最新に行われた設定操作から昇順に連番が採番される。また、「ユーザ名」とは、設定操作を行ったユーザの名称を指す。また、「デバイスグループ名」とは、設定操作が行われたネットワーク装置30のグループの名称を指す。また、「変更日時」とは、設定操作により設定が変更された日時を指し、例えば、「yyyy/mm/dd hh/mm/ss」などで表される。また、「設定操作内容」とは、設定操作の内容を指す。また、「フラグ1」は、設定操作が行われた後に当該設定操作が行われたネットワーク装置30に外部コマンド操作が行われたか否かを示すフラグを指し、例えば、フラグ1が「false」に設定されている場合には外部コマンド操作が行われておらず、フラグ1が「true」に設定されている場合には外部コマンド操作が行われていることを意味する。また、「フラグ2」は、設定操作が行われた後に当該設定操作が行われたネットワーク装置30を含むリンクが削除または編集されたか否かを示すフラグを指し、例えば、フラグ2が「false」に設定されている場合にはリンクの編集または削除が行われておらず、フラグ2が「true」に設定されている場合にはリンクの編集または削除が行われていることを意味する。また、「フラグ3」は、設定操作のロールバック処理にエラーが発生したか否かを示すフラグを指し、例えば、フラグ3が「false」に設定されている場合には設定操作に対するロールバック処理時が実行されておらず、フラグ3が「true」に設定されている場合にはロールバック処理時にエラーが発生したことを意味する。
 例えば、設定部15cは、ネットワーク装置30から取得された「startup-config」及び「running-config」が一致し、ネットワーク装置30を含むリンクの削除フラグに「false」が設定されており、かつネットワーク管理装置10及びネットワーク装置30の間で「startup-config」が一致する場合、第1受付部15aを介して受け付けた設定操作に関するレコードを記憶部13に記憶された操作履歴データ13aに追加登録する。このとき、設定部15cは、最新の設定操作から所定数、例えば20操作までの履歴に関するレコードを操作履歴データ13aとして記憶部13に保持させ、それ以前の設定操作に関するレコードを記憶部13から削除することもできる。
 また、設定部15cは、監視部15bにより外部コマンド操作が検出された場合、すなわちネットワーク装置30から取得された「startup-config」及び「running-config」が一致しない場合、あるいはネットワーク管理装置10及びネットワーク装置30の間で「startup-config」が一致しない場合、次のような処理を実行する。すなわち、設定部15cは、記憶部13に記憶された操作履歴データ13aのうち外部コマンド操作が検出されたネットワーク装置30のデバイス名を設定操作内容のフィールドに含み、かつ外部コマンド操作が検出された時点以前のレコードを検索する。その上で、設定部15cは、当該検索がヒットした全てのレコードが持つフラグ1に「true」を設定する。これによって、フラグ1に「true」が設定されたレコードに関する設定操作のロールバックが規制される。
 また、設定部15cは、ネットワーク装置30を含むリンクの削除フラグに「true」が設定されている場合、記憶部13に記憶された操作履歴データ13aのうちリンクの削除が検出されたネットワーク装置30のデバイス名を設定操作内容のフィールドに含み、かつリンクの削除が検出された以前のレコードを検索する。その上で、設定部15cは、当該検索がヒットした全てのレコードが持つフラグ2に「true」を設定する。これによって、フラグ2に「true」が設定されたレコードに関する設定操作のロールバックが規制される。
 逆コマンド生成部15dは、逆コマンドを生成する処理部である。
 一実施形態として、逆コマンド生成部15dは、ネットワーク装置30から取得された「startup-config」及び「running-config」が一致し、ネットワーク装置30を含むリンクの削除フラグに「false」が設定されており、かつネットワーク管理装置10及びネットワーク装置30の間で「startup-config」が一致する場合、逆コマンドを生成する。例えば、逆コマンド生成部15dは、ネットワーク装置30から更新後の「running-config」を取得した上で更新前後の「running-config」を比較することにより、2つの「running-config」の差分を抽出する。続いて、逆コマンド生成部15dは、2つの「running-config」の差分から設定操作が設定値の変更であるか否かを判定する。そして、逆コマンド生成部15dは、設定操作が設定値の変更である場合、次のようにして逆コマンドを生成する。すなわち、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を当該設定操作前の設定値へ変更する逆コマンドを生成する。また、逆コマンド生成部15dは、設定操作が設定値の変更でない場合、2つの「running-config」の差分から設定操作が初期値、例えばエンプティ等からの変更、すなわち新規登録であるか否かを判定する。このとき、逆コマンド生成部15dは、設定操作が新規登録である場合、次のようにして逆コマンドを生成する。すなわち、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を削除する逆コマンドを生成する。なお、初期値がNULL値である場合には、差分が抽出された項目の設定値を初期値、すなわちNULL値へ変更する逆コマンドを生成することとすればよい。さらに、逆コマンド生成部15dは、設定操作が設定値の変更でも新規登録でもない場合、2つの「running-config」の差分から設定操作が削除であるか否かを判定する。このとき、逆コマンド生成部15dは、設定操作が設定値の削除である場合、次のようにして逆コマンドを生成する。すなわち、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を当該削除操作前の設定値で新規登録する逆コマンドを生成する。このように生成された逆コマンドは、操作履歴データ13aのフィールド「操作No.」の値と関連付けられた状態で記憶部13に記憶された逆コマンドデータ13bへ追加登録される。
 図3は、逆コマンドの生成の一例を示す図である。図3には、デバイスAのVLAN設定が行われた例が示されている。図3に示すデバイスAの例では、操作1によりVLAN IDを設定a0から設定a1へ変更する更新、すなわちVLAN IDを「10」から「100」へ変更する更新が行われている。この場合、VLAN IDの設定値を「10」に変更する逆コマンドが生成される。さらに、操作2によりVLAN IDを設定a1から設定a2へ変更する更新、すなわちVLAN IDを「100」から「200」へ変更する更新が行われている。この場合、VLAN IDの設定値を「100」に変更する逆コマンドが生成される。さらに、操作3によりVLAN IDを設定a2から設定a3へ変更する更新、すなわちVLAN IDを「200」から「300」へ変更する更新が行われている。この場合、VLAN IDの設定値を「200」に変更する逆コマンドが生成される。
 一方、逆コマンド生成部15dは、ネットワーク装置30から取得された「startup-config」及び「running-config」が一致しない場合、ネットワーク装置30を含むリンクの削除フラグに「true」が設定されている場合、あるいはネットワーク管理装置10及びネットワーク装置30の間で「startup-config」が一致しない場合、当該ネットワーク装置30に関する逆コマンドを無効化する。例えば、逆コマンド生成部15dは、記憶部13に記憶された逆コマンドデータ13bのうち外部コマンド操作が検出されたネットワーク装置30またはリンクの削除が検出されたネットワーク装置30に関する逆コマンドを削除する。
 ロールバック制御部15eは、ロールバック処理の制御を行う処理部である。
 一実施形態として、ロールバック制御部15eは、クライアント端末50からロールバックの対象とされる設定操作の一覧を含むロールバック一覧画面の閲覧要求を受け付けた場合、記憶部13に記憶された操作履歴データ13aを読み出す。続いて、ロールバック制御部15eは、操作履歴データ13aに含まれるレコードのうちレコードを1つ選択する。例えば、ロールバック制御部15eは、最新の設定操作に関するレコードから順にレコードを1つずつ選択することができる。
 続いて、ロールバック制御部15eは、先に選択された操作履歴データ13aのレコードが持つロールバックエラーのフラグ3に「false」が設定されているか否かを判定する。このとき、ロールバックエラーのフラグ3に「true」が設定されている場合、先に選択されたレコードに対応する設定操作のロールバック処理が過去に実施されているものの、その結果がエラーであったことがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバックエラー」を割り当てる。
 一方、ロールバック制御部15eは、ロールバックエラーのフラグ3に「false」が設定されている場合、先に選択された操作履歴データ13aのレコードに対応する設定操作がユーザ権限の範囲内か否かをさらに判定する。例えば、ロールバック制御部15eは、記憶部13に記憶されたユーザ権限データのうち、ロールバック一覧画面の閲覧要求を行うクライアント端末50がネットワーク管理システム1にログイン認証に成功したアカウントのユーザ名に対応するユーザ権限を特定する。その上で、ロールバック制御部15eは、先に選択された操作履歴データ13aのレコードに含まれるフィールド「デバイスグループ名」が先に特定されたユーザ権限の範囲内であるか否かを判定する。このとき、設定操作がユーザ権限の範囲外である場合、ロールバック制御部15eは、先に選択された操作履歴データ13aのレコードに関するロールバックのステータスに「ロールバック不可」を割り当てる。
 また、ロールバック制御部15eは、設定操作がユーザ権限の範囲内である場合、先に選択された操作履歴データ13aのレコードが持つ外部コマンド操作のフラグ1に「false」が設定されているか否かをさらに判定する。このとき、外部コマンド操作のフラグ1に「true」が設定されている場合、当該レコードに対応する設定操作が行われた後に外部コマンド操作が実施されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる。
 また、ロールバック制御部15eは、外部コマンド操作のフラグ1に「false」が設定されている場合、次のような処理をさらに実行する。すなわち、ロールバック制御部15eは、記憶部13に記憶された図示しないデバイスデータに含まれるネットワーク装置30のうち、先に選択された操作履歴データ13aのレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30の削除フラグに「false」が設定されているか否かを判定する。このとき、ネットワーク装置30の削除フラグに「true」が設定されている場合、当該レコードに対応する設定操作が行われた後にネットワーク装置30に関するデータがデバイスデータから削除されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる。
 また、ロールバック制御部15eは、ネットワーク装置30の削除フラグに「false」が設定されている場合、先に選択された操作履歴データ13aのレコードが持つリンクの編集・削除のフラグ2に「false」が設定されているか否かをさらに判定する。このとき、リンクの編集・削除のフラグ2に「true」が設定されている場合、当該レコードに対応する設定操作が行われた後にネットワーク装置30を含むリンクがトポロジから削除されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる。
 また、ロールバック制御部15eは、リンクの編集・削除のフラグ2に「false」が設定されている場合、先に選択された操作履歴データ13aのレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30ごとに、ロールバック一覧画面の閲覧要求を受け付けた時点から遡って最初の設定操作、すなわち最新の設定操作であるかをさらに判定する。このとき、全てのネットワーク装置30において最新の設定操作である場合、ロールバック処理の実行に支障がない公算が高いことを判断できる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック可」を割り当てる。一方、いずれかのネットワーク装置30において最新の設定操作でない場合、先に選択された操作履歴データ13aのレコードに対応する設定操作よりも前に行われた設定操作の中でもフィールド「設定操作内容」に含まれるネットワーク装置30よりも先に行われた関連の設定操作に関するロールバック処理が実行されることを条件に、先に選択された操作履歴データ13aのレコードに対応する設定操作のロールバックを許可してもよいことがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック待ち」を割り当てる。
 このように操作履歴データ13aに含まれるレコードに対応する設定操作ごとに当該設定操作が「ロールバック可」、「ロールバック待ち」、「ロールバック不可」または「ロールバックエラー」のいずれかに分類されることになる。
 出力制御部15fは、クライアント端末50に対する出力制御を行う処理部である。
 一実施形態として、出力制御部15fは、ロールバック制御部15eにより設定操作ごとに割り当てられたロールバックのステータスにしたがってロールバック一覧画面をクライアント端末50に表示させる。例えば、出力制御部15fは、操作履歴データ13aに含まれる各レコードが持つフィールド「操作No.」が小さい順に各レコードが持つフィールの情報の一部又は全部を登載すると共に、各レコードに割り当てられたロールバックのステータス「ロールバック可」、「ロールバック待ち」、「ロールバック不可」または「ロールバックエラー」に対応するアイコン等のマークを対応付けることにより、ロールバック一覧画面の表示用データを生成する。このように生成された表示用データを用いて、出力制御部15fは、ロールバック一覧画面をクライアント端末50に表示させる。
 第2受付部15gは、ロールバック指示を受け付ける処理部である。
 一実施形態として、第2受付部15gは、出力制御部15fによりロールバック一覧画面がクライアント端末50に表示された状態でロールバック指示を受け付ける。具体的には、第2受付部15gは、ロールバック一覧画面に含まれるレコードの一覧の中からいずれかのレコードを選択することにより、ロールバック処理を実行する設定操作の指定を受け付ける。例えば、ロールバックのステータスとして「ロールバック可」が割り当てられたレコードが選択された場合、ロールバック処理の実行指示を受け付けるGUIコンポーネント、例えば実行ボタンがアクティブな状態で出力制御部15fにより表示される。また、ロールバックのステータスとして「ロールバック待ち」が割り当てられたレコードが選択された場合、出力制御部15fにより次のような表示が行われる。すなわち、当該選択されたレコードに対応する設定操作よりも前に行われた設定操作であり、かつ当該選択されたレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30に関する設定操作が先に行われた関連の設定操作に対応するレコードが他のレコードの表示形態と異なる区別可能な表示形態、例えば文字や塗り潰しの表示色の変更、「関連ロールバック」等のアイコンの表示、あるいは網掛け等の強調表示で表示されると共に、ロールバック処理の実行指示を受け付けるGUIコンポーネントが非アクティブな状態で表示される。また、ロールバックのステータスとして「ロールバック不可」が割り当てられたレコードが選択された場合、ロールバック処理の実行指示を受け付けるGUIコンポーネントが非アクティブな状態で表示される。
 このように設定操作の指定が受け付けられた状態で、第2受付部15gは、上記のGUIコンポーネントを介して、ロールバック処理の実行指示をさらに受け付ける。ここで、GUIコンポーネントが操作された場合、GUIコンポーネントがアクティブな状態であれば、当該指定が受け付けられた設定操作に対応する逆コマンドを実行することにより、設定操作をロールバックするロールバック処理がロールバック制御部15eにより実施される。このようにロールバック処理が実行された場合、当該ロールバック処理により設定が更新された後の「startup-config」をロールバック処理が実行された各ネットワーク装置30から取得した上で記憶部13がネットワーク装置30の管理用に記憶する「startup-config」または「startup-config」の更新日時が上書き更新される。これと共に、当該ロールバック処理が実行された設定操作に対応するレコードが操作履歴データ13aから削除される。一方、GUIコンポーネントがアクティブな状態でなければ、当該指定が受け付けられた設定操作をロールバックするロールバック処理は規制される。
[ロールバック制御の具体例]
 図4~図9を用いて、ロールバック制御の具体例について説明する。図4は、操作履歴データ13aの一例を示す図である。図5は、設定操作および設定内容の時系列を示す模式図である。図6~図9は、ロールバック一覧画面の一例を示す図である。
 図4には、操作1~操作7の計7個の設定操作に関するレコードが示されている。ここでは、説明の便宜上、7つのレコードを抜粋して例示したが、ロールバック一覧画面に表示されるレコード数はこれに限定されない。図4に示す操作履歴データ13aの場合、各設定操作とその設定操作の内容は図5に示す模式図の通りとなる。なお、図4及び図5に示すデバイスA、デバイスB及びデバイスCには、次のようなグループ設定がなされているものとする。すなわち、図5に示すように、グループAには、デバイスAが含まれ、グループBには、デバイスBが含まれると共に、グループCには、デバイスCが含まれる。また、グループZには、デバイスA及びデバイスBが含まれる。さらに、グループXには、デバイスA、デバイスB及びデバイスCが含まれる。
 図5に示す操作7では、デバイスAのVLAN IDを「初期値」から「2」へ新規登録することにより、デバイスAの設定ファイルが初期状態の「a0」から「a1」へ更新されたことを意味する。そして、図5に示す操作6では、デバイスAのルーティングのデフォルトルートが変更されることにより、デバイスAの設定ファイルが「a1」から「a2」へ更新されたことを意味する。その後、図5に示す操作5では、デバイスA、デバイスB及びデバイスCのVLAN IDが一括設定されている。すなわち、デバイスAのVLAN IDを「2」から「3」へ更新することにより、デバイスAの設定ファイルが「a2」から「a3」へ更新されたことを意味する。これと共に、デバイスBのVLAN IDを「初期値」から「3」へ新規登録することにより、デバイスBの設定ファイルが初期状態の「b0」から「b1」へ更新されたことを意味する。さらに、デバイスCのVLAN IDを「初期値」から「3」へ新規登録することにより、デバイスCの設定ファイルが初期状態の「c0」から「c1」へ更新されたことを意味する。
 続いて、図5に示す操作4では、デバイスA及びデバイスBのVLAN IDが一括設定されている。すなわち、デバイスAのVLAN IDを「3」から「4」へ更新することにより、デバイスAの設定ファイルが「a3」から「a4」へ更新されたことを意味する。これと共に、デバイスBのVLAN IDを「3」から「4」へ更新することにより、デバイスBの設定ファイルが「b1」から「b2」へ更新されたことを意味する。そして、図5に示す操作3では、デバイスBのVLAN IDを「4」から「5」へ更新することにより、デバイスBの設定ファイルが「b2」から「b3」へ更新されたことを意味する。続いて、図5に示す操作2では、デバイスAのVLAN IDを「4」から「6」へ更新することにより、デバイスAの設定ファイルが「a4」から「a5」へ更新されたことを意味する。さらに、図5に示す操作1では、デバイスAのVLAN IDを「6」から「7」へ更新することにより、デバイスAの設定ファイルが「a5」から「a6」へ更新されたことを意味する。
 ここで、図4に示す操作1及び操作3に対応するレコードが「ロールバック可」に分類されると共に、図4に示す操作1及び操作3に対応するレコード以外のレコードが「ロールバック待ち」に分類される。なぜなら、各レコードのフラグ1~フラグ3には「true」が設定されておらず、かつ操作1及び操作3に対応するレコード以外のレコードには、フィールド「設定操作内容」に含まれるデバイスの中に先に設定操作が行われたデバイスが存在するからである。
 このような設定操作の履歴の下、全体管理者権限を持つユーザ、すなわち図4に示したユーザの中では全体管理者3及び全体管理者4などの場合、図6に示すロールバック一覧画面がクライアント端末50に表示される。図6の上段には、一覧の中のレコードが未選択の状態である場合のロールバック一覧画面600が示されていると共に、図6の下段には、一覧の中のレコードのうち操作5に対応するレコードが選択された状態である場合のロールバック一覧画面620が示されている。
 図6に示すロールバック一覧画面600の通り、全体管理者3及び全体管理者4は、全てのデバイスに対する設定操作を行う権限を有するので、図4に示した操作履歴データ13aに含まれる全てのレコードが表示される。そして、ロールバック処理を実行する設定操作が指定されていない状態では、操作1及び操作3に対応するレコードには、当該レコードのロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示される。この段階では、ロールバック処理の実行指示を受け付ける実行ボタン610は非アクティブな状態で表示される。仮に操作1及び操作3に対応するレコードが選択された場合、当該実行ボタン610の状態がアクティブに切り替わる。
 このとき、一覧の中のレコードのうち操作5に対応するレコードが選択された場合、クライアント端末50の表示は、図6の上段に示すロールバック一覧画面600から図6の下段に示すロールバック一覧画面620へ遷移する。図6に示すロールバック一覧画面620の通り、選択が行われた操作5に対応するレコードが他のレコードの表示形態とは異なる表示形態、図中では一番濃いハッチングで表示される。さらに、選択が行われた操作5よりも前に行われた設定操作であり、かつ操作5に対応するレコードが持つフィールド「設定操作内容」に含まれるデバイスA、デバイスBまたはデバイスCに関する設定操作が先に行われた関連の操作1~4に対応するレコードが他のレコードの表示形態と異なる区別可能な表示形態、例えば2番目に濃いハッチングで表示される。このとき、関連の操作1~4に対応するレコードのうち、現状でロールバックが可能である操作1及び操作3に対応するレコードには、「ロールバック可」であることを示すアイコンが対応付けて表示される。また、「ロールバック待ち」に分類された操作2及び操作4に対応するレコードには、同様に「ロールバック待ち」に分類された操作5に対応するレコードと共に「関連ロールバック」であることを示すアイコンが対応付けて表示される。この場合、関連の操作1~4のロールバックが実行されなければ、操作5のロールバックは実行できないので、実行ボタン630は非アクティブな状態で表示される。かかるロールバック一覧画面620によれば、操作5のロールバックの前に行った方がよい操作1~4のロールバックが一目で把握できる。
 また、デバイスグループ管理者権限を持つユーザ、すなわち図4に示したユーザの中ではGrpA管理者5の場合、図7に示すロールバック一覧画面がクライアント端末50に表示される。図7の上段には、一覧の中のレコードが未選択の状態である場合のロールバック一覧画面700が示されている。図7の中段には、一覧の中のレコードのうち操作4に対応するレコードが選択された状態である場合のロールバック一覧画面720が示されている一方で、図7の下段には、ロールバック一覧画面720上で操作1及び操作2のロールバックが実行された場合のロールバック一覧画面740が示されている。なお、図7では、図4に示した操作履歴データ13aとの対応を明記する観点から図4に示した操作履歴データ13aの「操作No.」と、図7に示すロールバック一覧画面700、720及び740の「操作No.」との対応関係を一致させた例を示したが、ユーザ権限またはロールバックの実行により欠番が発生した場合には一覧の上から昇順に採番し直すこともできるのは言うまでもない。
 図7に示すロールバック一覧画面700の通り、GrpA管理者5は、デバイスAに対する設定操作を行う権限しか持たない。このため、GrpA管理者5には、図4に示した操作履歴データ13aに含まれる全てのレコードが表示される訳ではない。具体的には、操作3に対応するレコードは、デバイスBに対する設定操作であり、GrpA管理者5のユーザ権限の範疇であるデバイスAが含まれないので、一覧上に表示されない。さらに、一覧上の操作4及び操作5には、GrpA管理者5のユーザ権限の範囲外のデバイスB、デバイスCに対する設定操作も含まれるので、どういう操作を行ったかは公開されず、設定操作内容には非公開のマーク「-」が表示される。さらに、操作4及び操作5は、操作4及び操作5を全体管理者にロールバックしてもらうことができるので、「ロールバック不可」のアイコンは付与されない。
 このようにロールバック処理を実行する設定操作が指定されていない状態では、操作1に対応するレコードには、当該レコードのロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示される。この段階では、ロールバック処理の実行指示を受け付ける実行ボタン710は非アクティブな状態で表示される。仮に操作1に対応するレコードが選択された場合、当該実行ボタン710の状態がアクティブに切り替わる。
 このとき、一覧の中のレコードのうち操作4に対応するレコードが選択された場合、クライアント端末50の表示は、図7の上段に示すロールバック一覧画面700から図7の中段に示すロールバック一覧画面720へ遷移する。図7に示すロールバック一覧画面720の通り、選択が行われた操作4に対応するレコードが他のレコードの表示形態とは異なる表示形態、図中では一番濃いハッチングで表示される。さらに、選択が行われた操作4よりも前に行われた設定操作であり、かつ操作4に対応するレコードが持つフィールド「設定操作内容」に含まれるデバイスAまたはデバイスBに関する設定操作が先に行われた関連の操作1~2に対応するレコードが他のレコードの表示形態と異なる区別可能な表示形態、例えば2番目に濃いハッチングで表示される。このとき、関連の操作1及び操作2に対応するレコードのうち、現状でロールバックが可能である操作1に対応するレコードには、「ロールバック可」であることを示すアイコンが対応付けて表示される。また、「ロールバック待ち」に分類された操作2に対応するレコードには、同様に「ロールバック待ち」に分類された操作4に対応するレコードと共に「関連ロールバック」であることを示すアイコンが対応付けて表示される。この場合、関連の操作1~2のロールバックが実行されなければ、操作4のロールバックは実行できないので、実行ボタン730は非アクティブな状態で表示される。かかるロールバック一覧画面720によれば、操作4のロールバックの前に行った方がよい操作1~2のロールバックが一目で把握できる。
 そして、ロールバック一覧画面720上で操作1及び操作2のロールバックが実行された場合、クライアント端末50の表示は、図7の中段に示すロールバック一覧画面720から図7の下段に示すロールバック一覧画面740へ遷移する。図7に示すロールバック一覧画面740の通り、ロールバックが実行済みである操作1及び操作2が一覧から削除されると共に、その後に選択が行われた操作4に対応するレコードが他のレコードの表示形態とは異なる表示形態、図中では一番濃いハッチングで表示される。さらに、選択が行われた操作4は、GrpA管理者5のユーザ権限の範囲外であるデバイスBのロールバックが条件となるので、実行ボタン750は非アクティブな状態で表示される。この場合、GrpA管理者5は、GrpZ管理者1、全体管理者3または全体管理者4に、ロールバック実行を依頼することになる。
 続いて、ロールバック不可の場合の表示について説明する。例えば、操作2及び操作3の間の期間、例えば2015年の5月10日に、デバイスAに接続されているリンクが変更または削除された場合を想定する。この場合、図4に示した操作履歴データ13aに含まれるフラグ2のカラムのうち操作4~操作7のカラムには「true」が設定されることになる。これら操作4~操作7をロールバックしてしまうとネットワークNW全体としての整合性が取れなくなってしまう可能性が高い。このため、図8の上段に示すロールバック一覧画面800が表示される。なお、図8に示すロールバック一覧画面800、820、840には、全体管理者権限を持つユーザへの表示が示されていることとする。
 図8に示すロールバック一覧画面800では、操作4~操作7に対応するレコードには、各レコードのロールバックに関するステータスが「ロールバック不可」であることを示すアイコンが対応付けて表示される。一方、操作1及び操作2は、デバイスAのリンクが変更された後にVLAN設定が行われたので、ロールバックしてもネットワーク構成全体としての整合性は取れる可能性が高い。よって、操作1および操作2は、ロールバック不可とはされない。すなわち、操作1に対応するレコードには、ロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示されると共に、操作2に対応するレコードは、「ロールバック待ち」に分類されているので、いずれのレコードも選択されていない現状ではアイコンが付与されずに無印で表示される。なお、例えば、操作2に対応するレコードが選択された場合、操作2に対応するレコードには、ロールバックに関するステータスが「ロールバック待ち」であることを示すアイコンを対応付けて表示することもできる。加えて、操作3は、リンクを変更したデバイスAとは関係のないデバイスBに対する操作であるので、「ロールバック不可」とはされず、ロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示される。このような状況の下、ロールバック不可のレコードが選択されたとしても、実行ボタン810の状態は非アクティブで表示される。
 次に、操作1の後に、デバイスAがトポロジから削除された場合を想定する。この場合、図8の中段に示すロールバック一覧画面820が表示される。図8に示すロールバック一覧画面820では、フィールド「設定操作内容」にデバイスAが含まれる操作1、2、4~7に対応するレコードには、各レコードのロールバックに関するステータスが「ロールバック不可」であることを示すアイコンが対応付けて表示される。このため、デバイスAに対して行った操作のロールバックは一切できない状態となる。一方、操作3は、トポロジから削除されたデバイスAとは関係のないデバイスBに対する操作であるので、「ロールバック不可」とはされず、ロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示される。このような状況の下、ロールバック不可のレコードが選択されたとしても、実行ボタン830の状態は非アクティブで表示される。
 次に、操作2及び操作3の間の期間、例えば2015年の5月10日に、デバイスAに外部コマンド操作が実行された場合を想定する。この場合、図4に示した操作履歴データ13aに含まれるフラグ1のカラムのうち操作4~操作7のカラムには「true」が設定されることになる。これら操作4~操作7をロールバックしてしまうと、外部コマンド操作が行われた日時以前の操作4~操作7に、SDNコントローラが把握可能な範囲で設定を戻すこともできなくはないが、ネットワークNW全体としての整合性が取れなくなってしまう可能性があるので、敢えて操作4~操作7は「ロールバック不可」とされる。この結果、図8の下段に示すロールバック一覧画面840が表示される。
 図8に示すロールバック一覧画面840では、操作4~操作7に対応するレコードには、各レコードのロールバックに関するステータスが「ロールバック不可」であることを示すアイコンが対応付けて表示される。一方、操作1及び操作2は、デバイスAのリンクが変更された後にVLAN設定が行われたので、ロールバックしてもネットワーク構成全体としての整合性は取れる可能性が高い。よって、操作1および操作2は、ロールバック不可とはされない。すなわち、操作1に対応するレコードには、ロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示されると共に、操作2に対応するレコードは、「ロールバック待ち」に分類されているので、いずれのレコードも選択されていない現状ではアイコンが付与されずに無印で表示される。なお、例えば、操作2に対応するレコードが選択された場合、操作2に対応するレコードには、ロールバックに関するステータスが「ロールバック待ち」であることを示すアイコンを対応付けて表示することもできる。加えて、操作3は、外部コマンド操作が行われたデバイスAとは関係のないデバイスBに対する操作であるので、「ロールバック不可」とはされず、ロールバックに関するステータスが「ロールバック可」であることを示すアイコンが対応付けて表示される。このような状況の下、ロールバック不可のレコードが選択されたとしても、実行ボタン850の状態は非アクティブで表示される。
 続いて、ロールバックエラーの場合の表示について説明する。例えば、操作3のロールバックを実行したが、デバイスBの電源が落ちていた等の原因により失敗したケースを想定する。この場合、図4に示した操作履歴データ13aに含まれるフラグ3のカラムのうち操作3のカラムには「true」が設定されることになる。この場合、図9に示すロールバック一覧画面900が表示される。図9に示すロールバック一覧画面900では、図6に示したロールバック一覧画面600と比べて、操作3に対応するレコードの表示が異なる。すなわち、操作3に対応するレコードには、ロールバックに関するステータスが「ロールバックエラー」であることを示すアイコンが対応付けて表示される。これは、操作3は元々「ロールバック可」であったので、ユーザがロールバックを実行したが、結果としてロールバックが失敗してしまったことを表す。この場合、ロールバック失敗の原因が、デバイスBの電源断やネットワーク断など、一時的な要因であれば再度実行して成功する可能性がある。このため、再度、操作3に対応するレコードを選択して実行することが可能である。すなわち、ロールバックエラー状態の操作3に対応するレコードが選択された場合、実行ボタン910の状態はアクティブに切り替わる。このような状況の下、例えば、操作4に対応するレコードが選択されると、操作1、操作2、操作3の順番にロールバックするように、関連ロールバックのアイコンが操作1、操作2、操作3の各レコードに対応付けて表示される。
[処理の流れ]
 次に、本実施例に係るネットワーク管理装置10の処理の流れについて説明する。なお、ここでは、ネットワーク管理装置10が実行する(1)逆コマンド生成処理を説明した後に、(2)ロールバック処理について説明することとする。
(1)逆コマンド生成処理
 図10は、実施例1に係る逆コマンド生成処理の手順を示すフローチャートである。この処理は、一例として、第1受付部15aにより設定の編集が受け付けられた場合に開始される。図10に示すように、第1受付部15aにより設定操作が受け付けられると(ステップS101)、例えば、監視部15bは、ステップS101で設定操作が行われたネットワーク装置30から「startup-config」及び「running-config」を取得する(ステップS102)。
 その上で、監視部15bは、ステップS102で取得された「startup-config」及び「running-config」の2つの設定ファイルを比較することにより、2つの設定ファイルが一致するか否かを判定する(ステップS103)。
 ここで、「startup-config」及び「running-config」が一致しない場合(ステップS103No)、設定部15cは、ステップS101で編集が受け付けられた内容に関する設定コマンドをネットワーク装置30へ送信することによりネットワーク装置30の設定を更新する(ステップS111)。この場合、設定部15cは、記憶部13に記憶された逆コマンドデータ13bのうち外部コマンド操作が検出されたネットワーク装置30に関する操作履歴レコードのフラグ1を「true」に設定することにより無効化する(ステップS112)。
 一方、「startup-config」及び「running-config」が一致する場合(ステップS103Yes)、監視部15bは、記憶部13に記憶された図示しないリンクデータを参照して、ステップS101で設定の編集が受け付けられたネットワーク装置30を含むリンクに関する削除フラグに「false」が設定されているか否かを判定する(ステップS104)。
 このとき、リンクに関する削除フラグに「true」が設定されている場合(ステップS104No)、設定部15cは、ステップS101で編集が受け付けられた内容に関する設定コマンドをネットワーク装置30へ送信することによりネットワーク装置30の設定を更新する(ステップS111)。この場合も、設定部15cは、記憶部13に記憶された逆コマンドデータ13bのうちリンクの削除が検出されたネットワーク装置30に関する操作履歴レコードのフラグ2を「true」に設定することにより無効化する(ステップS112)。
 一方、リンクに関する削除フラグに「false」が設定されている場合(ステップS104Yes)、監視部15bは、ステップS102でネットワーク装置30から取得された「startup-config」と、記憶部13がネットワーク装置30の管理用に記憶する「startup-config」とを比較する(ステップS105)。
 ここで、2つの「startup-config」が一致しない場合(ステップS105No)、上記の外部コマンド操作が行われた公算が高いと判断できる。この場合、設定部15cは、ステップS101で編集が受け付けられた内容に関する設定コマンドをネットワーク装置30へ送信することによりネットワーク装置30の設定を更新する(ステップS111)。この場合にも、設定部15cは、記憶部13に記憶された逆コマンドデータ13bのうち外部コマンド操作が検出されたネットワーク装置30に関する操作履歴レコードのフラグ1を「true」に設定することにより無効化する(ステップS112)。
 一方、ネットワーク管理装置10及びネットワーク装置30の間で「startup-config」が一致する場合(ステップS105Yes)、設定部15cは、ステップS101で編集が受け付けられた内容に関する設定コマンドをネットワーク装置30へ送信することによりネットワーク装置30の設定を更新する(ステップS106)。
 その後、逆コマンド生成部15dは、ネットワーク装置30から更新後の「running-config」を取得した上で更新前後の「running-config」を比較することにより、2つの「running-config」の差分を抽出する(ステップS107)。
 続いて、逆コマンド生成部15dは、2つの「running-config」の差分から設定操作が設定値の変更であるか否かを判定する(ステップS108)。そして、設定操作が設定値の変更である場合(ステップS108Yes)、逆コマンド生成部15dは、次のようにして逆コマンドを生成する。すなわち、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を当該設定操作前の設定値へ変更する逆コマンドを生成する(ステップS109)。
 また、設定操作が設定値の変更でない場合(ステップS108No)、逆コマンド生成部15dは、2つの「running-config」の差分から設定操作が新規登録であるか否かを判定する(ステップS110)。そして、設定操作が新規登録である場合(ステップS110Yes)、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を削除する逆コマンドを生成する(ステップS1101)。一方、設定操作が新規登録でない場合(ステップS110No)、設定操作が設定値の削除であると判明する。この場合、逆コマンド生成部15dは、当該設定操作が行われたネットワーク装置30ごとに「running-config」に含まれる項目のうち差分が抽出された項目の設定値を当該削除操作前の設定値で新規登録する逆コマンドを生成する(ステップS1102)。
 その上で、設定部15cは、ネットワーク装置30から更新後の「startup-config」または「startup-config」の更新日時を取得し、記憶部13がネットワーク装置30の管理用に記憶する「startup-config」または「startup-config」の更新日時を上書き更新する(ステップS113)。
 その後、設定部15cは、ステップS101で受け付けた設定操作に関するレコードを記憶部13に記憶された操作履歴データ13aに追加登録し(ステップS114)、処理を終了する。ここで、ステップS114では、ステップS103の分岐でNoと判定された場合、設定部15cは、記憶部13に記憶された操作履歴データ13aのうち外部コマンド操作が検出されたネットワーク装置30のデバイス名を設定操作内容のフィールドに含み、かつ外部コマンド操作が検出された時点以前のレコードが持つフラグ1に「true」を設定する。また、ステップS114では、ステップS104の分岐でNoと判定された場合、設定部15cは、記憶部13に記憶された操作履歴データ13aのうちリンクの削除が検出されたネットワーク装置30のデバイス名を設定操作内容のフィールドに含み、かつリンクの削除が検出された時点以前のレコードが持つフラグ2に「true」を設定する。また、ステップS114では、ステップS105の分岐でNoと判定された場合、設定部15cは、記憶部13に記憶された操作履歴データ13aのうち外部コマンド操作が検出されたネットワーク装置30のデバイス名を設定操作内容のフィールドに含み、かつ外部コマンド操作が検出された時点以前のレコードが持つフラグ1に「true」を設定する。
(2)ロールバック処理
 図11及び図12は、実施例1に係るロールバック処理の手順を示すフローチャートである。この処理は、一例として、クライアント端末50からロールバックの対象とされる設定操作の一覧を含むロールバック一覧画面の閲覧要求を受け付けた場合に開始される。
 図11に示すように、ロールバック制御部15eは、記憶部13に記憶された操作履歴データ13aを読み出す(ステップS301)。続いて、ロールバック制御部15eは、操作履歴データ13aに含まれるレコードのうちレコードを1つ選択する(ステップS302)。
 続いて、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードが持つロールバックエラーのフラグ3に「false」が設定されているか否かを判定する(ステップS303)。
 このとき、ロールバックエラーのフラグ3に「true」が設定されている場合(ステップS303No)、ステップS302で選択されたレコードに対応する設定操作のロールバック処理が過去に実施されているものの、その結果がエラーであったことがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバックエラー」を割り当てる(ステップS304)。その後、ステップS313の処理へ移行する。
 一方、ロールバックエラーのフラグ3に「false」が設定されている場合(ステップS303Yes)、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードに対応する設定操作がユーザ権限の範囲内か否かをさらに判定する(ステップS305)。このとき、設定操作がユーザ権限の範囲外である場合(ステップS305No)、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードに関するロールバックのステータスに「一覧表示対象外」を割り当てる(ステップS3051)。その後、ステップS313の処理へ移行する。
 また、設定操作がユーザ権限の範囲内である場合(ステップS305Yes)、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードが持つ外部コマンド操作のフラグ1に「false」が設定されているか否かをさらに判定する(ステップS307)。このとき、外部コマンド操作のフラグ1に「true」が設定されている場合(ステップS307No)、当該レコードに対応する設定操作が行われた後に外部コマンド操作が実施されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる(ステップS306)。その後、ステップS313の処理へ移行する。
 また、外部コマンド操作のフラグ1に「false」が設定されている場合(ステップS307Yes)、ロールバック制御部15eは、次のような処理をさらに実行する。すなわち、ロールバック制御部15eは、記憶部13に記憶された図示しないデバイスデータに含まれるネットワーク装置30のうち、先に選択された操作履歴データ13aのレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30の削除フラグに「false」が設定されているか否かを判定する(ステップS308)。
 このとき、ネットワーク装置30の削除フラグに「true」が設定されている場合(ステップS308No)、当該レコードに対応する設定操作が行われた後にネットワーク装置30に関するデータがデバイスデータから削除されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる(ステップS306)。その後、ステップS313の処理へ移行する。
 また、ネットワーク装置30の削除フラグに「false」が設定されている場合(ステップS308Yes)、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードが持つリンクの編集・削除のフラグ2に「false」が設定されているか否かをさらに判定する(ステップS309)。このとき、リンクの編集・削除のフラグ2に「true」が設定されている場合(ステップS309No)、当該レコードに対応する設定操作が行われた後にネットワーク装置30を含むリンクがトポロジから削除されていることがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック不可」を割り当てる(ステップS306)。その後、ステップS313の処理へ移行する。
 また、リンクの編集・削除のフラグ2に「false」が設定されている場合(ステップS309Yes)、ロールバック制御部15eは、ステップS302で選択された操作履歴データ13aのレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30ごとに、ロールバック一覧画面の閲覧要求を受け付けた時点から遡って最初の設定操作、すなわち最新の設定操作であるかをさらに判定する(ステップS310)。
 ここで、全てのネットワーク装置30において最新の設定操作である場合(ステップS310Yes)、ロールバック処理の実行に支障がない公算が高いことを判断できる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック可」を割り当てる(ステップS311)。
 一方、いずれかのネットワーク装置30において最新の設定操作でない場合(ステップS310No)、ステップS302で選択された操作履歴データ13aのレコードに対応する設定操作よりも前に行われた設定操作の中でもフィールド「設定操作内容」に含まれるネットワーク装置30よりも先に行われた関連の設定操作に関するロールバック処理が実行されることを条件に、先に選択された操作履歴データ13aのレコードに対応する設定操作のロールバックを許可してもよいことがわかる。この場合、ロールバック制御部15eは、当該レコードに関するロールバックのステータスに「ロールバック待ち」を割り当てる(ステップS312)。
 その後、操作履歴データ13aに含まれる各レコードが選択されるまで(ステップS313No)、上記のステップS302~ステップS312までの処理が繰り返し実行される。そして、操作履歴データ13aに含まれる各レコードが選択された場合(ステップS313Yes)、出力制御部15fは、ロールバック制御部15eにより設定操作ごとに割り当てられたロールバックのステータスにしたがってロールバック一覧画面をクライアント端末50に表示させる(ステップS314)。
 その後、第2受付部15gは、ロールバック一覧画面に含まれるレコードの一覧の中からいずれかのレコードの選択を受け付ける(ステップS315)。このとき、ロールバックのステータスとして「ロールバック可」が割り当てられたレコードが選択された場合(ステップS316Yes)、出力制御部15fは、ロールバック処理の実行指示を受け付ける実行ボタンをアクティブな状態で表示させる(ステップS317)。
 また、ロールバックのステータスとして「ロールバック待ち」が割り当てられたレコードが選択された場合(ステップS318Yes)、出力制御部15fにより次のような表示が行われる。すなわち、出力制御部15fは、ステップS315で選択されたレコードに対応する設定操作よりも前に行われた設定操作であり、かつ当該選択されたレコードが持つフィールド「設定操作内容」に含まれるネットワーク装置30に関する設定操作が先に行われた関連の設定操作に対応するレコードが他のレコードの表示形態と異なる区別可能な表示形態、例えば文字や塗り潰しの表示色の変更、あるいは網掛け等の強調表示で表示させると共に、実行ボタンを非アクティブな状態で表示させる(ステップS319及びステップS320)。
 また、ロールバックのステータスとして「ロールバック不可」が割り当てられたレコードが選択された場合(ステップS318No)、出力制御部15fは、実行ボタンを非アクティブな状態で表示させる(ステップS320)。
 その後、ロールバックの実行ボタンが操作されるまで(ステップS321No)、上記のステップS315~ステップS320の処理が繰り返し実行される。そして、ロールバックの実行ボタンが操作された場合(ステップS321Yes)、ロールバック制御部15eは、実行ボタンの状態がアクティブであるか否かを判定する(ステップS322)。
 ここで、実行ボタンの状態がアクティブである場合(ステップS322Yes)、ロールバック制御部15eは、当該指定が受け付けられた設定操作に対応する逆コマンドを実行することにより、設定操作をロールバックするロールバック処理を実行する(ステップS323)。なお、実行ボタンの状態が非アクティブである場合(ステップS322No)、当該指定が受け付けられた設定操作のロールバック処理は規制される。この場合、ステップS315の処理に戻る。
 その後、ロールバック制御部15eは、当該ロールバック処理により設定が更新された後の「startup-config」をロールバック処理が実行された各ネットワーク装置30から取得した上で記憶部13がネットワーク装置30の管理用に記憶する「startup-config」または「startup-config」の更新日時を上書き更新する(ステップS324)と共に、当該ロールバック処理が実行された設定操作に対応するレコードを操作履歴データ13aから削除する(ステップS325)。その後、ステップS301で説明した操作履歴データの取得に戻り、以降の処理を繰り返し実行する。
[効果の一側面]
 上述してきたように、本実施例に係るネットワーク管理装置10は、ネットワーク装置30が記憶する設定データ及びネットワーク管理装置10が記憶する設定データに差分がある場合に当該ネットワーク装置30に対して過去に生成した逆コマンドを無効化する。したがって、本実施例に係るネットワーク管理装置10によれば、逆コマンドの実行により発生するネットワークの不具合を抑制できる。
 さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[逆コマンド]
 上記の実施例1では、外部コマンド操作が検出された場合、逆コマンドの生成を規制する場合を例示したが、外部コマンドにより行われた設定であっても、更新前後の設定ファイルの差分から逆コマンドを割り出す解釈が可能である設定であれば、ロールバックを実行することとしてもかまわない。
[ロールバック]
 上記の実施例1では、ネットワーク管理システム1が操作を1つずつロールバックさせる場合を例示したが、一度に複数の操作をロールバックさせることもできる。この場合、一連の逆コマンドを実行することとしてもよいし、一連の逆コマンドが同種のコマンドであるか否かを判定し、同種のコマンドである場合、ロールバックが指定された操作、すなわち複数の操作のうち最も古くに行われた操作に対応する逆コマンドだけを実行させることもできる。例えば、全ての逆コマンドが設定値の変更である場合、一度の設定値の変更によりロールバックが指定された操作の直前の操作まで設定を戻すこともできる。
[分散および統合]
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第1受付部15a、監視部15b、設定部15c、逆コマンド生成部15d、ロールバック制御部15e、出力制御部15fまたは第2受付部15gをネットワーク管理装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、第1受付部15a、監視部15b、設定部15c、逆コマンド生成部15d、ロールバック制御部15e、出力制御部15fまたは第2受付部15gを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のネットワーク管理装置10の機能を実現するようにしてもよい。
[逆コマンド生成プログラム]
 また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有する逆コマンド生成プログラムを実行するコンピュータの一例について説明する。
 図13は、実施例1及び実施例2に係る逆コマンド生成プログラムを実行するコンピュータのハードウェア構成例を示す図である。図13に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
 HDD170には、図13に示すように、上記の実施例1で示した第1受付部15a、監視部15b、設定部15c、逆コマンド生成部15d、ロールバック制御部15e、出力制御部15fまたは第2受付部15gと同様の機能を発揮する逆コマンド生成プログラム170aが記憶される。この逆コマンド生成プログラム170aは、図2に示した第1受付部15a、監視部15b、設定部15c、逆コマンド生成部15d、ロールバック制御部15e、出力制御部15fまたは第2受付部15gの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
 このような環境の下、CPU150は、HDD170から逆コマンド生成プログラム170aを読み出した上でRAM180へ展開する。この結果、逆コマンド生成プログラム170aは、図13に示すように、逆コマンド生成プロセス180aとして機能する。この逆コマンド生成プロセス180aは、RAM180が有する記憶領域のうち逆コマンド生成プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、逆コマンド生成プロセス180aが実行する処理の一例として、図10~図12に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
 なお、上記の逆コマンド生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
   1  ネットワーク管理システム
  10  ネットワーク管理装置
  11  通信I/F部
  13  記憶部
  13a 操作履歴データ
  13b 逆コマンドデータ
  15  制御部
  15a 第1受付部
  15b 監視部
  15c 設定部
  15d 逆コマンド生成部
  15e ロールバック制御部
  15f 出力制御部
  15g 第2受付部
  30A,30B,30C  ネットワーク装置

Claims (9)

  1.  通信装置の設定が更新される度に前記通信装置が記憶する第1の設定データを所定の記憶部に格納する処理と、
     通信装置に対する設定操作を受け付ける処理と、
     受け付けた前記設定操作の対象の前記通信装置から前記通信装置が記憶する第2の設定データを取得する処理と、
     取得した前記第2の設定データに基づいて前記通信装置へ送信する設定コマンドの逆コマンドを生成する処理と、
     前記取得する処理で取得された前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化する処理と、
     をコンピュータに実行させることを特徴する逆コマンド生成プログラム。
  2.  前記取得する処理は、前記通信装置の不揮発性メモリに記憶される第3の設定データと、前記通信装置の揮発性メモリに記憶された前記第2の設定データとを取得し、
     前記無効化する処理は、前記取得する処理で取得された第1の設定データおよび第3の設定データに差分がある場合、または前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に、前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化することを特徴とする請求項1に記載の逆コマンド生成プログラム。
  3.  前記通信装置の設定が更新される前後で前記通信装置が記憶する設定データの差分を抽出する処理と、
     前記抽出する処理で抽出された差分から前記設定操作が設定値の変更または設定値の新規登録または削除のいずれかを判定する処理とをさらに前記コンピュータに実行させ、
     前記生成する処理は、前記設定操作が設定値の変更である場合に更新前後の差分が抽出された項目の設定値を当該設定操作前の設定値へ変更する逆コマンドを生成し、前記設定操作が設定値の新規登録である場合に更新前後の差分が抽出された項目の設定値を削除する逆コマンドを生成し、前記設定操作が設定値の削除である場合に更新前後の差分が抽出された項目の設定値を当該削除操作前の設定値で新規登録する逆コマンドを生成することを特徴とする請求項1に記載の逆コマンド生成プログラム。
  4.  通信装置の設定が更新される度に前記通信装置が記憶する第1の設定データを所定の記憶部に格納する処理と、
     通信装置に対する設定操作を受け付ける処理と、
     受け付けた前記設定操作の対象の前記通信装置から前記通信装置が記憶する第2の設定データを取得する処理と、
     取得した前記第2の設定データに基づいて前記通信装置へ送信する設定コマンドの逆コマンドを生成する処理と、
     前記取得する処理で取得された前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化する処理と、
     がコンピュータにより実行されることを特徴する逆コマンド生成方法。
  5.  前記取得する処理は、前記通信装置の不揮発性メモリに記憶される第3の設定データと、前記通信装置の揮発性メモリに記憶された前記第2の設定データとを取得し、
     前記無効化する処理は、前記取得する処理で取得された第1の設定データおよび第3の設定データに差分がある場合、または前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に、前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化することを特徴とする請求項4に記載の逆コマンド生成方法。
  6.  前記通信装置の設定が更新される前後で前記通信装置が記憶する設定データの差分を抽出する処理と、
     前記抽出する処理で抽出された差分から前記設定操作が設定値の変更または設定値の新規登録または削除のいずれかを判定する処理とがさらに前記コンピュータにより実行され、
     前記生成する処理は、前記設定操作が設定値の変更である場合に更新前後の差分が抽出された項目の設定値を当該設定操作前の設定値へ変更する逆コマンドを生成し、前記設定操作が設定値の新規登録である場合に更新前後の差分が抽出された項目の設定値を削除する逆コマンドを生成し、前記設定操作が設定値の削除である場合に更新前後の差分が抽出された項目の設定値を当該削除操作前の設定値で新規登録する逆コマンドを生成することを特徴とする請求項4に記載の逆コマンド生成方法。
  7.  通信装置の設定が更新される度に前記通信装置が記憶する第1の設定データを所定の記憶部に格納する格納部と、
     通信装置に対する設定操作を受け付ける受付部と、
     受け付けた前記設定操作の対象の前記通信装置から前記通信装置が記憶する第2の設定データを取得する取得部と、
     取得した前記第2の設定データに基づいて前記通信装置へ送信する設定コマンドの逆コマンドを生成する生成部と、
     前記取得部により取得された前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化する設定部と、
     を有することを特徴とする逆コマンド生成装置。
  8.  前記取得部は、前記通信装置の不揮発性メモリに記憶される第3の設定データと、前記通信装置の揮発性メモリに記憶された前記第2の設定データとを取得し、
     前記設定部は、前記取得部により取得された第1の設定データおよび第3の設定データに差分がある場合、または前記第2の設定データと前記記憶部に記憶された前記第1の設定データとに差分がある場合に、前記記憶部に記憶された前記第1の設定データに基づいて生成した逆コマンドを無効化することを特徴とする請求項7に記載の逆コマンド生成装置。
  9.  前記通信装置の設定が更新される前後で前記通信装置が記憶する設定データの差分を抽出する抽出部と、
     前記抽出部により抽出された差分から前記設定操作が設定値の変更または設定値の新規登録または削除のいずれかを判定する判定部とをさらに有し、
     前記生成部は、前記設定操作が設定値の変更である場合に更新前後の差分が抽出された項目の設定値を当該設定操作前の設定値へ変更する逆コマンドを生成し、前記設定操作が設定値の新規登録である場合に更新前後の差分が抽出された項目の設定値を削除する逆コマンドを生成し、前記設定操作が設定値の削除である場合に更新前後の差分が抽出された項目の設定値を当該削除操作前の設定値で新規登録する逆コマンドを生成することを特徴とする請求項7に記載の逆コマンド生成装置。
PCT/JP2016/051193 2016-01-15 2016-01-15 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置 WO2017122365A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/051193 WO2017122365A1 (ja) 2016-01-15 2016-01-15 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置
JP2017561499A JP6525067B2 (ja) 2016-01-15 2016-01-15 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/051193 WO2017122365A1 (ja) 2016-01-15 2016-01-15 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置

Publications (1)

Publication Number Publication Date
WO2017122365A1 true WO2017122365A1 (ja) 2017-07-20

Family

ID=59311186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/051193 WO2017122365A1 (ja) 2016-01-15 2016-01-15 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置

Country Status (2)

Country Link
JP (1) JP6525067B2 (ja)
WO (1) WO2017122365A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487933A (zh) * 2019-01-28 2020-08-04 株式会社安川电机 产业设备管理系统、产业设备管理方法以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040032837A1 (en) * 2002-07-31 2004-02-19 Visser Lance A. Configuration rollback
US20060015591A1 (en) * 2004-06-08 2006-01-19 Datla Krishnam R Apparatus and method for intelligent configuration editor
JP2009015537A (ja) * 2007-07-03 2009-01-22 Kddi Corp ネットワーク設定復元方法およびシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040032837A1 (en) * 2002-07-31 2004-02-19 Visser Lance A. Configuration rollback
US20060015591A1 (en) * 2004-06-08 2006-01-19 Datla Krishnam R Apparatus and method for intelligent configuration editor
JP2009015537A (ja) * 2007-07-03 2009-01-22 Kddi Corp ネットワーク設定復元方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487933A (zh) * 2019-01-28 2020-08-04 株式会社安川电机 产业设备管理系统、产业设备管理方法以及存储介质

Also Published As

Publication number Publication date
JPWO2017122365A1 (ja) 2018-09-20
JP6525067B2 (ja) 2019-06-05

Similar Documents

Publication Publication Date Title
JP5288334B2 (ja) 仮想アプライアンス配備システム
US8639798B2 (en) Managing configuration items
JP5285353B2 (ja) 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5698429B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5471666B2 (ja) ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラム
JP2009199528A (ja) 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP2015142167A (ja) 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法
WO2015057188A1 (en) Package dependency maps for distributed computing
JP5477376B2 (ja) 情報管理装置および情報管理プログラム
US8838790B2 (en) Configuration value management apparatus and management method
US8880661B2 (en) Management of data nodes in an application server
JP5385991B2 (ja) 構成情報の取得が制限された構成要素を含むシステムの構成要素の構成情報を形成するためのシステム、プログラム、および方法
WO2017122365A1 (ja) 逆コマンド生成プログラム、逆コマンド生成方法及び逆コマンド生成装置
JP6421200B2 (ja) クラウド構成保存システム、クラウド構成保存方法及びクラウド構成保存プログラム
JP6575611B2 (ja) ロールバック処理制御プログラム、ロールバック処理制御方法及びロールバック処理制御装置
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
EP2355409B1 (en) Network management device
JP5811869B2 (ja) マスタ管理プログラム、マスタ管理方法及びマスタ管理装置
JP5737062B2 (ja) バッチジョブ実行システム、ジョブ管理サーバ、ジョブ認証情報更新方法および更新プログラム
JP2018124788A (ja) 制御装置、制御方法及び制御プログラム
JP6638819B2 (ja) ネットワーク管理プログラム、ネットワーク管理方法及びネットワーク管理装置
JP2003140969A (ja) コンテンツチェックシステムならびに同システムにおけるコンテンツの改竄検知方法、およびコンテンツチェックプログラム、記録媒体
JP2005284962A (ja) 管理サーバ、管理方法及び管理プログラム
CN114466026A (zh) 应用程序接口的更新方法、装置、存储介质和计算设备
WO2018173228A1 (ja) 制御プログラム、制御方法及び制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16884968

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017561499

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16884968

Country of ref document: EP

Kind code of ref document: A1