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

The communication device and server system addresses the challenge of applying firmware updates at appropriate times by prioritizing high-urgency updates and allowing user-specified timings, enhancing user convenience and storage efficiency.

JP2026097059APending Publication Date: 2026-06-16BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2024-12-04
Publication Date
2026-06-16

Smart Images

  • Figure 2026097059000001_ABST
    Figure 2026097059000001_ABST
Patent Text Reader

Abstract

This technology provides a way to apply a first program to a communication device at an appropriate time. [Solution] The communication device receives an application request from a server that stores a first program related to the communication device, requesting that the first program be applied to the communication device. The communication device receives an application request from the server, and if the application request contains first information, it executes an application process to apply the first program. If an application request is received from the server, and the application request contains second information different from the first information, the execution of the application process is suspended.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to a technology for executing application processing.

Background Art

[0002] Patent Document 1 discloses a remote management system including a remote management server and a plurality of image forming apparatuses. The remote management server transmits an instruction for updating the firmware of the image forming apparatus to the image forming apparatus. When the image forming apparatus receives the instruction from the remote management server, it executes a process for updating the firmware.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] This specification provides a technology capable of applying a first program to a communication device at an appropriate timing.

Means for Solving the Problems

[0005] This specification discloses a communication device. The communication device may include an application request receiving unit that receives an application request from a server storing a first program related to the communication device, requesting that the first program be applied to the communication device. The communication device may also include a first application processing execution unit that, when an application request is received from the server and the application request includes first information, executes an application process to apply the first program. The execution of the application process may be suspended when an application request is received from the server and the application request includes second information different from the first information.

[0006] This specification also discloses a server. The server may include memory. The server may include a storage control unit that stores the first program in the memory when the first program is acquired. The server may include an application request transmission unit that sends an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory. The communication device may receive the application request from the server and, if the application request includes first information, execute an application process to apply the first program to the communication device. The execution of the application process may be suspended if the application request is received from the server and, if the application request includes second information different from the first information.

[0007] This specification also discloses a communication system comprising a communication device and a server. The server may include a storage control unit that stores the first program in the server's memory when the first program is acquired. The server may include an application request transmission unit that sends an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory. The communication device may include an application request receiving unit that receives the application request from the server. The communication device may include a first application processing execution unit that executes an application process to apply the first program when the application request is received from the server and the application request includes first information. The execution of the application process may be suspended when the application request is received from the server and the application request includes second information different from the first information.

[0008] According to the above configuration, the communication device receives an application request from the server, and if the application request includes the first information, it executes the application process at the first timing. If an application request is received from the server, and the application request includes the second information, the execution of the application process is suspended. Therefore, the first program can be applied to the communication device at the appropriate timing.

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

[0010] [Figure 1] A diagram showing the configuration of a communication system. [Figure 2] This is a flowchart illustrating the server processing. [Figure 3] This is a flowchart of the first firmware processing step. [Figure 4] This is a flowchart of the second firmware processing step. [Figure 5] This is an example of the update timing settings screen. [Figure 6] This is a flowchart of the first firmware processing step. [Figure 7] This is a flowchart of the second firmware processing step. [Modes for carrying out the invention]

[0011] (First embodiment) (Configuration of Communication System 2) As shown in Figure 1, the communication system 2 comprises printers 10 and 110 and a server 200. The printers 10 and 110 and the server 200 are connected to the Internet 6. The printers 10 and 110 and the server 200 can communicate with each other via the Internet 6.

[0012] (Printers 10, 110) Printer 10 is a peripheral device capable of performing printing functions. Printer 10 is a peripheral device for a Personal Computer (PC), etc. Printer 10 is also configured to perform web server functions. The web server function is a function that sends web page data representing web pages to an external device in response to the external device accessing the web server in Printer 10. Printer 10 has a serial number "SN1" and a model name "MN1". The serial number is an identification number assigned at the time of printer manufacture. The model name is a name that indicates the model of the printer.

[0013] The printer 10 comprises an operation unit 12, a display unit 14, a print execution unit 16, a communication interface 20, and a control unit 30. Hereafter, the interface will be referred to as "I / F".

[0014] The operation unit 12 is a user interface that enables the user to input various information to the printer 10. The operation unit 12 includes, for example, a touch panel for displaying software keys, hardware keys, or both. The software keys are operation objects. The hardware keys include, for example, buttons or switches. The display unit 14 is a display or panel for displaying various information. The panel may be a touch panel or may not be a touch panel. Also, the panel is, for example, a liquid crystal panel or an organic EL panel.

[0015] The printing execution unit 16 includes an electrophotographic printing engine, an inkjet printing engine, or a thermal printing engine. The inkjet printing engine includes a print head that ejects ink droplets. The electrophotographic printing engine includes a photoreceptor and an exposure device that emits light to expose the photoreceptor. The thermal printing engine includes a print head that generates heat by a heater. The communication I / F 20 is connected to the Internet 6.

