JP2009042818A - Image forming apparatus, program and recording medium - Google Patents

Image forming apparatus, program and recording medium Download PDF

Info

Publication number
JP2009042818A
JP2009042818A JP2007204208A JP2007204208A JP2009042818A JP 2009042818 A JP2009042818 A JP 2009042818A JP 2007204208 A JP2007204208 A JP 2007204208A JP 2007204208 A JP2007204208 A JP 2007204208A JP 2009042818 A JP2009042818 A JP 2009042818A
Authority
JP
Japan
Prior art keywords
update
image forming
forming apparatus
control
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007204208A
Other languages
Japanese (ja)
Inventor
Hiroshi Kobayashi
寛 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007204208A priority Critical patent/JP2009042818A/en
Publication of JP2009042818A publication Critical patent/JP2009042818A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming apparatus, a program and a recording medium that can implement a safe update on programs such as system firmware. <P>SOLUTION: The image forming apparatus 10, which has a plurality of systems for redundancy, includes a start control means 210 for reading out a control program 310 corresponding to a specified system 250 to be started out of the plurality of systems by reference to a start control flag specifying the system 250 to execute a starting process, and an update control means 214 for, according to external update data, setting the start control flag 300 at a value specifying another system different from a target system to be updated, setting update progress information 302 representing the target system and updated systems, and starting to update the control program corresponding to the target system. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、画像形成装置に関し、より詳細には、安全にプログラム更新を行なう画像形成装置、プログラムおよび記録媒体に関する。   The present invention relates to an image forming apparatus, and more particularly, to an image forming apparatus, a program, and a recording medium for safely updating a program.

プリンタや複合機などの画像形成装置のネットワーク対応に伴い、画像形成装置のシステム・ファームウェアなどのプログラム更新を行なう場合に、ROM交換やSD(Secure Digital)メモリカードなどのメディアを介したプログラム更新のように作業者が行なう方法に加え、ネットワーク経由でダウンロードした更新ファイルによるリモート更新も可能となっている。ネットワークを介したプログラム更新に関連する技術として、例えば特開平11−203218号公報(特許文献1)を挙げることができる。   When a program such as a system firmware of an image forming apparatus is updated in accordance with the network support of an image forming apparatus such as a printer or a multifunction peripheral, the program is updated via a medium such as a ROM exchange or an SD (Secure Digital) memory card. In addition to the method performed by the operator, remote update using an update file downloaded via the network is also possible. As a technique related to program update via a network, for example, JP-A-11-203218 (Patent Document 1) can be cited.

また、画像形成装置が備える記憶容量の増大に伴い、システムを二重化し、システムの障害耐性を高めた画像形成装置も開発されている。このような画像形成装置では、一方のシステムが、システム・ファームウェアの更新処理中の電源断などによって障害を受けた場合であっても、他方のシステムによる起動が可能とされる。上述した冗長システムでは、システム・ファームウェアの再更新によって、システムを復旧することができ、装置が起動できなくなるという事態を好適に防止することができる。システムの二重化に関連して、例えば特開2005−339271号公報(特許文献2)は、カード型メモリを用いたレスキューシステムを開示する。
特開平11−203218号公報 特開2005−339271号公報
Further, as the storage capacity of the image forming apparatus increases, an image forming apparatus has been developed in which the system is duplicated and the fault tolerance of the system is increased. In such an image forming apparatus, even if one system suffers a failure due to a power failure or the like during the system firmware update process, the other system can be activated. In the redundant system described above, the system can be restored by re-updating the system firmware, and a situation in which the apparatus cannot be activated can be suitably prevented. In relation to system duplication, for example, Japanese Patent Application Laid-Open No. 2005-339271 (Patent Document 2) discloses a rescue system using a card type memory.
Japanese Patent Laid-Open No. 11-203218 JP 2005-339271 A

しかしながら、上述のようにシステムを二重化した場合であっても、システム・ファームウェアのプログラム更新の中断によって、2つのシステムが共に障害を受けてしまう可能性があり、2つのシステムが共に破壊された状態に陥ると、システムの復旧および利用ができなくなってしまうという問題点があった。   However, even when the system is duplicated as described above, interruption of the system firmware program update may cause both systems to fail, and the two systems are both destroyed. If this happens, there is a problem that the system cannot be recovered and used.

例えば、システムAおよびシステムBとして二重化された画像形成装置においては、システムAの更新中に電源断が発生してシステムAが破壊された場合であっても、システムBによる起動が可能とされている。しかしながら、さらにシステムBの更新中に再度電源断が発生し、システムBも破壊された場合には、両方のシステムが破壊された状態となるため、起動不能となってしまうという問題点があった。   For example, in an image forming apparatus that is duplicated as system A and system B, even when system A is destroyed due to a power interruption during updating of system A, activation by system B is possible. Yes. However, if the power supply is interrupted again during the update of the system B and the system B is also destroyed, both systems are in a state of being destroyed, so that there is a problem that the system cannot be started. .

また、上述のような二重化されたシステムにおいては、2つのシステムの更新状態の同期が取られていることが好ましく、1つの更新ファイルによって連続的に更新処理を行なうことが望まれていた。   Further, in the duplex system as described above, it is preferable that the update states of the two systems are synchronized, and it has been desired to perform the update process continuously with one update file.

本発明は、上記問題点に鑑みてなされたものであり、システム・ファームウェアなど、更新処理の中断によりシステムに障害を与える可能性のあるソフトウェア・モジュールのプログラム更新において、如何なるタイミングで当該更新処理の中断が発生した場合であっても、また中断が連続して発生した場合であっても、少なくとも1つのシステムによる起動および障害を受けたシステムの復旧を可能とし、もってプログラム更新処理を安全に行なうことを可能とする画像形成装置、プログラムおよび記録媒体を提供することを目的とする。   The present invention has been made in view of the above-mentioned problems, and at any timing of the update of a software module such as system firmware that may damage the system due to interruption of the update process, the update process is performed at any timing. Even when an interruption occurs or even when interruptions occur continuously, at least one system can be activated and a damaged system can be recovered, and program update processing can be performed safely. An object of the present invention is to provide an image forming apparatus, a program, and a recording medium.

本発明は、上記課題を解決するために、複数のシステムにより多重化された画像形成装置において、複数のシステムのうち、起動させるシステムを指定する起動制御フラグを参照して、指定されたシステムに対応する制御プログラムを読出し、起動処理を実行する起動制御手段と、取得した更新データに従って、対象システムに対する制御プログラムの更新処理を開始する更新制御手段とを含む構成を採用する。   In order to solve the above-described problem, the present invention relates to an activation control flag for designating a system to be activated among a plurality of systems in an image forming apparatus multiplexed by a plurality of systems. A configuration is adopted that includes a start control unit that reads a corresponding control program and executes a start process, and an update control unit that starts a control program update process for the target system in accordance with the acquired update data.

本発明において複数システムによる多重化とは、オペレーティング・システムと、画像形成装置の機能を提供するための各種制御サービスとからなるシステム・ファームウェアに対応する制御プログラムを、複数組、記憶手段に記憶し、起動制御フラグに応じて、制御プログラムを読出し起動させるシステム・ファームウェアを切換可能とされた構成をいう。本発明の更新制御手段は、更新を開始させる対象システムと相違する他のシステムの指定値を、不揮発性の記憶手段などに格納される起動制御フラグに設定し、かつ、対象システムと更新が完了したシステムとを示す更新進捗情報を設定してから、対象システムに対する更新処理を開始する制御を行なう。   In the present invention, multiplexing by a plurality of systems means that a plurality of sets of control programs corresponding to system firmware including an operating system and various control services for providing the functions of the image forming apparatus are stored in a storage unit. A configuration in which system firmware that reads and activates a control program can be switched in accordance with the activation control flag. The update control unit of the present invention sets a specified value of another system different from the target system to start the update to the activation control flag stored in the nonvolatile storage unit and the update with the target system is completed After the update progress information indicating the updated system is set, control for starting update processing for the target system is performed.

この制御により、更新処理中に電源断などによって処理が中断された場合であっても、次回起動時には、中断時に更新されていたシステムとは異なる他のシステムにより起動され、また、再更新によりシステムを復旧させる場合には、更新が中断されたシステムから再更新を行なって、その完了後に次のシステムに対する更新処理が開始することが可能となる。かくして、如何なるタイミングで当該更新処理の中断が発生した場合であっても、また中断が連続して発生した場合であっても、少なくとも1つのシステムによる起動が保証され、もって、プログラム更新処理の安全性が向上される。   With this control, even if the process is interrupted during the update process due to a power failure or the like, at the next startup, the system is started by another system that is different from the system that was updated at the time of the interruption, and the system is re-updated. Is restored from the system where the update is interrupted, and the update process for the next system can be started after the update is completed. Thus, even when the update process is interrupted at any timing or even when the interrupt process is continuously generated, the startup by at least one system is guaranteed, so that the program update process is safe. Is improved.

すなわち本発明によれば、複数のシステムにより多重化された画像形成装置であって、前記画像形成装置は、
前記複数のシステムのうち、起動させるシステムを指定する起動制御フラグを参照して、指定された前記システムに対応する制御プログラムを読出し、起動処理を実行する起動制御手段と、
外部取得した更新データに従って、更新を開始させる対象システムと相違する他のシステムの指定値を前記起動制御フラグに設定し、かつ、前記対象システムと更新が完了したシステムとを示す更新進捗情報を設定して、前記対象システムに対する制御プログラムの更新処理を開始する更新制御手段と
を含む、画像形成装置が提供される。
That is, according to the present invention, an image forming apparatus multiplexed by a plurality of systems, wherein the image forming apparatus includes:
A startup control unit that reads a control program corresponding to the specified system and executes a startup process with reference to a startup control flag that specifies a system to be started out of the plurality of systems;
In accordance with externally acquired update data, a specified value of another system that is different from the target system that starts the update is set in the start control flag, and update progress information that indicates the target system and the system that has been updated is set Then, there is provided an image forming apparatus including update control means for starting control program update processing for the target system.

