Information processing device, log storage method, program, and image processing device

The information processing device addresses the issue of lost logs during firmware updates by incorporating a dual-update system with a log storage unit, ensuring data preservation and continuous operation.

JP7810058B2Active Publication Date: 2026-02-03RICOH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022081555
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-18
Publication Date
2026-02-03
Estimated Expiration
2042-05-18

AI Technical Summary

Technical Problem

Conventional technologies fail to save logs during firmware updates in information processing devices, leading to service disruptions and loss of operational data.

Method used

An information processing device with a controller and operation unit that includes a first update unit for the controller and a second update unit for the operation unit, along with a log storage unit to store logs during firmware updates, allowing seamless updates without downtime.

Benefits of technology

Enables log storage during firmware updates, ensuring data preservation and maintaining device functionality throughout the update process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007810058000001
    Figure 0007810058000001
  • Figure 0007810058000002
    Figure 0007810058000002
  • Figure 0007810058000003
    Figure 0007810058000003
Patent Text Reader

Abstract

To provide an information processing device which saves a log during update of firmware.SOLUTION: An information processing device comprises a controller and an operation unit. The controller comprises a first update unit which updates firmware of the controller. The operation unit comprises: a second update unit which updates the firmware of the operation unit, while leaving the operation unit operating; and a log saving unit which saves a log about the operation unit, while the first update unit is updating the firmware of the controller.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, a log saving method, a program, and an image processing device. [Background technology]

[0002] Information processing devices with multiple functions, such as multifunction peripherals, run multiple pieces of firmware that control the controller, operation unit, print engine that forms images, FAX engine, finisher, etc. After shipping, the information processing device in use by the user can update this firmware, making it possible to improve the functionality of the information processing device even after shipping.

[0003] There is known a technology for updating firmware while continuing to provide services (see, for example, Patent Document 1). Patent Document 1 discloses a duplex system in which a standby module is updated to the latest firmware and then switched to operational mode, and the operational module then becomes the standby module, and after updating to the latest firmware, becomes the standby module again. With a duplex system, updating the firmware does not cause service to be stopped. Summary of the Invention [Problem to be solved by the invention]

[0004] However, conventional technologies have a problem in that logs are not saved during firmware updates. That is, although some services are available during firmware updates in a dual-system, logs are not saved during firmware updates.

[0005] In view of the above-mentioned problems, an object of the present invention is to provide an information processing apparatus that stores a log during firmware update. [Means for solving the problem]

[0006] The present invention is an information processing device having a controller and an operation unit, wherein the controller has a first update unit that updates the firmware of the controller, and the operation unit has: a second update unit that updates the firmware of the operation unit while the operation unit is operating; and a log storage unit that stores logs related to the operation unit while the first update unit is updating the firmware of the controller. [Effects of the Invention]

[0007] It is possible to provide an information processing device that stores a log during firmware update. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a basic configuration of an image forming apparatus. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of an image forming apparatus. [Figure 3] FIG. 2 is a functional block diagram illustrating an example of functions of an image forming apparatus regarding firmware update, divided into blocks. [Figure 4] 10A and 10B are diagrams illustrating a method for updating firmware for an operation unit by seamless update. [Figure 5] 10 is a flowchart illustrating an example of an operation or process in which the controller and the operation unit update their respective firmware in parallel. [Figure 6] 10 is a sequence diagram illustrating an example of a process performed by the operation unit to process a log in accordance with a package update flag. [Figure 7] This is an example of downtime when using the sequential update method described in step 1. [Figure 8] This is an example of downtime when using the parallel update method described in step 2. [Figure 9] FIG. 10 is a diagram showing an example of an update banner screen displayed on the controller during firmware update. [Figure 10]10 is a diagram showing an example of a function restriction notification screen displayed by a display control unit when a user inputs, into the operation unit, an operation that is not available while the firmware of the controller is being updated. FIG. [Figure 11] FIG. 10 is a diagram showing an example of an update completion notification screen displayed by a display control unit when the firmware update of the operation unit is completed. [Figure 12] FIG. 10 is a diagram illustrating an example of an update completion restart screen displayed by a display control unit after restarting the operation unit. DETAILED DESCRIPTION OF THE INVENTION

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An image forming apparatus and a log storage method performed by the image forming apparatus will be described below with reference to the accompanying drawings as an example of an embodiment of the present invention.

[0010] <An example of how to update firmware> First, a firmware update method based on several procedures will be described with reference to Fig. 1. Fig. 1 is a diagram showing the basic configuration of an image forming apparatus 200. The image forming apparatus 200 is entirely controlled by a controller 100. The controller 100 has a CPU 101, an ASIC 102, a DRAM 103, an SSD (Solid State Drive) 104, an NVRAM 105, an SD card I / F 107, a USB I / F 106, and an HDD 112. An SD card 109 is attached to the SD card I / F 107, and a USB memory 108 is attached to the USB I / F 106.

[0011] An operation unit 110 and an engine 111 are connected to the controller 100 via a serial interface such as a USB cable. The operation unit 110 has a touch panel and a keyboard, displays an operation screen, and accepts input from a user. The engine 111 performs processing related to the functions of the image forming apparatus 200, such as a print engine, a scanner engine, and a FAX engine.

[0012] The operation unit 110 has an eMMC 120 (embedded multi media card), and the controller 100 has an HDD 112. The eMMC 120 stores the OS, firmware, and applications (hereinafter referred to as apps) of the operation unit 110. The HDD 112 stores the OS and firmware of the controller 100.

