Servers, communication devices, communication systems, and computer programs for servers

The management server ensures that communication device processes are executed within user-specified allowable times, addressing user inconvenience by only sending instructions when execution times align with user availability.

JP2026111373APending Publication Date: 2026-07-03BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2024-12-23
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing communication device management systems can cause inconvenience to users by executing processes during times when the device is unavailable for user interaction, such as during long firmware updates or configuration changes.

Method used

A management server that determines whether the estimated execution time for a process is within the allowable execution time specified by the user, and only sends execution instructions when it is, thereby avoiding inconveniencing the user.

Benefits of technology

This approach minimizes user inconvenience by ensuring that processes are executed only during acceptable times, improving user convenience and reducing the need for operators to repeatedly send instructions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026111373000001_ABST
    Figure 2026111373000001_ABST
Patent Text Reader

Abstract

This invention discloses a technology that can suppress the impairment of user convenience for communication devices in an environment where a server can have a communication device execute processing. [Solution] The server may include: a memory; a first storage control unit that stores the allowable execution time in the memory when an allowable execution time for processing in a communication device is specified; a determination unit that determines whether the predicted execution time of a specific process is within the allowable execution time when an instruction to cause the communication device to execute a specific process is obtained; and a transmission unit that transmits an execution instruction for the specific process to the communication device when it is determined that the predicted execution time of the specific process is within the allowable execution time, and the transmission unit that does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specific process is not within the allowable execution time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to a technique for managing a communication device.

Background Art

[0002] Patent Document 1 discloses a remote management system including an MFP and a remote management server for remotely managing the MFP. The remote management server causes the MFP to execute firmware update during a time period with a long sleep time of the MFP based on the cumulative operation time of the MFP.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] This specification discloses a technique capable of suppressing impairment of convenience of a user of a communication device in an environment where a server can cause the communication device to execute processing.

Means for Solving the Problems

[0005] This specification discloses a server. The server may include a memory, a first storage control unit that stores the execution allowable time in the memory when the execution allowable time of processing in the communication device is specified, a determination unit that determines whether the execution prediction time of the specific processing is within the execution allowable time when an instruction for causing the communication device to execute the specific processing is acquired, and a transmission unit that transmits an execution instruction of the specific processing to the communication device when it is determined that the execution prediction time of the specific processing is within the execution allowable time, wherein the execution instruction is not transmitted to the communication device when it is determined that the execution prediction time of the specific processing is not within the execution allowable time.

[0006] According to the above configuration, the server sends an execution instruction for a specific process to the communication device when it determines that the estimated execution time for that process is within the allowable execution time, and does not send an execution instruction to the communication device when it determines that the estimated execution time for that process is not within the allowable execution time. Therefore, in environments where the server can have the communication device execute a process, it is possible to suppress any inconvenience to the communication device user.

[0007] This specification also discloses a communication device. The communication device may include: a memory; a first storage control unit that stores in the memory the allowable execution time for a process in the communication device when such time is specified; a first receiving unit that receives an execution instruction for a specific process from an external device; a determination unit that, when the execution instruction is received from the external device, determines whether the predicted execution time for the specific process is within the allowable execution time; and a specific process execution unit that executes the specific process when it is determined that the predicted execution time for the specific process is within the allowable execution time, and does not execute the specific process when it is determined that the predicted execution time for the specific process is not within the allowable execution time.

[0008] According to the above configuration, the communication device executes a specific process if it determines that the estimated execution time of that process is within the allowable execution time, and does not execute the specific process if it determines that the estimated execution time of that process is not within the allowable execution time. Therefore, in environments where the server can cause the communication device to execute a process, it is possible to suppress any inconvenience to the communication device user.

[0009] The computer program for the server described above, the computer-readable storage medium for storing the computer program, and the method executed by the server described above are also novel and useful. Furthermore, the computer program for the communication device described above, the computer-readable storage medium for storing the computer program, and the method executed by the communication device described above are also novel and useful. Additionally, the communication system including the server and communication device described above is also novel and useful. Here, the computer-readable storage medium described above may be a single medium or multiple mediums. [Brief explanation of the drawing]

[0010] [Figure 1] A conceptual diagram of the communication system is shown. [Figure 2] A block diagram is shown to illustrate the hardware configuration of each device. [Figure 3] The sequence diagram for Case A of the first embodiment is shown. [Figure 4] The sequence diagram following Figure 3 is shown. [Figure 5] The sequence diagram following Figure 4 is shown. [Figure 6] The sequence diagram for the second embodiment is shown. [Figure 7] A sequence diagram of the third embodiment is shown. [Figure 8] The sequence diagram following Figure 7 is shown. [Figure 9] A sequence diagram of the fourth embodiment is shown. [Modes for carrying out the invention]

[0011] (Outline of communication system 2; Figure 1) As shown in Figure 1, the communication system 2 comprises a management server 10, a vendor terminal 50, a firmware server 60, multiple printers 100A and 100B, and an administrator terminal 200. Hereafter, printers 100A and 100B may be collectively referred to as "printer 100".

[0012] The management server 10, vendor terminal 50, and firmware server 60 are connected to the Internet 6. Multiple printers 100A, 100B, and the administrator terminal 200 are connected to LAN 4 and can communicate with each other via LAN 4. "LAN" stands for Local Area Network. LAN 4 can be either a wired LAN or a wireless LAN. LAN 4 is connected to the Internet 6. Each device 100, 200 can communicate with the management server 10 via the Internet 6.

[0013] (Configuration of management server 10; Figure 2) The management server 10 is installed on the Internet 6 by the vendor of the printer 100 (hereinafter simply referred to as "vendor"). The management server 10 may be a physical server, a virtual server on the cloud, a virtual machine, etc. The management server 10 may be a single server, or a collection of multiple servers. The management server 10 may be a server on an intranet, or a cloud server on the Internet 6. In a modified example, the management server 10 may be installed on the Internet 6 by a different operator than the vendor. In another modified example, the vendor may not prepare the hardware for the management server 10 themselves, but may use an environment provided by an external cloud computing service. In this case, the vendor may prepare the program (i.e., software) for the management server 10 and implement it in the above environment to realize the management server 10. In this embodiment, as an example, a configuration in which the management server 10 is a physical server will be described.

[0014] The management server 10 is a server for performing maintenance and management of multiple printers, including printer 100. The management server 10 comprises a communication interface 16 and a control unit 30. Hereinafter, the interface will be referred to as "I / F". The communication I / F 16 is connected to the Internet 6. The control unit 30 comprises a CPU 32 and memory 34. The memory 34 comprises main memory and auxiliary memory. For example, the main memory includes RAM and cache memory. For example, the auxiliary memory may be ROM, flash memory, Solid State Drive (SSD), Hard Disk Drive (HDD), or a combination thereof. The auxiliary memory of memory 34 stores a program 36. The CPU 32 performs various processes according to the program loaded from the auxiliary memory to the main memory. The memory 34 also stores a management table 40 and an execution time table 42.

