Program and information apparatus

A program for information devices ensures timely verification of network connectivity post-firmware update by monitoring completion times and confirming communication capability, addressing the inability of existing methods to verify immediate network connectivity.

JP2025018570APending Publication Date: 2025-02-06BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023122399
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-27
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

Existing information devices cannot confirm immediate network connectivity after firmware updates, and existing methods do not verify network communication capability post-update.

Method used

A program executed by an information processing device that includes processes for acquiring and transmitting firmware updates, monitoring update completion times, and confirming network connectivity post-update.

Benefits of technology

Reduces the time required to confirm network connectivity after firmware updates by ensuring timely verification of communication capability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025018570000001_ABST
    Figure 2025018570000001_ABST
Patent Text Reader

Abstract

To allow the time required to confirm that communication with an information apparatus has become possible to be shortened after updating firmware of the information apparatus.SOLUTION: A computer 12 of a first PC 10 executes a print control application 18 to obtain an update program 61 from a server 50 and obtain an update completion time. The computer 12 transmits the obtained update program 61 to an MFP 30 via a communication IF 16, and when the update completion time has elapsed after transmitting the update program 61 to the MFP 30, the computer confirms with the MFP 30 that an information apparatus is capable of communicating via a network 80.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a technique for updating firmware for an information device. [Background technology]

[0002] Patent Document 1 describes an information device that is connected to a server via a network and obtains an update program for firmware from the server. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2008-269479 A Summary of the Invention [Problem to be solved by the invention]

[0004] An information device cannot connect to a network during a firmware update, and can communicate with an information processing device via the network by reconnecting to the network after the firmware update. However, Patent Document 1 does not disclose any method for confirming that communication is now possible when the information device is reconnected to the network after the firmware update. Therefore, an information processing device connected to a network may not be able to immediately confirm that communication with the information device is now possible after the information device updates its firmware.

[0005] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a program and an information device that can shorten the time required to confirm that communication with an information device is possible after a firmware update by the information device in an information processing device connected to a network. [Means for solving the problem]

[0006] In order to solve the above problems, the program disclosed in the present embodiment relates to a program executed by a computer of an information processing device having a memory and a communication interface. The information processing device is capable of communicating with an information device connected to a network via the communication interface. The program causes the computer to execute a first acquisition process of acquiring an update program for updating the firmware of the information device, a second acquisition process of acquiring an update completion time indicating a time required for the information device to complete updating the firmware using the update program, an update program transmission process of transmitting the acquired update program to the information device via the communication interface, and a connection confirmation process of confirming that the information device is capable of communicating via the network when the update completion time has elapsed after transmitting the update program to the information device.

[0007] In the above configuration, the computer of the information processing device checks whether the information device is capable of communicating via the network when an update completion time indicating the time required to complete the firmware update using the update program after the firmware update of the information device is started has elapsed, thereby shortening the time required to check whether the information device is capable of communicating after the firmware update. Effect of the Invention

[0008] According to the present invention, it is possible to reduce the time required for an information processing device to confirm that communication with an information device is now possible after updating firmware for the information device. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a configuration diagram of an image forming system. [Diagram 2] 1 is a timing chart illustrating processing executed among a PC, an MFP, and a server. [Diagram 3] FIG. 2 is a diagram illustrating management information. [Figure 4]1 is a timing chart illustrating processing executed between a PC and an MFP. [Diagram 5] 5 is a flowchart illustrating the procedure of a process executed at T23 in FIG. 4. [Figure 6] 10 is a timing chart illustrating processing executed between a PC and an MFP according to a second embodiment. [Figure 7] 13 is a timing chart illustrating processing executed between a PC and an MFP according to the third embodiment. [Figure 8] 13 is a timing chart illustrating processing executed between a PC and an MFP according to the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] (First embodiment) An image forming system according to the present embodiment will be described with reference to the drawings. The image forming system 100 shown in Fig. 1 includes a first PC 10 and a second PC 20 which are information processing devices, an MFP 30 which is an information device, and a server 50. The first PC 10, the second PC 20, the MFP 30, and the server 50 are connected to a network 80. In the present embodiment, the network 80 may be the Internet, a local area network (LAN), or a combination of a LAN and the Internet. The network 80 may be wired or wireless, or may be configured as a combination of wired and wireless.

[0011] First, the configuration of the first PC 10 will be described. The configuration of the second PC 20 is the same as that of the first PC 10, so the description will be omitted. The first PC 10 includes a bus 11, a computer 12, a memory 13, a communication IF 16, and a user IF 17. These components are connected to each other via the bus 11 so as to be able to communicate with each other. IF is an abbreviation for Interface. The information processing device may be a smartphone or a tablet terminal other than a PC.

[0012] The user IF 17 is an interface between the first PC 10 (specifically, the computer 12) and a user, and includes a display, operation keys, and a touch panel. The communication IF 16 connects the first PC 10 to the network 80 in accordance with a predetermined communication protocol. The communication IF 16 is capable of performing wireless communication of the Wi-Fi (R) (registered trademark) system based on the IEEE 802.11 standard and standards equivalent thereto. The communication IF 16 may also perform short-distance wireless communication with the MFP 30 using Bluetooth (registered trademark) or the like. The communication IF 16 may also perform wireless communication using a mobile communication system via a base station. Furthermore, the communication IF 16 of the first PC 10 and a communication IF 32 of the MFP 30 described later may be connected by a USB cable if they are compatible with USB standard communication as a wired network.