[0016] The control unit 30 includes a CPU 32 and a memory 34. The memory 34 includes a main storage device and an auxiliary storage device. As an example, the main storage device includes a RAM and a cache memory. As an example, the auxiliary storage device may be a ROM, a flash memory, a Solid State Drive (SSD), a Hard Disk Drive (HDD), or a combination thereof. The program 40 and the firmware 42 are stored in the auxiliary storage device of the memory 34. The program 40 is a program for controlling the basic operations of the printer 10. The firmware 42 is a program for controlling each hardware of the printer 10. The CPU 32 realizes various processes according to the program loaded from the auxiliary storage device to the main storage device.

[0017] The printer 110 has the same configuration as the printer 10, except that it has a serial number "SN2" and a model name "MN1".

[0018] (Configuration of Server 200) Server 200 is installed on the Internet 6 by the vendors of Printers 10 and 110. Server 200 may be a single server or a collection of multiple servers. Server 200 manages a plurality of printers including Printers 10 and 110. Server 200 includes a communication interface 220 and a control unit 230. The communication I / F 220 is connected to the Internet 6.

[0019] The control unit 230 includes a CPU 232 and a memory 234. The memory 234 includes a main storage device and an auxiliary storage device. A program 240 is stored in the auxiliary storage device of the memory 234. The CPU 232 realizes various processes according to the program loaded from the auxiliary storage device to the main storage device.

[0020] The memory 234 further stores firmware information 242 and a management table 244. The firmware information 242 includes firmware, countermeasure information, and model information. The firmware is firmware for update. The countermeasure information includes information to be dealt with by the firmware. As an example, the countermeasure information indicates that the firmware is a program corresponding to the security of the printer. As an example, when the firmware is a program corresponding to the security of the printer, it means that the firmware is a program for dealing with the web server function. Also, as an example, the countermeasure information indicates that the firmware is a program for eliminating malfunctions of the printing function. Further, as an example, the countermeasure information indicates that the firmware is a program corresponding to print quality. The model information indicates the model name of the printer corresponding to the firmware. The model information indicates one or more model names.

[0021] Management table 244 stores information for multiple printers. Management table 244 stores the serial number, model name, and status information in association with each other. The status information indicates the printer's status. For example, the status information might be "Standby" or "No Paper."

[0022] In this embodiment, the server 200 periodically receives the serial number, model name, and status information from each printer 10, 110. The server 200 then updates the management table 244 using the received serial number, model name, and status information.

[0023] (Server processing; Figure 2) Referring to Figure 2, the server processing performed by the CPU 232 of server 200 will be described. Communication between each device is performed via a communication interface. Therefore, in the following description, the phrase "via a communication interface" will be omitted when describing communication.

[0024] In S2, CPU232 monitors whether new firmware information is registered in memory234. If new firmware information is registered in memory234, CPU232 determines YES in S2 and proceeds to S4.

[0025] In S4, CPU232 uses the model information in the firmware information registered in S2 to identify the printer to which the update request should be sent. Hereinafter, the printer to which the update request should be sent will be referred to as the "target printer". An update request is a signal to request a firmware update. An update request includes the handling information in the firmware information registered in S2. CPU232 identifies one or more model names indicated by the model information in the firmware information. CPU232 identifies the serial number stored in the management table 244 in association with one or more of the identified model names. CPU232 identifies one or more printers with the identified serial numbers as the target printers. For example, if the model information in the update request includes the model name "MN1", CPU32 identifies printers 10 and 110 as the target printers.

[0026] In S6, CPU232 sends an update request to the identified target printer. When S6 finishes, CPU232 returns to S10.

[0027] (First firmware processing; Figure 3) Referring to Figure 3, the first firmware processing performed by the CPU 32 of the printer 10 will be described.

[0028] In S10, CPU32 monitors for receiving an update request from server200. If CPU32 receives an update request from server200, it determines YES in S10 and proceeds to S12. Hereafter, the update request received in S10 will be referred to as the "target update request".

[0029] In S12, the CPU 32 determines whether the urgency of the action information in the target update request is "high". If the urgency of the action information is "high" (YES in S12), the CPU 32 proceeds to S20. For example, the CPU 32 determines that the urgency of the action information is "high" if the action information indicates that the firmware is a program that addresses the printer's security. On the other hand, if the urgency of the action information is not "high" (NO in S12), the CPU 32 proceeds to S40. If the CPU 32 determines NO in S12, it decides to postpone the execution of the update process described later.

