Management apparatus, control method, and storage medium

If a setting that a second protocol different from a first protocol which is SNMP is used preferentially to the first protocol is selected and a sending target device supports the second protocol, a management apparatus sends setting information according to specifications of the second protocol to the device. If the setting in which the second protocol is used preferentially to the first protocol is selected and a sending target device does not support the second protocol, the management apparatus sends setting information according to specifications of the first protocol to the device.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to a management apparatus, a control method, and a storage medium.

Description of the Related Art

Conventionally, the Simple Network Management Protocol (SNMP) is used as a protocol used for changing setting information of devices represented by network devices and multi-function devices. A combination of one or more setting items and setting values will be referred to as “setting information” below.

In recent years, the Internet Engineering Task Force (IETF) has developed and published the Network Configuration Protocol (NETCONF) as a more convenient protocol. The NETCONF includes a mechanism of verification of setting information and a concept of transaction which are not provided in the SNMP.

PCT International Publication No. WO 2009/063555 discloses a control proxy device in which, when control requests are received from a plurality of management apparatuses having different communication formats (protocols), control information indicating control content included in the control request is converted, and the converted control information is used for a control target device.

Most current devices supporting the NETCONF are SNMP supporting devices which additionally support the NETCONF. In addition, due to problems such as cost, only a part of setting information that can be set with the SNMP can be set with the NETCONF in some cases. However, in the control proxy device disclosed in PCT International Publication No. WO2009/063555, support of a plurality of protocols by the management apparatus and the devices is not considered. Therefore, it is not possible to send setting information flexibly and reliably according to a support status of a protocol in network devices in some cases.

SUMMARY OF THE INVENTION

The present invention provides a management apparatus capable of sending setting information flexibly and reliably according to a support status of protocols in network devices in an environment in which network devices supporting a plurality of protocols are mixed.

A management apparatus according to an embodiment of the present invention includes: a memory storing instructions related to operations for management of a plurality of network devices using a first protocol that is SNMP (Simple Network Management Protocol) and a second protocol different from the first protocol; and a processor which is capable of executing the instructions causing the management apparatus to: manage support or nonsupport of the second protocol and the first protocol for the network devices; perform setting in which the second protocol is used preferentially to the first protocol when sending setting information to a network device; send, according to the setting by which the second protocol is used preferentially to the first protocol, the setting information according to specifications of the second protocol to the network device if the sending target network device supports the second protocol; and send the setting information according to specifications of the first protocol to the network device if the sending target network device does not support the second protocol, wherein the second protocol defines a request for controlling a setting operation using a plurality of data stores secured in the network device, in which setting information is managed in a data format different from that of the first protocol.

DESCRIPTION OF THE EMBODIMENTS

Embodiments for performing the present invention will be described below with reference to the drawings.

FIG. 1is a diagram showing an example of a system configuration in the first embodiment.

The system in the first embodiment includes a management apparatus101and a plurality of network devices (devices)102to104. The device is a device, for example, a multi-function device or printer, a scanner, a network relay device (router), a network camera, or the like. The management apparatus101and the devices102to104are connected to a network. Here, a local area network (LAN)100is exemplified as a network. Note that a system including one management apparatus and three devices will be exemplified in the first embodiment, but the number of management apparatuses and devices is not limited thereto.

FIG. 2is a block diagram showing a hardware configuration example of the management apparatus101.

The management apparatus101includes a CPU201that executes a management program stored in a ROM202or a hard disk (HDD)212. In addition, the CPU201collectively controls components connected to a system bus204. A BIOS and a boot program are stored in the ROM202.

A RAM203functions as a main memory, a work area, and the like of the CPU201. A keyboard controller (KBC)205controls input of instructions from a keyboard (KB)209, a pointing device (PD)210, and the like. A display controller (DSPC)206controls display on a display (DSP)211. A disk controller (DKC)207controls access to the hard disk (HDD)212, a DVD-ROM drive (DVD)213, and the like.

A boot program, an operating system, a database, a management program, data, and the like are stored in the hard disk (HDD)212, a DVD-ROM (DVD), and the like. An interface controller (IFC) sends and receives information to and from other devices via the LAN100. Above-described components of the management apparatus101are arranged on the system bus204.

Here, unless otherwise specified throughout the following descriptions, the CPU201is a main component for execution of hardware related to the management apparatus101. The CPU201reads and executes a management program stored in the hard disk (HDD)212to realize the present invention. The management program is a main component for controlling the process in the first embodiment to be described below in a software manner. In addition, the management program may be supplied in a form in which the program is stored in a storage medium such as a DVD-ROM. In this case, the program is read from the storage medium using the DVD-ROM drive (DVD)213or the like, and installed in the hard disk (HDD)212.

FIG. 3is a block diagram showing a hardware configuration example of the device102.

