JP2009042818A - Image forming apparatus, program and recording medium - Google Patents
Image forming apparatus, program and recording medium Download PDFInfo
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
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)は、カード型メモリを用いたレスキューシステムを開示する。
しかしながら、上述のようにシステムを二重化した場合であっても、システム・ファームウェアのプログラム更新の中断によって、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
図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
ASIC20は、ローカルメモリ22と、ハードディスクドライブ(以下、HDDとして参照する。)24と、フラッシュメモリなどからなる不揮発性メモリ26(以下、NV−RAMとして参照する。)と接続される。HDD24は、画像データなどを蓄積するストレージ・デバイスであり、本実施形態では、その記憶領域が2つのパーティションに論理的に分割され、システムを二重化するための各システム・ファームウェアに対応する制御プログラム群が各パーティションに記憶されている。NV−RAM26は、複合機10の各種システム情報や各種設定情報を格納し、本実施形態では、後述するレスキューフラグおよび更新中断情報を格納する。
The ASIC 20 is connected to a
コントローラ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
オペレーション・パネル42は、コントローラ12のASIC20と接続され、オペレータからの各種指示の入力を受付け、画面表示を行なうためのユーザ・インタフェースを提供する。FCU44およびエンジン部46は、PCIバス52を介してASIC20と接続する。エンジン部46は、アプリケーションが発行したプリント指令やスキャン指令を受け、画像形成処理や画像読取処理を実行する。
The
図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
アプリケーション層60は、図2に示した実施形態では、コピー・アプリケーション62と、ファックス・アプリケーション64と、スキャナ・アプリケーション66と、プリンタ・アプリケーション68とを含み構成され、画像に関連するユーザ・サービスに固有の処理を実行する。また、本実施形態の複合機10のアプリケーション層60は、リモート更新アプリケーション70をさらに含み、リモート更新アプリケーション70は、システム・ファームウェアなどの更新ファイルの受信を制御する。
In the embodiment shown in FIG. 2, the application layer 60 includes a
プラットフォーム層100は、OS94とともにアプリケーション62〜70からの処理要求を解釈して、ハードウェア資源の獲得要求を発生する制御サービス74〜84と、1つまたは複数のハードウェア資源を管理し、各制御サービス74〜84からの獲得要求を調停するシステム資源管理マネージャ(SRM)90と、OS94を通してエンジン部46およびコントローラ間の画像データの転送を制御するイメージメモリハンドラ(IMH)92とを含み構成される。OS94としては例えば、UNIX(登録商標)を採用することができるが、WINDOWS(登録商標)や、その他、如何なるOSを採用することができる。
The
プラットフォーム層100は、図2に示した実施形態では、エンジン制御サービス(ECS)74と、メモリ制御サービス(MCS)76と、オペレーション制御サービス(OCS)78と、ファクシミリ制御サービス(FCS)80と、ネットワーク制御サービス(NCS)82と、システム制御サービス(SCS)84とを含んで構成されている。
In the embodiment shown in FIG. 2, the
SCS84は、アプリケーション62〜70の管理、システム画面表示やLED表示などのユーザ・インタフェースの制御、ハードウェア資源の管理、割込みアプリケーションの制御などを行う。MCS76は、画像メモリの取得および解放、画像データの圧縮・伸張等のメモリ制御などを行う。ECS74は、エンジン部46やHDD24などのハードウェア資源を制御し、画像読込みや画像形成動作などを制御する。FCS80は、GSTNインタフェースと接続し、GSTN網を使用したファクシミリ送受信、ファクシミリ読取りなどを制御する。OCS78は、オペレータと本体制御との間のインタフェースとなるオペレーション・パネル42の制御を行う。NCS82は、NIC30を制御して、複合機10をイーサネット(登録商標)やインターネットと接続させ、ネットワークI/Oを必要とするアプリケーションに対して共通に利用可能なサービスを提供し、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。なお、上述したOS94を含むプラットフォーム層100のソフトウェア手段からなる集合を、システム・ファームウェアして参照する。
The
複合機起動部58は、複合機10の電源投入時に起動され、上述までのプラットフォーム層100およびアプリケーション層60のプロセス群に対応する制御プログラムを、図示しないROMや、HDD24や、図示しないSDカードなどから読出して、CPU14の作業メモリ領域を提供するシステムメモリ16上に展開して、ソフトウェア手段のプロセスを起動する。これにより、上記したソフトウェア手段および後述する各機能手段を実現する。
The multi-function
本実施形態の複合機10は、通常使用されるプライマリシステムと、予備のレスキュー用のセカンダリシステムとにより2重に冗長化されており、一方のシステムが、例えば更新処理の中断により障害を被った場合であっても、他方のシステムによる起動が可能となるように構成されている。なお、ここでシステムとは、上記システム・ファームウェアと、その上位の各アプリケーション62〜70とからなる集合をいう。またシステムによる2重化とは、システムに対応する制御プログラムを2組、例えばHDD24の区切られた各パーティションに記憶し、起動させるシステムを選択可能とされた構成をいう。各システムは、同一構成であっても良く、通常システムと、最小構成のみからなるレスキューシステムとの組合わせなど、相違する構成を備えてもよい。また、本実施形態では、システムを2重化した場合を例として説明するが、2以上のシステムにより多重化することもできる。以下、複合機10の起動処理について詳細を説明する。
The
図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
NV−RAM26には、さらに、更新処理のステータスを示す更新中断情報302が記憶されている。更新中断情報302は、詳細について後述するが、更新対象のモジュールIDと、更新処理の進捗状況を示すインデックスとを含み構成される。ブートローダ210により起動されたシステム250は、更新中断検知部212と更新部214とを含み構成され、更新部214は、各システムを構成するソフトウェア・モジュールのプログラム更新を実行する。更新中断検知部212は、更新中断情報302の参照を試みて、モジュールの更新処理が中断されたことを検知する。本実施形態において更新中断情報302は、更新処理の開始により設定され、更新処理の完了をもってその設定が消去される。このため、更新中断情報302の存在は、電源断などにより更新処理が中断されたことを示している。つまり、更新中断検知部212は、更新中断情報302の有無から更新の中断を検知する。更新の中断を検知した場合には、更新中断検知部212は、オペレーション・パネル42に対して、図10に示すような更新処理の中断が検知された旨の表示を行なわせ、オペレータに通知を行なう。
The NV-
図10は、更新処理の中断が検知された場合にオペレーション・パネル42に表示されるグラフィカル・ユーザ・インタフェース(GUI)画面400の一例を示す。以下、説明を容易にするために、オペレーション・パネル42がタッチパネルなどにより構成された場合を例として説明する。
FIG. 10 shows an example of a graphical user interface (GUI)
図10に示したGUI画面400は、システム・ファームウェアの更新中断を検知した旨を表示し、所定のソフトウェア・モジュールの更新が未完了である旨のメッセージ402と、未完了のモジュールを表示するメッセージ404と、再更新開始ボタン406と、確認ボタン408とを含み構成されている。再更新開始ボタン406は、オペレータからの再更新開始の指示を待受け、押下に応じて、更新部214を起動させ、システム・ファームウェアの再更新処理を開始させる。一方、確認ボタン408は、一度、通常様式によるシステム起動後、改めて再更新の開始を指示するためのボタンであり、押下に応答して通常様式での起動処理が実行される。この場合、改めてオペレータからの指示などの再更新開始の要求を受領すると、複合機10は、更新部214を起動し、システム・ファームウェアの再更新処理を開始することとなる。
The
以下、更新部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
図4に示した更新部214は、より具体的には、プログラム更新処理の実行を制御する更新制御部216と、各システムの制御プログラムを書換える書換部218と、取得した更新ファイル304を解析する解析部220とを含み構成されている。解析部220は、更新ファイル304を予め定められたデータ構造に従って解析し、更新に必要な情報を抽出する。更新制御部216は、更新処理の進行を制御し、各システムに対する更新処理を開始させる前に、都度、レスキューフラグ300および更新中断情報302の設定を行なってから、順次、書換部218により各システムの制御プログラム書換えを実行させる。書換部218は、更新制御部216の制御のもと、プライマリシステム用制御プログラム310aの更新部分312aと、セカンダリシステム用制御プログラム310bの更新部分312bとを、順に、更新ファイルに従って書換える。
More specifically, the
以下、上述したプログラム更新に用いられる更新ファイル304の詳細を説明する。図5は、更新ファイル304のデータ構造の一例を示す。更新ファイル304は、共通ヘッダとプライマリシステム用ヘッダとセカンダリシステム用ヘッダとを含むヘッダ部と、電子署名と更新実体データとを含むデータ部とから構成されている。共通ヘッダは、当該更新ファイル304による更新対象となる機種の識別値が入力される機種IDフィールドと、当該更新ファイル304により更新対象となるソフトウェア・モジュールの識別値が入力されるモジュールIDフィールドとを含んで構成される。
The details of the
データ部に含まれる更新実体データは、更新対象のソフトウェア・モジュールの、バイナリ実行コードにより記述される制御プログラムを含み、各パーティション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
各システム用ヘッダは、更新先の記憶領域を示す更新先アドレス・フィールドと、更新先の記憶領域の大きさを示す更新先領域長フィールドと、レスキューフラッグ指定値フィールドと、インデックス指定値フィールドとを含んで構成される。ここで、レスキューフラグ指定値フィールドには、各システムの制御プログラムの更新を開始させる前にレスキューフラグ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
またインデックス指定値フィールドには、各システムの制御プログラムの更新を開始させる前に、更新中断情報302のインデックスに設定するための値が入力される。ここで、インデックスとは、複数の書込み先を識別するための情報であり、また更新処理の実行順位を示す情報である。つまり、プライマリシステム、セカンダリシステムの順で更新するよう規定されている場合には、更新ファイル304は、プライマリシステム用ヘッダのインデックス指定値は[1/2]が入力され、セカンダリシステム用ヘッダのインデックス指定値は[2/2]が入力された状態で配布される。インデックスの始めの数字が各システムの更新処理の実行順位を示し、後の数字が総処理数を示す。また、インデックスは、更新処理の開始前にNV−RAM26の更新中断情報302として設定されることによって、更新処理の進捗情報が保持される。
Further, a value for setting the index of the
更新先アドレス・フィールドには、各システムの更新対象となるモジュールの、複合機10の記憶領域上のアドレスが入力され、更新先領域長フィールドには、当該モジュールの記憶領域サイズが入力され、書換えられる制御プログラムが記憶されている領域の開始位置および終了位置を示す。例えば、プライマリシステム用ヘッダの更新先アドレス・フィールドには、第1パーティション24a上の更新部分312aに対応するアドレスおよびサイズが入力されることとなる。
In the update destination address field, the address on the storage area of the
なお本実施形態においては、更新ファイル304が1つの更新対象ソフトウェア・モジュールの更新実体データを含むものとして参照してきたが、更新ファイル304が複数の更新対象モジュールの更新実体データを含んでいてもよい。
In the present embodiment, the
以下、図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
まずステップ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
ステップ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
ステップ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
ステップ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-
プライマリおよびセカンダリシステムの更新処理が共に完了し、ステップS113では、更新中断情報302をNV−RAM26から消去し、ステップS114でオペレーション・パネル42にプログラム更新が正常に完了した旨の通知を行なわせ、ステップS115で制御を終了させる。一方で、ステップS104で更新処理の実行を継続しないと判定された場合(NO)には、制御は、ステップS116へ分岐させされる。ステップS116では、更新ファイルが適合しない旨、または更新実体データの正当性が確認できない旨などのエラー要因に関する情報とともに、オペレーション・パネル42にエラー通知を行なわせ、ステップS115で制御を終了させる。
In step S113, the
上述のステップ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
ステップ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
一方、ステップ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
一方、ステップ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
ステップ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
以下、図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
図11(B)は、図6のステップS116の処理において、更新ファイル304の更新実体データの正当性が確認なかった旨をエラー通知するために、オペレーション・パネル42に表示されるGUI画面440の一例を示す。図11(B)に示したGUI画面440は、更新ファイル304の正当性が確認できなかった旨のメッセージ442と、オペレータからの確認を待受ける確認ボタン444とを含み構成される。
FIG. 11B shows a
なお本実施形態では、オペレーション・パネル42を介したユーザ通知を一例として説明しているが、ユーザ通知を行なうための機能手段は、オペレーション・パネル42に限定されるものではない。他の実施形態では、プログラム更新中の中断を検知した旨の通知、更新処理が完了した旨の通知、更新エラー通知などを、NIC30を用いてメール送信によって行なったり、エンジン部46を用いてサービスプリントによって行なってもよい。上記通知手段を備える構成により、オペレータは、プログラム更新のステータスを容易に把握することが可能となり、利便性が向上される。
In the present embodiment, user notification via the
以下、上述した更新処理の進行に従って遷移する上記レスキューフラグ、モジュール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-
図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-
さらに図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
上述のように、更新処理の進行に応じて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-
図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
続いてステップ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
図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
続いてステップ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
また、図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
図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.
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 ...
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〜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.
更新モジュールの制御プログラムと、前記制御プログラムの正当性を保証する電子署名と、前記制御プログラムに対応付けられたモジュール識別値と、各システムについて、当該システムと相違する他のシステムによる起動を指定する指定値および当該システムに対する更新処理の実行順位と
を含むデータ構造を有する更新データを記録したコンピュータ読取可能な記録媒体。 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.
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)
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 |
-
2007
- 2007-08-06 JP JP2007204208A patent/JP2009042818A/en active Pending
Cited By (4)
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 | |
JP7206106B2 (en) | Information processing device and program | |
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 | |
JP5472086B2 (en) | Device, terminal device, server, program, and firmware update method | |
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 | |
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 | |
JP4227568B2 (en) | Information processing apparatus, information processing method, and program | |
JP5573411B2 (en) | Image forming apparatus, program, and installation method | |
US11947948B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2005174200A (en) | Information processor, recording medium generation method, and recording 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 |