[0015] Management table 40 stores the serial number, execution allowance time, and execution allowance timing in association. The serial number (e.g., "SN1") is information that identifies the printer. The execution allowance time is the period during which the printer is allowed to perform a specific process. Here, "specific process" refers to, for example, firmware updates, configuration changes, and forced restarts. The execution allowance timing is the timing at which the printer is allowed to perform a specific process. The execution allowance time and execution allowance timing are specified by the printer user. The execution allowance time (e.g., "within 10 minutes") and execution allowance timing (e.g., "19:00 to 5:00") are used to determine whether or not to send an execution command to the printer to perform a specific process.

[0016] Here, the above determination will be briefly explained. The management server 10 determines to send an execution instruction of a specific process to the printer when the time predicted to be required for executing the specific process, that is, the predicted execution time, is within the execution allowable time. On the other hand, the management server 10 determines not to send an execution instruction of the specific process to the printer when the predicted execution time is not within the execution allowable time. However, even when the predicted execution time is not within the execution allowable time, the management server 10 determines to send an execution instruction of the specific process to the printer when the execution allowable timing is satisfied.

[0017] In the execution time table 42, for each serial number of the printer, the process name and the predicted execution time are stored in association with each other. The process name is the name of any one of the above specific processes. The predicted execution time (for example, "2 minutes") is the past actual execution time of the specific process. Specifically, the predicted execution time indicates the average value of the past actual execution times of the specific process.

[0018] Here, the above specific process will be described. An example of the specific process is the firmware update of the printer 100. Another example of the specific process is the setting change. The setting change is a process of changing the settings of the printer 100 and includes various processes. Here, as an example of the setting change, the custom UI setting change and the request help setting change will be described. The custom UI setting is a process of changing the display form of the software keys, that is, the operation objects displayed on the printer, from the default display form to the custom display form desired by the user. The request help setting change is a change in the setting related to the request help function of the printer. The request help function is a function in which when a user of the printer selects a specific operation object, an email indicating that the user is seeking help is sent to the email address registered in advance. The request help setting change includes, for example, a change in the start of using the request help function, a change in the email address, etc. Another example of the specific process is the forced restart. The forced restart is a process of forcibly restarting the printer.

[0019] (Configuration of the vendor terminal 50) The vendor terminal 50 is used by an operator of a vendor who provides a plurality of printers including the printer 100. The vendor terminal 50 is a mobile phone (e.g., a smartphone), a tablet terminal, a laptop PC, a desktop PC, or the like. The above operator uses the vendor terminal 50 to input an instruction for causing the printer to execute a specific process to the management server 10. The management server 10 determines whether to cause the printer to execute a specific process according to the instruction from the vendor terminal 50.

[0020] (Configuration of the firmware server 60) The firmware server 60 manages the update of the firmware of the printer. The firmware server 60 stores the latest firmware and the time required for the update to the latest firmware, that is, the execution prediction time. Hereinafter, the firmware server 60 will be referred to as the "FW server 60".

[0021] (Configuration of the printer 100) The printer 100 is a peripheral device capable of executing a printing function (i.e., a peripheral device such as the administrator terminal 200). The printer 100 may be a multifunction device capable of executing a scan function, a FAX function, etc. in addition to the printing function. The printer 100A has a serial number "SN1". The printer 100B has a serial number "SN2". The serial number is an identification number assigned at the time of manufacture of the printer.

[0022] The printer 100 comprises an operation unit 112, a display unit 114, a communication interface 116, a print execution unit 118, and a control unit 130. The operation unit 112 is a user interface that allows the user to input various information to the printer 100. The operation unit 112 includes, for example, a touch panel, hardware keys, or both for displaying software keys (i.e., operation objects). Hardware keys are, for example, buttons, switches, etc. The display unit 114 is a display or panel for displaying various information. The panel may or may not be a touch panel. The panel may also be, for example, a liquid crystal panel, an organic EL panel, etc. The communication interface 116 is connected to LAN 4. The communication interface 116 may be an interface for performing wireless communication or an interface for performing wired communication. The print execution unit 118 comprises an inkjet, electrophotographic, or thermal printing engine. An inkjet printing engine comprises a print head that ejects ink droplets. An electrophotographic printing engine includes a photoreceptor and an exposure device that emits light to expose the photoreceptor. A thermal printing engine includes a print head that generates heat using a heater.

[0023] The control unit 130 comprises a CPU 132 and a memory 134. The memory 134 comprises a main memory and an auxiliary memory. For example, the main memory includes RAM and cache memory. For example, the auxiliary memory may be ROM, flash memory, Solid State Drive (SSD), Hard Disk Drive (HDD), or a combination thereof. The program 136 is stored in the auxiliary memory of the memory 134. The CPU 132 performs various processes according to the program loaded from the auxiliary memory to the main memory.

[0024] (Configuration of administrator terminal 200) Administrator terminal 200 is used by administrators belonging to corporations that own printers 100A and 100B. Administrator terminal 200 can be a mobile phone (e.g., smartphone), tablet, laptop PC, desktop PC, etc.

[0025] (Summary of the technology in this embodiment) In this embodiment, multiple printers, including printer 100, are managed by a management server 10. The multiple printers are owned by various parties, including corporations and individuals. Ownership is not limited to possession, but also includes the concept of rental and other forms of exclusivity. An employee of a vendor providing multiple printers can operate a vendor terminal 50 to cause each printer to execute a specific process via the management server 10. However, if the time required for a printer to execute a specific process is relatively long, it may hinder the user's use of the printer. Therefore, the management server 10 sends an instruction to execute a specific process to the printer when it determines that the estimated execution time of the specific process is within the acceptable execution time specified by the user. The management server 10 does not send an instruction to execute a specific process to the printer when it determines that the estimated execution time of the specific process is not within the acceptable execution time. As a result, in an environment where the management server 10 can cause printers to execute processes, the inconvenience to the printer user is minimized.

[0026] (First embodiment; Figures 3-5) Referring to Figures 3 to 5, the processes performed by each device 10, 50, 60, 100, and 200 will be explained. In the following explanation, for ease of understanding, the operations implemented by the CPUs of each device, such as CPUs 32 and 132, will not be described primarily from the perspective of the CPU, but rather from the perspective of each device, such as the management server 10 and printer 100. Furthermore, in the following explanation, communication between each device is performed via a communication interface. In the following explanation, the phrase "via a communication interface" will be omitted when describing communication.

[0027] In the following explanation, printer 100 may be printer 100A or printer 100B. Regarding the process in Figure 3, the following process is first executed on printer 100A.

[0028] At T10, the administrator terminal 200 receives an access request from the administrator of printer 100A, which includes an input operation for the IP address of the web server inside printer 100A. In this case, at T12, the administrator terminal 200 sends an access request to printer 100A that includes the said IP address as the destination address.

