Device, program updating method, and program

The device manages firmware updates and activates functions based on target function information, addressing downtime issues by allowing functions to be used despite partial update failures.

JP2025112217APending Publication Date: 2025-07-31RICOH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024006386
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-18
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

Conventional program update failures in devices can lead to extended downtime as a single firmware update failure prevents the activation of corresponding functions, even if other functions are usable.

Method used

A device with an update management unit and function activation control unit that manages firmware updates and activates functions based on firmware target function information, allowing functions to be activated even if only some programs in a combination fail to update.

Benefits of technology

Reduces downtime by ensuring functions can be activated despite partial firmware update failures, maintaining device usability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025112217000001_ABST
    Figure 2025112217000001_ABST
Patent Text Reader

Abstract

To provide a technique for decreasing downtime generated by failure in update of programs.SOLUTION: A device capable of updating installed programs includes: an update management section 22 for updating the programs; and a function activation control section 23 for, on the basis of such firmware object function information that functions are associated with combinations of the plurality of programs, activating the functions corresponding to the plurality of programs when only a part of programs among the combinations of the plurality of programs fails in the update.SELECTED DRAWING: Figure 11
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a device, a program update method, and a program. [Background technology]

[0002] Devices such as multifunction peripherals run multiple programs that control the controller, operation unit, print engine that forms images, fax engine, paper feed unit, paper output unit, etc. The programs that perform this basic control of hardware are called firmware. By updating this firmware when the device is used by the user after shipping, it is possible to improve the device's functionality even after shipping. It is also known that errors can occur during the update process for various reasons.

[0003] A technology has been devised that executes a desired update even if an error occurs during the update (see, for example, Patent Document 1). Patent Document 1 discloses a technology that, if a firmware update fails, prevents the firmware from activating the function of the corresponding block. Summary of the Invention [Problem to be solved by the invention]

[0004] However, with conventional technology, a program update failure could result in extended downtime for the device. In other words, with conventional technology, if a single firmware update fails, even if a function corresponding to the firmware is usable, that function cannot be activated, and this could result in extended downtime during which the device cannot be used.

[0005] In view of the above-mentioned problems, the present invention provides a technique for reducing downtime caused by a failure in updating a program. [Means for solving the problem]

[0006] In view of the above problems, the present invention relates to a device capable of updating an installed program, comprising an update management unit for updating the program, and a function activation control unit for activating the functions corresponding to the plurality of programs based on firmware target function information in which functions are associated with combinations of a plurality of programs, when an update fails for only some of the programs in the combination of the plurality of programs.

Advantages of the Invention

[0007] The present invention can provide a technique for reducing downtime caused by a failed program update.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Embodiment for Carrying Out the Invention

[0009] Hereinafter, as an example of an embodiment for carrying out the present invention, an image forming apparatus and a program update method performed by the image forming apparatus will be described with reference to the drawings.

[0010] <Activation Control According to Success or Failure of Update of a Plurality of Firmware> The image forming apparatus of the present embodiment controls the activation of a function corresponding to firmware on the condition of success or failure of update of a plurality of firmware.

[0011] FIG. 1 is a diagram showing an example of a plurality of firmware and functions corresponding to the firmware. The image forming apparatus 20 can perform printing by feeding paper from either of two paper feeding units 213 and 214. Further, respective firmware is executed in the paper feeding units 213 and 214, and the respective firmware may be updated independently or simultaneously.

[0012] Since the paper feed units 213 and 214 are independent, even if the firmware update of either the paper feed unit 213 or 214 fails and paper feeding becomes impossible, the image forming device 20 can continue the print function by feeding paper from the paper feed unit whose update has been successful.

[0013] Therefore, in this embodiment, a developer of the image forming apparatus 20 prepares "firmware target function information" (reference numerals 204 and 205) in the firmware information 206. The image forming apparatus 20 refers to this firmware target function information 204 and 205 to determine which functions are to be restricted from activation. For example, this firmware target function information 205 will be used as an example. Assume that the firmware target function information 205 contains the information that "if both firmware 02 and firmware 03 fail to be updated, function B cannot be activated." "Firmware 02" corresponds to paper feed unit 214, "firmware 03" corresponds to paper feed unit 213, and function B corresponds to the print function.

[0014] In this case, if the image forming device 20 is successfully updated to either "Firmware 02" or "Firmware 03," it can activate function B. Therefore, even if the update to either "Firmware 02" or "Firmware 03" fails, the print function can be activated.

[0015] Therefore, the image forming device 20 controls the activation of functions corresponding to firmware on the condition that multiple firmware updates are successful or unsuccessful, thereby increasing the possibility that the corresponding functions can be activated even if the firmware update fails to be activated, thereby reducing downtime of the functions.

[0016] <Terminology> Firmware is a type of software embedded in electronic devices and the like, which has the function of controlling the basic operations of the hardware. Since firmware is an intermediate entity between hardware and software, it is called "firm", but it is actually a program.