[0013] The memory 13 stores an OS (abbreviation for Operating System) (not shown) and a print control application program 18. Hereinafter, the application may also be simply referred to as an "app." Furthermore, the computer 12 that executes these programs may also be simply referred to as the program name. For example, the description "the print control application 18" may mean "the computer 12 that executes the print control application 18."

[0014] Under the execution of the OS, the computer 12 executes the print control application 18 to cause the MFP 30 to execute a print process. The print control application 18 is a program having a function of generating standard data for printing based on a predetermined print standard and a function of transmitting the generated standard data to the MFP 30. Note that the print control application 18 only needs to execute the processes shown in Figs. 2, 4, 6, 7, and 8 described below, and does not necessarily have to have a function of causing the MFP 30 to execute a print process.

[0015] In this embodiment, the processing of a computer according to instructions written in a program is mainly shown. That is, the processing of "judging", "selecting", "calculating", "identifying", "obtaining", "accepting", "controlling" and the like in the following description represents the processing of a computer or a controller. Processing by a computer also includes hardware control via an OS. Note that "obtaining" is used as a concept that does not require a request. In other words, the processing of receiving data without a request from each program is also included in the concept of "obtaining data". In addition, "data" in this specification is expressed in a computer-readable format. Data with the same substantial meaning but different formats are treated as the same data. The same applies to "information" in this specification.

[0016] Next, a description will be given of the MFP 30. The MFP 30 includes a bus 31, a communication IF 32, a print processing unit 33, a scanner 34, a user IF 35, a controller 36, and a memory 37. The components constituting the MFP 30 are connected via the bus 31 so as to be able to communicate with each other.

[0017] The communication IF 32 is similar to the communication IF 16 in the first PC 10. The user IF 35 is similar to the user IF 17 in the first PC 10, and includes a display, a touch panel, and operation keys as physical keys.

[0018] The print processing unit 33 executes a print operation to print an image on a recording medium such as a sheet or a disk. The print processing unit 33 is an inkjet type unit that ejects ink as a recording medium onto the recording medium, and has a print head (not shown) and a carriage that moves the print head back and forth in the main scanning direction. The print processing unit 33 may form an image on the recording medium by an electrophotographic method. The scanner 34 generates scanner data by reading an original placed on a document table (not shown) or an ADF (abbreviation for Automatic Document Feeder) using a reading sensor.

[0019] The controller 36 is configured with a CPU, an ASIC (abbreviation of Application Specific Integrated Circuit), etc., and controls the operations of the print processing unit 33, the scanner 34, and the user IF 35. The memory 37 stores various programs and data. The memory 37 may be configured, for example, by combining a RAM, a ROM, and a flash memory. The memory 37 may also include a storage medium readable by the controller 36. The storage medium includes recording media such as a CD-ROM and a DVD-ROM.

[0020] The memory 37 stores firmware 38 for the controller 36 to control the operation of the MFP 30, and capability information which is information in which various setting values ​​of the MFP 30 are registered. The firmware 38 includes parameters referenced by the controller 36 in addition to a program formed by codes executed by the controller 36. Furthermore, the memory 37 stores identification information which is information for identifying devices capable of communicating via the network 80.

[0021] Next, the configuration of the server 50 will be described. The server 50 is, for example, a server managed by the vendor of the MFP 30. The server 50 includes a bus 51, a communication IF 52, a computer 53, and a memory 54. The components constituting the server 50 are connected to each other via the bus 51 so as to be able to communicate with each other. The server 50 does not have to be configured as a single device, and may include a management server that manages a plurality of devices including the MFP 30. The server 50 may also include a function as a management server.

[0022] The memory 54 of the server 50 stores management information 60 and an update program 61. The management information 60 stores information related to updates of devices managed by the server 50. For example, the management information 60 stores, in association with each other, a model name for identifying a device, identification information, and further information indicating the latest firmware version that can be updated by the device.

[0023] The update program 61 is a program for causing the controller 36 of the MFP 30 to execute firmware update for devices managed by the server 50. Here, the update program 61 includes not only the firmware 38 stored in the memory 37 of the MFP 30, but also an execution file for causing the first PC 10 to update the firmware 38 of the MFP 30. Furthermore, the update program 61 may update not only all the codes and parameters constituting the firmware 38 currently stored in the MFP 30, but also some of the codes and parameters.

[0024] Next, a process executed by the first PC 10, the MFP 30, and the server 50 when the first PC 10 downloads an update program from the server 50 will be described with reference to Fig. 2. Before the process shown in Fig. 2 is executed, the first PC 10, the MFP 30, and the server 50 are assumed to be connected to the network 80. It is assumed that a user has performed an operation on a screen displayed by the print control application 18 of the first PC 10 to search for devices that the first PC 10 can use for printing processing or the like.

[0025] When a user performs an operation to instruct a device search on a screen displayed on the user IF 17 by the print control application 18, at timing 10 (hereinafter, timing will be referred to as T), the computer 12 of the first PC 10 performs a connection check on the device connected to the network 80. This connection check is a process for searching whether or not there is a device on the network 80 that can be used by the first PC 10. For example, the computer 12 broadcasts a signal corresponding to the connection check to the network 80, and receives a response to this connection check from the device.

[0026] When the controller 36 of the MFP 30 receives a signal corresponding to the connection confirmation from the first PC 10, in T11, it performs a process for acquiring information indicating that the MFP 30 is a device that can be used by the first PC 10. In the process performed in T11, the controller 36 reads from the memory 37 an IP address indicating the address of the MFP 30 on the network 80, a model name that is information for identifying the MFP 30, and the like.