[0029] Printer 100A receives an access request from administrator terminal 200 at T12. Printer 100A can function as a web server and send screen data representing various web pages to administrator terminal 200. Printer 100A sends top screen data representing the top screen to administrator terminal 200 at T14.

[0030] When the administrator terminal 200 receives top screen data from the printer 100A in T14, it displays the top screen in T16. Although the top screen is not shown in the diagram, it includes several buttons for performing various settings related to the printer 100A. These buttons include a button indicating the processing time setting. The processing time setting is a setting related to the allowable time for the printer 100A to perform a specific process, and more specifically, it is a setting related to the allowable execution time and the allowable execution timing. When the administrator terminal 200 receives a selection of the button from the user in T18, it sends a processing time setting screen request to the printer 100A in T20.

[0031] When printer 100A receives a request for the processing time setting screen from the administrator terminal 200 at T20, it sends the processing time setting screen data to the administrator terminal 200 at T22.

[0032] When the administrator terminal 200 receives processing time setting screen data from printer 100A at T22, it displays the processing time setting screen SC1 at T24. The processing time setting screen SC1 includes a string indicating the processing time setting, an execution allowance time specification area R1, an execution allowance timing specification area R2, and an OK button. The execution allowance time specification area R1 is an area for receiving the execution allowance time specification from the user. The execution allowance timing specification area R2 is an area for receiving the execution allowance timing specification from the user.

[0033] At T30, the administrator terminal 200 receives from the user the specification of an acceptable execution time of "within 10 minutes" and an acceptable execution time of "19:00 to 5:00", as well as the selection of the OK button. In this case, at T32, the administrator terminal 200 sends the acceptable execution time of "within 10 minutes" and the acceptable execution time of "19:00 to 5:00" to the printer 100A.

[0034] When printer 100A receives the execution allowance time "within 10 minutes" and the execution allowance timing "19:00 to 5:00" from the administrator terminal 200 at T32, it sends the execution allowance time "within 10 minutes", the execution allowance timing "19:00 to 5:00", and the serial number of printer 100A "SN1" to the management server 10 at T34.

[0035] When the management server 10 receives the execution allowance time "within 10 minutes", the execution allowance timing "19:00 to 5:00", and the serial number "SN1" from the printer 100A at T34, it associates these and stores them in the management table 40 at T36.

[0036] As described above, processes T10 to T36 are executed on the management server 10, printer 100A, and administrator terminal 200. Then, processes T10 to T36 are executed on printer 100B instead of printer 100A. As a result, as shown in Figure 2, the execution allowance time and execution allowance timing are stored in the management table 40 in association with the serial number "SN2". The execution allowance time and execution allowance timing of printer 100B may be the same as or different from those of printer 100A.

[0037] (Case A) When the vendor terminal 50 receives a custom UI setting change operation from a vendor worker at T50, it sends a setting change instruction to the management server 10 at T52. The custom UI setting change operation includes specifying the serial number "SN1" of the printer 100A. In this case, the setting change instruction includes the changes to the custom UI settings and the serial number "SN1".

[0038] When the management server 10 receives a configuration change instruction from the vendor terminal 50 at T52, at T54 it identifies the predicted execution time of "2 minutes" associated with the custom UI configuration change process from the execution time table 42 corresponding to the serial number "SN1". This process means identifying the past actual execution time of the custom UI configuration change process. As described above, the predicted execution time is predicted based on the past actual execution time of the custom UI configuration change process. Therefore, the prediction accuracy is high. If the execution time based on past actual execution time has not yet been stored in the execution time table 42 corresponding to the serial number "SN1", the default predicted execution time is identified. Next, the management server 10 identifies the allowable execution time of "within 10 minutes" associated with the serial number "SN1" from the management table 40. The management server 10 then determines that the predicted execution time of "2 minutes" is within the allowable execution time of "within 10 minutes", and at T56 sends an execution instruction to the printer 100A. The execution instruction includes the changes made to the custom UI configuration.

[0039] At T58, printer 100A executes a custom UI setting change process based on the changes included in the received execution instruction for custom UI settings. In Figures 3 and onward, periods during which printer 100A is executing a specific process are represented by thick solid lines, and periods during which it is not executing a specific process are represented by thin dashed lines. When printer 100A finishes the custom UI setting change process, at T60 it sends a completion notification to the management server 10.

[0040] The management server 10 measures the time from when it sends an execution command to the printer 100A at T56 until it receives a completion notification from the printer 100A at T60. When the management server 10 receives a completion notification from the printer 100A at T60, it updates the execution time table 42. Specifically, the management server 10 calculates the average time between the time it took to execute the current custom UI setting change process and the past execution times of the same process. Then, the management server 10 changes the predicted execution time in the execution time table 42 corresponding to serial number "SN1" to the calculated time.

[0041] Although not shown in the diagram, the vendor's operator can perform custom UI setting changes for printer 100B in the same manner as described above. In addition, at T50 in Figure 4, the vendor's operator may specify multiple printers 100A and 100B at once. In this case, at T52, the vendor terminal 50 sends a setting change instruction to the management server 10 that includes multiple serial numbers "SN1" and "SN2". As a result, the processes at T54 to T60 are executed for each of the multiple printers 100A and 100B. This is the same in each of the following cases. Therefore, in each of the following cases, we will focus on explaining only printer 100A.

[0042] (Case B) Case B is a case where the custom UI setting change process on printer 100A takes a long time. Each device 10, 50, and 100A performs the same process as in Case A (T50-T58) in T70-T78.

[0043] The management server 10 determines that 10 minutes, the maximum allowable execution time, has elapsed since sending the execution command to the printer 100A at T76, without receiving a completion notification from the printer 100A. In this case, the management server 10 sends notification screen data to the printer 100A at T80.

[0044] When printer 100A receives notification screen data from management server 10 at T80, it displays notification screen SC2, which is represented by the notification screen data, at T82. Notification screen SC2 includes a message indicating that processing is taking time. This allows the user to know that other processes (e.g., printing) cannot be performed because processing is taking time. When printer 100A finishes the custom UI setting change process, it sends a completion notification to management server 10 at T90.

[0045] When the management server 10 receives a completion notification from printer 100A on T90, it updates the execution time table 42. The specific update method is the same as in Case A.

[0046] (Case C) Case C is the case in which the request help setting change process is executed.

[0047] When the vendor terminal 50 receives a request for a change in the request help settings from a vendor worker at T100, it sends a setting change instruction to the management server 10 at T102. The setting change instruction includes the serial number "SN1" and the details of the change in the request help settings.

[0048] When the management server 10 receives a configuration change instruction from the vendor terminal 50 at T102, at T104, it identifies the estimated execution time of "15 minutes" associated with the request help configuration change process from the execution time table 42 corresponding to the serial number "SN1". Then, the management server 10 identifies the allowable execution time of "within 10 minutes" associated with the serial number "SN1" from the management table 40.