[0017] An update means replacing the program installed on a computer with a newer program than the currently installed program. The purposes of updates are various. For example, it may be for improving device or app malfunctions, adding new functions, enhancing security, etc. Note that it may also be possible to replace the program installed on a computer with an older program than the currently installed program.

[0018] The functions of a device refer to the actions and operations realized by the cooperation of the device's hardware and the program that controls this hardware. For example, when the device is an image forming apparatus 20, the functions include a printing function, a scanner function, a FAX function, etc. When the device has multiple functions, the functions can be either one or more.

[0019] Restriction of a function means suppressing it so that it does not go beyond a certain range of available functions. For example, if the performance of a function is set to 100, the restriction is that the performance is limited to less than 100. Restriction includes prohibition. In this embodiment, prohibition of startup is used as an example of function restriction, but it may be the case that only a part of the function becomes unavailable to the user.

[0020] The version of a program is a number assigned to represent the stage of revision when the program is revised. The notation called semantic versioning, which is similar to a decimal point, represents the magnitude of the version difference in three digits: major, minor, and patch, from left to right.

[0021] <Configuration Example> 2 shows an example of the system configuration of an image forming apparatus 20 that is the target of a firmware update. FIG. 2(a) shows an equipment system 100 that includes an information processing apparatus 40 and the image forming apparatus 20. In FIG. 2(a), the image forming apparatus 20 and the information processing apparatus 40 are communicably connected via a network N. Note that the information processing apparatus 40 does not need to be connected to the network N at all times. The network N may be a LAN or Wi-Fi (registered trademark) within the facility where the image forming apparatus 20 is located, or a USB cable.

[0022] The image forming device 20 is an example of a device in which multiple pieces of firmware corresponding to different functions are updated as needed. The image forming device 20 may be, for example, a device called a multifunction device or MFP (Multifunction Peripheral) that combines multiple different functions. The image forming device 20 may have one or more of a print function, a scanner function, a fax function, and a copy function. The image forming device 20 may also be called an image processing device, a printing device, a printer, a scanner device, or the like, depending on the functions it has.

[0023] Furthermore, the image forming apparatus 20 is merely one example of a device on which multiple pieces of firmware are executed. In addition to the image forming apparatus 20, the device may be an electronic whiteboard, a projector, a video conference terminal, a digital signage, a drone, a robot, a telephone, a television receiver, etc. Furthermore, the device may also be a game machine, a general-purpose PC (Personal Computer), a surveillance camera, industrial equipment with a communication function, etc. Industrial equipment includes medical equipment, agricultural equipment such as a tiller, etc.

[0024] The information processing device 40 may be a general-purpose PC. The information processing device 40 stores a firmware package for updating. The information processing device 40 communicates with the image forming device 20 in response to an operation by a user (mainly an administrator of the device or device system) and transmits the stored firmware package to the image forming device 20. Upon receiving the firmware package, the image forming device 20 starts updating the firmware. Note that the image forming device 20 may start updating the firmware by an operation by the user.

[0025] As shown in FIG. 2(b), the image forming apparatus 20 may be able to communicate with a server apparatus 60 on a network. FIG. 2(b) shows an equipment system 100 having the server apparatus 60 and the image forming apparatus 20. The image forming apparatus 20 and the server apparatus 60 are communicatively connected via a wide area network N1 such as the Internet. The image forming apparatus 20 is installed in a facility such as a company, and is connected to a network N2 installed in the facility. The network N2 may be a LAN, Wi-Fi (registered trademark), wide area Ethernet (registered trademark), or a mobile phone network such as 4G, 5G, or 6G.

[0026] The server device 60 may be realized by one or more computers. The server device 60 may be realized by cloud computing or by a single information processing device. Cloud computing refers to a form in which resources on a network are used without being aware of specific hardware resources. The server device 60 may exist on the Internet or on-premise.

[0027] In the form of Fig. 2(b), when the image forming apparatus 20 is activated (such as when the power is turned on or when waking up from sleep) or at a fixed time, etc., it connects to the server apparatus 60 to inquire about a new firmware package or the latest version of each firmware. When the image forming apparatus 20 finds a new firmware package or a firmware version newer than the version already installed in itself, it downloads the firmware package. The image forming apparatus 20 may automatically execute the firmware update, or it may be executed by the operation of a user (for example, an administrator).

[0028] Also, as shown in Fig. 2(c), the image forming apparatus 20 does not necessarily need to communicate with the information processing apparatus 40 or the server apparatus 60. In this case, a user (for example, an administrator or a customer engineer) stores the firmware package in a portable storage medium and mounts the storage medium in the memory slot of the image forming apparatus 20. The image forming apparatus 20 can read the firmware package from the storage unit. The image forming apparatus 20 may automatically start the firmware update, or it may be started by the operation of a user.

