Device management server, control method for device management server, and program
The device management server's self-diagnosis and agent feedback mechanism addresses the challenge of identifying service issues by offering detailed diagnostic results, improving troubleshooting efficacy.
Patent Information
- Application Number
- JP2023116675
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-01-30
AI Technical Summary
Identifying the cause of service malfunctions when providing services to network devices via agents is difficult due to various potential blockages and communication issues, such as port usage by other software or network environments.
The device management server performs self-diagnosis of its built-in web service services and receives diagnostic results from agents, confirming the status of both the server and agents to provide detailed confirmation results, including a dedicated URI for self-diagnosis and adjustable timeout values.
Enables users to easily identify the causes of service malfunctions by providing comprehensive diagnostic information, enhancing troubleshooting efficiency.
Smart Images

Figure 2025014257000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a device management server that communicates with network devices via an agent, and a method and program for controlling the device management server. [Background technology]
[0002] There is a device management apparatus system that manages devices connected to a network. The device management apparatus provides various services (functions) to the devices that it manages. When there are a large number of devices to manage, the device management apparatus may be configured with one management apparatus that manages the entire system, and multiple agents that execute processing on the devices according to instructions from the management apparatus. Patent Document 1 discloses a device management apparatus system that is configured with one management apparatus on which an application runs, and multiple agents that operate as reverse proxies, preventing devices from communicating directly with the management apparatus. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2022-32519 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, when communication is performed via an agent, it is difficult for a user to identify the cause when a service is not normally provided by an application of a management device. For example, there are various reasons why a service cannot be normally provided, such as other software on the management device on which the application runs using a port of the management device, or communication with the agent being blocked by a router, making it difficult to identify the cause.
[0005] An object of the present invention is to provide information for identifying the cause of a problem that occurs when a service is provided to a network device via an agent. [Means for solving the problem]
[0006] In order to solve the above problems, the device management server of the present invention is a device management server that communicates with managed network devices via an agent device, and has a confirmation means for attempting communication with a web service server built into the device that corresponds to a service provided by the device, confirming a response, and storing a first confirmation result, a receiving means for receiving from the agent device a second confirmation result in which communication is attempted with a web service server built into the agent device that relates to a service provided by the device management server, and a response is confirmed, and storing the second confirmation result, a first providing means for providing the first confirmation result, and a second providing means for providing the second confirmation result. Effect of the Invention
[0007] According to the present invention, it is possible to provide information for identifying the cause of a problem that occurs when a service is provided to a network device via an agent. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a network device management system. [Diagram 2] FIG. 2 is a diagram illustrating a hardware configuration of a device management server. [Diagram 3] 2 is a diagram illustrating a software configuration of a device management server and an agent. [Figure 4] FIG. 11 is a sequence diagram showing the flow of a firmware update process. [Diagram 5] 10 is a flowchart showing the flow of firmware update processing of the device management server. [Figure 6]10 is a flowchart showing a self-diagnosis process performed by the device management server. [Figure 7] FIG. 13 illustrates an example of a diagnosis result screen of the device management server. [Figure 8] 13 is a flowchart showing a diagnostic process performed by an agent. [Figure 9] FIG. 13 illustrates an example of an agent management screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] (First embodiment) Fig. 1 is a diagram for explaining the configuration of a network device management system. A network device management system (hereinafter referred to as a device management system) provides services (functions) to network devices via a network. When there are a large number of devices to be managed, the device management system may be configured with a management device that performs overall management, and multiple agents that execute processing on the devices according to instructions from the management device. The device management system of this embodiment has one device management application server and multiple agent application devices.
[0010] The device management server 101 is a server having a device management application. The agents 106 and 107 are agent devices having an agent application. That is, the device management system of this embodiment has one device management server 101 and agents 106 and 107 as multiple agent application devices. The device management system manages devices 102, 103, 110, and 111 as network devices. Note that, although this embodiment will be described taking two agents and four devices as an example, the configuration and operation are the same as those described in this embodiment even when tens of thousands of devices are managed via a dozen or so agents.
[0011] The device management system may also include a directory server 105. The directory server 105 is an information processing device that manages user information such as user accounts. The device management server 101 and the directory server 105 are connected to each other via a network 104. The device management server 101 can also be set so that a user of the directory server 105 can log in as a user of the device management server 101.
[0012] The device management server 101, the directory server 105, the agent 106, the device 102, and the device 103 are interconnected by a network 104. The network 104 is, for example, a WAN. The agent 107, the device 110, and the device 111 are interconnected by a network 108. The network 108 is, for example, a LAN. The network 104 and the network 108 are connected by a router 109. The router 109 can be configured to permit communication between the device management server 101 and the agent 107 on the network 108, but block communication between the device management server 101 and the devices 110 and 111.
[0013] In this embodiment, communication between the device management server 101 and the devices 102 and 103 is performed via the agent 106. Also, communication between the device management server 101 and the devices 110 and 111 is performed via the router 109 and the agent 107. Note that, although an example in which the device management server 101 and the agent 106 operate on different hosts will be described in this embodiment, it is also possible for the device management server 101 and the agent 106 to operate on the same host. When the device management server 101 and the agent 106 operate on the same host, it is possible for the devices 102 and 103 to communicate directly with the device management server 101.
[0014] Agent 106 and agent 107 are agent devices that communicate with devices based on instructions from device management server 101. Agent 106 and agent 107 incorporate web service servers related to functions provided by device management server 101. In this embodiment, the web service servers incorporated in agent 106 and agent 107 include reverse proxies. The agents are linked to network devices according to the addresses of the network devices, etc. Agent 106 is linked to device 102 and device 103. Agent 107 is linked to device 110 and device 111.
[0015] The device management server 101 provides various services (functions) to the network devices to be managed. The device management server 101 of this embodiment uses an agent to provide services to the network devices. The services provided by the device management server 101 include, for example, a service for updating firmware of the network devices. The device management server 101 also has a built-in web service server related to the functions provided by the device itself. The device management server 101 may be realized by one or more information processing devices, a virtual machine (cloud service) using resources provided by a data center including the information processing devices, or a combination of these. The directory server 105 may also be realized by one or more information processing devices, a virtual machine (cloud service) using resources provided by a data center including the information processing devices, or a combination of these. The device management system may also be implemented as a Web-based application, and may also be used on a PC via a Web browser.
[0016] Devices 102, 103, 110, and 111 are network devices that are managed by the device management server 101 and can communicate with the device management server 101. The network devices are, for example, multifunction printers (MFPs) that integrate multiple functions such as a printing function, a reading function, and a FAX function. Note that the network devices may also be information processing devices such as printers, scanners, 3D printers, PCs, image processing devices such as cameras, smart home appliances, and the like.
[0017] In this embodiment, the network 104 is a WAN and the network 108 is a LAN, but the network 104 and the network 108 may be configured to transmit and receive data, and the communication method is not important. For example, each network may be configured as a LAN, a WAN, a cellular network such as LTE or 5G, a wireless network, a telephone line, a dedicated digital line, or a combination of these.
[0018] Here, a process flow for providing a service to a network device by the network device management system will be described using the agent 106 and the device 102 as an example. The device management server 101 instructs the agent 106 to operate the device 102. The agent 106 performs operations such as sending a request to the device 102 according to the instructions of the device management server 101, and sends the results to the device management server 101. Examples of operations by the agent 106 to the device 102 include obtaining information from the device 102, changing settings of the device 102, instructing the device 102 to install an application, and instructing the device 102 to update firmware. In this way, communication is performed between the device management server 101 and the agent 106, and between the agent 106 and the device 102. Therefore, there is no direct communication between the device 102 and the device management server 101.
[0019] 2 is a diagram illustrating the hardware configuration of the device management server. The host computers on which the agents 106, 107, and directory server 105 run also have the same hardware configuration as the device management server 101. The device management server 101 includes a CPU 201, a RAM 202, a ROM 203, a KBDC 204, a VC 205, a DC 206, and a NIC 208. These components are connected to a system bus 209.
[0020] The CPU 201 controls the entire device management server 101. The CPU 201 loads a program stored in a memory (ROM 203 or external storage device 207) into the RAM 202 as necessary, executes the program, and generally controls each unit connected to the system bus 209. The CPU 201 may also load software (programs) downloaded via a network into the RAM 202 as necessary, and execute the program, thereby generally controlling each unit connected to the system bus 209. The RAM 202 (Random Access Memory) is a memory from which data can be read / written, and functions as the main memory or work area of the CPU 201. The ROM (Read Only Memory) 203 is a memory dedicated to reading data, and stores, for example, a basic control program of the device management server 101. The external storage device 207 is a memory such as a hard disk (HD) or a solid state drive (SSD). The external storage device 207 stores various applications including a boot program, an operating system (OS), an authentication server, an authentication client, and the like, database data, user files, and the like.
[0021] The KBDC 204 controls input to the device management server 101. The KBDC 204 sends input information from input devices such as a keyboard or pointing device (not shown), a virtual keyboard, voice, etc., to the CPU 201, and controls input to the device management server 101. The VC 205 is a video controller and controls display on a display device (not shown). The display device may be, for example, an LCD (Liquid Crystal Display) or a head-mounted display capable of displaying virtual reality (VR). The DC 206 is a disk controller and controls access to the external storage device 207. The NIC 208 is a communication controller, and the device management server 101 is connected to the network 104 via the NIC 208. The CPU 201 is connected to the network 104 via the NIC 208, and enables data communication with each device on the network.
[0022] Fig. 3 is a diagram for explaining the software configuration of the device management server and the agent. Fig. 3(A) is a diagram for explaining the software configuration of the device management server 101. The device management server 101 realizes processing by the functional modules shown in Fig. 3(A) by calling an application program for device management from memory and executing it with the CPU 201. The functional modules shown in Fig. 3(A) are provided as, for example, a device management application.
[0023] The device management server 101 includes an agent management section 301, a device management section 302, a task management section 303, an HTTP / HTTPS server 304, a firmware management section 305, a SOAP HTTP / HTTPS server 306, and a self-diagnosis section 307. The agent management section 301 manages information related to the agent 106 and the agent 107. The device management section 302 manages information related to the device 102, the device 103, the device 110, and the device 111. The information related to the device includes information about which agent the device is linked to. The task management section 303 manages tasks. As part of task management, the task management section 303 manages the contents and results of operations on the device. Furthermore, the task management section 303 instructs the agent to operate the device by executing a task. The management information managed by the task management section 303 is stored in a database (not shown).
[0024] The HTTP / HTTPS server 304 and the SOAP HTTP / HTTPS server 306 are web service servers built into the device management server 101 that are related to services provided by the device management server 101. The HTTP / HTTPS server 304 receives requests from external devices such as agents and devices, and returns responses to the requests. The HTTP / HTTPS server 304 also provides a WEB UI for a user to operate the device management server 101. The firmware management unit 305 manages the firmware of the device. The SOAP HTTP / HTTPS server 306 receives a SOAP message of a firmware update request from the device, invokes processing in the firmware management unit 305, and returns the result to the request source. The self-diagnosis unit 307 checks whether the HTTP / HTTPS server 304 and the SOAP HTTP / HTTPS server 306 are operating normally. The device management server 101 has both an HTTP function and an HTTPS function. The HTTP function is used, for example, to cause the device 102 to acquire data for firmware update. On the other hand, the HTTPS function, which is highly confidential, is mainly used to provide a UI and to communicate with the agent 106. In addition, in this embodiment, the HTTP / HTTPS server 304 and the SOAP HTTP / HTTPS server 306 are configured as separate elements, but these functions may be provided by a single HTTP / HTTPS server.
[0025] The firmware management unit 305 manages firmware information of the device. Here, a process flow of the device 102 and the device management server 101 for updating the firmware of the device 102 will be described. The device 102 transmits its own device information and firmware version information to the firmware management unit 305 via the SOAP HTTP / HTTPS server 306, and calls the function of the firmware management unit 305. The device information is information for uniquely identifying the device 102, such as a serial number assigned to each device. The firmware management unit 305 specifies the address (URI) of the HTTP / HTTPS server 304 for acquiring firmware data required for updating the firmware from the device information and version information received from the device 102. Then, the firmware management unit 305 transmits the address (URI) of the HTTP / HTTPS server 304 for acquiring firmware data to the device 102, which is the request source, via the SOAP HTTP / HTTPS server 306. The device 102 transmits an HTTP GET request to the address (URI) of the HTTP / HTTPS server 304 acquired from the firmware management unit 305. The HTTP / HTTPS server 304 transmits data necessary for firmware update to the device 102. Then, the device 102, which has received the data necessary for firmware update from the HTTP / HTTPS server 304, updates the firmware.
[0026] Fig. 3(B) is a diagram for explaining the software configuration of an agent. Here, agent 106 will be explained as an example, but other agents have a similar configuration. Agent 106 realizes processing by the functional modules shown in Fig. 3(B) by calling an application program for the device management agent from memory and executing it with CPU 201. The functional modules shown in Fig. 3(B) are functional modules related to services provided by device management server 101, and are provided as agent applications provided by device management server 101, for example.
[0027] The agent 106 includes a task execution unit 310, an HTTP / HTTPS server 311, a cache control unit 312, an HTTP / HTTPS reverse proxy 313, and a self-diagnosis unit 314. The task execution unit 310 executes a task instructed by the device management server 101. The task execution unit 310 executes an operation on a device in accordance with an instruction from the device management server 101, and then transmits the result to the device management server 101.
[0028] The HTTP / HTTPS server 311 and the HTTP / HTTPS reverse proxy 313 are web service servers built into the agent 106 and relate to services provided by the device management server 101. The HTTP / HTTPS server 311 receives requests from external devices such as the device management server 101 and devices. The device management server 101 and the agent 106 communicate with each other mainly using HTTPS via the HTTP / HTTPS server 304 of the device management server 101 and the HTTP / HTTPS server 311 of the agent 106. The cache control unit 312 provides a cache function for content in the device management server 101.
[0029] The HTTP / HTTPS reverse proxy 313 transfers the HTTP request received from the device to the SOAP HTTP / HTTPS server 306 of the device management server 101. Then, the HTTP / HTTPS reverse proxy 313 returns the response from the SOAP HTTP / HTTPS server 306 of the device management server 101 to the sender of the HTTP request. Here, the HTTP request is POST, and the HTTP body is a SOAP XML message. In addition, static content such as data for firmware update transmitted via the HTTP / HTTPS reverse proxy 313 can be stored in the agent 106 as a cache for a certain period of time. Therefore, when data for the same firmware update is requested from a different device, the temporarily stored cache is transmitted from the agent 106 to the device, and the firmware can be updated at a higher speed. In addition, by using the cache, communication between the device management server 101 and the agent 106 is reduced, and the load on the device management server 101 is reduced.
[0030] The self-diagnosis unit 307 checks whether the HTTP / HTTPS server 311 and the HTTP / HTTPS reverse proxy 313 are operating normally. If the agent 106 is operating on the same host as the device management server 101, the agent 106 does not start the HTTP server function of the HTTP / HTTPS server 311 and the HTTP / HTTPS reverse proxy 313. Only the HTTPS server function of the HTTP / HTTPS server 311 is active, and this HTTPS server function receives requests from the device management server 101.
[0031] 4 is a sequence diagram showing the flow of firmware update processing. Here, a process flow will be described in which the device management server 101 instructs the device 102 assigned to the agent 106 to update its firmware. It is assumed that the agent 106 does not cache data required for updating the firmware of the device 102. It is also assumed that the IP addresses of the device management server 101 and the agent 106 are 192.168.10.100 and 192.168.10.200, respectively.
[0032] In S401, the device management server 101 transmits to the HTTP / HTTPS server 311 of the agent 106 an instruction to update the firmware for the device 102. The instruction includes the URL 402 (for example, "http: / / 192.168.10.100:8080 / ws / basic / ") of the SOAP HTTP / HTTPS server 306 for the device to start updating the firmware.
[0033] The HTTP / HTTPS server 311 in the agent 106 that has received the firmware update instruction from the device management server 101 calls the task execution unit 310 to execute the requested process. In S403, the task execution unit 310 transmits a firmware update instruction to the device 102. At this time, the task execution unit 310 replaces the URL 402 included in the instruction with the URL 404 of the HTTP / HTTPS reverse proxy 313 of the agent 106 (for example, "http: / / 192.168.10.200:8080 / ws / basic / ").
[0034] In S405, the device 102 that has received an instruction to update the firmware from the agent 106 transmits an HTTP / HTTPS request to the URL 404 included in the request. That is, the device 102 transmits an HTTP / HTTPS request to the HTTP / HTTPS reverse proxy 313 of the agent 106. The HTTP / HTTPS request includes a SOAP message 406 that includes device information of the device itself and firmware version information.
[0035] The HTTP / HTTPS reverse proxy 313 of the agent 106 that receives the HTTP / HTTPS request from the device 102 transmits a request including a SOAP message 406 to the device management server 101. Specifically, the agent 106 transmits the SOAP message 406 to the URL of the SOAP HTTP / HTTPS server 306 of the device management server 101. The URL of the SOAP HTTP / HTTPS server 306 is, for example, "https: / / 192.168.10.100:8443 / ws / secure / ". Here, the request from the device 102 to the agent 106 is HTTP, but the communication between the agent 106 and the device management application of the device management server 101 uses the HTTPS protocol to improve the confidentiality of the communication.
[0036] The SOAP HTTP / HTTPS server 306 in the device management server 101, which has received the request from the device 102 via the agent 106, calls the firmware update process of the firmware management unit 305 in S408. In the firmware update process executed by the firmware management unit 305, a URL for the device 102 to acquire data for updating the firmware is determined. Here, the details of the firmware update process executed by the firmware management unit 305 of the device management server 101 will be described with reference to FIG.
[0037] Fig. 5 is a flowchart showing the flow of firmware update processing of the device management server. Each process shown in Fig. 5 is realized by the CPU 201 of the device management server 101 calling up and executing a device management application program from memory. In S501, the firmware management unit 305 extracts device information and firmware version information of the device 102 contained in the SOAP message received from the device 102 via the agent 106.
[0038] In S502, the firmware management unit 305 determines a file required to update the firmware of the device 102 based on the information extracted in S501. In S503, the firmware management unit 305 acquires information about the agent 106 linked to the device 102 from the device management unit 302. In S504, the firmware management unit 305 checks whether the agent 106 is running on the same host as the device management server 101. If the agent 106 is running on the same host as the device management server 101, the process of S505 is performed. On the other hand, if the agent 106 is not running on the same host as the device management server 101, the process of S506 is performed.
[0039] In S505 or S506, the firmware management unit 305 specifies a URL to be returned to the device 102. If the agent 106 and the device management server 101 are running on the same host, in S505 the firmware management unit 305 determines a URL for acquiring a file from the URL of the HTTP / HTTPS server 304 of the device management application. The URL determined in S505 is, for example, "https: / / 192.168.10.100 / public / firmwares / ca071592-3a64-4c88-9013-cd28a73a7901".
[0040] When the agent 106 and the device management server 101 are operating on different hosts, in S506, the firmware management unit 305 determines a URL for acquiring a file via the cache of the agent 106. That is, the firmware management unit 305 specifies the URL of the HTTP / HTTPS reverse proxy 313 of the agent 106 as the URL for acquiring a file via the cache of the agent 106. The URL determined in S506 is, for example, "https: / / 192.168.10.200 / cache / firmwares / ca071592-3a64-4c88-9013-cd28a73a7901".
[0041] In the subsequent process, the device management server 101 returns the URL determined in S505 or S506 to the device 102 that called the process, via the agent 106. Through the above process, when the agent 106 and the device management server 101 are operating on the same host, the URL of the application of the device management server 101 is determined as the URL to be returned to the device 102. On the other hand, when the agent 106 and the device management server 101 are operating on different hosts, the URL of the HTTP / HTTPS reverse proxy 313 of the agent 106 is determined as the URL to be returned to the device 102. Therefore, when the agent 106 and the device management server 101 are operating on the same host, the cache function of the agent 106 is not used when acquiring firmware data using the URL specified in S505. On the other hand, when the agent 106 and the device management server 101 are operating on different hosts, the cache function of the agent 106 is used when acquiring firmware data using the URL specified in S506.
[0042] Returning to the description of Fig. 4, in S410, the SOAP HTTP / HTTPS server 306 transmits the URL 409 determined in S408 to the agent 106 as a response to the request from the HTTP / HTTPS reverse proxy 313 of the agent 106 in S407. For example, it returns "https: / / 192.168.10.200 / cache / firmwares / ca071592-3a64-4c88-9013-cd28a73a7901" determined in S506 as the URL 409. The HTTP / HTTPS reverse proxy 313 of the agent 106 that has received the response from the device management server 101 returns the response including the URL 409 for acquiring firmware to the device 102 as is in S410.
[0043] The device 102 that has received the response from the device management server 101 via the agent 106 transmits an HTTP / HTTPS request to the URL 409 included in the response of S410 in S411. This HTTP / HTTPS request is a request to acquire data necessary for firmware update. The HTTP / HTTPS server 311 of the agent 106 that has received the request to acquire data necessary for firmware update from the device 102 checks in S413 whether the requested data exists in the cache control unit 312. If the requested data exists, the HTTP / HTTPS server 311 returns the data in the cache to the device 102 (not shown). On the other hand, if the requested data does not exist, the HTTP / HTTPS server 311 transmits a request to the device management server 101 in S414 to acquire data necessary for firmware update, i.e., the data requested by the device 102.
[0044] The device management server 101, which has received a request from the agent 106 to obtain data necessary for firmware update, transmits data 415 necessary for firmware update to the agent 106 as a response to the request in S416. The HTTP / HTTPS server 311 of the agent 106, which has received the data 415 from the device management server 101, stores the received data 415 in the cache control unit 312, and then returns the data 415 to the device 102. The device 102, which has received the data 415 necessary for firmware update from the device management server 101 via the agent 106, uses the data 415 included in the response to execute a firmware update process for its own device.
[0045] When a service is not normally provided to the device 102 by an application of the device management server 101, such as the firmware update process described in FIG. 4, a user or the like needs to change settings. However, when processing is performed via the agent 106, it is difficult for the user to identify the cause of the service not being normally provided. For example, when communication between the device management server 101 and the agent 106 cannot be established, the service is not normally provided, but there are various reasons why communication between the device management server 101 and the agent 106 cannot be established. For example, the agent 106 may not be able to connect to the device management server 101 because other software or the like is using a port of the device management server 101 in the device management server 101. Also, the agent 106 may not be able to connect to the device management server 101 because the customer's network environment (for example, the router 109) blocks communication.
[0046] Therefore, in this embodiment, the communication status of each of the device management server 101 and the agent 106 is confirmed (diagnosed), and information useful for the user to identify the cause of the failure to provide a service is provided. In this embodiment, the device management server 101 provides the user with the self-diagnosis result of its own device and the diagnosis result received from the agent 106. For this reason, the device management server 101 performs a self-diagnosis process and the agent 106 performs a diagnosis process.
[0047] First, the self-diagnosis process by the device management server 101 will be described. In the self-diagnosis process by the device management server 101, the device management server 101 performs self-diagnosis on a web service server built into the device itself. The web service server to be diagnosed is a web service server corresponding to a function (service) provided by the device itself. In this embodiment, the HTTP / HTTPS server 304 and the SOAP HTTP / HTTPS server 306 corresponding to a firmware update service are the targets.
[0048] In response to an instruction from a user, the device management server 101 executes a self-diagnosis of the device management server 101 and displays the result of the self-diagnosis (first check result) on the screen. The displayed self-diagnosis result of the device management server 101 is the self-diagnosis result of each of the HTTP server function of the HTTP / HTTPS server 304, and the HTTP server function and HTTPS server function of the SOAP HTTP / HTTPS server 306.
[0049] Self-diagnosis by the device management server 101 is initiated when a user's instruction for self-diagnosis is detected on the status display screen of the device management server 101. Figure 6 is a flowchart showing the self-diagnosis process by the device management server. Each process shown in Figure 6 is realized by the CPU 201 of the device management server 101 calling up and executing an application program for device management from memory.
[0050] In S601, the self-diagnosis unit 307 acquires the address of the device management server 101. The address is specified by the user when the device management server 101 is installed, and is stored in a setting file or a database of the device management server 101. This address is the address of the host device of the device management server 101. In S602, the self-diagnosis unit 307 attempts communication by sending a request to the HTTP / HTTPS server 304 of the device management server 101, and receives the result. Specifically, the self-diagnosis unit 307 sets the address acquired in S601 as the host address of the URI for HTTP file acquisition of the HTTP / HTTPS server 304, sends a request, and receives a result of the response to the request. In S603, the self-diagnosis unit 307 checks whether the result received in S602 is as expected, and holds the check result in memory. For example, if the result received in S602 is as expected, the self-diagnosis unit 307 sets the result as "OK", and if the result received in S602 is not as expected, the self-diagnosis unit 307 sets the result as "error". In S602 and S603, the self-diagnosis unit 307 attempts communication by sending a request to the HTTP / HTTPS server 304, checks the response, and saves the check result.
[0051] In S604, the self-diagnosis unit 307 transmits a request to the SOAP HTTP / HTTPS server 306 in order to check the HTTP server function of the SOAP HTTP / HTTPS server 306 of the device management server 101, and receives the result. Specifically, the self-diagnosis unit 307 sets the address acquired in S601 as the host address of the URI for checking HTTP operation of the SOAP HTTP / HTTPS server 306, transmits a request, and receives the result of the response to the request. In S605, the self-diagnosis unit 307 checks whether the received result is as expected, and stores the check result in memory. In S604 and S605, the self-diagnosis unit 307 attempts communication by transmitting a request to the HTTP server function of the SOAP HTTP / HTTPS server 306, checks the response, and stores the check result.
[0052] In S606, the self-diagnosis unit 307 transmits a request to the SOAP HTTP / HTTPS server 306 in order to check the HTTPS server function of the SOAP HTTP / HTTPS server 306 of the device management server 101, and receives the result. Specifically, the self-diagnosis unit 307 sets the address acquired in S601 as the host address of the URI for checking the HTTPS operation of the SOAP HTTP / HTTPS server 306, transmits a request, and receives the result of the response to the request. In S607, the self-diagnosis unit 307 checks whether the result received in S606 is as expected, and stores the check result in memory. In S606 and S607, the self-diagnosis unit 307 attempts communication by transmitting a request to the HTTPS server function of the SOAP HTTP / HTTPS server 306, checks the response, and stores the check result.
[0053] In S608, self-diagnosis unit 307 provides the diagnosis results of the HTTP function of HTTP / HTTPS server 304, the HTTP function of SOAP HTTP / HTTPS server 306, and the HTTPS function of SOAP HTTP / HTTPS server 306. That is, self-diagnosis unit 307 provides the confirmation results (first confirmation results) of S603, S605, and S607 as diagnosis results. Self-diagnosis unit 307 may provide the diagnosis results to VC 205 to display them on a display device, or may provide the diagnosis results to NIC 208 to display them on a Web browser.
[0054] The result of the request from the self-diagnosis unit 307 is not as expected, and the self-diagnosis unit 307 gives an error as a diagnosis result, for example, in the following cases. The request cannot be received because the system or another application on the host on which the device management server 101 runs is using the TCP port on which the HTTP / HTTPS server 304 or the SOAP HTTP / HTTPS server 306 is waiting to receive. The address specified during installation of the device management server 101 is incorrect.
[0055] FIG. 7 is a diagram showing an example of a diagnosis result screen of the device management server. The diagnosis result screen 700 of the device management server 101 is a screen displayed based on the diagnosis result (confirmation result) provided by the self-diagnosis unit 307 in S608. The diagnosis result screen 700 includes system information 701 and a diagnosis result 702. The system information 701 displays information about the device management server 101. For example, the system information 701 includes version information of the device management server 101 and information about the database being used. The diagnosis result 702 displays the result of the self-diagnosis in the device management server 101, in which communication is attempted with each of the web service servers named in the device management server 101 and the response is confirmed. In the example of the diagnosis result 702 shown in FIG. 7, "OK" is displayed, indicating that the "HTTP WEB server" and the "firmware update server (HTTPS)" are normal, and "Error" is displayed, indicating that the "firmware update server (HTTP)" is above the limit. This indicates that the self-diagnosis unit 307 confirmed the expected results in S603 and S607, but did not confirm the expected result in S605. By checking the diagnosis result screen 700, the user can understand that there is a high possibility that the HTTP function of the SOAP HTTP / HTTPS server 306 is the cause that the service provided by the device management server 101 is not performed normally.
[0056] Next, a description will be given of the diagnostic process performed by the agent 106. In the diagnostic process performed by the agent 106, the agent 106 performs self-diagnosis of a web service server related to services provided by the device management server 101 built into the agent 106 itself. In this embodiment, the HTTP / HTTPS server 311 and HTTP / HTTPS reverse proxy 313 corresponding to the firmware update service provided by the device management server 101 are the targets of diagnosis.
[0057] Furthermore, in the diagnostic process by the agent 106, the agent 106 also diagnoses communication with a web service server built into the device management server 101 and related to services provided by the device management server 101. The web service server built into the device management server 101 and related to services provided by the device management server 101 is a SOAP HTTP / HTTPS server 306. The agent 106 may execute the diagnostic process periodically, or may execute the diagnostic process in response to an instruction from the device management server 101.
[0058] Fig. 8 is a flowchart showing diagnostic processing by the agent. Each process shown in Fig. 8 is realized by the CPU of the agent 106 calling from memory and executing an application program for the agent related to the service provided by the device management server 101. In this embodiment, an example will be described in which the agent 106 periodically performs diagnostic processing and provides the result of the diagnostic processing (second confirmation result) to the device management server 101.
[0059] In S801, the self-diagnosis unit 314 checks whether the device management server 101 is running on the same host device. If the device management server 101 is running on the same host device, the process ends. On the other hand, if the device management server 101 is running on a different host device, the process of S802 is performed. In S802, the self-diagnosis unit 314 acquires the address of the agent 106 on which it itself runs. This address is the address of the host device of the agent 106.
[0060] In S803, the self-diagnosis unit 314 sends a request to the HTTP / HTTPS server 311 of the agent 106 and receives the result. Specifically, the self-diagnosis unit 314 sets the address acquired in S802 as the host address of the URI for HTTP file acquisition of the HTTP / HTTPS server 311, sends a request, and receives a response result to the request. In S804, the self-diagnosis unit 314 checks whether the result received in S803 is as expected, and stores the check result in memory. In S803 and S804, the self-diagnosis unit 314 attempts communication by sending a request to the HTTP / HTTPS server 311, checks the response, and stores the check result.
[0061] In S805, the self-diagnosis unit 314 transmits a request to the HTTP / HTTPS reverse proxy 313 in order to check the HTTP function of the HTTP / HTTPS reverse proxy 313 of the agent 106, and receives the result. Specifically, the self-diagnosis unit 314 sets the address acquired in S802 as the host address of the URI dedicated to checking HTTP operation of the HTTP / HTTPS reverse proxy 313, transmits a request, and receives the result of the response to the request. In S806, the self-diagnosis unit 314 checks whether the result received in S805 is as expected, and stores the check result in memory. In S805 and S806, the self-diagnosis unit 314 attempts communication by transmitting a request to the HTTP function of the HTTP / HTTPS reverse proxy 313, checks the response, and stores the check result.
[0062] Here, the URI for self-diagnosis of the HTTP / HTTPS reverse proxy 313 in S805 will be described. There are two configurations of the URI. In the first configuration, for example, the URI path for the service of the SOAP HTTP / HTTPS server 306 is configured to always start with " / ws / ". When the URI path of a received request starts with " / ws / ", the HTTP / HTTPS reverse proxy 313 transfers the request to the SOAP HTTP / HTTPS server 306 of the device management server 101, receives the result, and returns it. The user who receives this result needs to determine whether the HTTP / HTTPS reverse proxy 313 is operating correctly, together with the self-diagnosis result of the device management server 101 for the SOAP HTTP / HTTPS server 306.
[0063] As a second configuration, for example, the path of the URI for the service of the SOAP HTTP / HTTPS server 306 is configured as " / diag". In this case, the HTTP / HTTPS reverse proxy 313 creates a response inside the reverse proxy and returns this without forwarding the request. That is, a URI dedicated to self-diagnosis is provided in the HTTP / HTTPS reverse proxy 313, and the received request is not forwarded to the SOAP HTTP / HTTPS server 306 of the device management server 101, and a response according to the request is returned. This response result is a self-diagnosis result for the HTTP / HTTPS reverse proxy 313, and means whether the HTTP / HTTPS reverse proxy 313 is operating correctly. In this embodiment, as an example, the URI of the second configuration in which the path of the URI for the service of the SOAP HTTP / HTTPS server 306 that is not forwarded to the device management server 101 is configured as " / diag" is used as a URI for operation check. The method of setting the URI for self-diagnosis of the HTTP / HTTPS reverse proxy 313 is similar to that in S807 described later.
[0064] In S807, the self-diagnosis unit 314 transmits a request to the HTTP / HTTPS reverse proxy 313 in order to check the HTTPS function of the HTTP / HTTPS reverse proxy 313 of the agent 106, and receives the result. Specifically, the self-diagnosis unit 314 sets the address acquired in S802 as the host address of the URI for checking the HTTPS operation of the HTTP / HTTPS reverse proxy 313, transmits a request, and receives a response result to the request. In S808, the self-diagnosis unit 314 checks whether the result received in S807 is as expected, and stores the check result in memory. In S807 and S808, the self-diagnosis unit 314 attempts communication by transmitting a request to the HTTPS function of the HTTP / HTTPS reverse proxy 313, checks the response, and stores the check result.
[0065] In S809, the self-diagnosis unit 314 transmits a request to the SOAP HTTP / HTTPS server 306 of the device management server 101 and receives the result. Specifically, the self-diagnosis unit 314 transmits a request to the URI for checking the operation of HTTPS to the SOAP HTTP / HTTPS server 306 and receives the result of the response to the request. In S810, the self-diagnosis unit 314 confirms whether the result received in S809 is as expected and stores the confirmation result in memory. In S807 and S808, the self-diagnosis unit 314 attempts communication by transmitting a request to the SOAP HTTP / HTTPS server 306 of the device management server 101, checks the response, and stores the confirmation result. Note that the normal communication path between the agent 106 and the device management server 101 is not diagnosed. This is because, if the normal communication path between the agent 106 and the device management server 101 is disconnected, the UI cannot be displayed or the diagnosis result cannot be provided in the first place. Therefore, in this embodiment, only a connection check with the web service server function related to firmware update is performed.
[0066] In S811, the self-diagnosis unit 314 transmits the confirmation result (second confirmation result) of the diagnosis process to the device management server 101. Specifically, the self-diagnosis unit 314 transmits the confirmation results stored in S804, S806, S808, and S810 to the URI for receiving HTTPS diagnosis results of the HTTP / HTTPS server 304 of the device management server 101. The HTTP / HTTPS server 304 of the device management server 101 stores the received diagnosis result of the agent 106 in a database as part of the agent information managed by the agent management unit 301. Then, the device management server 101 provides the diagnosis result of the agent 106 via a Web browser or the like in response to an instruction from a user.
[0067] The result of the request from the self-diagnosis unit 314 of the agent 106 may not be the expected one, and the self-diagnosis unit 314 may give an error as a diagnosis result, for example, in the following cases. When the request cannot be received because the system on the host on which the agent 106 runs or another application is using the TCP port on which the HTTP / HTTPS server 311 or the HTTP / HTTPS reverse proxy 313 waits for reception, an error occurs in S804, S806, or S808. When it is not possible to connect to the HTTPS function of the SOAP HTTP / HTTPS server 306 of the device management server 101. In this case, an error occurs in S810. When an error occurs in S810, if the self-diagnosis unit 307 of the device management server 101 diagnoses that the HTTPS function of the HTTP / HTTPS server 306 is working, it can be determined that there is a problem in the connection path. This connection path is the connection path from the agent 106 to the HTTPS function of the SOAP HTTP / HTTPS server 306 of the device management server 101.
[0068] 9 is a diagram showing an example of an agent management screen. The agent management screen 900 displays a list of agents (agent list 901) managed by the device management server 101. The agent management screen 900 includes the agent list 901 and a new creation button 902. The information displayed in the agent list 901 is managed by the agent management unit 301.
[0069] The agent list 901 includes, for example, the name of the agent, its status, the date and time when communication from the agent was last received, the number of devices assigned to the agent, and a button for deleting the agent. When a click on an agent name is detected, the device management server 101 transitions to an edit screen (not shown) for each agent. When a press on the New button 902 is detected, the device management server 101 transitions to a new agent creation screen (not shown).
[0070] The status displays the status of the agent. The results of diagnostic processing by the agent are used to display the status. If the device management server 101 has received the results of diagnostic processing from the agent within a specified period of time, the device management server 101 displays that result in the status column of the agent list 901, and if the device management server 101 has not received the results of diagnostic processing from the agent within the specified period of time, the device management server 101 displays "No response." If all of the agent's self-diagnosis results are normal, the device management server 101 displays "Normal" in the status column of the agent list 901. On the other hand, if there is an error in the agent's diagnostic results, the device management server 101 displays "Self-diagnosis error" in the status column of the agent list 901, as shown in error status 903.
[0071] When detecting movement of the mouse pointer to the error status 903 or pressing of the error status 903, the device management server 101 displays detailed self-diagnosis information 904 as an overlay. The detailed information 904 displays, for example, items for which the diagnosis result is an error. Note that the detailed information 904 may display all diagnosis results, including normal diagnosis results. In the example shown in Fig. 9, the detailed information 904 displays that an error has occurred in the HTTP function and HTTPS function of the HTTP / HTTPS reverse proxy 313 as a server error related to firmware update.
[0072] In the present embodiment, an example has been described in which the results of the self-diagnosis process of the device management server 101 and the results of the diagnosis process of the agent 106 are displayed separately, but they may be provided together, for example, on one screen. Also, the timeout value for connection when attempting communication by sending a request may be set to be shorter than the default timeout value. This allows a fault condition to be detected earlier and provided to the user.
[0073] In the device management server 101, the firmware update function can be hidden from the user by a setting. In this case, the function is hidden by not displaying UI elements related to the firmware update function on the screen. Since the function is active even if the UI elements are not displayed on the screen, the firmware management unit 305, the SOAP HTTP / HTTPS server 306, and the HTTP / HTTPS reverse proxy 313 are operating. When the firmware update function is hidden from the user, the setting of enable / disable of the firmware update function can be detected by the device management server 101 but cannot be detected by the agent 106. In this case, when the self-diagnosis unit 307 of the device management server 101 detects that the firmware update function is disabled, it does not execute the self-diagnosis function for the SOAP HTTP / HTTPS server 306. In addition, the HTTP / HTTPS server 304 of the device management server 101, which has received the diagnosis result from the agent 106, discards some of the diagnosis results received from the agent 106. Specifically, the HTTP / HTTPS server 304 discards the diagnosis results for the HTTP / HTTPS reverse proxy 313 and the SOAP HTTP / HTTPS server 304 of the device management server 101, which are included in the received self-diagnosis results. As a result, the device management server 101 does not display the self-diagnosis results related to the firmware update function when displaying the self-diagnosis results.
[0074] As described above, according to this embodiment, communication is attempted with the web service servers built into the device management server 101 and the agent 106, the results are confirmed, and the confirmation results can be provided to the user from the device management server 101. This makes it possible to provide information for identifying the cause of a problem that occurs when a service is provided to a network device via an agent. The user can use the provided information to more easily identify the cause of the problem.
[0075] The disclosure of this embodiment includes the following configuration of a device management server. (Configuration 1) A device management server that communicates with a managed network device via an agent device, A confirmation means for attempting communication with a web service server built into the device corresponding to a service provided by the device, confirming a response, and storing a first confirmation result; a receiving means for receiving from the agent device a second confirmation result, the second confirmation result being obtained by attempting communication with a web service server built into the agent device and confirming a response to the communication, and storing the second confirmation result; A first providing means for providing the first confirmation result; and second providing means for providing the second confirmation result. (Configuration 2) 2. The device management server according to configuration 1, wherein the web service server built in the agent device includes a reverse proxy. (Configuration 3) The device management server according to configuration 2, characterized in that the service provided by the device management server using the reverse proxy is a service for updating firmware of the network device to be managed via the agent device. (Configuration 4) The device management server of configuration 2 or 3, wherein the second confirmation result further includes a result of the agent device attempting to communicate with a web service server built into the device management server that receives a request from the reverse proxy and confirming the response. (Configuration 5) The device management server of any of configurations 2 to 4, characterized in that the reverse proxy has a dedicated URI for attempting the communication, and when a request for the URI is received, the reverse proxy returns a response without forwarding the request to the device management server. (Configuration 6) A device management server as described in any one of configurations 1 to 5, characterized in that when attempting communication with a web service server built into the device management server and a web service server built into the agent device, a connection timeout value is set shorter than a default timeout value.
[0076] (Other embodiments) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0077] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist of the present invention.
Claims
1. A device management server that communicates with a managed network device via an agent device, a confirmation means for attempting communication with a web service server built in the device corresponding to a service provided by the device, confirming a response, and storing a first confirmation result; a receiving means for receiving from the agent device a second confirmation result, the second confirmation result being obtained by attempting communication with a web service server built into the agent device and confirming a response to the communication, and storing the second confirmation result; A first providing means for providing the first confirmation result; and second providing means for providing the second confirmation result.
2. 2. The device management server according to claim 1, wherein the web service server built in the agent device includes a reverse proxy.
3. 3. The device management server according to claim 2, wherein the service provided by the device management server using the reverse proxy is a service for updating firmware of a network device to be managed via the agent device.
4. The device management server according to claim 2, characterized in that the second confirmation result further includes a result of the agent device attempting to communicate with a web service server built into the device management server that receives the request from the reverse proxy and confirming the response.
5. 3. The device management server according to claim 2, wherein the reverse proxy has a dedicated URI for attempting the communication, and when a request for the URI is received, the reverse proxy returns a response without forwarding the request to the device management server.
6. The device management server according to claim 1, characterized in that a connection timeout value is set shorter than a default timeout value when attempting communication with a web service server built into the device management server and a web service server built into the agent device.
7. A method for controlling a device management server that communicates with a managed network device via an agent device, comprising: A step of attempting communication with a web service server built into the device corresponding to a service provided by the device, confirming a response, and storing a first confirmation result; receiving from the agent device a second confirmation result indicating a response from a web service server included in the agent device, the second confirmation result being related to a service provided by the device management server; and storing the second confirmation result; providing said first confirmation result; providing a result of the second confirmation.
8. A program for causing a computer of a device management server to execute each step according to claim 7.
Citation Information
Patent Citations
Management system, information processing apparatus, method for management system, method for information processing apparatus, and program
JP2022032519A