前記更新制御手段は、前記更新進捗情報を参照して、前記更新処理の中断が発生していたことを検知し、また前記中断時に更新中であったシステムと前記中断までに更新が完了したシステムとを判定し、前記更新中であったシステムから順次、未完了のシステムに対する更新処理を開始することができる。また、前記更新制御手段は、すべての前記複数のシステムに対する更新処理が完了した場合に、前記起動制御フラグを既定値に設定し、かつ、前記更新進捗情報の設定を消去することができる。さらに、前記更新制御手段は、前記更新データに含まれる更新対象モジュール識別値と、更新を開始させる前に前記更新進捗情報とともに設定される更新中モジュール識別値とを比較して、前記中断前後での更新対象のモジュールの一致を確認することができる。また前記更新制御手段は、前記更新データに含まれる電子署名を参照して、前記更新データの正当性を判定することができる。さらに、前記更新処理が失敗したことに応答して、失敗した旨および失敗理由を通知する通知手段を含むことができる。   The update control means refers to the update progress information, detects that the update process has been interrupted, and is updating the system at the time of the interruption and the system that has been updated by the interruption And the update process for the incomplete system can be started sequentially from the system being updated. In addition, the update control unit can set the activation control flag to a default value and erase the setting of the update progress information when update processing for all the plurality of systems is completed. Further, the update control means compares the update target module identification value included in the update data with the updating module identification value set together with the update progress information before starting the update, before and after the interruption. It is possible to confirm the matching of the update target modules. The update control means can determine the validity of the update data with reference to an electronic signature included in the update data. Furthermore, in response to the failure of the update process, notification means for notifying the failure and the reason for failure may be included.

さらに前記画像形成装置は、取得した前記更新データのデータ構造を解析して、各システムの更新処理を開始させる際の動作を規定する、前記起動制御フラグに設定するための指定値および前記各システムに対する更新処理の実行順位を抽出する解析手段をさらに含み、前記更新制御手段は、抽出された前記指定値を前記起動制御フラグに設定し、かつ、抽出された前記実行順位を前記更新進捗情報として設定し、前記各システムに対する前記更新処理を開始することができる。   Further, the image forming apparatus analyzes the data structure of the acquired update data, specifies an operation when starting update processing of each system, a specified value for setting the start control flag, and each system The update control means sets the extracted specified value in the activation control flag, and uses the extracted execution order as the update progress information. Set and start the update process for each system.

さらに本発明によれば、画像形成装置を、上記の各手段として機能させるための装置実行可能なプログラムが提供される。また本発明によれば、上記の各手段として、画像形成装置を機能させるための装置実行可能なプログラムを記録した装置可読な記録媒体が提供される。さらに本発明によれば、上記画像形成装置が用いる記録媒体であって、更新モジュールの制御プログラムと、前記制御プログラムの正当性を保証する電子署名と、前記制御プログラムに対応付けられたモジュール識別値と、各システムについて、当該システムと相違する他のシステムによる起動を指定する指定値および当該システムに対する更新処理の実行順位とを含むデータ構造を有する更新データを記録したコンピュータ読取可能な記録媒体が提供される。   Further, according to the present invention, there is provided an apparatus executable program for causing an image forming apparatus to function as each of the above-described means. According to the present invention, there is provided a device-readable recording medium that records a device-executable program for causing the image forming apparatus to function as each of the above-described means. Further, according to the present invention, there is provided a recording medium used by the image forming apparatus, the update module control program, an electronic signature that guarantees the validity of the control program, and a module identification value associated with the control program And a computer-readable recording medium in which update data having a data structure including a specified value for specifying activation by another system different from the system and an execution order of update processing for the system is provided for each system Is done.

以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお本実施形態では、画像形成装置の一例として、コピー、ファクシミリ、スキャナ、プリント等の画像を扱う複合機能を有する複合機10を用いた例を説明する。   Hereinafter, although embodiment of this invention is described, embodiment of this invention is not limited to the following embodiment. In this embodiment, as an example of an image forming apparatus, an example in which a multifunction machine 10 having a complex function for handling images such as a copy, a facsimile, a scanner, and a print will be described.

図1は、複合機10のハードウェア構成の実施形態を示す。複合機10は、コントローラ12と、オペレーション・パネル42と、FCU(ファクシミリ・コントロール・ユニット)44と、エンジン部46とを含み構成される。コントローラ12は、CPU(中央演算処理装置)14と、NB(ノース・ブリッジ)18と、NB18を介してCPU14と接続するASIC20と、システムメモリ16とを含み構成される。ASIC20は、各種画像処理を実行し、AGP(Accelerated Graphic Port)48を介してNB18と接続される。システムメモリ16は、描画用メモリなどとして用いられる。   FIG. 1 shows an embodiment of a hardware configuration of the multifunction machine 10. The multifunction machine 10 includes a controller 12, an operation panel 42, an FCU (facsimile control unit) 44, and an engine unit 46. The controller 12 includes a CPU (Central Processing Unit) 14, an NB (North Bridge) 18, an ASIC 20 connected to the CPU 14 via the NB 18, and a system memory 16. The ASIC 20 executes various types of image processing and is connected to the NB 18 via an AGP (Accelerated Graphic Port) 48. The system memory 16 is used as a drawing memory or the like.

ASIC20は、ローカルメモリ22と、ハードディスクドライブ(以下、HDDとして参照する。)24と、フラッシュメモリなどからなる不揮発性メモリ26(以下、NV−RAMとして参照する。)と接続される。HDD24は、画像データなどを蓄積するストレージ・デバイスであり、本実施形態では、その記憶領域が2つのパーティションに論理的に分割され、システムを二重化するための各システム・ファームウェアに対応する制御プログラム群が各パーティションに記憶されている。NV−RAM26は、複合機10の各種システム情報や各種設定情報を格納し、本実施形態では、後述するレスキューフラグおよび更新中断情報を格納する。   The ASIC 20 is connected to a local memory 22, a hard disk drive (hereinafter referred to as HDD) 24, and a nonvolatile memory 26 (hereinafter referred to as NV-RAM) such as a flash memory. The HDD 24 is a storage device that accumulates image data and the like. In this embodiment, the storage area is logically divided into two partitions, and a control program group corresponding to each system firmware for duplicating the system Is stored in each partition. The NV-RAM 26 stores various system information and various setting information of the multifunction peripheral 10, and stores a rescue flag and update interruption information, which will be described later, in this embodiment.

コントローラ12は、さらにSB(サウス・ブリッジ)28と、NIC(ネットワーク・インタフェース・カード)30と、SDカード・スロット32と、USBインタフェース34と、IEEE1394インタフェース36と、セントロニクス・インタフェース38とを含み構成され、これらはPCIバス50を介してNB18と接続される。SDカード・スロット32は、SDメモリカードが着脱可能に構成され、装着したSDメモリカードからシステム・ファームウェアの更新ファイルを読出すことができる。NIC30は、複合機10をインターネットやLANなどのネットワークに接続するインタフェース機器であり、ネットワークを介して、システム・ファームウェアの更新ファイルを受信することができる。USBインタフェース34、IEEE1394インタフェース36およびセントロニクス・インタフェース38は、それぞれの規格に準じたインタフェースであり、印刷ジョブを受付けている。   The controller 12 further includes an SB (South Bridge) 28, a NIC (Network Interface Card) 30, an SD card slot 32, a USB interface 34, an IEEE 1394 interface 36, and a Centronics interface 38. These are connected to the NB 18 via the PCI bus 50. The SD card slot 32 is configured so that an SD memory card can be attached and detached, and an update file of system firmware can be read from the loaded SD memory card. The NIC 30 is an interface device that connects the multifunction peripheral 10 to a network such as the Internet or a LAN, and can receive an update file of a system firmware via the network. The USB interface 34, the IEEE 1394 interface 36, and the Centronics interface 38 are interfaces conforming to the respective standards, and accept print jobs.

オペレーション・パネル42は、コントローラ12のASIC20と接続され、オペレータからの各種指示の入力を受付け、画面表示を行なうためのユーザ・インタフェースを提供する。FCU44およびエンジン部46は、PCIバス52を介してASIC20と接続する。エンジン部46は、アプリケーションが発行したプリント指令やスキャン指令を受け、画像形成処理や画像読取処理を実行する。   The operation panel 42 is connected to the ASIC 20 of the controller 12 and provides a user interface for receiving input of various instructions from the operator and displaying a screen. The FCU 44 and the engine unit 46 are connected to the ASIC 20 via the PCI bus 52. The engine unit 46 receives a print command or a scan command issued by the application and executes an image forming process or an image reading process.

図2は、本実施形態の複合機10のソフトウェアおよびハードウェア構成を示す。図2に示した複合機10は、各種機能を提供するための各種アプリケーション62〜70からなるアプリケーション層60と、API72に含まれる予め定義された関数により、各種アプリケーション62〜70からの処理要求を受付けているプラットフォーム層100と、エンジン・インタフェース(I/F)98を介してプラットフォーム層100と接続されるハードウェア・リソース102とを含んで構成される。   FIG. 2 shows a software and hardware configuration of the multifunction machine 10 of the present embodiment. The MFP 10 shown in FIG. 2 receives processing requests from the various applications 62 to 70 by the application layer 60 including various applications 62 to 70 for providing various functions and a predefined function included in the API 72. It includes a receiving platform layer 100 and a hardware resource 102 connected to the platform layer 100 via an engine interface (I / F) 98.

アプリケーション層60は、図2に示した実施形態では、コピー・アプリケーション62と、ファックス・アプリケーション64と、スキャナ・アプリケーション66と、プリンタ・アプリケーション68とを含み構成され、画像に関連するユーザ・サービスに固有の処理を実行する。また、本実施形態の複合機10のアプリケーション層60は、リモート更新アプリケーション70をさらに含み、リモート更新アプリケーション70は、システム・ファームウェアなどの更新ファイルの受信を制御する。   In the embodiment shown in FIG. 2, the application layer 60 includes a copy application 62, a fax application 64, a scanner application 66, and a printer application 68, for user services related to images. Perform specific processing. In addition, the application layer 60 of the MFP 10 according to the present embodiment further includes a remote update application 70, and the remote update application 70 controls reception of update files such as system firmware.

プラットフォーム層100は、OS94とともにアプリケーション62〜70からの処理要求を解釈して、ハードウェア資源の獲得要求を発生する制御サービス74〜84と、1つまたは複数のハードウェア資源を管理し、各制御サービス74〜84からの獲得要求を調停するシステム資源管理マネージャ(SRM)90と、OS94を通してエンジン部46およびコントローラ間の画像データの転送を制御するイメージメモリハンドラ(IMH)92とを含み構成される。OS94としては例えば、UNIX(登録商標)を採用することができるが、WINDOWS(登録商標)や、その他、如何なるOSを採用することができる。   The platform layer 100 interprets processing requests from the applications 62 to 70 together with the OS 94, manages control services 74 to 84 that generate hardware resource acquisition requests, and one or a plurality of hardware resources, and controls each control. A system resource management manager (SRM) 90 that arbitrates acquisition requests from the services 74 to 84 and an image memory handler (IMH) 92 that controls transfer of image data between the engine unit 46 and the controller through the OS 94 are configured. . For example, UNIX (registered trademark) can be employed as the OS 94, but WINDOWS (registered trademark) or any other OS can be employed.