[0029] In the following description, unless otherwise specified, it is assumed that the firmware of the image forming apparatus 20 is updated in the system configuration of Fig. 2(b).

[0030] <Hardware Configuration Example> Fig. 3 is a diagram showing an example of the hardware configuration of the image forming apparatus 20 according to an embodiment of the present invention. As shown in Fig. 3, the image forming apparatus 20 includes a controller 910, a short-range communication circuit 920, an engine control unit 930, an operation panel 940, and a network I / F 950. Here, the image forming apparatus 20 may be an image forming apparatus 20, an MFP, a Multifunction Peripheral / Product / Printer.

[0031] Of these, the controller 910 has a CPU 901, 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, an HDD controller 908, and an HD 909, and is configured such that the NB 903 and the ASIC 906 are connected by an AGP (Accelerated Graphics Port) bus 921.

[0032] Of these, the CPU 901 controls the entire image forming apparatus 20. The NB 903 is a bridge for connecting the CPU 901 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.

[0033] The MEM-P 902 comprises a ROM 902a, which is memory for storing programs and data that realize the functions of the controller 910, 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-ROM, CD-R, or DVD.

[0034] SB904 is a bridge for connecting NB903 with a PCI device and peripheral devices. ASIC906 is an IC (Integrated Circuit) for image processing applications having hardware elements for image processing, and serves as a bridge for connecting an AGP bus 921, a PCI bus 922, an HDD controller 908, and a MEM-C 907 respectively. This ASIC906 includes a PCI target and an AGP master, an arbiter (ARB) forming the core of the ASIC906, a memory controller for controlling MEM-C 907, a plurality of DMACs (Direct Memory Access Controllers) for performing operations such as rotation of image data by means of hardware logic, etc., and a PCI unit for performing data transfer via the PCI bus 922 between a scanner unit 931, a printer unit 932, a fax unit 933, and paper feed units 213 and 214. Note that a USB (Universal Serial Bus) interface or an IEEE1394 (Institute of Electrical and Electronics Engineers 1394) interface may be connected to the ASIC906.

[0035] The short-range communication circuit 920 has a card reader 920a for reading user authentication information etc. stored in an IC card or the like.

[0036] The operation panel 940 has a touch panel 940a for receiving input by the user and a numeric keypad 940b. Also, the touch panel 940a displays a setting screen etc. of the image forming apparatus 20.

[0037] The network I / F 950 is a NIC (Network Interface Card) or a wireless LAN communicator for connecting to a network N. The image forming apparatus 20 communicates with an information processing apparatus via the network I / F 950.

[0038] The CPU 901 controls the overall operation of the image forming apparatus 20 by executing programs stored in the ROM 902a or the HD 909 etc. using the RAM 902B as a work area, and realizes various functions such as a copy function, a scanner function, a fax function, and a print function. The programs (firmware) stored in the ROM 902a or the HD 909 etc. can be rewritten by the user performing a firmware update.

[0039] <<Information processing apparatus or server apparatus>> FIG. 4 is a diagram showing an example of the hardware configuration of the information processing apparatus 40 or the server apparatus 60. As shown in FIG. 4, the information processing apparatus 40 or the server apparatus 60 is constructed by a computer 500, and includes a CPU 501, a ROM 502, a RAM 503, an HD (Hard Disk) 504, an HDD (Hard Disk Drive) controller 505, a display 506, an external device connection I / F (Interface) 508, a network I / F 509, a bus line 510, a keyboard 511, a pointing device 512, an optical drive 514, and a media I / F 516.

[0040] Of these, the CPU 501 controls the overall operation of the computer 500. The ROM 502 stores programs, such as an IPL, used to drive the CPU 501. The RAM 503 is used as a work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading and writing of various data from and to the HD 504 under the control of the CPU 501. The display 506 displays various information, such as a cursor, menus, windows, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memories and printers. The network I / F 509 is an interface for data communication using a network. The bus line 510 is an address bus, a data bus, or the like, for electrically connecting the components, such as the CPU 501, shown in FIG. 4.

[0041] The keyboard 511 is a type of input means having multiple keys used to input characters, numbers, various instructions, etc. The pointing device 512 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The optical drive 514 controls reading and writing of various data from an optical storage medium 513, which is an example of a removable storage medium. The optical storage medium 513 may be a CD, a DVD, Blu-ray (registered trademark), etc. The media I / F 516 controls reading and writing (storing) of data from a storage medium 515, such as a flash memory.

[0042] <About the function> FIG. 5 is a functional block diagram for explaining the functions of the image forming apparatus 20 of the present embodiment by dividing them into blocks. The image forming apparatus 20 includes a network control unit 21, an update management unit 22, and a function activation control unit 23. Note that FIG. 5 shows the main functions in the description of the present embodiment, and the image forming apparatus 20 may have other functions such as a print control unit. Each of these functional units included in the image forming apparatus 20 is a function or means realized by the CPU 901 executing instructions included in one or more programs installed in the image forming apparatus 20. Alternatively, each functional unit may be realized by an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), or a hard circuit module or the like.