Here, a hardware configuration in which the device102is, for example, a multi-function device, will be described. Note that the devices103and104are assumed to have the same configuration. A CPU301controls the entire device102, and collectively controls components connected to a system bus310. A serial number and the like are stored in a ROM302. A RAM303is used for a work area of the CPU301, a reception buffer, and image rendering.

Firmware, an extended program, font data, and the like are stored in a hard disk (HDD)304. An operation unit305includes various switches and buttons and a liquid crystal display unit for displaying messages. A network I/F306is a network interface for connection to a network through which information is sent and received to and from other devices via the LAN100. A print engine307performs printing on recording paper. A scanner308reads a document. A facsimile communication unit309performs sending and reception by facsimile. The above-described components of the device102are arranged on the system bus310.

FIG. 4is a diagram showing an example of a functional configuration of a management program400that is executed in the management apparatus101.

Each function shown inFIG. 4is implemented by the CPU201executing the management program400. An UI control unit401provides a graphical user interface (GUI) for a user to operate the management program400. The GUI includes a Web page that uses HyperText Transfer Protocol (HTTP) and can be displayed on another PC. In addition, the GUI maybe displayed on the display211included in the management apparatus101.

A control unit402instructs functions of the management program400which perform various types of processing to be described below according to an instruction of the UI control unit401and a request received by a communication unit408. A device management unit403searches for a device connected to the LAN100using a search unit407. The search for a device can be implemented by transmitting a search request packet using a Service Location Protocol (SLP), an SNMP, or the like.

The device management unit403can additionally obtain detailed information (such as a model name, a serial number, a capacity, and a state) of the device through the communication unit408from the device found through the search. In addition, the device management unit403can obtain information about a protocol that can be used when setting information is sent to the device. The device management unit403stores location information (an IP address) of the device and information obtained from the device in a device list510in a device information database (DB)410.

A setting information management unit404stores setting information that is input to a setting information edit screen to be described below by the user in a setting information management table520(FIG. 5C) in a setting information DB409. A device information management unit405determines attribute information of the management apparatus101and stores it in a device information table500(FIG. 5A) in a device information DB411. The attribute information of the management apparatus101includes management apparatus specific information and attribute information input by the user. Information input to a policy screen (FIG. 6A) to be described below is also stored in the device information table500as attribute information of the management apparatus101.

A setting information sending unit406sends setting information to a device through the communication unit408. In addition, the setting information sending unit406includes a NETCONF unit4061configured to send setting information of a device according to specifications of NETCONF (a second protocol) and an SNMP unit4062configured to send setting information of a device according to specifications of SNMP (a first protocol). Note that the setting information sending unit406may send setting information using a protocol other than NETCONF and SNMP and may include a component that sends setting information using the protocol. That is, the first protocol and the second protocol are not limited to SNMP and NETCONF.

Here, the second protocol defines a request for controlling a setting operation using a plurality of data stores (areas) in which setting information is managed in a data format that is different from that in the first protocol secured in a device. When the second protocol is NETCONF, NETCONF includes at least one of a Candidate data store and a Startup data store in addition to a Running data store as a plurality of data items.

The Running data store is an area in which current setting data is stored and is an active data store in a device. The Candidate data store is an area in which setting data is temporarily stored and is an inactive data store in which an operation can be performed without influencing a current configuration of a device defined in NETCONF. The Startup data store is an area in which setting data applied when a device is activated is stored. The Running data store is a data store required for the specifications of NETCONF, and the Candidate and Startup data stores are optional data stores for the specifications.

The search unit407searches for a device connected to the LAN100through the communication unit408. The communication unit408communicates with a device according to an instruction from the NETCONF unit4061, the SNMP unit4062, and the search unit407. In addition, the communication unit408performs HTTP communication, and transmits a Web page received from the UI control unit401to another PC as necessary. The setting information DB409, the device information DB410, and the device information DB411are databases in which various tables to be described below are stored. The user can read information registered in a database through the UI control unit401.

FIG. 5AtoFIG. 5Eare diagrams showing examples of tables that are managed by the management apparatus101in the setting information DB409, the device information DB410, and the device information DB411.

Here, configurations of the tables shown inFIG. 5AtoFIG. 5Eare only examples, and the present invention is not limited thereto, and different configurations may be used.

FIG. 5Ais an example of the device information table500. The device information table500includes a column501and a column502. An attribute name is stored in the column501. The attribute name is a name of an attribute of the management apparatus101. In the first embodiment, the management apparatus101has at least a “supported protocol,” a “protocol to be used,” a “preferential protocol,” and “resend by other protocols” as attributes. Names of these attributes are stored in the device information table500.

Note that, in the first embodiment, it is assumed that setting information is sent to a device using NETCONF or SNMP. Therefore, at least “NETCONF” and “SNMP” are stored as the value of “supported protocol.” The value of the attribute indicated by the attribute name501is stored in the column502.