プラットフォーム層100は、図2に示した実施形態では、エンジン制御サービス(ECS)74と、メモリ制御サービス(MCS)76と、オペレーション制御サービス(OCS)78と、ファクシミリ制御サービス(FCS)80と、ネットワーク制御サービス(NCS)82と、システム制御サービス(SCS)84とを含んで構成されている。   In the embodiment shown in FIG. 2, the platform layer 100 includes an engine control service (ECS) 74, a memory control service (MCS) 76, an operation control service (OCS) 78, a facsimile control service (FCS) 80, A network control service (NCS) 82 and a system control service (SCS) 84 are included.

SCS84は、アプリケーション62〜70の管理、システム画面表示やLED表示などのユーザ・インタフェースの制御、ハードウェア資源の管理、割込みアプリケーションの制御などを行う。MCS76は、画像メモリの取得および解放、画像データの圧縮・伸張等のメモリ制御などを行う。ECS74は、エンジン部46やHDD24などのハードウェア資源を制御し、画像読込みや画像形成動作などを制御する。FCS80は、GSTNインタフェースと接続し、GSTN網を使用したファクシミリ送受信、ファクシミリ読取りなどを制御する。OCS78は、オペレータと本体制御との間のインタフェースとなるオペレーション・パネル42の制御を行う。NCS82は、NIC30を制御して、複合機10をイーサネット(登録商標)やインターネットと接続させ、ネットワークI/Oを必要とするアプリケーションに対して共通に利用可能なサービスを提供し、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。なお、上述したOS94を含むプラットフォーム層100のソフトウェア手段からなる集合を、システム・ファームウェアして参照する。   The SCS 84 manages applications 62 to 70, controls user interfaces such as system screen display and LED display, manages hardware resources, and controls interrupt applications. The MCS 76 performs memory control such as acquisition and release of image memory and compression / decompression of image data. The ECS 74 controls hardware resources such as the engine unit 46 and the HDD 24, and controls image reading and image forming operations. The FCS 80 is connected to the GSTN interface and controls facsimile transmission / reception and facsimile reading using the GSTN network. The OCS 78 controls the operation panel 42 serving as an interface between the operator and the main body control. The NCS 82 controls the NIC 30 to connect the MFP 10 to Ethernet (registered trademark) or the Internet, and provides a service that can be commonly used for applications that require network I / O. Data received by the protocol is distributed to each application, and mediation is performed when data from each application is transmitted to the network side. Note that a set of software means of the platform layer 100 including the OS 94 described above is referred to as system firmware.

複合機起動部58は、複合機10の電源投入時に起動され、上述までのプラットフォーム層100およびアプリケーション層60のプロセス群に対応する制御プログラムを、図示しないROMや、HDD24や、図示しないSDカードなどから読出して、CPU14の作業メモリ領域を提供するシステムメモリ16上に展開して、ソフトウェア手段のプロセスを起動する。これにより、上記したソフトウェア手段および後述する各機能手段を実現する。   The multi-function peripheral activation unit 58 is activated when the power of the multi-function peripheral 10 is turned on. The control program corresponding to the process group of the platform layer 100 and the application layer 60 described above is stored in a ROM, HDD 24, SD card (not shown), And is expanded on the system memory 16 which provides the working memory area of the CPU 14, and the process of the software means is started. Thereby, the above-described software means and each functional means described later are realized.

本実施形態の複合機10は、通常使用されるプライマリシステムと、予備のレスキュー用のセカンダリシステムとにより2重に冗長化されており、一方のシステムが、例えば更新処理の中断により障害を被った場合であっても、他方のシステムによる起動が可能となるように構成されている。なお、ここでシステムとは、上記システム・ファームウェアと、その上位の各アプリケーション62〜70とからなる集合をいう。またシステムによる2重化とは、システムに対応する制御プログラムを2組、例えばHDD24の区切られた各パーティションに記憶し、起動させるシステムを選択可能とされた構成をいう。各システムは、同一構成であっても良く、通常システムと、最小構成のみからなるレスキューシステムとの組合わせなど、相違する構成を備えてもよい。また、本実施形態では、システムを2重化した場合を例として説明するが、2以上のシステムにより多重化することもできる。以下、複合機10の起動処理について詳細を説明する。   The MFP 10 of the present embodiment is redundantly made up of a primary system that is normally used and a secondary system for spare rescue, and one of the systems has suffered a failure due to, for example, interruption of the update process. Even in such a case, the system can be activated by the other system. Here, the system refers to a set composed of the system firmware and the upper-level applications 62 to 70. The duplexing by the system refers to a configuration in which two sets of control programs corresponding to the system are stored in each partitioned partition of the HDD 24 and the system to be activated can be selected. Each system may have the same configuration, or may have a different configuration such as a combination of a normal system and a rescue system including only a minimum configuration. In this embodiment, a case where the system is duplicated will be described as an example. However, multiplexing can be performed by two or more systems. Details of the activation process of the multifunction machine 10 will be described below.

図3は、本実施形態の複合機10の起動処理に関する主要な機能構成を示すブロック図である。図3には、ブートローダ210と、NV−RAM26と、HDD24の記憶領域により与えられる第1パーティション24aおよび第2パーティション24bとが示されている。HDD24の第1パーティション24aは、プライマリシステム用の制御プログラム310aを記憶し、第2パーティション24bは、セカンダリシステム用の制御プログラム310bを記憶しており、本複合機10は、起動させるべきシステムの指定に応じて、制御プログラムを読出すパーティションを切換える。NV−RAM26には、起動させるシステムを指定するレスキューフラグ300が記憶されており、ブートローダ210は、複合機10の電源投入時にまず最初に起動され、NV−RAM26に記憶されているレスキューフラグ300を参照して起動させるべきシステムを判定し、指定されたシステムに対応するパーティションから制御プログラムを読出して、システム250の起動処理を実行する。なお、本実施形態においては、ブートローダ210が起動制御手段を構成し、レスキューフラグ300が起動制御フラグを構成する。   FIG. 3 is a block diagram illustrating a main functional configuration related to the activation process of the multifunction machine 10 according to the present embodiment. FIG. 3 shows the boot loader 210, the NV-RAM 26, and the first partition 24 a and the second partition 24 b given by the storage area of the HDD 24. The first partition 24a of the HDD 24 stores the control program 310a for the primary system, the second partition 24b stores the control program 310b for the secondary system, and the multifunction machine 10 designates the system to be activated. In response, the partition from which the control program is read is switched. The NV-RAM 26 stores a rescue flag 300 that designates a system to be activated. The boot loader 210 is first activated when the MFP 10 is turned on, and the rescue flag 300 stored in the NV-RAM 26 is displayed. The system to be activated is determined by referring to the control program, the control program is read from the partition corresponding to the designated system, and the activation process of the system 250 is executed. In this embodiment, the boot loader 210 constitutes an activation control unit, and the rescue flag 300 constitutes an activation control flag.

NV−RAM26には、さらに、更新処理のステータスを示す更新中断情報302が記憶されている。更新中断情報302は、詳細について後述するが、更新対象のモジュールIDと、更新処理の進捗状況を示すインデックスとを含み構成される。ブートローダ210により起動されたシステム250は、更新中断検知部212と更新部214とを含み構成され、更新部214は、各システムを構成するソフトウェア・モジュールのプログラム更新を実行する。更新中断検知部212は、更新中断情報302の参照を試みて、モジュールの更新処理が中断されたことを検知する。本実施形態において更新中断情報302は、更新処理の開始により設定され、更新処理の完了をもってその設定が消去される。このため、更新中断情報302の存在は、電源断などにより更新処理が中断されたことを示している。つまり、更新中断検知部212は、更新中断情報302の有無から更新の中断を検知する。更新の中断を検知した場合には、更新中断検知部212は、オペレーション・パネル42に対して、図10に示すような更新処理の中断が検知された旨の表示を行なわせ、オペレータに通知を行なう。   The NV-RAM 26 further stores update interruption information 302 indicating the status of the update process. As will be described in detail later, the update interruption information 302 includes a module ID to be updated and an index indicating the progress status of the update process. The system 250 activated by the boot loader 210 includes an update interruption detection unit 212 and an update unit 214, and the update unit 214 executes program update of software modules that constitute each system. The update interruption detection unit 212 attempts to refer to the update interruption information 302 and detects that the module update process has been interrupted. In this embodiment, the update interruption information 302 is set when the update process is started, and the setting is deleted when the update process is completed. For this reason, the presence of the update interruption information 302 indicates that the update process has been interrupted due to power interruption or the like. In other words, the update interruption detection unit 212 detects an update interruption from the presence or absence of the update interruption information 302. When the update interruption is detected, the update interruption detection unit 212 causes the operation panel 42 to display that the interruption of the update process is detected as shown in FIG. Do.

図10は、更新処理の中断が検知された場合にオペレーション・パネル42に表示されるグラフィカル・ユーザ・インタフェース(GUI)画面400の一例を示す。以下、説明を容易にするために、オペレーション・パネル42がタッチパネルなどにより構成された場合を例として説明する。   FIG. 10 shows an example of a graphical user interface (GUI) screen 400 displayed on the operation panel 42 when the interruption of the update process is detected. Hereinafter, for ease of explanation, a case where the operation panel 42 is configured by a touch panel or the like will be described as an example.

図10に示したGUI画面400は、システム・ファームウェアの更新中断を検知した旨を表示し、所定のソフトウェア・モジュールの更新が未完了である旨のメッセージ402と、未完了のモジュールを表示するメッセージ404と、再更新開始ボタン406と、確認ボタン408とを含み構成されている。再更新開始ボタン406は、オペレータからの再更新開始の指示を待受け、押下に応じて、更新部214を起動させ、システム・ファームウェアの再更新処理を開始させる。一方、確認ボタン408は、一度、通常様式によるシステム起動後、改めて再更新の開始を指示するためのボタンであり、押下に応答して通常様式での起動処理が実行される。この場合、改めてオペレータからの指示などの再更新開始の要求を受領すると、複合機10は、更新部214を起動し、システム・ファームウェアの再更新処理を開始することとなる。   The GUI screen 400 shown in FIG. 10 displays that the update of the system firmware has been detected, a message 402 that the update of the predetermined software module is incomplete, and a message that displays the incomplete module 404, a re-update start button 406, and a confirmation button 408. The re-update start button 406 waits for an instruction to start re-update from the operator, and activates the update unit 214 in response to being pressed to start re-update processing of the system firmware. On the other hand, the confirmation button 408 is a button for instructing the start of re-update once again after the system is activated in the normal format, and the activation processing in the normal format is executed in response to pressing. In this case, when a re-update start request such as an instruction from the operator is received again, the multi-function device 10 activates the update unit 214 and starts re-update processing of the system firmware.