[0027] The controller 36 transmits, at T12, a connection response notification including the information read from the memory 13 to the first PC 10. Upon receiving the connection response notification from the MFP 30, the computer 12 of the first PC 10 stores, at T13, the IP address included in the connection response notification in the memory 13.

[0028] At T14, computer 12 references the IP address stored in memory and requests model information from MFP 30. In addition to the above-mentioned model name, the model information includes current firmware version information of MFP 30. In addition to this, the model information may also include capability information that registers functions that MFP 30 can execute.

[0029] When the controller 36 of the MFP 30 accepts the request for model information, at T15 it transmits the model information stored in memory 37 to the first PC 10. When the computer 12 of the first PC 10 acquires the model information from the MFP 30, it stores the model information in memory 13, thereby enabling communication with the MFP 30 via the network 80.

[0030] Next, assume that the user operates the screen displayed on the user IF 17 by the print control application 18 to specify an update of the firmware 38. At T16, the print control application 18 specifies the model name and firmware version information from the model information stored in the memory 13, and sends a request for the update program to the server 50.

[0031] When the server 50 receives the request for the update program, at T17, the server 50 searches for an update program that matches the specification from the first PC 10. As shown in FIG. 3, the management information 60 stored in the memory 54 of the server 50 includes the items "model name", "identification information", "version information", and "update completion time" for the device managed by the server 50. The item "model name" has the model name of the device managed by the server 50 set as a setting value. The item "identification information" has the identification information of the device included in the model information set as a setting value. The item "version information" has the value set as a setting value indicating the version of firmware that can be updated in the device specified by the setting value of the item "model name". The item "update completion time" has the value set as a setting value indicating the time required to update the firmware of the MFP 30 to the version specified by the setting value of the item "version information". Specifically, the update completion time indicates the time required from when the controller 36 of the MFP 30 receives the update program 61 and starts rewriting the firmware by the update program 61, until the firmware rewriting is completed and reconnection to the network 80 is completed. In other words, the update completion time is also the time during which the MFP 30 cannot communicate with the first PC 10 via the network 80 due to processing associated with the update of the firmware 38. Details of the update completion time will be described later.

[0032] The server 50 identifies the setting value corresponding to the model name transmitted from the first PC 10 among the setting values ​​of the item "model name" of the management information 60. In this example, the model name transmitted from the first PC 10 is "MFP_A", which is the model name of the MFP 30, so the server 50 identifies the setting value "MFP_A" in the item "model name" of the management information 60. The server 50 determines whether the item "version information" associated with the identified item "model name" is newer than the version information transmitted from the first PC 10.

[0033] If the identified item "version information" is newer than the version information transmitted from the first PC 10, the server 50 determines that the latest update program to be downloaded is stored, and at T18 transmits the corresponding update program 61 and the corresponding setting value of the item "update time" stored in the management information 60 to the first PC 10. On the other hand, if the identified item "version information" is the same as the version information transmitted from the first PC 10, the server 50 determines that the latest update program to be downloaded is not stored, and does not transmit the update program 61 to the first PC 10.

[0034] The process executed by the computer 12 of the first PC 10 in T16 may be repeatedly executed at a predetermined cycle. In this case, the computer 12 may execute the process of T16 only when the automatic update function of the firmware 38 is on.

[0035] When the print control application 18 of the first PC 10 receives the update program 61 transmitted from the server 50 and the setting value of the corresponding item "update time" at T19, it saves the received update program 61 and the setting value of the item "update time" in the memory 13. Hereinafter, the setting value of the item "update time" saved in the memory 13 at T19 will also be simply referred to as the update time. In this embodiment, the process in which the print control application 18 acquires the update program at T19 is an example of a first acquisition process, and the process in which the print control application 18 acquires the update time at T19 is an example of a second acquisition process.

[0036] Next, a process in which the first PC 10 acquires the update program 61 from the server 50 and then transmits the acquired update program 61 to the MFP 30 will be described with reference to Fig. 4. The print control application 18 of the first PC 10 designates the IP address of the MFP 30 stored in the memory 13 in T20 and transmits the update program 61 to the MFP 30. In this embodiment, the process executed by the print control application 18 in T20 is an example of an update program transmission process.

[0037] At T21, the print control application 18 reads out the update completion time stored in the memory 13. Note that the update completion time read out from the memory 13 at T21 is the update completion time received from the MFP 30 at T19 in FIG.

[0038] First, the details of the process that the controller 36 performs to update the firmware 38 with the update program 61 will be described. Fig. 5 is a flowchart explaining the process that the controller 36 executes at T23. In step 10 (hereinafter, step will be abbreviated as S), the controller 36 checks the model name included in the update program 61. The update program 61 includes the model name and version information of the device to which the update program 61 is applied.

[0039] First, a case where the model name included in the update program 61 is correct will be described. If the model name is correct (S11: YES), the controller 36 proceeds to S12 and executes a rewrite process for rewriting the firmware 38 stored in the memory 37 according to the contents of the update program 61. In the rewrite process, the controller 36 sequentially reads out the update program 61, and rewrites the firmware 38 according to the contents of the read update program 61. The larger the data amount of the update program 61, the longer the time required for the rewrite process executed in S12.

