JP2013250910A - 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム - Google Patents

画像形成装置、画像形成装置の制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2013250910A
JP2013250910A JP2012126830A JP2012126830A JP2013250910A JP 2013250910 A JP2013250910 A JP 2013250910A JP 2012126830 A JP2012126830 A JP 2012126830A JP 2012126830 A JP2012126830 A JP 2012126830A JP 2013250910 A JP2013250910 A JP 2013250910A
Authority
JP
Japan
Prior art keywords
software
update
version number
image forming
forming apparatus
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
JP2012126830A
Other languages
English (en)
Inventor
Yoko Tokumoto
曜子 徳元
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012126830A priority Critical patent/JP2013250910A/ja
Publication of JP2013250910A publication Critical patent/JP2013250910A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】自装置がアップデート管理対象とするソフトウェアの、不要なアップデートとダウングレードの繰り返しを抑える画像形成装置を提供する。
【解決手段】自装置がアップデート管理対象とする第1のソフトウェアと、アップデート管理対象としない第2のソフトウェアとがインストールされた画像形成装置102を設ける。画像形成装置102が、第1のソフトウェアがアップデートされた後に第2のソフトウェアが正常動作しない場合に、第1のソフトウェアが含むモジュールに対応する版数を記憶手段に記憶する。第1のソフトウェアのアップデート指示がされた場合に、第1のソフトウェアがアップデートされた場合の第1のソフトウェアが含むモジュールに関する版数が記憶手段に記憶されている版数と合致する場合に、画像形成装置102が、第1のソフトウェアのアップデートを中止する。
【選択図】図1

Description