以下、更新部214によるソフトウェア・モジュールのプログラム更新の詳細について説明する。図4は、本実施形態の複合機10におけるプログラム更新に関する主要な機能構成を示すブロック図である。図4には、更新部214と、NV−RAM26と、第1パーティション24aおよび第2パーティション24bと、プログラム更新のための更新ファイル304とが示されている。更新ファイル304は、リモート更新アプリケーション70によるネットワークを介した受信や、更新ファイル304を格納するSDメモリカード54などのリムーバブルメディアから読出され、システムメモリ16などの記憶領域に展開される。   Details of the software module program update by the update unit 214 will be described below. FIG. 4 is a block diagram showing a main functional configuration related to program update in the multifunction machine 10 of the present embodiment. FIG. 4 shows the update unit 214, the NV-RAM 26, the first partition 24a and the second partition 24b, and an update file 304 for program update. The update file 304 is received via the network by the remote update application 70, read from a removable medium such as the SD memory card 54 storing the update file 304, and expanded in a storage area such as the system memory 16.

図4に示した更新部214は、より具体的には、プログラム更新処理の実行を制御する更新制御部216と、各システムの制御プログラムを書換える書換部218と、取得した更新ファイル304を解析する解析部220とを含み構成されている。解析部220は、更新ファイル304を予め定められたデータ構造に従って解析し、更新に必要な情報を抽出する。更新制御部216は、更新処理の進行を制御し、各システムに対する更新処理を開始させる前に、都度、レスキューフラグ300および更新中断情報302の設定を行なってから、順次、書換部218により各システムの制御プログラム書換えを実行させる。書換部218は、更新制御部216の制御のもと、プライマリシステム用制御プログラム310aの更新部分312aと、セカンダリシステム用制御プログラム310bの更新部分312bとを、順に、更新ファイルに従って書換える。   More specifically, the update unit 214 illustrated in FIG. 4 analyzes the update control unit 216 that controls execution of the program update process, the rewrite unit 218 that rewrites the control program of each system, and the acquired update file 304. And an analysis unit 220 for performing the configuration. The analysis unit 220 analyzes the update file 304 according to a predetermined data structure, and extracts information necessary for the update. The update control unit 216 controls the progress of the update process, sets the rescue flag 300 and the update interruption information 302 each time before starting the update process for each system, and then sequentially updates each system by the rewrite unit 218. The control program is rewritten. The rewrite unit 218 rewrites the update part 312a of the primary system control program 310a and the update part 312b of the secondary system control program 310b in order according to the update file under the control of the update control part 216.

以下、上述したプログラム更新に用いられる更新ファイル304の詳細を説明する。図5は、更新ファイル304のデータ構造の一例を示す。更新ファイル304は、共通ヘッダとプライマリシステム用ヘッダとセカンダリシステム用ヘッダとを含むヘッダ部と、電子署名と更新実体データとを含むデータ部とから構成されている。共通ヘッダは、当該更新ファイル304による更新対象となる機種の識別値が入力される機種IDフィールドと、当該更新ファイル304により更新対象となるソフトウェア・モジュールの識別値が入力されるモジュールIDフィールドとを含んで構成される。   The details of the update file 304 used for the above-described program update will be described below. FIG. 5 shows an example of the data structure of the update file 304. The update file 304 includes a header portion including a common header, a primary system header, and a secondary system header, and a data portion including an electronic signature and update entity data. The common header includes a model ID field in which the identification value of the model to be updated by the update file 304 is input, and a module ID field in which the identification value of the software module to be updated by the update file 304 is input. Consists of including.

データ部に含まれる更新実体データは、更新対象のソフトウェア・モジュールの、バイナリ実行コードにより記述される制御プログラムを含み、各パーティション24a,bの各更新部分312a,bを書換えるための実体データである。電子署名は、当該更新実体データの正当性を保証するために添付されるものであり、その正当性を確認することによって更新実体データの改竄などを検知することが可能となる。このような電子署名としては、如何なる方式の電子署名を採用することができ、例えば、RSA署名、DSA(Digital Signature Algorithm)署名、Schnorr署名、楕円Schnorr署名、ElGamal署名、楕円ElGamal署名などを挙げることができる。   The update entity data included in the data portion includes entity data for rewriting each update portion 312a, b of each partition 24a, b, including a control program described by the binary execution code of the software module to be updated. is there. The electronic signature is attached to guarantee the validity of the update entity data, and it is possible to detect falsification of the update entity data by confirming the validity. As such an electronic signature, any type of electronic signature can be adopted, for example, RSA signature, DSA (Digital Signature Algorithm) signature, Schnorr signature, elliptical Schnorr signature, ElGamal signature, elliptical ElGamal signature, etc. Can do.

各システム用ヘッダは、更新先の記憶領域を示す更新先アドレス・フィールドと、更新先の記憶領域の大きさを示す更新先領域長フィールドと、レスキューフラッグ指定値フィールドと、インデックス指定値フィールドとを含んで構成される。ここで、レスキューフラグ指定値フィールドには、各システムの制御プログラムの更新を開始させる前にレスキューフラグ300に設定するための値が入力され、更新ファイル304は、各ヘッダのシステムと相違するシステムによる起動を指定する値が入力された状態で配布することができる。つまり、本実施形態では、プライマリシステム用ヘッダのレスキューフラグ指定値には、レスキュー用セカンダリシステムによる起動を指定する[ON]の値が入力され、セカンダリシステム用ヘッダのレスキューフラグ指定値には、プライマリシステムによる起動を指定する[OFF]の値が入力される。   Each system header includes an update destination address field indicating an update destination storage area, an update destination area length field indicating the size of the update destination storage area, a rescue flag specification value field, and an index specification value field. Consists of including. Here, in the rescue flag designation value field, a value for setting the rescue flag 300 is input before starting the update of the control program of each system, and the update file 304 is based on a system different from the system of each header. Distribution can be performed with the value specifying start-up entered. That is, in this embodiment, the value of [ON] that specifies activation by the rescue secondary system is input to the rescue flag designation value of the primary system header, and the rescue flag designation value of the secondary system header is the primary flag. A value of [OFF] that specifies activation by the system is input.

またインデックス指定値フィールドには、各システムの制御プログラムの更新を開始させる前に、更新中断情報302のインデックスに設定するための値が入力される。ここで、インデックスとは、複数の書込み先を識別するための情報であり、また更新処理の実行順位を示す情報である。つまり、プライマリシステム、セカンダリシステムの順で更新するよう規定されている場合には、更新ファイル304は、プライマリシステム用ヘッダのインデックス指定値は[1/2]が入力され、セカンダリシステム用ヘッダのインデックス指定値は[2/2]が入力された状態で配布される。インデックスの始めの数字が各システムの更新処理の実行順位を示し、後の数字が総処理数を示す。また、インデックスは、更新処理の開始前にNV−RAM26の更新中断情報302として設定されることによって、更新処理の進捗情報が保持される。   Further, a value for setting the index of the update interruption information 302 is input to the index designation value field before starting the update of the control program of each system. Here, the index is information for identifying a plurality of write destinations, and is information indicating the execution order of update processing. That is, when it is stipulated that the update is performed in the order of the primary system and the secondary system, the update file 304 is input with [1/2] as the index designation value of the primary system header, and the index of the secondary system header. The specified value is distributed with [2/2] entered. The number at the beginning of the index indicates the execution order of update processing of each system, and the number after the number indicates the total number of processes. The index is set as the update interruption information 302 in the NV-RAM 26 before the update process is started, so that the progress information of the update process is held.

更新先アドレス・フィールドには、各システムの更新対象となるモジュールの、複合機10の記憶領域上のアドレスが入力され、更新先領域長フィールドには、当該モジュールの記憶領域サイズが入力され、書換えられる制御プログラムが記憶されている領域の開始位置および終了位置を示す。例えば、プライマリシステム用ヘッダの更新先アドレス・フィールドには、第1パーティション24a上の更新部分312aに対応するアドレスおよびサイズが入力されることとなる。   In the update destination address field, the address on the storage area of the MFP 10 of the module to be updated in each system is input, and in the update destination area length field, the storage area size of the module is input. The start position and end position of the area where the control program to be stored is stored are shown. For example, the address and size corresponding to the update portion 312a on the first partition 24a are input to the update destination address field of the primary system header.

なお本実施形態においては、更新ファイル304が1つの更新対象ソフトウェア・モジュールの更新実体データを含むものとして参照してきたが、更新ファイル304が複数の更新対象モジュールの更新実体データを含んでいてもよい。   In the present embodiment, the update file 304 has been referred to as including update entity data of one update target software module. However, the update file 304 may include update entity data of a plurality of update target modules. .

以下、図6および図7を参照して更新処理フローの詳細を説明する。図6および図7は、本実施形態の更新制御部216が実行する、プログラム更新における制御のフローチャートを示す。図に示した制御は、例えば、更新ファイル304を格納するSDメモリカード54の挿入や、リモート更新を行なうための配布サーバからの更新ファイル304の受信を契機として、更新処理を実行するための起動様式により再起動されて、ステップS100から開始される。   The details of the update processing flow will be described below with reference to FIGS. 6 and 7 show flowcharts of control in program update executed by the update control unit 216 of the present embodiment. The control shown in the figure is, for example, activated to execute update processing triggered by insertion of the SD memory card 54 storing the update file 304 or reception of the update file 304 from the distribution server for remote update. The system is restarted according to the style, and starts from step S100.

まずステップS101では、NV−RAM26に更新中断情報302が存在するか否かを判定する。このステップS101では、更新中断情報302の存在を確認することにより、前回の更新中に電源断などを要因として処理が中断されていたことを検知している。ステップS101で更新中断情報302が存在すると判定された場合(YES)には、制御をポイントAに分岐させる。ポイントA以降の制御については後述する。一方、ステップS101で更新中断情報302が存在しないと判定された場合(YES)には、ステップS102へ制御を分岐させ、更新ファイル304の共通ヘッダから機種IDおよびモジュールIDを取得し、本複合機10に適合した更新ファイル304であるかを検証する。続いてステップS103では、更新ファイル304の電子署名により、更新実体データの正当性を検証する。   First, in step S101, it is determined whether or not the update interruption information 302 exists in the NV-RAM 26. In step S101, by confirming the presence of the update interruption information 302, it is detected that the process has been interrupted due to a power interruption or the like during the previous update. If it is determined in step S101 that the update interruption information 302 exists (YES), the control is branched to point A. Control after point A will be described later. On the other hand, if it is determined in step S101 that the update suspension information 302 does not exist (YES), the control branches to step S102, the model ID and module ID are acquired from the common header of the update file 304, and the present multifunction device 10 is verified whether the update file 304 conforms to the above. In step S103, the validity of the update entity data is verified by the electronic signature of the update file 304.