[0043] The network control unit 21 is a function for communicating with the information processing apparatus 40 and the server apparatus 60, and receives a firmware package from the information processing apparatus 40 and the server apparatus 60. The firmware package includes function information corresponding to the firmware (the above-described firmware target function information).

[0044] The update management unit 22 shifts the operation mode of the image forming apparatus 20 to the firmware update mode and performs the firmware update. Further, the update management unit 22 determines the success or failure of the update, and in the case of failure, attempts to retry the update or restore the firmware.

[0045] The function activation control unit 23 restricts the activation of the function corresponding to the firmware based on the success or failure of the update. For example, the function activation control unit 23 prohibits the activation of the function corresponding to the firmware that has failed to be updated.

[0046] <Firmware Update Processing in the Comparative Technology> First, referring to FIG. 6, the firmware update process in the comparative technology will be described. This is because the superiority of the present embodiment can be clarified by comparing the comparative technology with the present embodiment. FIG. 6 is a flowchart diagram for explaining the process in which the firmware does not activate the corresponding function when the firmware update fails in the comparative technology.

[0047] First, the network control unit 21 receives a firmware package transmitted from the information processing device 40 or the server device 60 via the network I / F 950 in response to a fixed time, power-on, or user operation. As will be described later, the firmware package includes firmware and firmware information. The firmware information describes firmware target function information about the firmware included in the package.

[0048] Triggered by receiving the information of the firmware package, the update management unit 22 starts the firmware update. The update management unit 22 shifts the image forming apparatus 20 to the firmware update mode (S101). The firmware update mode is a mode in which the firmware for normally used functions such as the print function is not executed so that the firmware can be rewritten. In the firmware update mode, unlike the normal operation mode in which functions such as the print function can be executed, functions such as the print function cannot be accepted. In the firmware update mode, a program for firmware update is executed.

[0049] Next, the update management unit 22 performs the firmware update (S102). The update management unit 22 overwrites the same firmware stored in the flash memory with the firmware in the firmware package. Note that the update management unit 22 compares the old and new firmware in bit units and verifies the signature attached to the firmware package.

[0050] Next, the update management unit 22 determines whether the update was successful or failed (S103). The case of failure includes failure to write to the flash memory (bit-by-bit comparison does not match, there is an abnormality in the flash memory), the signature verification fails (including the case where there is no signature), a part of the firmware included in the firmware package does not exist (file loss), etc.

[0051] If it is successful (Yes in S103), the process proceeds to step S104. If it is failed (No in S103), the process proceeds to step S105.

[0052] In step S104, the update management unit 22 determines whether there is any other firmware in the firmware package (S104). If there is other firmware, the process proceeds to step S102. If not, the process proceeds to step S108.

[0053] In step S105, the update management unit 22 performs a firmware update retry and a firmware restoration (S105). Retry means re-doing the update, which refers to downloading the firmware package, powering off and on, and updating again. Restoration means restoring the firmware that failed to update to the original firmware. Restoration is possible when two areas are prepared in the flash memory for one firmware. Restoration will be described with reference to FIG. 7.

[0054] FIG. 7 shows a schematic diagram of two areas prepared in the flash memory. Both areas are for firmware ABC, but the image forming apparatus 20 switches the active area to change the firmware to be started. Assume that area 231 is currently active, and area 232 is used as a backup for the old firmware. The update management unit 22 overwrites the backup area 232 with firmware 233 from the firmware package. If the update is successful, the update management unit 22 activates area 232 and changes area 231 to a backup area. However, if the backup fails, the update management unit 22 searches for the active area 231 and determines whether startup is possible using the active area 231. If the active area 231 is available and startup is possible, the update management unit 22 designates area 231 as the active area. This is called restoration. Note that not all firmware has two areas prepared, and restoration may or may not be possible.

[0055] Returning to Fig. 6, the update management unit 22 determines whether the retry or restoration was successful or failed (S106). If successful (Yes in S106), the process proceeds to step S104, and if unsuccessful (No in S106), the process proceeds to step S107.

[0056] In step S107, the function activation control unit 23 prohibits the execution of a function corresponding to the update (for example, a print function or a scanner function) (S107).

[0057] When all firmware updates are complete (No in S104), in step S108, the update management unit 22 transitions the image forming apparatus 20 to normal mode and ends the process. The normal mode is an operating mode in which firmware related to normally used functions such as the print function is activated.

[0058] In the process of FIG. 6, when multiple pieces of firmware are related to one function, if updating of even one of the multiple pieces of firmware fails, execution of the function corresponding to the failed firmware will be prohibited.