本発明は、画像形成装置、画像形成装置の制御方法およびコンピュータプログラムに関する。
デジタル複合機等の画像形成装置が備えるファームウェアのアップデートが必要になった場合、一般に、サービスマンが、顧客先に出向いて、当該ファームウェアのアップデートを実施する。しかし、近年は、インターネット環境が整い、ファームウェアをインターネットによってデジタル複合機に通知し、サービスマンが出向くことなく、ユーザによってファームウェアのアップデートを実施することが可能になってきている。上記ファームウェアは、画像形成装置のメーカーによって提供される。
アップデートを実施するファームウェア構成は、基本的に品質保証されたもので、アップデートしても動作に問題がないことを前提としている。しかし、現在のデジタル複合機には、ユーザのニーズによって機能をカスタマイズするためのオープンな外部アプリがインストールされていることがある。外部アプリは、デジタル複合機がアップデート管理対象としないソフトウェアであって、デジタル複合機のメーカーとは異なる他のメーカー(以下、外部アプリ提供メーカーと記述)によって提供される。一方、デジタル複合機には、デジタル複合機自身がアップデート管理対象とするソフトウェア(例えば、ファームウェア)がインストールされている。
外部アプリと、デジタル複合機自身がアップデート管理対象とするファームウェアとの組み合わせが、評価されていない組み合わせとなった場合、ファームウェアのアップデートが原因で機器の動作に異常が発生する可能性がある。例えば、ファームウェアのアップデート後にある機能のメモリの使用方法が変わると、外部アプリが動作しなくなる場合がある。
また、ファームウェアのアップデートの目的として、一度製品化されたファームウェアの機能を大きく変更することを目的とするよりも、バグの修正を目的とすることが多いと考えられる。したがって、外部アプリが、潜在バグに依存した作りになっている場合には、アップデートによってファームウェアのバグが修正された場合、外部アプリが動作しなくなることがある。
デジタル複合機内のファームウェアのアップデートに伴って外部アプリが動作しなくなった場合、ユーザは、カスタマイズされた外部アプリを使用するために、アップデート前の過去のバージョンにバージョンダウンを行う必要がある。特許文献1は、バージョンアップ指示対象のコンポーネントのテストを実行し、このコンポーネントの正常動作が確認できなかった場合に、当該コンポーネントとそのテストプログラムを削除するバージョンアップ管理装置を開示している。
特開2008−269128号公報
ここで、デジタル複合機のファームウェアを定期アップデートし、常に最新のファームウェアを提供するシステムが考えられる。しかし、ファームウェアの定期アップデート運用中に、外部アプリが一度でも正常動作しなくなると、以下の問題がある。すなわち、ユーザは、定期アップデートの度に、ファームウェアのバージョン(版数)が外部アプリが正常動作する版数になるまで、繰り返しファームウェアのダウングレードを行う必要がある。
このような不要なアップデート・ダウングレードが繰り返されると、デジタル複合機のダウンタイム時間が増加し、ユーザの利便性が低下してしまう。また、不要なアップデート・ダウングレードの繰り返しを止めるためには、ユーザが、定期アップデートを停止する設定を行う必要がある。遠隔で定期アップデートの停止が設定できない場合は、サービスマンがデジタル複合機の設置場所まで行かなくてはならなくなり、コストがかかる。
本発明は、上記の課題の少なくとも一つを解決するためになされたものである。本発明は、自装置がアップデート管理対象とするソフトウェアの、不要なアップデートとダウングレードの繰り返しを抑える画像形成装置の提供を目的とする。
本発明の一実施形態の画像形成装置は、第1のソフトウェアと第2のソフトウェアとがインストールされた画像形成装置である。前記第1のソフトウェアは、前記画像形成装置がアップデート管理対象とするソフトウェアであり、前記第2のソフトウェアは、前記画像形成装置がアップデート管理対象としないソフトウェアである。そして、前記画像形成装置は、前記第1のソフトウェアをアップデートまたはダウングレードする更新手段と、前記第1のソフトウェアがアップデートされた後に前記第2のソフトウェアが正常動作しない場合に、該第1のソフトウェアが含むモジュールに対応する版数を記憶手段に記憶して管理する管理手段と、前記第1のソフトウェアのアップデート指示がされた場合に、該第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致するかを判断する判断手段と、前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致すると判断された場合に、前記更新手段による該第1のソフトウェアのアップデートを中止する中止手段とを備える。
本発明の画像形成装置によれば、自装置がアップデート管理対象とするソフトウェアの、不要なアップデートとダウングレードの繰り返しを抑えることができる。これにより、当該ソフトウェアの定期アップデートの利便性・信頼性が向上する。
本実施形態のシステム構成例を示す図である。 画像形成装置の構成例を示す図である。 画像形成装置が備えるコントローラ部の構成例を示す図である。 画像形成装置のファームウェア構成の一例を示す図である。 ファームウェアのアップデートを説明する図である。 ファームウェアのアップデート処理を説明するフローチャートである。 実施例1におけるアップデートタイミング制御処理の例を説明するフローチャートである。 ファームウェアのアップデート時の処理を説明する図である。 ファームウェアのアップデート時の処理を説明する図である。
図1は、本実施形態のシステム構成例を示す図である。本実施形態の情報処理システムは、コンテンツサーバ101と画像形成装置102とを備える。コンテンツサーバ101と画像形成装置102とは、ネットワーク(この例ではインターネット)100を介して通信する。画像形成装置102は、画像データを生成して出力する処理装置である。画像形成装置102は、例えば、プリンタ、スキャナ、ファクシミリ装置、MFP(Multifunction Peripheral)等である。画像形成装置102は、顧客先に設置される。
コンテンツサーバ101は、インターネット100を介して、画像形成装置102に対し、画像形成装置102のファームウェアをアップデートするために必要なファームウェア構成情報を配信する。また、コンテンツサーバ101は、ファームウェアのアップデート・ダウングレード時に画像形成装置102がインストールする差分モジュールを画像形成装置102に配信する。
図2は、画像形成装置の構成例を示す図である。画像形成装置102は、LAN(Local Area Network)201を介してインターネット100(図1)に接続されている。LAN201は、例えばイーサネット(登録商標)である。
画像形成装置102は、リーダ部203、プリンタ部204、操作部205、コントローラ部206を備える。リーダ部203は、画像データの読取処理を行う。プリンタ部204は、画像データの出力処理を行う。操作部205は、ユーザの操作に応じた処理を実行する。例えば、操作部205は、画像データや各種機能の表示処理を行う液晶パネルを備える。コントローラ部206は、画像形成装置102が備える各処理部に指示することによって、画像形成装置全体を制御する。
リーダ部203は、原稿給紙ユニット207、スキャナユニット208を備える。原稿給紙ユニット207は、原稿用紙を搬送する。スキャナユニット208は、搬送された原稿画像を光学的に読み取って電気信号としての画像データに変換する。
プリンタ部203は、給紙ユニット209、マーキングユニット210、排紙ユニット212、アクセサリユニット213を備える。給紙ユニット209は、記録用紙を収容する。このために、給紙ユニット209は、複数段の給紙カセットを備える。マーキングユニット210は、画像データを記録用紙に転写、定着する。排紙ユニット212は、印字された記録用紙を外部に排出する。この例では、排紙ユニット209は、画像形成装置102の外部に接続されたアクセサリユニット213に接続されている。したがって、排紙ユニット209は、記録用紙をアクセサリユニット213へ排出する。
アクセサリユニット213は、ソート処理やステイプル処理などのフィニッシング処理を施して、記録用紙を排出する。また、画像形成装置102がFAX機能付きの画像形成装置である場合は、アクセサリユニット213にFAX送信部が設けられる。
図3は、図2に示す画像形成装置が備えるコントローラ部の構成例を示す図である。コントローラ部206が備える構成要素のうち、メインコントローラ32は、CPU33とバスコントローラ34とを備える。本実施形態の画像形成装置の制御方法は、CPU33がFLASHメモリ99に格納されたコンピュータプログラムを実行することによって実現される。
メインコントローラ32は、DRAMI/F37を介して、DRAM38と接続される。また、メインコントローラ32は、コーデックI/F39を介して、コーデック40と接続される。また、メインコントローラ32は、ネットワークI/F41を介して、ネットワークコントローラ42と接続される。また、メインコントローラ32は、スキャナバス45を介して、スキャナI/F46に接続される。また、メインコントローラ32は、プリンタバス47を介して、プリンタI/F48に接続される。また、メインコントローラ42は、PCIバス等の汎用高速バス49を介して拡張ボードを接続するための拡張コネクタ50及び入出力制御部(I/O制御部)51に接続されている。
DRAM38は、CPU33が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック40は、DRAM38に蓄積されたラスターイメージデータをMH/MR/MMR/JBIGなどの周知の圧縮方式で圧縮する。また、コーデック40は、圧縮されたデータをラスターイメージに伸長する。また、コーデック40にはSRAM43が接続されており、SRAM43は、コーデック40の一時的な作業領域として使用される。
ネットワークコントローラ42は、ネットワークコネクタ44を介して、LAN201(図2)との間で所定の制御動作を行う。I/O制御部51は、図2に示すリーダ部203やプリンタ部204との間で、制御コマンドを送受信する。I/O制御部51には、上記制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ52が2チャンネル装備されている。シリアル通信コントローラ52は、I/Oバス53を介して、スキャナI/F46及びプリンタI/F48に接続されている。
スキャナI/F46は、第一の調歩同期シリアルI/F54及び第一のビデオI/F55を介して、スキャナコネクタ56に接続されている。また、スキャナコネクタ56は、リーダ部105のスキャナユニット208に接続されている。そして、スキャナI/F46は、スキャナユニット208から受信した画像データに対して、所望の2値化処理や、主走査方向及び/又は副走査方向の変倍処理を行う。また、スキャナI/F46は、スキャナユニット208から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス45を介して、メインコントローラ32に転送する。
また、プリンタI/F48は、第2の調歩同期シリアルI/F57及び第2のビデオI/F58を介して、プリンタコネクタ59に接続されている。また、プリンタコネクタ59は、プリンタ部204のマーキングユニット210に接続されている。そして、プリンタI/F48は、メインコントローラ32から出力された画像データにスムージング処理を施して、マーキングユニット210に出力する。また、プリンタI/F48は、マーキングユニット210から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス47に出力する。プリンタI/F48は、例えば、LAN201に接続されたホストコンピュータから受信したPDL(ページ記述言語)データを解釈し、ラスターイメージデータに展開する。
また、バスコントローラ34は、スキャナI/F46プリンタI/F48、その他拡張コネクタ50等に接続された外部機器から入出力されるデータ転送を制御する。具体的には、バスコントローラ34は、バスの使用権のアービトレーション(調停)やDMAデータ転送の制御を行う。例えば、上述したDRAM38とコーデック40との間のデータ転送や、スキャナユニット208からDRAM38へのデータ転送、DRAM38からマーキングユニット210へのデータ転送等は、バスコントローラ34によって制御され、DMA転送される。
また、I/O制御部51は、LCDコントローラ60及びキー入力I/F61を介して、パネルI/F62に接続されている。パネルI/F62は、操作部107に接続されている。また,I/O制御部51は、E−IDEコネクタ63を介して、ハードディスクドライブ8および9、Flashメモリ99に接続されている。
Flashメモリ99は、メインコントローラ制御用の各種制御プログラム、各種データ記憶領域を記憶する。また、Flashメモリ99は、機器内で管理する日付と時刻を更新/保存するリアルタイムクロックモジュール64に接続されている。リアルタイムクロックモジュール64は、バックアップ用電池65に接続されて、バックアップ用電池65によりバックアップされている。
図4は、画像形成装置のファームウェア構成の一例を示す図である。画像形成装置102には、機能モジュール群401、Updater402、Tester403、Enginecon404、Accesory405、外部アプリ実行プラットフォーム407が、ファームウェアとしてインストールされている。このファームウェアは、画像形成装置102がアップデート管理対象とするソフトウェア(第1のソフトウェア)である。ファームウェアは、画像形成装置102のメーカーによって提供される。
また、画像形成装置102には、外部アプリ群406がインストールされている。外部アプリ群415に含まれる外部アプリ415は、画像形成装置102がアップデート管理対象としないソフトウェア(第2のソフトウェア)である。外部アプリ415は、画像形成装置102のメーカーとは異なる他のメーカーである外部アプリ提供メーカーによって提供される。
機能モジュール群401は、ユーザが通常使用する複数のモジュールであって、画像形成装置102の各種機能処理を実行する。Updater402は、ファームウェアのアップデートまたはダウングレードに用いられるモジュール(更新手段)である。Updater402は、ユーザアップデート、ダウングレード時に起動し、CPU33によって実行される。
Tester403は、ファームウェアのアップデート後の自動テスト、すなわち外部アプリ415の動作確認テストを実行する。Enginecon404は、プリンタ部204のエンジンコントローラモジュールである。Accessory405は、アクセサリユニット231のコントローラモジュールである。
外部アプリ群406は、ユーザが機能をカスタマイズして使用するアプリケーションプログラム群である。外部アプリ実行プラットフォーム407は、外部アプリ415の実行環境を提供するモジュールである。
機能モジュール群401、Updater402、Tester403、外部アプリ群406、外部アプリ実行プラットフォーム407は、FLASHメモリ99に格納される。Engincon404は、プリンタ部204に格納される。Acessory405は、アクセサリユニット213に格納される。
機能モジュール群401は、UI408、SCAN409、PRINT410、N/W411、FAX412、SEND413、PDL414を備える。UI408は、ユーザが操作部205を操作する際の動作モジュールである。スキャン409は、リーダ部203のコントローラモジュールである。PRINT410は、プリンタ部204のコントローラモジュールである。すなわち、PRINT410は、エンジンそのものに指示を出すEnginecon405の上位のコントローラモジュールである。
N/W411は、ネットワーク通信部分のモジュールであり、ネットワーク経由のプリント指示などを受ける。FAX412は、画像形成装置102上で読み取った画像データのFAX送信を行う。また、FAX412は、N/W411および外部のネットワークを介してFAX受信を行う。SEND413は、画像形成装置102上で読み取った画像データをメール添付で外部に送信するモジュールである。PDL414は、N/W410が外部のネットワーク経由で受信したPDLデータを画像変換する。機能モジュール群401が備える各々の機能モジュールは、画像形成装置102のモジュールの例であり、機能モジュール群401が、図4に示す機能モジュール以外の機能モジュールを備えるようにしてもよい。
外部アプリ群406は、外部アプリ415と外部アプリTester416とを備える。外部アプリ415は、外部アプリ実行プラットフォーム407が提供する実行環境で動作するように作られたモジュールである。外部アプリ415は、外部アプリ実行プラットフォーム407を通して、機能モジュール群401が備える各モジュールを使用して、ユーザのニーズに合わせてカスタマイズされた機能を提供する。
外部アプリ実行プラットフォーム407がの提供するAPIは、外部公開されており、外部アプリ提供メーカーが、外部アプリを作成して使用することができる。そのため、画像形成装置102のメーカー製のファームウェアを構成するモジュールがアップデートされて変更された場合、外部アプリ提供メーカー製の外部アプリ415とは評価されていない組み合わせとなる。外部アプリTester416は、ファームウェアのアップデートが行われたときに外部アプリ415の動作確認を行うテストモジュールである。外部アプリTester416は、外部アプリ提供メーカーによって提供される。
図5は、ファームウェアのアップデートを説明する図である。図5(A)に示す501は、画像形成装置102内のファームウェアを構成するモジュール一覧として機能するリストの例である。図5(B)は、アップデート対象となるモジュールを含むモジュール一覧として機能するリストである。以後、これらのリストをコンテンツリストと呼ぶ。また、ファームウェアを構成するモジュールは、パッケージと呼ばれる。すなわち、ファームウェアは、コンテンツリストに記述されたパッケージ群によって構成されている。コンテンツサーバ101は、コンテンツリストと対応付けて、ファームウェアの更新時に画像形成装置102に提供するTester403を保持している。
コンテンツサーバ101が、画像形成装置102のファームウェア構成を、コンテンツリストの単位で管理する。画像形成装置102のファームウェア構成のアップデート・ダウングレードは、画像形成装置102が、コンテンツリストのバージョンが変更されたときの差分パッケージをコンテンツサーバ101から取得してインストールすることで実施される。
図5(B)中に示すコンテンツリスト502は、図5(A)中に示すコンテンツリスト501に対してバージョンアップされたコンテンツリストである。画像形成装置102は、コンテンツリスト501とコンテンツリスト502とを比較して、図5(C)に示す差分パッケージ503を特定する。差分パッケージ503に記載されているモジュールは、コンテンツリスト501とコンテンツリスト502との差分に対応するモジュールである。そして、画像形成装置102は、特定した差分パッケージと、コンテンツリスト502に対応するTester403とをコンテンツサーバ101からインストールする。
コンテンツリストに記述されているパッケージは、それぞれ、コントローラ部206のFlashメモリ99、プリンタ部204、アクセサリユニット213に格納されている。画像形成装置102が備える各モジュールに1または複数のパッケージが対応することになる。コンテンツリストは、コンテンツリストに記述されたファームウェア構成で品質を保証される。ファームウェアのアップデートが必要になった場合、ファームウェア提供者は、コンテンツリストに記述されたパッケージを変更し、その構成での品質保証を行い、バージョンを上げたコンテンツリストをコンテンツサーバ101へ登録する。これにより、各ユーザ先の機器から新しいバージョンのコンテンツリストを取得することができる。
ファームウェア提供者は、コンテンツリストをコンテンツサーバ101に登録する際に、コンテンツリストのバージョンに対応したテストモジュール(例えばTester403と外部アプリTester416)を一緒に登録する。これにより、ユーザ先の機器がテストモジュールも取得できるようになる。
図6は、ファームウェアのアップデート処理の例を説明するフローチャートである。図6を参照して説明するファームウェアのアップデート処理は、FLASHメモリ99に格納されたプログラムに従って、CPU33によって実行される。
まず、CPU33が、コンテンツサーバ101からファームウェアのアップデート通知を受信し、FLASHメモリ99内のUpdater402を起動する(ステップS601)。ファームウェアのアップデート通知は、画像形成装置102に対するファームウェアのアップデート指示として機能する。ファームウェアのアップデート通知には、アップデート対象のモジュールを含むコンテンツリスト502が含まれる。
次に、CPU33が、コンテンツサーバ101から受けたアップデート通知内容に基づいて、更新の発生する差分パッケージを特定する(ステップS602)。例えば、CPU33は、ファームウェアのアップデート前のコンテンツリスト501(図5(A))と、アップデート通知に含まれるコンテンツリスト502とを比較し、差分パッケージ503の特定を行う。
次に、CPU33が、コンテンツサーバ101から、ステップS602で特定した差分パッケージをダウンロードする(ステップS603)。ステップS603では、CPU33は、さらに、差分パッケージを特定するのに用いたコンテンツリスト502に対応するTester403をダウンロードする。
次に、CPU33が、Updater402に設定されている定期アップデート時刻に達したかを判断する(ステップS604)。CPU33が、Updater402に設定されている定期アップデート時刻に達していないと判断した場合は、処理がステップS606に進む。そして、CPU33が、一定時間待機して(ステップS606)、処理がステップS604に戻る。
CPU33が、Updater402に設定されている定期アップデート時刻に達していると判断した場合は、処理がステップS605に進む。そして、CPU33が、アップデートタイミング制御処理を実行する(ステップS605)。
(実施例1)
実施例1では、画像形成装置102は、過去のアップデート処理で外部アプリ415が正常動作しなくなった時のコンテンツリストのバージョンをFLASHメモリ99に保存する。そして、画像形成装置102は、アップデート通知を受けた場合に、当該アップデート通知に含まれるコンテンツリストのバージョンとFLASHメモリ99に保存されているバージョンとを比較する。画像形成装置102は、当該比較結果に基づいて、ファームウェアのアップデートを実行するか否かを判断する。これによって、未知の外部アプリが画像形成装置102に導入され、定期アップデートで未知の外部アプリが正常動作しなくなることが予想される場合に、不要なアップデート・ダウングレード処理を行わなくてすむ。
図7は、実施例1におけるアップデートタイミング制御処理の例を説明するフローチャートである。このアップデートタイミング制御処理は、図6のステップS605での処理に対応し、CPU33が、FLASHメモリ99に格納されているUpdater402を実行することで行われる。
まず、CPU33が、今回アップデート対象であるモジュールを含むコンテンツリストのバージョンが、FLASHメモリ99に記憶されているコンテンツリストのバージョンであるかを判断する(ステップS701)。すなわち、CPU33は、ファームウェアがアップデートされた場合の当該ファームウェアが含むモジュールに関するバージョンが、記憶手段に記憶されているバージョンと合致するかを判断する判断手段として機能する。FLASHメモリ99に記憶されているコンテンツリストのバージョンは、過去に外部アプリ415が正常動作しなかった時に記憶されたコンテンツリストのバージョン、つまり、外部アプリ415が正常動作しない原因となったコンテンツリストのバージョンである。
今回アップデート対象となっているモジュールを含むコンテンツリストのバージョンが、FLASHメモリ99に記憶されているコンテンツリストのバージョンでない場合は、処理がステップS704に進む。
一方、今回アップデート対象となっているモジュールを含むコンテンツリストのバージョンが、FLASHメモリ99に記憶されているコンテンツリストのバージョンである場合は、処理がステップS702に進む。続いて、CPU33が、外部アプリ415のバージョンが前回のアップデート以後に修正されたか(アップデートされたか)を判断する(ステップS702)。
外部アプリ415のバージョンとインストール日時は、外部アプリ実行プラットフォーム407を介してFLASHメモリ99の特定の領域に保存されている。また、外部アプリ415の過去のアップデート日時も、FLASHメモリ99の特定の領域に保存されている。CPU33は、FLASHメモリ99に保存されている、外部アプリ415のインストール日時と過去のアップデート日時とを比較することで、外部アプリ415のバージョンが前回のアップデート以後に修正されたかを判断する。
外部アプリ415のバージョンが前回のアップデート以後に修正された場合は、ステップS704に進む。外部アプリ415のバージョンが前回のアップデート以後に修正されていなかった場合は、ステップS703に進む。そして、CPU33が、今回のファームウェアのアップデート処理を中止する。すなわち、CPU33は、Updater402によるファームウェアのアップデートを中止する中止手段として機能する。
ステップS704において、CPU33が、今回アップデート対象となっているモジュールを含むコンテンツリストと、アップデート前のコンテンツリストとに基づいて、差分パッケージを特定する。そして、CPU33が、コンテンツサーバ101から差分パッケージをダウンロードし、画像形成装置102にインストールする(ステップS704)。これにより、ファームウェアがアップデートされる。
次に、CPU33が、外部アプリTester416によって、外部アプリ415の動作確認テストを行う(ステップS705)。外部アプリTester416による動作確認テストは、以下のようにして実行される。まず、CPU33が、Tester415を起動する。Testerが外部アプリ415を叩き、外部アプリ415が,外部アプリ実行プラットフォーム407を介して、機能モジュール群401のいずれかのモジュールを叩くことで外部アプリ415を動作させる。外部アプリTester416が、外部アプリ415の動作結果を取得し、動作結果が予め決められた期待する動作(戻り値)と一致しているかを判断する。
外部アプリTester416が、動作結果が予め決められた期待する動作(戻り値)と一致していると判断した場合、CPU33は、外部アプリ415が正常動作すると判断して、処理を終了する。外部アプリTester416が、動作結果が予め決められた期待する動作(戻り値)と一致していないと判断した場合、CPU33は、外部アプリ415が正常動作しないと判断して、処理がステップS707に進む。
ステップS707において、CPU33が、アップデート前のパッケージに戻すために、ファームウェアのダウングレードを実行する(ステップS707)。具体的には、CPU33は、アップデートの処理と同様に、アップデート前のコンテンツリストをコンテンツリストサーバ101から取得して、差分パッケージのインストールを行うことで、ダウングレードを実行する。
次に、CPU33が、今回アップデート対象となったモジュールを含むコンテンツリストのバージョンを取得して、FLASHメモリ99の特定の領域に記憶して管理し(ステップS708)、処理を終了する。すなわち、CPU33は、ファームウェアがアップデートされた後に外部アプリ415が正常動作しない場合に、このファームウェアが含むモジュールに関する版数を記憶手段に記憶して管理する管理手段として機能する。
なお、上記ステップS705において、画像形成装置102が備える機能モジュールが、ユーザの操作にしたがって機能動作するようにしてもよい。そして、CPU33が、上記ステップS706乃至708の処理を、ユーザの操作にしたがって実行するようにしてもよい。
図8は、実施例1におけるファームウェアのアップデート時の処理を説明する図である。図8(A)は、X回目のファームウェアの定期アップデート時の処理を示す。符号801は、アップデート処理前の画像形成装置102内のモジュール一覧である。モジュール一覧801には、アップデート管理対象であるモジュールaaa乃至cccと、外部アプリとが記述されている。
モジュールaaa乃至cccは、図4のファームウェア構成図においては、例えば、機能モジュール群401内のモジュールや、Updater402、Tester403、Enginecon404、Accerory405に該当する。外部アプリは、外部アプリ415に該当する。また、コンテンツリスト802は、X回目にアップデート対象であるモジュールを含むコンテンツリストである。
モジュール一覧801とコンテンツリスト802とを比較してみると、両者は、モジュールaaaのバージョンに差分があることがわかる。したがって、X回目のアップデート後のモジュール一覧803に記述されているモジュールaaaは、モジュール一覧801に記述されているモジュールaaaからバージョンアップされている。
X回目のアップデート後、CPU33が、外部アプリ415の動作確認テストを実行する。この動作確認テストの結果、外部アプリ415が正常動作しない場合、CPU33は、アップデート処理の前のモジュールへ戻す(ダウングレードする)。この例では、CPU33は、モジュールaaaのバージョンを、”1.0−0”から”0.0−0”に戻す。そして、CPU33は、コンテンツリスト802のバージョン”V01”をFALSHメモリ99の指定の領域に記憶する。
図8(B)は、X+1回目のファームウェアの定期アップデート時の処理を示す。X+1回目のアップデート前における画像形成装置102内のモジュール一覧804は、図8(A)に示すモジュール一覧801と同じ内容である。これは、X回目の定期アップデート時にダウングレードを実施しているからである。
図8(B)に示すように、X+1回目のアップデート対象であるモジュールを含むコンテンツリスト805のバージョンは”V01”であり、X回目の定期アップデート時にFALSHメモリ99に記憶されたコンテンツリスト802のバージョンと同じである。したがって、CPU33は、X+1回目のアップデート処理を中止する。
なお、X回目の定期アップデート時からX+1回目の定期アップデート時までの間に外部アプリ415のバージョンが変更されている場合を想定する。この場合には、外部アプリ415は、バージョン”V01”のコンテンツリストとは初めての組み合わせとなる。したがって、CPU33は、アップデート処理を実施し、動作確認を行う。
図8(C)は、X+2回目のファームウェアの定期アップデート時の処理を示す。X+2回目のアップデート前における画像形成装置102内のモジュール一覧806は、図8(A)に示すモジュール一覧801と同じ内容である。これは、X回目の定期アップデート時にダウングレードを実施し、X+1回目の定期アップデート時にアップデートを中止しているからである。
図8(C)に示すように、X+2回目のアップデート対象であるモジュールを含むコンテンツリスト807のバージョンは”V02”である。これは、モジュールaaaおよびbbbのバージョンが変更されるからである。コンテンツリスト807のバージョンが、X回目の定期アップデート時にFALSHメモリ99に記憶されたコンテンツリスト802のバージョンと異なるので、CPU33は、X+2回目のアップデート処理を実行する。符号808は、X+2回目のアップデート処理後のモジュール一覧である。アップデート処理後は、外部アプリ415の動作確認テストが実行される。
実施例1の画像形成装置102によれば、外部アプリ415が正常動作しないことが予想されるモジュールのアップデートを中止することで、ファームウェアの不要なアップデート、ダウングレードによるダウンタイム時間を削減することができる。その結果、ファームウェアの定期アップデートの利便性・信頼性が向上する。また、定期アップデートを停止する設定を行うためにサービスマンが出動する必要がなくなり、コストを削減することができる。
(実施例2)
実施例2では、画像形成装置102は、過去のアップデート処理で外部アプリ415が正常動作しない時に、コンテンツリスト中のモジュールのうち、外部アプリ415が正常動作しない原因であるモジュールのバージョンをFLASHメモリ99に保存する。外部アプリ415が正常動作しない原因であるモジュールを、以下では原因モジュールと記述する。画像形成装置102は、外部アプリ415が正常動作しなくなった時のアップデート処理でアップデート対象であったモジュールを原因モジュールとする。画像形成装置102は、アップデート通知を受けた場合に、当該アップデート通知に含まれるコンテンツリストに記述された原因モジュールのバージョンとFLASHメモリ99に保存されている原因モジュールのバージョンとを比較する。画像形成装置102は、当該比較結果に基づいて、ファームウェアのアップデートを実行するか否かを判断する。
実施例2においては、図7のステップS701において、CPU33が、以下の処理を実行する。CPU33は、今回アップデート対象であるファームウェアがアップデートされた場合の該ファームウェアが含む原因モジュールのバージョンが、FLASHメモリ99に記憶されている原因モジュールのバージョンと合致するかを判断する。
今回アップデート対象であるファームウェアがアップデートされた場合の該ファームウェアが含む原因モジュールのバージョンが、FLASHメモリ99に記憶されている原因モジュールのバージョンと合致する場合、処理がステップS702に進む。今回アップデート対象であるファームウェアがアップデートされた場合の該ファームウェアが含む原因モジュールのバージョンが、FLASHメモリ99に記憶されている原因モジュールのバージョンと合致しない場合は、処理がステップS704に進む。
また、実施例2においては、図7のステップS708において、CPU33が、外部アプリ415が正常動作しない原因となったモジュールを原因モジュールとして、そのバージョンをFLASHメモリ99の特定の領域に保存する。
図9は、実施例2におけるファームウェアのアップデート時の処理を説明する図である。図9(A)は、X回目のファームウェアの定期アップデート時の処理を示す。符号901は、アップデート処理前の画像形成装置102内のモジュール一覧である。モジュール一覧901には、アップデート管理対象であるモジュールUI乃至Accessoryと、外部アプリとが記述されている。外部アプリは、外部アプリ415に該当する。また、コンテンツリスト902は、X回目にアップデート対象であるモジュール一覧に対応するコンテンツリストである。
モジュール一覧901とコンテンツリスト902とを比較してみると、両者は、PRINTのバージョンに差分があることがわかる。したがって、X回目のアップデート後のモジュール一覧903に記述されているPRINTは、モジュール一覧901に記述されているPRINTからバージョンアップされている。
X回目のアップデート後、CPU33が、外部アプリ415の動作確認テストを実行する。この動作確認テストの結果、外部アプリ415が正常動作しない場合、CPU33は、アップデート処理の前のモジュールへ戻す(ダウングレードする)。この例では、CPU33は、PRINTのバージョンを、”1.0−0”から”0.0−0”に戻す。CPU33は、PRINTを原因モジュールとする。すなわち、CPU33は、アップデート処理前後でバージョンに変更があるモジュールを原因モジュールとする。そして、CPU33は、PRINTのバージョン”1.0−0”をFALSHメモリ99の指定の領域に記憶する。
図9(B)は、X+1回目のファームウェアの定期アップデート時の処理を示す。X+1回目のアップデート前における画像形成装置102内のモジュール一覧904は、図9(A)に示すモジュール一覧901と同じ内容である。これは、X回目の定期アップデート時にダウングレードを実施しているからである。
図9(B)に示すように、X+1回目の定期アップデート処理時のコンテンツリスト905に記述されたPRINTのバージョンは”1.0−0”であり、X回目の定期アップデート時にFALSHメモリ99に記憶されたPRINTのバージョンと同じである。したがって、CPU33は、X+1回目のアップデート処理を中止する。
なお、X回目の定期アップデート時からX+1回目の定期アップデート時までの間に外部アプリ415のバージョンが変更されている場合を想定する。この場合には、外部アプリ415は、バージョン”1.0−0”のPRINTとは初めての組み合わせとなる。したがって、CPU33は、アップデート処理を実施し、動作確認を行う。
図9(C)は、X+2回目のファームウェアの定期アップデート時の処理を示す。X+2回目のアップデート前における画像形成装置102内のモジュール一覧906は、図9(A)に示すモジュール一覧901と同じ内容である。これは、X回目の定期アップデート時にダウングレードを実施し、X+1回目の定期アップデート時にアップデートを中止しているからである。
図9(C)に示すように、X+2回目の定期アップデート処理時のコンテンツリスト807に記述されたPRINTのバージョンは”2.0−0”であって、X回目の定期アップデート時にFALSHメモリ99に記憶されたPRINTのバージョンと異なる。したがって、CPU33は、X+2回目のアップデート処理を実行する。符号908は、X+2回目のアップデート処理後のモジュール一連である。モジュール一覧908ではPRINT、SCANのバージョンが変更されている。アップデート処理後は、外部アプリ415の動作確認テストが実行される。
実施例2の画像形成装置102は、過去に外部アプリ415が正常動作しない原因となったバージョンの原因モジュールを今回アップグレード対象であるモジュールが含むかをチェックして、モジュールのアップデートを中止するか否かを判断する。したがって、実施例2の画像形成装置102によれば、精度良くアップデートの中止処理を実行することができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
100 コンテンツサーバ
102 画像形成装置