FIG. 5Bis an example of the device list510. The device list510includes a column511to a column516. One record (data of one row) represents information about one device. A serial number (SN) of a device is stored in the column511. An IP address of a device is stored in the column512. A nickname of a device is stored as a device name in the column513.

A product name of a device is stored in the column514. Information about a location at which a device is installed is stored in the column515. Information about a protocol that can be used to send setting information to a device obtained by the device management unit403using the search unit407is stored in the column516. That is, information indicating whether or not a protocol such as NETCONF and SNMP is supported is stored. Here, information about, for example, a device error state and options, may be stored in the device list510in addition to the information stored in the columns511to516.

FIG. 5Cis an example of the setting information management table520. The setting information management table520includes a column521to a column523. One record represents one piece of setting information. A setting information ID which is an identifier for uniquely identifying setting information of a device is stored in the column521. A device name of a target device to which the setting information is sent is stored in the column522.

A time taken for a device to transition to a sleep state is stored in the column523as setting information. Here, the “device name” and the “sleep transition time” are exemplary information items stored as setting information, but the present invention is not limited thereto, and other information items may be stored. In this case, the other information items may be stored in the setting information management table520by adding one or more columns.

FIG. 5Dis an example of an individual information management table530. The individual information management table530includes a column531to a column534. One record represents one piece of individual information. The individual information is setting information that is unique to an individual device. On the other hand, the setting information stored in the setting information management table520is setting information common to all devices. The value of the setting information ID521indicating setting information stored in the setting information management table520related to each record of individual information is stored in the column531.

In the example shown inFIG. 5D, the value of the first row record in the setting information ID531is “S001.” This indicates that the first row record is related to a record (that is, the first row record in the setting information management table520) in which the value of the setting information ID521of the setting information management table520is “S001.” Similarly, the second and third row records in the individual information management table530are related to the first row record in the setting information management table520.

A serial number (SN) of a device is stored in the column532. The serial number stored in the column532is one of serial numbers of devices stored in the device list510. An IP address of a device is stored in the column533. Information about a location at which a device is installed is stored in the column533. Here, the “IP address” and the “installation location” are exemplary information items stored as pieces of individual information, but the present invention is not limited thereto, and other information items may be stored. In this case, the other information items may be stored in the individual information management table530by adding one or more columns.

FIG. 5Eis an example of a result table540. The result table540includes a column541to a column545. One record represents the result of sending setting information to one device. A sending ID is stored in the column541. The sending ID is identification information that is uniquely provided when setting information stored in the setting information management table520and the individual information management table530is sent to a device.

In the example shown inFIG. 5E, the values of the sending IDs541in the first row record to the third row record are all “1”. The sending of setting information corresponding to these three records is related and is a series of sending. Information about the date and time (sending date and time) at which sending is performed is stored in the column542. A serial number of a target device to which sending is performed is stored in the column543. The result of sending performed is stored in the column544. A protocol used when sending is performed is stored in the column545.

FIG. 6A,FIG. 6B,FIG. 7AandFIG. 7Bare examples of UI screens that are provided by the management apparatus101using the UI control unit401of the management program400.

FIG. 6Ashows an example of a policy screen600. In a selection area601, a protocol to be used when setting information is sent is selected. The value of the attribute name of “supported protocol” in the device information table500is displayed. Since “NETCONF” and “SNMP” are stored in the device information table500inFIG. 5A, “NETCONF” and “SNMP” are displayed here. The user selects at least one protocol in the selection area601.

In a preference selection area602, a protocol which is preferentially used when setting information is sent can be selected. The user selects any one from among the protocols selected in the selection area601. In a resending selection area603, when a protocol selected in the preference selection area602is set and sending is performed using the set protocol, if the sending has failed, it is selected whether setting information is resent using another protocol. It is possible to perform selection when a plurality of protocols are selected in the selection area601.

When an OK button604is pressed, the management program400stores the settings selected in areas601to603in the device information table500. Specifically, the device information management unit405stores a protocol selected in the selection area601as the value of the attribute name of “protocol to be used.” In addition, the device information management unit405stores a protocol selected in the preference selection area602as the value of the attribute name of “preferential protocol.” In addition, the device information management unit405stores “ON” or “OFF” as the value of the attribute name of “resend by other protocols” on the basis of the result selected in the resending selection area603. Then, the policy screen600is terminated. When a cancel button605is pressed, the management program400discards the edit results of the policy screen600and terminates the policy screen600.

FIG. 6Bshows an example of a device selection screen620. In a checkbox621, the user selects a device that is a sending target of setting information. In a serial number622, the value of the column511of the device list510is displayed. Similarly, the values of the columns512to515of the device list510are displayed in columns623to626.

When an OK button627is pressed, the management program400temporarily stores the serial number of the device selected in the checkbox621in the RAM203or the HDD212. When a cancel button628is pressed, the management program400discards the edit results of the device selection screen620and terminates the device selection screen620.