[0059] <Function control at the time of failure of update using firmware target function information> Therefore, in the present embodiment, the image forming apparatus 20 controls activation of functions corresponding to firmware on the condition of success or failure of update of a plurality of firmwares using firmware target function information.

[0060] FIG. 8 shows an example of information included in the firmware package 201. The firmware package 201 is a file, folder, or database that groups one or more firmwares 202 of a new version and firmware information 206. The firmware package 201 may or may not be compressed. The firmware package in FIG. 8 includes three firmwares, but the number of firmwares may be one, two, or four or more.

[0061] The firmware information 206 describes, for example, the version 203 of each firmware and the firmware target function information 204, 205. The firmware target function information 204, 205 is information on functions to be controlled by each firmware. As an example, assume that "Firmware 01" is firmware that controls function A (for example, a print function or a scanner function). The firmware target function information 204 describes that "when the update of Firmware 01 fails, function A cannot be activated".

[0062] As shown in the firmware target function information 205, not only functions related to a single firmware but also combinations of a plurality of firmwares may have descriptions regarding whether or not functions can be activated. The firmware target function information 205 describes functions that cannot be activated when updates of a plurality of firmwares fail. For example, in FIG. 8, the firmware target function information 205 describes that "when both Firmware 02 and Firmware 03 fail to update, function B cannot be activated".

[0063] Therefore, when updating of all of the plurality of firmware has failed, the function activation control unit 23 restricts activation of function B. In other words, when updating of only some of the plurality of firmware has failed, the function activation control unit 23 does not restrict activation of function B. Therefore, the image forming apparatus 20 of this embodiment can reduce downtime.

[0064] Note that the firmware target function information 204, 205 may describe control over function activation on the condition that the firmware update is successful as well as on the condition that the firmware update is unsuccessful. In this case, the firmware target function information 205 may describe, for example, that function B is activated if only one of "Firmware 02" and "Firmware 03" is successfully updated.

[0065] Furthermore, one or more functions may be associated with a combination of three or more firmware in the firmware target function information 205. Furthermore, the firmware target function information may state that one firmware is related to the activation conditions of multiple functions.

[0066] Next, referring to Fig. 9, a case will be described in which the firmware target function information 205 indicates the failure or success of multiple pieces of firmware. Fig. 9 is a diagram illustrating the correspondence between multiple pieces of firmware and the functions of the image forming apparatus 20. As shown in Fig. 9, the image forming apparatus 20 has a paper discharge stacker unit 211, a main body 212, a paper feed unit 213, and a paper feed unit 214.

[0067] Image forming apparatus 20 performs printing by feeding paper from either of two paper feed units, paper feed unit 213 or paper feed unit 214. In this case, even if the firmware update for either paper feed unit 213 or 214 fails and the failed paper feed unit 213 or 214 stops working, the print function can continue as long as the firmware update for one of paper feed units 213 or 214 was successful.

[0068] Therefore, in the configuration example of Figure 9, the firmware target function information includes the condition that "if the firmware of both paper feed unit 1 (code 213) and paper feed unit 2 (code 214) fails to be updated, the print function cannot be started."

[0069] 9 describes firmware corresponding to paper feed units 213 and 214, but the update method of this embodiment can also be applied to firmware for paper discharge units, as shown in Fig. 10. Fig. 10 is a diagram explaining the correspondence between multiple pieces of firmware and the functions of image forming apparatus 20. In Fig. 10, image forming apparatus 20 has two paper discharge units 215 and 216, and the firmware corresponding to these units is updated separately.

[0070] The image forming apparatus 20 performs printing by discharging paper from either of the two paper discharge units, paper discharge unit 215 or paper discharge unit 216. In this case, even if the firmware update for either paper discharge unit 215 or 216 fails and the failed paper discharge unit 215 or 216 becomes inoperable, the print function can be continued as long as the firmware update for one of paper discharge units 215 or 216 was successful.

[0071] Therefore, in the configuration example of Figure 10, the firmware target function information includes the condition that "if the firmware of both the paper output unit 1 (code 215) and the firmware of the paper output unit 2 (code 216) fail to be updated, the print function cannot be started."

[0072] Furthermore, the FAX function may be realized by executing two pieces of firmware, one for reception and one for transmission. In this case, there is firmware for reception and one for transmission. Even if updating the firmware for reception fails, the image forming device 20 can activate the FAX function if updating the firmware for transmission is successful. Even if updating the firmware for transmission fails, the image forming device 20 can activate the FAX function if updating the firmware for reception is successful. Therefore, the image forming device 20 can activate the FAX function if there is no failure in updating both the firmware for reception and the firmware for transmission. In this case, the firmware target function information describes the condition that "if updating both the firmware for reception and the firmware for transmission fails, the FAX function cannot be activated." Note that the FAX function may be realized by an application rather than firmware.