[0040] In S13, the controller 36 sets the value of the status flag to "rewrite complete" which indicates that the rewrite of the firmware 38 has been successful. The value of the status flag is returned to the default value upon completion of the process shown in Fig. 5. For example, the default value of the status flag is "rewrite incomplete."

[0041] In S16, the controller 36 executes a restart process to restart the MFP 30. In the restart process, the controller 36 turns off the main power of the MFP 30, and then turns the main power back on, thereby initializing the information stored in the volatile memory.

[0042] In S17, the controller 36 reconnects to the network 80. For example, the controller 36 reconnects to the network 80 by communicating with an access point (not shown). Note that the controller 36 is unable to communicate via the network 80 from the start of the rewrite process (S12) until the controller 36 completes the reconnection to the network 80 (S17).

[0043] In S18, the controller 36 creates notification information for notifying the update completion state according to the value of the status flag. The notification information created in S18 includes information indicating "update success" if the rewriting of the firmware 38 in S12 was successful and the value of the status flag was set to "rewrite complete" in S13. Note that if the value of the status flag is set to "rewrite failure" in S15 described later, the notification information includes information indicating "update failure" indicating that the update of the firmware 38 has failed.

[0044] 4, at T21, the print control application 18 reads the replacement completion time from the memory 13. The update completion time read from the memory 13 at T21 includes a first time corresponding to the time required for the rewrite process (S12) executed by the controller 36, and a second time corresponding to the time required for the restart process (S16) and reconnection to the network (S17).

[0045] At T22, the print control application 18 of the first PC 10 waits for a period of time corresponding to the update completion time read from the memory 13. In parallel with the print control application 18 waiting according to the update completion time at T22, at T23, the controller 36 of the MFP 30 executes the update process for the firmware 38, as already described.

[0046] The explanation will be continued taking as an example a case where the update of the firmware 38 by the controller 36 is completed and the update of the firmware 38 is successful. When the update completion time has elapsed, the print control application 18 of the first PC 10 transmits a connection confirmation signal to the MFP 30 at T24. The connection confirmation signal is a signal for inquiring of the MFP 30 as to whether or not communication via the network 80 is possible. In this embodiment, the process executed by the controller 36 at T24 is an example of a connection confirmation process.

[0047] Upon receiving the connection confirmation signal, the controller 36 transmits a connection completion notification including the already created notification information to the first PC 10 at T25. Upon receiving the connection completion notification, the firmware 38 may set a communication status flag indicating that communication with the MFP 30 via the network 80 has become possible to "enabled" indicating that communication is possible. In addition, the controller 36 can also determine that the update of the firmware 38 by the MFP 30 has been successful by referring to notification information indicating "update successful" included in the connection completion notification.

[0048] Next, a case will be described where the update completion time has passed but the update of the firmware 38 by the controller 36 has not yet been completed. For example, this is the case where the update process by the controller 36 of the MFP 30 has not been completed within the update completion time due to an unpredictable factor such as a communication failure in the network 80.

[0049] Also in this example, when the update completion time has elapsed, at T24, the print control application 18 of the first PC 10 transmits a connection confirmation signal to the MFP 30. As described above, the print control application 18 of the first PC 10 does not transmit a connection completion notification to the MFP 30 because the update of the firmware 38 has not been completed (i.e., the process of S18 has not ended).

[0050] If the print control application 18 has not received a connection completion notification from the MFP 30 even after a predetermined period of time has elapsed since the print control application 18 sent the connection confirmation signal to the MFP 30, the print control application 18 resends the connection confirmation signal to the MFP 30 as a retry process. The predetermined period for resending the connection confirmation signal is shorter than the update completion time. After sending the connection confirmation signal to the MFP 30 by the retry process, if the update process is completed, the controller 36 of the MFP 30 sends the connection completion notification, as already described, at T25. Note that, if the print control application 18 has not received a connection completion notification from the MFP 30 even after resending the connection confirmation signal multiple times by the retry process, the print control application 18 may set a value indicating that the update of the firmware 38 by the MFP 30 has failed in the status flag.

[0051] Next, a case where the update of the firmware 38 has failed will be described. Here, an example will be described in which the model name included in the update program 61 acquired by the first PC 10 from the server 50 is different from the model name of the MFP 30. If the model name is incorrect (S11: NO in FIG. 5), the controller 36 proceeds to S14 and skips reading of the update program 61. Skipping the reading of the update program 61 executed in S14 is completed in a shorter time than the firmware rewrite process executed in S12 because the update program 61 is not read out sequentially.

[0052] In S15, the controller 36 sets the status flag to a value indicating "rewrite failed" when rewriting of the firmware 38 has failed. Note that in this embodiment, even after skipping the reading of the update program 61 in S14, the controller 36 executes a restart process for restarting the MFP 30 in S16, and reconnects to the network 80 in S17. Alternatively, after skipping the reading of the update program 61 in S14, the controller 36 may set the status flag to the value "rewrite failed" in S15, and then proceed to S18 without executing the processes of S16 and S17.

[0053] In S18, the controller 36 creates notification information for notifying the update completion state according to the value of the status flag. In this example, the value of the status flag set in S15 is set to "rewrite failed", and the controller 36 creates notification information indicating "update failed", which indicates that the update of the firmware 38 has failed.

[0054] In this example, the print control application 18 of the first PC 10 also waits at T22 for a time period corresponding to the update completion time stored in the memory 13. When the update completion time has elapsed, the print control application 18 of the first PC 10 transmits a connection confirmation signal to the MFP 30 at T24.