[0013] In this way, firmware for the operation unit 110 and the controller 100 run on different OSs. Therefore, the operation unit 110 and the controller 100 are independent devices, and the operation unit 110 can display an operation screen and accept input from the user independently of the controller 100. The HDD 112 is installed on the controller 100 side because the HDD 112 serves as data storage for print data and the like, and therefore is preferable for its large capacity and fault tolerance. On the other hand, the operation unit 110 mainly serves as a user interface, and therefore is equipped with an eMMC 120 with excellent read / write speeds to ensure operability. However, the controller 100 may be equipped with an SSD or eMMC, and the operation unit 110 may be equipped with an SSD or HDD.

[0014] The image forming apparatus 200 may consider the following procedure 1 for updating the firmware of the operation unit 110 and the firmware of the controller 100, respectively.

[0015] (1) The user instructs the controller 100 to update the firmware. The user may instruct the update from a terminal device such as a PC (Personal Computer) via a network, or may instruct the update by operating the operation unit 110.

[0016] (2) The user copies a compressed file (called a package) containing firmware for each of the operation unit 110 and the controller 100 to the HDD 112. The user may download the compressed file from a network or copy it from an SD card or the like.

[0017] (3) When the OS of the controller 100 completes copying the package, it unpacks the package on the HDD 112 .

[0018] (4) After that, the OS of the controller 100 updates the firmware of the controller 100 using the extracted file.

[0019] (5) After the update is complete, the OS of the controller 100 transfers the firmware and application of the operation unit 110 from the HDD 112 to the eMMC 120 of the operation unit 110 .

[0020] (6) First, the operation unit 110 updates the application.

[0021] (7) Thereafter, the operation unit 110 reboots (restarts) and starts up in a mode dedicated to updating called recovery mode (unnecessary modules are not operated and user operations are not possible).

[0022] (8) In the recovery mode, the OS of the operation unit 110 updates the firmware of the operation unit 110.

[0023] (9) After that, the OS of the operation unit 110 is restarted again and starts up with the new firmware of the operation unit 110.

[0024] In this update procedure 1, the firmware of the controller 100 and the firmware of the operation unit 110 are updated in sequence.

[0025] Next, a procedure 2 for updating the firmware of the controller 100 and the firmware of the operation unit 110 in parallel will be described.

[0026] (1) The user instructs the controller 100 to update the firmware. The user may instruct the update from a terminal device such as a PC (Personal Computer) via a network, or may instruct the update by operating the operation unit 110.

[0027] (2) The user copies a compressed file (called a package) containing firmware for each of the operation unit 110 and the controller 100 to the HDD 112. The user may download the compressed file from a network or copy it from an SD card or the like.

[0028] (3) When the OS of the controller 100 completes copying the package, it unpacks the package on the HDD 112 .

[0029] (4) The OS of the controller 100 transfers the firmware and application of the operation unit 110 from the HDD 112 to the eMMC 120 of the operation unit 110 .

[0030] (5) After the transfer is completed, the OS of the controller 100 notifies the operation unit 110 that the update of the controller 100 has started.

[0031] (6) The controller 100 updates the firmware of the controller 100 using the extracted file.

[0032] (7) In parallel with the firmware update of the controller 100, the operation unit 110 updates its own firmware using a method (seamless update technology) for updating firmware while the operation unit 110 is running. In other words, the user can operate the operation unit 110 even during the firmware update.

[0033] (8) The operation unit 110 also updates the application in parallel with the firmware update.

[0034] (9) After the controller 100 has finished updating its own firmware, it notifies the operation unit 110 that the update of the controller 100 has been completed.

[0035] (10) After the firmware update of the operation unit 110 is completed, the OS of the operation unit 110 is rebooted (restarted), and the operation unit 110 starts up with the new firmware.

[0036] According to procedure 2, the application update for the operation unit 110, the firmware update for the operation unit 110, and the firmware update for the controller 100 can be performed in parallel, thereby reducing the update time. Therefore, the update time for multiple firmware can be limited to the longest time among the firmware for the controller 100, the firmware for the operation unit 110, and the application for the operation unit 110.

[0037] Here, since a seamless update is adopted in step 2, the user can operate the operation unit 110 even during the update of the firmware or application of the operation unit 110 shown in steps (6) to (8) of step 2. Conventionally, the operation unit 110 would enter recovery mode (a mode dedicated to updates, in which unnecessary modules are not operated and user operation is not possible), so that no inconvenience due to user operation, etc. would occur.

[0038] However, in procedure 2, seamless update technology allows the user to perform operations that do not use the functions of the controller 100, even if the update of the controller 100 has not been completed. Also, during this time, because the update of the controller 100 has not been completed, the controller 100 cannot save logs of user operations or logs when a problem occurs in the operation unit 110 (because the controller 100 saves logs of the operation unit 110 on the HDD).

[0039] Therefore, in this embodiment, when the operation unit 110 receives an update start notification from the controller 100, the operation unit 110 uses a package update log saving process mechanism to save the log of the operation unit 110 to the eMMC 120 after the operation unit 110 is restarted. This allows the operation unit 110 to save a log of user operations and a log of malfunctions in the operation unit 110, even if the update of the controller 100 has not finished, from the time the operation unit 110 is restarted until the update of the controller 100 is finished.