Claims (7)

  1. 第1のソフトウェアと第2のソフトウェアとがインストールされた画像形成装置であって、
    前記第1のソフトウェアは、前記画像形成装置がアップデート管理対象とするソフトウェアであり、前記第2のソフトウェアは、前記画像形成装置がアップデート管理対象としないソフトウェアであり、
    前記第1のソフトウェアをアップデートまたはダウングレードする更新手段と、
    前記第1のソフトウェアがアップデートされた後に前記第2のソフトウェアが正常動作しない場合に、該第1のソフトウェアが含むモジュールに関する版数を記憶手段に記憶して管理する管理手段と、
    前記第1のソフトウェアのアップデート指示がされた場合に、該第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致するかを判断する判断手段と、
    前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致すると判断された場合に、前記更新手段による該第1のソフトウェアのアップデートを中止する中止手段とを備える
    ことを特徴とする画像形成装置。
  2. 前記第1のソフトウェアが含むモジュールに関する版数は、該第1のソフトウェアが含むモジュールのリストの版数である
    ことを特徴とする請求項1に記載の画像形成装置。
  3. 前記第1のソフトウェアが含むモジュールのリストは、外部装置が前記画像形成装置に対して行う前記第1のソフトウェアのアップデート通知に含まれる
    ことを特徴とする請求項2に記載の画像形成装置。
  4. 前記記憶手段に記憶される前記第1のソフトウェアが含むモジュールに関する版数は、該第1のソフトウェアが含むモジュールのうち、前記第2のソフトウェアが正常動作しない原因となる原因モジュールの版数であり、
    前記判断手段は、前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含む前記原因モジュールの版数が、前記記憶手段に記憶されている該原因モジュールの版数と合致するかを判断し、
    前記中止手段は、前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含む前記原因モジュールの版数が、前記記憶手段に記憶されている該原因モジュールの版数と合致すると判断された場合に、前記更新手段による該第1のソフトウェアのアップデートを中止する
    ことを特徴とする請求項1に記載の画像形成装置。
  5. 前記記憶手段に記憶される前記第1のソフトウェアが含むモジュールに関する版数は、該第1のソフトウェアが含むモジュールのうち、前記第2のソフトウェアが正常動作しない原因となる原因モジュールの版数であり、
    前記判断手段は、
    前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含む前記原因モジュールの版数が、前記記憶手段に記憶されている該原因モジュールの版数と合致するかを判断し、
    前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含む前記原因モジュールの版数が、前記記憶手段に記憶されている該原因モジュールの版数と合致する場合に、前記第2のソフトウェアがアップデートされているかを判断し、
    前記中止手段は、前記第2のソフトウェアがアップデートされていると判断された場合に、前記更新手段による該第1のソフトウェアのアップデートを中止する
    ことを特徴とする請求項1に記載の画像形成装置。
  6. 第1のソフトウェアと第2のソフトウェアとがインストールされた画像形成装置の制御方法であって、
    前記第1のソフトウェアは、前記画像形成装置がアップデート管理対象とするソフトウェアであり、前記第2のソフトウェアは、前記画像形成装置がアップデート管理対象としないソフトウェアであり、
    前記第1のソフトウェアがアップデートされた後に前記第2のソフトウェアが正常動作しない場合に、前記アップデートされたソフトウェアをダウングレードするとともに、該第1のソフトウェアが含むモジュールに関する版数を記憶手段に記憶して管理する工程と、
    前記第1のソフトウェアのアップデート指示がされた場合に、該第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致するかを判断する工程と、
    前記第1のソフトウェアがアップデートされた場合の該第1のソフトウェアが含むモジュールに関する版数が前記記憶手段に記憶されている版数と合致すると判断された場合に、前記第1のソフトウェアのアップデートを中止する工程とを有する
    ことを特徴とする制御方法。
  7. 請求項6に記載の制御方法をコンピュータに実行させる
    ことを特徴とするコンピュータプログラム。