ステップS104では、ステップS102およびS103の検証の結果から、更新処理の実行を継続するか否かを判定する。ここでは、機種IDが本複合機10のものと一致し、モジュールIDに対応するソフトウェア・モジュールを本複合機10が備えており、かつ、電子署名による更新実体データの正当性が証明された場合に、更新処理の実行を継続するものと判定することができる。なお、他の実施形態では、ここで、更新ファイル304に含まれる更新実体データが、複合機10が備えるモジュールよりも新しいバージョンに対応しているか否かを検証する制御とすることもできる。ステップS104で更新処理の実行を継続すると判定された場合(YES)には、制御をステップS105へ分岐させ、以降、ステップS105からステップS108までのプライマリシステムに対する更新処理と、ステップS109からステップS112までのセカンダリシステムに対する更新処理とが、順次実行されることとなる。   In step S104, it is determined whether or not to continue the update process from the results of the verification in steps S102 and S103. In this case, when the model ID matches that of the MFP 10, the MFP 10 has a software module corresponding to the module ID, and the validity of the update entity data by the electronic signature is proved In addition, it can be determined that the execution of the update process is continued. In another embodiment, here, it can be controlled to verify whether or not the update entity data included in the update file 304 corresponds to a newer version than the module included in the multifunction machine 10. If it is determined in step S104 that execution of the update process is to be continued (YES), the control is branched to step S105, and thereafter, the update process for the primary system from step S105 to step S108, and from step S109 to step S112. The update process for the secondary system is sequentially executed.

ステップS105では、プライマリシステム用ヘッダから、更新先アドレス、更新先領域長、レスキューフラグ指定値およびインデックス指定値を取得する。ステップS106では、NV−RAM26に記憶されるレスキューフラグ300、モジュールIDおよびインデックスを、取得したレスキューフラグ指定値、モジュールIDおよびインデックス指定値にそれぞれ設定する。ステップS107では、書換部218によりプライマリシステムの更新処理を開始させる。ステップS108では、書換部218からの応答を待受けて、プライマリシステムに対する更新処理が完了したか否かを判定し、完了していない間(NO)は、制御をステップS108内でループさせる。書換部218からの正常完了応答を受領し、ステップS108で更新処理が完了したと判定された場合(YES)には、制御をステップS109へ分岐させる。   In step S105, an update destination address, an update destination area length, a rescue flag specified value, and an index specified value are acquired from the primary system header. In step S106, the rescue flag 300, module ID, and index stored in the NV-RAM 26 are set to the acquired rescue flag designation value, module ID, and index designation value, respectively. In step S107, the rewrite unit 218 starts the update process of the primary system. In step S108, a response from the rewriting unit 218 is waited to determine whether or not the update process for the primary system has been completed. If not completed (NO), the control is looped in step S108. If a normal completion response is received from the rewrite unit 218 and it is determined in step S108 that the update process has been completed (YES), the control is branched to step S109.

ステップS109では、セカンダリシステム用ヘッダから、更新先アドレス、更新先領域長、レスキューフラグ指定値およびインデックス指定値を取得し、ステップS110では、NV−RAM26に記憶されるレスキューフラグ、モジュールIDおよびインデックスを、取得したレスキューフラグ指定値、モジュールIDおよびインデックス指定値にそれぞれ設定する。ステップS111では、書換部218によりセカンダリシステムの更新処理を開始させる。ステップS112では、書換部218からの応答を待受け、セカンダリシステムに対する更新処理が完了したか否かを判定し、完了していない間(NO)は、制御をステップS112内でループさせる。書換部218からの正常完了応答を受領し、ステップS112で更新処理が完了したと判定された場合(YES)には、制御をステップS113へ分岐させる。   In step S109, the update destination address, the update destination area length, the rescue flag designation value, and the index designation value are acquired from the secondary system header. In step S110, the rescue flag, module ID, and index stored in the NV-RAM 26 are obtained. The rescue flag specified value, module ID, and index specified value are set. In step S111, the rewrite unit 218 starts the update process of the secondary system. In step S112, it waits for a response from the rewriting unit 218, and determines whether or not the update process for the secondary system is completed. If not completed (NO), the control is looped in step S112. If a normal completion response is received from the rewrite unit 218 and it is determined in step S112 that the update process has been completed (YES), the control is branched to step S113.

プライマリおよびセカンダリシステムの更新処理が共に完了し、ステップS113では、更新中断情報302をNV−RAM26から消去し、ステップS114でオペレーション・パネル42にプログラム更新が正常に完了した旨の通知を行なわせ、ステップS115で制御を終了させる。一方で、ステップS104で更新処理の実行を継続しないと判定された場合(NO)には、制御は、ステップS116へ分岐させされる。ステップS116では、更新ファイルが適合しない旨、または更新実体データの正当性が確認できない旨などのエラー要因に関する情報とともに、オペレーション・パネル42にエラー通知を行なわせ、ステップS115で制御を終了させる。   In step S113, the update interruption information 302 is deleted from the NV-RAM 26, and in step S114, the operation panel 42 is notified that the program update has been completed normally. In step S115, the control is terminated. On the other hand, when it is determined in step S104 that the execution of the update process is not continued (NO), the control is branched to step S116. In step S116, the operation panel 42 is notified of an error together with information on the error factor such as the fact that the update file is not compatible or the validity of the update entity data cannot be confirmed, and the control is terminated in step S115.

上述のステップS101の判定を再び参照すると、ステップS101で更新中断情報302が存在すると判定された場合(YES)には、上述したように、図7のステップS117へ制御が分岐させられ、プログラム更新の中断からの復旧のための再更新処理が行なわれることとなる。ステップS117では、モジュールIDおよびインデックスを含む更新中断情報302をNV−RAM26から読出す。続いてステップS118では、更新ファイル304の共通ヘッダから、機種IDおよびモジュールIDを取得し、本複合機10に適合した更新ファイル304であるかを検証する。復旧時には、さらにステップS119で、NV−RAM26から読出した更新中断情報302のモジュールIDと、更新ファイル304の共通ヘッダから取得したモジュールIDとが一致するかを検証する。続いてステップS120では、更新ファイル304の電子署名により、更新実体データの正当性を検証する。   Referring back to the determination in step S101 described above, if it is determined in step S101 that the update interruption information 302 exists (YES), as described above, control branches to step S117 in FIG. A re-updating process for recovery from the interruption is performed. In step S117, the update interruption information 302 including the module ID and the index is read from the NV-RAM 26. In step S118, the model ID and the module ID are acquired from the common header of the update file 304, and it is verified whether the update file 304 is suitable for the multifunction machine 10. At the time of recovery, in step S119, it is verified whether the module ID of the update interruption information 302 read from the NV-RAM 26 matches the module ID acquired from the common header of the update file 304. In step S120, the validity of the update entity data is verified based on the electronic signature of the update file 304.

ステップS121では、ステップS118〜ステップS120の検証の結果から、更新処理の実行を継続するか否かを判定する。ここでは、機種IDが本複合機10のものと一致し、モジュールIDに対応するソフトウェア・モジュールを本複合機10が備えており、電子署名による更新実体データの正当性が証明され、かつ、モジュールIDが一致している場合に、更新処理の実行を継続するものと判定することができる。ステップS121で更新処理の実行を継続しないと判定された場合(NO)には、ポイントCへ、つまり図6のステップS116の制御へ分岐させる。ステップS116では、更新ファイルが適合しない旨、更新実体データの正当性が確認できない旨、またはモジュールが一致しない場合には更新ファイルが中断前後において相違する旨、オペレーション・パネル42にエラー通知を行なわせ、ステップS115で制御を終了させる。   In step S121, it is determined from the verification results in steps S118 to S120 whether or not to continue the update process. Here, the MFP 10 has a software module corresponding to the module ID corresponding to the module ID and corresponding to the module ID, the validity of the update entity data by the electronic signature is verified, and the module When the IDs match, it can be determined that the execution of the update process is continued. If it is determined in step S121 that the execution of the update process is not continued (NO), the process branches to point C, that is, the control in step S116 in FIG. In step S116, an error is notified to the operation panel 42 that the update file is not compatible, the validity of the update entity data cannot be confirmed, or that the update file is different before and after the interruption if the modules do not match. In step S115, the control is terminated.

一方、ステップS121で更新処理の実行を継続すると判定された場合(YES)には、制御をステップS122へ分岐させ、以降、ステップS122からステップS126までのプライマリシステムに対する再更新と、ステップS127からステップS130までのセカンダリシステムに対する再更新とが、順次、試みられることとなる。   On the other hand, if it is determined in step S121 that execution of the update process is to be continued (YES), the control is branched to step S122, and thereafter, re-updating of the primary system from step S122 to step S126, and from step S127 to step S122. Re-updating of the secondary system up to S130 will be attempted sequentially.

ステップS122では、プライマリシステム用ヘッダから、更新先アドレス、更新先領域長、レスキューフラグ指定値およびインデックス指定値を取得する。ステップS123では、更新中断情報302のインデックスの値と、ヘッダから取得されたインデックス指定値とを比較して、更新中断情報302のインデックスが示す更新処理の実行順位が、インデックス指定値が示す実行順位以下であるか否かを判定する。更新中断情報302のインデックスが示す実行順位がインデックス指定値のものより大きい場合は、前回の中断前に、そのシステムに対する更新処理が既に完了していたことを意味している。よって、ステップS122で、インデックス指定値が示す実行順位以下ではないと判定された場合(NO)には、プライマリシステムの再更新処理をスキップして、ステップS127へ分岐させる。   In step S122, an update destination address, an update destination area length, a rescue flag designation value, and an index designation value are acquired from the primary system header. In step S123, the index value of the update interruption information 302 is compared with the index designation value acquired from the header, and the execution order of the update process indicated by the index of the update interruption information 302 is the execution order indicated by the index designation value. It is determined whether or not: If the execution order indicated by the index of the update interruption information 302 is greater than that of the index specified value, it means that the update processing for the system has already been completed before the previous interruption. Therefore, when it is determined in step S122 that the execution order is not equal to or lower than the index designation value (NO), the re-update process of the primary system is skipped and the process branches to step S127.