[0040] On the other hand, the capacity of the eMMC 120 in the operation unit 110 is limited. Because the capacity of the eMMC 120 is not as large as the HDD of the controller 100, the storage size is limited to 256 KB, and if the limit is exceeded, older logs are deleted (or may be overwritten) and the latest log is stored. This prevents the capacity of the eMMC 120 from becoming overwhelmed by an increase in logs, and makes it possible to store logs without attaching a sub-storage or the like to the operation unit 110.

[0041] After the operation unit 110 saves the log in the eMMC 120, when an update completion notification is received from the controller 100, the operation unit 110 stops the package update log saving process because communication between the controller 100 and the operation unit 110 has been established, and deletes the log saved in the eMMC 120 after sending it to the controller 100. This allows the administrator or the like to check the package update log and the normal startup log after the update has finished as a series of logs.

[0042] <Terminology> Firmware is a type of software built into information processing devices and electronic devices, and is a program with the function of controlling the basic controls of the internal circuits and devices. Firmware is hard-wired into the device, closely linked to the internal hardware, and as a rule, does not change during normal use or operation. Therefore, the term "firm" is used to refer to software that is similar in nature to hardware. Because of its function of controlling basic controls, firmware can also refer to a program for the system.

[0043] A firmware update refers to updating the firmware (upgrading the version). Firmware updates include installing new firmware.

[0044] The operation unit is kept operating when the operation unit is activated and can be operated by the user.

[0045] Downtime is the time when a user cannot use an information processing device at all.

[0046] A log is a record of the history and information of an information processing device, such as its usage status and data communication. It records the date and time of operations and data transmissions, the details of the operations, and the contents of the data transmitted and received.

[0047] <Hardware configuration example> Fig. 2 is a hardware configuration diagram of an image forming apparatus 200. The image forming apparatus 200 is an example of an information processing apparatus. The image forming apparatus 200 shown in Fig. 2 illustrates a detailed configuration in addition to the main configuration shown in Fig. 1. Also, some of the configuration shown in Fig. 1 is omitted in Fig. 2.

[0048] As shown in FIG. 2, the image forming apparatus 200 includes a controller 100, a short-range communication circuit 920, an engine control unit 930, an operation unit 110, and a network I / F 950.

[0049] Of these, the controller 100 has a CPU 101, which is the main part of the computer, a system memory (MEM-P) 902, a north bridge (NB) 903, a south bridge (SB) 904, an ASIC (Application Specific Integrated Circuit) 906, a local memory (MEM-C) 907, which is a storage unit, an HDD controller 908, and an HDD 112, which is also a storage unit, and is configured such that the NB 903 and the ASIC 102 are connected by an AGP (Accelerated Graphics Port) bus 921.

[0050] Of these, the CPU 101 is a control unit that performs overall control of the image forming apparatus 200. The NB 903 is a bridge that connects the CPU 101 with the MEM-P 902, the SB 904, and the AGP bus 921, and includes a memory controller that controls reading and writing to the MEM-P 902, a PCI (Peripheral Component Interconnect) master, and an AGP target.

[0051] The MEM-P902 comprises a ROM 902a, which is memory for storing programs and data that realize the functions of the controller 100, and a RAM 902b, which is used for expanding the programs and data and as a drawing memory during memory printing. The programs stored in the RAM 902b may be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD, DVD, or Blu-Ray (registered trademark).

[0052] The SB 904 is a bridge for connecting the NB 903 with PCI devices and peripheral devices. The ASIC 102 is an integrated circuit (IC) for image processing applications that has hardware elements for image processing and serves as a bridge connecting the AGP bus 921, PCI bus 922, HDD controller 908, and MEM-C 907. The ASIC 102 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the ASIC 102, a memory controller that controls the MEM-C 907, multiple direct memory access controllers (DMACs) that perform image data rotation using hardware logic, and a PCI unit that transfers data between the scanner unit 931 and printer unit 932 via the PCI bus 922. The ASIC 102 may also have a universal serial bus (USB) interface or an Institute of Electrical and Electronics Engineers 1394 (IEEE 1394) interface.

[0053] The MEM-C907 is a local memory used as an image buffer for copying and a code buffer. The HDD 112 is a storage for storing image data, font data used during printing, and forms. The HDD 112 controls the reading and writing of data from and to the HDD 112 under the control of the CPU 101. The AGP bus 921 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and by directly accessing the MEM-P902 at high throughput, the graphics accelerator card can be made faster.

[0054] Further, the short-range communication circuit 920 is provided with a short-range communication circuit antenna 920a. The short-range communication circuit 920 is a communication circuit such as NFC or Bluetooth (registered trademark).

[0055] Furthermore, the engine control unit 930 is made up of a scanner unit 931 and a printer unit 932. The operation unit 110 has a panel display unit 110a, such as a touch panel, that displays current setting values, selection screens, etc., and accepts inputs from the operator. The operation unit 110 also has hard keys 110b, such as a numeric keypad that accepts setting values ​​for image formation conditions, such as density setting conditions, and a start key that accepts a copy start command. The controller 100 controls the entire image forming apparatus 200, and controls, for example, drawing, communication, inputs from the operation unit 110, etc. The scanner unit 931 or the printer unit 932 includes an image processing unit such as error diffusion and gamma conversion.

