Device management system and control method for the same

By setting thresholds and timestamps in the management system, determining whether the client device attempts to connect more than the threshold number of times, and determining whether to send instructions to reduce the frequency of connection attempts or change the communication settings based on the connection history information, the problem of unreliable MQTT connections and frequent reconnection of devices is solved, and the stable MQTT printer service and the effect of reducing system load is achieved.

JP2025069510APending Publication Date: 2025-05-01CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023179263
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-18
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

When using the MQTT protocol for communication, the connection cannot be established or maintained between the client device and the management server, resulting in service interruption and the equipment is frequently reconnected, increasing the server load and causing cost-increasing problems.

Method used

By setting thresholds and timestamps in the management system, we can determine whether the client device attempts to connect more than the threshold number of times, and decide whether to send instructions to reduce the frequency of connection attempts or change the communication settings based on the connection history information, ensuring that the device maintains a stable connection when the device is successfully connected.

Benefits of technology

Effectively respond to printers that need to be restored, reduce MQTT connection-related problems, reduce system load, provide stable MQTT printer services, and improve availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025069510000001_ABST
    Figure 2025069510000001_ABST
Patent Text Reader

Abstract

To solve the problem in a system that uses MQTT for communication with devices, in which if a device cannot be connected normally, not only services cannot be provided, but also a load may be applied on the system depending on a response to lead to an increase in cost.SOLUTION: A management server 200 determines whether a connection request from a printer 400 using MQTT has been received within a specified time period at a threshold value or more and, when the connection request at the threshold value or more is received and the threshold is exceeded and there is no MQTT communication service registration, sends instructions for reducing the frequency of connection requests to the printer 400 (S2106). If the connection request at the threshold value or more is received and there is a registration for services using MQTT communication, the management server determines whether there is a successful connection record. If there is a successful connection record, the management server sends an instruction for changing the communication settings during the connection to printer 400 (same processing as at S1305 to S1311). If there is no successful connection record, the management server sends an instruction for changing the communication settings at the time of the connection request to the printer 400 (same processing as at S1312 to S1314).SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a device management system and a control method for a device management system. [Background technology]

[0002] With the development and spread of the Internet of Things (hereafter referred to as "IoT") and cloud services, it has become easier than ever to collect data from all kinds of "things" via the Internet.

[0003] In addition to HTTP (HyperText Transfer Protocol), which is commonly used on the Internet, other protocols such as XMPP (EXtensible Messaging and Presence Protocol) and MQTT (Message Queuing Telemetry Transport), which are lighter and more efficient, are also used for communication between client devices and management servers that make up such IoT. These protocols function on a publish / subscribe model, and are used, for example, to notify a client device (a printer) of a print job detected by the management server with low latency and efficiency.

[0004] Unlike HTTP protocol, MQTT protocol communication requires that client devices establish and maintain a connection with a message broker on a management server. However, due to various reasons, such as the network environment (routers, proxy servers, etc.) in which the client devices are installed, or failures or planned maintenance on the management server, the process of establishing a connection using MQTT may fail, or the connection may be disconnected unintentionally.