FIG. 7Ashows an example of a setting information edit screen640. In a setting information ID641, an identifier of setting information which is being edited is displayed. When the setting information edit screen640is generated, the UI control unit401generates an identifier for uniquely identifying setting information within the management program400. Here, while the UI control unit401generates the setting information ID641in the first embodiment, the user may select the setting information ID641. In this case, it is necessary for the user to select a value that is not included in the management program400as a value of the setting information ID.

The setting information edit screen640includes a device name input area642, a sleep transition time input area643, an IP address setting button644, and an installation location setting button645. Checkboxes are added at the beginning of the setting items, and the user can select setting information to be applied to a device. The IP address setting button644is a setting button for setting an “IP address.” When the checkbox at the beginning of the IP address setting button644is selected, the setting button644can be pressed. When the IP address setting button644is pressed, an individual edit screen660(FIG. 7B) is displayed. The installation location setting button645is a setting button for setting an “installation location.” The operation of the installation location setting button645is the same as that of the IP address setting button644.

When an OK button646is pressed, the setting information management unit404stores the values input to the setting items642to645in the setting information management table520and the individual information management table530. Specifically, the value of the device name input area642is stored in an area of the column522of a record in which the value of the setting information ID521in the setting information management table520matches that of the setting information ID641. This is similarly applied to the sleep transition time input area643. When there is no matching setting information ID, a new record is added to the setting information management table520. When a cancel button647is pressed, the management program400discards the edit results of the setting information edit screen640and terminates the setting information edit screen640.

FIG. 7Bshows an example of the individual edit screen660. In a setting information ID661, an identifier of setting information which is being edited is displayed. The value of the setting information ID661is the same as the value of the setting information ID641. In a serial number662, the value that is selected in the device selection screen620(FIG. 6B) and is temporarily stored in the RAM203or the HDD212is displayed. Here, another value may be used as long as the value can uniquely identify a device. In an IP address input area663, an IP address of a device corresponding to the serial number662is input. It is necessary for each of the devices to have a different value set for the IP address. Therefore, in the individual edit screen660, an IP address is input for each serial number of a device.

When an OK button664is pressed, the setting information management unit404stores the value input to the IP address input area663in the individual information management table530. Specifically, the value of the IP address input area663is stored in an area of the column533of a record in which a combination of values of the setting information ID531and the SN532in the individual information management table530matches a combination of the setting information ID661and the serial number662. When there is no matching combination of the setting information ID and the serial number, a new record is added to the individual information management table530.

When a cancel button665is pressed, the management program400discards the edit results of the individual edit screen660and terminates the individual edit screen660. Here, while IP address setting is exemplified in the individual edit screen660shown inFIG. 7B, the operation when the installation location setting button645is pressed is similarly performed. In this case, inFIG. 7B, the IP address input area663is replaced with an installation location input area.

In addition, in the first embodiment, when the OK button664of the individual edit screen660is pressed, the setting information management unit404stores the values set on the screen in the individual information management table530. However, the present invention is not limited to this method. For example, when the OK button664is pressed, the setting information management unit404may temporarily store the value in the RAM203or the HDD212. Then, when the OK button646of the setting information edit screen640(FIG. 7A) is pressed, the above temporarily stored value may be stored in the individual information management table530.

FIG. 8is a flowchart showing the process performed when the management apparatus101sends setting information.

When the user activates the management program400in order to send setting information to the devices102to104, the process inFIG. 8is performed. In Step S701, the device information management unit405stores information about a protocol supported by the management apparatus101itself as the value of the attribute name of “supported protocol” in the device information table500. Here, in the process of Step S701, storing may be performed when the management program400is installed rather than when the management program400is activated.

In Step S702, the device management unit403collects information about protocols supported by the devices102to104. Specifically, the device management unit403determines that a device which responds to a search request packet of SNMP transmitted through the search unit407is a device supporting SNMP. In addition, the device management unit403determines that a device which responds to a <hello> message of NETCONF transmitted through the communication unit408is a device supporting NETCONF.

Here, when another protocol is stored as the value of the attribute name of “supported protocol” in the device information table500, the device management unit403can also determine whether the protocol is supported. Then, the device management unit403stores information about the device collected in Step S702and information about the protocol supported by the device in the device list510.

In Step S703, the control unit402determines whether the management apparatus101supports a plurality of protocols and there is a device in which a plurality of protocols are registered in the supported protocol516in the device list510. When the management apparatus101supports a plurality of protocols and there is a device in which a plurality of protocols are registered in the supported protocol516in the device list510, the process advances to Step S704, and otherwise, the process advances to Step S709.

In Step S704, the UI control unit401displays the policy screen600(FIG. 6A). In Step S705, the UI control unit401determines whether the policy screen600has been changed by the user and the OK button604has been pressed. When the policy screen600has been changed and the OK button604has been pressed, the process advances to Step S706. When the policy screen600has not been changed or the cancel button605has been pressed, the process advances to Step S707.