[0055] When the controller 36 receives the connection confirmation signal, it transmits a connection completion notification including the created notification information to the first PC 10 at T27. When the firmware 38 receives the connection completion notification, it determines that communication with the MFP 30 via the network 80 has become possible. In this case, the firmware 38 of the first PC 10 can determine that the firmware update has failed by referring to information indicating "update failure" included in the connection completion notification. Also, in this example, if the print control application 18 of the first PC 10 has not received a connection completion notification from the MFP 30 even after a predetermined period of time has elapsed since transmitting the connection confirmation signal to the MFP 30, the print control application 18 retransmits the connection confirmation signal to the MFP 30 as a retry process.

[0056] The above-described embodiment can provide the following effects. The print control application 18 of the first PC 10 transmits the update program 61 acquired from the server 50 to the MFP 30 via the communication IF 16, and when the update completion time has elapsed after transmitting the update program 61 to the MFP 30, the print control application 18 confirms that the MFP 30 is able to communicate via the network 80. This enables the print control application 18 to reduce the time required from when the update of the firmware 38 of the MFP 30 is started until it is confirmed that the MFP 30 is able to communicate.

[0057] When the update completion time has elapsed since the print control application 18 sent the update program 61 to the MFP 30, the print control application 18 sends a connection confirmation signal to the IP address of the MFP 30 stored in the memory 13, and when a response to the connection confirmation signal is received from the MFP 30, the print control application 18 determines that the MFP 30 is able to communicate via the network 80. This allows the transmission of the connection confirmation signal via the network 80 and the response from the MFP 30 via the network 80 to this connection confirmation signal to confirm that communication is now possible, thereby improving the accuracy of confirmation that communication with the MFP 30 is now possible.

[0058] The print control application 18 waits for a period of time according to the update completion time after transmitting the update program 61 to the MFP 30, and if a connection completion notification is received from the MFP 30 during the wait, the print control application 18 determines that the MFP 30 is capable of communication via the network 80. As a result, the first PC 10 can reliably receive a response from the MFP 30 by waiting until the update completion time has elapsed after transmitting the update program to the MFP 30.

[0059] Even if updating of the firmware 38 fails, the MFP 30 can thereafter communicate with the first PC 10 via the network 80. Therefore, even if updating of the firmware 38 fails, the controller 36 notifies that communication via the network 80 has become possible. This can shorten the time required for the first PC 10 to know that the firmware 38 of the MFP 30 has not been updated, for example.

[0060] (Modification of the first embodiment) In the above embodiment, the update completion time acquired by the print control application 18 is a fixed value. Alternatively, the print control application 18 may vary the update completion time depending on the type of device for which the firmware 38 is updated and the connection state of the device to the network 80. In the present embodiment, the update completion time also includes a first time indicating the time required for the MFP 30, which is a device, to rewrite the firmware 38 with the update program 61 after acquiring the update program 61, and a second time indicating the time required for the MFP 30 to be connected to the network 80 and communication via the network 80 to be restored after the firmware 38 is rewritten.

[0061] For example, the print control application 18 may vary the first time depending on the capacity of the memory 37 of the MFP 30 or the processing speed of the controller 36. For example, when the print control application 18 can determine from the model name of the MFP 30 that the MFP 30 is a first model type in which the memory 37 has a small capacity or the controller 36 has a slow processing speed, the print control application 18 sets the first time, among the update completion times acquired from the server 50, to a time longer than the initial value in T21. Conversely, when the print control application 18 can determine from the model name of the MFP 30 that the MFP 30 is a second model type in which the memory 37 has a large capacity or the controller 36 has a fast processing speed, the print control application 18 sets the first time, among the update completion times acquired from the server 50, to a time shorter than the initial value, that is, a time shorter than the first time for the first model type in T21. The second model type in which the memory 37 has a large capacity also includes a device in which the memory 37 has been added after the MFP 30 is shipped from the factory.

[0062] Furthermore, if MFP 30 is connected to a wired network as network 80 in T21, print control application 18 may set the second time of the update completion time to a shorter time than when connected to a wireless network. Conversely, if MFP 30 is connected to a wired network as network 80 in T21, print control application 18 may set the second time to a longer time than when connected to a wireless network. In addition, print control application 18 may set the first time of the update completion time to a longer time as the data size of update program 61 acquired from server 50 in T21 increases.

[0063] In this case, the first model type and the second model type are examples of device types. Also, the first PC 10 and the MFP 30 being connected to a wired network and being connected to a wireless network are examples of connection modes of the devices to the network.

[0064] The print control application 18 can set the update completion time stored in the memory 13 according to the performance of the MFP 30 and the connection state between the first PC 10 and the MFP 30. This can further prevent the print control application 18 from sending a connection confirmation signal to the MFP 30 some time after the update process of the firmware 38 is completed and communication between the MFP 30 and the PC 10 has already become possible, and from repeatedly executing unnecessary retry processes and the like because communication with the MFP 30 is not possible.

[0065] In the embodiment described above, the print control application 18 of the first PC 10 obtains the update program 61 and the update completion time from the server 50 at T19 in Fig. 2. Alternatively, the print control application 18 may obtain only the update program 61 at T19, without obtaining the update completion time. In this case, the print control application 18 may obtain the update completion time from the server 50 at a timing other than T19.