一方、ステップS122の判定で、インデックス指定値が示す実行順位以下であると判定された場合(YES)には、ステップS124へ制御を分岐させ、NV−RAM26に記憶されるレスキューフラグ300、モジュールIDおよびインデックスを、取得したレスキューフラグ指定値、モジュールIDおよびインデックス指定値にそれぞれ設定し、ステップS125で、書換部218によりプライマリシステムの再更新処理を開始させる。ステップS126では、書換部218からの応答を待受けて、プライマリシステムに対する再更新処理が完了したか否かを判定し、完了していない間(NO)は、制御をステップS126内でループさせる。書換部218からの正常完了応答を受領し、ステップS126で更新処理が完了したと判定された場合(YES)には、制御をステップS127へ分岐させる。   On the other hand, if it is determined in step S122 that the index specified value is equal to or lower than the execution order (YES), the control branches to step S124, and the rescue flag 300 and module ID stored in the NV-RAM 26 are branched. And the index are set to the acquired rescue flag specified value, module ID, and index specified value, respectively, and re-update processing of the primary system is started by the rewrite unit 218 in step S125. In step S126, a response from the rewriting unit 218 is waited to determine whether or not the re-update process for the primary system has been completed. If not completed (NO), the control is looped in step S126. If a normal completion response is received from the rewrite unit 218 and it is determined in step S126 that the update process has been completed (YES), the control is branched to step S127.

ステップS127では、セカンダリシステム用ヘッダから、更新先アドレス、更新先領域長、レスキューフラグ指定値およびインデックス指定値を取得する。ステップS128では、NV−RAM26に記憶されるレスキューフラグ300、モジュールIDおよびインデックスを、取得したレスキューフラグ指定値、モジュールIDおよびインデックス指定値にそれぞれ設定し、ステップS129で、書換部218によりセカンダリシステムの再更新処理を開始させる。ステップS130では、書換部218からの応答を待受けて、セカンダリシステムに対する再更新処理が完了したか否かを判定し、完了していない間(NO)は、制御をステップS130内でループさせる。書換部218からの正常完了応答を受領し、ステップS130で更新処理が完了したと判定された場合(YES)には、制御をポイントB、つまり図6のステップS113へ分岐させ、更新中断情報302をNV−RAM26から消去し、ステップS114でオペレーション・パネル42にプログラム更新の正常完了通知を行なわせ、ステップS115で制御を終了させる。   In step S127, the update destination address, the update destination area length, the rescue flag specified value, and the index specified value are acquired from the secondary system header. In step S128, the rescue flag 300, module ID, and index stored in the NV-RAM 26 are set to the obtained rescue flag designated value, module ID, and index designated value, respectively. Start re-update process. In step S130, a response from the rewriting unit 218 is waited to determine whether or not the re-update process for the secondary system is completed. If not completed (NO), the control is looped in step S130. When a normal completion response is received from the rewrite unit 218 and it is determined in step S130 that the update process has been completed (YES), control is branched to point B, that is, step S113 in FIG. Is deleted from the NV-RAM 26, the operation panel 42 is notified of the normal completion of program update in step S114, and the control is terminated in step S115.

以下、図6および図7に示す制御フローによって、オペレーション・パネル42に表示されるユーザ通知画面について説明する。図11(A)は、図6のステップS114の処理により、更新処理が正常に完了した旨を通知するために、オペレーション・パネル42に表示されるGUI画面420の一例を示す。図11(A)に示したGUI画面420は、プログラム更新が正常に完了した旨のメッセージ422と、更新が完了したモジュールIDを示すメッセージ424と、オペレータからの確認を待受ける確認ボタン426とを含み構成される。   Hereinafter, the user notification screen displayed on the operation panel 42 by the control flow shown in FIGS. 6 and 7 will be described. FIG. 11A shows an example of a GUI screen 420 displayed on the operation panel 42 in order to notify that the update process has been normally completed by the process of step S114 of FIG. The GUI screen 420 shown in FIG. 11A includes a message 422 that the program update has been completed normally, a message 424 that indicates the module ID that has been updated, and a confirmation button 426 that waits for confirmation from the operator. Consists of.

図11(B)は、図6のステップS116の処理において、更新ファイル304の更新実体データの正当性が確認なかった旨をエラー通知するために、オペレーション・パネル42に表示されるGUI画面440の一例を示す。図11(B)に示したGUI画面440は、更新ファイル304の正当性が確認できなかった旨のメッセージ442と、オペレータからの確認を待受ける確認ボタン444とを含み構成される。   FIG. 11B shows a GUI screen 440 displayed on the operation panel 42 in order to notify the error that the validity of the update entity data of the update file 304 has not been confirmed in the process of step S116 of FIG. An example is shown. The GUI screen 440 shown in FIG. 11B includes a message 442 that the validity of the update file 304 could not be confirmed, and a confirmation button 444 that waits for confirmation from the operator.

なお本実施形態では、オペレーション・パネル42を介したユーザ通知を一例として説明しているが、ユーザ通知を行なうための機能手段は、オペレーション・パネル42に限定されるものではない。他の実施形態では、プログラム更新中の中断を検知した旨の通知、更新処理が完了した旨の通知、更新エラー通知などを、NIC30を用いてメール送信によって行なったり、エンジン部46を用いてサービスプリントによって行なってもよい。上記通知手段を備える構成により、オペレータは、プログラム更新のステータスを容易に把握することが可能となり、利便性が向上される。   In the present embodiment, user notification via the operation panel 42 is described as an example, but the functional means for performing user notification is not limited to the operation panel 42. In other embodiments, notification that an interruption during program update has been detected, notification that update processing has been completed, notification of an update error, etc. are made by mail transmission using the NIC 30 or service using the engine unit 46 It may be performed by printing. With the configuration including the notification means, the operator can easily grasp the status of the program update, and convenience is improved.

以下、上述した更新処理の進行に従って遷移する上記レスキューフラグ、モジュールIDおよびインデックスについて、図8を参照して説明する。図8は、NV−RAM26に記憶される制御情報の更新処理進行に従った遷移を模式的に示す図である。図8には、レスキューフラグ、モジュールID、インデックスの制御情報の各項目について、その制御情報の値が遷移してゆく様子が示されている。図8において矢印は、時間経過を示し、各制御情報について、プライマリシステムの更新開始、セカンダリシステム更新開始および更新完了のタイミングでスライスされた、計4つの時間区間における値が示されている。   Hereinafter, the rescue flag, the module ID, and the index that change as the update process proceeds will be described with reference to FIG. FIG. 8 is a diagram schematically showing transitions in accordance with the progress of update processing of the control information stored in the NV-RAM 26. FIG. 8 shows how the values of the control information for each item of the rescue flag, module ID, and index control information transition. In FIG. 8, the arrows indicate the passage of time, and the values in a total of four time intervals are shown for each control information sliced at the timing of the primary system update start, secondary system update start and update completion.

図8を参照すると、プライマリシステムの更新が開始される前、つまり更新処理自体が開始される前の段階では、レスキューフラグには、既定値である[OFF]が設定され、モジュールIDおよびインデックスが、NV−RAM26上に存在していないことが示されている。そして、プライマリシステムの更新を開始したタイミングで、レスキューフラグが[ON]に設定され、更新中断情報302が設定され、図8では、モジュールIDには、[SYSTEM]の値、インデックスには[1/2]の値が設定されることが示されている。   Referring to FIG. 8, before the update of the primary system is started, that is, before the update process itself is started, the rescue flag is set to [OFF] which is a default value, and the module ID and the index are set. , It does not exist on the NV-RAM 26. Then, at the timing when the update of the primary system is started, the rescue flag is set to [ON] and the update interruption information 302 is set. In FIG. 8, the module ID has a value of [SYSTEM] and the index has [1]. / 2] is set.

さらに図8を参照すると、プライマリシステムの更新が完了し、セカンダリシステムの更新が開始された段階では、レスキューフラグが[OFF]に再設定され、インデックスが[2/2]に再設定されていることが示されている。またセカンダリシステムの更新が完了した後、つまりすべての更新処理が完了された後では、インデックスおよびモジュールIDからなる更新中断情報302がNV−RAM26上から消去され、レスキューフラグが既定値の[ON]に戻されていることが示されている。   Further referring to FIG. 8, when the update of the primary system is completed and the update of the secondary system is started, the rescue flag is reset to [OFF] and the index is reset to [2/2]. It has been shown. Further, after the update of the secondary system is completed, that is, after all the update processes are completed, the update interruption information 302 including the index and the module ID is erased from the NV-RAM 26, and the rescue flag is set to the default value [ON]. Has been returned to

上述のように、更新処理の進行に応じてNV−RAM26に記憶されるレスキューフラグ、モジュールIDおよびインデックスなどの制御情報が遷移することとなり、複合機10は、これらの制御情報に従って動作する。以下、図8に示した時間区間Iおよび時間区間IIにおいて、電源断などによってプログラム更新が中断された場合の複合機10の動作について説明する。   As described above, the control information such as the rescue flag, the module ID, and the index stored in the NV-RAM 26 changes according to the progress of the update process, and the multifunction machine 10 operates according to these control information. In the following, the operation of the multifunction machine 10 when the program update is interrupted due to power interruption or the like in the time interval I and the time interval II shown in FIG.

図9は、更新処理が中断された場合の複合機10の動作を示すフローチャートである。図9(A)は、図8に示した時間区間Iにおいて更新処理が中断された場合のフローチャートを示す。図9(A)に示した動作は、時間区間Iにおいて中断された後、オペレータからの電源投入を受けて、ステップS200から開始される。まず、プライマリシステムの更新中に更新処理が中断された場合にはレスキューフラグが[ON]に設定されているため、ステップS201では、複合機10がセカンダリシステムにより起動される。以降、再更新処理が開始され、ステップS202では、更新ファイル304の共通ヘッダが解析され、ステップS203では、更新ファイル304に含まれる電子証明書によって電子認証が行なわれる。   FIG. 9 is a flowchart illustrating the operation of the multifunction machine 10 when the update process is interrupted. FIG. 9A shows a flowchart when the update processing is interrupted in the time interval I shown in FIG. The operation shown in FIG. 9A is interrupted in the time interval I, and then starts from step S200 upon receiving power-on from the operator. First, when the update process is interrupted during the update of the primary system, the rescue flag is set to [ON], and therefore in step S201, the multifunction machine 10 is activated by the secondary system. Thereafter, the re-updating process is started. In step S202, the common header of the update file 304 is analyzed. In step S203, electronic authentication is performed using the digital certificate included in the update file 304.

続いてステップS204では、プライマリシステム用ヘッダが解析される。時間区間Iにおいて中断された場合には、更新中断情報302のインデックスには[1/2]が設定されているため、更新中断情報302のインデックスの実行順位が、プライマリシステム用ヘッダのインデックス指定値の実行順位と等しくなり、ステップS205でプライマリシステムの更新が実行される。続いてステップS206では、セカンダリシステム用ヘッダが解析され、ステップS207でセカンダリシステムの更新が実行され、ステップS208で更新処理が完了される。このように、プライマリシステムの更新中に更新の中断があった場合であっても、セカンダリシステムによって起動し、前回中断時に更新中であったプライマリシステムから再更新が行なわれるため、少なくとも一方のシステムによる起動が保証されることとなる。   In step S204, the primary system header is analyzed. When interrupted in the time interval I, since [1/2] is set in the index of the update interrupt information 302, the index execution order of the index of the update interrupt information 302 is the index designation value of the primary system header. In step S205, the primary system is updated. Subsequently, in step S206, the secondary system header is analyzed, the secondary system is updated in step S207, and the update process is completed in step S208. In this way, even if there is an update interruption during the update of the primary system, at least one of the systems is started by the secondary system and re-update is performed from the primary system that was being updated at the time of the previous interruption. Activation by is guaranteed.

