説明

画像形成装置制御方法および画像形成装置

【課題】安定した状態でファームウェアを更新するすることが可能な画像形成装置制御方法および画像形成装置を実現する。
【解決手段】単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置100であって、ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステム#1と、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステム#2とを別個に動作可能に備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置制御方法および画像形成装置に関し、特に、画像形成装置のファームウェアの更新を安定して行う技術に関する。
【背景技術】
【0002】
画像形成装置において各種動作はCPU(Central Processing Unit)等の制御部により制御されている。そして、この制御部は、インストールされているOS(Operating System)またはファームウェア等に基づいて、画像形成装置の制御プログラムに従って、画像形成装置を構成する各部を制御して、各種の演算処理を行うことによって、画像形成装置を統括的に制御する。
【0003】
また、このファームウェアはフラッシュメモリ等の媒体に書き込まれており、新たなバージョンのファームウェアに書き換えることが可能に構成されたものがある。
【0004】
ところで、画像形成中にファームウェア更新を行う場合、どちらかの処理が原因でOSがハングアップすることがある。この場合には、画像形成が中断して生産性が低下し、処理中の画像データを喪失することになる。
【0005】
また、ファームウェアの更新が途中で中断されることで正常な更新ができなくなるため、ファームウェアの次回の起動ができなくなるという大きな問題が発生する。
【0006】
なお、このような電子情報装置においてファームウェアの更新に関連する技術は、以下の特許文献に提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平8−16408号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
以上の特許文献1では、リセットしたりしてシステムを落すことなくシステムを立ち上げたままの状態において、運用中に、随時新しいファームウェアを情報処理装置に書き込むものである。
【0009】
しかし、この特許文献1記載の装置でも、通常処理とファームウェア更新処理とを並行して行う場合には、どちらかの処理が原因でOSがハングアップすることがあり、結果として通常処理もファームウェア更新処理も両方とも停止してしまう。
【0010】
本発明はこのような課題に鑑みてなされたものであって、安定した状態でファームウェアを更新することが可能な画像形成装置制御方法および画像形成装置を実現することを目的とする。
【課題を解決するための手段】
【0011】
すなわち、前記した課題を解決する本発明は、以下の通りである。
【0012】
(1)第1の発明は、単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置における画像形成装置制御方法であって、ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作させる、ことを特徴とする。
【0013】
(2)第2の発明は、以上の(1)において、前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、ことを特徴とする。
【0014】
(3)第3の発明は、以上の(1)において、前記第1オペレーティングシステムにおいてファームウェア更新要求が受信されると前記第2オペレーティングシステムが起動される、ことを特徴とする。
【0015】
また、ファームウェア更新が完了すると、第2オペレーティングシステムがシャットダウンされることが望ましい。
【0016】
(4)第4の発明は、以上の(1)〜(3)において、前記第1オペレーティングシステムは、前記第2オペレーティングシステムの動作状況を監視し、前記第2オペレーティングシステムの停止を検知した場合には前記第2オペレーティングシステムを再起動し、前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視し、前記第1オペレーティングシステムの停止を検知した場合には前記第1オペレーティングシステムを再起動する、ことを特徴とする。
【0017】
(5)第5の発明は、以上の(1)〜(4)において、第1オペレーティングシステムと第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、ことを特徴とする。
【発明の効果】
【0018】
本発明によると、以下のような効果が得られる。
【0019】
(1)第1の発明では、第1オペレーティングシステムと第2オペレーティングシステムとを別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしており、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがなく、安定した状態でファームウェアを更新することが可能になる。
【0020】
(2)第2の発明では、以上の(1)において、第1オペレーティングシステム上でファームウェアが正常に起動された後に、ファームウェア更新のための第2オペレーティングシステムが起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。
【0021】
(3)第3の発明では、以上の(1)において、第1オペレーティングシステムにおいてファームウェア更新要求が受信されると第2オペレーティングシステムが起動されるため、装置の資源を無駄にすることなく、必要な状況においてファームウェアを更新することが可能になる。
【0022】
また、ファームウェア更新が完了すると第2オペレーティングシステムがシャットダウンすることで、必要な状況においてのみ第2オペレーティングシステムを起動するため、装置の資源を無駄にすることがない。
【0023】
(4)第4の発明では、以上の(1)〜(3)において、第1オペレーティングシステムは、第2オペレーティングシステムの動作状況を監視し、第2オペレーティングシステムの停止を検知した場合には第2オペレーティングシステムを再起動し、第2オペレーティングシステムは、第1オペレーティングシステムの動作状況を監視し、第1オペレーティングシステムの停止を検知した場合には第1オペレーティングシステムを再起動する、ことにより、不具合発生時にも再起動が可能になり、安定した動作を保つことが可能になる。
【0024】
(5)第5の発明では、以上の(1)〜(4)において、第1オペレーティングシステムと第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムであるため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがなく、安定した状態で画像形成を実行すると共にファームウェアを更新することが可能になる。
【図面の簡単な説明】
【0025】
【図1】本発明の実施形態の画像形成装置の構成を示すブロック図である。
【図2】本発明の実施形態の画像形成装置の動作を示すフローチャートである。
【図3】本発明の実施形態の画像形成装置の構成を示すブロック図である。
【図4】本発明の実施形態の画像形成装置の動作を示すフローチャートである。
【図5】本発明の実施形態の画像形成装置の構成を示すブロック図である。
【図6】本発明の実施形態の画像形成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、図面を参照して本発明を実施するための形態(以下、実施形態)を詳細に説明する。
【0027】
〈画像形成装置の構成(1)〉
ここでは、ファームウェアの更新を行う機能を有する画像形成装置100を具体例にして説明する。
【0028】
図1に示される画像形成装置100は、CPU(Central Processing Unit)等により構成されて制御プログラムに基づいて画像形成装置100内の各部を制御する制御部101と、各種ネットワークを介して他の装置と通信するための通信部102と、液晶表示部とタッチパネルとにより構成されて利用者による操作が入力される操作部105と、USBメモリやSDメモリカード等の画像形成装置外から画像データが入力される入力部120と、画像形成装置100で取り扱う画像データを不揮発性の記憶装置であるハードディスク装置(HDD;Hard Disk Drive)等に蓄積するデータ蓄積部130と、画像データに対して圧縮伸長処理やRIP処理など各種画像処理を施す画像処理部150と、電子写真方式などにより画像形成出力を実行するプリントエンジンとしての画像形成部160と、を備えて構成されている。
【0029】
また、更新ファームウェア保存部200は、画像形成装置100とネットワーク接続可能な外部装置、あるいは、画像形成装置100に接続可能なUSBメモリなどであり、更新ファームウェアとファームウェア更新要求とを保存している。
【0030】
また、制御部101は、実行すべきファームウェアを不揮発性メモリ等に保存するファームウェア保存部1010と、電子機器部分であるハードウェア1011と、仮想マシン環境において仮想マシンのゲストOSやプログラムを動作させる際の基盤となるべくハードウェア1011上で動作するホストOS(Operating System)1012と、コンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとで異なるゲストOSを並列に実行できるようにするソフトウェアである仮想マシンモニタ1013と、仮想ハードウェア1013A上でゲストOS1014a(図1においてゲストOS#1)を実行する仮想マシン1014A(図1において仮想マシン#1)と、仮想ハードウェア1013B上でゲストOS1014b(図1においてゲストOS#2)を実行する仮想マシン1014B(図1において仮想マシン#2)と、ゲストOS1014a上で動作するプログラム1015Aと、ゲストOS1014b上で動作するプログラム1015Bと、を備えて構成されている。
【0031】
ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。
【0032】
また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baと、ゲストOS1014b上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Bbと、を有する。
【0033】
なお、この図1における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。
【0034】
また、この図1における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。
【0035】
また、この実施形態では、ゲストOS1014a(ゲストOS#1)が第1オペレーティングシステムであり、ゲストOS1014b(ゲストOS#2)が第2オペレーティングシステムである。
【0036】
〈画像形成装置の動作(1)〉
ここで、本実施形態の構成(1)の画像形成装置における画像形成の動作(1)について、図2のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。
【0037】
画像形成装置100の電源がオペレータによりオンされる(図2中のステップS101)と、ファームウェア保存部1010等に保存されているブートローダ(boot loader)がブート処理を行い、ホストOS1012を起動する(図2中のステップS102)。
【0038】
そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする(図2中のステップS103)。
【0039】
さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する(図2中のステップS104)。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。
【0040】
ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし(図2中のステップS105)、ロードしたファームウェアをファームウェア実行部1015Aaが実行する(図2中のステップS106)。
【0041】
そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する(図2中のステップS107)。
【0042】
また、ゲストOS1014a上でファームウェアを実行するファームウェア実行部1015Aaは、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを起動するよう要求する(図2中のステップS108)。
【0043】
これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。
【0044】
ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する(図2中のステップS108)と、仮想マシンモニタ1013はハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される(図2中のステップS201)。
【0045】
このゲストOS1014b上ではファームウェア更新要求受付部1015Bbが動作開始し、このファームウェア更新要求受付部1015Bbがファームウェア更新要求を受け付け待ちをしている(図2中のステップS202)。
【0046】
このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信される「ファームウェア更新要求」の受信であってもよいし、入力部120に接続されるUSBメモリに含まれる「ファームウェア更新要求」の読み取りであってもよい。
【0047】
この際に、ファームウェア更新要求受付部1015Bbは、「ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してください」などと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Bbは、「ファームウェア更新可能です。ファームウェアを更新しますか(Y/N)」などと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。
【0048】
操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Bbが受信すると(図2中のステップS202でYES)、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して(図2中のステップS203)、読み出した更新ファームウェアをファームウェア保存部1010に書き込む(図2中のステップS204)。
【0049】
この際に、更新ファームウェア保存部200は、ファームウェア更新要求によって指示されたアドレスから更新ファームウェアを読み出す。なお、更新ファームウェア保存部200がUSBメモリ等であって入力部120に接続された場合には、このUSBメモリ内のファームウェア更新要求がファームウェア更新要求受付部1015Bbで受信され、ファームウェア更新部1015BaによってUSBメモリ内の更新ファームウェアが読み出される。また、更新ファームウェア保存部200がネットワーク接続されたサーバ等であって通信部部102に接続された場合には、このサーバ等の記憶部内のファームウェア更新要求がファームウェア更新要求受付部1015Bbで受信され、ファームウェア更新部1015Baによってサーバ等の記憶部内の更新ファームウェアが読み出される。
【0050】
このようなファームウェア更新を実行した後、ファームウェア更新部1015Baからファームウェア更新完了通知を受けたゲストOS1014bは、自らをシャットダウンして終了する(図2中のエンド(ゲストOS#2))。
【0051】
なお、ここで、仮想マシンモニタ1013は、ハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。
【0052】
以上の動作において、ファームウェア更新中や、ファームウェア更新完了について、動作中の処理内容を操作部105に表示するようにしても良い。
【0053】
以上の構成(1)と動作(1)では、ゲストOS1014a(第1オペレーティングシステム)とゲストOS1014b(第2オペレーティングシステム)とを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。
【0054】
すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。
【0055】
従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ(停止)による画像データの喪失や、画像形成側OSハングアップ(停止)によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。
【0056】
また、ゲストOS1014a上でファームウェアが正常に起動された後に、ファームウェア更新のためのゲストOS1014bが起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。
【0057】
〈画像形成装置の構成(2)〉
図3に示される画像形成装置100は、図1で説明した画像形成装置100と同様に、コンピュータを仮想化して、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014a(図3においてゲストOS#1)を実行し、仮想ハードウェア1013B上の仮想マシン1014BでゲストOS1014b(図3においてゲストOS#2)を実行するものである。
【0058】
ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、ゲストOS1014a上で動作しつつゲストOS1014bの起動あるいは停止といった状態を変更可能なOS状態変更部1015Acと、ゲストOS1014a上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Adと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。
【0059】
また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baを有する。
【0060】
なお、この図3における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。また、この図3における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。また、この実施形態では、ゲストOS1014a(ゲストOS#1)が第1オペレーティングシステムであり、ゲストOS1014b(ゲストOS#2)が第2オペレーティングシステムである。
【0061】
〈画像形成装置の動作(2)〉
ここで、本実施形態の構成(2)の画像形成装置における画像形成の動作(2)について、図4のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。
【0062】
画像形成装置100の電源がオペレータによりオンされる(図4中のステップS401)と、ファームウェア保存部1010等に保存されているブートローダがブート処理を行い、ホストOS1012を起動する(図4中のステップS402)。
【0063】
そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする(図4中のステップS403)。
【0064】
さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する(図4中のステップS404)。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。
【0065】
ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし(図4中のステップS405)、ロードしたファームウェアをファームウェア実行部1015Aaが実行する(図4中のステップS406)。
【0066】
そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する(図4中のステップS407)。
【0067】
また、ゲストOS1014a上ではファームウェア更新要求受付部1015Adがファームウェア更新要求を受け付け待ちをしている(図4中のステップS408)。このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信される「ファームウェア更新要求」の受信であってもよいし、入力部120に接続されるUSBメモリに含まれる「ファームウェア更新要求」の読み取りであってもよい。
【0068】
この際に、ファームウェア更新要求受付部1015Adは、「ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してください」などと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Adは、「ファームウェア更新可能です。ファームウェアを更新しますか(Y/N)」などと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。
【0069】
操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Adが受信すると(図4中のステップS408でYES)、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを起動するよう要求する(図4中のステップS409)。
【0070】
ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する(図4中のステップS409)と、仮想マシンモニタ1013はハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される(図4中のステップS501)。
【0071】
この時点では、操作部105や更新ファームウェア保存部200からのファームウェア更新要求がファームウェア更新要求受付部1015Adで受信されている(図4中のステップS408でYES)ため、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して(図4中のステップS502)、読み出した更新ファームウェアをファームウェア保存部1010に書き込む(図4中のステップS503)。
【0072】
このようなファームウェア更新を実行した後、ファームウェア更新部1015Baは、ファームウェア実行部1015Aaに対してファームウェア更新完了通知を送信する(図4中のステップS504)。
【0073】
OS状態変更部1015Acはファームウェア更新完了通知を受信する(図4中のステップS410でYES)と、ゲストOS1014bに対して停止要求を発生する(図4中のステップS411)。
【0074】
OS状態変更部1015Acから停止要求を受けたゲストOS1014bは、自らをシャットダウンして終了する(図4中のステップS505、エンド(ゲストOS#2))。
【0075】
ここで、仮想マシンモニタ1013は、ハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。
【0076】
なお、これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。
【0077】
以上の動作において、ファームウェア更新中や、ファームウェア更新完了について、動作中の処理内容を操作部105に表示するようにしても良い。
【0078】
以上の構成(2)と動作(2)では、ゲストOS1014a(第1オペレーティングシステム)とゲストOS1014b(第2オペレーティングシステム)とを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。
【0079】
すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。
【0080】
従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ(停止)による画像データの喪失や、画像形成側OSハングアップ(停止)によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。
【0081】
また、ゲストOS1014a上でファームウェアが正常に起動されてファームウェア更新要求を受信した後に、ファームウェア更新のためのゲストOS1014bがゲストOS1014aによって起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。
【0082】
また、ゲストOS1014b上のファームウェア更新部1015Baがファームウェア更新を完了した後に、ゲストOS1014bがゲストOS1014aによってシャットダウンさせられるため、資源や電力の無駄使いが無く、CPUパワーが無駄に使用されることがなくなる。
【0083】
〈画像形成装置の構成(3)〉
図5に示される画像形成装置100は、図1や図3で説明した画像形成装置100と同様に、コンピュータを仮想化して、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014a(図5においてゲストOS#1)を実行し、仮想ハードウェア1013B上の仮想マシン1014BでゲストOS1014b(図5においてゲストOS#2)を実行するものである。
【0084】
ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、動作時にハートビート信号を発生し続けることで自己の生存を知らしめると共に他のハートビート信号を受信することで他の生存を確認するOS生存監視部1015Abと、ゲストOS1014a上で動作しつつゲストOS1014bの起動あるいは停止といった状態を変更可能なOS状態変更部1015Acと、ゲストOS1014a上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Adと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。なお、ここで、ハートビート信号と言ったものは、定期的な信号により自己の生存を示す信号(生存確認信号)であれば良く、既知の各種の信号を用いることが可能である。
【0085】
また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baと、動作時にハートビート信号を発生し続けることで自己の生存を知らしめると共に他のハートビート信号を受信することで他の生存を確認するOS生存監視部1015Bcと、ゲストOS1014b上で動作しつつゲストOS1014aの起動あるいは停止といった状態を変更可能なOS状態変更部1015Bdと、を有する。
【0086】
なお、この図5における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。また、この図5における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。また、この実施形態では、ゲストOS1014a(ゲストOS#1)が第1オペレーティングシステムであり、ゲストOS1014b(ゲストOS#2)が第2オペレーティングシステムである。
【0087】
また、ここでは、ハートビート信号を生存確認に用いているが、これ以外であっても互いの生存確認を行うことが可能な各種の手法を採用することが可能である。
【0088】
〈画像形成装置の動作(3)〉
ここで、本実施形態の構成(3)の画像形成装置における画像形成の動作(3)について、図6のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。
【0089】
画像形成装置100の電源がオペレータによりオンされる(図6中のステップS601)と、ファームウェア保存部1010等に保存されているブートローダがブート処理を行い、ホストOS1012を起動する(図6中のステップS602)。
【0090】
そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする(図6中のステップS603)。
【0091】
さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する(図6中のステップS604)。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。
【0092】
ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし(図6中のステップS605)、ロードしたファームウェアをファームウェア実行部1015Aaが実行する(図6中のステップS606)。
【0093】
そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する(図6中のステップS607)。
【0094】
また、ゲストOS1014a上ではファームウェア更新要求受付部1015Adがファームウェア更新要求を受け付け待ちをしている(図6中のステップS608)。このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信される「ファームウェア更新要求」の受信であってもよいし、入力部120に接続されるUSBメモリに含まれる「ファームウェア更新要求」の読み取りであってもよい。
【0095】
この際に、ファームウェア更新要求受付部1015Adは、「ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してください」などと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Adは、「ファームウェア更新可能です。ファームウェアを更新しますか(Y/N)」などと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。
【0096】
操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Adが受信すると(図6中のステップS608でYES)、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを起動するよう要求する(図6中のステップS609)。
【0097】
ここで、OS生存監視部1015Abは、自己の生存を他のOS生存監視部に対して知らしめるハートビート信号を定期的に生成する(図6中のステップS610)。このOS生存監視部1015Abからのハートビート信号は、後述するOS生存監視部1015Bcに対して送出される。
【0098】
ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する(図6中のステップS609)と、仮想マシンモニタ1013はハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される(図6中のステップS701)。
【0099】
ここで、ゲストOS1014b側のOS生存監視部1015Bcは、自己の生存を他のOS生存監視部に対して知らしめるハートビート信号を定期的に生成する(図7中のステップS702)。このOS生存監視部1015Bcからのハートビート信号は、OS生存監視部1015Abに対して送出される。
【0100】
ゲストOS1014a側のOS生存監視部1015AbはゲストOS1014b側のOS生存監視部1015Bcからのハートビート信号を受信している(図6中のステップS611)。ここで、OS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号が受信できなければ(図6中のステップS611でNO)、何らかの理由でゲストOS1014bそのもの又はゲストOS1014b上のプログラムがハングアップ(停止)していると考えられるため、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを再起動するよう要求する(図6中のステップS612)。これ以後、OS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号が受信できるまで、OS状態変更部1015AcはゲストOS1014bを再起動するよう要求する(図6中のステップS611でNO、ステップS612)。
【0101】
一方、ゲストOS1014a側のOS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号を受信できれば(図6中のステップS611でYES)、次の処理に進む。
【0102】
また、ゲストOS1014b側のOS生存監視部1015BcはゲストOS1014a側のOS生存監視部1015Abからのハートビート信号を受信している(図6中のステップS703)。ここで、OS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号が受信できなければ(図6中のステップS703でNO)、何らかの理由でゲストOS1014aそのもの又はゲストOS1014a上のプログラムがハングアップ(停止)していると考えられるため、ゲストOS1014b上のOS状態変更部1015Bdは、仮想ハードウェア1013A上の仮想マシン1014AにおいてゲストOS1014aを再起動するよう要求する(図6中のステップS704)。これ以後、OS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号が受信できるまで、OS状態変更部1015BdはゲストOS1014aを再起動するよう要求する(図6中のステップS703でNO、ステップS704)。
【0103】
一方、ゲストOS1014b側のOS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号を受信できれば(図6中のステップS703でYES)、次の処理に進む。
【0104】
この時点では、操作部105や更新ファームウェア保存部200からのファームウェア更新要求がファームウェア更新要求受付部1015Adで受信されている(図6中のステップS608でYES)ため、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して(図6中のステップS705)、読み出した更新ファームウェアをファームウェア保存部1010に書き込む(図6中のステップS706)。
【0105】
このようなファームウェア更新を実行した後、ファームウェア更新部1015Baは、ファームウェア実行部1015Aaに対してファームウェア更新完了通知を送信する(図6中のステップS707)。
【0106】
ゲストOS1014a側のOS状態変更部1015Acはファームウェア更新完了通知を受信する(図6中のステップS613でYES)と、ゲストOS1014bに対して停止要求を発生する(図6中のステップS614)。また、ゲストOS1014bに停止要求を発生したことでゲストOS1014a側からのハートビート信号が不要になるため、OS生存監視部1015Abはハートビート信号の送出を停止する(図6中のステップS615)。
【0107】
このようにしてOS状態変更部1015Acから停止要求を受けたゲストOS1014bは、自らをシャットダウンして終了する(図6中のステップS708、エンド(ゲストOS#2))。
【0108】
ここで、仮想マシンモニタ1013は、ハードウェア資源(CPUやメモリ)の再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。
【0109】
なお、これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。
【0110】
以上の動作において、ファームウェア更新中、ファームウェア更新完了、OSの再起動について、動作中の処理内容を操作部105に表示するようにしても良い。
【0111】
以上の構成(3)と動作(3)では、ゲストOS1014a(第1オペレーティングシステム)とゲストOS1014b(第2オペレーティングシステム)とを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。
【0112】
すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。
【0113】
従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ(停止)による画像データの喪失や、画像形成側OSハングアップ(停止)によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。
【0114】
また、ゲストOS1014a上でファームウェアが正常に起動されてファームウェア更新要求を受信した後に、ファームウェア更新のためのゲストOS1014bがゲストOS1014aによって起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。
【0115】
また、ゲストOS1014b上のファームウェア更新部1015Baがファームウェア更新を完了した後に、ゲストOS1014bがゲストOS1014aによってシャットダウンさせられるため、資源や電力の無駄使いが無く、CPUパワーが無駄に使用されることがなくなる。
【0116】
また、ファームウェア更新のためにゲストOS1014bが動作している期間は、ゲストOS1014aとゲストOS1014bとが互いの生存をハートビート信号により監視しており、相手方のハートビート信号が受信できない場合には相手方を再起動するようにしているため、不具合発生時にも再起動が可能になり、ファームウェア更新や画像形成について安定した動作を保つことが可能になる。
【符号の説明】
【0117】
100 画像形成装置
101 制御部
102 通信部
105 操作部
120 入力部
130 データ蓄積部
150 画像処理部
160 画像形成部
200 更新ファームウェア保存部

【特許請求の範囲】
【請求項1】
単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置における画像形成装置制御方法であって、
ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作させる、
ことを特徴とする画像形成装置制御方法。
【請求項2】
前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、
ことを特徴とする請求項1記載の画像形成装置制御方法。
【請求項3】
前記第1オペレーティングシステムにおいてファームウェア更新要求が受信されると前記第2オペレーティングシステムが起動される、
ことを特徴とする請求項1記載の画像形成装置制御方法。
【請求項4】
前記第1オペレーティングシステムは、前記第2オペレーティングシステムの動作状況を監視し、前記第2オペレーティングシステムの停止を検知した場合には前記第2オペレーティングシステムを再起動し、
前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視し、前記第1オペレーティングシステムの停止を検知した場合には前記第1オペレーティングシステムを再起動する、
ことを特徴とする請求項1−3のいずれか一項に記載の画像形成装置制御方法。
【請求項5】
前記第1オペレーティングシステムと前記第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、
ことを特徴とする請求項1−4のいずれか一項に記載の画像形成装置制御方法。
【請求項6】
単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置であって、
ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作可能に備える、
ことを特徴とする画像形成装置。
【請求項7】
前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、
ことを特徴とする請求項6記載の画像形成装置制御。
【請求項8】
前記第1オペレーティングシステムは、ファームウェア更新要求を受信すると前記第2オペレーティングシステムを起動する第1状態変更部を備える、
ことを特徴とする請求項6記載の画像形成装置。
【請求項9】
前記第1オペレーティングシステムは、
前記第2オペレーティングシステムの動作状況を監視する第1生存監視部と、
前記第2オペレーティングシステムの停止が前記第1生存監視部により検知された場合には前記第2オペレーティングシステムを再起動する第1状態変更部とを備え、
前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視する第2生存監視部と、前記第1オペレーティングシステムの停止が前記第2生存監視部により検知された場合には前記第1オペレーティングシステムを再起動する第2状態変更部と、
を備えることを特徴とする請求項6−8のいずれか一項に記載の画像形成装置。
【請求項10】
前記第1オペレーティングシステムと前記第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、
ことを特徴とする請求項6−9のいずれか一項に記載の画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−54585(P2013−54585A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−193125(P2011−193125)
【出願日】平成23年9月5日(2011.9.5)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】