[0049] The management server 10 determines that the predicted execution time of "15 minutes" is not within the acceptable execution time of "10 minutes or less". Next, the management server 10 identifies the acceptable execution timing "19:00 to 5:00" associated with serial number "SN1" from the management table 40. At this time, the current time is 17:00. Therefore, the management server 10 determines that the current time is outside the period indicated by the acceptable execution timing "19:00 to 5:00". In this case, the management server 10 does not send an execution instruction to the printer 100A, but instead sends a notification to the vendor terminal 50 at T106 that includes the identified acceptable execution timing "19:00 to 5:00".

[0050] When the vendor terminal 50 receives a notification from the management server 10 at T106, it displays the permitted execution time "19:00 to 5:00" included in the received notification. This allows the worker to know the permitted execution time "19:00 to 5:00". At T110, the vendor terminal 50 again accepts a request for help setting change operation from the worker after 19:00. In this case, at T112, the vendor terminal 50 sends a setting change instruction to the management server 10.

[0051] When the management server 10 receives a configuration change instruction from the vendor terminal 50 at T112, it determines at T114 that the estimated execution time of "15 minutes" is not within the acceptable execution time of "10 minutes or less". Next, the management server 10 determines that the current time is within the period indicated by the acceptable execution timing of "19:00 to 5:00", and sends an execution instruction to the printer 100A at T116. The execution instruction includes the changes made to the requested help configuration.

[0052] When printer 100A receives an execution command from management server 10 at T116, it executes a request help setting change process at T118 based on the changes included in the received execution command. When printer 100A finishes the request help setting change process, it sends a completion notification to management server 10 at T120.

[0053] When the management server 10 receives a completion notification from printer 100A on T120, it updates the execution time table. The specific update method is the same as in Case A.

[0054] At T34 in Figure 3, the management server 10 receives the execution permission timing "19:00 to 5:00" from the printer 100, and at T36, stores the execution permission timing "19:00 to 5:00" in the management table 40. Then, at T104 in Figure 5, if the management server 10 determines that the predicted execution time "15 minutes" is not within the execution permission time "10 minutes or less", it sends a notification including the execution permission timing "19:00 to 5:00" to the vendor terminal 50 at T106 without sending an execution instruction to the printer. With this configuration, the vendor terminal 50 can send a setting change instruction to the management server 10 again at T112 after the execution permission timing has arrived. As a result, the management server 10 can send an execution instruction to the printer 100 within the period of the execution permission timing at T116. Therefore, it is possible to suppress any inconvenience to the user of the printer 100.

[0055] In this embodiment, the vendor terminal 50 sends a setting change instruction (T112) to the management server 10 in response to receiving the operation (T110) again from the operator after the notification (T106). Alternatively, the vendor terminal 50 may automatically send the setting change instruction to the management server 10 when the execution-permitted timing of 19:00 arrives, without receiving the operation (T106) again from the operator after the notification (T106).

[0056] Furthermore, in cases A to C above, the specific processes to be executed by the printer were explained using examples such as changing custom UI settings and changing request help settings, but the specific process may also be a forced restart. Even if the specific process is a forced restart, the same process as in cases A to C will be executed on each device 10, 50, and 100A, and printer 100A will perform the forced restart process instead of the setting change process.

[0057] Here, we will explain the processing in case C, specifically in T104, when the current time is 19:00 instead of 17:00. In T104, the management server 10 determines that the current time of 19:00 falls within the period indicated by the permissible execution timing "19:00 to 5:00". In this case, processing from T106 to T114 is not executed, and in T116, the management server 10 sends an execution instruction to the printer 100A. Thus, even if the management server 10 determines that the predicted execution time of "15 minutes" is not within the permissible execution time of "10 minutes", it can appropriately send an execution instruction to the printer 100A if the current time falls within the permissible execution timing period.

[0058] (Case D) Case D is a case where the specific process to be performed by the printer is a firmware update.

[0059] When the vendor terminal 50 receives a firmware update operation request from a vendor worker at T140, it sends a firmware update instruction including the serial number "SN1" to the management server 10 at T142.

[0060] When the management server 10 receives a firmware update instruction from the vendor terminal 50 at T142, it sends a query to the FW server 60 at T144. The query is a signal requesting the latest firmware.

[0061] When the FW server 60 receives a query from the management server 10 at T144, it sends a response to the management server 10 at T146. The response includes the latest firmware and the estimated execution time of "18 minutes" required to perform the update process to the latest firmware. This estimated execution time is predetermined by the vendor, for example, according to the data size of the latest firmware. In this way, the management server 10 receives an estimated execution time from the FW server 60 that corresponds to the data size of the firmware, so it can obtain an estimated execution time with high prediction accuracy.

[0062] When the management server 10 receives a response from the FW server 60 at T146, it identifies the execution allowance time "within 10 minutes" associated with serial number "SN1" from the management table 40. The management server 10 determines that the estimated execution time "18 minutes" included in the received response is not within the execution allowance time "within 10 minutes". Next, the management server 10 identifies the execution allowance timing "19:00 to 5:00" associated with serial number "SN1" from the management table 40. At this time, the current time is 17:00. Therefore, the management server 10 determines that the current time is outside the period indicated by the execution allowance timing "19:00 to 5:00", and at T152, without sending an execution instruction to the printer 100A, it sends a notification to the vendor terminal 50 that includes the identified execution allowance timing "19:00 to 5:00".

[0063] When the vendor terminal 50 receives a notification from the management server 10 at T152, it displays the execution-permitted timing "19:00 to 5:00" included in the received notification. This allows the worker to know the execution-permitted timing "19:00 to 5:00". Subsequently, the same processing as T140 to T146 is performed on each device 50, 60, and 100A.

[0064] At T160, the management server 10 identifies the execution time "within 10 minutes" associated with serial number "SN1" from the management table 40. The management server 10 determines that the predicted execution time "18 minutes" included in the received response is not within the execution time "within 10 minutes". Next, the management server 10 identifies the execution timing "19:00 to 5:00" associated with serial number "SN1" from the management table 40. Here, the current time is 19:05. Therefore, the management server 10 determines that the current time is within the period indicated by the execution timing "19:00 to 5:00", and at T162, sends an execution instruction to printer 100A. The execution instruction includes the latest firmware.

[0065] When printer 100A receives an execution command from management server 10 at T162, it executes the firmware update process at T164. Specifically, printer 100A updates its firmware by installing the latest firmware included in the execution command. When printer 100A finishes the firmware update process, it sends a completion notification to management server 10 at T166. In this case, the execution time table 42 is not updated because the estimated execution time for the firmware update process is obtained from FW server 60.