JP2012126830A 2012-06-04 2012-06-04 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム Pending JP2013250910A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012126830A JP2013250910A (ja) 2012-06-04 2012-06-04 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012126830A JP2013250910A (ja) 2012-06-04 2012-06-04 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2013250910A true JP2013250910A (ja) 2013-12-12

Family

ID=49849481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012126830A Pending JP2013250910A (ja) 2012-06-04 2012-06-04 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2013250910A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014224070A1 (de) 2013-12-04 2015-06-11 Toyota Jidosha Kabushiki Kaisha Verfahren und vorrichtung zum herstellen eines tanks
JP2018018200A (ja) * 2016-07-26 2018-02-01 Necプラットフォームズ株式会社 電源装置および電源制御方法
JP2018036798A (ja) * 2016-08-30 2018-03-08 コニカミノルタ株式会社 サーバ、更新管理プログラムおよび画像処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014224070A1 (de) 2013-12-04 2015-06-11 Toyota Jidosha Kabushiki Kaisha Verfahren und vorrichtung zum herstellen eines tanks
JP2018018200A (ja) * 2016-07-26 2018-02-01 Necプラットフォームズ株式会社 電源装置および電源制御方法
JP2018036798A (ja) * 2016-08-30 2018-03-08 コニカミノルタ株式会社 サーバ、更新管理プログラムおよび画像処理システム