[0030] In S20, the CPU 32 determines whether the printer 10 is currently performing a specific process. For example, the specific process is one that is executed in response to instructions from the user. For example, the specific process is a printing process. If the printer 10 is performing the specific process (YES in S20), the CPU 32 proceeds to S22. On the other hand, if the printer 10 is not performing the specific process (NO in S20), the CPU 32 proceeds to S24.

[0031] In S22, CPU32 interrupts a specific process.

[0032] In S24, the CPU 32 sends a firmware request to the server 200. The firmware request is a signal to request the server 200 to send firmware for update. The firmware request includes the serial number "SN1" and the model name "MN1". When the server 200 receives the firmware request from the printer 10, it identifies the firmware information containing the model name "MN1" in the firmware request. The server 200 sends the firmware from the identified firmware information to the printer 10 as firmware for update.

[0033] In S26, CPU32 receives firmware updates from server200.

[0034] In S28, the CPU 32 uses the update firmware received in S26 to perform the update process. During the update process, the CPU 32 uses the update firmware to update the firmware 42 in memory 34.

[0035] As described above, when the urgency level is "high," the CPU 32 executes the update process regardless of whether the printer 10 is currently performing a specific process. With the above configuration, the timing of the update process execution when the urgency level is "high" can be accelerated.

[0036] In S30, CPU32 resumes a specific process. For example, if the printing process was interrupted in S22, CPU32 resumes the printing process in S30. Once S30 is complete, CPU32 returns to S10.

[0037] Furthermore, in S40, the CPU32 determines whether the urgency of the action information in the target update request is "medium". If the urgency of the action information is "medium" (YES in S40), the CPU32 proceeds to S42. For example, the CPU32 determines that the urgency of the action information is "medium" when the action information indicates that the firmware is a program to resolve a printing function malfunction. On the other hand, if the urgency of the action information is not "medium" (NO in S40), the CPU32 proceeds to S70. Note that "high" and "not medium" in terms of urgency of the action information refer to cases where the urgency of the action information is "low". For example, the CPU32 determines that the urgency of the action information is "low" when the action information indicates that the firmware is a program to address print quality.

[0038] In S42, CPU32 determines whether or not it is currently executing a specific process. If CPU32 is currently executing a specific process (YES in S42), it waits in S42. On the other hand, if CPU32 is not currently executing a specific process (NO in S42), it proceeds to S50.

[0039] In S50, the CPU 32 displays the update timing setting screen SC2 on the display unit 14. As shown in Figure 4, the update timing setting screen SC2 includes a first message 400, an update timing setting area 402, and a "Set" button 404. The first message 400 includes a message indicating that new firmware has been registered and a message prompting the user to set the update timing. The update timing setting area 402 is an area for setting the timing for updating the firmware. The user can specify the date and time on which the update process will be executed by performing an operation on the update timing setting area 402. In this embodiment, the user can select the update timing by performing an operation on the pull-down button in the update timing setting area 402. In a modified example, the update timing setting area 402 may include an input area for the update timing. For example, the update timing is the update date and time. With the above configuration, the user can specify the firmware update timing. Therefore, user convenience is improved.

[0040] In S52 of Figure 3, the CPU 32 monitors for acceptance of a setting operation. The setting operation includes an operation to set the update timing and an operation on the "Settings" button 404. If the CPU 32 accepts the setting operation, it determines YES in S52 and proceeds to S54.

[0041] In S54, CPU32 disables the specific function corresponding to the troubleshooting information. For example, if the troubleshooting information indicates that the firmware is a program to resolve a printing function malfunction, then the printing function is the specific function.

[0042] In S56, CPU32 monitors for the arrival of the update timing specified by the user. If the update timing arrives, CPU32 determines YES in S56 and proceeds to S58. Assume that the date and time displayed on the display unit 14 of the update timing setting screen SC2 is "November 10, 2024, 11:00 AM", and the user has specified "12 hours later". In this case, the update timing is "November 10, 2024, 11:00 PM". Then, when "November 10, 2024, 11:00 PM" arrives, CPU32 determines YES in S56.

[0043] S58 is the same as S42. If CPU32 determines NO in S58, it proceeds to S60.

[0044] S60, S62, and S64 are the same as S24, S26, and S28, respectively.

[0045] In S66, CPU32 enables specific functions that were disabled in S54. When S66 finishes, CPU32 returns to S10.

[0046] Furthermore, if the response in S40 is determined to be NO, in S70, the CPU32 executes a second firmware process. This second firmware process is for performing an update when the urgency level corresponding to the troubleshooting information is "low". Once S70 is complete, the CPU32 returns to S10.

[0047] (Second firmware processing; Figure 5) Referring to Figure 5, the second firmware process performed at S70 in Figure 3 will be described.

[0048] S80 is the same as S42 in Figure 3. If CPU32 determines NO in S80, it proceeds to S90.