[0066] (Effects of this embodiment) According to the above configuration, when the management server 10 receives an execution time of "10 minutes or less" at T34 in Figure 3, it stores the execution time of "10 minutes or less" in the management table 40 at T36. Then, at T54 and T74 in Figure 4, if the management server 10 determines that the estimated execution time of the custom UI setting change process, "2 minutes," is within the execution time of "10 minutes or less," it sends an execution instruction for the custom UI setting change process to the communication device at T56 and T76. On the other hand, at T104 and T150 in Figure 5, if the management server 10 determines that the estimated execution times of the request help setting change process and the firmware update process, "15 minutes" and "18 minutes," are not within the execution time of "10 minutes or less," it does not send an execution instruction to the printer 100. Therefore, in an environment where the management server 10 can have the printer 100 execute a process, it is possible to suppress any impairment of user convenience for the printer 100.

[0067] Furthermore, according to this embodiment, when a vendor's worker operates the vendor terminal 50, the vendor terminal 50 sends a setting change instruction or a firmware update instruction to the management server 100 to cause the printer 100 to execute a specific process. The management server 10 then decides whether or not to send an instruction to the printer 100 to execute the specific process based on the allowable execution time and the predicted execution time. Therefore, the worker can give instructions to the management server 10 without considering the usage status of the printer 100. Thus, the convenience for the worker is improved.

[0068] (Correspondence) Management server 10 is an example of a "server". Printers 100A and 100B are examples of "communication devices", respectively. Vendor terminal 50 and FW server 60 are examples of "external devices" and "other servers", respectively. Firmware update, configuration change, and forced restart are examples of "specific processes", respectively. T52 and T72 in Figure 4, and T102, T112, and T142 in Figure 5 are examples of "instructions to cause a communication device to perform a specific process".

[0069] T36 in Figure 3 is an example of processing implemented by the "first memory control unit" and the "second memory control unit". T54 and T74 in Figure 4, and T104, T114, T144, T150, and T160 in Figure 5 are examples of processing implemented by the "determination unit". T56 and T76 in Figure 4 are examples of processing implemented by the "transmission unit". T106 and T152 in Figure 5 are examples of processing implemented by the "notification unit". T146 in Figure 5 is an example of processing implemented by the "receiving unit".

[0070] (Second embodiment; Figure 6) Next, a second embodiment will be described. In this embodiment, the processing of the management server 10 when the predicted execution time is not within the allowable execution time differs from that of the first embodiment. Specifically, the management server 10 does not notify the vendor terminal 50 of the allowable execution timing when the predicted execution time is not within the allowable execution time. Case E in Figure 6 is a case in which a setting change is performed by printer A. Case F is a case in which a firmware update is performed by printer A. First, the same processing as T10 to T36 in Figure 3 is performed in each device 10, 100A, and 200.

[0071] (Case E) The processing for T200 and T202 is the same as the processing for T100 and T102 in Figure 5, respectively. In T204, the management server 10 identifies the estimated execution time of "15 minutes" associated with the request help setting change process from the execution time table 42 corresponding to the serial number "SN1". Then, the management server 10 identifies the allowable execution time of "within 10 minutes" associated with the serial number "SN1" from the management table 40.

[0072] The management server 10 determines that the predicted execution time of "15 minutes" is not within the acceptable execution time of "10 minutes or less". Next, the management server 10 identifies the acceptable execution timing "19:00 to 5:00" associated with serial number "SN1" from the management table 40. At this time, the current time is 17:00. Therefore, the management server 10 determines that the current time is outside the period indicated by the acceptable execution timing "19:00 to 5:00". In this case, the management server 10 monitors for the arrival of the acceptable execution timing without sending an execution instruction to the printer 100A.

[0073] When the management server 10 determines at T210 that the time is after 19:00, that is, that the execution-permitted timing "19:00 to 5:00" has arrived, it sends an execution instruction to the printer 100A at T212. The processing at T214 and T216 is the same as the processing at T118 and T120 in Figure 5, respectively.

[0074] (Case F) The processing at T230 to T236 is the same as the processing at T140 to T146 in Figure 5. At T236, when the management server 10 receives a response from the FW server 60, it identifies the execution allowance time "within 10 minutes" associated with serial number "SN1" from the management table 40. The management server 10 determines that the execution prediction time "18 minutes" included in the received response is not within the execution allowance time "within 10 minutes". Next, the management server 10 identifies the execution allowance timing "19:00 to 5:00" associated with serial number "SN1" from the management table 40. Here, the current time is 17:00. Therefore, the management server 10 determines that the current time is outside the period indicated by the execution allowance timing "19:00 to 5:00". In this case, the management server 10 monitors for the arrival of the execution allowance timing without sending an execution instruction to the printer 100A.

[0075] When the management server 10 determines at T250 that the time is 19:00, that is, that the execution-permitted timing "19:00 to 5:00" has arrived, it sends an execution instruction to the printer 100A at T252. The processing at T254 and T256 is the same as the processing at T164 and T166 in Figure 5, respectively.

[0076] (Effects of this embodiment) According to the above configuration, if the management server 10 determines in T204 and T240 that the predicted execution time of "15 minutes" is not within the acceptable execution time of "10 minutes or less", it monitors for the arrival of the acceptable execution timing without sending an execution instruction to the printer 100A. Then, when the management server 10 determines that the acceptable execution timing of "19:00 to 5:00" has arrived, it sends an execution instruction to the printer 100A in T212 and T252. As a result, the management server 10 can send the execution instruction to the printer 100 within the acceptable execution timing period. The vendor's operator does not have to perform the request help setting change operation and firmware update operation again. This improves the operator's convenience. In this embodiment, T212 and T252 in Figure 6 are examples of processes realized by the "transmission unit", respectively.

[0077] (Third embodiment; Figures 7 and 8) Next, a third embodiment will be described. As shown in Figure 2, in this embodiment, the memory 34 of the management server 10 does not store the management table 40 and the execution time table 42. The memory 134 of the printer 100 stores the management table 140 and the execution time table 142. The management table 140 is the same as the management table 40. In the execution time table 142, the process name and the predicted execution time are stored in association with each other, similar to the execution time table 42. Note that the execution time table 142 of printer 100A stores the predicted execution time only for printer 100A. Also, the execution time table 142 of printer 100B stores the predicted execution time only for printer 100B.

[0078] As shown in Figure 7, the same processing as T10 to T30 in Figure 3 is performed in each device 10, 100A, and 200. Printer 100A stores the execution allowance time "within 10 minutes" and the execution allowance timing "19:00 to 5:00" in the management table 140 at T280.

[0079] (Case G) Case G is the case where the predicted execution time is within the allowable execution time. The processing of T300 and T302 is the same as the processing of T100 and T102 in Figure 5.

[0080] When the management server 10 receives a configuration change instruction from the vendor terminal 50 at T302, it sends an execution instruction to the printer 100A at T304. The execution instruction includes the changes made to the custom UI settings.

[0081] When printer 100A receives an execution command from management server 10 at T304, T306 identifies the estimated execution time of "2 minutes" associated with the custom UI setting change process from the execution time table 142. The estimated execution time is predicted based on the actual past execution time of the custom UI setting change process. Therefore, the prediction accuracy is high.

