(57)【要約】      （修正有）【課題】設置スクリプトを使用してファームウェアのバージョンダウンを行う際、ユーザがデータを初期化する処理を実施して設置アプリケーションが処理を継続できるようにする必要があった。【解決手段】情報処理装置を設置する際に必要となる情報を記述した設置情報を取得し、その設置情報がファームウェアの更新を指示している場合に、当該ファームウェアの更新が所定量以上のバージョンダウンであるかどうか判定する。ここで、所定量以上のバージョンダウンであると判定すると、当該ファームウェアのバージョンダウン後に所定のデータをクリアするよう予約する予約情報を保管し、ファームウェアのバージョンダウン後、その保管している予約情報に従って所定のデータをクリアし、そのクリアの後、情報処理装置の再起動に伴って設置情報に従った設置処理を実行する。【選択図】図７
2019125047.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置を設置する際に必要となる情報を記述した設置情報を取得する取得手段と、
前記設置情報がファームウェアの更新を指示している場合に、当該ファームウェアの更新が所定量以上のバージョンダウンであるかどうか判定する判定手段と、
前記判定手段が前記所定量以上のバージョンダウンであると判定すると、当該ファームウェアのバージョンダウン後に所定のデータをクリアするよう予約する予約情報を保管する保管手段と、
前記ファームウェアの更新の指示に従って前記ファームウェアを更新する更新手段と、
前記更新手段による前記ファームウェアのバージョンダウン後、前記保管手段が保管している前記予約情報に従って前記所定のデータをクリアするクリア手段と、
前記クリア手段による前記所定のデータのクリアの後、前記情報処理装置の再起動に伴って前記設置情報に従った設置処理を実行する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記所定量以上のバージョンダウンは、メジャーバージョンが変更されるようなバージョンダウンであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定のデータは、ライセンスを取得することによりアクティベートされる機能のライセンスデータ、前記情報処理装置のコンフィグレーション情報、前記情報処理装置にインストールされているアプリケーションのデータを含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定のデータは、前記設置処理に係るデータを含まないデータであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記クリア手段による前記所定のデータのクリアの前に前記情報処理装置の構成情報を退避させる退避手段と、
前記クリア手段による前記所定のデータのクリアの後、前記退避していた構成情報を前記情報処理装置に設定する第１設定手段とを、更に有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段が前記所定量以上のバージョンダウンであると判定すると、前記情報処理装置のネットワーク設定データを記憶する記憶手段と、
前記制御手段による前記設置処理の後、前記記憶手段に記憶しているネットワーク設定データを前記情報処理装置に設定する第２設定手段とを、更に有することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記記憶手段は、前記ネットワーク設定データを更新後のファームウェアで利用できるデータに変換して記憶することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記取得手段は、ネットワークを介してサーバから前記設置情報を取得することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記取得手段は、前記情報処理装置に接続された外部記憶装置から前記設置情報を取得することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項１０】
ファームウェアにより制御される情報処理装置であって、
所定のデータが設定されたファームウェアのバージョンダウンの後、前記所定のデータの少なくとも所定の部分をクリアするクリア手段と、
前記クリア手段による前記所定のデータの前記所定の部分のクリアの後、前記情報処理装置の再起動に伴って、バージョンダウンされたファームウェアに対する設置処理を実行する制御手段と、
を有することを特徴とする情報処理装置。
【請求項１１】
情報処理装置におけるファームウェアの更新方法であって、
前記情報処理装置を設置する際に必要となる情報を記述した設置情報を取得する取得工程と、
前記設置情報がファームウェアの更新を指示している場合に、当該ファームウェアの更新が所定量以上のバージョンダウンであるかどうか判定する判定工程と、
前記判定工程が前記所定量以上のバージョンダウンであると判定すると、当該ファームウェアのバージョンダウン後に所定のデータをクリアするよう予約する予約情報をメモリに保管する保管工程と、
前記ファームウェアの更新の指示に従って前記ファームウェアを更新する更新工程と、
前記更新工程による前記ファームウェアのバージョンダウン後、前記メモリに保管している前記予約情報に従って前記所定のデータをクリアするクリア工程と、
前記クリア工程による前記所定のデータのクリアの後、前記情報処理装置の再起動に伴って前記設置情報に従った設置処理を実行する制御工程と、
を有することを特徴とするファームウェアの更新方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、情報処理装置におけるファームウェアの更新方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置は多くの機能が実装されたことに伴い、顧客先での導入時に多くのソフトウェアの設定を行う必要が出てきている。また、顧客の使用方法や要望により、導入するライセンスや、各種設定、追加してインストールするアプリケーションなども多岐に亘り、これら作業を納入前に人手で行うために、多くの労力や時間を要していた。
【０００３】
この問題を解決するために、画像形成装置に設定する内容を、前以って設置スクリプトの形式で編集して記憶しておき、画像形成装置の設置の際、その設定アプリケーションがこのスクリプトに従って自動で設定するのが一般的である。
【０００４】
また画像形成装置に特有な課題として、納入時に、顧客から、最新のファームウェアのバージョンではなく、それ以前の特定のバージョンが指定される場合がある。これは、従来の使い勝手を維持したいという顧客の要望に基づくものであったり、特殊なシステムと連携する、その顧客特有の事情などに起因している。
【０００５】
しかしながら、工場から出荷される画像形成装置には、最新のファームウェアが実装されているため、例えば、上述の顧客の要望に応えるためには、そのファームウェアのバージョンを古いバージョンに変更する（バージョンダウン）必要がある。大幅なバージョンダウンを行うと、一般的に、システムやアプリケーションのもつデータの整合性が失われることが多い。バージョンアップの場合は、例えば特許文献１のように、新しいファームウェアがマイグレーションを実施して、旧ファームウェアからの互換を保つ実装を行うことができる。しかしバージョンダウンの場合は、新構造のデータを、古いバージョンのファームウェアが理解できないため起動不良となる可能性があり、そのような場合は、データの初期化などを実施する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−４８３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のスクリプトを使用して自動で設定を行うために、起動不良にならないようにバージョンダウンに加えて、データを初期化する処理を実施する必要がある。しかしデータを初期化した後も、設置アプリケーションが処理を継続できるように、必要なデータを残した状態で起動する特殊な初期化処理が必要になる。
【０００８】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００９】
本発明の目的は、ファームウェアのバージョンダウンを行った場合でも、ユーザの介在なく、情報処理装置を再起動できる技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
情報処理装置であって、
前記情報処理装置を設置する際に必要となる情報を記述した設置情報を取得する取得手段と、
前記設置情報がファームウェアの更新を指示している場合に、当該ファームウェアの更新が所定量以上のバージョンダウンであるかどうか判定する判定手段と、
前記判定手段が前記所定量以上のバージョンダウンであると判定すると、当該ファームウェアのバージョンダウン後に所定のデータをクリアするよう予約する予約情報を保管する保管手段と、
前記ファームウェアの更新の指示に従って前記ファームウェアを更新する更新手段と、
前記更新手段による前記ファームウェアのバージョンダウン後、前記保管手段が保管している前記予約情報に従って前記所定のデータをクリアするクリア手段と、
前記クリア手段による前記所定のデータのクリアの後、前記情報処理装置の再起動に伴って前記設置情報に従った設置処理を実行する制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ファームウェアのバージョンダウンを行った場合でも、ユーザの介在なく、情報処理装置を再起動できるという効果がある。
【００１２】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１３】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係るシステム全体を説明するシステム構成図。
【図２】実施形態１に係る設置補助サーバ、ファーム・アプリ配信サーバ、ライセンス管理サーバのハードウェア構成を説明するブロック図。
【図３】実施形態１に係る複合機のハードウェア構成を説明するブロック図。
【図４】実施形態１に係る複合機の情報処理コントローラユニットのハードウェア構成を説明するブロック図。
【図５】実施形態１に係る複合機の情報処理コントローラユニットのソフトウェア構成を説明する機能ブロック図。
【図６】実施形態１に係る複合機における設置スクリプトに従った設置処理を説明するフローチャート。
【図７】実施形態１に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャート。
【図８】図７のＳ７０７のクリア処理が実行されない場合、どのような問題が発生するかを具体的に説明する図。
【図９】実施形態２に係る複合機の情報処理コントローラユニットのハードウェア構成を説明するブロック図。
【図１０】実施形態２に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャート。
【図１１】実施形態２に係るデバイス構成情報の一例を示す図。
【図１２】実施形態３に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。本実施形態では、サーバと通信するクライアントとなる情報処理装置として、コピーやＦＡＸ機能を搭載した複合機を例に説明するが、本発明に係る情報処理装置は、このような複合機に限定されない。
【００１５】
［実施形態１］
図１は、本発明の実施形態１に係るシステム全体を説明するシステム構成図である。
【００１６】
このシステムでは、ネットワーク１００を介して設置補助サーバ１１１、ファーム・アプリ配信サーバ１１２、ライセンス管理サーバ１１３、及び複合機１２０が接続されている。
【００１７】
設置補助サーバ１１１は、複合機１２０の設置に必要な設置用のスクリプトデータ（設置情報）を保持している。また設置補助サーバ１１１では、この設置用のスクリプトデータを編集できるアプリケーションが稼働している。ファーム・アプリ配信サーバ１１２は、複合機１２０のファームウェアや、複合機１２０で動作できるアプリケーションを保持しており、クライアントからの要求に従って、これらを複合機１２０にダウンロードできる。ライセンス管理サーバ１１３は、有償で配布されるソフトウェア等のライセンス情報を管理しており、ここから発行されたライセンスを取得することで複合機１２０で動作する、所定の機能を実現するアプリケーションを起動させることができる。
【００１８】
図２は、実施形態１に係る設置補助サーバ１１１、ファーム・アプリ配信サーバ１１２、ライセンス管理サーバ１１３のハードウェア構成を説明するブロック図である。ここで、設置補助サーバ１１１、ファーム・アプリ配信サーバ１１２、ライセンス管理サーバ１１３はいずれも、一般的なＰＣ（コンピュータ機器）と同様のハードウェア構成で実現され、それらのハードウェア構成は同一である。よって、以下では、設置補助サーバ１１１を例に説明する。
【００１９】
設置補助サーバ１１１は、コントローラユニット２００、操作部２０９、表示部２１０を含んでいる。コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）２０１を有する。ＣＰＵ２０１は、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）２０２に格納されているブートプログラムを実行してＨＤＤ２０４に格納されているＯＳ（オペレーティングシステム）やプログラムをＲＡＭ２０３に展開し、その展開したプログラムを実行することにより、この装置の動作を制御する。このＣＰＵ２０１の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）２０３が用いられる。ＨＤＤ２０４は、アプリケーションプログラムとマスターデータ等を格納する。マスターデータの管理方法に関する詳細については後述する。
【００２０】
ＣＰＵ２０１には、システムバス２０８を介して、ＲＯＭ２０２及びＲＡＭ２０３とともに、操作部Ｉ／Ｆ（インタフェース）２０５、表示部Ｉ／Ｆ２０６、ネットワークＩ／Ｆ２０７と接続されている。操作部Ｉ／Ｆ２０５は、ポインティングデバイスやキーボード等を備える操作部２０９とのインタフェースであり、操作部２０９を介してユーザにより入力された情報をＣＰＵ２０１に送出する。表示部Ｉ／Ｆ２０６は、ＣＰＵ２０１から受け取った表示部２１０に表示すべき画像データを表示部２１０に出力する。またネットワークＩ／Ｆ２０７はネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。外部ストレージＩ／Ｆ２１１は、外部記憶装置（メモリメディア）２１２を接続し、ＵＳＢメモリやＳＤカードなどのメモリメディア２１２からデータを読み出したり、メモリメディア２１２にデータを書き込むことができる。
【００２１】
図３は、実施形態１に係る複合機１２０のハードウェア構成を説明するブロック図である。
【００２２】
複合機１２０は、情報処理コントローラユニット３０１、プリンタコントローラユニット３０２、スキャナコントローラユニット３０３、プリンタ３０４、スキャナ３０５、操作部３０６を含んでいる。情報処理コントローラユニット３０１は、複合機１２０の動作に係る情報処理制御を統括するコントローラ（制御部）であり、操作部３０６が接続される。更に、プリンタ３０４を制御するプリンタコントローラユニット３０２や、スキャナ３０５を制御するスキャナコントローラユニット３０３が接続される。
【００２３】
図４は、実施形態１に係る複合機１２０の情報処理コントローラユニット３０１のハードウェア構成を説明するブロック図である。
【００２４】
情報処理コントローラユニット３０１はＣＰＵ４０１を有し、ＣＰＵ４０１は、ＲＯＭ４０２に格納されているブートプログラムを実行して、ＨＤＤ４０４に格納されているＯＳやアプリケーションプログラムをＲＡＭ４０３に展開し、その展開したプログラムを実行することにより各種処理を実行する。このＣＰＵ４０１の作業領域としてはＲＡＭ４０３が用いられる。またＲＡＭ４０３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ４０４は、上記アプリケーションプログラムや画像データ、各種設定値等を格納する。複合機１２０における設定値の管理方法については後述する。
【００２５】
ＣＰＵ４０１は、システムバス４０９を介して、ＲＯＭ４０２及びＲＡＭ４０３とともに、操作部Ｉ／Ｆ４０６、デバイスコントローラＩ／Ｆ４０８、ネットワークＩ／Ｆ４０５、画像処理部４０７と接続される。操作部Ｉ／Ｆ４０６は、タッチパネルを有する操作部３０６とのインタフェースであり、操作部３０６に表示すべき画像データを操作部３０６に対して出力する。また操作部Ｉ／Ｆ４０６は、操作部３０６を介してユーザにより入力された情報をＣＰＵ４０１に送出する。デバイスコントローラＩ／Ｆ４０８には、スキャナコントローラユニット３０２及びプリンタコントローラユニット３０３が接続され、デバイスコントローラＩ／Ｆ４０８は、画像データの同期系／非同期系の変換を行う。ネットワークＩ／Ｆ４０５はネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。画像処理部４０７は、プリンタ３０４に出力する画像データに対する処理や、スキャナ３０５から入力した画像データに対する画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。また外部ストレージＩ／Ｆ４１０は、外部ストレージメディア４１１を接続し、ＵＳＢメモリやＳＤカードなどのメモリメディア４１１からデータを読み出したり、メモリメディア４１１にデータを書き込むことができる。
【００２６】
図５は、実施形態１に係る複合機１２０の情報処理コントローラユニット３０１のソフトウェア構成を説明する機能ブロック図である。尚、これら機能は、ＣＰＵ４０１がＲＡＭ４０３に展開したプログラムを実行することにより実現される。
【００２７】
ユーザインターフェースモジュール５０１は、操作部Ｉ／Ｆ４０６を介して操作部３０６に画面を表示したり、ユーザからのインタラクションをＣＰＵ４０１に通知する。ジョブ制御部５０２は、ユーザからの指示や受信データに従って、プリンタコントローラユニット３０２やスキャナコントローラユニット３０３と通信しながらスキャンやプリントなどを制御する。ネットワーク通信部５０３は、ネットワークＩ／Ｆ４０５を介して外部機器とのネットワーク通信を司るモジュールである。外部ストレージ通信部５０４は、外部ストレージＩ／Ｆ４１０を介してメモリメディア４１１との間のデータ通信を司る。
【００２８】
複合機１２０で保持される不揮発データは、ファイルシステム５０５を介してＨＤＤ４０４に読み書きされる。これらはシステムデータ管理部５１０により、データの種類に応じ管理される。ファームウェアなどのシステムデータは、ファームウェア更新部５１１により管理されてシステムデータ５２１に保持される。またライセンスを取得することによりアクティベートされる機能のライセンス情報は、ライセンス管理部５１２によってライセンスデータ５２２で保持される。また複合機１２０のコンフィグレーション情報である設定値は、設定値管理部５１３により設定値データ５２３に保持される。更に複合機１２０にインストールされるアプリケーションは、アプリケーション管理部５１４により管理されてアプリ管理データ５２４に保持される。
【００２９】
アプリケーション管理部５１４を介してインストールされるアプリケーションは、設置補助アプリケーション５３０、コピーアプリケーション５５０、センドアプリケーション５６０を含む。これらアプリケーションは、それぞれ個別に動作領域とストレージ領域が用意され、各アプリケーション自身の持つ固有データはそれぞれ、設置補助アプリデータ５４０、コピーアプリデータ５５１、センドアプリデータ５６１として保持される。ここでコピーアプリケーション５５０やセンドアプリケーション５６０は、システムアプリケーションである。これらはジョブ制御部５０２から提供されている、スキャナ３０５やプリンタ３０４を利用する機能性を利用し、コピー機能や、スキャンデータをネットワーク送信するセンド機能などを提供するアプリである。これらアプリケーションは、複合機１２０にプレインストールされていてファームウェアと一体化されている。またこれらアプリケーションは、プレインストールとは別に、アプリケーション管理部５１４を介して後からインストールされても良い。
【００３０】
また複合機１２０には、特殊なアプリケーションとして、設置補助アプリケーション５３０が存在する。この設置補助アプリケーション５３０は、プレインストールでも、後からのインストールの形でも配布可能である。詳細は後述するが設置補助アプリケーション５０３は、事前に作成された設置スクリプトに従って、ファームウェアの更新、ライセンスの追加、設定の変更及びアプリケーションの追加インストールなどを全自動で実行する機能を有している。
【００３１】
この設置補助アプリケーション５３０は、大きく３つの機能を有している。まず最初に、一連のシーケンスを管理・実行するシーケンス管理部５３１である。次に、自動実行に必要なデータをネットワーク通信部５０３或いは外部ストレージ通信部５０４を介して取得するデータ取得部５３２を有する。更に、ファームウェアの更新、ライセンスの追加、設定の変更及びアプリケーションの追加インストールなどを指示する処理指示部５３３を有する。
【００３２】
またこれらシステムデータ及びアプリケーションデータは、データクリア統括部５１５の指示によりクリアされる。このクリアは、ＨＤＤ４０４のフォーマットのような全データの削除から、各データの管理部に作用して必要なクリアのみを実施する個別クリアなど、用途に応じて一括クリア、或いは部分的なデータをクリアできる機能を含む。
【００３３】
図６は、実施形態１に係る複合機１２０における設置スクリプトに従った設置処理を説明するフローチャートである。尚、この処理は、設置補助アプリケーション５３０により達成される。この設置補助アプリケーション５３０は、ＨＤＤ４０４、ＲＯＭ４０２のいずれかの記憶部に記憶され、ＣＰＵ４０１がこのアプリケーションをＲＡＭに展開して実行することにより、このフローチャートで示す処理が実現される。また各処理ステップを実施した際に、設置補助アプリケーション５３０はその処理の結果を、設置補助アプリデータ５４０に保存するが、この保存する処理に関する説明は省略する。
【００３４】
まずＳ６０１でＣＰＵ４０１はデータ取得部５３２及びネットワーク通信部５０３として機能し、設置補助サーバ１１１と通信して設置補助サーバ１１１から設置スクリプトを取得し、それを設置補助アプリデータ５４０に保存する。尚、ここで設置スクリプトは、事前に設置補助サーバ１１１のアプリケーションを使って編集された後、設置補助サーバ１１１に保持されていたものである。これ以降、複合機１２０は、設置補助アプリデータ５４０に保存した設置スクリプトを解釈して、そのスクリプトに記載された通りに複合機１２０のソフトウェアの設定を実施する。
【００３５】
次にＳ６０２でＣＰＵ４０１はシーケンス管理部５３１として機能し、設置スクリプトにファームウェアの更新指示があるかどうか判定する。ここで更新指示がなければＳ６０５に進むが、更新指示があればＳ６０３に進む。Ｓ６０３でＣＰＵ４０１はデータ取得部５３２及びネットワーク通信部５０３として機能し、ファーム・アプリ配信サーバ１１２と通信し、指示されたバージョンのファームウェアをファーム・アプリ配信サーバ１１２からダウンロードする。その後Ｓ６０４に進みＣＰＵ４０１は処理指示部５３３及びファームウェア更新部５１１として機能し、ダウンロードしたファームウェアでファームウェアの更新処理を実施する。この際、何度か複合機１２０の再起動を伴うこともある。こうしてファームウェアを更新すると、設置補助アプリケーション５３０が再度起動されてＳ６０５以降の処理を実行する。
【００３６】
Ｓ６０５でＣＰＵ４０１はシーケンス管理部５３１として機能し、設置スクリプトにライセンスのインストール指示があるかどうか判定する。ライセンスのインストール指示がなければＳ６０８に進むが、ライセンスのインストール指示があればＳ６０６へ進む。Ｓ６０６でＣＰＵ４０１はデータ取得部５３２及びネットワーク通信部５０３として機能してライセンスサーバ１１３と通信し、指示されたライセンスを取得する。その後Ｓ６０７に進みＣＰＵ４０１は処理指示部５３３及びライセンス管理部５１２として機能し、ライセンスをアクティベートさせる。ここでも必要であれば複合機１２０の再起動を挟んで設置補助アプリケーション５３０が再度起動されてＳ６０８以降の処理を実行する。
【００３７】
次にＳ６０８に進みＣＰＵ４０１はシーケンス管理部５３１として機能し、設置スクリプトに、設定値のインポート指示があるかどうか判定する。インポート指示がなければＳ６１１に進み、インポート指示があればＳ６０９に進む。Ｓ６０９でＣＰＵ４０１はデータ取得部５３２及びネットワーク通信部５０３として機能して設置補助サーバ１１１と通信し、設置補助サーバ１１１から設定データセットを取得する。この設定データセットは、設置補助サーバ１１１において、設置スクリプトの作成と同時に複合機１２０にインポートするデータセットとして作成され保持されている。こうしてＳ６０９で設定データセットを取得するとＳ６１０に進む。Ｓ６１０でＣＰＵ４０１は処理指示部５３３及び設定値管理部５１３として機能し、保持している設定データセットをインポート処理する。ここでも必要であれば複合機１２０の再起動を挟み、設置補助アプリケーション５３０が再度起動されてＳ６１１以降の処理を実行する。
【００３８】
次にＳ６１１でＣＰＵ４０１はシーケンス管理部５３１として機能し、設置スクリプトに、追加のアプリケーションのインストール指示があるかどうか判定する。インストール指示がなければＳ６１４に進むが、インストール指示があればＳ６１２に進む。Ｓ６１２でＣＰＵ４０１はデータ取得部５３２及びネットワーク通信部５０３として機能してファーム・アプリ配信サーバ１１２と通信して、指示されたアプリケーションをダウンロードする。こうしてアプリケーションを取得するとＳ６１３に進む。Ｓ６１３でＣＰＵ４０１は処理指示部５３３及びアプリケーション管理部５１４として機能し、ダウンロードしたアプリケーションのインストールを指示してインストールを実施する。こうして設置スクリプトに記述された処理を全て終了するとＳ６１４に進む。尚、前述したように、各ステップにおける処理結果は、設置補助アプリデータ５４０に保持されている。Ｓ６１４でＣＰＵ４０１はシーケンス管理部５３１及びネットワーク通信部５０３として機能し、設置スクリプトの成功失敗を含む結果を設置補助アプリデータ５４０から読み出し、設置補助サーバ１１１に送付して、この処理を終了する。
【００３９】
図７は、実施形態１に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャートである。
【００４０】
まずＳ７０１でＣＰＵ４０１はシーケンス管理部５３１として機能し、現在起動しているファームウェアのバージョンと、設置スクリプトに記載のダウンロード済みのファームウェアのバージョンとを取得する。そしてＳ７０２でＣＰＵ４０１はシーケンス管理部５３１として機能し、それら２つのバージョンを確認し、設置スクリプトに記載のファームウェアの更新が、所定量以上の大幅なバージョンダウンを伴うファーム更新か否か判定する。ここで大幅なファームバージョンダウンとは、例えばファームバージョンのメジャーバージョンが異なる等、ファームの管理体系に基づいて判定される。ここで大幅なバージョンダウンと判定するとＳ７０３に進むが、そうでないときはＳ７０４に進む。Ｓ７０３でＣＰＵ４０１はシーケンス管理部５３１及びデータクリア統括部５１５として機能し、ファームバージョンダウン後の起動回で、強制的にクリア処理を実行する特殊クリア処理を予約する予約情報を作成して保管する。ここで、このクリアの予約情報は、データクリア統括部５１５の不揮発領域に保管される。そしてＳ７０４に進みＣＰＵ４０１はファームウェア更新部５１１として機能し、その指示されたファームウェアバージョンに変更する処理を実施してＳ７０５に進む。Ｓ７０５でＣＰＵ４０１は、複合機１２０を再起動させる。
【００４１】
次にＳ７０６に進みＣＰＵ４０１はデータクリア統括部５１５として機能し、複合機１２０の再起動後、更新されたファームウェアの起動途中で、Ｓ７０３で予約された特殊クリアの予約情報がデータクリア統括部５１５の不揮発領域に存在するか否か判定する。ここでクリアの予約情報が記憶されていないときは通常の起動を行ってＳ７０９に進むが、そうでないときはＳ７０７に進む。
【００４２】
Ｓ７０７でＣＰＵ４０１はデータクリア統括部５１５として機能し、設置補助アプリのための特殊なクリア処理を実施する。具体的には、システムデータ５２１、ライセンスデータ５２２、設定値データ５２３の初期化を実施する。更に、コピーアプリデータ５５１、センドアプリデータ５５２等のシステムアプリケーションのデータの初期化も実施する。但し、ここでアプリ管理データ５２４に保持される設置補助アプリケーション５３０の情報と、設置補助アプリケーション５３０が利用する設置補助データ５４０は消去せずに維持する。
【００４３】
その後Ｓ７０８に進みＣＰＵ４０１は、再度、複合機１２０を再起動する。このとき、起動に不整合状態になる可能性のあるデータ群が一度初期化された状態で、複合機１２０の起動シーケンスに入るため、起動不良などを起こすことなく起動できる。こうしてファームウェアが問題なく起動できるとＳ７０９に進みＣＰＵ４０１は、複合機１２０のアプリケーションである設置補助アプリケーション５３０を再起動する。このとき、この設置補助アプリケーション５３０は、それまで処理した結果などが書き込まれた設置補助アプリデータ５４０をそのまま維持した状態で起動するため、図６のＳ６０５以降の処理を自動で継続することが可能になる。
【００４４】
以上説明したように実施形態１によれば、大幅なバージョンダウンを伴うファームウェアの更新前に、強制的にクリア処理を実行するクリア処理を予約しておく。そして、そのファームウェアの更新後に、その予約したクリア処理を強制的に実行する。これにより、複合機の再起動の際、複合機が起動不良などを起こすことなく起動できる。
【００４５】
図８は、図７のＳ７０７のクリア処理が実行されない場合、どのような問題が発生するかを具体的に説明する図である。
【００４６】
ファームウェアバージョンとしてＶ０１．００とＶ０２．００があり、それぞれが異なるスキーマの設定値データ５２３を持っていると仮定する。バージョンＶ０１．００のデータ構造は８０１で示され、バージョンＶ０２．００のデータ構造は８０２で示すようなテーブルスキーマであるとする。
【００４７】
いまファームウェアがバージョンＶ０１．００からＶ０２．００にバージョンアップする場合、バージョンＶ０２．００では、ＭｅｔａＩｎｆｏの情報を増やし、テーブルを複数に分割して管理するように変更されたというイメージである。またバージョンＶ０２．００のファームウェアは、時系列的にバージョンＶ０１．００のファームウェアより後に開発されていて、市場において、Ｖ０１．００からのバージョンアップが想定されて作られているとする。
【００４８】
８１０は、バージョンＶ０１．００からＶ０２．００にバージョンアップする際のファームウェアとデータの模式図である。ファームウェアのバージョンアップ前のイメージ８１１では、バージョンＶ０１．００のファームウェアが、バージョンＶ０１．００のデータ構造を保持して起動している。ここでファームウェアをバージョンＶ０２．００に更新する。その直後、ファームウェアの更新後のイメージ８１２のようになり、ファームウェアはバージョンＶ０２．００に更新されているが、データはＶ０１．００のデータ構造を引き継いだ状態である。
【００４９】
前述したように、バージョンＶ０２．００のファームウェアは、バージョンＶ０１．００のファームウェアからのバージョンアップを想定して作られている。このため、バージョンＶ０２．００のファームウェアは古いデータ構造を認識し、マイグレーション８１３を実行する。このため、新しいデータ構造にコンバートする論理８１４を持っていることが一般的である。この処理によりファームバージョンアップ後にデータのマイグレーションを実行し、特に問題なく起動することができる。
【００５０】
逆に８２０は、バージョンＶ０２．００からバージョンＶ０１．００へのファームバージョンダウンが行われた際のファームウェアとデータの模式図である。ファームのバージョンダウン前のイメージ８２１では、バージョンＶ０２．００のファームウェアが、バージョンＶ０２．００のデータ構造を保持して起動している。ここでファームウェアがバージョンＶ０１．００にバージョンダウンされる。その直後は、バージョンダウン後のイメージ８２２のようになり、ファームウェアはバージョンＶ０１．００に更新されているが、データがバージョンＶ０２．００のデータ構造を引き継いだ状態のままである。
【００５１】
このときバージョンアップの場合と逆に、バージョンＶ０１．００のファームウェアは、新しい構造であるバージョンＶ０２．００のデータ構造を理解できない。このためバージョンＶ０１．００のファームウェアは起動することができず、ユーザにクリアを促す状態へ遷移する。この後、ユーザは、クリア処理を実施して再度起動させることで、バージョンＶ０１．００のファームウェアは、バージョンＶ０１．００の構造のデータを再構築することで起動できるようになる。
【００５２】
このように従来のファームウェアのバージョンダウンの後では、更新を行った機器は起動できずに、データのクリアを待つインタラクションになるケースが発生する。これを回避するために実施形態１に係る設置補助アプリケーション５３０が、予めデータを自動的にクリアする処理を予約しておき、ファームウェアの更新後、そのクリア処理を実行する。これによりユーザの介在なく、自動的にデータをクリアして機器を起動することができ、設置補助アプリケーションの引き続きの処理の実行を保証できるようになる。
【００５３】
［実施形態２］
近年、画像形成装置においてはＦＡＸモデムやＮＦＣなどの各種ハードウェアがオプションとして選択可能な構成となっている。例えばＦＡＸモデム付の画像形成装置において、ハードウェアオプションの構成情報に関するデータがクリアされると、ファームウェアではＦＡＸモデムなしと判断してしまい、実際の画像形成装置のハードウェア構成と不整合が発生する。このような事態が生じると、画像形成装置が正常に起動しなくなるおそれがある。
【００５４】
そこで実施形態２では、ＦＡＸモデムやＮＦＣ等の各種ハードウェアがオプションとして使用できる情報処理装置においても、実施形態１と同様の効果を得ることができる構成について説明する。尚、実施形態２に係るシステム構成は、前述の実施形態１（図１）の場合と同様であり、また複合機により設置スクリプトに従った設置処理も前述の実施形態１（図６）と同様であるため、それらの説明を省略する。
【００５５】
図９は、実施形態２に係る複合機１２０の情報処理コントローラユニット３０１のハードウェア構成を説明するブロック図である。尚、前述の実施形態１に係る報処理コントローラユニット３０１のハードウェア構成と共通する部分は同じ参照番号で示し、それらの説明を省略する。
【００５６】
モデム／ＮＣＵ９０１は、ファクシミリの送受信信号の変復調を行い、選択信号（ダイヤルパルスまたはトーンダイヤラ）を公衆回線網に送出する機能を有し、呼び出し信号の検出によるファクス着信動作も行う。ＢＬＥＩ／Ｆ９０２２は、外部機器とＢＬＥ（Bluetooth Low Energy）を用いたデータ通信を行うためのインタフェースとして機能する。ＮＦＣＩ／Ｆ９０３は、ＮＦＣの通信規格に対応しており、外部のＩＣカードや携帯端末との間で通信を行うためのインタフェースとして機能する。
【００５７】
図１０は、実施形態２に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャートである。尚、前述の実施形態１に係る図７のフローチャートと共通する処理は同じ参照番号で示し、それらの説明を省略する。
【００５８】
Ｓ１００１，Ｓ１００２では複合機１２０に物理的なデバイスとして取り付けられているハードウェアオプションに関するデバイス構成情報については、設定値補助アプリケーションのデータ同様にクリアしないための処理の追加を行っている。Ｓ１００１でＣＰＵ４０１は、設定値データ５２３に記録されているデータのうち情報処理コントローラユニット３０１を含む複合機１２０のデバイス構成に係るデータを退避する。ここで退避するデバイス構成データの例を図１１に示す。このデバイス構成データは、ファームウェアのバージョンに依存しないデータであり、設定値管理部５１３で管理する。
【００５９】
図１１は、実施形態２に係るデバイス構成情報の一例を示す図である。
【００６０】
図１１では、スキャナが有となっていて、複合機１２０においてスキャナ３０５が装着されていることを示している。同様に、ＮＦＣはＮＦＣＩＦ９０３、ＢＬＥはＢＬＥＩＦ９０２、ＦＡＸはモデム／ＮＣＵ９０１がそれぞれ複合機１２０に備わっていることを示している。またプリンタ排紙オプション、ＦＡＸ２回線オプション、ＨＤＤミラーリングオプションは、複合機１２０には備わっておらず無となっている。
【００６１】
そしてＳ７０７では、設置補助アプリデータ５４０以外の不揮発データをクリアする。次にＳ１００２に進み、Ｓ１００１で退避していたデバイス構成情報を設定値データ５２３にリストアする。
【００６２】
以上説明したように実施形態２によれば、複合機における各種ハードウェアオプションの構成に係るデバイス構成情報をクリアせずに、ファームウェアのバージョンダウン時のデータクリアを実行できる。それにより複合機の実際のデバイス構成とファームウェアが記憶しているデバイス構成との間で不整合が発生せず、複合機の再起動の後の設置補助アプリケーションの実行を保証できる。
【００６３】
［実施形態３］
次に本発明の実施形態３を説明する。実施形態３では、ファームウェアの大幅なバージョンダウンを行った際に、ネットワークの設定情報の整合性がなくなるという事態が生じないようにする例で説明する。尚、実施形態３に係るシステム構成は、前述の実施形態１（図１）の場合と同様であり、また複合機により設置スクリプトに従った設置処理も前述の実施形態１（図６）と同様であるため、それらの説明を省略する。
【００６４】
図１２は、実施形態３に係る図６のＳ６０４のファームウェア更新処理を説明するフローチャートである。尚、前述の実施形態１に係る図７のフローチャートと共通する処理は同じ参照番号で示し、それらの説明を省略する。
【００６５】
Ｓ１２０１、Ｓ１２０２では，複合機１２０のネットワーク設定データを、設定値補助アプリケーションのデータ同様にクリアしないための処理の追加を行っている。
【００６６】
Ｓ１２０１でＣＰＵ４０１はシーケンス管理部５３１として機能し、設定値データ５２３に記録されているデータのうち、設置補助アプリケーション５３０の動作に必要なネットワーク設定情報を読み取る。そして、更新後のファームウェアで利用できるデータに変換し、Ｓ７０７でクリアされない領域である設置補助アプリデータ５４０にバックアップする。更新後のファームウェアで利用できるデータへの変換としては、例えばＳＳＬ／ＴＬＳのようなセキュリティ設定を、更新前後のファームウェアによるサポート状況が異なることを想定して、更新後のファームウェアがサポートする形式のデータへ変換する。尚、この際、更新後のファームウェアで利用する場合、データを変換するよりも固定値を設定した方が良いと想定される場合は、固定値をバックアップするようにしても良い。
【００６７】
Ｓ１２０２でＣＰＵ４０１はシーケンス管理部５３１として機能し、設置補助アプリデータ５４０に保存しておいたネットワーク設定情報を設定値データ５２３にリストアする。
【００６８】
以上説明したように実施形態３によれば、ネットワーク設定情報が、更新後のファームウェアでも利用できるようになり、ファームウェア更新処理以降の処理で、ネットワークを利用した設置処理を実行できるようになる。
【００６９】
尚、実施形態３では、ネットワーク設定情報のバックアップの例で説明したが、他の設定情報をバックアップするケースも考えられる。また、更新後のファームウェアで利用できるデータへの変換は、設置補助アプリケーション５３０で行うだけでなく、設置補助サーバ１１１で動作させるケースも考えられる。
【００７０】
［実施形態４］
上述の実施形態１〜３では、設置補助アプリケーション５３０はネットワークを介し、設置補助サーバ１１１から設置スクリプトを取得し、そのスクリプトの指示に従って、ファームウェアや設定値を、そのサーバから取得する形態で説明してきた。
【００７１】
しかしながら複合機１２０が必ずしもネットワークに接続できる環境下で設置作業ができるとも限らない。このような場合、事前にネットワーク環境に接続できるＰＣなどを使って、設置補助サーバ１１１、ファーム・アプリ配信サーバ１１２、ライセンス管理サーバ１１３と通信し、必要なデータを全てダウンロードしておく。そして、これをＵＳＢメモリなどのメモリメディア４１１に保持して複合機１２０に直接接続するような運用をする。
【００７２】
この場合は、実施形態１に係る図６のフローチャートで説明した一連の設置スクリプトの処理の内、サーバとのやり取りの処理はすべてメモリメディア４１１に入った情報を取得するように変更される。
【００７３】
具体的には、Ｓ６０３のファームウェアダウンロード処理、Ｓ６０６のライセンス取得処理、Ｓ６０９の設定のダウンロード、Ｓ６１２のアプリケーションのインストール処理である。これら処理では、設置補助アプリケーション５３０のデータ取得部５３２が外部ストレージ通信部５０４を介してデータを取得する。この点のみが上述の実施形態１〜３と異なり、他の構成及びクリア処理も含む処理は、前述の実施形態１〜３と同様である。
【００７４】
これにより、複合機１２０がネットワークに接続されていなくても、設置補助アプリケーション５３０による自動設置が可能になる。
【００７５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７６】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００７７】
１１１…設置補助サーバ、１１２…ファーム・アプリ配信サーバ、１１３…ライセンス管理サーバ、１２０…複合機、５３０…設置補助アプリケーション、５４０…設置補助アプリデータ
【図１】
2019125047.tif 000003
【図２】
2019125047.tif 000004
【図３】
2019125047.tif 000005
【図４】
2019125047.tif 000006
【図５】
2019125047.tif 000007
【図６】
2019125047.tif 000008
【図７】
2019125047.tif 000009
【図８】
2019125047.tif 000010
【図９】
2019125047.tif 000011
【図１０】
2019125047.tif 000012
【図１１】
2019125047.tif 000013
【図１２】
2019125047.tif 000014