[0066] Second embodiment In the second embodiment, the configuration different from the first embodiment will be mainly described. In the second embodiment, the same parts as in the first embodiment are given the same reference numerals, and the description thereof will not be repeated. In this embodiment, the controller 36 of the MFP 30 is different from the first embodiment in the configuration for sending a recovery notification to the first PC 10 after the update of the firmware 38 is completed.

[0067] In this embodiment as well, after the first PC 10 acquires the update program 61 from the server 50, it transmits the acquired update program to the MFP 30 at T20 in Fig. 6. The print control application 18 reads the update completion time stored in the memory 13 at T21, and waits until the update completion time has elapsed at T22. Upon acquiring the update program 61 from the first PC 10, the controller 36 of the MFP 30 updates the firmware 38 in accordance with the acquired update program 61 at T23. The process by which the controller 36 updates the firmware 38 with the update program 61 has already been described using Fig. 5.

[0068] The explanation will be continued by taking as an example a case where the update of the firmware 38 by the controller 36 is completed and the update of the firmware 38 is successful. When the update process at T23 is completed, the controller 36 transmits a recovery notification to the first PC 10 at T30. The recovery notification is a notification indicating that the connection of the MFP 30 to the network 80 is completed. The controller 36 may transmit the recovery notification by broadcast, or, if the controller 36 has acquired the IP address of the first PC 10 in advance, may transmit the recovery notification by either multicast or unicast.

[0069] When the print control application 18 of the first PC 10 receives the recovery notification, it transmits a connection confirmation signal to the MFP 30 at T24. If the print control application 18 receives the recovery notification from the MFP 30 before the update completion time has elapsed, it ends the wait at T22 in a time shorter than the update completion time, and transmits a connection confirmation signal to the MFP 30 at T24. On the other hand, if the update completion time has elapsed before the print control application 18 receives the recovery notification from the MFP 30, it continues to wait at T22 until it receives the recovery notification from the MFP 30. In this case, even if the update completion time has elapsed, the print control application 18 does not immediately transmit a connection confirmation signal to the MFP 30. Alternatively, if the update completion time has elapsed before the print control application 18 receives the recovery notification from the MFP 30, it may transmit a connection confirmation signal to the MFP 30 at T24 before it receives the recovery notification from the MFP 30.

[0070] After transmitting a recovery notification to the first PC 10 (T30), when the controller 36 receives a connection confirmation signal, the controller 36 transmits a connection completion notification including the notification information created in S18 of FIG. 5 to the first PC 10. In this case, the controller 36 can also determine that the update of the firmware 38 by the MFP 30 has been successful by referring to the information indicating "update successful" included in the connection completion notification. Note that, also in this embodiment, when the model name included in the update program 61 is different from the model name of the MFP 30, the notification information created in S18 of FIG. 5 is information indicating "update failure" indicating that the update of the firmware 38 has failed. Also in this example, when the update process ends, the controller 36 of the MFP 30 transmits a recovery notification to the first PC 10 in T30.

[0071] In the present embodiment described above, when the print control application 18 receives a recovery notification from the MFP 30 while waiting after transmitting the update program 61 to the MFP 30, the print control application 18 transmits a connection confirmation signal to the MFP 30. As a result, even if the update of the firmware 38 by the MFP 30 is earlier than the update completion time, the print control application 18 can determine that the update of the firmware 38 is completed by receiving the recovery notification from the MFP 30 and transmit a connection confirmation signal.

[0072] Third embodiment In the third embodiment, the configuration different from the first embodiment will be mainly described. In the third embodiment, the same parts as in the first embodiment are given the same reference numerals, and the description thereof will not be repeated. In this embodiment, the controller 36 of the MFP 30 is different from the first embodiment in the configuration in which the controller 36 transmits an update completion time to the first PC 10 prior to updating the firmware 38.

[0073] In this embodiment, after the first PC 10 receives the update program 61 from the server 50, the print control application 18 transmits a notification request for the update completion time to the MFP 30 at T40 in Fig. 7. The notification request for the update completion time is a notification for requesting the MFP 30 to transmit the update completion time. In this embodiment, the print control application 18 transmits the data size of the acquired update program 61 together with the notification request for the update completion time.

[0074] When the controller 36 of the MFP 30 receives a request for notification of the update completion time, the controller 36 references the data size of the update program 61 received together with the request for notification of the update completion time, and calculates the update completion time using the referenced data size of the update program 61. Specifically, the controller 36 calculates a first time indicating a time according to the data size of the update program 61, and calculates the update completion time by adding a second time to the calculated first time. The larger the data size of the update program 61, the longer the first time calculated by the controller 36. For example, the controller 36 may store in advance a table or a relational expression that defines the relationship between the data size of the update program 61 and the first time, and calculate the first time using the table or the relational expression.

[0075] Even in this case, instead of calculating the first time, the controller 36 may calculate the second time, which has already been described, in accordance with at least one of the type of the MFP 30, which is the MFP 30 itself, and the connection mode of the MFP 30 to the network 80. For example, if the MFP 30 is connected to a wired network via the communication IF 32, the second time may be set to a longer time than if the MFP 30 is connected to a wireless network. In addition, the update completion time may be calculated by calculating and adding together the first time calculated from the data size of the update program 61 and the second time calculated based on the type of the MFP 30, which is the MFP 30 itself, and the connection mode of the MFP 30 to the network 80.