[0082] Next, printer 100A identifies an execution time of "10 minutes or less" from the management table 140. Then, printer 100A determines that the predicted execution time of "2 minutes" falls within the "10 minutes or less" execution time, and in T308, executes the custom UI setting change process based on the changes in the custom UI setting change included in the received execution instruction. Once printer 100A has finished the custom UI setting change process, in T310, it sends a completion notification to the management server 10.

[0083] Printer 100A measures the time required for the T308's custom UI setting change process. When Printer 100A finishes the custom UI setting change process, it updates the execution time table 142. Specifically, Printer 100A calculates the average of the time required for the current custom UI setting change process and the execution times of past processes for the same process. Then, in the execution time table 142, Printer 100A changes the estimated execution time associated with the custom UI setting change process to the calculated time.

[0084] (Case H) Case H is the case in which the request help setting change process is executed. The processes of T320 and T322 are the same as the processes of T100 and T102 in Figure 5. At T324, the management server 10 sends an execution command to the printer 100A. The execution command includes the changes to the request help settings.

[0085] When printer 100A receives an execution command from management server 10 at T324, at T326 it identifies the estimated execution time "15 minutes" associated with the request help setting change process from execution time table 142. Next, printer 100A identifies the allowable execution time "within 10 minutes" from management table 140. Then, printer 100A determines that the estimated execution time "15 minutes" is not within the allowable execution time "within 10 minutes".

[0086] Next, printer 100A identifies the permissible execution time "19:00 to 5:00" from the management table 140. At this time, the current time is 17:00. Therefore, printer 100A determines that the current time is outside the period indicated by the permissible execution time "19:00 to 5:00". In this case, printer 100A sends a notification to the management server 10 in T328 that includes the identified permissible execution time "19:00 to 5:00".

[0087] When the management server 10 receives a notification from the printer 100A at T328, it sends the notification to the vendor terminal 50 at T330.

[0088] When the vendor terminal 50 receives a notification from the management server 10 at T330, it displays the execution permission timing "19:00 to 5:00" included in the received notification. This allows the worker to know the execution permission timing "19:00 to 5:00". The processing at T330 to T342 is the same as the processing at T106 to T112 in Figure 5, except that it is executed after 19:00. At T340, the vendor terminal 50 accepts the firmware update operation from the worker again after 19:00. At T344, the management server 10 sends the execution instruction to the printer 100A.

[0089] When printer 100A receives an execution instruction from management server 10 at T344, it determines, similar to T326, that the estimated execution time of "15 minutes" is not within the acceptable execution time of "10 minutes or less". Printer 100A further identifies the acceptable execution time of "19:00 to 5:00". At this time, the current time is 19:05. Therefore, printer 100A determines that the current time is within the period indicated by the acceptable execution time of "19:00 to 5:00". In this case, at T348, printer 100A executes the request help setting change process based on the changes in the request help setting change included in the received execution instruction. The processing at T350 is the same as the processing at T310.

[0090] (Case I) As shown in Figure 8, Case I is the case in which the firmware update process is executed. The processes of T370 and T372 are the same as the processes of T140 and T142 in Figure 5, respectively.

[0091] When the management server 10 receives a firmware update instruction from the vendor terminal 50 at T372, it sends an execution instruction to the printer 100A at T374.

[0092] When printer 100A receives an execution command from management server 10 at T374, it sends a query to management server 10 at T376. The query is a signal requesting the latest firmware.

[0093] When the management server 10 receives a query from printer 100A at T376, it sends the query to the FW server 60 at T378.

[0094] When the FW server 60 receives a query from the management server 10 at T378, it sends a response to the management server 10 at T380. The response includes the latest firmware and the estimated execution time of "18 minutes" required for the update process to the latest firmware.

[0095] When the management server 10 receives a response from the FW server 60 at T380, it sends a response to the printer 100A at T382.

[0096] When printer 100A receives a response from management server 10 in T382, it identifies an execution time of "10 minutes or less" from management table 140. Printer 100A determines that the execution prediction time of "18 minutes" included in the received response is not within the execution time of "10 minutes or less". In this way, printer 100 receives the execution prediction time corresponding to the firmware data size from FW server 60 via management server 10, so it can obtain an execution prediction time with high prediction accuracy.

[0097] Next, printer 100A identifies the permissible execution time "19:00 to 5:00" from the management table 140. At this time, the current time is 17:00. Therefore, printer 100 determines that the current time is outside the period indicated by the permissible execution time "19:00 to 5:00", and sends a notification to the management server 10 in T386 that includes the identified permissible execution time "19:00 to 5:00".

[0098] When the management server 10 receives a notification from the printer 100A at T386, it sends a notification to the vendor terminal 50 at T388.

[0099] When the vendor terminal 50 receives a notification from the management server 10 at T388, it displays the permitted execution time "19:00 to 5:00" included in the received notification. This allows the worker to know the permitted execution time "19:00 to 5:00". At the referenced T370, the vendor terminal 50 again accepts firmware update operations from the worker after 19:00. Subsequently, the same processing as T370 to T382 is performed on each device 10, 50, 60, and 100A.

[0100] In step T382, when printer 100A receives a response from management server 10, in step T390, similar to step T384, it determines that the estimated execution time of "18 minutes" included in the received response is not within the acceptable execution time of "10 minutes or less". Printer 100A further identifies the acceptable execution time of "19:00 to 5:00". Here, the current time is 19:05. Therefore, printer 100A determines that the current time is within the period indicated by the acceptable execution time of "19:00 to 5:00", and in step T400, executes the firmware update process. When printer 100A completes the firmware update process, in step T402, it sends a completion notification to management server 10.

[0101] (Effects of this embodiment) According to the above configuration, when printer 100A receives a specification from the user for an acceptable execution time of "within 10 minutes" and an acceptable execution time of "19:00 to 5:00", it stores the acceptable execution time of "within 10 minutes" in the management table 140 at T280 in Figure 7. Then, at T306, if printer 100A determines that the predicted execution time of "2 minutes" is within the acceptable execution time of "within 10 minutes", it executes the custom UI setting change process at T308. On the other hand, at T326 in Figure 7 and T384 in Figure 8, if printer 100A determines that the predicted execution times of the request help setting change process and the firmware update process are not within the acceptable execution time of "10 minutes", it does not execute the request help setting change process and the firmware update process. Therefore, in an environment where the management server 10 can have printer 100A execute processes, it is possible to suppress any impairment of user convenience for printer 100A.

[0102] Furthermore, if printer 100A determines at T326 in Figure 7 and T384 in Figure 8 that the estimated execution time for the request help setting change process and the firmware update process, "15 minutes" and "18 minutes," respectively, is not within the acceptable execution time of "10 minutes," it sends a notification to the management server 10 at T328 and T386, including the acceptable execution timing of "19:00 to 5:00," without executing any specific processes. The management server 10 then sends the notification to the vendor terminal 50 at T330 and T388. With this configuration, the vendor terminal 50 can send instructions to the management server 10 again at T342 and T372 after the acceptable execution timing has arrived. As a result, the management server 10 can send an execution instruction to printer 100A at T344 and T374 within the acceptable execution timing period. Therefore, it is possible to suppress any inconvenience to the user of printer 100A.