[0049] S90 is similar to S54 in Figure 3. For example, if the troubleshooting information indicates that the firmware is a program that corresponds to print quality, then the function that corresponds to print quality included in the printing function is the specific function.

[0050] In S92, the CPU 32 displays a notification screen SC4 on the display unit 14. The notification screen SC4 includes a second message 410, an "Update Now" button 412, and an "Update Later" button 414. The second message 410 includes a message indicating that new firmware has been registered and a message to ask the user whether or not to update the firmware.

[0051] In S94, the CPU 32 determines whether or not it has received an update operation, which is an operation performed on the "Update Now" button 412. If the CPU 32 has received an update operation (YES in S94), it proceeds to S100. On the other hand, if the CPU 32 has not received an update operation (NO in S94), it proceeds to S110. Note that if the update operation is not received, it means that an operation performed on the "Update Later" button 414 has been received.

[0052] Steps S100, S102, S104, and S106 are the same as steps S60, S62, S64, and S66 in Figure 3, respectively. When step S106 is completed, CPU 32 terminates the process shown in Figure 5.

[0053] Furthermore, in S110, the CPU 32 monitors whether a predetermined time has elapsed since the operation of the "Update Later" button 414 was received. For example, the predetermined time is "1 hour". When the predetermined time has elapsed, the CPU 32 determines YES in S110 and returns to S92. In this way, the CPU 32 displays the notification screen SC4 on the display unit 14 every predetermined time until the firmware is updated. With the above configuration, the user can specify the timing of the firmware update by adjusting the timing of executing the update operation. Therefore, user convenience is improved.

[0054] As described above, when the urgency of the firmware update is "high" (YES in S12 in Figure 3), the CPU 32 automatically executes the update process immediately after receiving the update request from the server 200 (S28). On the other hand, when the urgency of the firmware update is "medium" or "low" (NO in S12), the CPU 32 postpones the execution of the update process. In this embodiment, the CPU 32 delays the timing of executing the update process compared to when the urgency of the firmware update is "high". Then, after the execution of the update process has been postponed, the CPU 32 executes the update process when the update timing specified by the user arrives (YES in S56) or when an update operation is accepted (YES in S94 in Figure 5) (S64, S104). With this configuration, the firmware can be reliably updated even after the execution of the update process has been postponed. In addition, the user can specify the timing at which the update process is executed. Therefore, user convenience is improved.

[0055] Furthermore, the CPU 32 executes the update process (S64, S104) when the urgency of the firmware update is "medium" or "low" (NO in S12) and the printer 10 is performing a specific process (YES in S58, YES in S80 in Figure 4), in accordance with the completion of the specific process (NO in S58, NO in S80). If the specific process is interrupted, it may cause discomfort to the user. The above configuration makes it possible to suppress causing discomfort to the user.

[0056] Furthermore, in this embodiment, the update request does not include firmware. Therefore, when the execution of the update process is suspended, the CPU 32 does not store the firmware for the update in memory 34. Consequently, the storage capacity of memory 34 can be used effectively.

[0057] (Effects of this embodiment) As described above, the printer 10 executes the update process (S28) when it receives an update from the server 200 and the urgency corresponding to the action information is "high" (YES in S12 of Figure 3). Furthermore, if an update request is received from the server 200 and the urgency corresponding to the action information is "medium" or "low" (NO in S12), the execution of the update process is suspended. Therefore, the firmware can be updated at an appropriate time.

[0058] (Correspondence) Printer 10 is an example of a "communication device". Firmware for updates is an example of a "first program". An update request is an example of an "application request". Action information corresponding to a high urgency level is an example of "first information". Update processing is an example of "application processing". Action information corresponding to a medium or low urgency level is an example of "second information". The update timing setting screen SC2 in Figure 4 and the notification screen SC4 in Figure 5 are examples of "predetermined screens". Firmware 42 in the memory 34 of printer 10 is an example of a "second program".

[0059] (Second example) A second embodiment will be described. As shown in Figure 1, the firmware information 242 in this embodiment includes action information, urgency information, firmware, and model information. The urgency information is information indicating the degree of urgency. The degree of urgency is one of "high," "medium," or "low." In this embodiment, the firmware information is registered in memory 234 by the administrator of server 200. That is, the urgency is specified by the administrator. In a modified example, the action information, firmware, and model information may be registered in memory 234 by the administrator, and then the firmware information may be generated by server 200. In this modified example, server 200 generates urgency information using the registered action information, generates firmware information including the action information, urgency information, firmware, and model information, and stores the generated firmware information in memory 234.

[0060] As shown in Figure 2, the update request in this embodiment includes action information and urgency information contained in the new firmware information.

[0061] In this embodiment, the content of the processes executed in S12 and S40 in Figure 3 differs from the content of the processes executed in S12 and S40 in the first embodiment.