[0073] <Action or Processing> The firmware update process in this embodiment will be described with reference to Fig. 11. Fig. 11 is a flowchart illustrating the process in this embodiment in which the image forming apparatus 20 does not activate a function corresponding to the firmware, based on whether the firmware update has succeeded or failed. Note that Fig. 11 may mainly explain the differences from Fig. 6.

[0074] The processing of steps S201 to S206 may be the same as steps S101 to S106 in Fig. 6. In step S207, the update management unit 22 does not restrict the execution of the function, but records identification information of the firmware that failed to be updated (S207). That is, the update management unit 22 updates two or more programs included in the firmware package in order, and stores identification information of the firmware that failed to be updated. By storing the identification information of the firmware that failed to be updated, the image forming apparatus 20 can determine whether to activate functions associated with multiple firmware after the firmware update is complete.

[0075] Then, when there is no more firmware to update (No in S204), the function activation control unit 23 prohibits activation of the function corresponding to the firmware combination based on the firmware target function information, regardless of whether all firmware included in the firmware package has been successfully updated (S208). However, it is considered that the activation of a function is prohibited in many cases when there is "failed firmware" in step S207.

[0076] Prohibiting activation of a function may include prohibiting execution of the function, or making the function unavailable to the user even if activated (such as the button being displayed with low brightness or being unable to be pressed).

[0077] In step S209, the update management unit 22 transitions to the normal mode and ends the processing of FIG.

[0078] In this way, the image forming apparatus 20 of this embodiment controls the activation of functions corresponding to the firmware depending on whether multiple firmware updates have been successfully completed, thereby reducing the number of functions that cannot be activated. Therefore, the program update method of this embodiment can reduce downtime.

[0079] <Screen example> FIG. 12 shows a notification screen 240 displayed by the image forming apparatus 20 when an update fails. The notification screen 240 in FIG. 12 is displayed, for example, when the user selects a print app. Because the print function itself is not prohibited from being activated, the user can select the print app. In FIG. 12, a message 241 is displayed stating, "Firmware update for one of the print functions failed. The print function for printing A4 portrait cannot be used." A4 portrait printing refers to the paper size and paper feed direction that can only be fed by either paper feed unit 213 or 214. The update management unit 22 retains some of the functions of paper feed units 213 and 214, and can notify the user of the functions that are no longer available if an update fails. By checking message 241, the user can determine which print functions are available and which are unavailable.

[0080] <Feature launch control according to firmware version> Next, a description will be given of firmware activation restrictions using firmware versions.

[0081] As shown in Fig. 13, the firmware target function information can also include the firmware version. Fig. 13 shows firmware information 206 that can control the activation of functions depending on the firmware version. The explanation of Fig. 13 will mainly focus on the differences from Fig. 8. The firmware target function information 221, 222 in Fig. 13 is as follows: Firmware target function information 221 "Function A cannot be activated unless firmware 01 version is 0.01 or later and firmware 02 version is 0.05 or later." Firmware target function information 222 "Function B cannot be activated unless firmware 03 is version 0.02 or later, and firmware 99 is version 0.10 or later." By using such firmware target function information, if multiple pieces of firmware do not satisfy this version condition when the firmware update is complete, the image forming apparatus 20 can be controlled so that it cannot activate function A or B. Therefore, even if the firmware update fails, the image forming apparatus 20 can activate the function depending on the version of the (activatable) firmware installed in the image forming apparatus 20.

[0082] Note that the firmware that is a condition for activation is not limited to firmware included in this firmware package 201. As an example, a case will be described where firmware called "Firmware 99" that is not included in this firmware package 201 is installed in the image forming apparatus 20. If the firmware target function information 222 indicates that the version of the originally installed "Firmware 99" is less than 0.10, the image forming apparatus 20 will not activate function B. In this way, the firmware target function information can make firmware that is not included in the firmware package 201 a condition for activation of the corresponding function.

[0083] With reference to Fig. 14, a firmware update process using firmware target function information such as that shown in Fig. 13 will be described. Fig. 14 is a flowchart illustrating a process in this embodiment in which the image forming apparatus 20 restricts the activation of functions supported by the firmware based on the firmware version. Note that Fig. 14 may mainly explain the differences from Fig. 11. The processes in steps S201 to S206 may be the same as those in Fig. 11.

[0084] In step S207, the update management unit 22 records firmware that cannot be started (S207). That is, the update management unit 22 updates two or more programs included in the firmware package in order and stores identification information of firmware that cannot be started. "Cannot be started" refers to firmware that has failed to be updated and cannot be restored. Therefore, firmware that is an older version before the update but can be started is not recorded.

[0085] When the update of all firmware in the firmware package 201 is completed regardless of whether it was successful or not (No in S204), in step S301, the update management unit 22 extracts the versions of all firmware installed in the image forming apparatus 20. Furthermore, the update management unit 22 identifies the firmware that cannot be started, recorded in step S207, from among the firmware whose versions have been extracted (S301). By identifying the firmware that cannot be started, the firmware that can be started is also identified.