[0103] (Correspondence) Printer 100A is an example of a "communication device". Management server 10 is an example of an "external device". T280 in Figure 7 is an example of processing implemented by the "first memory control unit" and the "second memory control unit". T304, T324, T344 in Figure 7 and T374 in Figure 8 are examples of processing implemented by the "first receiving unit". T306, T326, T346 in Figure 7 and T384, T390 in Figure 8 are examples of processing implemented by the "specific processing execution unit". T382 in Figure 8 is an example of processing implemented by the "second receiving unit".

[0104] (Fourth embodiment; Figure 9) Next, a fourth embodiment will be described. In this embodiment, the printer 100A has a configuration that allows it to accept user logins. Similar to the third embodiment, the memory 134 of the printer 100A stores a management table 140 and an execution time table 142. Before the processing shown in Figure 9 begins, the user of the printer 100A has pre-stored login information such as a user ID and password in the printer 100A.

[0105] In each device 10, 100A, and 200, the same processing as T10 to T30 in Figure 3 is performed. The processing at T280 is the same as that at T280 in Figure 7.

[0106] Printer 100A accepts a login request from the user on T440. The login request includes entering login information. As a result, printer 100A enters a state where the user has logged in.

[0107] The processing at T450~T454 is the same as the processing at T300~T304 in Figure 7. At T454, when printer 100A receives an execution instruction from management server 10, at T456, it identifies the execution time "2 minutes" associated with the custom UI setting change process from execution time table 142. Next, printer 100A identifies the allowable execution time "within 10 minutes" from management table 140. Then, printer 100A determines that the predicted execution time "2 minutes" is within the allowable execution time "within 10 minutes". However, since printer 100A is logged in, it decides not to execute the custom UI setting change process. Then, printer 100A monitors for the user to log out. Note that if, at the T456 stage, the user is not logged in, printer 100A will execute the custom UI setting change process.

[0108] Printer 100A accepts a logout operation from the user at T460. As a result, printer 100A transitions to a state where the user is not logged in. At T462, printer 100A executes the request help setting change process based on the changes in the request help setting change included in the execution instruction received at T454. The process at T464 is the same as the process at T310 in Figure 7.

[0109] (Effects of this embodiment) If a user is logged into printer 100A, there is a high probability that the user is using printer 100A. On the other hand, if a user is not logged into printer 100A, there is a high probability that the user is not using printer 100A. In this embodiment, printer 100A does not execute the custom UI setting change process at T456 if it determines that the estimated execution time of "2 minutes" is within the acceptable execution time of "10 minutes" and the user is logged in. Then, printer 100A executes the custom UI setting change process at T462 if it determines that the estimated execution time of "2 minutes" is within the acceptable execution time of "10 minutes" and the user is not logged in. In other words, according to this embodiment, printer 100A can execute a specific process at a time when there is a high probability that the user is not using printer 100A. This helps to prevent the user's convenience from being compromised.

[0110] Although specific examples of the present invention have been described in detail above, these are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples illustrated above. Modifications of the above embodiments are listed below.

[0111] (Example 1) The execution permission timing may be a specific time, such as "Tuesday at 7pm". In another example, the execution permission timing may include multiple timings. For example, the execution permission timing may include multiple periods, such as "7pm to midnight" and "5am to 7am", or it may include multiple times, such as "Tuesday at 7pm" and "Saturday at 7am", or it may be a combination of a specific period and a specific time, such as "7pm to midnight" and "Saturday at 7am".

[0112] (Modification 2) The execution time table 42 does not have to be stored for each printer's serial number. In this case, the management server 10 stores one execution time table 42 for multiple printers owned by the same person. In this execution time table 42, the average of all past actual execution times for a specific process performed by the above multiple printers is stored as the predicted execution time.

[0113] (Modification 3) The administrator terminal 200 may accept a specification of "0 minutes or less" for the execution time allowed by the user at T30 in Figure 3. In this case, it is determined that the predicted execution time of any of the specific processes is not within the "0 minutes or less" execution time allowed. Therefore, all specific processes will be executed within the period of the execution time allowed, regardless of the size of their predicted execution time.

[0114] (Modification 4) The printer 100 may store an execution allowance of "10 minutes or less" at T32 in Figure 3. In this situation, at T78 in Figure 4, 10 minutes, the maximum execution allowance, elapses from the time the printer 100 starts a specific process until the process is completed. In this case, the printer 100 can display the notification screen SC2 at T82 without receiving notification screen data from the management server 10 at T80.

[0115] (Modification 5) T328 to T344 in Figure 7 may be omitted. Printer 100A does not send a notification to management server 10 if, at T362, it determines that the predicted execution time "15 minutes" is not within the allowable execution time "10 minutes or less", and that the current time of 17:00 is outside the period indicated by the allowable execution timing "19:00 to 5:00". Then, printer 100A monitors for the arrival of the allowable execution timing "19:00 to 5:00". When printer 100 determines that the time is 19:00, that is, when it determines that the allowable execution timing "19:00 to 5:00" has arrived, it executes the request help setting change process at T346.

[0116] (Modification 6) In the above embodiment, the processing of each step in Figures 3 to 9 is implemented by software (for example, program 36 for the management server 10, program 136 for the printer 100), but at least one of these processes may be implemented by hardware such as a logic circuit.

[0117] Furthermore, the technical elements described herein or in the drawings demonstrate technical usefulness individually or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated herein or in the drawings can achieve multiple objectives simultaneously, and achieving even one of these objectives constitutes technical usefulness in itself.