In Step S706, the UI control unit401transmits the values input to the policy screen600to the device information management unit405. The device information management unit405stores the received values in the device information table500in the device information DB411. In Step S707, the UI control unit401discards the values input to the policy screen600. Here, when values corresponding to the attribute names in the device information table500are undecided, the device information management unit405stores values that are determined in advance as initial values in the device information table500. For example, when the value of the attribute name of “protocol to be used” is undecided, the device information management unit405performs a process of storing the same value as the value of the attribute name of “supported protocol.”

In Step S708, the device management unit403extracts devices according to attributes in the device information table500(FIG. 5A) from the device list510(FIG. 5B) and transmits them to the UI control unit401. For example, in the device information table500, the value of the attribute name of “protocol to be used” is “NETCONF” and “SNMP.” Thus, the device management unit403extracts devices (devices in the first row to third row records) whose values of the supported protocol516in the device list510are “NETCONF” or “SNMP.” That is, the devices extracted in Step S708are devices whose values in the SN511are “ABC123,” “ABC456,” and “ABC789” in the device list510. Then, the UI control unit401displays the extracted devices on the device selection screen620.

On the other hand, in Step S709, the device management unit403extracts all devices in the device list510and transmits them to the UI control unit401. Then, the UI control unit401displays all of the extracted devices on the device selection screen620. The user selects a device by selecting the checkbox621on the device selection screen620displayed in Step S708and Step S709. The device management unit403receives a serial number of the selected device through the UI control unit401and temporarily stores it in the RAM203or the HDD212.

In addition Step S710, the UI control unit401displays the setting information edit screen640(FIG. 7A). In addition, when the user presses the IP address setting button644or the installation location setting button645on the setting information edit screen640, the UI control unit401displays the individual edit screen660(FIG. 7B). The user inputs setting values to setting items on the setting information edit screen640and the individual edit screen660. The setting information management unit404receives the input setting information through the UI control unit401and stores it in the setting information management table520and the individual information management table530in the setting information DB409. In addition, the setting information management unit404temporarily stores setting information ID (the value of521or531) of the record in which setting information is stored in the RAM203or the HDD212.

In Step S711, the device management unit403reads the serial number that is temporarily stored in the RAM203or the HDD212. In addition, device information matching the read serial number is extracted from the device list510. When a plurality of serial numbers are stored, a serial number of a device to which sending is not performed is read. In Step S712, the setting information management unit404reads a setting information ID that is temporarily stored in the RAM203or the HDD212and extracts the setting information from the setting information management table520and the individual information management table530. When the setting information is extracted from the individual information management table530, the setting information ID and the serial number of the device extracted in Step S711are used.

In Step S713, the setting information sending unit406determines a protocol used when setting information set in Step S710is sent to the device extracted in Step S711. Here, as an example, a case in which setting information is sent to devices registered in the first row and third row records in the device list510will be described. The device registered in the first row record in the device list510has the value of the supported protocol516that is “SNMP” and “NETCONF.” On the other hand, the value of the attribute name of “preferential protocol” in the device information table500is “NETCONF.” Therefore, a protocol used for sending setting information to the device in the first row record is determined as “NETCONF.”

On the other hand, the device registered in the third row record in the device list510has the value of the supported protocol516that is “SNMP.” While the value of the attribute name of “preferential protocol” in the device information table500is “NETCONF,” since the device does not support NETCONF, a protocol used for sending setting information is determined as “SNMP.”

In Step S714, the setting information sending unit406obtains an IP address of the device extracted in Step S711from the device list510. Then, according to the protocol determined in Step S713, the NETCONF unit4061or the SNMP unit4062sends the setting information extracted in Step S712to the device. In addition, the sending result is received from the device to which the setting information is sent.

For example, when the NETCONF unit4061sends setting information, the sending process is performed according to the following procedures.1. The NETCONF unit4061receives setting information sent from the setting information management unit404.2. The NETCONF unit4061converts setting information to be transmitted into a data format that can be sent using NETCONF, that is, an XML format.3. The NETCONF unit4061issues processing requests of “exchange a capacity,” “lock a data store,” “send setting information to a data store,” “verify,” “apply setting information,” “release locking of a data store” to a sending target device. In addition, results for these processing requests are received. These processes are defined in NETCONF.

In addition, for example, when the SNMP unit4062sends setting information, the sending process is performed according to the following procedures. First, the SNMP unit4062receives setting information sent from the setting information management unit404and generates a protocol data unit (PDU). Then, the SNMP unit4062issues a Set request. Here, the NETCONF unit4061and the SNMP unit4062issue a sending ID when setting information is sent to a device.

In Step S715, the NETCONF unit4061or the SNMP unit4062determines whether the sending process in Step S714is successful. Specifically, it is determined whether all of the above-described processes in Step S714are successful. When the sending process in Step S714is successful, the process advances to Step S718, and otherwise, the process advances to Step S716.