Similar Documents

Publication Publication Date Title
US8539609B2 (en) Device managing apparatus, device managing system, and recording medium storing a software management program
US9274775B2 (en) Apparatus, control method, and storage medium to instruct a framework to stop a target application based on a usage amount of a resource and a type of the target application
US20110093839A1 (en) Image forming apparatus including firmware, method of controlling image forming apparatus, and storage medium
US10970023B2 (en) Printing system for directly transmitting a print job to printer when a server is unavailable and printer driver program
US9544450B2 (en) Image forming apparatus and method for updating firmware
JP2003025688A (ja) プリンタのファームウエアインストール方法、プリンタ及びプリンタシステム
US20120200891A1 (en) Information processing apparatus improved in convenience of program update operation, and method of updating program of the information processing apparatus
JP2007293737A (ja) ソフトウェア資源の登録管理方法、電子機器、プログラム
JP4789958B2 (ja) 部品情報復元方法、部品情報管理方法及び電子装置
JP2011159232A (ja) 画像処理装置、消耗品発注方法、及び消耗品発注プログラム
JP2013250910A (ja) 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム
US20150242721A1 (en) Image forming apparatus, and control method thereof
JP2013250911A (ja) 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム
US10438021B2 (en) Device and control method
US8345296B2 (en) Image processing apparatus for determining appropriateness of combination of control software, activation method, and storage medium storing control program that causes computer to perform the method
JP2014167778A (ja) 電子機器、及びアプリケーション記憶プログラム
US20080114876A1 (en) Image forming apparatus and management system of image forming apparatus
JP5515642B2 (ja) 印刷装置とプログラムとサーバ装置
JP2010186452A (ja) 保守管理システム、データベースサーバ、保守管理プログラムおよび保守管理方法
EP3699749B1 (en) Image forming device
JP5932511B2 (ja) 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム
JP2011053775A (ja) 印刷システム、起動プログラム自動復旧方法、及び自動復旧制御プログラム
JP6071684B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2008269128A (ja) バージョンアップ管理装置及びバージョンアップ管理プログラム
JP2009043040A (ja) 画像形成システム