[0056] The image forming apparatus 200 can sequentially switch among the document box function, copy function, printer function, and facsimile function using the application switching key on the operation unit 110. When the document box function is selected, the image forming apparatus 200 enters the document box mode, when the copy function is selected, the image forming apparatus 200 enters the copy mode, when the printer function is selected, the image forming apparatus 200 enters the printer mode, and when the facsimile mode is selected, the image forming apparatus 200 enters the facsimile mode.

[0057] The network I / F 950 is an interface for performing data communication using a network. The short-range communication circuit 920 and the network I / F 950 are electrically connected to the ASIC 102 via a PCI bus 922.

[0058] <About the functions of the image forming device> Next, functions of the image forming apparatus 200 will be described with reference to Fig. 3. Fig. 3 is an example of a functional block diagram that explains functions of the image forming apparatus 200 relating to firmware update, divided into blocks.

[0059] <<Controller>> The controller 100 of the image forming apparatus 200 has a first update control unit 11, a first update unit 12, a notification unit 13, and a log receiving unit 14. Each of these functional units of the controller 100 is a function or means realized when any of the components shown in Fig. 2 operates in response to an instruction from the CPU 101 in accordance with the OS (or a simple program) loaded from the HDD 112 to the RAM 902b.

[0060] The first update control unit 11 controls the firmware update process on the side of the controller 100. Controlling the update process means updating the firmware of the controller 100 and requesting the operation unit 110 to update the firmware in accordance with the above procedure 2.

[0061] The first update unit 12 updates the firmware of the controller 100 using the firmware of the controller 100 stored in the first firmware data storage unit 19a.

[0062] The notification unit 13 notifies the operation unit 110 when the controller 100 starts updating its own firmware and when the update is completed.

[0063] The log receiving unit 14 receives from the operation unit 110 the logs that the operation unit 110 has saved while the controller 100 is updating the firmware. The log receiving unit 14 saves the received logs in the first log storage unit 19b in chronological order together with logs recorded by the controller 100. In this way, the image forming apparatus 200 can record the logs of the operation unit 110 saved while the firmware of the controller 100 is being updated in chronological order together with logs that are not being updated.

[0064] Furthermore, a first firmware data storage unit 19a and a first log storage unit 19b are constructed in the HDD 112 of the image forming apparatus 200. Compressed files (called packages) including firmware for the operation unit 110 (applications and firmware) and the controller 100 are stored in the first firmware data storage unit 19a. The packages are extracted, and the application and firmware for the operation unit 110 and the firmware for the controller 100 are stored in the first firmware data storage unit 19a. The firmware may be downloaded by the user from a network or copied from an SD card or the like.

[0065] The first log storage unit 19b stores a log of events that occur in the controller 100 and the operation unit 110. The events may include various occurrences related to processing, such as operation content, job registration, job execution, errors, and communication content. The log may include event identification information, the date and time of the event, the user ID of the user involved in the operation, etc. The first log storage unit 19b stores a log of events that occur in not only the controller 100 but also the operation unit 110. However, while the firmware of the controller 100 is being updated, the operation unit 110 temporarily stores the log of the operation unit 110 in the second log storage unit 29b.

[0066] <<Operation section>> The operation unit 110 of the image forming apparatus 200 has a second update control unit 21, a second update unit 22, an operation reception unit 23, a display control unit 24, a log acquisition unit 25, a log storage unit 26, and a log transmission unit 27. These functional units of the operation unit 110 are functions or means realized by the operation unit 110 shown in FIG. 2 operating in accordance with commands from the CPU of the operation unit 110 in accordance with the OS (or simple program) of the operation unit 110 stored in the eMMC 120.

[0067] The second update control unit 21 controls the update processing of the firmware of the operation unit 110. The update processing of the operation unit 110 is a seamless update that updates the firmware while the operation unit 110 is operating. Details will be described later with reference to FIG.

[0068] The second update unit 22 updates the application and firmware of the operation unit 110 using the application (for update) and firmware of the operation unit 110 stored in the second firmware data storage unit 29a (transferred from the controller 100).

[0069] The operation acceptance unit 23 accepts various operations on the operation unit 110. Furthermore, the operation acceptance unit 23 restricts user operations from the time the controller 100 receives a notification that a firmware update has started until the time the operation has finished (hereinafter referred to as a restricted period). In other words, the operation acceptance unit 23 only accepts operations that do not use functions of the controller 100 during the restricted period.

[0070] The display control unit 24 displays a message that only some functions are available during the limited period, the remaining time required for the update, etc. Furthermore, if the user inputs an operation to the operation unit 110 to use a function of the controller 100 during the limited period, the display control unit 24 displays a message that the function is temporarily unavailable.

[0071] The log acquisition unit 25 acquires (generates) a log based on an event that occurs in the operation unit 110. The log acquisition unit 25 acquires the content of the event, the current date and time from an RTC (Real Time Clock), the logged-in user, the state of the operation unit 110, and the like, and generates a log.

[0072] The log storage unit 26 temporarily stores a log of events that occur in the operation unit 110 in the second log storage unit 29b while the firmware of the controller 100 is being updated. The operation unit 110 can continue processing even while the firmware of the operation unit 110 is being updated using seamless update technology. However, the log may only be stored when the system is restarted after the firmware is updated. When the log capacity reaches a threshold value or more (for example, 256 KB or more), the log storage unit 26 deletes (or may overwrite) the log from the second log storage unit 29b and stores the latest log.