In Step S716, the setting information sending unit406determines whether resending is performed using a protocol different from the protocol used in Step S714. The determination of whether resending is performed is performed according to the sending result in Step S714. For example, resending may be performed when the sending result is an error in Step S714. In addition, resending may be performed when the sending result is an error other than a communication error. This is because, when there is a communication error, even if resending is performed using another protocol, the resending is highly likely to fail.

In addition, resending may be performed if the sending result is an error caused when setting information is sent for a setting item that does not support a protocol used for sending. For example, in the case of NETCONF, there is an error such as unknown-attribute or unknown-element. This is because support statuses of setting information in protocols may be different and resending using another protocol may be effective.

Note that, in order for the setting information sending unit406to determine resending in Step S716, the following conditions need to be satisfied. That is, the conditions include that a plurality of protocols be registered as the value of the attribute name of “protocol to be used” in the device information table500and the value of the attribute name of “resend by other protocols” be set to “ON.”

Under the above-described conditions, a device in which a plurality of protocols are registered in the supported protocol516in the device list510is a device to which resending can be performed. For example, using the device information table500shown inFIG. 5Aand the device list510shown inFIG. 5B, devices in the first row and second row records in the device list510are devices to which resending can be performed. When the setting information sending unit406determines that resending is performed in Step S716, the process advances to Step S717, and otherwise, the process advances to Step S718.

In Step S717, the setting information sending unit406resends setting information using a protocol different from the protocol used in Step S714. For example, when setting information is sent to a device in the first row record in the device list510, if NETCONF is used in Step S714, the SNMP unit4062sends setting information using SNMP in Step S717. The SNMP unit4062receives setting information from the setting information management unit404and generates a PDU. Then, the SNMP unit4062issues a Set request.

Although not shown in the flowchart inFIG. 8, there may be a plurality of protocols that can be used when the setting information sending unit406performs resending. In this case, the setting information sending unit406repeats resending until there is no unused protocol or while switching protocols until sending is successful.

In Step S718, the NETCONF unit4061or the SNMP unit4062records the sending result in Step S714or Step S717in association with the sending ID issued in Step S714in the result table540. Note that, in the first embodiment, the sending ID541, the sending date and time542, the SN543, the result544, and the protocol used545are stored in the result table540, but the present invention is not limited thereto, and for example, a setting information ID may be recorded. In Step S711, when a plurality of serial numbers are stored in the RAM203or the HDD212, the processes of Step S711to Step S718are repeated as many times as the number of serial numbers.

Next, a second embodiment of the present invention will be described. In general, sending setting information to a device is repeated at regular intervals. For example, network settings may be changed at regular intervals in order to improve security and various settings may be changed according to device rearrangement. In this case, when the sending process of setting information described in the first embodiment is performed, sending setting information may fail every time for some devices.

Specifically, after setting information is sent using a preferential protocol in Step S714inFIG. 8in the first embodiment, the sending process may be performed again for a device to which resending is performed using a different protocol in Step S717. In the second embodiment, a method in which, even if setting information is repeatedly sent to a device to which setting information has been resent using the different protocol, it is possible to send setting information without causing an error will be described. The following description will focus on parts different from those in the first embodiment.

FIG. 9is an example of a device type support table800in the second embodiment.

The configuration of the table shown inFIG. 9is only an example, and the present invention is not limited thereto, and the table may have a different configuration. The device type support table800includes columns801to804. A product name of a device is stored in the column801. The same value as the product name of the device stored in the column514in the device list510(FIG. 5B) is stored in the column801.

A name of a protocol in which a setting item of the column803and a support status of the column804are confirmed in a device having a product name of the column801is stored in the column802. A name of the setting item included in the setting information management table520(FIG. 5C) and the individual information management table530(FIG. 5D) is stored in the column803. Information indicating whether a setting item of the column803is supported in a device corresponding to the product name of the column801and the protocol of the column802is stored in the column804.

In the second embodiment, when the setting item is supported, “YES” is stored, and otherwise, “NO” is stored. Further, when it is unclear whether the setting item is supported, the column is left blank. Note that the present invention is not limited thereto, and any value may be stored. In addition, while a support status of the setting item is managed for each product name in the second embodiment, a support status of the setting item may be managed for each combination of a product name and a firmware version of a device. In this case, a column for storing a firmware version of a device maybe added to the device list510and the device type support table800, and information about the firmware version may be obtained from the device.

FIG. 10is a flowchart for describing the process performed when the management apparatus101sends setting information in the second embodiment.

When the user activates the management program400in order to send setting information to the devices102to104, the process shown inFIG. 10is performed. In Step S901, processing modules of the management program400perform the processes of Step S701to Step S712shown inFIG. 8in the first embodiment as preprocessing.