[0005] Patent Document 1 proposes a technique for reliably responding to information requests from client devices via a network when the server is unable to communicate with the client device via a network by setting the time interval for information requests from the client device to be longer than the time until communication becomes possible. Furthermore, Patent Document 2 proposes a technology that automatically recovers from a network connection failure in response to a recovery request from a user by using network setting information (such as the device's own address and gateway address) that has been collected at a specified timing and that has been confirmed to have been connected to the network in the past. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent No. 3812170 [Patent Document 2] JP 2012-185527 A Summary of the Invention [Problem to be solved by the invention]

[0007] When using MQTT for communication between a client device and a management server, if a connection with the management server cannot be established or maintained, not only will the service not be available, but the device will frequently repeat reconnection processing to the management server, which may put a strain on the server due to communication concentration, leading to increased costs. As mentioned above, in communication using MQTT, even if there is no problem with the device or server, communication may not be possible due to the network environment in which the device is installed, and in such cases, the device may repeat reconnection processing. In addition, there are cases where many of the devices connected to the management server do not use services, or only use services that do not use MQTT communication (for example, services that only use HTTPS), and the impact is small even if communication with the management server using MQTT cannot be made. In such a situation, if the management server monitors the communication status of all connected devices and takes action, server resources will be wasted, which may lead to a load on the management server. In the prior art, these problems have not been taken into consideration at all.

[0008] The present invention has been made to solve the above problems. The object of the present invention is to provide a mechanism that can efficiently and appropriately respond to printers that need to be restored among printers that have problems with MQTT connections, and can solve problems related to systems that connect to MQTT while reducing the load on the system. [Means for solving the problem]

[0009] The present invention is a management system for managing devices, comprising: a determination means for determining whether a threshold number or more of connection requests using MQTT are received from a printer within a predetermined time; a transmission means for transmitting to the printer an instruction to reduce the frequency of attempts to make connection requests using MQTT from the printer if the threshold number or more are received and the printer is a device that is not registered in a service using MQTT; a determination means for determining whether the printer has previously succeeded in connecting using MQTT if the threshold number or more are received and the printer is a device that is already registered in a service using MQTT; and a control means for controlling the printer to send an instruction to change communication settings during a connection using MQTT to the printer if the connection has been successful, and to send an instruction to the printer to change communication settings at the time of a connection request using MQTT to the printer if the connection has not been successful. Effect of the Invention

[0010] According to the present invention, among printers having problems with MQTT connections, it is possible to efficiently and appropriately respond to printers that need to be restored according to the situation, and it is possible to solve problems related to systems that connect via MQTT while reducing the load on the system. As a result, it is possible to stably provide services related to printers that use MQTT, and usability can be improved. [Brief description of the drawings]

[0011] [Figure 1] 1 is a diagram showing an example of the overall configuration of a data transmission system according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a diagram illustrating an example of the hardware configuration of an application server and a management server. [Diagram 3] FIG. 2 is a diagram illustrating an example of a hardware configuration of a printer. [Figure 4] FIG. 11 is a sequence diagram illustrating a registration process of connected client information. [Diagram 5]FIG. 1 is a sequence diagram illustrating an MQTT protocol connection and a keep-alive operation after the connection is completed. [Figure 6] FIG. 11 is a sequence diagram illustrating a printer reconnection process when an MQTT protocol connection fails. [Figure 7] FIG. 4 is a sequence diagram illustrating a process according to the first embodiment. [Figure 8] FIG. 11 is a sequence diagram illustrating a notification process of a printer service registration status. [Figure 9] FIG. 11 is a sequence diagram illustrating a process according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.

[0013] [First embodiment] This embodiment shows an example of a system in which printers, application servers, and management servers work together to provide services to users, which efficiently detects only printers in an environment where there are problems with the connection between the printer and the management server, and notifies appropriate recovery instructions according to each situation. First, the configuration of a system in which an application server, which is the basis of the present invention, a management server, and a printer cooperate with each other will be described with reference to FIG.

[0014] FIG. 1 is a diagram showing an example of the overall configuration of a data transmission system according to an embodiment of the present invention. The network 1000 is a network that connects the application server 100, the management server 200, and the printer 400. The network 1000 is a communication network realized by, for example, a LAN (Local Area Network) such as the Internet, a WAN (WiDe Area Network), a telephone line, a dedicated digital line, an ATM or frame relay line, a cable television line, a wireless line for data broadcasting, or the like. The type of the network 1000 does not matter as long as data can be transmitted and received between the respective components. In this embodiment, the network 1000 will be described as the Internet.

[0015] The application server 100 is a server on which an application that provides a service to a user runs. In the application server 100, a database 110 stores various information for providing a cloud printing service to a user. The web application 120 transmits a print request to the management server 200 via the network 1000 based on a print job submitted by a user from a dedicated client application or a web application UI that runs on a web browser, and receives operation information of the printer 400 from the management server 200 to provide various services to the user.

[0016] The management server 200 is connected to the printer 400 via the network 1000, receives event information such as errors and alerts sent from the printer 400, and notifies the printer 400 of print jobs and the like. In the management server 200, the database 210 stores client information for the printer 400 to connect, print job information of the printer 400, connection history, service registration status, and the like. The control application 220 generates job data based on a print request received from the application server 100, and transmits the job data to the printer 400 via the network 1000. The control application 220 also transmits a job notification to the printer 400 via the network 1000, and an instruction to change the setting values ​​used in the connection process of the printer 400 to the printer 400. The management server 200 manages the printers connected via the network, and also detects printers that cannot be normally connected to the MQTT, and automatically recovers the printer. Details will be described later.

[0017] The printer 400 is a client device equipped with a printing function. In the printer 400, the communication module 410 receives a job notification from the management server 200 via the network 1000, and receives job data from the management server 200 via the network 1000 using job data access information included in the job notification. The print module 420 processes the job data received by the communication module 410 and executes printing. The storage device 430 stores the job data. In addition, the control application 440 updates a connection request with the management server 200 via the network 1000 and setting values ​​related to a keep-alive operation for maintaining a connection, using a setting value change instruction received by the communication module 410.

[0018] In FIG. 1, each component is illustrated as being composed of one unit for the sake of simplicity in the description of this embodiment, but there is no intention to restrict or limit the number of units in the configuration. Each component may be composed of one or more elements. For example, the application server 100 and the management server 200 may be realized by one computer or by multiple computers. For example, the application server 100 and the management server 200 may be configured to be realized by using cloud computing technology.

[0019] FIG. 2 is a diagram illustrating an example of an outline of the hardware configuration of the application server 100 and the management server 200. As shown in FIG. The CPU 301 is a central processing unit for controlling the following components. The disk device 302 stores various files, as well as an application program 312, a database 313, and an OS (Operating System) that are read by the CPU 301. The disk device 302 is configured from a hard disk drive (HDD), a solid state drive (SSD), or the like.

[0020] The external storage medium reader 303 is a device for reading information such as files stored in an external storage medium such as an SD card. The memory 304 is configured with a RAM or the like, and the CPU 301 temporarily stores data, buffers data, and the like as required.

[0021] The display unit 305 is configured with, for example, an LCD, and displays various information. The operation unit 306 includes a keyboard, a mouse, and the like that allow the user to perform various input operations. The communication unit 307 is connected to a network such as the Internet and performs various communications. The communication unit 307 supports wired LAN, wireless LAN, and the like. The above-mentioned units 301 to 307 are connected to each other via a bus 309.

[0022] The processing of the Web application 120 of the application server 100, which will be described later, is realized by the CPU 301 of the application server 100 reading a program required for the processing from the disk device 302 or the like into the memory 304 and executing it. The processing of the control application 220 of the management server 200 is realized by the CPU 301 of the management server 200 reading a program required for the processing from the disk device 302 or the like into the memory 304 and executing it.

[0023] FIG. 3 is a diagram illustrating an example of an outline of the hardware configuration of the printer 400. As shown in FIG. The CPU 401 performs calculations, judgments, and control on data and instructions according to programs stored in the RAM 402 and ROM 403 . The RAM 402 is used as a temporary storage area when the CPU 401 performs various processes. The OS and other application software are recorded in the ROM 403. The ROM 403 may be a rewritable non-volatile memory such as a flash memory.

[0024] The communication device 404 is an interface to which a LAN cable is connected, and performs data communication with the management server 200 via a router (not shown) or the network 1000. This data communication may be performed wirelessly, for example, by a wireless interface.

[0025] The display unit 408 is configured, for example, by an LCD, and displays various information. An operation unit 409 includes buttons, a touch panel, and the like for the user to perform various input operations. The printing device 406 processes the job data received by the communication device 404 and prints it on manuscript paper.

[0026] The storage device 430 stores the job data received by the communication device 404. The storage device 430 is configured with a HDD, an SSD, or the like. A system bus 407 exchanges data between the CPU 401, RAM 402, ROM 403, communication device 404, printing device 406, display unit 408, operation unit 409, and the like.

[0027] The processes of the communication module 410, the print module 420, and the control application 440 of the printer 400 shown in FIG. 1 are realized by the CPU 401 reading out programs necessary for the processes from the ROM 403 or the like and executing them.

[0028] 1, when the printer 400 connects to the management server 200 using the MQTT protocol, the management server 200 detects whether the MQTT protocol connection has been established or not maintained properly based on the connection request history of the printer 400, and issues an optimal recovery instruction for each. Here, an MQTT protocol connection is used as an example for explanation, but any protocol communication that maintains a connection by a keep-alive operation after establishing a connection between the printer 400 as a client and the management server 200 as a server, such as the XMPP protocol, is acceptable, and is not limited to the MQTT protocol and may be another protocol.

[0029] Fig. 4 is a sequence diagram showing an example of a process of registering advance connection client information necessary for printer 400 to connect to management server 200 using the MQTT protocol. In Fig. 4 and Figs. 5 to 7 described later, the process of printer 400 is realized by CPU 401 reading and executing a program stored in ROM 403 or the like. Also, the process of management server 200 is realized by CPU 301 of management server 200 reading and executing a program stored in disk device 302 or the like.

[0030] In S1001, the communications module 410 of the printer 400 makes a connection client registration request to the management server 200. The control application 220 of the management server 200, which has received the registration request, advances the process to S1002.

[0031] In S1002, the control application 220 generates a connection client ID that can uniquely identify the printer 400. In addition, in S1003, the control application 220 generates authentication information required when making a connection request. Furthermore, in S1004, the control application 220 registers in the database 210 the connection client ID generated in S1002 and the authentication information generated in S1003 in association with each other.

[0032] After completing the registration, the control application 220 responds to the printer 400 with a notification that the connection client registration request has been processed, including the generated connection client ID and authentication information (S1005). The response is received and stored by the communication module 410 of the printer 400.

[0033] FIG. 5 is a sequence diagram showing an example of an MQTT protocol connection process between the printer 400 and the management server 200 for which connection client registration has been completed, and a keep-alive operation for maintaining the connection after the connection has been completed.

[0034] First, in S1101, the communication module 410 of the printer 400 transmits a connection request to the management server 200. This connection request includes the connection client ID and authentication information notified to the printer 400 by the management server 200 in the process of Fig. 4. The control application 220 of the management server 200 that receives the connection request advances the process to S1102.

[0035] In S1102, the control application 220 performs processing to establish a connection with the printer 400. This processing includes authentication processing of the connecting client to confirm that the corresponding connecting client ID and authentication information are registered in the database 210, and securing of communication resources to maintain the connection. If the processing required to establish the connection in S1102 is successful, the control application 220 returns a success response to the printer 400 (S1103).

[0036] The printer 400 that receives the success response transmits a packet of a standard size to the management server 200 (S1105) after a certain period of time (S1104) in order to maintain the connection. The control application 220 that receives the packet notifies the printer 400 of a reception response (S1106). When the printer 400 receives the reception response, the printer 400 repeats the above-mentioned processes of S1104 and S1105. In this manner, the printer 400 and the management server 200 maintain the MQTT connection state with each other.

[0037] To terminate and disconnect the MQTT connection state, it is necessary to either disconnect from the printer 400, which is the client, or from the management server 200, which is the server.

[0038] Disconnection from the printer 400 is performed when the user terminates the network communication function of the printer 400 in a normal manner, for example by turning off the power of the printer 400. In detail, the communication module 410 of the printer 400 transmits an MQTT connection disconnection request to the management server 200 (S1107). The control application 220 of the management server 200 that receives the disconnection request terminates the MQTT connection process with the connected client (S1108).

[0039] Disconnection from the management server 200 occurs when, for example, the printer 400 is forcibly shut down and normal shutdown processing cannot be performed, or when a failure occurs in the network between the printer 400 and the management server 200, causing the management server 200 to generate a keep-alive timeout and forcibly terminate the client's connection state when the management server 200 continues to be unable to properly receive the packets that the printer 400 periodically sent in steps S1104 and S1105 above.

[0040] In detail, if the control application 220 of the management server 200 is unable to receive packets from the connected client printer 400 for a certain period of time due to the reasons described above or the like, it generates a keep-alive timeout (S1109) and disconnects the connection to the printer 400 for which the keep-alive timeout occurred (S1110).

[0041] FIG. 6 is a sequence diagram showing an example of a reconnection process operation of the printer 400 when an MQTT protocol connection between the printer 400 and the management server 200 fails.

[0042] First, the connection request and connection establishment processing of S1201 and S1202 are the same as S1101 and S1102 in Fig. 5, and therefore a description thereof will be omitted. Note that, in the connection establishment processing of S1202, if the control application 220 of the management server 200 fails to establish a connection with the printer 400, the control application 220 returns a failure response to the printer 400 (S1203).

[0043] Possible reasons for failure to establish a connection include a case where the connected client ID and authentication information sent from the printer 400 are invalid, causing the authentication process for the connected client to fail, or a case where a fault occurs in the database 210, making it impossible to confirm the registration of this authentication information.

[0044] The printer 400 that received the failure response transmits a connection request again (S1205) after a certain period of time has elapsed (S1204). As a result, if the failure in the authentication process of the immediately preceding connected client information was due to a temporary malfunction of the hardware resources constituting the management server 200 or the communication network, the authentication process will be successful when a reconnection request is made, and the connection state can be restored.

[0045] This type of reconnection request processing is also performed when the printer 400 is in a state where it can connect when the connection from the server is cut off, such as when the server times out in the sequence of Fig. 5, and this allows for a quick recovery from a temporary disconnection. This type of reconnection request is effective when the cause of the disconnection is a temporary network malfunction that will be resolved over time. However, if the problem is with either the printer 400, the management server 200, or the network 1000, or an environmental problem between them, no matter how many times the reconnection request is repeated, the connection will not be successful, or even if the connection is successful, the keep-alive operation will not continue and the connection will be cut off. If the number of connected clients increases in this way, it will result in an access load to the management server 200.

[0046] FIG. 7 is a sequence diagram showing an example of a process for establishing an MQTT protocol connection between the printer 400, for which connection client registration has been completed, and the management server 200 in the first embodiment.

[0047] The connection request process in S1301 is the same as S1101 in FIG. 5, so a description thereof will be omitted. The control application 220 of the management server 200 that receives the connection request process of S1301 registers, in the database 210, history information regarding the connection request made by the printer 400 (S1302).

[0048] Next, the control application 220 acquires connection history information associated with the connection client ID of the printer 400 registered in the database 210 (S1303). The connection history information includes the date and time when the connection request was received from the printer 400, information on whether the connection process was successful, and a history of instructions to change the connection settings.

[0049] Next, the control application 220 checks the date and time when the connection request was received from the connection history information acquired in S1303 above, and checks (determines) whether the connection request was received a predetermined number of times or more within a predetermined time from the current date and time. If the number of connection requests is the predetermined number or more, the control application 220 further checks the success or failure information of the connection process from the connection history information (S1304).

[0050] If there is a history of successful connection processing, the printer 400 determines that although it is able to connect, there is a possibility that frequent disconnections may occur due to problems with the keep-alive operation for maintaining the connection. Specifically, the following cases are conceivable. For example, the interval between periodic packet transmissions by the printer 400 for keep-alive is too long, causing the management server 200 or a network relay device constituting the network 1000 to forcibly disconnect the connection. Also, for example, there may be cases where the management server 200 or a network relay device constituting the network 1000 cannot accept the keep-alive timeout period specified by the printer 400 when making a connection request, causing the keep-alive operation to not be performed normally.

[0051] In the judgment process of S1304, if it is judged that there are a predetermined number of connection requests within a certain period of time or more and that there is a record of successful connection, the control application 220 makes the judgment as described above and generates an instruction task for changing a setting value related to maintaining the connection (S1305). The contents of this instruction task (setting value change instruction task) can be, for example, an instruction to shorten the packet transmission interval in the keep-alive operation, an instruction to shorten the keep-alive timeout period specified when making a connection request, etc.

[0052] Next, the control application 220 establishes a connection with the printer 400 (S1306), and then registers in the database 210 history information indicating that the connection process with the printer 400 was successful (S1307), and further responds to the printer 400 that the connection process was successful, and starts the connection (S1308).

[0053] Thereafter, the control application 220 notifies the printer 400 of the instruction task generated in S1305 (S1309). The control application 220 that has notified the instruction task records in the database 210 that the instruction task has been notified to the printer 400 (S1310). The printer 400 that has received the instruction task changes the setting value related to maintaining the connection in accordance with the instruction content of the instruction task (S1311). By using the instruction task described above, it is possible to efficiently detect clients that successfully establish a connection but then have problems maintaining the connection and end up disconnecting, and to issue instructions to improve the situation.

[0054] Furthermore, in the connection history determination in S1304 above, if there are a predetermined number of connection requests within a certain period of time and there is no successful connection record, it can be determined that there is a high possibility that there is a problem with the connection process itself by the printer 400. Specifically, possible problems include the expiration of the SSL device certificate issued as authentication information, or damage to the client ID or authentication information data sent to the printer 400.

[0055] In other words, if the connection history determination in S1304 above determines that there have been a predetermined number of connection requests within a certain period of time and that there has been no successful connection, the control application 220 causes the printer 400 to cancel the current connection process and notifies the printer 400 of a response including an instruction to re-execute the registration process for the connected client (S1312).

[0056] Upon receiving this response, the printer 400 discards the currently held connected client information and executes again the connected client registration process shown in Fig. 4 (S1313, S1314). This makes it possible to efficiently detect clients that have problems with the connection establishment process itself and to issue instructions to improve the situation.

[0057] Furthermore, if, in the connection history determination in S1304 above, the number of connection requests within a certain period of time is less than a predetermined number, the control application 220 determines that no particular abnormality is found, processes the connection request as is, registers a history of successful connection processing in the database 210 (S1315), and initiates a connection by sending a success response to the printer 400 (S1316).

[0058] As described above, by notifying the printer 400 of a recovery instruction task appropriate to the situation based on the result of the connection history determination in S1304 above, it is possible to efficiently detect only printers 400 in problematic environments and issue appropriate recovery instructions appropriate to each situation.

[0059] Second Embodiment In the above first embodiment, a configuration for realizing a function of issuing an appropriate setting change instruction to a printer 400 that may have a problem with the MQTT connection and connection maintenance process based on connection history information has been described. Here, a plurality of printers connected to the management server 200 may be connected to provide different services to a user. For example, a printer may be connected for a "cloud print service" in which a print job submitted by a user from a dedicated client application or a Web application UI running on a Web browser is notified to a printer specified by the user via the MQTT protocol to perform printing. In addition, a printer may be connected for an equipment monitoring service that automates printer repair arrangements and delivery of consumables by transferring device information, such as alert information generated inside the printer and remaining amount information of consumables, sent from the printer to the management server to an application server.

[0060] For printers that use the aforementioned "cloud printing service," if the MQTT connection is not maintained properly, print jobs cannot be notified, which will disrupt the provision of the service. In contrast, the "equipment monitoring service", which can provide services simply by sending device information from the printer to the management server, can provide services by using HTTP protocol communication, without using an MQTT connection, which requires maintaining a connection. In addition, if a printer is not controlled to determine the need for an MQTT connection based on its own service registration status and then connect to the management server, even a printer that is not registered with any service may make an MQTT connection request. In this way, if a function similar to that of the first embodiment is executed for all printers connected to the management server 200, including printers that do not require an MQTT connection, the management server 200 may be placed under a load greater than is actually necessary.

[0061] In the second embodiment, a configuration is exemplified that realizes a function for minimizing the load on the management server by determining the necessity of an MQTT connection when an appropriate recovery instruction is given to a printer based on connection history information.

[0062] Fig. 8 is a sequence diagram of a process for notifying the management server of the service registration status of a printer. In Fig. 8 and Fig. 9 described later, the process of the application server 100 is realized by the CPU 301 of the application server 100 reading and executing a program stored in the disk device 302 or the like. The process of the management server 200 is realized by the CPU 301 of the management server 200 reading and executing a program stored in the disk device 302 or the like. The process of the printer 400 is realized by the CPU 401 reading and executing a program stored in the ROM 403 or the like.

[0063] When the Web application 120 of the application server 100 detects that the printer 400 has been registered in the service it provides, it notifies the management server 200 of the service registration (S2001). Note that the services provided by the Web application 120 itself include, for example, the above-mentioned "cloud printing service" and other MQTT communication-based services provided by the Web application 120 itself, and services that use only HTTP protocol communication, such as a "device monitoring service that automates printer repair arrangements and delivery of consumables."

[0064] The control application 220 of the management server 200 that receives this service registration notification records the service registration information together with the identification information of the printer 400 in the database 210 (S2002).

[0065] 9 is a sequence diagram showing an example of a process for establishing an MQTT protocol connection between the printer 400, for which connection client registration has been completed, and the management server 200 in the second embodiment. In FIG. 9, the process of the printer 400 is realized by the CPU 401 reading and executing a program stored in the ROM 403 or the like. Also, the process of the management server 200 is realized by the CPU 301 of the management server 200 reading and executing a program stored in the disk device 302 or the like.

[0066] S2101 to S2103 are the same processes as S1301 to S1303 in Fig. 7, respectively, and therefore description thereof will be omitted. Following S2103 above, the control application 220 acquires, from the database 210, the service registration information registered for the printer 400 in the process in Fig. 8 (S2104).

[0067] Next, the control application 220 checks the date and time when the connection request was received from the connection history information acquired in S2103, and checks whether the number of connection requests received within a predetermined time from the current date and time is equal to or greater than a predetermined number. If the number of connection requests is equal to or greater than the predetermined number, the control application 220 further checks whether the service registration information for the printer 400 acquired in S2104 has a registration of an MQTT communication-using service. The control application 220 can determine whether each service registered as the service registration information is an MQTT communication-using service such as a "cloud print service". The determination method is not limited in any way. For example, a method of determining based on the service name or other information may be used. In the case of the method of determining based on the service name, for example, a configuration in which a service name corresponding to a service using MQTT communication is registered in advance in the management server 200 may be used. Also, as shown in FIG. 8, when a service is registered from the Web server 120 of the application server 100, information on the communication protocol used in the service may be included in the registration.

[0068] If it is determined that the MQTT communication using service for the printer 400 has been registered, the control application 220 further checks the success / failure information of the connection process from the connection history information (S2105).

[0069] In the connection history information determination in S2105, if it is determined that the printer 400 has a connection request a predetermined number of times or more within a certain period of time, that the MQTT communication service is registered, and that there is a connection success record, the control application 220 controls to execute the same process as S1305 to S1311 in Fig. 7. That is, if it is determined that the printer 400 has a connection request a predetermined number of times or more within a certain period of time, that the MQTT communication service is registered (already registered), and that there is a connection success record, the control application 220 notifies the printer 400 of an instruction to change the setting value related to connection maintenance (for example, an instruction to shorten the packet transmission interval in the keep alive operation, an instruction to shorten the keep alive timeout time specified at the time of the connection request, etc.) after establishing a connection with the printer 400. In response to this instruction, the printer 400 changes the setting value related to connection maintenance according to the instruction content of the instruction task. As a result, it is possible to efficiently detect clients that successfully establish an MQTT connection but have problems maintaining the connection and end up disconnecting despite the high need for MQTT connection recovery, and improve the situation (problem of maintaining the connection).

[0070] Also, when it is determined that there are a predetermined number of connection requests within a certain period of time or more, that the MQTT communication service is registered, and that there is no connection success record, the control application 220 controls to execute the same processing as S1312 to S1314 in FIG. 7. That is, when it is determined that there are a predetermined number of connection requests within a certain period of time or more, that the MQTT communication service is registered (already registered), and that there is no connection success record, the control application 220 cancels the current connection process to the printer 400 and notifies the printer 400 of a response including an instruction to execute the connection client registration process again. In response to this notification, the printer 400 discards the currently held connection client information and executes the connection client registration process shown in FIG. 4 again. As a result, it is possible to efficiently detect a client that has a problem with the MQTT connection establishment process itself despite the high need for MQTT connection recovery, and improve the situation (problem with connection establishment).

[0071] In addition, in the connection history information judgment in S2105, if it is determined that the connection request is made a predetermined number of times or more within a certain time and that the MQTT communication service is not registered, it is determined that there is no need to make an MQTT connection in the first place, and the control application 220 stops the current connection process for the printer 400 and issues an instruction response to the printer 400 to lengthen the waiting time until making a reconnection request (S2106). In other words, if it is determined that the connection request is made a predetermined number of times or more within a certain time and that the MQTT communication service is not registered (not registered), the control application 220 transmits an instruction to the printer 400 to reduce the frequency of attempts to make a connection request using MQTT from the printer 400 (an instruction to extend the interval between attempts to make a connection request). The printer 400 that receives the instruction extends the interval between attempts to make a connection request using MQTT in accordance with the contents of the instruction. As a result, although there is a problem with the process of establishing an MQTT connection itself, it is possible to efficiently detect clients that are highly in need of MQTT connection recovery and improve the situation (the load problem caused by frequent connection requests).

[0072] 7. Furthermore, if it is determined in the connection history information determination in S2105 above that the number of connection requests within a certain period of time is less than the predetermined number, the control application 220 executes the same process as S1316 in FIG.

[0073] As described above, the printer 400 that is determined to have a problem with the MQTT connection and maintaining the connection and is repeatedly requesting reconnection is not uniformly restored, but only an instruction to extend the reconnection request attempt interval is issued if it is determined that there is no need for restoration based on the service registration status. This makes it possible to realize a function for restoring the connection while minimizing the burden on the management server. In this case, it is possible to efficiently restore a device that cannot connect to the management server despite the need for connection, for example, because it is in a problematic environment, to a state where it can connect to the management server, without affecting devices that can normally connect to the management server.

[0074] In each of the above-described embodiments, an MQTT protocol connection has been used as an example. However, any protocol communication that maintains a connection by a keep-alive operation after establishing a connection between the printer 400 as a client and the management server 200 as a server, such as the XMPP protocol, is acceptable, and the present invention is not limited to the MQTT protocol and can be applied to other protocols as well.

[0075] As described above, according to the present embodiment, among printers having problems with MQTT connections, it is possible to efficiently and appropriately respond to printers that need to be restored according to the situation, and it is possible to solve problems related to systems that connect via MQTT while suppressing the load on the system. As a result, it is possible to stably provide services related to printers that use MQTT, and usability can be improved.

[0076] It goes without saying that the configurations and contents of the various data described above are not limited to those described above, and the data may have various configurations and contents depending on the application and purpose. Although one embodiment has been described above, the present invention can be embodied, for example, as a system, an apparatus, a method, a program, a storage medium, etc. Specifically, the present invention may be applied to a system composed of multiple devices, or may be applied to an apparatus composed of a single device. Furthermore, any combination of the above-described embodiments is also included in the present invention.

[0077] Other embodiments Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which the program code of the software that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of the system or device read and execute the program code stored in the recording medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the storage medium on which the program code is stored constitutes the present invention. Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs. Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing the program code it has read, but also includes cases where an operating system (OS) running on the computer performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized through that processing. Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then a CPU provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

[0078] The present invention can also be realized by supplying software (programs) that realize one or more of the functions of the above-mentioned embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the programs. It can also be realized by a circuit (e.g., ASIC) that realizes one or more of the functions. Furthermore, the present invention may be applied to a system made up of a plurality of devices, or to an apparatus made up of a single device. The present invention is not limited to the above-mentioned embodiment, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and are not excluded from the scope of the present invention. In other words, the present invention includes all configurations that combine the above-mentioned embodiments and their modifications.

[0079] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) A management system for managing devices, A determination means for determining whether a threshold number of connection requests using MQTT from the printer are received within a predetermined time period; A transmission means for transmitting to the printer an instruction to reduce the frequency of attempts to connect using MQTT from the printer when the threshold value or more is received and the printer is a device that is not registered in a service using MQTT; a determination means for determining whether or not the printer has successfully connected using MQTT in a case where the printer has received more than the threshold and is a device that has already been registered in a service using MQTT; A control means for controlling the printer to transmit an instruction to change communication settings during a connection using MQTT to the printer if the connection has been successful in the past, and to transmit an instruction to the printer to change communication settings at the time of a connection request using MQTT to the printer if the connection has not been successful in the past; A management system comprising: (Configuration 2) 2. The management system according to configuration 1, wherein the instruction to reduce the frequency of attempts to make a connection request using MQTT is an instruction to extend an interval between the attempts. (Configuration 3) The management system according to configuration 1 or 2, wherein the service using MQTT includes a service of printing by notifying the printer of a print job via communication using MQTT based on a print request notified to the management system. (Configuration 4) 4. The management system according to any one of configurations 1 to 3, wherein the instruction to change the communication settings during the connection is an instruction to shorten a communication interval for maintaining the connection. (Configuration 5) 5. The management system according to any one of configurations 1 to 4, wherein the instruction to change the communication settings at the time of the connection request is an instruction to re-execute registration processing of the connected client. (Method 1) A method for controlling a management system for managing a device, comprising: A determination step of determining whether a threshold or more of connection requests using MQTT are received from the printer within a predetermined time; a transmission step of transmitting to the printer an instruction to reduce the frequency of attempts to make a connection request using MQTT from the printer when it is determined that the threshold value or more has been received and the printer is a device that is not registered in a service using MQTT; a determination step of determining whether or not the printer has successfully connected using MQTT if it is determined that the printer has received the threshold value or more and the printer is a device that has already been registered in a service using MQTT; A control process for controlling the printer to send an instruction to change communication settings during a connection using MQTT to the printer if the connection has been successful in the past, and to send an instruction to the printer to change communication settings at the time of a connection request using MQTT to the printer if the connection has not been successful; 13. A method for controlling a management system comprising:

Claims

1. A management system for managing devices, A determination means for determining whether a threshold number of connection requests using MQTT from the printer are received within a predetermined time period; A transmission means for transmitting an instruction to the printer to reduce the frequency of attempts to connect using MQTT from the printer when the threshold value or more is received and the printer is a device that is not registered in a service using MQTT; A determination means for determining whether or not the printer has successfully connected using MQTT in the event that the printer has received more than the threshold and is a device that has already been registered for a service using MQTT; A control means for controlling the printer to send an instruction to change communication settings during a connection using MQTT to the printer if the connection has been successful in the past, and to send an instruction to the printer to change communication settings at the time of a connection request using MQTT to the printer if the connection has not been successful in the past; A management system comprising:

2. 2. The management system according to claim 1, wherein the instruction to reduce the frequency of attempts to make a connection request using MQTT is an instruction to extend the interval between the attempts.

3. 3. The management system according to claim 1, wherein the service using MQTT includes a service of printing by notifying the printer of a print job via communication using MQTT based on a print request notified to the management system.

4. 3. The management system according to claim 1, wherein the instruction to change the communication settings during the connection is an instruction to shorten a communication interval for maintaining the connection.

5. 3. The management system according to claim 1, wherein the instruction to change the communication settings at the time of the connection request is an instruction to execute registration processing of the connected client again.

6. A method for controlling a management system for managing a device, comprising: a determination step of determining whether a threshold number of connection requests using MQTT from the printer are received within a predetermined time; If it is determined that the threshold value or more has been received and the printer is a device that is not registered in a service using MQTT, a transmission step of transmitting an instruction to the printer to reduce the frequency of attempts to connect using MQTT from the printer; a determination step of determining whether the printer has successfully connected using MQTT if it is determined that the threshold value or more has been received and the printer is a device that has already been registered for a service using MQTT; A control process for controlling the printer to send an instruction to change communication settings during a connection using MQTT to the printer if the connection has been successful in the past, and to send an instruction to the printer to change communication settings at the time of a connection request using MQTT to the printer if the connection has not been successful; 13. A method for controlling a management system comprising:

Citation Information

Patent Citations

  • Information processor and network restoration program

    JP2012185527A

  • Information processing equipment

    JP3812170B2