[0073] When the update of the firmware of the controller 100 is completed, the log transmission unit 27 transmits the log of the operation unit 110 stored in the second log storage unit 29b to the controller 100. In addition, the log storage unit 26 deletes the transmitted log from the second log storage unit 29b.

[0074] Furthermore, a second firmware data storage unit 29a and a second log storage unit 29b are constructed in the eMMC 120 of the operation unit 110. The second firmware data storage unit 29a stores the applications and firmware of the operation unit 110 transferred from the controller 100. The second log storage unit 29b temporarily stores a log of events that occur in the operation unit 110 while the firmware of the controller 100 is being updated.

[0075] <Seamless update> Next, seamless update will be described with reference to Fig. 4. Fig. 4 is a diagram illustrating a method for updating the firmware of the operation unit 110 by seamless update using a duplicated device or a duplicated system. Duplication is a technique for improving reliability and fault tolerance by preparing two systems of components or systems with equivalent functions. A duplicated device or a duplicated system can update firmware without stopping services.

[0076] As shown in FIG. 4(a), multiple modules are installed in the operation unit 110. One module is called an active module 131A, and the other is called a standby module 132A. The active module 131A and the standby module 132A are both modules related to systems that are equivalent in terms of function, and these modules are realized by firmware. Therefore, the operation unit 110 is a duplicated device or system that is duplicated by equivalent modules.

[0077] The active module 131A and the standby module 132A alternate. The module that is upgraded first becomes the active module, and the module that is backed up later becomes the standby module. In FIG. 4(a), there are two modules, but there may be three or more. The firmware versions of the active module 131A and the standby module 132A before the update are as follows:

[0078] Operational module 131A: Version 1.0 Standby module 132A: version 0.9 The seamless update allows the user to update the firmware of the operation unit 110 while the operation unit 110 is still available. Therefore, when the operation unit 110 starts up, the operation unit 110 starts up the active module 131A, which has a newer firmware version. In FIG. 4(a), the active module 131A (an example of the first firmware) is started up.

[0079] 4(b), when updating the firmware of the operation unit 110, the second update unit 22 updates the standby module 132A (an example of second firmware) that is not running in the background. "In the background" means that processing is performed while giving priority to application execution (while ensuring application execution).

[0080] Therefore, the version of the standby module 132A was updated as follows:

[0081] Standby module 132A: version 0.9 → 1.1 After updating the firmware, the second updating unit 22 switches the active module 131A to the standby module 132B, and switches the standby module 132A to the active module 131B.

[0082] Then, the next time operation unit 110 is started, it starts up operation module 131B. As shown in Fig. 4(c), in operation module 131B, second update unit 22 updates standby module 132B, which is not started, in the background.

[0083] Therefore, the version of the standby module 132B was updated as follows:

[0084] Standby module 132B: Version 1.0 → 1.1 It should be noted that the second update unit 22 does not need to switch the role of the module after updating the firmware, but there is no problem if it does.

[0085] This allows the operation unit 110 to update the firmware without causing downtime.

[0086] <Firmware update operation or process> Next, an operation or process of updating firmware by the image forming apparatus 200 will be described with reference to Fig. 5. Fig. 5 is a flowchart illustrating an operation or process of updating firmware by the controller 100 and the operation unit 110 in parallel.

[0087] S1: First, the user instructs the controller 100 to update the firmware. The user may instruct the update via a network from a terminal device such as a PC (Personal Computer), or may instruct the update by operating the operation unit 110. FIG. 5 shows the case where the update is performed via a network. It is assumed that a compressed file including the application and firmware of the operation unit 110 and the firmware of the controller 100 has already been stored in the HDD 112 (first firmware data storage unit 19a). The user may download the compressed file from the network, or copy it from an SD card or the like.

[0088] S2: The first update control unit 11 of the controller 100 unpacks the package in the first firmware data storage unit 19a.

[0089] S3: The first update control unit 11 transfers the application and firmware of the operation unit 110 to the operation unit 110. As a result, the application and firmware of the operation unit 110 are stored in the second firmware data storage unit 29a of the eMMC 120.

[0090] S4: After the transfer is completed, the first update control unit 11 starts updating the firmware of the controller 100. The first update control unit 11 causes the first update unit 12 to update the firmware of the controller 100. The first update unit 12 starts updating the old firmware using the firmware of the controller 100 stored in the first firmware data storage unit 19a.

[0091] S5: The notification unit 13 of the controller 100 notifies the operation unit 110 that the update of the controller 100 has started.

[0092] S6: When the first update unit 12 finishes updating its own firmware, the notification unit 13 notifies the operation unit 110 that the update of the controller 100 has finished. At this point, the update of the application and firmware of the operation unit 110 may have finished or may be continuing. In FIG. 5, the time required to update the firmware and application of the operation unit 110 is shorter than the time required to update the firmware of the controller 100, but this relationship may be reversed.

[0093] S7: Upon receiving the update start notification, the display control unit 24 of the operation unit 110 starts displaying the update in progress banner screen 210, which will be described later. Furthermore, the update start notification causes the second update control unit 21 to start package update flag ON processing. In the package update flag ON processing, updates to the apps and firmware of the operation unit 110 are performed in parallel. In parallel with the firmware update by the first update unit 12, the second update control unit 21 of the operation unit 110 causes the second update unit 22 to update the firmware and apps while keeping the operation unit 110 operating. Therefore, the first update unit 12 and the second update unit 22 update the firmware in parallel at least part of the time.