In Step S902, the setting information sending unit406determines a protocol used when setting information is sent as in Step S713(FIG. 8). In the second embodiment, the device type support table800(FIG. 9) is referred to in addition to the device information table500(FIG. 5A), and the device list510(FIG. 5B). Specifically, the setting information sending unit406performs the following procedures. That is, a record in which a combination of the product name514of the sending target device determined in Step S901and the protocol determined in Step S902matches a combination of the column801and the column802in the device type support table800is extracted. Then, the values of the column803and the column804in the matching record are extracted.

For example, when the sending target device is a “multi-function device A” and the protocol is “NETCONF,” the setting information sending unit406extracts the first row to fourth row records in the device type support table800. Then, the setting information sending unit406confirms support statuses of the setting items in the setting information determined in Step S901with reference to the values of the column803and the column804. In this case, when a setting item whose support status is “NO” is included in the setting information determined in Step S901, even if the management apparatus101sends setting information to a sending target device using the protocol, the sending result is always an error.

Therefore, the setting information sending unit406repeats the above-described procedures until a protocol in which the support status of the setting item in setting information is not “NO” is found. Alternatively, the setting information sending unit406repeats the above-described procedures until it is confirmed whether a setting item whose support status is “NO” is included for all supported protocols of the sending target device.

In Step S903, the setting information sending unit406determines whether there is a protocol that can be sent. When there is a protocol that can be sent, the process advances to Step S904, and otherwise, the process advances to Step S910. The process of Step S904is the same as the process of Step S714shown inFIG. 8. In Step S905, the NETCONF unit4061or the SNMP unit4062updates values in the device type support table800.

Specifically, the values of the column803and the column804that match a combination of the value of the product name514in the sending target device and the value of the protocol used during sending are updated. Here, it is assumed that a support status of each setting item is included in the sending result received by the NETCONF unit4061or the SNMP unit4062from the device. When a support status of each setting item is not included in the sending result received from the device, and only a result of the collective sent setting information is received, the value of the device type support table800is updated only when sending setting information in Step S904is successful. Then, when sending has failed, the value of the device type support table800is not updated.

The processes of Step S906to Step S908are the same as the processes of Step S715to Step S717shown inFIG. 8. In addition, the process of Step S909is the same as the process of Step S905, and the process of Step S910is the same as the process of Step S718shown inFIG. 8. Therefore, these processes will not be described.

Here, when the device type support table800in the second embodiment is used, the management apparatus101can flexibly manage the following cases. For example, an error may occur even if setting information using NETCONF is sent to a device supporting NETCONF. That is, in a device having a setting item for which NETCONF is not supported, when setting information is sent to the setting item, the sending result is an error.

On the other hand, in the device type support table800, support statuses of protocols are stored for each product name and setting item of a device. Therefore, it is possible to change a protocol to be sent according to whether setting information to be sent is for a supported setting item in a device having the same product name as the sending target device.

Next, a third embodiment of the present invention will be described. When the management apparatus101sends setting information to a plurality of devices, it is necessary to apply setting information to all of the devices simultaneously for some types of the setting information. For example, a case in which IP addresses are exchanged is conceivable.

As long as a device supports a protocol having the concept of transaction such as NETCONF, the process of applying setting information simultaneously described above is possible. However, it is not possible to perform the process of applying setting information simultaneously in a device that supports only a protocol that does not have the concept of transaction such as SNMP. In the third embodiment, a method in which the process of applying setting information simultaneously is implemented in a pseudo manner in an environment in which devices supporting a protocol having the concept of transaction and other devices are mixed will be described. The following description will focus on parts different from those in the first embodiment.

FIG. 11is an example of a backup table1000in the third embodiment.

In the backup table1000, current setting information of a device obtained by the management apparatus101before setting information is sent to the device is stored. Here, the configuration of the table shown inFIG. 11is only an example, and the present invention is not limited thereto, and different configurations may be used. The backup table1000includes columns1001to1005.

A serial number of a device that has obtained setting information of the column1002and those subsequent thereto is stored in the column1001. “Device name,” “sleep transition time,” “IP address,” and “installation location” are stored as setting information of a device in the columns1002to1005. Here, the “device name,” “sleep transition time,” “IP address,” and “installation location” are exemplary information items stored as setting information, but the present invention is not limited thereto, and other information items may be stored.

FIG. 12shows examples of UI screens that are provided by the management apparatus101using the UI control unit401of the management program400.

FIG. 12(A)is an example of a first selection screen1100. In the flowchart to be described below, the UI control unit401displays the first selection screen1100when there are a plurality of devices to which setting information is sent and a protocol used for sending is only NETCONF.

In a selection area1101, it is selected whether setting information to be sent is applied to all devices simultaneously. When an OK button1102is pressed, the setting information sending unit406temporarily stores the selection state of the selection area1101in the RAM203or the HDD212. When a cancel button1103is pressed, the management program400discards the selection result of the first selection screen1100and terminates the first selection screen1100. In this case, the setting information sending unit406assumes a non-selection state of the selection area1101and temporarily stores the state in the RAM203or the HDD212.