[0086] Next, the update management unit 22 compares the firmware version combination conditions described in the firmware target function information with the firmware versions that can be activated identified in step S301, and if there is a function that does not satisfy the conditions, notifies the function activation control unit 23. The function activation control unit 23 prohibits activation of this function (S302). Note that the processing in step S209 may be the same as that in FIG. 11.

[0087] In this way, by considering multiple firmware versions associated with one function, the possibility of being able to start the function corresponding to the firmware increases, thereby reducing downtime.

[0088] <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.

[0089] While this embodiment has primarily described firmware updates, the update method of this embodiment can also be applied to application updates. For example, consider an application called a scan app, which has the function of saving scanned image data. The scan app also has two applications: one for folder storage and one for server storage. In this case, the image forming device 20 can launch the scan app if both the folder storage and server storage applications fail to update. If only one program fails to update, the launch of the failed folder storage or server storage application is restricted, while the successful folder storage or server storage application is permitted. In this way, if the image forming device 20 fails to update one of the two applications, the use of the scan app can be restricted depending on the image data transmission destination. When a user uses the scan app, the image forming device 20 displays a message, such as "Image data cannot be saved to XX," depending on the application that failed to update.

[0090] Fig. 15 shows an example of information contained in an application package 251. The application package 251 is a file, folder, or database that compiles one or more new versions of applications 252 and application information 256. The application package 251 may be compressed or uncompressed. The application package in Fig. 15 includes two applications, but may include one application or three or more applications.

[0091] The application information 256 includes, for example, the version 253 of each application and application target function information 254. The application target function information 254 is information about the application that each application controls. As an example, assume that "application 1" is an application for folder storage and "application 2" is an application for server storage. In FIG. 15, the application target function information 254 includes information such as "if updates for both application 1 and application 2 fail, the scan application cannot be started." In this way, the application target function information 254 can include whether or not a function (scan application) can be started for a combination of multiple applications.

[0092] Furthermore, the configuration examples shown in Figure 5 and elsewhere are divided according to main functions to facilitate understanding of the processing by the image forming apparatus 20. The method of dividing the processing units and their names do not limit the present invention. The processing by the image forming apparatus 20 can be divided into even more processing units depending on the processing content. Furthermore, the processing can be divided so that one processing unit includes even more processing.

[0093] 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.

[0094] <Additional Notes> [Appendix 1] A device capable of updating installed programs, an update management unit that updates the program; a function activation control unit that activates the functions corresponding to a combination of a plurality of programs when updating of only some of the programs among the combination of a plurality of programs fails based on firmware target function information in which functions are associated with the combination of the plurality of programs; Equipment having: [Appendix 2] the firmware target function information is associated with the function whose activation is restricted when updating of all of the plurality of programs fails, The device according to claim 1, wherein the function activation control unit restricts activation of the function if updating of all of the plurality of programs fails. [Appendix 3] the firmware target function information is associated with the function whose activation is restricted when updating of all of the plurality of programs fails, The device according to claim 1, wherein the function activation control unit does not restrict activation of the function when updating fails for only some of the plurality of programs. [Appendix 4] The device according to claim 3, wherein the function activation control unit activates the function corresponding to the plurality of programs when an update is successful for some of the combination of the plurality of programs. [Appendix 5] the update management unit sequentially updates two or more programs included in a firmware package, and stores the programs that have failed to be updated; An apparatus as described in any one of Appendices 1 to 3, wherein when the update of the two or more programs is completed regardless of whether it was successful or not, the function activation control unit restricts the activation of the functions corresponding to the multiple programs whose update failed, which have been stored based on the firmware target function information. [Appendix 6] the firmware target function information associates, for each of the plurality of programs, a version required to activate the function associated with the plurality of programs; When the function startup control unit restricts the startup of the function if the versions of the plurality of programs that can be started by the device do not meet the required versions described in the firmware target function information, the device according to any one of Supplementary Notes 1 to 3. [Supplementary Note 7] The update management unit updates the two or more programs included in the firmware package in order, stores the programs that become unable to be started due to the update, When the update of the two or more programs is completed regardless of success or failure, if the versions of the plurality of programs that can be started by the device do not meet the required versions described in the firmware target function information, the function startup control unit restricts the startup of the function, the device according to Supplementary Note 5. [Supplementary Note 8] In the firmware target function information, the plurality of programs are associated with a print function, The plurality of programs are programs related to different paper feed units respectively, When the update of the plurality of programs fails, the function startup control unit restricts the startup of the print function, When only some of the plurality of programs fail to be updated, the device according to any one of Supplementary Notes 1 to 6 that does not restrict the startup of the print function. [Supplementary Note 9] In the firmware target function information, the plurality of programs are associated with a print function, The plurality of programs are programs related to different paper discharge units respectively, When the update of the plurality of programs fails, the function startup control unit restricts the startup of the print function, When only some of the plurality of programs fail to be updated, the device according to any one of Supplementary Notes 1 to 6 that does not restrict the startup of the print function. [Supplementary Note 10] In the firmware target function information, the plurality of programs are associated with the FAX function, The plurality of programs are each a program related to FAX transmission and reception, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the FAX function, The device according to any one of Appendices 1 to 6, wherein when only a part of the plurality of programs fails to be updated, the activation of the FAX function is not restricted. [Appendix 11] In the firmware target function information, the plurality of programs are associated with the scan application, The plurality of programs are each a program different depending on the transmission destination of the scanned image data, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the scan application, The device according to any one of Appendices 1 to 6, wherein when only a part of the plurality of programs fails to be updated, the activation of the scan application is not restricted. [Appendix 12] The device according to any one of Appendices 1 to 9, wherein when only a part of the plurality of programs fails to be updated, it displays that only the function corresponding to the part of the programs that failed to be updated cannot be used.