[0094] S8: The second update unit 22 updates the firmware of the operation unit 110 using the seamless update described above.

[0095] S9: The second update unit 22 updates the application in parallel with updating the firmware of the operation unit 110.

[0096] S10: When the update of the firmware and application of the operation unit 110 is completed, the second update control unit 21 restarts the operation unit 110. The restart causes optimization such as deletion of cache and unnecessary files, and defragmentation.

[0097] S11: When the operation unit 110 is restarted, the log acquisition unit 25 starts acquiring a log of events that have occurred on the operation unit 110.

[0098] S12: When an event occurs, the log storage unit 26 determines whether the controller 100 is currently updating firmware (whether the package update flag is ON).

[0099] S13: When the controller 100 is updating firmware (when the package update flag is ON), the log storage unit 26 stores the log in the second log storage unit 29b of the eMMC 120. When the size of the logs stored in the second log storage unit 29b becomes equal to or greater than a threshold, the log storage unit 26 deletes the oldest log or overwrites the oldest log.

[0100] S14: When the operation unit 110 receives the update completion notification, the log storage unit 26 ends storing the log of events that have occurred in the operation unit 110 in the eMMC 120.

[0101] S15: When an event occurs, the log storage unit 26 determines whether the controller 100 is currently updating firmware (whether the package update flag is ON). If the controller 100 is currently updating firmware, the log storage unit 26 stores the log in the second log memory unit 29b of the eMMC 120, as in step S13.

[0102] S16: If the controller 100 is not currently updating the firmware, the log transmission unit 27 performs a process of transmitting the log temporarily stored in the second log storage unit 29b of the eMMC 120.

[0103] S17: The log transmission unit 27 reads (acquires) the log from the second log storage unit 29b, and after transmitting it to the controller 100, deletes the log from the second log storage unit 29b.

[0104] S18: The log transmission unit 27 transmits the log read from the second log storage unit 29b to the controller 100. Next, the log transmission unit 27 transmits to the controller 100 a log of the newly occurring event.

[0105] S19: The log receiving unit 14 of the controller 100 receives the log, adds it to the logs stored in the controller 100, and stores it in chronological order in the first log storage unit 19b.

[0106] S20: If the log can be sent, the second update control unit 21 turns off the package update flag.

[0107] As described above, according to the processing of FIG. 5, even when the controller 100 is updating its firmware, the operation unit 110 stores a log, and when the firmware update of the controller 100 is completed, the controller 100 can store the log generated by the operation unit 110.

[0108] <Details of log saving process> Next, details of the log storage process will be described with reference to Fig. 6. Fig. 6 is a sequence diagram showing how the operation unit 110 processes the log in accordance with the package update flag.

[0109] S31: First, the controller 100 starts updating the firmware, and the notification unit 13 notifies the operation unit 110 of the start of the update.

[0110] S32: The second update control unit 21 of the operation unit 110 turns on the package update flag. As described in FIG. 5, the operation unit 110 updates the firmware and the application.

[0111] S33: When the update of the firmware and application of the operation unit 110 is completed, the operation unit 110 is restarted.

[0112] S34: The second update control unit 21 of the operation unit 110 instructs the log acquisition unit 25 to start acquiring logs.

[0113] S35: The log acquisition unit 25 notifies the log manager (log storage unit 26, log transmission unit 27) of the log relating to the event that has occurred.

[0114] S36: If the package update flag is ON (if the controller 100 is being updated), the log storage unit 26 stores the log in the eMMC 120 (second log storage unit 29b).

[0115] S37: If the package update flag is OFF (if the controller 100 is not currently being updated), the log transmission unit 27 transmits the log to the controller 100.

[0116] S38: The controller 100 completes the firmware update, and the notification unit 13 notifies the operation unit 110 of the completion of the update.

[0117] S39: If the package update flag is ON, the second update control unit 21 notifies the log acquisition unit 25 to stop log acquisition.

[0118] S40: The log acquisition unit 25 notifies the log manager of the stop of saving the log.

[0119] S41: If the package update flag is ON, the log transmission unit 27 performs a process of transmitting the log stored in the eMMC 120 (second log storage unit 29b) to the controller 100. To this end, the log transmission unit 27 reads (acquires) the log from the second log storage unit 29b. Note that the log storage unit 26 deletes the log from the second log storage unit 29b after transmission.

[0120] S42: The log transmission unit 27 transmits the read log to the controller 100.

[0121] S43: When the transmission of the log is completed, the second update control unit 21 turns off the package update flag.

[0122] After this, normal log saving processing (when firmware is not being updated) will be carried out.

[0123] S44: The second update control unit 21 of the operation unit 110 instructs the log acquisition unit 25 to start acquiring logs.

[0124] S45: The log acquisition unit 25 notifies the log manager of the log relating to the event that has occurred.

[0125] <Example of reducing downtime> An example of reducing downtime using the firmware update procedure of this embodiment will be described with reference to Figures 7 and 8. Figure 7 shows an example of downtime in the case of the sequential update method described in Procedure 1. In Figure 7, the downtime is the following time from the start of the firmware update:

[0126] Package deployment: A seconds ·Preparation before update: B seconds Controller update: C seconds Data transfer time: D seconds · App update: E seconds ·Operation unit side update: F seconds Optimization process: G seconds Recovery mode: H seconds ·Reboot :I seconds Post-processing: J seconds As shown in FIG. 7, after the firmware of the controller 100 is updated, the firmware of the operation unit 110 is updated, and the downtime is the sum of A to J seconds.

[0127] Fig. 8 shows an example of downtime in the case of the parallel update method described in procedure 2. The differences from Fig. 7 are that the operation unit 110 starts updating the app and firmware after receiving an update start notification from the controller 100, that the app and firmware are updated in parallel, and that there is no transition to recovery mode.

[0128] In Figure 8, the update on the controller 100 side takes the longest time, so the downtime is shortened by D+E+F+G+H+I seconds. In the figure, the difference between the time C seconds required for the update on the controller 100 side and D+E+F+G+H+I seconds is set to X seconds.

[0129] Furthermore, after the operation unit 110 is restarted, it becomes possible to save logs and perform user operations, and it is clear that the time is G+X seconds.

[0130] <Screen example> 9 to 12, examples of screens displayed by the operation unit 110 regarding firmware updates will be described. First, FIG. 9 shows an update-in-progress banner screen 210 displayed on the controller 100 while the firmware is being updated. The display control unit 24 displays the update-in-progress banner screen 210 when the operation unit 110 is notified by the controller 100 that an update has started. The update-in-progress banner screen 210 displays a message 211 in a banner format in a location that is unlikely to interfere with user operations, such as the top or bottom of the panel display unit 110a, reading "Main unit FW updating in progress. Some functions are available. Estimated update time - xx minutes remaining." The user can see the message 211 and understand that the main unit firmware is being updated and that some functions are available. For example, the display control unit 24 may automatically or in response to a user operation display functions available even while the controller 100 is updating firmware.

[0131] The estimated update time is the time remaining until the firmware update of the controller 100 is completed. As for the operation unit 110, the user can use the operation unit 110 even during a firmware update of the operation unit 110 as long as the functions of the controller 100 are not used, so the operation unit 110 notifies the user of the remaining time. The first update control unit 11 may notify the operation unit 110 of the estimated update time in step S5 of FIG. 5. For example, the first update control unit 11 converts the size (number of bytes) of the firmware of the controller 100 into an estimated update time and notifies the operation unit 110 of this. The display control unit 24 updates the "estimated update time - XX minutes remaining" by repeatedly subtracting the elapsed time from the estimated update time.

[0132] 10 shows a function restriction notification screen 220 that the display control unit 24 displays when the user inputs, into the operation unit 110, an operation that is unavailable while the firmware of the controller 100 is being updated. The function restriction notification screen 220 displays a message 221 that reads, "This function is temporarily unavailable because the main unit firmware is being updated. Estimated update time: XX minutes remaining." The user can see the message 221 and understand that the function they just operated is unavailable. For example, the display control unit 24 may automatically or in response to a user operation display functions that are available to the controller 100 even while the firmware is being updated.

[0133] FIG. 11 shows an update completion notification screen 230 that the display control unit 24 displays when the firmware update for the operation unit 110 is complete. The update completion notification screen 230 displays a banner message 231 stating, "The update for the operation unit 110 has been completed. Please restart the device to start with the latest firmware." in a location that is less likely to interfere with user operations, such as the top or bottom of the panel display unit 110a. The user can see the message 231 and understand that they need to restart the operation unit 110. The restart may be performed by pressing the reset button on the operation unit 110 or by turning the power of the operation unit 110 OFF and then ON. The restart may also be performed by turning the power of the image forming apparatus 200 OFF and then ON, or by pressing the reset button on the image forming apparatus 200 itself (however, this is not possible while the firmware of the controller 100 is being updated).

[0134] 12 shows an update completion restart screen 240 that is displayed by the display control unit 24 after restarting the operation unit 110. The update completion restart screen 240 displays a message 241 in the form of a banner in a location that is unlikely to interfere with user operations, such as the top or bottom of the panel display unit 110a, stating, "The operation unit 110 version has been updated to XX.XX." By looking at the message 241, the user can understand that the firmware of the operation unit 110 has been updated and the updated version.

[0135] In FIG. 12, the firmware version of the operation unit 110 is displayed, but the firmware version of the controller 100 may also be displayed.

[0136] <Major Effects> As described above, in the image forming apparatus 200 of this embodiment, while the controller 100 is updating the firmware, the operation unit 110 stores the operation unit 110's log in the eMMC 120, so that logs of user operations that occur while the controller 100 is updating and malfunctions of the operation unit 110 can be stored.

[0137] <Other application examples> The best mode for carrying out the present invention has been described above using examples, but the present invention is not limited to these examples in any way, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.

[0138] For example, in this embodiment, an image forming apparatus (image processing apparatus) is mainly used in the description as the information processing apparatus for updating firmware, but the information processing apparatus is not limited to an image forming apparatus. The image forming apparatus may be, for example, a projector (PJ), an electronic whiteboard (a whiteboard with electronic whiteboard functionality), an output device such as digital signage, a head-up display (HUD) device, industrial machinery, an imaging device, a sound collection device, a medical device, a network appliance, a connected car, a notebook PC, a mobile phone, a smartphone, a tablet terminal, a game console, a personal digital assistant (PDA), a digital camera, a wearable PC, or a desktop PC. For these devices, the output may be an output that matches the characteristics of the device, such as displaying content.