FIG. 12(B)is an example of a second selection screen1120. In the flowchart to be described below, the UI control unit401displays the second selection screen1120when there are a plurality of devices to which setting information is sent and protocols used for sending include both NETCONF and SNMP. A selection area1121is the same as the selection area1101of the first selection screen1100. Information indicating that timings at which sending to a plurality of sending target devices is performed do not match is displayed in a comment1122as a note when setting information is applied simultaneously.

When an OK button1123is pressed, the setting information sending unit406temporarily stores the selection state of the selection area1121together with a sending ID in the RAM203or the HDD212. When a cancel button1124is pressed, the management program400discards the selection result of the second selection screen1120and terminates the second selection screen1120. In this case, the setting information sending unit406assumes a non-selection state of the selection area1121and temporarily stores the state in the RAM203or the HDD212together with the sending ID.

FIG. 13andFIG. 14are flowcharts for describing the process performed when the management apparatus101sends setting information in the third embodiment.

When the user activates the management program400in order to send setting information to the devices102to104, the process shown inFIGS. 13 and 14is performed. In Step S1201, processing modules of the management program400perform the processes of Step S701to Step S713shown inFIG. 8in the first embodiment as preprocessing.

In Step S1202, the setting information sending unit406determines whether the sending target devices determined in Step S1201are only devices which use NETCONF (a device supporting NETCONF). When it is determined that the sending target devices determined in Step S1201are only devices supporting NETCONF, the process advances to Step S1203, and otherwise, the process advances to Step S1204. In Step S1203, the UI control unit401displays the first selection screen1100(FIG. 12(A)) and receives the user's input to the selection area1101. Then, the UI control unit401transmits the result input by the user to the setting information sending unit406.

In Step S1204, the setting information sending unit406determines whether the sending target devices determined in Step S1201are only devices which use SNMP (a device supporting SNMP). When it is determined that the sending target devices determined in Step S1201are only devices supporting SNMP, the process advances to Step S1215(FIG. 14), and otherwise, the process advances to Step S1205.

In Step S1205, the UI control unit401displays the second selection screen1120(FIG. 12(B)) and receives the user's input to the selection area1121. Then, the UI control unit401transmits the result input by the user to the setting information sending unit406. In Step S1206, the setting information sending unit406determines whether the user has selected simultaneous application of setting information in Step S1203or Step S1205. When the user has selected simultaneous application of setting information, the process advances to Step S1207inFIG. 14, and otherwise, the process advances to Step S1215inFIG. 14.

In Step S1207, the NETCONF unit4061performs “exchange a capacity,” “lock a data store,” “send setting information to a data store,” and “verify” for a device supporting NETCONF in the same method as in Step S714inFIG. 8. In Step S1208, the setting information sending unit406determines whether a device supporting SNMP is included in the sending target devices. When a device supporting SNMP is included, the process advances to Step S1209, and otherwise, the process advances to Step S1212.

In Step S1209, the SNMP unit4062obtains current setting information of the device supporting SNMP as a backup. Specifically, the SNMP unit4062issues a Get request and a Get Next request of SNMP. A setting item to be obtained is a setting item that is a sending target of the setting information in Step S1201. Then, the setting information management unit404stores the obtained current setting information in the backup table1000.

In Step S1210, the SNMP unit4062sends the setting information determined in Step S1201to the device supporting SNMP and receives the sending result from the device supporting SNMP. The process of sending setting information to the device supporting SNMP is the same as the process of Step S714. In Step S1211, the SNMP unit4062determines whether setting information has been successfully sent to all devices supporting SNMP. When setting information has been successfully sent to all devices supporting SNMP, the process advances to Step S1212. When sending setting information to a device supporting SNMP is not successful, the process advances to Step S1213.

In Step S1212, the NETCONF unit4061issues processing requests of “apply setting information,” and “release locking of a data store” to all devices supporting NETCONF. In Step S1213, the SNMP unit4062writes setting information of all devices supporting SNMP in the setting information obtained as a backup in Step S1209. Specifically, the setting information management unit404extracts setting information of each device with reference to the value (SN) of the column1001in the backup table1000. Then, the SNMP unit4062receives setting information from the setting information management unit404and generates a PDU. Furthermore, the SNMP unit4062issues a Set request.

In Step S1214, the NETCONF unit4061cancels the process up to “verify” performed in Step S1207for all devices supporting NETCONF. Specifically, the NETCONF unit4061issues a cancel command (cancel-commit command) of NETCONF to all devices supporting NETCONF. The processes of Step S1215to Step S1219are the same as the processes of Step S714to Step S718shown inFIG. 8, and descriptions thereof will not be described.

This application claims the benefit of Japanese Patent Application No. 2016-172764, filed Sep. 5, 2016, which is hereby incorporated by reference wherein in its entirety.