Explanation of Signs

[0095] 20 Image forming apparatus 60 Server apparatus

Prior Art Documents

Patent Documents

[0096]

Patent Document 1

Claims

1. A device capable of updating an installed program, comprising: an update management unit that updates the program; a function activation control unit that activates the functions corresponding to the plurality of programs when an update fails only for some of the plurality of program combinations based on firmware target function information in which functions are associated with combinations of the plurality of programs; The device having the above.

2. The firmware target function information is associated with the function whose activation is restricted when updates fail for all of the plurality of programs. The device according to claim 1, wherein the function activation control unit restricts activation of the function when updates fail for all of the plurality of programs.

3. The firmware target function information is associated with the function whose activation is restricted when updates fail for all of the plurality of programs. The device according to claim 1, wherein the function activation control unit does not restrict activation of the function when updates fail only for some of the plurality of programs.

4. The device according to claim 3, wherein the function activation control unit activates the functions corresponding to the plurality of programs when updates succeed for some of the plurality of program combinations.

5. The update management unit updates two or more programs included in a firmware package in order, stores the programs for which updates have failed, and when the update of the two or more programs is completed regardless of success or failure, the function activation control unit restricts activation of the functions corresponding to the plurality of programs that have been stored and for which updates have failed, based on the firmware target function information. The device according to any one of claims 1 to 4.

6. The firmware target function information is associated with, for each of the plurality of programs, the version required for activation of the functions associated with the plurality of programs. The device according to any one of claims 1 to 4, wherein the function activation control unit restricts activation of the function when the versions of the plurality of programs that can be activated on the device do not meet the required version described in the firmware target function information.

7. The update management unit updates two or more programs included in the firmware package in order, stores the programs that become unable to be started due to the update, When the update of the two or more programs is completed regardless of success or failure, the function activation control unit restricts the activation of the function associated with the plurality of programs when the versions of the plurality of programs that can be started on the device do not satisfy the necessary versions described in the firmware target function information. The device according to claim 6.

8. In the firmware target function information, the plurality of programs are associated with a print function, The plurality of programs are programs related to different paper feeding units respectively, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the print function, The device according to claim 1, wherein when only a part of the plurality of programs fails to be updated, the activation of the print function is not restricted.

9. In the firmware target function information, the plurality of programs are associated with a print function, The plurality of programs are programs related to different paper discharge units respectively, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the print function, The device according to claim 1, wherein when only a part of the plurality of programs fails to be updated, the activation of the print function is not restricted.

10. In the firmware target function information, the plurality of programs are associated with a FAX function, The plurality of programs are programs related to FAX transmission and reception respectively, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the FAX function, The device according to claim 1, wherein when only a part of the plurality of programs fails to be updated, the activation of the FAX function is not restricted.

11. In the firmware target function information, the plurality of programs are associated with a scan application, The plurality of programs are programs different depending on the transmission destination of the scanned image data respectively, When the update of the plurality of programs fails, the function activation control unit restricts the activation of the scan application, The device according to claim 1, wherein when only a part of the plurality of programs fails to be updated, the activation of the scan app is not restricted.

12. The device according to claim 1, wherein when only a part of the plurality of programs fails to be updated, a message indicating that only the functions corresponding to the part of the programs that failed to be updated cannot be used is displayed.

13. A program update method performed by a device capable of updating an installed program, comprising: a process of updating the program; a process of activating the functions corresponding to the plurality of programs, when only a part of the plurality of programs fails to be updated, based on firmware target function information in which functions are associated with combinations of the plurality of programs; A program update method that performs these processes.

14. A program for causing a device capable of updating an installed program to function as: an update management unit that updates the program; a function activation control unit that activates the functions corresponding to the plurality of programs when only a part of the plurality of programs fails to be updated, based on firmware target function information in which functions are associated with combinations of the plurality of programs. ​

Citation Information

Patent Citations

  • Information processor and control method for the same

    JP1997097221A