[0062] In S12, the CPU 32 determines whether the urgency indicated by the urgency information in the update request is "high". If the urgency indicated by the urgency information is "high" (YES in S12), the CPU 32 proceeds to S20. On the other hand, if the urgency indicated by the urgency information is not "high" (NO in S12), the CPU 32 proceeds to S40.

[0063] Furthermore, in S40, the CPU 32 determines whether the urgency level indicated by the urgency information in the received update request is "medium". If the urgency level indicated by the urgency information is "medium" (YES in S40), the CPU 32 proceeds to S50. On the other hand, if the urgency level indicated by the urgency information is not "medium" (NO in S40), the CPU 32 proceeds to S70. Note that the case where the urgency level indicated by the urgency information is not "high" or "medium" is the case where the urgency level indicated by the urgency information is "low".

[0064] As described above, CPU32 executes the update process when the urgency level indicated by the urgency information is "high," and the update process is postponed when the urgency level indicated by the urgency information is "medium" or "low." In other words, urgency information indicating a "high" urgency level indicates that the update process should be executed, while urgency information indicating a "medium" or "low" urgency level indicates that the execution of the update process should be postponed. Furthermore, urgency information can also be said to indicate the timing at which the update process should be executed.

[0065] As described above, the CPU 32 receives urgency information from the server 200. Therefore, the CPU 32 does not need to perform processing to determine the urgency of the firmware update using the response information. Consequently, the processing load on the CPU 32 of the printer 10 can be reduced.

[0066] (Correspondence) Urgency information indicating a "high" level of urgency is an example of "information indicating that the application process should be executed." Urgency information indicating a "medium" or "low" level of urgency is an example of "information indicating that the execution of the application process should be postponed."

[0067] (Third embodiment) A third embodiment will now be described. As shown in Figure 1, the firmware information 242 of this embodiment includes corrective information, firmware, and model information. As shown in Figure 2, the update request of this embodiment includes corrective information and firmware included in the new firmware information.

[0068] Furthermore, in this embodiment, the CPU 32 of the printer 10 executes the first firmware process shown in Figure 6 and the second firmware process shown in Figure 7, respectively, instead of the first firmware process shown in Figure 3 and the second firmware process shown in Figure 5.

[0069] (First firmware processing; Figure 6) Referring to Figure 6, the first firmware processing performed by the CPU 32 of the printer 10 will be described. Processing common to multiple embodiments will be given the same step number and their descriptions will be omitted.

[0070] If the CPU 32 determines NO in S20, or if S22 terminates, it proceeds to S228. In S228, the CPU 32 executes the update process using the firmware included in the received update request. In the update process, the CPU 32 updates the firmware 42 in memory 34 using the firmware included in the received update request.

[0071] Furthermore, if the CPU 32 determines NO in S40, it proceeds to S270. In S270, the CPU 32 executes the second firmware process. Once S270 is complete, the CPU 32 returns to S10.

[0072] Furthermore, if CPU32 determines NO in S58, it proceeds to S264. S264 is the same as S228.

[0073] (Second firmware processing; Figure 7) Referring to Figure 7, the second firmware process performed in S270 in Figure 6 will be described.

[0074] If CPU32 determines that S94 is YES, it proceeds to S304. S304 is the same as S228 in Figure 6.

[0075] As described above, in this embodiment, the update request includes firmware. Therefore, the CPU 32 does not send the firmware request to the server 200 before executing the update process. At the time the CPU 32 sends the firmware request to the server 200, communication between the printer 10 and the server 200 may be impossible. In this case, the update process will fail. With the above configuration, because the update request includes firmware, the possibility of the update process failing can be reduced. Also, since the firmware request is not sent to the server 200, the time required for the update process can be shortened.

[0076] (Fourth embodiment) A fourth embodiment will now be described. As shown in Figure 1, the firmware information 242 of this embodiment includes action information, urgency information, firmware, and model information. As shown in Figure 2, the update request of this embodiment includes action information, urgency information, and firmware included in the new firmware information.

[0077] In this embodiment, the CPU 32 performs the first firmware processing shown in Figure 6 and the second firmware processing shown in Figure 7.

[0078] The processes executed in S12 and S40 in Figure 6 are the same as those executed in S12 and S40 in Figure 3 of the second embodiment. Specifically, in S12 and S40, the CPU 32 utilizes the urgency information within the update request.

[0079] The specific examples of the technology disclosed herein have been described in detail above, but 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.

[0080] (First variation) The term "communication device" is not limited to a printer, but may also include a scanner, copier, multifunction device, etc.

[0081] (Second Modification) In the first embodiment described above, the firmware 42 in the memory 34 of the printer 10 is updated using the new firmware. In the modification, firmware different from the firmware 42 in the memory 34 of the printer 10 may be installed in the printer 10.

