Information processing apparatus, control method of information processing apparatus, and storage medium
Patent Information
- Application Number
- JP2022101218
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-06-23
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2042-06-23
AI Technical Summary
Firmware updates in information processing devices cause delays in the execution of periodically executed processes, leading to performance maintenance and function delays.
An information processing device that executes an update process based on a predetermined condition, allowing the update to be performed without waiting for the completion of periodic processes, and prioritizing these processes if the update completion time overlaps with their start times.
Prevents delays in periodic execution processing due to firmware updates by ensuring that critical functions are maintained during the update process.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, a control method for an information processing device, and a program. [Background technology]
[0002] There is known an information processing device such as a printer that communicates with a server via a network. The information processing device acquires update data from the server and updates the firmware of the information processing device using the acquired update data. There is also known an information processing device that has a function of periodically automatically updating firmware in order to always keep it up to date (for example, see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2014-021678 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, when a firmware update is performed as described above, the information processing device is unable to execute other processes for a period of several minutes, which causes a problem of delays in the execution of periodic processes that are periodically executed for the purpose of maintaining the performance of the information processing device and providing various functions.
[0005] An object of the present invention is to provide an information processing device, a control method for an information processing device, and a program that can prevent delays in the execution of periodical processing caused by firmware updates. [Means for solving the problem]
[0006] In order to solve the above problem, the information processing device of the present invention is an information processing device that is equipped with a control means for controlling the execution of an update process that updates specified data of the information processing device when it is determined that specified conditions have been satisfied, and is characterized in that, based on the timing at which the specified conditions are satisfied and the start time of a specified process that is periodically executed in the information processing device, it is controlled whether to execute the update process without waiting for completion of the specified process or to execute the update process after the specified process is completed. Effect of the Invention
[0007] According to the present invention, it is possible to prevent delays in the execution of periodical execution processes caused by firmware updates. [Brief description of the drawings]
[0008] [Figure 1] 1 is a diagram showing a network configuration of an information processing system including an information processing device according to an embodiment of the present invention. [Diagram 2] 2 is a block diagram illustrating a schematic configuration of the information processing device in FIG. 1. [Diagram 3] 4 is a flowchart showing a procedure of an update control process executed in the information processing system of FIG. 1. [Figure 4] FIG. 3 is a diagram showing an example of a setting screen displayed on the display unit in FIG. 2. [Diagram 5] 2 is a diagram showing an example of update data information transmitted by the server in FIG. 1; [Figure 6] 3 is a diagram showing an example of a selection screen displayed on the display unit in FIG. 2. [Figure 7] 4 is a flowchart showing the procedure of a switching control process executed in the information processing device of FIG. 1. [Figure 8] 13 is a flowchart showing another procedure of the update control process executed in the information processing system of FIG. 1. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Preferred embodiments of the present invention will be described below with reference to the drawings. However, it should be understood that the scope of the present invention includes any modifications and improvements to the embodiments described below based on the ordinary knowledge of those skilled in the art, provided that the modifications and improvements do not deviate from the spirit of the present invention.
[0010] 1 is a diagram showing a network configuration of an information processing system 100 including an information processing device 151 according to the present embodiment. The information processing system 100 includes the information processing device 151 and a server 199. The information processing device 151 can be connected to the server 199 via a network. In the information processing system 100, the information processing device 151 obtains update data from the server 199, and updates firmware of the information processing device 151 using the update data.
[0011] The information processing device 151 is, for example, an image forming device. The image forming device is, for example, an inkjet printer, a full-color laser beam printer, a monochrome printer, a copier, or a facsimile device. The image forming device is also an MFP (Multi Function Printer) having multiple functions such as a copy function, a FAX function, and a print function. Note that in the present embodiment, an image forming device is exemplified as the information processing device 151, but the information processing device 151 is not limited to an image forming device, and may be a communication device having a wireless communication function. The communication device having a wireless communication function is, for example, a mobile terminal, a smartphone, a notebook PC, a tablet terminal, a PDA, a digital camera, a music playback device, or a television.
[0012] Fig. 2 is a block diagram showing a schematic configuration of the information processing device 151 in Fig. 1. In Fig. 2, the information processing device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a communication unit 156, a short-range wireless communication unit 157, an input interface 158, an output interface 159, and a non-volatile memory 161. These are connected to each other via a bus 162.
[0013] The ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by the CPU 154. In this embodiment, each control program stored in the ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 152. The ROM 152 also has a memory area for storing data that needs to be held even while the power supply is stopped, such as management data for the information processing device 151.
[0014] The RAM 153 is composed of a DRAM (Dynamic Random Access Memory) that requires a backup power source. Since the RAM 153 holds data by being supplied with power for data backup (not shown), it can store important data such as program control variables without volatilizing the data. The RAM 153 is also used as the main memory and work memory of the CPU 154. Furthermore, the RAM 153 functions as a receiving buffer for temporarily storing print information received from an external device, etc., and stores various types of information. The CPU 154 is a system control unit, and controls the entire information processing device 151.
[0015] The print engine 155 forms an image on a recording medium such as paper using a recording agent such as ink based on information stored in the RAM 153 or a print job received from an external device, etc., and outputs a print result. Note that the amount of data of the print job transmitted from the external device, etc. is relatively large, and high-speed communication is required, so the information processing device 151 receives the print job using a communication unit 156 that can communicate faster than the short-range wireless communication unit 157.
[0016] The communication unit 156 has an access point for connecting to an external device as an access point inside the information processing device 151. This access point can be connected to the communication unit of the external device. The communication unit 156 may directly communicate with the external device by wireless communication, or may communicate via an external access point. Examples of the communication method include Wi-Fi and Bluetooth. The communication unit 156 may be provided with hardware that functions as an access point, or may operate as an access point by software for functioning as an access point.
[0017] The short-distance wireless communication unit 157 performs short-distance wireless communication with an external device. The short-distance wireless communication unit 157 and the CPU 154 communicate with each other via a bus interface such as an I2C (Inter-Integrated Circuit).
[0018] The input interface 158 is an interface for receiving data input and operation instructions from the user, and is composed of a physical keyboard, buttons, a touch panel, etc. The output interface 159 and the input interface 158 may have the same configuration, and may output the screen and receive operations from the user with the same configuration. A display unit 160 is connected to the output interface 159. The output interface 159 is an interface for controlling the display unit 160 to display data, status information of the information processing device 151, etc.
[0019] The display unit 160 is composed of an LED (light emitting diode) and an LCD (liquid crystal display) and displays data and status information of the information processing device 151. Note that a soft keyboard including numeric input keys, a mode setting key, a decision key, a cancel key, a power key, and the like may be displayed on the display unit 160, and input from the user may be received via the display unit 160.
[0020] The non-volatile memory 161 is composed of devices such as an EEPROM (Electrically Erasable Programmable Read-Only Memory) and a flash memory. The non-volatile memory 161 mainly stores data that needs to be retained even while the supply of power is stopped, for example, data such as setting values of the information processing device 151. Note that a memory such as an external HDD or an SD card may be attached to the information processing device 151 as an optional device, and information stored in the non-volatile memory 161 or the like may be stored in the memory. Here, the processing allocation of the information processing device 151 is shown as above as an example, but is not limited to this allocation form and may be another form.
[0021] FIG. 3 is a flowchart showing the procedure of the update control process executed in the information processing system 100 of FIG. 1. The process of the information processing device 151 in FIG. 3 is realized by the CPU 154 reading and executing various programs stored in a storage area such as the ROM 152 or the RAM 153. The process of the server 199 in FIG. 3 is realized by the server 199 reading and executing various programs stored in a storage area such as the ROM or the RAM of the server 199. In FIG. 3, it is assumed that the function of automatically updating the firmware of the information processing device 151 is enabled in advance by the user on the setting screen 400 in FIG. 4. The setting screen 400 is a screen for enabling or disabling the function of automatically updating the firmware of the information processing device 151, and is displayed on the display unit 160. The setting screen 400 is displayed on the display unit 160, for example, when the information processing device 151 is started for the first time or when it is detected that update data for the information processing device 151 has been newly registered in the server 199.
[0022] 3, first, the CPU 154 of the information processing device 151 judges whether or not a predetermined condition (a start condition of the update process) is satisfied. Specifically, the CPU 154 judges whether or not a user operation has been performed on the input interface 158 or the like for a certain period of time (step S301). If it is judged in step S301 that the user has operated the input interface 158 or the like before the certain period of time has elapsed, the process returns to step S301, and the CPU 154 starts measuring time for making the judgment of step S301. If it is judged in step S301 that a user operation has not been performed for the certain period of time, the process proceeds to step S302. In step S302, the CPU 154 requests update data information from the server 199 via the communication unit 156.
[0023] In step S303, the server 199 that has received this request transmits the update data information shown in Fig. 4 to the information processing device 151. The update data information is expressed in XML format as shown in Fig. 5, and includes information related to firmware update data. For example, the update data information includes a ROM version indicating the version of the update data, a ROM size indicating the data size of the update data, the model name to which the update data corresponds, etc. In this embodiment, the server 199 may authenticate the information processing device 151 before transmitting the update data information to the information processing device 151.
[0024] Next, in step S304, the CPU 154 of the information processing device 151 receives update data information from the server 199 via the communication unit 156. For example, if the received update data information is not information related to update data intended for the information processing device 151, the CPU 154 discards the received update data information and ends this process. Furthermore, if the received update data information is encrypted, the CPU 154 decrypts the received update data information.
[0025] Next, in step S305, the CPU 154 determines whether or not the ROM version included in the update data information is newer than the firmware version of the information processing device 151. If it is determined in step S305 that the ROM version included in the update data information is not newer than the firmware version of the information processing device 151, the process returns to step S301. If it is determined in step S305 that the ROM version included in the update data information is newer than the firmware version of the information processing device 151, the process proceeds to step S306.
[0026] In step S306, CPU 154 requests server 199 for data for measuring communication speed via communication unit 156. Note that the timing for acquiring data for measuring communication speed is not limited to this timing, and the data for measuring communication speed may be acquired before performing the process of step S305.
[0027] In step S307, the server 199 receives this request and transmits the communication speed measurement data to the information processing device 151. The communication speed measurement data is, for example, a part of the update data. Note that the server 199 may authenticate the information processing device 151 before transmitting the communication speed measurement data to the information processing device 151.
[0028] When the CPU 154 of the information processing device 151 receives the communication speed measurement data from the server 199 via the communication unit 156, the CPU 154 calculates the download speed and the writing speed. For example, the CPU 154 measures the time required to receive the communication speed measurement data from the server 199 (hereinafter referred to as the "reception completion time") using an internal timer of the information processing device 151. The CPU 154 calculates the download speed based on this reception completion time and the data size of the communication speed measurement data. The CPU 154 also controls writing of the communication speed measurement data into the non-volatile memory 161, and measures the time required for this writing (hereinafter referred to as the "writing completion time") using an internal timer of the information processing device 151. The CPU 154 calculates the writing speed based on this writing completion time and the data size of the communication speed measurement data.
[0029] Next, in step S308, the CPU 154 calculates and specifies the predicted update completion time based on the download speed, the write speed, and the ROM data size included in the update data information. In calculating the predicted update completion time, the CPU 154 first calculates the time required for the update process. The slower the download speed or the write speed, the longer the time calculated as the time required for the update process. Also, the larger the ROM data size included in the update data information, the longer the time calculated as the time required for the update process. Then, the time when the calculated time required for the update process has elapsed from the timing when the start condition for the update process is satisfied is specified as the predicted update completion time. Note that, for example, the start condition for the update process is satisfied when the determination in step S301 is YES and the determination in step S305 is YES.
[0030] Next, the CPU 154 specifies the start time of a process that is executed periodically (hereinafter, referred to as "periodic execution process"). The periodic execution process is, for example, an ink circulation process for maintaining print quality. The periodic execution process is also a contract information transmission process for transmitting information about a subscription contract performed at the end of the month to an external device. The periodic execution process is also a status information transmission process for transmitting status information of the information processing device 151, such as information indicating the status of a job executed by the information processing device 151 and information indicating the status of consumables provided in the information processing device 151, to an external device. The start time of the periodic execution process is a time that differs for each content of the periodic execution process and is a time that satisfies a condition (start condition of the periodic execution process) that is predetermined in association with the periodic execution process. The start condition of the ink circulation process is, for example, that one hour has passed since the completion of the previous ink circulation process. The start condition of the status information transmission process is, for example, that 20 minutes have passed since the completion of the previous status information transmission process. Furthermore, the start condition for the contract information transmission process is, for example, some time late at night at the end of the month (for example, 11:59 p.m.) or some time early in the morning at the beginning of the month (for example, 6 a.m.). The start condition for each periodic execution process may be set in advance when the information processing device 151 is manufactured, or may be arbitrarily set or changed by the user of the information processing device 151 through operations on the information processing device 151, etc. Next, in step S309, the CPU 154 determines whether the predicted update completion time is later than the start time of the periodic execution process.
[0031] In step S309, if it is determined that the update completion predicted time is not later than the start time of the periodic execution process, the execution of the periodic execution process is prioritized, and the process returns to step S301. That is, in this embodiment, if the update completion predicted time is not later than the start time of the periodic execution process, the periodic execution process is executed before the update process for updating the firmware of the information processing device 151 is executed. At this time, the periodic execution process may be started at the start time specified as described above, or may be started immediately based on the determination of NO in step S309 without waiting for the start time specified as described above. In the latter form, specifically, if the start time occurs between the timing when the start condition of the update process is satisfied and the update completion predicted time, the periodic execution process is started immediately based on the determination of NO in step S309 without waiting for the start time. Then, if the start time occurs in a time zone that is not between the timing when the start condition of the update process is satisfied and the update completion predicted time, the periodic execution process is started based on the arrival of the start time. The latter case is, for example, a case where the periodic execution process is executed in a situation where the start condition of the update process is not satisfied and the update process is not necessary, or a case where the start time comes after the predicted update completion time.
[0032] If it is determined in step S309 that the predicted update completion time is later than the start time of the regular execution process, the process proceeds to step S310. In step S310, the CPU 154 requests the server 199 via the communication unit 156 for update data.
[0033] In step S311, the server 199 receiving this request transmits update data for the information processing device 151 to the information processing device 151. Note that this update data may be all update data for the information processing device 151 including the above-mentioned data for measuring communication speed, or may be update data for the information processing device 151 excluding the above-mentioned data for measuring communication speed. Note that the server 199 may authenticate the information processing device 151 before transmitting the update data for the information processing device 151 to the information processing device 151. Also, the server 199 may transmit the update data for the information processing device 151 in portions.
[0034] When the CPU 154 of the information processing device 151 receives the update data from the server 199 via the communication unit 156, in step S312, the CPU 154 starts an update process using the received update data. The update process is a process for updating the firmware of the information processing device 151. If the received update data is not update data intended for the information processing device 151, the CPU 154 discards the received update data and ends this process. If the received update data is encrypted, the CPU 154 decrypts the received update data and executes the update process using the decrypted update data. When the update process is completed, this process ends. After the update process is completed, the execution result of the update process may be displayed on the display unit 160. After the update process is completed, the information processing device 151 may be restarted.
[0035] According to the embodiment described above, if the predicted update completion time is not later than the start time of the periodic execution process, the periodic execution process is executed instead of the update process. This makes it possible to prevent delays in the execution of the periodic execution process due to firmware updates.
[0036] Furthermore, in the above-described embodiment, the predicted update completion time is calculated based on the download speed, the write speed, and the data size of the update data. That is, the calculation of the predicted update completion time takes into account the time required to download the update data and the time required to write the update data to the non-volatile memory 161. This makes it possible to accurately calculate the predicted update completion time required for control to prevent delays in the execution of the periodic execution process.
[0037] In the embodiment described above, the communication speed measurement data is a part of the update data. This makes it possible to minimize the communication load with the server 199 at a stage when it is not yet determined whether to execute the update process.
[0038] In the above-described embodiment, the periodic execution process is an ink circulation process for maintaining print quality, which makes it possible to prevent a decrease in print quality due to a delay in the execution of the periodic execution process.
[0039] In the above embodiment, the periodic execution process is a process for transmitting information about the subscription contract to be performed at the end of the month to an external device. This makes it possible to prevent the subscription service from becoming unavailable due to a delay in the execution of the periodic execution process.
[0040] Furthermore, in the above-described embodiment, the periodic execution process is a process of transmitting status information of the information processing device 151, such as information indicating the status of a job executed by the information processing device 151 and information indicating the status of consumables included in the information processing device 151, to an external device. This makes it possible to prevent a situation in which accurate status information cannot be notified to the user due to a delay in execution of the periodic execution process.
[0041] In the above-described embodiment, the information processing device 151 is an image forming device that forms an image on a recording medium. This makes it possible to prevent delays in the execution of regular execution processing caused by firmware updates in the image forming device that forms an image on a recording medium.
[0042] Although the present invention has been described above using the above-mentioned embodiment, the present invention is not limited to the above-mentioned embodiment. For example, the information processing device 151 may be configured to confirm the start of the update process with the user. For example, in the above-mentioned step S309, if it is determined that the update completion predicted time is later than the start time of the regular execution process, the selection screen 601 of FIG. 6 is displayed on the display unit 160 before the process of step S310 is executed. The selection screen 601 is a screen for allowing the user to select whether or not to execute the update process. The above-mentioned update completion predicted time, download speed, and writing speed are displayed on the selection screen 601. This makes it possible to present the user with information for determining whether or not to execute the update process. In addition, a "Yes" button 602 and a "No" button 603 are displayed on the selection screen 601. Next, the process proceeds to step S701 of FIG. 7.
[0043] Fig. 7 is a flowchart showing the procedure of a switching control process executed in the information processing device 151 of Fig. 1. The switching control process of Fig. 7 is realized by the CPU 154 reading and executing various programs stored in storage areas such as the ROM 152 and the RAM 153.
[0044] In step S701, the CPU 154 determines whether or not it has accepted a user's selection operation of the "Yes" button 602 or the "No" button 603. If it is determined in step S701 that neither the user's selection operation of the "Yes" button 602 nor the "No" button 603 has been accepted, the CPU 154 determines whether or not a predetermined time has elapsed (step S702).
[0045] If it is determined in step S702 that the predetermined time has not elapsed, the process returns to step S701. If it is determined in step S702 that the predetermined time has elapsed, the CPU 154 closes the selection screen 601 and ends this process.
[0046] If it is determined in step S701 that the user's selection operation of the "Yes" button 602 or the "No" button 603 has been accepted, the process proceeds to step S703. In step S703, the CPU 154 determines whether the "Yes" button 602 or the "No" button 603 has been selected.
[0047] If it is determined in step S703 that the selected button is the "Yes" button 602, the process proceeds to step S310. If it is determined in step S703 that the selected button is the "No" button 603, the process ends.
[0048] By controlling the start of the update process to be confirmed by the user in this manner, it is possible to reflect the user's intention regarding the execution of the update process.
[0049] In this embodiment, the timing of acquiring the update data is not limited to the above-mentioned timing. For example, the update data may be acquired in advance before determining whether or not a user operation has been performed on the input interface 158 or the like for a certain period of time.
[0050] Fig. 8 is a flowchart showing another procedure of the update control process executed in the information processing system 100 of Fig. 1. The process of the information processing device 151 in Fig. 8 is realized by the CPU 154 reading and executing various programs stored in a storage area such as the ROM 152 or the RAM 153, similar to the process of the information processing device 151 in Fig. 3. The process of the server 199 in Fig. 8 is realized by the server 199 reading and executing various programs stored in a storage area such as the ROM or the RAM of the server 199, similar to the process of the server 199 in Fig. 3. Note that in Fig. 8, similar to Fig. 3, it is assumed that the function of automatically updating the firmware of the information processing device 151 is enabled in advance by the user on the setting screen 400.
[0051] 8, first, in step S801, the CPU 154 of the information processing device 151 sends a request for update data information to the server 199 via the communication unit 156.
[0052] In step S802, the server 199 receiving this request transmits the update data information shown in Fig. 4 to the information processing device 151. Note that the server 199 may authenticate the information processing device 151 before transmitting the update data information to the information processing device 151.
[0053] Next, in step S803, the CPU 154 of the information processing device 151 receives update data information from the server 199 via the communication unit 156. For example, if the received update data information is not information about update data intended for the information processing device 151, the CPU 154 discards the received update data information and ends this process. Furthermore, if the received update data information is encrypted, the CPU 154 decrypts the received update data information.
[0054] Next, in step S804, the CPU 154 requests update data from the server 199 via the communication unit 156. In step S805, the server 199 receiving this request transmits update data for the information processing device 151 to the information processing device 151. Note that the server 199 may authenticate the information processing device 151 before transmitting the update data for the information processing device 151 to the information processing device 151. Furthermore, the server 199 may transmit the update data for the information processing device 151 in portions.
[0055] In step S806, the CPU 154 of the information processing device 151 receives the update data from the server 199 via the communication unit 156. In this embodiment, the processes of steps S801, S803, S804, and S806 described above are executed when the information processing device 151 is in an idle state. In other words, these processes are not executed while other internal processes or periodic execution processes are being executed in the information processing device 151.
[0056] Next, CPU 154 determines whether a predetermined condition is satisfied. Specifically, CPU 154 determines whether a user operation has not been performed on input interface 158 or the like for a certain period of time (step S807). If it is determined in step S807 that the user has operated input interface 158 or the like before the certain period of time has elapsed, the process returns to step S807, and CPU 154 starts measuring time for making the determination in step S807. If it is determined in step S807 that a user operation has not been performed for the certain period of time, the process proceeds to step S808.
[0057] In step S808, the CPU 154 determines whether or not the ROM version included in the update data information is newer than the firmware version of the information processing device 151. If it is determined in step S808 that the ROM version included in the update data information is not newer than the firmware version of the information processing device 151, the process returns to step S807. If it is determined in step S808 that the ROM version included in the update data information is newer than the firmware version of the information processing device 151, the process proceeds to step S809.
[0058] In step S809, CPU 154 requests data for measuring communication speed from server 199 via communication unit 156. Note that the timing for acquiring data for measuring communication speed is not limited to this timing, and the data for measuring communication speed may be acquired before performing the process of step S808.
[0059] In step S810, the server 199 receives this request and transmits data for measuring communication speed to the information processing device 151. The data for measuring communication speed is, for example, data that is not related to the update data for the information processing device 151 and has a smaller data size than the update data. This makes it possible to reduce the communication load with the server 199 at a stage when it has not been determined that the update process will be executed. Note that the server 199 may authenticate the information processing device 151 before transmitting the data for measuring communication speed to the information processing device 151.
[0060] When the CPU 154 of the information processing device 151 receives the communication speed measurement data from the server 199 via the communication unit 156, it calculates the download speed in the same manner as described in step S308 above.
[0061] Next, in step S811, the CPU 154 calculates and specifies the predicted update completion time based on the download speed and the ROM data size included in the update data information. In calculating the predicted update completion time, the CPU 154 first calculates the time required for the update process. The slower the download speed or the write speed, the longer the time required for the update process is calculated. Also, the larger the ROM data size included in the update data information, the longer the time required for the update process is calculated. Then, the time when the calculated time required for the update process has elapsed from the timing when the start condition for the update process is satisfied is specified as the predicted update completion time. Note that, for example, the determination in step S807 is YES and the determination in step S808 is YES, so that the start condition for the update process is satisfied. Next, the CPU 154 specifies the start time of the regular execution process. Next, in step S812, the CPU 154 determines whether the predicted update completion time is later than the start time of the regular execution process.
[0062] If it is determined in step S812 that the predicted update completion time is not later than the start time of the periodic execution process, execution of the periodic execution process is prioritized, and the process returns to step S807. That is, in Fig. 8 as well, if the predicted update completion time is not later than the start time of the periodic execution process, the periodic execution process is executed before execution of the update process for updating the firmware of the information processing device 151, as in Fig. 3.
[0063] If it is determined in step S812 that the predicted update completion time is later than the start time of the periodic execution process, the process proceeds to step S813. In step S813, the CPU 154 starts the update process using the update data received in step S806. If the update data is not intended for the information processing device 151, the CPU 154 discards the update data and ends this process. If the update data is encrypted, the CPU 154 decrypts the update data and then starts the update process. When the update process is completed, this process ends. After the update process is completed, the execution result of the update process may be displayed on the display unit 160. After the update process is completed, the information processing device 151 may be restarted.
[0064] In this way, even in a configuration in which update data is acquired in advance, if the predicted update completion time is not later than the start time of the periodic execution process, the periodic execution process is executed before the update process is executed. This makes it possible to prevent delays in the execution of the periodic execution process due to firmware updates in a configuration in which update data is acquired in advance.
[0065] In the above, the form in which the update completion predicted time is calculated has been described, but the present invention is not limited to this form, and the update completion predicted time may not be calculated. In this form, specifically, for example, the CPU 154 specifies the start time of the periodic execution process based on the fact that the start condition of the update process is satisfied. Then, the CPU 154 judges whether the specified start time of the periodic execution process occurs during the period from the timing when the start condition of the update process is satisfied until the lapse of a predetermined time registered in the information processing device 151 in advance. The predetermined time is, for example, 10 minutes. Then, if the judgment is judged as YES, the update process is postponed until the periodic execution process is completed. That is, the update process is executed after the periodic execution process is completed. On the other hand, if the judgment is judged as NO, the update process is executed immediately without waiting for the completion of the periodic execution process. In this way, the present invention may be in a form in which, for example, based on the timing when the start condition of the update process is satisfied and the start time of the periodic execution process, whether the update process is postponed or executed without postponement is controlled.
[0066] In the above description, the information to be updated is firmware for the information processing device 151. However, the information is not limited to this form, and may be any type of data that the information processing device 151 has.
[0067] The present invention can also be realized by supplying a program that realizes one or more functions of the above-mentioned embodiments to a system or device via a network or a storage medium, and having one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
[0068] The disclosure of this embodiment includes the following configurations and methods. (Configuration 1) An information processing device comprising: a control means for controlling the execution of an update process for updating specified data of the information processing device when it is determined that a specified condition has been satisfied; and based on the timing at which the specified condition has been satisfied and the start time of a specified process that is periodically executed in the information processing device, controlling whether to execute the update process without waiting for completion of the specified process or to execute the update process after the specified process has been completed. (Configuration 2) The information processing device according to configuration 1, further comprising a calculation means for calculating a predicted completion time of the update process based on the timing at which the specified condition is satisfied, wherein the control means executes the update process without waiting for completion of a specified process when the predicted completion time of the update process is earlier than a start time of a specified process that is periodically executed in the information processing device, and executes the update process after the specified process is completed when the predicted completion time of the update process is not earlier than the start time of the specified process. (Configuration 3) The information processing device according to configuration 2, further comprising: a means for calculating a download speed based on a time required for a process of receiving specified data from a server that provides update data used in the update process; and a means for calculating a write speed based on a time required for a process of writing the specified data to a storage means of the information processing device, wherein the calculation means calculates a predicted completion time of the update process based on the download speed, the write speed, and the data size of the update data. (Configuration 4) The information processing device according to configuration 3, wherein the predetermined data is a part of the update data. (Configuration 5) The information processing device according to configuration 3, wherein the predetermined data is data different from the update data and has a data size smaller than that of the update data. (Configuration 6) The information processing device according to any one of configurations 1 to 5, wherein the predetermined process is an ink circulation process. (Configuration 7) The information processing device according to any one of configurations 1 to 5, wherein the predetermined process is a process of transmitting information relating to a subscription contract to an external device. (Configuration 8) The information processing device according to any one of configurations 1 to 5, wherein the predetermined process is a process of transmitting status information of the information processing device to an external device. (Configuration 9) An information processing device according to any one of configurations 2 to 8, further comprising a control means for displaying a selection screen on a display means of the information processing device, which allows a user to select whether or not to execute the update process, if the predicted completion time of the update process is not later than the start time of the specified process, and wherein the selection screen displays the predicted completion time of the update process. (Configuration 10) An information processing device according to any one of configurations 1 to 9, characterized in that if the start time of the specified processing does not arrive before a specified time has elapsed from the time the specified condition is satisfied, the update processing is executed without waiting for the completion of the specified processing, and if the start time of the specified processing arrives before the specified time has elapsed from the time the specified condition is satisfied, the update processing is executed after the specified processing is completed. (Configuration 11) An information processing device according to any one of configurations 1 to 10, characterized in that if the start time of the specified processing occurs before a specified time has elapsed from the time the specified condition is satisfied, the specified processing is started at a timing prior to the start time of the specified processing, and if the start time of the specified processing occurs during a time period other than the time period from the time the specified condition is satisfied until the specified time has elapsed, the specified processing is started at the start time of the specified processing. (Configuration 12) The information processing device according to any one of configurations 2 to 5 and 9, wherein the start time of the predetermined process is a time that satisfies a condition that is predetermined in association with the predetermined process. (Configuration 13) The information processing device according to any one of configurations 1 to 12, wherein the predetermined data is firmware. (Configuration 14) The information processing device according to any one of configurations 1 to 13, wherein the information processing device is an image forming device that forms an image on a recording medium. [Explanation of symbols]
[0069] 151 Information processing equipment 154 CPU 160 Display section 161 Non-volatile memory 199 Server 601 Selection Screen
Claims
1. An information processing apparatus, comprising control means for controlling execution of update processing for updating predetermined data of the information processing apparatus in accordance with a determination that a predetermined condition is satisfied, wherein the control means controls whether to execute the update processing without waiting for completion of the predetermined processing or to execute the update processing after the predetermined processing is completed, based on the timing at which the predetermined condition is satisfied and the start time of a predetermined processing that is periodically executed in the information processing apparatus. The information processing apparatus is characterized by this.
2. further comprising calculation means for calculating a predicted completion time of the update processing based on the timing at which the predetermined condition is satisfied, wherein the control means executes the update processing without waiting for completion of the predetermined processing when the predicted completion time of the update processing is earlier than the start time of a predetermined processing that is periodically executed in the information processing apparatus, and executes the update processing after the predetermined processing is completed when the predicted completion time of the update processing is not earlier than the start time of the predetermined processing. The information processing apparatus according to claim 1 is characterized by this.
3. means for calculating a download speed based on the time required for a process of receiving predetermined data from a server that provides update data used for the update processing, means for calculating a write speed based on the time required for a process of writing the predetermined data to a storage means of the information processing apparatus, and the calculation means calculates the predicted completion time of the update processing based on the download speed, the write speed, and the data size of the update data. The information processing apparatus according to claim 2 is characterized by this.
4. The predetermined data is part of the update data. The information processing apparatus according to claim 3 is characterized by this.
5. The information processing apparatus according to claim 3, wherein the predetermined data is data different from the update data and has a smaller data size than the update data.
6. The information processing apparatus according to claim 1, wherein the predetermined process is an ink circulation process.
7. The information processing apparatus according to claim 1, wherein the predetermined process is a process of transmitting information regarding a subscription contract to an external device.
8. The information processing apparatus according to claim 1, wherein the predetermined process is a process of transmitting status information of the information processing apparatus to an external device.
9. Further comprising display control means for controlling the display means to display a selection screen for allowing a user to select whether to execute the update process when a predicted completion time of the update process is not earlier than a start time of the predetermined process, The information processing apparatus according to claim 2, wherein the predicted completion time of the update process is displayed on the selection screen.
10. The control means executes the update process without waiting for completion of the predetermined process when the start time of the predetermined process does not occur until a predetermined time has elapsed from the timing when the predetermined condition is satisfied, and executes the update process after the predetermined process is completed when the start time of the predetermined process occurs until the predetermined time has elapsed from the timing when the predetermined condition is satisfied. The information processing apparatus according to claim 1, characterized in that it controls as follows.
11. When the start time of the predetermined process occurs until a predetermined time has elapsed from the timing when the predetermined condition is satisfied, the predetermined process is started at a timing earlier than the start time of the predetermined process, When the start time of the predetermined process arrives in a time zone other than the time zone from the timing when the predetermined condition is satisfied until the predetermined time has elapsed, starting the predetermined process at the start time of the predetermined process. The information processing apparatus according to claim 1.
12. The start time of the predetermined process is a time that satisfies a condition predetermined in association with the predetermined process. The information processing apparatus according to claim 2.
13. The predetermined data is firmware. The information processing apparatus according to claim 1.
14. The information processing apparatus is an image forming apparatus that forms an image on a recording medium. The information processing apparatus according to any one of claims 1 to 13.
15. A control method for an information processing apparatus, Having a control step of controlling the execution of an update process for updating predetermined data of the information processing apparatus according to a determination that a predetermined condition is satisfied, The control step is based on the timing when the predetermined condition is satisfied and the start time of a predetermined process regularly executed in the information processing apparatus, and the update process is executed without waiting for the completion of the predetermined process, or the predetermined process is completed. And controlling whether to execute the update process after that. A control method for an information processing apparatus.
16. A computer-readable storage medium storing a program for causing a computer to function as each means of the information processing apparatus according to any one of claims 1 to 14.