[0076] At T42, the controller 36 notifies the first PC 10 of the calculated update completion time. Upon receiving the update completion time from the MFP 30, the print control application 18 of the first PC 10 stores the update completion time in the memory 13 at T43. In this embodiment, the process executed by the print control application 18 at T43 is an example of a second acquisition process.

[0077] In T44, the print control application 18 transmits an update preparation completion notification to the MFP 30. The update preparation completion notification is a notification indicating that the first PC 10 has completed preparations for transmitting the update program 61 to the MFP 30 and will now transmit the update program 61. In T20, the print control application 18 specifies the IP address stored in the memory 13 and transmits the update program 61 to the MFP 30.

[0078] As already described below, the print control application 18 waits until the update completion time stored in the memory 13 has elapsed at T22. When the controller 36 of the MFP 30 receives the update program 61 from the first PC 10, it updates the firmware 38 according to the received update program 61 at T23, as described with reference to FIG. 5. When the print control application 18 of the first PC 10 determines that the update completion time has elapsed, it transmits a connection confirmation signal to the MFP 30 at T24. When the controller 36 receives the connection confirmation signal, it transmits a connection completion notification including the notification information created at S18 of FIG. 5 to the first PC 10.

[0079] In the embodiment described above, the print control application 18 of the first PC 10 requests the MFP 30 to notify the update completion time, and in response to the request for notification of the update completion time, waits for the time indicated by the update completion time transmitted from the MFP 30. In this way, by waiting for the update completion time calculated by the MFP 30, the print control application 18 can shorten the time from when the update process of the MFP 30 ends until the first PC 10 transmits a connection confirmation notification to the MFP 30, and can suppress the execution of unnecessary retry processes, etc.

[0080] (Fourth embodiment) In the fourth embodiment, the configuration different from the third embodiment will be mainly described. In the fourth embodiment, the same parts as in the third embodiment are given the same reference numerals, and the description thereof will not be repeated. In this embodiment, the MFP 30 is connected to the second PC 20 as well as the first PC 10 via a network 80. In this embodiment, the first PC 10 is an example of a first information processing device that transmits an update program 61 to the MFP 30 via the network 80, and the second PC 20 is an example of a second information processing device that does not transmit the update program 61 to the MFP 30.

[0081] As shown in FIG. 8, when the controller 36 of the MFP 30 receives a notification request of the update completion time from the first PC 10, the controller 36 calculates the update completion time at T50. In this embodiment, the controller 36 calculates the update completion time to be sent to the first PC 10 and the update completion time to be sent to the second PC 20 to be different from each other at T50. Specifically, the controller 36 calculates the update completion time to be sent to the second PC 20 to be longer than the update completion time to be sent to the first PC 10. By making the update completion times different between the first PC 10 and the second PC 20, a connection check (T55, T56) between the second PC 20 and the MFP 30 is performed after a connection check (T24, T25) between the first PC 10 and the MFP 30 is performed, and it is possible to prevent the first PC 10 and the second PC 20 from performing a connection check to the MFP 30 at the same timing.

[0082] The controller 36 calculates the update completion time to be transmitted to the second PC 20 by adding, for example, the first and second times already described to the time assumed to be required for connection confirmation (T24, T25) between the first PC 10 and the MFP 30. In addition to the above, when the controller 36 of the MFP 30 checks the connection with the second PC 20 before checking the connection with the first PC 10, the controller 36 may calculate the update completion time to be notified to the second PC 20 to be shorter than the update completion time to be notified to the PC 10A. In this case, the controller 36 sets the update completion time to be transmitted to the first PC 10 by adding, for example, the first and second times already described to the time assumed to be required for connection confirmation (T55, T56 described later) between the second PC 20 and the MFP 30.

[0083] The controller 36 notifies the first PC 10 of the calculated update completion time at T42. When the print control application 18 of the first PC 10 acquires the update completion time from the MFP 30, the controller 36 stores the update completion time in the memory 13 at T43. Furthermore, the controller 36 notifies the second PC 20 of the calculated update completion time at T51. As described above, the update completion time transmitted to the second PC 20 is different from the update completion time transmitted to the first PC 10. When the print control application 18 of the second PC 20 acquires the update completion time, the controller 36 stores the update completion time in the memory 13 at T52.

[0084] At T44, the print control application 18 of the first PC 10 transmits an update preparation completion notification to the MFP 30. Upon receiving the update preparation completion notification from the first PC 10, the controller 36 of the MFP 30 transfers the update preparation completion notification to the second PC 20 at T53.

[0085] In T20, the print control application 18 of the first PC 10 specifies the IP address stored in the memory 13 and transmits the update program 61 to the MFP 30. Upon receiving the update program 61, the print control application 18 of the first PC 10 starts updating the firmware 38 in accordance with the received update program 61 in T23, as described in FIG.

[0086] As already described, the print control application 18 of the first PC 10 waits at T22 until the update completion time stored in the memory 13 has elapsed. Upon receiving the update preparation completion notification from the MFP 30, the print control application of the second PC 20 waits at T54 until the acquired update completion time has elapsed.

[0087] When the print control application 18 of the first PC 10 determines that the update completion time has elapsed, at T24 it transmits a connection confirmation signal to the MFP 30. When the controller 36 receives the connection confirmation signal, at T25 it transmits a connection completion notification including the information created at S18 of FIG.