[0082] In this modified example, server 200 sends an installation request to the target printer at S6 in Figure 2. The installation request is a signal requesting the installation of new firmware. The installation request includes action information.

[0083] In step S10 of Figure 3, the CPU 32 of printer 10 monitors for an installation request from server 200. The CPU 32 also executes an installation process in steps S28, S64, and S104 of Figure 5 to install the firmware for installation into printer 10. As a result, firmware 42 and the new firmware are stored in the printer 10's memory 34.

[0084] In the second to fourth embodiments, the server 200 and the printer 10 may also perform processing using the installation request.

[0085] (Third Modification) In the first and second embodiments, if the CPU 32 of the printer 10 determines YES at S12 in Figure 3 and the printer 10 is executing a specific process, it may execute the processes from S24 onwards in response to the completion of the specific process. Also, in the third and fourth embodiments, if the CPU 32 determines YES at S12 in Figure 6 and the printer 10 is executing a specific process, it may execute the processes from S228 onwards in response to the completion of the specific process.

[0086] (Fourth Modification) In the first and second embodiments, the CPU 32 of the printer 10 does not need to perform the update process if the urgency is not "high" (NO in S12 of Figure 3). In this modification, steps S40 to S70 in Figure 3 and Figure 4 can be omitted. Also, in the third and fourth embodiments, the CPU 32 does not need to perform the update process if the urgency is not "high" (NO in S12 of Figure 6). In this modification, steps S40 to S58 in Figure 6, S264, S66, S270 in Figure 6 and Figure 7 can be omitted.

[0087] (Fifth Modification) In each embodiment, after determining YES at S56 in Figures 3 and 6, the same process as S20 and S22 may be performed instead of S58. Also, in Figures 5 and 7, the same process as S20 and S22 may be performed instead of S80. In this modification, the "second application processing execution unit" can be omitted.

[0088] (Sixth Modification) In each embodiment, update timing information indicating the update timing may be pre-stored in the memory 34 of the printer 10. In this modification, steps S42, S50, and S52 in Figures 3 and 6 can be omitted. In this modification, the CPU 32 of the printer 10 determines YES at S56 in Figures 3 and 6 when the update timing indicated by the update timing information in the memory 34 arrives. In this modification, the "display control unit" can be omitted.

[0089] (Seventh Modification) In Figures 3 and 6, if the CPU 32 determines NO in S42, it may send the update timing setting screen data to the terminal device. The terminal device is a terminal device such as a mobile phone, PDA, desktop PC, notebook PC, or tablet PC. The terminal device is a terminal device used by the user of the printer 10. When the terminal device receives the update timing setting screen data from the printer 10, it displays the update timing setting screen on the display unit of the terminal device. Then, when the terminal device accepts a setting operation from the user, it sends the update timing information to the printer 10. When the CPU 32 receives the update timing information from the terminal device, it stores the update timing information in memory 34 and executes the processing from S54 onwards.

[0090] Furthermore, in Figures 5 and 7, the CPU 32 may send notification screen data to the terminal device when S90 is completed. When the terminal device receives notification screen data from the printer 10, it displays the notification screen on the terminal device's display unit. Then, when the terminal device accepts an update operation from the user, it sends an update instruction to the printer 10. When the CPU 32 receives an update instruction from the terminal device, it executes the processing from S100 onwards. On the other hand, when the terminal device accepts an operation by the user on the "Update Later" button 414, it sends a wait instruction to the printer 10. When the CPU 32 receives a wait instruction from the terminal device, it executes the processing in S110.

[0091] Alternatively, one of the timing setting screen and the notification screen may be displayed on the printer 10, while the other is displayed on the terminal device.

[0092] (Eighth Modification) In the first and second embodiments, the CPU 32 may execute S70, i.e., the second firmware processing, when the urgency is "medium" (YES in S40 of Figure 3). The CPU 32 does not have to execute the update processing when the urgency is "low" (NO in S40 of Figure 3). In the third and fourth embodiments, the CPU 32 may execute S270, i.e., the second firmware processing, when the urgency is "medium" (YES in S40 of Figure 6). The CPU 32 does not have to execute the update processing when the urgency is "low" (NO in S40 of Figure 6).

[0093] (9th Modification) In the first and second embodiments, the CPU 32 does not need to perform the update process if the urgency is "low" (NO in S40 of Figure 3). In this modification, S70 in Figure 3 and Figure 4 can be omitted. Also, in the third and fourth embodiments, the CPU 32 does not need to perform the update process if the urgency is "low" (NO in S40 of Figure 6). In this modification, S270 in Figure 6 and Figure 7 can be omitted.

[0094] (Tenth variation) Information indicating that the firmware is a program to resolve printing malfunctions may be an example of "first information".

