(57)【要約】      （修正有）【課題】ＭＦＰの自動初期設定で設定内容にファームウエアバージョンダウンが含まれる場合、自動で処理継続可能にする。【解決手段】ＭＦＰの自動初期設定を行う初期設定アプリケーションを、ファームウエアバージョンに依存しない拡張後入れアプリケーションとして実装する。ファームウエアバージョンダウン時、バージョン更新に依存する最低限の領域のみ削除する初期設定初期化モードをＭＦＰファームウエアに搭載する。初期設定の設定内容にファームウエアバージョンダウンが含まれる場合、バージョンダウン前に初期設定初期化を予約し、バージョンダウン実行後に初期設定初期化を実行する。初期設定アプリケーションとその専用領域は、初期設定初期化の削除対象外のため、バージョンダウン後も処理継続が可能となる。また、バージョンダウン後に初期設定初期化を実行するため、バージョンダウンに失敗した場合に、エラーリカバリ等の処理が不要となる。【選択図】図８
2020047139.tif 000002
【特許請求の範囲】
【請求項１】
ファームウエアが搭載されている情報処理装置において、
前記ファームウエアのシステム構成はミドルウェアを有する構成で、バージョン管理されており、
第１ファームウエアから第２ファームウエアにファームウエアバージョンを更新するファームウエア更新手段と、
前記ファームウエアに依存しないデータ領域を削除する初期化手段とを備え、
さらに、
初期設定指示が記載されたスクリプトに従って初期設定作業を自動で行う初期設定モジュールがあり、前記初期設定モジュールは前記ミドルウェア上で動作するアプリケーションであるとき、
前記初期設定モジュールがファームウエア更新を依頼するファームウエア更新依頼手段と、
前記ファームウエア更新が、ファームウエアバージョンダウンか否かを判断するバージョンダウン判断手段
とを備え、
さらに、前記初期設定モジュールは、前記ファームウエア単位に依存しない形式で管理されていることを特徴とする情報処理装置。
【請求項２】
前記初期設定モジュールは、
ファームウエアの更新を行う前に前記初期化手段の実行を予約する初期設定初期化予約手段とを備え、
前記バージョンダウン判断手段において、バージョンダウンと判断した場合に、前記初期設定初期化予約手段にて予約を行った後に、
前記ファームウエア更新依頼手段にてファームウエア更新依頼を行うことを特徴とし、
前記情報処理装置は、
前記初期設定初期化予約が行われているか否かを判断する初期化予約判断手段とを備え、
ファームウエア更新依頼受信後に、ファームウエア更新手段にて前記第２ファームウエアを更新し、
前記初期化予約判断手段において、予約がされていると判断した場合に、前記初期化手段を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記初期化手段にて削除する領域は、ファームウエアバージョンによって、ファイルデータ形式が異なる可能性がある領域であることを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、組み込みシステムデバイスのファームウエアバージョンダウンの動作に関する。
【背景技術】
【０００２】
一般に、画像形成装置に代表されるデバイスは新規に導入される際に、顧客環境に応じた初期設定作業が必要となる。デバイスの初期設定作業には多くの時間と手間がかかる。そのため、複数台のデバイスに対し、同様の初期設定作業を行う場合には、予め指定されたファームウエアバージョン、必要なソフトウエアや設定情報、検証用のデータなどの共通データを用意しておく。そして、それらを設定指示情報に従って処理していくことで、複合機の設定に詳しくない作業者（例えば、顧客先へ複合機を配送する配送担当者）であっても、自動的にかつ効率良く初期設定作業を行えるシステムが提案されている。その中で、ファームウエアを指定されたバージョンに変更する際、通常はバージョンアップとなる。
【０００３】
しかし、画像形成装置等のオフィス等で使用されるデバイスには、ファームウエアの種類が、通常ファームに加え、商談ファーム、個別ファーム等が存在する。通常ファームとは一般のユーザが画像形成装置で使用するファームであり、商談ファームとは特定の商談用にカスタマイズされたファームであり、個別ファームとは特定の障害等を直して個別にリリースされるファームである。その中で、商談ファームは商談先でしか使用されないファームであり、バージョンが長期に渡って変更されずに固定である場合が多い。工場出荷のファームウエアバージョンは、定期的に上がっていくため、設定する商談ファームのバージョンが、工場出荷されたファームウエアバージョンより下回ることが発生する。そのため、初期設定作業において、ファームウエアバージョンダウンという工程を行う必要がでてくる。
【０００４】
ファームウエアのバージョンアップでは、機能拡張や不具合修正のため、データファイルの形式等がしばしば変更される。バージョンアップという工程では、バージョンアップ先のファームウエアが、データファイル形式の変更を知っているため、バージョンアップと同時にデータファイルの形式変更も行うことができる。しかし、バージョンダウンという工程では、バージョンダウン先のファームウエアはデータファイルの形式変更を知らないため、ファイル形式が認識できずに正しくファイルを読み込めず、正常に起動できない可能性がある。
【０００５】
このような問題に対応するため、特許文献１によると、バージョンダウンを行う場合に、バージョンダウン先のファームウエアが使用可能なデータ形式に変換してから、バージョンダウンを行うと記述されている。また、特許文献２によると、バージョンダウンを行う場合に、追加されている機能が使用するデータを削除してから、バージョンダウンを行うと記述されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５７１３８０９号公報
【特許文献２】特開２０１５−１７６３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１も特許文献２も、バージョンダウン前に、データファイルの形式変更や、機能追加分のデータ領域の削除を行う。そのため、例えば、バージョンダウンに失敗した場合に、データファイルの形式や削除したデータ領域のロールバックが必要となる。さらに、バージョンダウン前とバージョンダウン先でのデータファイル形式の差分や機能追加の差分が、それぞれのパターンがあるため、全てのパターンを網羅する必要がある。
【０００８】
本発明は、初期設定作業におけるファームウエアのバージョンダウン時の、上記の課題を解決するためになされたものであり、ファームウエアのバージョンダウンを行った後に、必要な処理を実行しながら、デバイスを正常に起動できることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明は、
ファームウエアが搭載されている情報処理装置において、前記ファームウエアのシステム構成はミドルウェアを有する構成で、バージョン管理されており、第１ファームウエアから第２ファームウエアにファームウエアバージョンを更新するファームウエア更新手段と、前記ファームウエアに依存しないデータ領域を削除する初期化手段とを備え、さらに、初期設定指示が記載されたスクリプトに従って初期設定作業を自動で行う初期設定モジュールがあり、前記初期設定モジュールは前記ミドルウェア上で動作するアプリケーションであるとき、前記初期設定モジュールがファームウエア更新を依頼するファームウエア更新依頼手段と、前記ファームウエア更新が、ファームウエアバージョンダウンか否かを判断するバージョンダウン判断手段とを備え、さらに、前記初期設定モジュールは、前記ファームウエア単位に依存しない形式で管理されていることを特徴とする。
【発明の効果】
【００１０】
本発明に係る情報処理装置によれば、ファームウエアバージョンに依存部分する領域のみを削除する初期設定用初期化を設ける。ファームウエアバージョンダウンを行うと判断した場合に、ファームウエアバージョンダウン前に初期設定用初期化を予約し、バージョンダウン直後に初期設定用初期化を実行する。さらに、初期設定プログラムをファームウエアバージョンに依存しない拡張後入れアプリケーションとすることで、初期設定用初期化の削除対象とならず、ファームウエアバージョンダウン後でも処理が継続する。従って、初期設定作業において、ファームウエアのバージョンダウンが発生した場合にも、安全なファームウエア更新が行える手段を提供することが可能となり、さらにその後の処理も、自動で継続することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】システム構成の例を示す図
【図２】システムのハードウエア構成を説明するブロック図
【図３】ＭＦＰのシステム構成図
【図４】情報処理システムの機能ブロック図
【図５】ＭＦＰのＨＤＤ構成図
【図６】初期設定のスクリプト例
【図７】初期設定プログラムＵＩ
【図８】ＭＦＰと案件管理サーバの初期設定時のファームウエアのバージョンダウン処理を説明するフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、図面を参照しながら説明する。
【００１３】
〔実施形態〕
図１は、本発明の情報処理システム構成の例を示す図である。情報処理システムは、ＬＡＮ（１００）があり、初期設定対象の画像形成装置（以下、ＭＦＰと記載）（１０１）が接続されている。ＭＦＰは、案件管理サーバ（１２０）にアクセス可能であればＬＡＮ経由での接続でなくても構わない。また、初期設定の指示書（以下、スクリプトと記載）や必要なデータをネットワーク経由で取得する場合は、案件管理サーバのような情報処理システムが必要である。しかし、初期設定に必要な指示書およびデータを、ＰＣ等（不図示）から、一旦、外部記憶装置（例えばＵＳＢメモリ等）に保存し、外部記憶装置をＭＦＰに接続することで初期設定を行う場合には、このような情報処理システムは必要ない。本実施例では、ネットワーク経由で、ＭＦＰ（１０１）の初期設定を行うシステムについて詳述する。
【００１４】
ＭＦＰは、スキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した画像形成装置である。ＭＦＰには、後述する初期設定プログラム（４００）がインストールされている。初期設定プログラムは、ＭＦＰをスクリプト（図６）に記載された通りに設定する処理を実施する。案件管理サーバは、データ管理プログラム（４５０）がインストールされている。データ管理プログラムは、ＭＦＰからの要求に応じスクリプトを送信する。
【００１５】
＜ＭＦＰ＞
図２は、図１に示した情報処理システムの各ハードウエア構成を説明するブロック図である。図２の（Ａ）は、ＭＦＰ（１０１）のハードウエア構成の例である。図２の（Ａ）において、ＭＦＰはコントローラユニット（２００）を含み、コントローラユニットには、画像入力デバイスであるスキャナ（２１７）や画像出力デバイスであるプリンタ（２１６）が接続されるとともに、操作部（２０８）が接続される。コントローラユニットは、スキャナで読み取られた画像データをプリンタにより印刷出力するコピー機能を実現するための制御を行う。コントローラユニットは、プロセッサであるＣＰＵ（２０１）を有し、ＣＰＵは、ＲＯＭ（２０６）に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。
【００１６】
ＣＰＵは、このＯＳ上で、ＨＤＤ（ハードディスクドライブ）（２０７）に格納されているプログラムを実行し、これによって各種処理を実行する。このＣＰＵの作業領域としてはＲＡＭ（２０２）が用いられる。ＨＤＤは、上記プログラムや画像データを格納する。ＣＰＵには、システムバス（２１０）を介して、ＲＯＭおよびＲＡＭ、操作部Ｉ／Ｆ（操作部インタフェース）（２０３）が接続される。さらにＣＰＵには、ネットワークＩ／Ｆ（ネットワークインタフェース）（２０４）、ＵＳＢホストＩ／Ｆ（２０５）、画像バスＩ／Ｆ（画像バスインタフェース）（２１２）が接続される。
【００１７】
操作部Ｉ／Ｆは、タッチパネルを有する操作部とのインタフェースであり、操作部に表示すべき画像データを操作部に対して出力する。また、操作部Ｉ／Ｆは、操作部においてユーザにより入力された情報をＣＰＵに送出する。ネットワークＩ／Ｆ（２０４）は、ＭＦＰをＬＡＮ（１００）に接続するためのインタフェースである。ＵＳＢホストＩ／Ｆは、ＵＳＢストレージ（２１８）と通信するインタフェース部である。ＵＳＢホストＩ／Ｆは、ＨＤＤに格納されているデータをＵＳＢストレージに出力する。また、ＵＳＢホストＩ／Ｆは、ＵＳＢストレージに格納されているデータを入力し、ＣＰＵにそれを伝える。ＵＳＢストレージは、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆに対して着脱可能である。
【００１８】
画像バスＩ／Ｆは、システムバスと、画像データを高速で転送する画像バス（２１１）とを接続し、データ形式を変換するためのバスブリッジである。画像バスは、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス上には、デバイスＩ／Ｆ（２１５）、スキャナ画像処理部（２１４）、プリンタ画像処理部（２１３）が設けられる。デバイスＩ／Ｆには、スキャナ（２１７）およびプリンタ（２１６）が接続され、デバイスＩ／Ｆは、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部は、プリント出力画像データに対してプリンタに応じた補正、解像度変換などを行う。
【００１９】
＜サーバ＞
図２の（Ｂ）は、図１に示した案件管理サーバのハードウエア構成図である。図２の（Ｂ）において、ＣＰＵ（２８１）を含む制御部（２８０）は、クライアントＰＣ全体の動作を制御する。ＣＰＵは、ＲＯＭ（２８２）に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ（２８３）は、ＣＰＵの主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ（２８４）は、各種プログラム、或いは後述する動作構成スキーマ（図４）を記憶する。ネットワークＩ／Ｆ（２８５）は、制御部をＬＡＮまたはネットワークに接続する。ネットワークＩ／Ｆは、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２０】
＜ＭＦＰシステム構成図＞
図３は、図１に示したＭＦＰ（１０１）を制御するためのシステム構成図である。これらシステムは、ＲＯＭ（２０７）やＨＤＤ（２０９）に格納されている。コントーローラ（３０１）とは、ＭＦＰの各ハードウエアの制御を行うためのソフトウエア層であり、オペレーティングシステムやデバイスドライバ等が含まれる。組み込みアプリケーション（３０２）は、ＭＦＰの各機能を制御するためのソフトウエア層である。これらは、ＭＦＰ独自にプログラムされた組み込みソフトウエア層である。ミドルウェア（３０３）は、ＭＦＰ独自であるコントローラ層と、各アプリケーション（３０４〜３１２）をつなげるソフトウエア層である。ＭＦＰの機種毎に異なるハードウエア構成や制御方法、オペレーティングシステムなどをこの層で隠蔽することで、各アプリケーションを全機種および全ファームウエアバージョン上で動作できる仕組みを提供している。
【００２１】
拡張プレインストールアプリケーション（３０４、３０５）および、拡張後入れアプリケーション（３１１、３１２）は、ミドルウェア層上で動作するアプリケーションである。また、本実施例のファームウエアとは、コントローラ、組み込みアプリケーション、ミドルウェア、拡張プレインアプリケーションをあわせたものを示す。ファームウエアバージョン変更とは、コントローラ、組み込みアプリケーション、ミドルウェア、拡張プレインアプリケーションが変更されることを意味する。また、本実施例の初期設定プログラム（３１１）は、拡張後入れアプリケーションである。
【００２２】
＜各プログラムのソフトウエア構成＞
図４は、ＭＦＰ（１０１）、案件管理サーバ（１２０）で動作する各プログラムのソフトウエア構成の例を示すブロック図である。
【００２３】
４００は、ＭＦＰで初期設定プログラムの機能構成の例である。なお、ＣＰＵ（２０１）が初期設定プログラムを実行することにより各機能が実現される。初期設置プログラムは、ＭＦＰの拡張後入れアプリケーション（３１１、３１２）の一つとして実装されるものとする。初期設定プログラムは、ＵＩ制御部（４０１）、処理実行部（４０２）、スクリプト解析部（４０３）、通信部（４０４）、ファームウエアバージョン比較部（４０５）、ファームウエアバージョンダウン実行部（４０６）を有する。
【００２４】
各機能の詳細を説明する。ＵＩ制御部は、初期設定プログラムを操作するためのＵＩを操作部（２０８）通じてユーザに提供し、ユーザの操作を受け付ける処理を行う。処理実行部は、ＵＩ制御部の指示やスクリプト解析部の解析結果に従い、各種処理を行う。スクリプト解析部は、初期設定指示情報である初期設定スクリプトを解析し、処理実行部が実行すべき処理を決定する。ファームウエアバージョン比較部は、処理実行部が決定したファームウエア更新バージョンと、初期設定中のＭＦＰのファームウエアバージョンを比較する処理を行う。
【００２５】
ファームウエアバージョンダウン実行部は、ファームウエアバージョンダウンに必要な前処理および後処理を行う。通信部は、処理実行部の指示に従い、ネットワークＩ／Ｆ（２０４）を介して、案件管理サーバ（１２０）にデータの送信受信を行う。本実施例では、ネットワーク経由で初期設定を行うシステムについて詳述している。しかし、前述したように、初期設定に必要なデータを外部記憶装置（例えばＵＳＢメモリ等）に保存し、外部記憶装置をＭＦＰに接続することで初期設定を行う場合には、ＵＳＢホストＩ／Ｆ（２０５）を介し、外部記憶装置とデータ送受信を行う事となる。
【００２６】
４５０は、案件管理サーバで動作するデータ管理プログラムの機能構成の例である。なお、ＣＰＵ（２８１）がデータ管理プログラムを実行することにより各機能が実現される。データ管理プログラムは、制御部（４５１）、案件データ管理部（４５２）、通信部（４５３）、データ格納部（４６０）を有するＷｅｂアプリケーションである。各機能の詳細を説明する。制御部は、通信部が受信するリクエスト内容にしたがって、案件データ管理部に対して各データの取得等の処理を指示する。案件データ管理部は、制御部の指示に従い、後述するデータ格納部に対して案件データの取得などを行う。通信部は、ネットワークＩ／Ｆ（２８５）を介して、ＭＦＰ（１０１）などからのリクエストを受信して、制御部にリクエスト内容を送信する。更に、制御部からリクエストに対する処理結果を受け取り、レスポンスデータを作成し、ＭＦＰなどにレスポンスを送信する。データ格納部は、案件管理サーバで動作するデータベースである。尚、本例では案件管理サーバにデータ格納部が構成されているが、データ管理プログラムと連携できるようになっていれば別のサーバに配置されるような構成でも良い。データ格納部で管理するデータの詳細についての説明は、本実施例では省略するが、各ＭＦＰの初期設定スクリプトが格納されているものとする。
【００２７】
＜ＨＤＤ構成図＞
図５は、ＨＤＤ（２０９）内で管理格納されているデータ領域を示すＨＤＤ構成図である。ＭＦＰシステム領域（５０１）は、ファームウエアの一部が展開されている領域である。ファームウエアとは、前述したように、コントローラ（３０１）、組み込みアプリケーション（３０２）、ミドルウェア（３０３）、拡張プレインアプリケーション（３０４、３０５）を合わせたものである。ファームウエアのバージョンを変更すると、ＭＦＰシステム領域は、変更後のファームウエアで上書きすることになる。
【００２８】
ＭＦＰシステムデータ領域（５０２）は、ＭＦＰの動作を変更するための設定値の定義、ファームウエアから展開される言語やフォント等が格納されている領域である。この領域は、ファームウエアのバージョンによってデータファイル形式が異なる可能性があるため、ファームウエアバージョンに依存する領域である。そのため、ファームウエアバージョンのバージョンアップをすると、バージョンアップ時に古いデータファイル形式から新しいデータファイル形式に自動変換される。ファームウエアのバージョンアップ時のデータ変換に関しては、既に一般的な記述のため、ここでは省略する。また、逆にファームウエアのバージョンダウンをした場合は、古いファームウエアは新しいデータファイル形式を知らないため、自動で変換できない。そのため、初期設置の場合は、この領域を削除し、ファームウエアバージョンダウン後にデータファイルを再構築する必要がある。ファームウエアのバージョンダウン時の処理に関しては、フロー図８を用いて後述する。
【００２９】
拡張アプリケーション領域（５０３）は、ミドルウェア層（３０３）上で動作するアプリケーション（３０４〜３１２）が使用する領域である。ファームウエアバージョンや機種に依存せずに動作するアプリケーションのため、別の領域で管理されている。ただし、プレインアプリケーション（３０４、３０５）は、ファームウエアの一部として管理されている。そのため、各アプリケーションが格納されている領域（５０４、５０６）および各アプリケーションが使用する専用データ領域（５０５、５０７）は、ファームウエアバージョンのバージョンアップをすると、プレインアプリケーション領域は上書きさせる。そして、専用データ領域は、ＭＦＰシステムデータ領域と同様に、古いデータファイル形式から新しいデータファイル形式に自動変換される。よって、初期設置の場合は、ＭＦＰのシステムデータ領域と同様に、この領域を削除し、ファームウエアバージョンダウン後にデータファイルを再構築する必要がある。
【００３０】
拡張後入れアプリケーション（３１１、３１２）は、ファームウエアとは別に管理されているアプリケーションであり、ファームウエアのバージョン変更をしても影響を受けない領域である。そのため、バージョンアップ時およびバージョンダウン時において、拡張後入れアプリケーション領域（５０８、５１０）および専用データ領域（５０９、５１１）は、データファイル形式の変換や削除を行う必要はない。本発明の初期設置プログラム（４００）は、拡張後入れアプリケーションとして実装されている。また、データ領域（５１２）は、スキャンデータやＦＡＸ送受信データなど、一般的（パソコン等でも閲覧可能）な形式のデータを格納する領域である。データ領域も、ファームウエアバージョンに依存しない領域である。
【００３１】
従って、ＭＦＰシステムデータ領域（５０２）およびプレインアプリケーションの専用データ領域（５０５、５０７）は、初期設置におけるファームウエアバージョンダウン時に、削除および再構築が必要となる。
【００３２】
＜初期設定スクリプト例＞
図６は、図１に示したＭＦＰ（１０１）の初期設定を自動で実施するための初期設定スクリプト（６００）を示す図である。初期設定スクリプトは、案件管理サーバのデータ格納部（４６０）に格納されており、ＭＦＰの初期設定プログラムの処理実行部（４０２）を介し、スクリプト解析部（４０３）によって解析される。スクリプト解析部によって解析された初期設定スクリプトは、処理実行部によって記載された処理が実行される。初期設定スクリプトは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記載されており、ヘッダー（６０１）、コマンド部（６１０）で構成されている。尚、本図ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで書かれていても良い。
【００３３】
ヘッダー部（６０１）は、案件を識別するための情報や、作成者等が記述される。コマンド部（６１０）は、初期設定するために必要なコマンド群が記載される。ファームウエアダウンロードコマンド部（６１１）、ファームウエア更新コマンド部（６１２）、アプリケーションダウンロードやアプリケーションインストールや設定値設定コマンド部などのその他コマンド部（６１３）等で構成される。ファームウエアダウンロードコマンド部（６１１）は、案件管理サーバ（１２０）から指定されたファームウエアをダウンロードし、ＨＤＤ（２０９）に保存するコマンドである。
【００３４】
ファームウエアダウンロードコマンド部は、＜ｄｏｗｎｌｏａｄＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞で定義され、＜ｖｅｒｓｉｏｎ＞で必要なファームウエアを特定する。本例では、＜ｖｅｒｓｉｏｎ＞にバージョンを指定することでファームウエアを特定できるようにしたが、例えばネットワークパスや、ＤＢ上の場所を指定するｉｄなどで場所を特定しても良い。また、ファームウエアのダウンロード元は、案件管理サーバではなく、別管理されているファームウエア専用の管理サーバでも構わない。また、前述したように、初期設定に必要なデータを格納した外部記憶装置（例えばＵＳＢメモリ等）をＭＦＰに接続することで初期設定を行う場合には、外部記憶装置でも良い。ファームウエア更新コマンド部（６１２）は、ファームウエアを更新するコマンドであり、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞で定義される。ここでは、コマンド（６１１）でダウンロードしたファームウエアを使用して、ファームウエアを更新する。ファームウエアの更新時の詳細な処理については、後述する。
【００３５】
その他コマンド部（６１３）は、指定されたアプリケーションをダウンロードおよびインストールしたり、指定された設定値を設定する処理を行ったりする。本実施例での詳細な説明は省略する。また、コマンド部は、記載されたコマンド順に処理が実行される。
【００３６】
＜初期設定プログラムのＵＩ＞
図７は、ＭＦＰの操作部（２０８）に表示するＵＩ画面を示す図である。本ＵＩは、ユーザがＭＦＰの初期設定を行う際に操作する。
【００３７】
図７の（Ａ）は、ＭＦＰの組み込みアプリケーション（３０２）のＵＩの一例である。ＵＩ（７００）はボタン（７０１）を有し、７０１は初期設定プログラム（４００）を起動するためのボタンである。組み込みアプリケーションは、７０１が押下されたことを検知すると、初期設定プログラムを起動する。尚、本実施形態では分かり易く説明するため、ボタン７０１のみを表示しているがその限りではない。
【００３８】
図７の（Ｂ）および図（Ｃ）は、初期設定プログラムのＵＩの一例である。ＵＩ（７１０）は、ボタン７０１を押下された際に表示するＵＩであり、ボタン（７１１）と（７１２）を有し、初期設定プログラムが表示するＵＩである。７１１は初期設定を実行するためのボタンであり、初期設定プログラムは、ボタン７１１が押下されたことを検知すると、初期設定を開始する。初期設定の処理については図７用いて後述する。７１２は、初期設置プログラムを終了するためのボタンである。
【００３９】
ＵＩ（７２０）は、ボタン７１１を押下された際に表示するＵＩであり、初期設定プログラムが初期設定の処理中に表示するＵＩである。各コマンド（６１０）実行時に、処理内容が表示される。
【００４０】
＜バージョンダウンを伴う初期設定処理＞
図８は、ＭＦＰと案件管理サーバの初期設定時のファームウエアのバージョンダウン処理を説明するフローチャートである。本例は、ＭＦＰの初期設定プログラム（４００）、および、案件管理サーバのデータ管理プログラム（４５０）の処理例である。なお、Ｓ８００からＳ８１０は、ＣＰＵ（２０１）が初期設定プログラムを実行すること、およびＭＦＰのコントローラ（３０１）の処理で実現され、Ｓ８５０からＳ８５１は、ＣＰＵ（２８１）がデータ管理プログラムを実行することで実現される。
【００４１】
Ｓ８００からＳ８１０は、ユーザがボタン（７０１）を押下した際の初期設定プログラムの初期設定の処理である。Ｓ８００で、通信部（４０４）は、案件管理サーバへ初期設定スクリプトを要求して、Ｓ８００に遷移する。具体的には通信部が、データ管理プログラムの通信部（４５３）に対してＨＴＴＰのＧＥＴコマンドによる要求を行う。要求には初期設置スクリプトを特定するための識別子を含む。例えば、初期設定中のＭＦＰのデバイスＩＤや機種、ユーザが入力した情報等を含む。
【００４２】
Ｓ８０１で、通信部は、初期設定スクリプト（図６）を案件管理サーバから受信し、専用データ領域（５０９）に保存する。そして、処理実行部（４０２）は、スクリプト解析部（４０３）にスクリプトの解析を依頼する。スクリプト解析部は、スクリプトを解析し、解析結果を処理実行部に戻し、Ｓ８０２に遷移する。
【００４３】
Ｓ８０２で、処理実行部はスクリプト解析結果に基づいて処理を実行する。処理内容がファームウエアの更新だった場合に、ファームウエアバージョン比較部（４０５）は、初期設定中のＭＦＰのファームウエアバージョンを取得（不図示）し、スクリプトで指定されたバージョンと比較する。ＭＦＰのファームウエアバージョンとスクリプトで指定されたファームウエアバージョン（６１１）が同じと判断した場合は、Ｓ８１０に遷移する。例えば、初期設定中のＭＦＰのファームウエアバージョンがＶ０２．００だった場合は、スクリプトで指定されたファームウエアバージョン（０２．００）と同じと判断できる。また、ＭＦＰのファームウエアバージョンとスクリプトで指定されたファームウエアバージョンが異なると判断した場合はＳ８０３に遷移する。
【００４４】
Ｓ８０３で、ファームウエアバージョン比較部は、ファームウエア更新処理が、ファームウエアバージョンダウンか否かを判断する。初期設定中のＭＦＰのファームウエアバージョンが、スクリプトで指定されたファームウエアバージョン（０２．００）より大きい場合はバージョンダウンと判断し、逆に、小さい場合はバージョンアップと判断できる。バージョンアップと判断した場合、Ｓ８０５に遷移する。バージョンダウンと判断した場合、ファームウエア更新処理中のＵＩ（７２０）に、バージョンダウンであることを表示し、Ｓ８０４に遷移する。
【００４５】
Ｓ８０４で、ファームウエアバージョンダウン実行部（４０６）は、コントローラに対し、初期設定用初期化の予約フラグを立て、Ｓ８０５に遷移する。初期設定用初期化の予約とは、ＨＤＤ構成図で前述したＭＦＰシステムデータ領域（５０２）およびプレインアプリケーションの専用データ領域（５０５、５０７）の削除処理を、ファームウエア更新後に行う予約である。ファームウエア更新が成功した場合に、コントローラが削除処理を追加で実行する予約を行う。
【００４６】
Ｓ８０５で、処理実行部は、ファームウエア更新のための再起動を行い、Ｓ８０６に遷移する。一般的な組み込みデバイスでは、ファームウエア更新起動モード（不図示）を持っており、この再起動後は、ファームウエア更新起動モードで起動することとなる。
【００４７】
Ｓ８０６で、コントローラは、ファームウエア更新専用の起動モードで、ファームウエアの更新を行い、Ｓ８０７に遷移する。この処理が終わった後、必要があれば再起動を実行し、通常起動モードに遷移する。
【００４８】
Ｓ８０７で、コントローラは、Ｓ８０４で予約した初期設定用初期化の予約のフラグが立っているか否かを判断する。初期設定用初期化の予約のフラグが立っていた場合は、Ｓ８０８に遷移する。初期設定用初期化の予約のフラグが立っていなかった場合は、Ｓ８０９に遷移する。Ｓ８０６の処理終了後、再起動を行い、通常起動モードで起動した場合は、この処理は更新したファームウエアバージョンで起動することになる。その場合は、起動初期の段階の処理となる。理由は、前述の通りで、ファームウエアのバージョンダウンの場合、ファームウエアバージョンに依存する領域のファイルデータ形式を変換できないため、正常に起動できる保証がない。よって、起動の初期段階で判断処理を行う必要がある。
【００４９】
Ｓ８０８で、コントローラは、初期設定用初期化の予約のフラグを落とし、初期設定用初期化を実行し、Ｓ８０９に遷移する。初期設定用初期化とは、ＨＤＤ構成図で前述したＭＦＰシステムデータ領域（５０２）およびプレインストールアプリの専用データ領域（５０５、５０７）の削除処理である。初期設定プログラム（４００）は、拡張後入れアプリケーションのため、アプリケーション領域（５０８）および専用データ領域（５０９）は削除されることはない。よって、続くＳ８１０で処理を続行することが可能となる。Ｓ８０６の処理終了後、再起動を行い、通常起動モードで起動した場合は、この処理は更新したファームウエアバージョンで起動することになる。その場合は、Ｓ８０７同様、起動初期の段階の処理となる。
【００５０】
Ｓ８０９で、コントローラは、再起動を行い、Ｓ８０６で更新したファームウエアバージョンで起動する。初期起動時に、ＭＦＰシステムデータ領域（５０２）およびプレインストールアプリの専用データ領域（５０５、５０７）のデータ変換またはデータ構築を行い、Ｓ８１０に遷移する。
【００５１】
Ｓ８１０で、処理実行部（４０２）は、残りのコマンド部（６１３）の処理を継続する。
【００５２】
Ｓ８５０からＳ８５２は、Ｓ８００の処理で初期設定プログラムから送信されたスクリプト取得要求を受信してから応答を返すまでの案件管理サーバのデータ管理プログラムの処理である。
【００５３】
Ｓ８５０で、通信部（４５３）は、ＭＦＰからスクリプトの取得要求を受信し、Ｓ８５１に遷移する。
【００５４】
Ｓ８５１で、制御部は（４５１）は、案件データ管理部（４５２）に、Ｓ８５０で取得した初期設定スクリプト識別子と共に、初期設定スクリプト（図６）を要求する。案件データ管理部（４５２）は、該当する初期設定スクリプト（図６）をデータ格納部（４６０）から取得し、Ｓ８５２に遷移する。
【００５５】
Ｓ８５２で、通信部は、Ｓ８５１で取得した初期設定スクリプトを、ＭＦＰに送信する。
【００５６】
以上、本実施形態によれば、ファームウエアバージョンに依存する領域のみを削除する初期設定用初期化を設ける。そして、ファームウエアバージョンダウンを行うと判断した場合に、ファームウエアバージョンダウン前に初期設定用初期化を予約し、バージョンダウン直後に初期設定用初期化を実行する。さらに、初期設定プログラムをファームウエアバージョンに依存しない拡張後入れアプリケーションとすることで、初期設定用初期化の削除対象とならず、ファームウエアバージョンダウン後でも処理が継続する。従って、初期設定作業において、ファームウエアのバージョンダウンが発生した場合にも、安全なファームウエア更新が行える手段を提供することが可能となり、さらにその後の処理も、自動で継続することが可能となる。
【符号の説明】
【００５７】
１００  ＬＡＮ、１０１  画像形成装置（ＭＦＰ）、１２０  案件管理サーバ
【図１】
2020047139.tif 000003
【図２】
2020047139.tif 000004
【図３】
2020047139.tif 000005
【図４】
2020047139.tif 000006
【図５】
2020047139.tif 000007
【図６】
2020047139.tif 000008
【図７】
2020047139.tif 000009
【図８】
2020047139.tif 000010