[0118] Even if, in the claims of this patent application, each claim depends on only some of the claims, it is not limited to the claim being dependent only on those specific claims. To the extent that it is not technically contradictory, each claim may be dependent on other claims that were not dependent at the time of application. That is, the technologies of each claim can be combined in various ways as follows: (Item 1) It is a server, Memory and When an execution time limit for processing in a communication device is specified, a first storage control unit stores the execution time limit in the memory, When an instruction is received to cause the communication device to execute a specific process, a determination unit determines whether the predicted execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, A server equipped with the following features. (Item 2) The aforementioned server further, When an execution timing for processing in the communication device is specified, a second storage control unit stores the execution timing in the memory, If it is determined that the predicted execution time of the specified process is not within the allowable execution time, a notification unit notifies an external device of the allowable execution timing, A server as described in item 1, which is equipped with the following features. (Item 3) The aforementioned server further, When an execution timing for processing in the communication device is specified, the device includes a second storage control unit that stores the execution timing in the memory. The server according to item 1, wherein the transmitting unit transmits the execution instruction for the specific process to the communication device when the execution-permitted timing arrives, if it is determined that the predicted execution time for the specific process is not within the permitted execution time. (Item 4) The aforementioned specific process is an update of the firmware of the communication device. The aforementioned server further, A server according to any one of items 1 to 3, comprising a receiving unit that receives the predicted execution time of the specific process from another server providing the firmware. (Item 5) The predicted execution time for the specified process is predicted based on the actual past execution time of the specified process, according to any one of items 1 to 3. (Item 6) A communication device, Memory and When an execution time for processing in the communication device is specified, a first storage control unit stores the execution time in the memory, A first receiving unit that receives instructions to execute a specific process from an external device, When the execution instruction is received from the external device, a determination unit determines whether the predicted execution time of the specific process is within the allowable execution time, A specific processing execution unit that executes the specific processing when it is determined that the predicted execution time of the specific processing is within the allowable execution time, and which does not execute the specific processing when it is determined that the predicted execution time of the specific processing is not within the allowable execution time, A communication device equipped with the following features. (Item 7) The specified processing execution unit executes the specified processing if it determines that the predicted execution time of the specified processing is within the allowable execution time and the user has not logged in to the communication device. The communication device described in item 6, wherein the specified process is not executed if it is determined that the predicted execution time of the specified process is within the allowable execution time and the user has logged in to the communication device. (Item 8) The aforementioned communication device further, When an execution timing for processing in the communication device is specified, the device includes a second storage control unit that stores the execution timing in the memory. The communication device according to item 6 or 7, wherein the specified processing execution unit executes the specified processing when it is determined that the predicted execution time of the specified processing is not within the allowable execution time, and the allowable execution timing for the specified processing arrives. (Item 9) The aforementioned specific process is an update of the firmware of the communication device. The aforementioned communication device further, A communication device according to any one of items 6 to 8, comprising a second receiving unit that receives the predicted execution time of the specific process from the external device. (Item 10) The communication device according to any one of items 6 to 8, wherein the predicted execution time of the specified process is predicted based on the actual past execution time of the specified process. (Item 11) A communication system comprising a server and a communication device, The aforementioned server, Memory and When an execution time for processing in the communication device is specified, a first storage control unit stores the execution time in the memory, When an instruction is received to cause the communication device to execute a specific process, a determination unit determines whether the predicted execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, comprises: The aforementioned communication device is A receiving unit that receives the execution instruction from the server, The system includes a specific processing execution unit that executes the specific processing when it receives the execution instruction from the server, Communication system. (Item 12) A computer program for a server, The server comprises memory and a computer, The aforementioned computer program comprises the following components of the computer, namely: When an execution time limit for processing in a communication device is specified, a first storage control unit stores the execution time limit in the memory, When an instruction is received to cause the communication device to execute a specific process, a determination unit determines whether the predicted execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, A computer program that functions as such. [Explanation of symbols]

[0119] 2: Communication system, 6: Internet, 10: Management server, 16: Communication I / F, 30: Control unit, 32: CPU, 34: Memory, 36: Program, 40: Management table, 42: Execution time table, 50: Vendor terminal, 60: Firmware server, 100: Printer, 112: Operation unit, 114: Display unit, 116: Communication I / F, 118: Print execution unit, 130: Control unit, 132: CPU, 134: Memory, 136: Program, 140: Management table, 142: Execution time table, 200: Administrator terminal

Claims

1. It is a server, Memory and When an execution time limit for processing in a communication device is specified, a first storage control unit stores the execution time limit in the memory, When an instruction is received to cause the communication device to perform a specific process, a determination unit determines whether the estimated execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, A server equipped with the following features.

2. The aforementioned server further, When an execution timing for processing in the communication device is specified, a second storage control unit stores the execution timing in the memory, If it is determined that the predicted execution time of the specified process is not within the allowable execution time, a notification unit notifies an external device of the allowable execution timing, The server according to claim 1, comprising:

3. The aforementioned server further, When an execution timing for processing in the communication device is specified, the device includes a second storage control unit that stores the execution timing in the memory. The server according to claim 1, wherein the transmitting unit transmits the execution instruction for the specific process to the communication device when the execution allow timing arrives, if it is determined that the predicted execution time for the specific process is not within the allowable execution time.

4. The aforementioned specific process is an update of the firmware of the communication device. The aforementioned server further, The server according to claim 1, further comprising a receiving unit that receives the predicted execution time of the specific process from another server providing the firmware.

5. The server according to claim 1, wherein the predicted execution time of the specified process is predicted based on the past actual execution time of the specified process.

6. A communication device, Memory and When an execution time limit for processing in the communication device is specified, a first storage control unit stores the execution time limit in the memory, A first receiving unit that receives instructions to execute a specific process from an external device, A determination unit that determines whether the predicted execution time of the specific process is within the allowable execution time when the execution instruction is received from the external device, A specific processing execution unit that executes the specific processing when it is determined that the predicted execution time of the specific processing is within the allowable execution time, and which does not execute the specific processing when it is determined that the predicted execution time of the specific processing is not within the allowable execution time, A communication device equipped with the following features.

7. The specified processing execution unit executes the specified processing if it determines that the predicted execution time of the specified processing is within the allowable execution time and the user has not logged in to the communication device. The communication device according to claim 6, wherein the specified process is not executed if it is determined that the predicted execution time of the specified process is within the allowable execution time and the user has logged in to the communication device.

8. The aforementioned communication device further, When an execution timing for processing in the communication device is specified, the device includes a second storage control unit that stores the execution timing in the memory. The communication device according to claim 6, wherein the specified processing execution unit determines that the predicted execution time of the specified processing is not within the allowable execution time, and executes the specified processing in accordance with the arrival of the allowable execution timing for the specified processing.

9. The aforementioned specific process is an update of the firmware of the communication device. The aforementioned communication device further, The communication device according to claim 6, further comprising a second receiving unit that receives the predicted execution time of the specific process from the external device.

10. The communication device according to claim 6, wherein the predicted execution time of the specified process is predicted based on the past actual execution time of the specified process.

11. A communication system comprising a server and a communication device, The aforementioned server, Memory and When an execution time limit for processing in the communication device is specified, a first storage control unit stores the execution time limit in the memory, When an instruction is received to cause the communication device to perform a specific process, a determination unit determines whether the estimated execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, comprises: The aforementioned communication device is A receiving unit that receives the execution instruction from the server, The system includes a specific processing execution unit that executes the specific processing when it receives the execution instruction from the server, Communication system.

12. A computer program for a server, The server comprises memory and a computer, The aforementioned computer program comprises the following components of the computer, namely: When an execution time limit for processing in a communication device is specified, a first storage control unit stores the execution time limit in the memory, When an instruction is received to cause the communication device to perform a specific process, a determination unit determines whether the estimated execution time of the specific process is within the allowable execution time, A transmitting unit that transmits an execution instruction for the specified process to the communication device when it is determined that the predicted execution time of the specified process is within the allowable execution time, and which does not transmit the execution instruction to the communication device when it is determined that the predicted execution time of the specified process is not within the allowable execution time, A computer program that functions as such.