[0095] (11th Modification) In the second and fourth embodiments, the firmware information and update request do not need to include handling information. In this modification, steps S54 and S66 in Figures 3 and 6, and S90 and S106 in Figures 5 and 7 can be omitted.

[0096] (Modification 12) The firmware information 242 in Figure 1 may include printer identification information that identifies the printer instead of model information. For example, the printer identification information may be the serial number and MAC address. In this modification, the management table 244 may not include the model name.

[0097] (13th Modification) In the above embodiment, the processes shown in Figures 3 to 7 are implemented by software, but at least one of these processes may be implemented by hardware such as a logic circuit. For example, the software is programs 40 and 240.

[0098] 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. Furthermore, 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.

[0099] 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) A communication device, An application request receiving unit receives an application request from a server that stores a first program related to the communication device, requesting that the first program be applied to the communication device. A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, and the first application processing execution unit that, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; A communication device equipped with the following features. (Item 2) The communication device described in item 1, wherein the first application processing execution unit executes the application processing when the application request is received from the server and the application request includes the first information, regardless of whether the communication device is currently performing a specific processing. (Item 3) The aforementioned communication device further, The communication device according to item 1 or 2, further comprising a second application processing execution unit that executes the application processing if predetermined conditions are met after the execution of the application processing has been suspended. (Item 4) The communication device described in item 3, wherein when the application request is received from the server, the application request includes the second information, and the communication device is performing a specific process, the predetermined condition is met upon completion of the execution of the specific process. (Item 5) The aforementioned communication device further, Display unit and The system includes a display control unit that, when the application request is received from the server and the application request includes the second information, causes a predetermined screen to be displayed on the display unit, A communication device according to item 3 or 4, wherein the predetermined condition is met when the timing specified by the user on the predetermined screen arrives. (Item 6) The communication device described in item 5, wherein the predetermined screen is a screen for specifying the date and time on which the application process is executed. (Item 7) The aforementioned communication device has a printing function, The communication device as described in item 5 or 6, wherein the second information is information indicating that the first program is a program for resolving the malfunction of the printing function. (Item 8) The display control unit, If no operation is accepted to perform the aforementioned application process, the display of the predetermined screen will be terminated. If a predetermined time has elapsed since the display of the predetermined screen ended, the predetermined screen will be displayed again. A communication device according to any one of items 5 to 7, wherein the predetermined conditions are met in response to the acceptance of an operation for performing the aforementioned application process. (Item 9) The aforementioned communication device has a printing function, The communication device described in any one of items 5 to 8, wherein the second information is information indicating that the first program is a program corresponding to print quality. (Item 10) The first information is information indicating that the first program is a program that corresponds to the security of the communication device, The first application processing execution unit is a communication device according to any one of items 1 to 9, which executes the application processing immediately after receiving the application request from the server. (Item 11) The first piece of information is information indicating that the application process should be performed, The communication device described in any one of items 1 to 10, wherein the second information is information indicating that the execution of the application process should be suspended. (Item 12) The aforementioned communication device is It has memory in which a second program is stored, The communication device according to any one of items 1 to 11, wherein the application process includes a process of updating the second program using the first program. (Item 13) It is a server, Memory and A storage control unit that, when a first program is acquired, stores the first program in the memory, An application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory, The communication device receives the application request from the server, and if the application request includes the first information, it executes an application process to apply the first program to the communication device. If the application request is received from the server and the application request includes second information different from the first information, the execution of the application process is suspended. The application request transmission unit, A server equipped with the following features. (Item 14) The first piece of information is information indicating that the application process should be performed, The second piece of information is the server described in item 13, which indicates that the execution of the application process should be suspended. (Item 15) The first information is information indicating that the first program is a program that corresponds to the security of the communication device, The server described in item 13, wherein the second information is information indicating that the first program is a program corresponding to the printing function of the communication device. (Item 16) A computer program for a communication device, The computer of the aforementioned communication device An application request receiving unit receives an application request from a server that stores a first program related to the communication device, requesting that the first program be applied to the communication device. A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, and the first application processing execution unit that, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; A computer program that functions as such. (Item 17) A computer program for a server, The computer of the aforementioned server, When the first program is acquired, a storage control unit that stores the first program in the server's memory, An application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory, The communication device receives the application request from the server, and if the application request includes the first information, it executes an application process to apply the first program to the communication device. If the server receives the application request and the application request includes second information different from the first information, the execution of the application process is suspended. The application request transmission unit, A computer program that functions as such. (Item 18) A communication system comprising a communication device and a server, The aforementioned server, When the first program is acquired, a storage control unit that stores the first program in the server's memory, When the first program is stored in the memory, an application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device. Equipped with, The aforementioned communication device is An application request receiving unit that receives the application request from the server, A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, and the first application processing execution unit that, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; Equipped with, Communication system. [Explanation of Symbols]