[0139] Furthermore, in this embodiment, the user copies the firmware to the image forming apparatus 200, but the image forming apparatus 200 may automatically download the firmware from the network.

[0140] Furthermore, in this embodiment, the controller 100 transfers the application and firmware to the operation unit 110, but the operation unit 110 may download the firmware from the network separately from the controller 100.

[0141] In addition, the configuration examples shown in Fig. 3 and the like are divided according to main functions to facilitate understanding of the processing by image forming apparatus 200. The present invention is not limited by the manner in which the processing units are divided or the names of the processing units. The processing by image forming apparatus 200 can be divided into even more processing units depending on the processing content. Furthermore, it can also be divided so that one processing unit includes even more processing.

[0142] Each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to perform each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to perform each of the above-described functions.

[0143] <Appendix to the Claims> [Claim 1] An information processing device having a controller and an operation unit, The controller a first update unit that updates firmware of the controller; The operation unit includes: a second update unit that updates the firmware of the operation unit while the operation unit is operating; a log storage unit that stores a log related to the operation unit while the first update unit is updating the firmware of the controller; An information processing device comprising: [Claim 2] 2. The information processing device according to claim 1, wherein the first update unit and the second update unit update firmware in parallel at least part of the time. [Claim 3] The operation unit includes: a log transmission unit that transmits the log stored by the log storage unit to the controller after the first update unit has completed updating the firmware of the controller; The controller 3. The information processing apparatus according to claim 1, further comprising a log receiving unit that receives the log from the operation unit and stores the log in chronological order together with the log of the controller. [Claim 4] the log storage unit stores the log in the operation unit when the first update unit is updating the firmware of the controller; The information processing device according to claim 3, characterized in that if the first update unit has not updated the firmware of the controller, the log storage unit does not store the log in the operation unit, and the log transmission unit transmits the log to the controller. [Claim 5] The information processing device according to any one of claims 1 to 4, characterized in that when the capacity of the logs stored in the operation unit exceeds a threshold, the log storage unit deletes the oldest log or overwrites the oldest log with a new log. [Claim 6] The controller a notification unit that notifies the operation unit that a firmware update executed by the controller has started and ended, The information processing device according to claim 3 or 4, characterized in that the log storage unit determines whether the first update unit is updating the firmware of the controller in response to notifications that the update has started and ended. [Explanation of symbols]

[0144] 100 Controllers 110 Operation section 200 Image forming device [Prior art documents] [Patent documents]

[0145] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-217201

Claims

1. An information processing device having a controller and an operation unit, The controller a first update unit that updates firmware of the controller; The operation unit includes: a second update unit that updates the firmware of the operation unit while the operation unit is operating; a log storage unit that stores a log related to the operation unit while the first update unit is updating the firmware of the controller; An information processing device comprising:

2. 2. The information processing apparatus according to claim 1, wherein the first update unit and the second update unit update firmware in parallel at least part of the time.

3. The operation unit includes: a log transmission unit that transmits the log stored by the log storage unit to the controller after the first update unit has completed updating the firmware of the controller; The controller 2. The information processing apparatus according to claim 1, further comprising a log receiving unit that receives the log from the operation unit and stores it in chronological order together with the log of the controller.

4. the log storage unit stores the log in the operation unit when the first update unit is updating the firmware of the controller; 4. The information processing device according to claim 3, wherein if the first update unit has not updated the firmware of the controller, the log storage unit does not store the log in the operation unit, and the log transmission unit transmits the log to the controller.

5. The information processing device according to any one of claims 1 to 4, characterized in that when the capacity of the log stored in the operation unit exceeds a threshold, the log storage unit deletes the oldest log or overwrites the oldest log with a new log.

6. The controller a notification unit that notifies the operation unit that a firmware update executed by the controller has started and ended, 5. The information processing device according to claim 3, wherein the log storage unit determines whether the first update unit is updating the firmware of the controller in response to notifications that the update has started and ended.

7. The operation unit activates only one of the two firmwares that are pre-installed, the second update unit updates the second firmware in the background when notified that the update has started while the first firmware is running; 2. The information processing apparatus according to claim 1, wherein when the operation unit is restarted after the second firmware is updated, the operation unit starts up the second firmware.

8. A log storage method performed by an information processing device having a controller and an operation unit, updating firmware of the controller; The operation unit includes: updating firmware of the operation unit while the operation unit is operating; storing a log relating to the operation unit while the controller is updating firmware; A log storage method comprising:

9. A program executed by an information processing device having a controller and an operation unit, The controller a first update unit that updates firmware of the controller; The operation unit, a second update unit that updates the firmware of the operation unit while the operation unit is operating; a log storage unit that stores a log related to the operation unit while the first update unit is updating the firmware of the controller; A program to function as a

10. An image processing device having a controller and an operation unit, The controller a first update unit that updates firmware of the controller; The operation unit includes: a second update unit that updates the firmware of the operation unit while the operation unit is operating; a log storage unit that stores a log related to the operation unit while the first update unit is updating the firmware of the controller; 1. An image processing device comprising:

Citation Information

Patent Citations

  • Automatic update method

    JP2008217201A

  • Information processing system, information transmission method and program

    JP2014179023A

  • Image formation device, control method of image formation device, and program

    JP2016129945A

  • Information processing device, image forming apparatus, and update method

    JP2018156638A