図9(B)は、図8に示した時間区間IIにおいて更新処理が中断された場合のフローチャートを示す。図9(A)に示した動作は、時間区間IIにおいて中断された後、オペレータからの電源投入を受けて、ステップS300から開始し、ステップS301では、
セカンダリシステムの更新中に更新処理が中断された場合にはレスキューフラグが[OFF]に設定されているため、複合機10は、プライマリシステムにより起動される。以降、再更新処理が開始され、ステップS302では、更新ファイル304の共通ヘッダが解析され、ステップS303では、更新ファイル304に含まれる電子証明書によって電子認証が行なわれる。
FIG. 9B shows a flowchart when the update process is interrupted in the time interval II shown in FIG. The operation shown in FIG. 9A is interrupted in the time interval II, and then starts from step S300 in response to power-on from the operator. In step S301,
If the update process is interrupted during the update of the secondary system, the rescue flag is set to [OFF], so the multifunction machine 10 is activated by the primary system. Thereafter, the re-updating process is started. In step S302, the common header of the update file 304 is analyzed. In step S303, electronic authentication is performed using the digital certificate included in the update file 304.

続いてステップS304では、プライマリシステム用ヘッダが解析される。この場合、更新中断情報302のインデックスには[2/2]が設定されているため、更新中断情報302のインデックスの実行順位が、プライマリシステム用ヘッダのインデックス指定値の実行順位より大きくなり、プライマリシステムの更新がスキップされる。そしてステップS305では、セカンダリシステム用ヘッダが解析され、ステップS306でセカンダリシステムの更新が実行され、ステップS307で更新処理を完了させる。このように、セカンダリシステムの更新中に更新の中断があった場合であっても、プライマリシステムによって起動し、前回完了済のプライマリシステムの更新がスキップされ、中断のあったセカンダリシステムから再更新が行なわれるため、少なくとも一方のシステムによる起動が保証される。   In step S304, the primary system header is analyzed. In this case, since [2/2] is set in the index of the update interruption information 302, the execution order of the index of the update interruption information 302 becomes larger than the execution order of the index designation value of the primary system header, and the primary System update is skipped. In step S305, the secondary system header is analyzed. In step S306, the secondary system is updated. In step S307, the update process is completed. In this way, even if there is an update interruption during the update of the secondary system, the primary system starts up, the update of the previously completed primary system is skipped, and the update is restarted from the interrupted secondary system. As a result, activation by at least one system is guaranteed.

また、図9(A)のステップS204のプライマリシステムの更新中にさらに中断があったとしても、複合機10は、再び図9(A)と同じ動作をし、図9(A)のステップS206のセカンダリシステムの更新時に中断があったとしても、複合機10は、図9(B)と同じ動作をし、図9(B)のステップS305のセカンダリシステムの更新時に中断があったとしても、複合機10は、図9(B)と同じ動作をし、少なくとも1つのシステムによる起動が保証されることとなる。   Even if there is further interruption during the update of the primary system in step S204 in FIG. 9A, the multifunction machine 10 performs the same operation as in FIG. 9A again, and in step S206 in FIG. 9A. Even if there is an interruption when the secondary system is updated, the multifunction machine 10 operates in the same manner as in FIG. 9B, and even if there is an interruption when the secondary system is updated in step S305 in FIG. The multifunction device 10 performs the same operation as that in FIG. 9B, and is guaranteed to be activated by at least one system.

図6および図7に示した制御フローにおいて、更新処理を開始させる前に、その処理対象のシステムと相違する他システムによる起動を指定する値をレスキューフラッグに設定することにより、その更新処理中に電源断が発生した場合であっても、次回の起動時に、更新処理の対象ではなかった正常な他システムにより起動させることが可能となる。また、再更新によりシステムを復旧させる場合には、更新処理の進捗を示すインデックスが参照されて、更新が中断されたシステムから再更新が行なわれ、その完了後に順次他のシステムに対する更新処理が開始されることとなり、復旧前にプライマリシステムとセカンダリシステムとが共に更新中断を被ってしまう事態が好適に防止される。このようにして、如何なるタイミングで当該更新処理の中断が発生した場合であっても、また中断が連続して発生した場合であっても、少なくとも1つのシステムによる起動を保証することが可能となる。   In the control flow shown in FIG. 6 and FIG. 7, before starting the update process, the rescue flag is set to a value that specifies activation by another system that is different from the system to be processed. Even when the power is cut off, it can be started by a normal other system that is not the target of the update process at the next startup. When the system is restored by re-updating, the index indicating the progress of the update process is referred to, the update is interrupted from the system where the update is interrupted, and the update process for other systems starts sequentially after the completion. As a result, the situation where both the primary system and the secondary system are interrupted before the recovery is suitably prevented. In this way, even when the update process is interrupted at any timing, or even when the update process is continuously generated, it is possible to guarantee activation by at least one system. .

以上説明したように、本実施形態によれば、システム・ファームウェアなど、更新処理の中断によりシステムに障害を与える可能性のあるソフトウェア・モジュールのプログラム更新において、如何なるタイミングで当該更新処理の中断が発生した場合であっても、また中断が連続して発生した場合であっても、少なくとも1つのシステムによる起動および障害を受けたシステムの復旧を可能とし、もってプログラム更新処理を安全に行なうことが可能な画像形成装置、プログラムおよび記録媒体を提供することができる。   As described above, according to the present embodiment, the update process is interrupted at any timing in the program update of the software module that may cause the system failure due to the interrupt of the update process such as the system firmware. Even if the system is interrupted or if interruptions occur continuously, at least one system can be activated and the system that has been damaged can be recovered, so that the program update process can be performed safely. Image forming apparatus, program, and recording medium can be provided.

オペレーティング・システムやプラットフォーム層のソフトウェア・モジュールなどからなるシステム・ファームウェアは、更新処理の中断により障害が発生した場合に、致命的なエラーを生じさせ易いため、本実施形態のプログラム更新制御は、このようなシステム・ファームウェアを構成するソフトウェア・モジュールの更新の際に好ましく適用することができる。   The system firmware consisting of the operating system, platform layer software modules, etc. is prone to cause a fatal error when a failure occurs due to interruption of the update process. The present invention can be preferably applied when updating software modules constituting such system firmware.

画像形成装置としては、上述した実施形態の複合機能を有した複合機に限られるものではなく、特定の用途に応じて、複写機、プリンタ、印刷機、ファクシミリなどの装置として構成することができる。また各システムの制御プログラムを格納する記憶手段は、上述した実施形態のHDDに限定されるものではなく、フラッシュメモリなどの不揮発性記憶媒体、SDメモリカードやCF(コンパクトフラッシュ(登録商標))カードなどの着脱可能な記録媒体とすることができ、また各システムは異なる記憶手段に格納されていてもよい。   The image forming apparatus is not limited to the multifunction apparatus having the complex function of the above-described embodiment, and can be configured as a copying machine, a printer, a printing machine, a facsimile machine, or the like according to a specific application. . The storage means for storing the control program of each system is not limited to the HDD of the above-described embodiment, but a nonvolatile storage medium such as a flash memory, an SD memory card or a CF (Compact Flash (registered trademark)) card. In addition, each system may be stored in different storage means.

また、上記機能は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDメモリ、MOなど装置可読な記録媒体に格納して頒布することができる。   Further, the above function can be realized by a device executable program described in a legacy programming language such as assembler, C, C ++, C #, Java (registered trademark), an object-oriented programming language, or the like. ROM, EEPROM, EPROM , Stored in a device-readable recording medium such as a flash memory, a flexible disk, a CD-ROM, a CD-RW, a DVD, an SD memory, or an MO.

以上本発明の特定の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although specific embodiments of the present invention have been described above, the embodiments of the present invention are not limited to the above-described embodiments, and those skilled in the art will conceive other embodiments, additions, modifications, deletions, and the like. It can be changed within the range that can be achieved, and any aspect is included in the scope of the present invention as long as the effects and effects of the present invention are exhibited.

複合機のハードウェア構成の実施形態を示す図。1 is a diagram illustrating an embodiment of a hardware configuration of a multifunction machine. 本実施形態の複合機のソフトウェアおよびハードウェア構成を示す図。FIG. 2 is a diagram illustrating a software and hardware configuration of a multifunction machine according to the present embodiment. 本実施形態の複合機の起動処理に関する主要な機能構成を示すブロック図。FIG. 3 is a block diagram illustrating a main functional configuration related to the activation process of the multifunction machine according to the present embodiment. 本実施形態の複合機におけるプログラム更新に関する主要な機能構成を示すブロック図。FIG. 3 is a block diagram illustrating a main functional configuration related to program update in the multifunction peripheral according to the embodiment. 更新ファイルのデータ構造の一例を示す図。The figure which shows an example of the data structure of an update file. 本実施形態の更新制御部が実行するプログラム更新における制御のフローチャート(1/2)。The flowchart (1/2) of the control in the program update which the update control part of this embodiment performs. 本実施形態の更新制御部が実行するプログラム更新における制御のフローチャート(2/2)。The flowchart (2/2) of the control in the program update which the update control part of this embodiment performs. NV−RAMに記憶される制御情報の更新処理進行に従った遷移を模式的に示す図。The figure which shows typically the transition according to the update process progress of the control information memorize | stored in NV-RAM. 更新処理が中断された場合の複合機の動作を示すフローチャート。6 is a flowchart illustrating the operation of the multifunction peripheral when update processing is interrupted. 更新処理の中断が検知された場合にオペレーション・パネルに表示されるGUI画面の一例を示す図。The figure which shows an example of the GUI screen displayed on an operation panel when the interruption of an update process is detected. オペレーション・パネル42に表示されるGUI画面の一例を示す図。The figure which shows an example of the GUI screen displayed on the operation panel.

符号の説明Explanation of symbols