[0100] 2: Communication system, 6: Internet, 10: Printer, 12: Operation unit, 14: Display unit, 16: Print execution unit, 20: Communication I / F, 30: Control unit, 32: CPU, 34: Memory, 40: Program, 42: Firmware, 110: Printer, 200: Server, 220: Communication I / F, 230: Control unit, 232: CPU, 234: Memory, 240: Program, 242: Firmware information, 244: Management table

Claims

1. A communication device, An application request receiving unit receives an application request from a server that stores a first program related to the communication device, requesting that the first program be applied to the communication device. A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, wherein the first application processing execution unit, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; A communication device equipped with the following features.

2. The communication device according to claim 1, wherein the first application processing execution unit executes the application processing when the application request is received from the server and the application request includes the first information, regardless of whether the communication device is currently performing a specific processing.

3. The aforementioned communication device further, The communication device according to claim 1, further comprising a second application processing execution unit that executes the application processing if predetermined conditions are met after the execution of the application processing has been suspended.

4. The communication device according to claim 3, wherein the predetermined condition is met when the application request is received from the server, the application request includes the second information, and the communication device is performing a specific process, and the execution of the specific process is completed.

5. The aforementioned communication device further, Display unit and The system includes a display control unit that causes a predetermined screen to be displayed on the display unit when the application request is received from the server and the application request includes the second information, The communication device according to claim 3, wherein the predetermined condition is met when a timing specified by the user on the predetermined screen arrives.

6. The communication device according to claim 5, wherein the predetermined screen is a screen for specifying the date and time on which the application process is executed.

7. The aforementioned communication device has a printing function, The communication device according to claim 5, wherein the second information is information indicating that the first program is a program for resolving a malfunction of the printing function.

8. The display control unit, If no operation is accepted to perform the aforementioned application process, the display of the predetermined screen will be terminated. If a predetermined time has elapsed since the display of the predetermined screen ended, the predetermined screen will be displayed again. The communication device according to claim 5, wherein the predetermined conditions are met in response to the acceptance of an operation for performing the aforementioned application process.

9. The aforementioned communication device has a printing function, The communication device according to claim 5, wherein the second information is information indicating that the first program is a program corresponding to print quality.

10. The first information is information indicating that the first program is a program that corresponds to the security of the communication device. The communication device according to claim 1, wherein the first application processing execution unit executes the application processing immediately after receiving the application request from the server.

11. The first piece of information is information indicating that the application process should be executed. The communication device according to claim 1, wherein the second information is information indicating that the execution of the application process should be suspended.

12. The aforementioned communication device is It has memory in which a second program is stored, The communication device according to claim 1, wherein the application process includes a process of updating the second program using the first program.

13. It is a server, Memory and A storage control unit that, when a first program is acquired, stores the first program in the memory, An application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory, The communication device receives the application request from the server, and if the application request includes the first information, it executes an application process to apply the first program to the communication device. If the application request is received from the server and the application request includes second information different from the first information, the execution of the application process is suspended. The application request transmission unit, A server equipped with the following features.

14. The first piece of information is information indicating that the application process should be executed. The server according to claim 13, wherein the second information is information indicating that the execution of the application process should be suspended.

15. The first information is information indicating that the first program is a program that corresponds to the security of the communication device. The server according to claim 13, wherein the second information is information indicating that the first program is a program corresponding to the printing function of the communication device.

16. A computer program for a communication device, The computer of the aforementioned communication device An application request receiving unit receives an application request from a server that stores a first program related to the communication device, requesting that the first program be applied to the communication device. A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, wherein the first application processing execution unit, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; A computer program that functions as such.

17. A computer program for a server, The computer of the aforementioned server, When a first program is obtained, a storage control unit that stores the first program in the server's memory, An application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device when the first program is stored in the memory, The communication device receives the application request from the server, and if the application request includes the first information, it executes an application process to apply the first program to the communication device. If the server receives the application request and the application request includes second information different from the first information, the execution of the application process is suspended. The application request transmission unit, A computer program that functions as such.

18. A communication system comprising a communication device and a server, The aforementioned server, When a first program is obtained, a storage control unit that stores the first program in the server's memory, When the first program is stored in the memory, an application request transmission unit transmits an application request to the communication device requesting that the first program be applied to the communication device. Equipped with, The aforementioned communication device is An application request receiving unit that receives the application request from the server, A first application processing execution unit that, upon receiving the application request from the server and if the application request includes first information, executes an application process to apply the first program, wherein the first application processing execution unit, upon receiving the application request from the server and if the application request includes second information different from the first information, suspends the execution of the application process; Equipped with, Communication system.