[0088] As described above, after the update completion time has elapsed at T25, in other words, after the MFP 30 has transmitted a connection completion notification to the first PC 10, the second PC 20 transmits a connection confirmation signal to the MFP 30 at T55. Upon receiving the connection confirmation signal, the controller 36 of the MFP 30 transmits a connection completion notification including the notification information created at S18 in Fig. 5 to the second PC 20 at T56. That is, after the connection confirmation between the first PC 10 and the MFP 30 is completed, a connection confirmation between the second PC 20 and the MFP 30 is performed.

[0089] In the present embodiment described above, the controller 36 of the MFP 30 calculates the update completion time based on the data size of the acquired update program 61, and transmits the calculated update completion time to the first PC 10. This enables the print control application 18 to shorten the time from when the MFP 30 completes updating the firmware 38 to when it transmits a connection confirmation notification to the MFP 30, and to suppress the execution of unnecessary retry processing, etc.

[0090] The controller 36 of the MFP 30 makes the update completion time transmitted to the first PC 10 different from the update completion time transmitted to the second PC 20. This makes it possible to prevent the connection check between the first PC 10 and the MFP 30 and the connection check between the second PC 20 and the MFP 30 from being performed at the same time.

[0091] (Other embodiments) The technology disclosed in this specification is not limited to the above-described embodiments, and can be modified in various forms without departing from the spirit of the invention. For example, the following modifications are also possible. In the above-described embodiment, the information device is the MFP 30. Alternatively, the information device may be a printer or a scanner as long as it receives an update program from an information processing device such as a PC via the network 80.

[0092] In the above embodiment, the controller 36 of the MFP 30 updates the firmware 38 with the update program 61 transmitted from the first PC 10. Alternatively, the controller 36 of the MFP 30 may update the firmware 38 by directly downloading the update program 61 from the server 50. [Explanation of symbols]

[0093] 10...first PC, 12...computer, 13...memory, 16...communication IF, 18...printing control application, 20...second PC, 30...MFP, 36...controller, 37...memory, 38...firmware, 50...server, 61...update program

Claims

1. Memory, A program executed on a computer of an information processing device including a communication interface, the information processing device is capable of communicating with an information device connected to a network via the communication interface; The computer includes: a first acquisition process for acquiring an update program for updating firmware of the information device; a second acquisition process in which the information device acquires an update completion time indicating a time required for completing the update of the firmware using the update program; an update program transmission process for transmitting the acquired update program to the information device via the communication interface; and after transmitting the update program to the information device, when the update completion time has elapsed, causing the information device to execute a connection confirmation process for confirming that the information device is capable of communicating via the network.

2. In the connection confirmation process, the computer transmitting a connection confirmation signal to the address of the information device stored in the memory when the update completion time has elapsed since the update program was transmitted to the information device via the communication interface; 2. The program according to claim 1, further comprising: determining, when a response to said connection confirmation signal is received from said information device, that said information device is capable of communicating via said network.

3. the update completion time indicates a time from when the information device receives the update program and starts rewriting the firmware by the update program until communication via the network is restored by connecting the information device to the network after the firmware is rewritten, In the connection confirmation process, the computer 2. The program according to claim 1, further comprising setting the update completion time in accordance with at least one of a type of the information device that transmits the update program and a connection state of the information device to the network.

4. When communication via the network becomes possible, the information device transmits a recovery notification to the information processing device; In the connection confirmation process, the computer waiting for a period of time corresponding to the update completion time after transmitting the update program to the information device; 3. The program according to claim 1, further comprising: upon receiving the recovery notification from the information device, executing the connection confirmation process.

5. In the second acquisition process, the computer A notification request is made to the information device for the update completion time; 2. The program according to claim 1, further comprising acquiring the update completion time transmitted from the information device in response to a notification request for the update completion time.

6. Memory, A communication interface; A controller, A device capable of communicating with an information processing device connected to a network via the communication interface; The controller: an update process for acquiring an update program for updating the firmware stored in the memory from the information processing device, and updating the firmware with the acquired update program; a connection completion notification process for notifying the information processing device that communication with the information processing device via the network is possible after the update process is completed; An information device characterized by:

7. The controller:

7. The information device according to claim 6, further comprising: a firmware update completion time indicating a time required to complete the firmware update, transmitted to the information device before the update process is performed.

8. the update completion time indicates a time from when the information device receives the update program and starts rewriting the firmware by the update program to when communication via the network is restored by reconnecting the information device to the network after the firmware is rewritten, The controller: calculating the update completion time in accordance with at least one of a type of the information device that is the own device and a connection state of the information device to the network; 8. The information device according to claim 7, further comprising: a processor configured to transmit the calculated update completion time to the information processing device.

9. the information processing device transmits a data size of the update program to be transmitted to the information device; The controller: Calculating the update completion time based on the acquired data size of the update program; 9. The information device according to claim 7, further comprising: a processor configured to transmit the calculated update completion time to the information processing device.

10. the information processing apparatus includes a first information processing apparatus that transmits the update program to the information apparatus, and a second information processing apparatus that does not transmit the update program to the information apparatus; 8. The information device according to claim 7, wherein the controller calculates the update completion time to be transmitted to the first information processing device to a value different from the update completion time to be transmitted to the second information processing device.

11. The controller, in the update process, if the received update program is abnormal, reconnecting to the network without updating the firmware, and then terminating the update process; The controller, in the connection completion notification process, 9. The information device according to claim 8, further comprising a notification to the information processing device that communication with the information processing device via the network is possible even if the firmware is not updated by the update process.

Citation Information

Patent Citations

  • Software update system, server, terminal device, image forming device and software update program

    JP2008269479A