10…複合機、12…コントローラ、14…CPU、16…システムメモリ、18…NB(ノース・ブリッジ)、20…ASIC、22…ローカルメモリ、24…HDD、26…NV−RAM、28…SB(サウス・ブリッジ)、30…NIC、32…スロット、34…USBI/F、36…IEEE1394I/F、38…セントロニクスI/F、42…オペレーション・パネル、44…FCU、46…エンジン部、48…AGP、50、52…PCIバス、54…SDメモリカード、58…複合機起動部、60…アプリケーション層、62…コピー・アプリケーション、64…ファックス・アプリケーション、66…スキャナ・アプリケーション、68…プリンタ・アプリケーション、70…リモート更新アプリケーション、72…API、74…ECS、76…MCS、78…OCS、80…FCS、82…NCS、84…SCS、90…SRM、92…IMH、94…OS、98…エンジンI/F、100…プラットフォーム層、102…ハードウェア・リソース、210…ブートローダ、212…更新中断検知部、214…更新部、216…更新制御部、218…書換部、220…解析部、250…起動システム、300…レスキューフラグ、302…更新中断情報、304…更新ファイル、310…システム用制御プログラム、312…更新部分、400,420,440…GUI画面、402,404,422,424,442…メッセージ、406,408,426,444…ボタン 10 ... MFP, 12 ... Controller, 14 ... CPU, 16 ... System memory, 18 ... NB (North Bridge), 20 ... ASIC, 22 ... Local memory, 24 ... HDD, 26 ... NV-RAM, 28 ... SB ( South Bridge), 30 ... NIC, 32 ... Slot, 34 ... USB I / F, 36 ... IEEE 1394 I / F, 38 ... Centronics I / F, 42 ... Operation Panel, 44 ... FCU, 46 ... Engine, 48 ... AGP 50, 52 ... PCI bus, 54 ... SD memory card, 58 ... MFP start-up unit, 60 ... Application layer, 62 ... Copy application, 64 ... Fax application, 66 ... Scanner application, 68 ... Printer application, 70 ... Remote update application, 72 ... AP 74 ... ECS, 76 ... MCS, 78 ... OCS, 80 ... FCS, 82 ... NCS, 84 ... SCS, 90 ... SRM, 92 ... IMH, 94 ... OS, 98 ... Engine I / F, 100 ... Platform layer, 102 ... Hardware resources 210 ... Boot loader 212 ... Update interruption detection unit 214 ... Update unit 216 ... Update control unit 218 ... Rewrite unit 220 ... Analysis unit 250 ... Startup system 300 ... Rescue flag 302 ... Update interruption information, 304 ... update file, 310 ... system control program, 312 ... update part, 400, 420, 440 ... GUI screen, 402, 404, 422, 424, 442 ... message, 406, 408, 426, 444 ... button

Claims (10)

複数のシステムにより多重化された画像形成装置であって、前記画像形成装置は、
前記複数のシステムのうち、起動させるシステムを指定する起動制御フラグを参照して、指定された前記システムに対応する制御プログラムを読出し、起動処理を実行する起動制御手段と、
外部取得した更新データに従って、更新を開始させる対象システムと相違する他のシステムの指定値を前記起動制御フラグに設定し、かつ、前記対象システムと更新が完了したシステムとを示す更新進捗情報を設定して、前記対象システムに対する制御プログラムの更新処理を開始する更新制御手段と
を含む、画像形成装置。
An image forming apparatus multiplexed by a plurality of systems, wherein the image forming apparatus includes:
A startup control unit that reads a control program corresponding to the specified system and executes a startup process with reference to a startup control flag that specifies a system to be started out of the plurality of systems;
In accordance with externally acquired update data, a specified value of another system that is different from the target system that starts the update is set in the start control flag, and update progress information that indicates the target system and the system that has been updated is set And an update control means for starting update processing of the control program for the target system.
前記更新制御手段は、前記更新進捗情報を参照して、前記更新処理の中断が発生していたことを検知し、また前記中断時に更新中であったシステムと前記中断までに更新が完了したシステムとを判定し、前記更新中であったシステムから順次、未完了のシステムに対する更新処理を開始する、請求項1に記載の画像形成装置。   The update control means refers to the update progress information, detects that the update process has been interrupted, and is updating the system at the time of the interruption and the system that has been updated by the interruption The image forming apparatus according to claim 1, wherein update processing for an incomplete system is started sequentially from the system being updated. 前記更新制御手段は、すべての前記複数のシステムに対する更新処理が完了した場合に、前記起動制御フラグを既定値に設定し、かつ、前記更新進捗情報の設定を消去する、請求項1または2に記載の画像形成装置。   3. The update control unit according to claim 1, wherein the update control unit sets the activation control flag to a predetermined value and deletes the setting of the update progress information when update processing for all the plurality of systems is completed. The image forming apparatus described. 前記更新制御手段は、前記更新データに含まれる更新対象モジュール識別値と、更新を開始させる前に前記更新進捗情報とともに設定される更新中モジュール識別値とを比較して、前記中断前後での更新対象のモジュールの一致を確認する、請求項2または3に記載の画像形成装置。   The update control means compares the update target module identification value included in the update data with the updating module identification value set together with the update progress information before starting the update, and updates before and after the interruption. The image forming apparatus according to claim 2, wherein the matching of the target modules is confirmed. 前記更新制御手段は、前記更新データに含まれる電子署名を参照して、前記更新データの正当性を判定する、請求項1〜4のいずれか1項に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the update control unit determines the validity of the update data with reference to an electronic signature included in the update data. 前記更新処理が失敗したことに応答して、失敗した旨および失敗理由を通知する通知手段を含む、請求項1〜5のいずれか1項に記載の画像形成装置。   The image forming apparatus according to claim 1, further comprising a notification unit that notifies the failure and the reason for the failure in response to the failure of the update process. 前記画像形成装置は、取得した前記更新データのデータ構造を解析して、各システムの更新処理を開始させる際の動作を規定する、前記起動制御フラグに設定するための指定値および前記各システムに対する更新処理の実行順位を抽出する解析手段をさらに含み、
前記更新制御手段は、抽出された前記指定値を前記起動制御フラグに設定し、かつ、抽出された前記実行順位を前記更新進捗情報として設定し、前記各システムに対する前記更新処理を開始する、請求項1〜6のいずれか1項に記載の画像形成装置。
The image forming apparatus analyzes a data structure of the acquired update data, defines an operation when starting update processing of each system, a specified value for setting the activation control flag, and for each system An analysis means for extracting the execution order of the update process;
The update control means sets the extracted designated value in the activation control flag, sets the extracted execution order as the update progress information, and starts the update process for each system. Item 7. The image forming apparatus according to any one of Items 1 to 6.
画像形成装置を、請求項1〜7のいずれか1項に記載の各手段として機能させるための装置実行可能なプログラム。   An apparatus-executable program for causing an image forming apparatus to function as each unit according to any one of claims 1 to 7. 請求項1〜7のいずれか1項に記載の各手段として、画像形成装置を機能させるための装置実行可能なプログラムを記録した装置可読な記録媒体。   8. A device-readable recording medium on which a device-executable program for causing an image forming apparatus to function is recorded as each unit according to claim 1. 請求項1〜7のいずれか1項に記載の画像形成装置が用いる記録媒体であって、
更新モジュールの制御プログラムと、前記制御プログラムの正当性を保証する電子署名と、前記制御プログラムに対応付けられたモジュール識別値と、各システムについて、当該システムと相違する他のシステムによる起動を指定する指定値および当該システムに対する更新処理の実行順位と
を含むデータ構造を有する更新データを記録したコンピュータ読取可能な記録媒体。
A recording medium used by the image forming apparatus according to claim 1,
Specify an update module control program, an electronic signature that guarantees the correctness of the control program, a module identification value associated with the control program, and activation by another system different from the system for each system A computer-readable recording medium on which update data having a data structure including a specified value and an execution order of update processing for the system is recorded.
JP2007204208A 2007-08-06 2007-08-06 Image forming apparatus, program and recording medium Pending JP2009042818A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007204208A JP2009042818A (en) 2007-08-06 2007-08-06 Image forming apparatus, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007204208A JP2009042818A (en) 2007-08-06 2007-08-06 Image forming apparatus, program and recording medium

Publications (1)

Publication Number Publication Date
JP2009042818A true JP2009042818A (en) 2009-02-26

Family

ID=40443531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007204208A Pending JP2009042818A (en) 2007-08-06 2007-08-06 Image forming apparatus, program and recording medium

Country Status (1)

Country Link
JP (1) JP2009042818A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109571A (en) * 2011-11-21 2013-06-06 Canon Inc Information processor, control method thereof and control program
US10007514B2 (en) 2016-01-04 2018-06-26 Fuji Xerox Co., Ltd. Management apparatus, management system, management method, and non-transitory computer readable medium
JP2019149118A (en) * 2018-02-28 2019-09-05 株式会社リコー Electronic apparatus and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109571A (en) * 2011-11-21 2013-06-06 Canon Inc Information processor, control method thereof and control program
US10007514B2 (en) 2016-01-04 2018-06-26 Fuji Xerox Co., Ltd. Management apparatus, management system, management method, and non-transitory computer readable medium
JP2019149118A (en) * 2018-02-28 2019-09-05 株式会社リコー Electronic apparatus and program
JP7059691B2 (en) 2018-02-28 2022-04-26 株式会社リコー Electronics and programs

Similar Documents

Publication Publication Date Title
JP5112787B2 (en) Information processing apparatus, program update method, and program
US9229815B2 (en) Information processing apparatus, program update method, and program
JP5487962B2 (en) Operation suppression system, image forming apparatus, operation suppression information providing apparatus, and operation suppression method
JP2006279935A (en) Information processor, control method of the same, and computer readable recording medium
JP4698211B2 (en) Information processing apparatus, image forming apparatus, and method for canceling movement of electronic data
JP2008171306A (en) Electronic device and program
CN105162667B (en) Virtual machine configuration method and apparatus
JP2004303216A (en) Information processor, image forming apparatus, error processing method in starting program, and recording medium
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
JP7206106B2 (en) Information processing device and program
JP5472086B2 (en) Device, terminal device, server, program, and firmware update method
JP2009042818A (en) Image forming apparatus, program and recording medium
JP6147240B2 (en) Information processing apparatus, method of controlling the apparatus, and program
US20050151987A1 (en) Information processing apparatus, program recovery method, and recording medium storing a program for program recovery
JP7321795B2 (en) Information processing device, information processing method and program
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
JP5573411B2 (en) Image forming apparatus, program, and installation method
JP4227568B2 (en) Information processing apparatus, information processing method, and program
US11947948B2 (en) Information processing apparatus, information processing method, and storage medium
JP2004303222A (en) Information processor, image forming forming device, program starting method, and recording medium
JP2010049643A (en) Information processing system, information processing method, and program
JP2008262528A (en) Information processor, installation method and installation system
JP5494772B2 (en) Apparatus, program update method, program, and program update system
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2014042149A (en) Image forming apparatus and control method of the same, and program