(57)【要約】【課題】ファームウェアの更新時の処理時間を短縮することを目的とする。【解決手段】ファームウェアの更新情報をサーバ装置に通知する通知手段と、ファームウェアの更新に伴い、仮想コンフィグデータの更新が必要か否かを示す要否情報をサーバ装置から受信する受信手段と、ファームウェアを取得するファームウェア取得手段と、受信手段により受信された要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータをサーバ装置より取得する仮想コンフィグデータ取得手段と、ファームウェア取得手段により取得されたファームウェアを適用する適用手段と、受信手段により受信された要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータ取得手段により取得された仮想コンフィグデータを実コンフィグデータとして更新する更新手段と、を有する。【選択図】図１５
2013130923.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアの更新情報を、ネットワークを介して通信可能なサーバ装置に通知する通知手段と、
前記ファームウェアの更新に伴い、仮想コンフィグデータの更新が必要か否かを示す要否情報を前記サーバ装置から受信する受信手段と、
前記ファームウェアを取得するファームウェア取得手段と、
前記受信手段により受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータを前記サーバ装置より取得する仮想コンフィグデータ取得手段と、
前記ファームウェア取得手段により取得された前記ファームウェアを適用する適用手段と、
前記受信手段により受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、前記仮想コンフィグデータ取得手段により取得された前記仮想コンフィグデータを実コンフィグデータとして更新する更新手段と、
を有する画像処理装置。
【請求項２】
前記受信手段により前記要否情報が受け取られるまで前記ファームウェア取得手段による前記ファームウェアの取得を待機する待機手段を更に有する請求項１記載の画像処理装置。
【請求項３】
前記受信手段により前記要否情報が受け取られるまで前記ファームウェア取得手段による前記ファームウェアの取得を待機するか否かの確認画面を表示する表示手段を更に有する請求項１記載の画像処理装置。
【請求項４】
前記ファームウェア取得手段により前記ファームウェアを取得する前に、前記ファームウェアの更新の開始を前記サーバ装置に通知する更新開始通知手段を更に有する請求項１乃至３何れか１項記載の画像処理装置。
【請求項５】
ネットワークを介して通信可能な画像処理装置よりファームウェアの更新情報を受け付ける受付手段と、
前記受付手段により受け付けられた前記更新情報に基づき、仮想コンフィグデータの更新が必要か否かを判断する判断手段と、
前記判断手段により更新が必要だと判断された場合、前記仮想コンフィグデータの生成を行う生成手段と、
前記判断手段により更新が必要だと判断された場合、更新が必要であることを示す要否情報を前記画像処理装置に通知する通知手段と、
前記生成手段により生成された前記仮想コンフィグデータを登録する登録手段と、
を有するサーバ装置。
【請求項６】
前記登録手段は、前記画像処理装置より前記ファームウェアの更新の開始の通知を受け取ると、前記生成手段により生成された前記仮想コンフィグデータを登録する請求項５記載のサーバ装置。
【請求項７】
画像処理装置が実行する情報処理方法であって、
ファームウェアの更新情報を、ネットワークを介して通信可能なサーバ装置に通知する通知ステップと、
前記ファームウェアの更新に伴い、仮想コンフィグデータの更新が必要か否かを示す要否情報を前記サーバ装置から受信する受信ステップと、
前記ファームウェアを取得するファームウェア取得ステップと、
前記受信ステップで受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータを前記サーバ装置より取得する仮想コンフィグデータ取得ステップと、
前記ファームウェア取得ステップで取得された前記ファームウェアを適用する適用ステップと、
前記受信ステップで受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、前記仮想コンフィグデータ取得ステップで取得された前記仮想コンフィグデータを実コンフィグデータとして更新する更新ステップと、
を含む情報処理方法。
【請求項８】
サーバ装置が実行する情報処理方法であって、
ネットワークを介して通信可能な画像処理装置よりファームウェアの更新情報を受け付ける受付ステップと、
前記受付ステップで受け付けられた前記更新情報に基づき、仮想コンフィグデータの更新が必要か否かを判断する判断ステップと、
前記判断ステップで更新が必要だと判断された場合、前記仮想コンフィグデータの生成を行う生成ステップと、
前記判断ステップで更新が必要だと判断された場合、更新が必要であることを示す要否情報を前記画像処理装置に通知する通知ステップと、
前記生成ステップで生成された前記仮想コンフィグデータを登録する登録ステップと、
を含む情報処理方法。
【請求項９】
コンピュータに、
ファームウェアの更新情報を、ネットワークを介して通信可能なサーバ装置に通知する通知ステップと、
前記ファームウェアの更新に伴い、仮想コンフィグデータの更新が必要か否かを示す要否情報を前記サーバ装置から受信する受信ステップと、
前記ファームウェアを取得するファームウェア取得ステップと、
前記受信ステップで受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータを前記サーバ装置より取得する仮想コンフィグデータ取得ステップと、
前記ファームウェア取得ステップで取得された前記ファームウェアを適用する適用ステップと、
前記受信ステップで受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、前記仮想コンフィグデータ取得ステップで取得された前記仮想コンフィグデータを実コンフィグデータとして更新する更新ステップと、
を実行させるためのプログラム。
【請求項１０】
コンピュータに、
ネットワークを介して通信可能な画像処理装置よりファームウェアの更新情報を受け付ける受付ステップと、
前記受付ステップで受け付けられた前記更新情報に基づき、仮想コンフィグデータの更新が必要か否かを判断する判断ステップと、
前記判断ステップで更新が必要だと判断された場合、前記仮想コンフィグデータの生成を行う生成ステップと、
前記判断ステップで更新が必要だと判断された場合、更新が必要であることを示す要否情報を前記画像処理装置に通知する通知ステップと、
前記生成ステップで生成された前記仮想コンフィグデータを登録する登録ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、サーバ装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置には、動作を切り替える設定値であるコンフィグデータを記憶するものがある。コンフィグデータは各画像形成装置が備える記憶装置に記憶されているため、全画像形成装置のコンフィグデータを変更するには画像形成装置の台数だけ設定を行う必要があった。この手間を省くため、ある情報処理装置から複数の画像形成装置にコンフィグデータの一括設定を行う技術が存在する。また、コンフィグデータをネットワーク参照可能な場所に配置し、複数の画像形成装置が同じコンフィグデータを参照することで、コンフィグデータの一括管理を行う技術が存在する（特許文献１）。
【０００３】
加えて、画像形成装置の制御を行うファームウェアの更新に伴い、コンフィグデータの構成が変わる場合にはコンフィグデータの移行を行うが必要があった。この手間を省くために、画像形成装置に対して設定の移行を行うプログラムを配信することでコンフィグデータの移行を行う技術が存在する（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３０８３８号公報
【特許文献２】特開２００９−１６４９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術ではファームウェア更新時におけるコンフィグデータの一括管理が考慮されていないため、ファームウェアの更新処理とコンフィグデータの同期処理とを別々に実行する必要があり、全ての処理が完了するまでに時間を要するという課題があった。
【０００６】
本発明はこのような問題点に鑑みなされたもので、ファームウェアの更新時の処理時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の画像処理装置は、ファームウェアの更新情報を、ネットワークを介して通信可能なサーバ装置に通知する通知手段と、前記ファームウェアの更新に伴い、仮想コンフィグデータの更新が必要か否かを示す要否情報を前記サーバ装置から受信する受信手段と、前記ファームウェアを取得するファームウェア取得手段と、前記受信手段により受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、仮想コンフィグデータを前記サーバ装置より取得する仮想コンフィグデータ取得手段と、前記ファームウェア取得手段により取得された前記ファームウェアを適用する適用手段と、前記受信手段により受信された前記要否情報が仮想コンフィグデータの更新が必要であることを示していた場合、前記仮想コンフィグデータ取得手段により取得された前記仮想コンフィグデータを実コンフィグデータとして更新する更新手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、ファームウェアの更新時の処理時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステムのシステム構成の一例を示す図である。
【図２】本実施形態のシステムを構成する各装置のハードウェア構成の一例を示す図である。
【図３】本実施形態のシステムを構成する各装置のソフトウェア構成の一例を示す図である。
【図４Ａ】デバイス識別子が０１０００１でファックスユニットがない機器構成データの一例を示す図である。
【図４Ｂ】デバイス識別子が０１０００１でファックスユニットがある機器構成データの一例を示す図である。
【図４Ｃ】デバイス識別子が０２０００１の機器構成データの一例を示す図である。
【図５Ａ】ファームウェア更新前の実コンフィグデータの一例を示す図である。
【図５Ｂ】ファームウェア更新後に構成が変わった実コンフィグデータの一例を示す図である。
【図６】新コンフィグデータの一例を示す図である。
【図７】仮想デバイスの一例を示す図である。
【図８Ａ】機種コードが０ｘ０１の機種別設定値スキーマの一例を示す図である。
【図８Ｂ】機種コードが０ｘ０２の機種別設定値スキーマの一例を示す図である。
【図９】テナント用コンフィグデータの一例を示す図である。
【図１０Ａ】デバイス識別子が０１０００１の画像形成装置に対する仮想コンフィグデータの一例を示す図である。
【図１０Ｂ】デバイス識別子が０１０００２の画像形成装置に対する仮想コンフィグデータの一例を示す図である。
【図１０Ｃ】デバイス識別子が０２０００１の画像形成装置に対する仮想コンフィグデータの一例を示す図である。
【図１１】ファームウェアに関する情報の一例を示す図である。
【図１２】ファームウェアの配信に関する情報の一例を示す図である。
【図１３】端末装置を用いて管理者ユーザがテナント用コンフィグデータを更新する処理を説明するためのフローチャートである。
【図１４】画像形成装置から仮想コンフィグデータを取得する処理を説明するフローチャートである。
【図１５】ファームウェア更新時における画像形成装置の実コンフィグデータ更新処理を説明するフローチャートである。
【図１６】ファームウェアの更新指示を受付ける画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜実施形態１＞
まず、用語の定義を行う。
コンフィグデータとは、画像形成装置の動作を切り替えるデータである。コンフィグデータの一例としては、例えば、コピージョブの面付けのデフォルト値等が該当する。「１  ｉｎ  １」に設定されていれば、コピーを行った結果、用紙一枚に１ページが印刷される。「２  ｉｎ  １」に設定されていれば、コピーを行った結果、用紙一枚に２ページが印刷される。
機器構成データとは、画像形成装置が備える機器の構成を示すデータである。機器構成データの一例としては、例えば、ファクスユニットを装着しているかを表すデータ等が該当する。更に、機器構成データの一例としては、画像形成装置の機種を一意に識別するための機種コード、動作しているファームウェアバージョン等を含む。
機種別設定値スキーマとは、画像形成装置が特定の機種で保持するコンフィグデータのスキーマを定義するデータである。スキーマとは、コンフィグデータについての規約や位置づけを定義するデータである。例えば、コンフィグデータ各々の設定値識別子、デフォルト値、値域、データが有効になるための条件が機種別設定値スキーマに含まれる。本実施形態では、機種によって保持するコンフィグデータには差分があり、設定値スキーマを機種別に用意する運用であることを前提とする。
仮想デバイスとは、サーバコンピュータ群が保持する実デバイスのデータ群である。より具体的には、機器構成データ、コンフィグデータを少なくとも含む。
【００１２】
テナントとは、ユーザが画像形成装置の管理を委託する委託者の単位である。またテナント識別子とは、テナントを一意に識別するための識別子である。例えば、ある会社がユーザ環境１００にある画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃの管理を委託したと仮定する。その場合、ユーザ環境１００に対応するテナント識別子が１つ割り当てられ、画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃはそのテナントに属する画像形成装置であると認識され、管理される。
仮想デバイスに含まれるデータと、実デバイスが保持するデータと、テナント専用のデータと、を区別して呼ぶために、以下のように定義する。
仮想デバイスに含まれる機器構成データを仮想機器構成データ、コンフィグデータを仮想コンフィグデータと呼ぶ。
実デバイスが保持する機器構成データを実機器構成データ、コンフィグデータを実コンフィグデータと呼ぶ。
テナント内で共通で利用したいコンフィグデータをテナント用コンフィグデータと呼ぶ。
以上が用語の説明となる。ここで説明した以外にも適宜用語の説明を行う。
【００１３】
図１は、本実施形態のシステムのシステム構成の一例を示す図である。
画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃは、管理対象の画像形成装置である。画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃは、ネットワーク１０６を介してインターネット１０４にアクセス可能である。画像形成装置は、画像処理装置の一例である。
端末装置１０２Ｄは、ユーザ環境１００のユーザが操作可能なコンピュータであって、ネットワーク１０６を介してインターネット１０４にアクセス可能である。
端末装置１０２Ｅは、画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃを管理するサービスマンが操作可能なコンピュータであって、インターネット１０４にアクセス可能である。
端末装置１０２Ｆは、画像形成装置のベンダに所属する管理担当者が操作可能なコンピュータであって、インターネット１０４にアクセス可能である。
インターネット１０４は、公衆回線上のデジタル通信が可能なネットワークである。
サーバコンピュータ群１０５は、インターネット１０４を介してサービスを提供するサーバ群である。なお、サーバコンピュータ群１０５は、複数のサーバコンピュータにより構成されていてもよいし、一つのサーバコンピュータにより構成されていてもよい。但し、以下では、サーバコンピュータ群１０５は、複数のサーバコンピュータにより構成されているものとして説明を行う。サーバコンピュータ群１０５は、サーバ装置の一例である。
ネットワーク１０６は、ユーザ環境１００においてデジタル通信が可能なネットワークである。
サービスマン環境１１０は、サービスマンが端末装置１０２Ｅを使って画像形成装置の管理を行う環境である。
画像形成装置のベンダ環境１２０は、画像形成装置を生産するベンダの管理担当者が、端末装置１０２Ｆを使って画像形成装置の管理に必要なデータのメンテナンスを行う環境である。
【００１４】
図２は、本実施形態のシステムを構成する各装置のハードウェア構成の一例を示す図である。
ＣＰＵ２０１は、プログラムの実行や、様々な処理の制御を行う。
不揮発性メモリ２０２は、ＲＯＭから構成され、機器の起動処理において初期段階に必要なプログラムやデータが格納されている。
不揮発性メモリ２０２Ａは、画像形成装置１０１を制御するファームウェアやデータ、及び更新用のファームウェアを記憶する第１の領域と、ファームウェア更新処理を行うプログラムを記憶する第２の領域と、の２つの記憶領域に分けて管理される。
揮発性メモリ２０３は、ＲＡＭから構成され、プログラム、データの一時的な格納場所として利用される。
補助記憶装置２０４は、ハードディスクやＲＡＭドライブ等の大容量記憶装置から構成され、大容量データの保管、プログラムの実行コードの保持を行う。揮発性メモリ２０３と比較して、長時間保持する必要があるデータを記憶する。補助記憶装置２０４は不揮発性の記憶装置であるため、電源が切られてもデータを記憶し続けることができる。
ディスプレイ２０５は、利用者に情報を伝えるための装置である。なお、本明細書内における利用者とは、ユーザとサービスマンとを想定する。
入力装置２０６は、利用者の選択指示を受付け、内部バス２１０を介してプログラムに伝達するための装置である。
ネットワーク通信装置２０７は、別の情報処理装置とネットワークを介して通信するための装置である。
【００１５】
ファクスユニット２０８は、画像形成装置１０１が形成した画像データか、若しくは補助記憶装置に記憶された画像データを、ネットワーク１０６を介して別の情報処理装置に送付するためのハードウェアユニットである。ファクスユニットは、オプションであり、個体によって装着されてない可能性がある。
プリンタエンジン２０９は、画像形成装置１０１が形成した画像データか、若しくは補助記憶装置に記憶された画像データを、紙媒体に印刷する。
内部バス２１０は、ＣＰＵ２０１、不揮発性メモリ２０２、揮発性メモリ２０３、補助記憶装置２０４、ディスプレイ２０５、入力装置２０６、ネットワーク通信装置２０７を画像形成装置１０１内で通信可能な状態に接続する通信バスである。
サーバコンピュータ２１１は、サーバコンピュータ群１０５を構成する複数のサーバコンピュータの内の１つである。
内部バス２１６は、サーバコンピュータ２１１の備えるＣＰＵ２０１、不揮発性メモリ２０２、揮発性メモリ２０３、補助記憶装置２０４、ネットワーク通信装置２０７をサーバコンピュータ２１１内で通信可能な状態に接続する通信バスである。
ネットワーク２２０は、サーバコンピュータ群１０５を構成するサーバコンピュータ２１１同士の高速通信を可能とするネットワークである。
【００１６】
なお、ＣＰＵ２０１Ｇが、補助記憶装置２０４Ｇ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、サーバコンピュータ２１１Ｇ、又はサーバコンピュータ群１０５等のソフトウェア構成が実現される。つまり、ＣＰＵ２０１Ｇが、補助記憶装置２０４Ｇ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、後述するサーバコンピュータ２１１Ｇ、又はサーバコンピュータ群１０５等のフローチャートに係る処理が実現される。
同様に、ＣＰＵ２０１Ａが、補助記憶装置２０４Ａ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、画像形成装置１０１のソフトウェア構成が実現される。つまり、ＣＰＵ２０１Ａが、補助記憶装置２０４Ａ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、後述する画像形成装置１０１等のフローチャートに係る処理が実現される。
同様に、ＣＰＵ２０１Ｄが、補助記憶装置２０４Ｄ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、端末装置１０２Ｄのソフトウェア構成が実現される。つまり、ＣＰＵ２０１Ｄが、補助記憶装置２０４Ｄ等の記憶装置に記憶されているプログラムに基づき処理を実行することによって、後述する端末装置１０２Ｄのフローチャートに係る処理が実現される。
【００１７】
図３は、本実施形態のシステムを構成する各装置のソフトウェア構成の一例を示す図である。
まず、画像形成装置１０１が備える機能（各部）について説明する。
実コンフィグデータ保持部３０１は、コンフィグデータを保持する。コンフィグデータは、補助記憶装置２０４Ａに構成される。画像形成装置は、実コンフィグデータ保持部３０１によって保持された実コンフィグデータに基づいて動作の振る舞いを切り替える。
実コンフィグデータ更新部３０２は、実コンフィグデータ保持部３０１が保持する実コンフィグデータを更新する。実コンフィグデータは、後述する仮想コンフィグデータ受信部３０３によって受信された仮想コンフィグデータを用いて更新される。実コンフィグデータを更新する条件は、後述する仮想コンフィグデータ更新確認部３２２によって仮想コンフィグデータが更新されている場合に限る。
仮想コンフィグデータ受信部３０３は、後述する仮想コンフィグデータ取得部３２０を呼び出して仮想コンフィグデータを受信する。仮想コンフィグデータ取得部３２０を呼びだすためのアドレスは、実コンフィグデータ保持部３０１に保持されるアドレスを用いる。より具体的には、後述する図１０Ａを例に挙げると、設定値識別子７０２が「ｄｅｖｉｃｅ＿ｓｅｔｔｉｎｇｓＣｌｏｕｄ＿ａｄｄｒｅｓｓ」の値７０３である、「ｈｔｔｐ：／ＣａｎｏｎＣｏｍＣｏｎｆｉｇ」がアドレスである。
【００１８】
実機器構成データ収集部３０４は、画像形成装置１０１の機器構成データを集める。図４は、実機器構成データの一例を示す図である。データ種別６０２に対して、それぞれ値６０３が記憶される。機器構成データとしては、機種を識別するための機種コードや、ファームウェアバージョン、デバイスを識別するためのデバイス識別子、ファクスユニットの有無が挙げられる。図４Ａ、図４Ｂ、図４Ｃは、それぞれ、機器構成データの一例である。
テナント識別子保持部３０５は、画像形成装置１０１が属するテナント識別子を記憶する。テナント識別子は、画像形成装置１０１の初期設置時に設定され、電源が切られても失われることがないように補助記憶装置２０４Ａに記憶される。
実機器構成データ通知部３０６は、実機器構成データ収集部３０４によって収集された実機器構成データと、テナント識別子保持部３０５によって記憶されたテナント識別子と、を合わせて通知する。通知先は、後述する実機器構成データ受信部３１８である。
【００１９】
ＦＷ更新部３０７は、画像形成装置１０１を制御するファームウェアを更新する。ＦＷ更新部３０７は、不揮発性メモリ２０２Ａの第一領域に記憶された画像形成装置１０１を制御しているファームウェア（以下、現ファームウェアとする）と、第二領域に記憶された更新プログラムと、の両方によって実現される。
ＦＷ更新部３０７が行うファームウェア更新処理の流れは以下となる。
ファームウェア更新処理は、通常モードとファームウェア更新モードとの２つのモードを切り替えて行われる。通常モードは、不揮発性メモリ２０２Ａの第一領域に記憶された現ファームウェアによって、画像形成装置１０１を制御するモードである。ファームウェア更新モードは、第二領域に記憶された更新プログラムによって、現ファームウェアの更新を行うモードである。
まず、ＦＷ更新部３０７は、通常モード起動時に、ユーザからのファームウェア更新の指示をディスプレイ２０５Ａで受付ける。受付けた指示に従って、ＦＷ更新部３０７は、後述するＦＷ配信サービス３３０からファームウェア（以下、更新ファームウェアとする）をダウンロード（取得）し、不揮発性メモリ２０２Ａの第一領域に記憶する。その後、ＦＷ更新部３０７は、ファームウェア更新モードで画像形成装置１０１を再起動する。
次に、ＦＷ更新部３０７は、ファームウェア更新モード起動時に、更新ファームウェアで現ファームウェアを上書きする。その後、ＦＷ更新部３０７は、通常モードで画像形成装置１０１を再起動する。再起動後の画像形成装置１０１は、更新ファームウェアで制御される。
【００２０】
なお、ファームウェア更新処理に伴い、実コンフィグデータの構成が変わる場合には、更新ファームウェア内に含まれる新しい構成のコンフィグデータ（以下、新コンフィグデータとする）を用いてデータ移行が行われる。以下、更新前の実コンフィグデータを旧コンフィグデータとする。実コンフィグデータの例を図５に示す。図５Ａが、ファームウェア更新前の実コンフィグデータである。同様に、図５Ｂが、ファームウェア更新後に構成が変わった実コンフィグデータである。新コンフィグデータの例を図６に示す。
ファームウェアの更新を行う際に、旧コンフィグデータから新コンフィグデータへの移行処理が行われる。以下に、移行処理の流れを図５と図６とを用いて説明する。
新コンフィグデータ内の各設定には、移行フラグ１６０３として、旧コンフィグデータから値を引き継ぐか否かが予め指定されている。新コンフィグデータ内の設定が値を引き継ぐ指定（移行フラグ１６０３の値が１）の場合、旧コンフィグデータの同じ設定の値で更新する処理が行われる。図５と図６とを例にすると、図６のｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐの移行フラグの値は１であるので、図５Ａの値である２ｉｎ１が図５Ｂに引き継がれる。一方、値を引き継がない指定（移行フラグ１６０３の値が０）の場合、新コンフィグデータに予め定められているデフォルト値がそのまま用いられる。図５と図６とを例にすると、図６のｕｐｄａｔｅ＿ｓｅｔｔｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅｐの移行フラグは０であるので、図６の値であるＯＦＦが図５Ｂに引き継がれる。
この移行処理を行うことで、ファームウェアの更新に伴い、実コンフィグデータの構成が変わる場合であっても、実コンフィグデータ更新部３０２は、構成が変わらない場合と同様の処理で実コンフィグデータの更新を行うことが可能となる。
ＦＷ更新情報通知部３０８は、ファームウェアの更新指示に関する情報と、ファームウェアバージョンと、を後述するＦＷ更新時仮想コンフィグデータ更新確認部３２３と、ＦＷ配信情報管理部３３１と、へ通知する。ファームウェアの更新指示に関する情報は、ＦＷ更新部３０７がユーザから受付けたものが、バージョンは、実機器構成データ収集部３０４によって収集したものが用いられる。
【００２１】
次に、設定値管理サービス３１０が備える部について説明する。
設定値管理サービス３１０は、画像形成装置のコンフィグデータを管理する機能を提供するサービスである。設定値管理サービス３１０は、前述のサーバコンピュータ群１０５上で提供される。設定値管理サービス３１０は、複数の機能（各部）を保持しており、以下はその機能を説明する。
仮想デバイス保持部３１１は、仮想デバイスが保持するデータを記憶する。仮想デバイス保持部３１１が記憶する仮想デバイスの例を、図７に示す。
仮想デバイスリスト８０１は、仮想デバイス保持部３１１が保持する仮想デバイス全体である。
デバイス識別子８０２は、仮想デバイスリスト８０１にある複数の仮想デバイスから１つを特定するための識別子である。デバイス識別子８０２は、元々、画像形成装置１０１が記憶する識別子であって、画像形成装置１０１を一意に識別することができる識別子である。デバイス識別子８０２は、機器構成データの１つとして画像形成装置１０１から通知される。
テナント識別子８０３は、仮想デバイスに対応する画像形成装置１０１が属するテナント識別子である。
仮想機器構成データ８０４は、仮想デバイスに対応する画像形成装置１０１の機器構成データである。仮想機器構成データは、図４に示す情報が仮想デバイス保持部３１１によって別途保持される。仮想機器構成データ８０４には図４への参照となる識別子が保持される。
仮想コンフィグデータ８０５は、仮想デバイスに対応する画像形成装置１０１が参照すべきコンフィグデータである。仮想コンフィグデータは、図１０に示す情報が仮想デバイス保持部３１１によって別途保持される。仮想コンフィグデータ８０５には図１０への参照となる識別子が保持される。
通知フラグ８０６は、仮想コンフィグデータの更新が行われてから画像形成装置１０１に通知したかを示すフラグである。通知フラグ８０６は、仮想コンフィグデータ取得部３２０により、対応する仮想コンフィグデータが参照されると「済」となる。また、通知フラグ８０６は、仮想コンフィグデータ更新部３１７により、対応する仮想コンフィグデータが更新されると「未となる」。
【００２２】
機種別設定値スキーマ保持部３１２は、機種別設定値スキーマを記憶する。画像形成装置の各機種に対応して１つの機種別設定値スキーマが用意される。
機種別設定値スキーマの例を図８に示す。
図８Ａが、機種コードが０ｘ０１の機種別設定値スキーマの例である。また、図８Ｂが、機種コードが０ｘ０２の機種別設定値スキーマの例である。
設定値識別子４０２は、設定値を一意に識別するための識別子である。「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」は、コピー設定の面付けに関する設定であることを示す。この設定値識別子４０２が同じであれば、違う機種であっても同じ種類の設定値であることを示す。
デフォルト値４０３は、その機種におけるデフォルト設定値の定義である。
値域４０４は、その機種において設定しうる範囲の定義である。「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」の値域４０４であれば、「１  ｉｎ  １，  ２  ｉｎ  １，  ４  ｉｎ  １」の３種類から選択できることを示す。
条件４０５は、その機種において設定値を利用するために必要な条件の定義である。「ｆａｘ＿ｓｅｔｔｉｎｇｓ．ｒｅｃｅｉｖｅｄ＿ｐｒｉｎｔ」の条件４０５には「ファクスユニット」とあるため、ファクスユニットの装着が確認できた場合のみ有効な設定値であることを示している。
また、「ｕｐｄａｔｅ＿ｓｅｔｔｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅ」の条件４０５には「バージョン０２．００以上」とあるため、ファームウェアバージョンが０２．００以上であることが確認できた場合のみ有効な設定値であることを示している。この条件があることによって、ファームウェアバージョンによって設定値の構成が異なる場合に、不要な設定値の利用を防ぐことが可能となる。
【００２３】
機種別設定値スキーマ更新部３１３は、機種別設定値スキーマ保持部３１２が保持する機種別設定値スキーマを更新する。新しい機種を画像形成装置のベンダが発表した場合には、ベンダの管理責任者の指示によって新しい機種に対応する機種別設定値スキーマが登録される。また、設定値に変更があった場合は、同様に機種別設定値スキーマが更新される。
テナント用コンフィグデータ保持部３１４は、テナントが保持する画像形成装置に設定したいコンフィグデータを保持する。
テナント用コンフィグデータの例を、図９に示す。
設定値識別子５０２は、図８で説明した機種別設定値スキーマにある設定値識別子４０２と同等である。
値５０３は、このテナントが所望する共通設定の値である。「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」には、「２  ｉｎ  １」が設定されている。これは、テナントが保持する画像形成装置全てに「２  ｉｎ  １」が設定されることを所望していることを示す。
【００２４】
テナント用コンフィグデータ更新部３１５は、テナント用コンフィグデータ保持部３１４が保持するテナント用コンフィグデータを更新する。テナント用コンフィグデータを更新するのは、テナントが保持する画像形成装置の管理を行うサービスマンである。更新指示は、サービスマン環境１１０にある端末装置１０２Ｅで動作するウェブブラウザに表示される設定画面から行う。
仮想コンフィグデータ生成部３１６は、機種別設定値スキーマとテナント用コンフィグデータと仮想機器構成データとを用いて仮想コンフィグデータを生成する。その処理内容をステップ毎に説明する。
まず、仮想コンフィグデータ生成部３１６は、仮想機器構成データを仮想デバイス保持部３１１から取得する。仮想コンフィグデータ生成部３１６は、取得した仮想機器構成データに含まれる機種コードを参照し、画像形成装置の機種を特定する。図４Ａを例に挙げると、仮想コンフィグデータ生成部３１６は、機種コードが０ｘ０１の機種であると判定する。
次に、仮想コンフィグデータ生成部３１６は、取得した機種コードに合致する機種別設定値スキーマを機種別設定値スキーマ保持部３１２から取得する。図４Ａを例に挙げると、仮想コンフィグデータ生成部３１６は、機種コードが０ｘ０１に合致する図８Ａを取得する。
【００２５】
次に、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマに定義された設定値を、仮想コンフィグデータのベースとする。図８Ａを例に挙げると、以下の６つの設定値がベースとなる。「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」、「ｄｅｖｉｃｅ＿ｓｅｔｔｉｎｇｓＣｌｏｕｄ＿ａｄｄｒｅｓｓ」、「ｄｅｖｉｃｅ＿ｓｅｔｔｉｎｇｓ．ｓｌｅｅｐ＿ｔｉｍｅ」、「ｆａｘ＿ｓｅｔｔｉｎｇｓ．ｒｅｃｅｉｖｅｄ＿ｐｒｉｎｔ」、「ｂｏｘ＿ｓｅｔｔｉｎｇｓ．ｓｅｒｖｅｒ＿ａｄｄｒｅｓｓ」、「ｕｐｄａｔｅ＿ｓｅｔｔｅｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅ」。
次に、仮想コンフィグデータ生成部３１６は、テナント用コンフィグデータに登録された値を取得し、機種別設定値スキーマに定義された値域に収まるかを判定する。図８Ａと図９とを例に挙げると、「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」は「２  ｉｎ  １」であり、値域が「１  ｉｎ  １，  ２  ｉｎ  １，  ４  ｉｎ  １」であるため、値域に収まっている。しかし、「ｄｅｖｉｃｅ＿ｓｅｔｔｉｎｇｓ．ｓｌｅｅｐ＿ｔｉｍｅ」は、「１０秒」であり、値域が「１分、１０分、１時間」であるため、値域に収まらない。値域に収まらない場合は、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマに定義されたデフォルト値を取得する。この例では、「１０分」となる。
次に、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマに定義された条件が満たされるか判定する。仮想コンフィグデータ生成部３１６は、判定を、機器構成データを用いて行う。図４Ａを例に挙げると、「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」の条件は特にないため、「ｃｏｐｙ＿ｓｅｔｔｉｎｇｓ．ｎｕｐ」の条件は満たされる。しかし、「ｆａｘ＿ｓｅｔｔｉｎｇｓ．ｒｅｃｅｉｖｅｄ＿ｐｒｉｎｔ」の条件は「ファクスユニット」であり、機器構成データは「なし」であるため、条件を満たさない。条件を満たす場合は、仮想コンフィグデータ生成部３１６は、これまでの処理で決定された値を用いる。条件を満たさない場合は、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマに定義されたデフォルト値４０３を取得する。この例では、「ＯＦＦ」となる。
【００２６】
但し、「ｕｐｄａｔｅ＿ｓｅｔｔｅｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅ」のように条件がファームウェアバージョンに関する場合で、かつ、その条件を満たさない場合には、仮想コンフィグデータ生成部３１６は、その設定は仮想コンフィグデータに含めない。図８Ａと図９とを例に挙げると、「ｕｐｄａｔｅ＿ｓｅｔｔｅｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅ」の条件は「バージョン０２．００以上」であり、機器構成データは「００．０１」であるため、条件を満たさない。
そのため、仮想コンフィグデータ生成部３１６は、図９の仮想コンフィグデータには「ｕｐｄａｔｅ＿ｓｅｔｔｅｉｎｇｓＡｕｔｏ＿ｕｐｄａｔｅ」の設定は含めない。
以上の処理で決定された値が仮想コンフィグデータである。仮想コンフィグデータの例を図１０に示す。図１０Ａが、デバイス識別子が０１０００１の画像形成装置に対する仮想コンフィグデータである。同様に、図１０Ｂが、デバイス識別子が０１０００２の画像形成装置に対する仮想コンフィグデータである。図１０Ｃが、デバイス識別子が０２０００１の画像形成装置に対する仮想コンフィグデータである。
【００２７】
仮想コンフィグデータ更新部３１７は、仮想コンフィグデータ生成部３１６で生成された仮想コンフィグデータを、仮想デバイス保持部３１１に登録する。仮想コンフィグデータ更新部３１７は、仮想デバイス保持部３１１が保持する仮想デバイスの中から、デバイス識別子が一致する仮想デバイスを探索して仮想コンフィグデータを更新する。更に、仮想コンフィグデータ更新部３１７は、仮想デバイスの通知フラグ８０６が「済」であれば、「未」に設定する。これは、仮想コンフィグデータの変更があり、画像形成装置は新しい仮想コンフィグデータを参照する必要があることを示す。
実機器構成データ受信部３１８は、実機器構成データ通知部３０６からの通知を受信する。通知される情報は、図４に示す機器構成データと、テナント識別子と、である。
仮想機器構成データ更新部３１９は、実機器構成データ受信部３１８で受信した機器構成データを、該当する仮想デバイスに仮想機器構成データとして登録する。仮想機器構成データ更新部３１９は、仮想デバイス保持部３１１が保持する仮想デバイスの中から、デバイス識別子が一致する仮想デバイスを探索して仮想機器構成データを更新する。
仮想コンフィグデータ取得部３２０は、インターネット１０４を介して要求を受け、仮想コンフィグデータを取得する。要求は、少なくとも仮想デバイスを特定するためのデバイス識別子を含んでいる。仮想コンフィグデータ取得部３２０は、デバイス識別子が一致する仮想デバイスを探索する。仮想コンフィグデータ取得部３２０は、探索された仮想デバイスが保持する仮想コンフィグデータを探索し、仮想コンフィグデータを要求元に渡す。
【００２８】
仮想コンフィグデータ閲覧部３２１は、インターネット１０４を介して要求を受け、仮想コンフィグデータを閲覧する。要求は、ＨＴＴＰプロトコル上の要求である。仮想コンフィグデータ閲覧部３２１は、仮想コンフィグデータ閲覧部３２１によって生成されたＨＴＭＬページ上で仮想コンフィグデータの閲覧を行う。
仮想コンフィグデータ更新確認部３２２は、仮想コンフィグデータが更新されているか確認する。仮想コンフィグデータ受信部３０３は、インターネット１０４を介して仮想コンフィグデータ更新確認部３２２にデバイス識別子を送信する。仮想コンフィグデータ更新確認部３２２は、仮想デバイス保持部３１１が保持する仮想デバイスの中から受信したデバイス識別子に一致する仮想デバイスを探索する。仮想コンフィグデータ更新確認部３２２は、探索された仮想デバイスの通知フラグ８０６が「未」であれば、仮想コンフィグデータの更新があったと判定する。逆に、仮想コンフィグデータ更新確認部３２２は、通知フラグ８０６が「済」であれば、仮想コンフィグデータの更新はないと判定する。
【００２９】
ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、画像形成装置１０１から受信した情報を基にファームウェアの更新に伴い、仮想コンフィグデータの更新が必要になるかを確認する。ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、インターネット１０４を介してＦＷ更新情報通知部３０８から送信されたファームウェアの更新に関する情報を受信する。通知される情報はデバイス識別子、画像形成装置１０１のファームウェアバージョン（以下、現在バージョンとする）、更新対象のファームウェアのバージョン（以下、更新後バージョンとする）である。
以下に、仮想コンフィグデータの更新が必要かの確認処理の内容をステップ毎に説明する。
まず、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、仮想デバイス保持部３１１からデバイス識別子に一致する仮想機器構成データを取得する。
次に、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、取得した仮想機器構成データに含まれる機種コードを参照し、画像形成装置の機種を特定する。図４Ａを例に挙げると、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、機種コードが０ｘ０１の機種であると特定する。
【００３０】
次に、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、特定した機種コードに合致する機種別設定値スキーマを機種別設定値スキーマ保持部３１２から取得する。図４Ａを例に挙げると、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、機種コードが０ｘ０１に合致する図８Ａを取得する。次に、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、図８Ａの条件４０５の中から、ファームウェアバージョンが条件となっていて、かつ、現在バージョンでは条件を満たさない設定項目を検索する。検索の結果、該当する設定項目が存在する場合には、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、更に該当する設定項目の中から、ファームウェア更新後のバージョンで条件が満たされる設定項目を検索する。検索に該当する設定項目はファームウェアの更新に伴って増える設定項目であるので、仮想コンフィグデータの更新が必要となる。検索の結果、該当する設定項目が存在しない場合には、更新は不要である。
加えて、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、図８Ａの条件４０５の中から、ファームウェアバージョンが条件となっていて、かつ、現在バージョンで条件を満たす設定項目を検索する。検索の結果、該当する設定項目が存在する場合には、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、更に該当する設定項目の中から、ファームウェア更新後のバージョンで条件が満たされない設定項目を検索する。検索に該当する設定項目はファームウェア更新に伴って減る設定項目であるので、該当項目が存在する場合には仮想コンフィグデータの更新が必要となる。検索の結果、該当項目が存在しない場合には、更新は不要である。
ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、ファームウェアの更新に伴って設定項目の増加又は減少が生じる場合には要更新と判断する。設定項目の増減が生じない場合には、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、更新不要と判断する。
【００３１】
次に、ＦＷ配信サービス３３０が備える機能（各部）について説明する。
ＦＷ配信サービス３３０は、画像形成装置のファームウェアを配信する機能を提供するサービスである。前述のサーバコンピュータ群１０５上で提供される。ＦＷ配信サービス３３０は、複数の機能（各部）を保持しており、以下はその機能を説明する。
ＦＷ配信情報管理部３３１は、画像形成装置１０１からファームウェアの更新に関する情報を受信し管理する。ＦＷ配信情報管理部３３１は、インターネット１０４を介して画像形成装置１０１から送信されたファームウェア配信情報を受信し、後述するＦＷ配信情報保持部３３４へ保存する。通知される情報には、デバイス識別子、機種コード、更新後バージョン、配信日時、配信ステータス等がある。
ＦＷ配信部３３２は、画像形成装置のファームウェアを画像形成装置へ配信する。ＦＷ配信部３３２は、ＦＷ配信情報保持部３３４で保持しているファームウェア配信情報に従って、該当するファームウェアを後述するＦＷ保持部３３３から取得し、画像形成装置１０１に配信する。
ＦＷ保持部３３３は、画像形成装置のファームウェアに関する情報を記憶する。ファームウェアに関する情報の例を図１１に示す。
ファームウェア情報１４００は、機種コード１４０１とバージョン１４０２とから構成される。
機種コード１４０１は、画像形成装置１０１のどの機種のファームウェアであるかを示している。
バージョン１４０２は、ファームウェアのバージョンを示している。
ＦＷ配信情報保持部３３４は、ファームウェア配信情報を記憶する。ＦＷ配信情報保持部３３４は、画像形成装置へのファームウェアの配信に関する情報を記憶する。
【００３２】
ファームウェアの配信に関する情報の例を図１２に示す。
ＦＷ配信情報１１００は、ファームウェア配信に関係する情報であり、画像形成装置１０１から通知された情報が基になっている。
配信番号１１０１は、一つの配信処理を一意に識別するための番号であり、ＦＷ配信情報１１００に新しい配信情報が追加された際に、ＦＷ配信情報管理部３３１によって一意の値が生成される。ここで、一つの配信とは、配信の予約からファームウェアの適用完了までの一通りの処理を指す。
デバイス識別子１１０２は、画像形成装置１０１が記憶する識別子であり、画像形成装置１０１を一意に識別することができる識別子である。ファームウェア配信情報の１つとして画像形成装置１０１から通知される。
機種１１０３は、画像形成装置の機種を一意に識別するためのコードである。
バージョン１１０４は、更新対象のファームウェアのバージョンである。
配信日時１１０５は、ファームウェアの配信を行う日時である。
ステータス１１０６は、ファームウェア配信処理のステースであり、その時点でどのような処理が行われているかを示している。ステータスには、予約中、配信中、適用中、完了の４つがある。
【００３３】
図１３は、端末装置１０２Ｄを用いて管理者ユーザがテナント用コンフィグデータを更新する処理を説明するためのフローチャートである。
ステップＳ９０１において、テナント用コンフィグデータ更新部３１５が、テナント用コンフィグデータの更新要求を検知する。
ステップＳ９０２において、テナント用コンフィグデータ更新部３１５が、テナント用コンフィグデータ保持部３１４にステップＳ９０１で更新要求があったテナント用コンフィグデータが存在するか確認する。存在する場合は、テナント用コンフィグデータ更新部３１５は、ステップＳ９０７に処理を移す。存在しない場合は、テナント用コンフィグデータ更新部３１５は、ステップＳ９０３に処理を移す。
ステップＳ９０３において、テナント用コンフィグデータ更新部３１５が、テナントが保持する仮想デバイスを仮想デバイス保持部３１１から探索する。
ステップＳ９０４において、テナント用コンフィグデータ更新部３１５が、ステップＳ９０３で探索した仮想デバイスの仮想機器構成データにある機種コードを参照する。更に、テナント用コンフィグデータ更新部３１５は、機種コードに合致する機種別設定値スキーマを機種別設定値スキーマ保持部３１２から探索する。
ステップＳ９０５において、テナント用コンフィグデータ更新部３１５が、ステップＳ９０４で探索した機種別設定値スキーマの少なくとも１つが持つ設定をリストアップする。
ステップＳ９０６において、テナント用コンフィグデータ更新部３１５が、ステップＳ９０５でリストアップした設定を持つテナント用コンフィグデータを生成する。
【００３４】
ステップＳ９０７において、テナント用コンフィグデータ更新部３１５が、テナント用コンフィグデータの具体的な更新指示を検知する。
ステップＳ９０８において、テナント用コンフィグデータ更新部３１５が、ステップＳ９０７で検知した更新指示に基づいてテナント用コンフィグデータ保持部３１４が保持するテナント用コンフィグデータを更新する。
ステップＳ９０９において、仮想コンフィグデータ生成部３１６が、テナント用コンフィグデータの更新を検知する。
ステップＳ９１０において、仮想コンフィグデータ生成部３１６が、仮想デバイス保持部３１１が保持する仮想デバイスから、更新を検知したテナント用コンフィグデータのテナント識別子に合致する仮想デバイスを探索する。探索された仮想デバイスに対して順次処理を行うため、仮想コンフィグデータ生成部３１６は、１つの仮想デバイスを取得する。仮想デバイスを取得したら、仮想コンフィグデータ生成部３１６は、ステップＳ９１１に処理を移す。全ての仮想デバイスに対して順次処理を行い、次の仮想デバイスを取得できない場合には、仮想コンフィグデータ生成部３１６は、処理を終了する。
【００３５】
ステップＳ９１１において、仮想コンフィグデータ生成部３１６が、仮想デバイスから仮想機器構成データを取得する。
ステップＳ９１２において、仮想コンフィグデータ生成部３１６が、仮想機器構成データから機種コードを取得する。更に、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマ保持部３１２が保持する機種別設定値スキーマから、機種コードに該当する機種別設定値スキーマを探索する。
ステップＳ９１３において、仮想コンフィグデータ生成部３１６が、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて仮想コンフィグデータを生成する。
ステップＳ９１４において、仮想コンフィグデータ更新部３１７が、ステップＳ９１３で生成した仮想コンフィグデータを仮想デバイスに登録する。
【００３６】
図１４は、画像形成装置から仮想コンフィグデータを取得する処理を説明するフローチャートである。ステップＳ１００１からＳ１００７までは、画像形成装置で行われる処理である。ステップＳ１０５１からＳ１０５８までは、サーバコンピュータ群１０５で行われる処理である。
ステップＳ１００１において、実機器構成データ通知部３０６が、画像形成装置の電源ＯＮを検知する。
ステップＳ１００２において、実機器構成データ収集部３０４が、機器構成データを収集する。
ステップＳ１００３において、実機器構成データ通知部３０６が、ステップＳ１００２で収集した実機器構成データを用いて、設定値管理サービス３１０に未通知の実機器構成データの変更があったか判定する。変更があった場合は、実機器構成データ通知部３０６は、ステップＳ１００５に処理を移す。変更がなかった場合は、実機器構成データ通知部３０６は、ステップＳ１００４に処理を移す。
【００３７】
ステップＳ１００４において、仮想コンフィグデータ受信部３０３が、デバイスが最新の仮想コンフィグデータを取得済みか判定する。仮想コンフィグデータ受信部３０３は、仮想コンフィグデータ更新確認部３２２を呼びだして判定を行う。
ステップＳ１００５において、実機器構成データ通知部３０６が、実機器構成データとテナント識別子とを設定値管理サービス３１０に通知する。設定値管理サービス３１０側はステップＳ１０５１でこれを検知して処理を行う。詳細は後述する。
ステップＳ１００６において、仮想コンフィグデータ受信部３０３が、仮想コンフィグデータの更新が完了するまで処理の実行を待ち合わせる。
ステップＳ１００７において、仮想コンフィグデータ受信部３０３が、設定値管理サービス３１０から仮想コンフィグデータを受信する。更に、実コンフィグデータ更新部３０２が、受信した仮想コンフィグデータを実コンフィグデータとして更新する。実コンフィグデータは、実コンフィグデータ保持部３０１によって記憶される。
【００３８】
ステップＳ１０５１において、実機器構成データ受信部３１８が、画像形成装置から通知された実機器構成データとテナント識別子とを受信する。
ステップＳ１０５２において、仮想機器構成データ更新部３１９が、ステップＳ１０５１において受信した実機器構成データとテナント識別子とに合致する仮想デバイスを探索する。仮想機器構成データ更新部３１９は、仮想デバイス保持部３１１によって保持された仮想デバイスの中から探索を行う。画像形成装置が初めて設定値管理サービス３１０と通信を行ったケースでは、仮想デバイスが探索できない場合がある。合致する仮想デバイスが探索された場合、仮想機器構成データ更新部３１９は、ステップＳ１０５４に処理を移す。合致する仮想デバイスが探索できなかった場合、仮想機器構成データ更新部３１９は、ステップＳ１０５３に処理を移す。
ステップＳ１０５３において、仮想機器構成データ更新部３１９が、空の仮想デバイスを生成する。
ステップＳ１０５４において、仮想機器構成データ更新部３１９が、ステップＳ１０５２において探索されるか、若しくはステップＳ１０５３において生成された、仮想デバイスの仮想機器構成データを更新する。この処理により、ステップＳ１０５１において受信した実機器構成データの内容が、新しい仮想機器構成データとなる。
【００３９】
ステップＳ１０５５において、仮想コンフィグデータ生成部３１６は、更新された仮想機器構成データから機種コードを取得する。更に、仮想コンフィグデータ生成部３１６は、機種コードに該当する機種別設定値スキーマを機種別設定値スキーマ保持部３１２から取得する。
ステップＳ１０５６において、仮想コンフィグデータ生成部３１６は、テナント用コンフィグデータを取得する。仮想コンフィグデータ生成部３１６は、テナント用コンフィグデータ保持部３１４が保持するテナント用コンフィグデータから、テナント識別子が合致するテナント用コンフィグデータを探索する。
ステップＳ１０５７において、仮想コンフィグデータ生成部３１６は、仮想コンフィグデータを生成する。仮想コンフィグデータ生成部３１６は、仮想機器構成データ、機種別設定値スキーマ、テナント用コンフィグデータを用いて仮想コンフィグデータの生成を行う。
ステップＳ１０５８において、仮想コンフィグデータ更新部３１７は、ステップＳ１０５７において生成された仮想コンフィグデータを、該当する仮想デバイスに登録する。
【００４０】
図１５は、ファームウェア更新時における画像形成装置の実コンフィグデータ更新処理を説明するフローチャートである。ステップＳ１３００からＳ１３１４までは、画像形成装置１０１で行われる処理である。ステップＳ１３２１からＳ１３２６まで、及び、ステップＳ１３３０からＳ１３３３までは、サーバコンピュータ群１０５で行われる処理である。
ステップＳ１３００において、ＦＷ更新部３０７が、ディスプレイ２０５ＡにＦＷ更新画面１２００を表示し、ユーザからのファームウェア更新指示を受付ける。ＦＷ更新部３０７は、ＦＷ更新画面１２００を介して更新対象のファームウェアのバージョンと、ファームウェアの更新を実行する日時と、を受付ける。受付けたバージョンと更新日時は、不揮発性メモリ２０２Ａに保存される。
【００４１】
図１６は、ファームウェアの更新指示を受付ける画面の一例を示す図である。
ＦＷ更新画面１２００は、ＦＷ更新部３０７が、ディスプレイ２０５Ａに表示する画面である。
配信日時１２０１は、画像形成装置１０１がファームウェアの更新を実行する日時の指示を受付けるフィールドである。配信日時１２０１には、年、月、日、時、分、秒を指定することが可能である。
更新可能ファームウェア１２０２は、更新するファームウェアのバージョンの指示を受付けるプルダウンメニューである。ＦＷ更新部３０７は、ＦＷ更新画面１２００を表示する際に、ＦＷ配信サービス３３０へ機種コードを送信し、その応答として取得したバージョンを更新が可能なファームウェアとしてプルダウンメニューに表示する。画像形成装置１０１から機種コードを受信したＦＷ配信サービス３３０は、ファームウェア情報１４００から機種コード１４０１に該当するバージョン１４０２を検索し、該当するバージョンを画像形成装置１０１へ送信する。
キャンセル１２０３は、ファームウェアの更新指示をキャンセルするボタンである。このボタンが押下された場合、ＦＷ更新部３０７は、この画面で指定された内容を破棄し、画面表示を終了する。
ＯＫ１２０４は、ファームウェアの更新指示を確定するボタンである。このボタンが押下された場合、ＦＷ更新部３０７は、この画面で指定された内容を確定し、次の処理へ移行する。
【００４２】
ステップＳ１３０１において、ＦＷ更新情報通知部３０８が、デバイス識別子、機種、ファームウェアバージョン、配信日時、ステータス（予約中）をＦＷ配信情報管理部３３１へ通知する。ＦＷ更新情報通知部３０８は、デバイス識別子、機種は、実機器構成データ収集部３０４を用いて収集し、ファームウェアバージョン、配信日時は、ステップＳ１３００で受付けた物を用いる。ＦＷ配信サービス３３０側はステップＳ１３３０でこれを検知して処理を行う。詳細は後述する。ＦＷ更新情報通知部３０８は、ＦＷ配信情報管理部３３１から、通知の応答として配信番号１１０１を受信し、不揮発性メモリ２０２Ａへ保存する。
ステップＳ１３０２において、ＦＷ更新情報通知部３０８が、デバイス識別子、画像形成装置のファームウェアバージョン、更新対象のファームウェアバージョンを設定値管理サービス３１０に通知する。ＦＷ更新情報通知部３０８は、デバイス識別子、画像形成装置のファームウェアバージョンは、実機器構成データ収集部３０４を用いて収集し、更新対象のファームウェアバージョンは、ステップＳ１３００で受付けた物を用いる。設定値管理サービス３１０側はステップＳ１３２１でこれを検知して処理を行う。詳細は後述する。
ステップＳ１３０３において、ＦＷ更新情報通知部３０８が、設定値管理サービス３１０での仮想コンフィグデータの更新が必要かの判断が完了するまで、処理の実行を待ち合わせる（待機する）。ＦＷ更新情報通知部３０８は、設定値管理サービス３１０から、判断結果として、要更新、又は更新不要を示す要否情報を受信する。受信した結果は不揮発性メモリ２０２Ａに保存される。
【００４３】
ステップＳ１３０４において、ＦＷ更新部３０７が、ステップＳ１３００で受付けた更新日時になるまで処理の実行を待ち合わせる。更新日時になった場合には、ＦＷ更新部３０７は、ステップＳ１３０５に処理を移す。
ステップＳ１３０５において、ＦＷ更新部３０７が、ＦＷ配信情報管理部３３１に対して、デバイス識別子と配信番号とを含むファームウェアの更新の開始を通知する（更新開始通知）。ＦＷ更新部３０７は、デバイス識別子は、実機器構成データ収集部３０４を用いて収集し、配信番号はステップＳ１３０２で受信した物を用いる。ＦＷ配信サービス３３０側はステップＳ１３３１でこれを検知して処理を行う。詳細は後述する。
加えて、ＦＷ更新部３０７が、設定値管理サービス３１０に対して、デバイス識別子を通知する。設定値管理サービス３１０側はステップＳ１３２６でこれを検知して処理を行う。詳細は後述する。
ステップＳ１３０６において、ＦＷ更新部３０７が、ＦＷ配信部３３２に対して配信番号１１０１を通知し、該当するファームウェアをダウンロードする（ファームウェア取得）。ダウンロードしたファームウェアは、不揮発性メモリ２０２Ａに保存される。
ステップＳ１３０７において、ＦＷ更新部３０７が、ステップＳ１３０３で受信した結果が要更新の場合には、ステップＳ１３０８に処理を移す。結果が更新不要の場合には、ＦＷ更新部３０７は、ステップＳ１３０９に処理を移す。
ステップＳ１３０８において、仮想コンフィグデータ受信部３０３が、設定値管理サービス３１０から仮想コンフィグデータを受信する。受信した仮想コンフィグデータは不揮発性メモリ２０２Ａに保存される。
【００４４】
ステップＳ１３０９において、ＦＷ更新部３０７が、再起動後にファームウェア更新モードで起動する設定を行った上で画像形成装置１０１を再起動する。
ステップＳ１３１０において、ＦＷ更新部３０７が、画像形成装置１０１がファームウェア更新モードで起動した後に、ステップＳ１３０６で不揮発性メモリ２０２Ａに保存したファームウェアの適用を行う。
ステップＳ１３１１において、ＦＷ更新部３０７が、ステップＳ１３０３で受信した結果が要更新の場合には、ステップＳ１３１２に処理を移す。結果が更新不要の場合には、ＦＷ更新部３０７は、ステップＳ１３１３に処理を移す。
ステップＳ１３１２において、実コンフィグデータ更新部３０２が、ステップＳ１３０８で保存した仮想コンフィグデータを用いて、実コンフィグデータ保持部３０１が保持する実コンフィグデータを更新する。なお、ステップＳ１３１２の処理は、ステップＳ１００７の処理と同様である。つまり、実コンフィグデータ更新部３０２は、ステップＳ１３０８で保存した仮想コンフィグデータを実コンフィグデータとして更新する。
ステップＳ１３１３において、ＦＷ更新部３０７が、再起動後に通常モードで起動する設定を行った上で画像形成装置１０１を再起動する。
ステップＳ１３１４において、ＦＷ更新部３０７が、画像形成装置１０１が通常モードで起動した後に、ステップＳ１３０１で受信した配信番号１１０１とステータス（完了）をＦＷ配信情報管理部３３１へ送信して処理を終了する。
【００４５】
ステップＳ１３３０において、ＦＷ配信情報管理部３３１が、ファームウェア更新予約としてデバイス識別子、機種コード、更新対象のファームウェアバージョン、配信日時、ステータス（予約中）を受信する。ＦＷ配信情報管理部３３１は、受信した情報をＦＷ配信情報１１００へ追加する。ＦＷ配信情報管理部３３１は、追加した配信情報に対して配信番号１１０１を生成し、ＦＷ配信情報１１００へ追加する。加えて、ＦＷ配信情報管理部３３１は、ＦＷ更新予約通知の応答として、配信番号１１０１を画像形成装置１０１へ送信する。
ステップＳ１３３１において、ＦＷ配信情報管理部３３１が、配信番号１１０１を受信し、受信した配信番号１１０１に該当するステータス１１０６を配信中に変更する。
ステップＳ１３３２において、ＦＷ配信部３３２が、画像形成装置１０１から、配信番号１１０１を受信する。ＦＷ配信部３３２は、ＦＷ配信情報１１００の中から受信した配信番号１１０１に該当する機種１１０３とバージョン１１０４とを取得し、それらと一致するファームウェアをファームウェア情報１４００から探して画像形成装置１０１へ送信する。
ステップＳ１３３３において、ＦＷ配信情報管理部３３１が、画像形成装置１０１から、配信番号１１０１を受信する。ＦＷ配信情報管理部３３１は、受信した配信番号１１０１に該当するステータス１１０６を完了に変更する。
【００４６】
ステップＳ１３２１において、ＦＷ更新時仮想コンフィグデータ更新確認部３２３が、画像形成装置１０１から送信されたデバイス識別子、画像形成装置のファームウェアバージョン、更新対象のファームウェアバージョンを受信する。
ステップＳ１３２２において、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、ステップＳ１３２１で受信した情報を基に、仮想コンフィグデータの更新が必要かどうかの判断を行う。更新が不要な場合には、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、ステップＳ１３２３に処理を移す。更新が必要な場合には、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、ステップＳ１３２４に処理を移す。
ステップＳ１３２３において、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、仮想コンフィグデータの更新が不要であることを示す要否情報をＦＷ更新情報通知部３０８へ通知する。画像形成装置１０１側はステップＳ１３０３でこれを検知して処理を行う。
【００４７】
ステップＳ１３２４において、設定値管理サービス３１０は、仮想コンフィグデータの生成を行う。このときに行われる処理の詳細は以下となる。
設定値管理サービス３１０は、ステップＳ１３２１で受信したデバイス識別子を基に該当する仮想デバイスを検索する。合致する仮想デバイスが探索された場合、設定値管理サービス３１０は、合致した仮想デバイスを用いて、ステップＳ９１１からステップＳ９１３までと同様の処理を実行し、仮想コンフィグデータを生成する。合致する仮想デバイスが探索できなかった場合、設定値管理サービス３１０は、空の仮想デバイスを生成し、生成した仮想デバイスを用いて、ステップＳ９１１からステップＳ９１３までと同様の処理を実行し仮想コンフィグデータを生成する。
ステップＳ１３２５において、ＦＷ更新時仮想コンフィグデータ更新確認部３２３は、仮想コンフィグデータの更新が必要であることを示す要否情報をＦＷ更新情報通知部３０８へ通知する。画像形成装置１０１側はステップＳ１３０３でこれを検知して処理を行う。
ステップＳ１３２６において、仮想コンフィグデータ更新部３１７は、ステップＳ１３０５の画像形成装置１０１からの通知をトリガとして、ステップＳ１３２５において生成された仮想コンフィグデータを、該当する仮想デバイスに登録する。
【００４８】
以上説明したように、本実施形態によれば、ファームウェアの更新とコンフィグデータの同期とを一度に行うことにより、ファームウェアの更新後、直ぐに一括管理されているコンフィグデータで画像形成装置１０１を利用することが可能となる。
また、設定変更を有効にするために画像形成装置１０１の再起動を必要とするコンフィグデータを移行する場合であっても、ファームウェアの更新後に設定値の反映のために再起動を行う必要が無くなる。
【００４９】
＜実施形態２＞
次に、実施形態２について説明する。
図１に示すネットワーク図において、サーバコンピュータ群１０５では、設定値管理サービス３１０が実行されることを想定しているが、別の構成であってもよい。例えば、サーバコンピュータ群が、ただ１つのサーバコンピュータ２１１Ｇのみによって構成されていてもよい。若しくは、ユーザ環境１００、サービスマン環境１１０、画像形成装置のベンダ環境１２０等の中に構成されていてもよい。
図１に示すネットワーク図において、サービスマンはサービスマン環境１１０に配置された端末装置１０２Ｅを利用することを想定しているが、別の構成であってもよい。例えば、サービスマンがユーザの許可のもとでユーザ環境１００に配置された端末装置１０２Ｄを利用する構成であってもよい。
図２に示すハードウェア構成図において、サーバコンピュータ２１１Ｇと２１１Ｈとがネットワーク２２０で通信を行っているが、別の構成であってもよい。例えば、インターネット１０４を介して通信を行ってもよい。
【００５０】
図３に示すソフトウェア構成図において、実コンフィグデータ保持部３０１が補助記憶装置２０４Ａに実コンフィグデータを記憶しているが、別の構成であってもよい。例えば、揮発性メモリ２０３Ａに一時的に記憶する構成であってもよい。この場合、電源をＯＦＦにすると実コンフィグデータが失われるため、デバイスの電源をＯＮにする度に仮想コンフィグデータ受信部３０３が仮想コンフィグデータを受信する必要がある。より具体的な処理の流れで示すと、図１４のステップＳ１００４で、仮想コンフィグデータの更新判定を行う必要がなく、常にステップＳ１００７を実行する構成となる。
図３に示すソフトウェア構成図において、実機器構成データ収集部３０４は、画像形成装置の電源をＯＮにする度に、実機器構成データの収集を行うが、別の構成であってもよい。例えば、実機器構成データ保持部が実機器構成データを補助記憶装置２０４Ａに常に記憶する構成であってもよい。この場合、実機器構成データの変更に応じて、実機器構成データ保持部が保持する実機器構成データを速やかに書き換える構成である必要がある。そのため、実機器構成データ収集部３０４は、実機器構成データの変更を見張り、変更内容を検知したら実機器構成データ保持部に対して変更内容を更新する必要がある。更に、実機器構成データ通知部３０６は、実機器構成データ保持部に対して実機器構成データを要求する構成となる。
【００５１】
図３に示すソフトウェア構成図において、テナント識別子保持部３０５は、補助記憶装置２０４Ａにテナント識別子を記憶するが、別の構成であってもよい。例えば、ユーザが入力装置２０６Ａを用いてテナント識別子を毎回入力する構成であってもよい。入力するタイミングは、画像形成装置の起動時であってもよいし、別のタイミングであってもよい。この場合、テナント識別子は、揮発性メモリ２０３Ａに記憶される。
図３に示すソフトウェア構成図において、実機器構成データ通知部３０６は画、像形成装置が電源ＯＮになったことを検知して処理を行うが、別の構成であってもよい。例えば、ユーザが入力装置２０６Ａを用いて仮想コンフィグデータの取得を指示する構成であってもよい。この場合、図１４のステップＳ１００１において、仮想コンフィグデータの取得指示を検知することで、ステップＳ１００２以降の処理を実行する構成となる。
【００５２】
図３に示すソフトウェア構成図において、仮想デバイス保持部３１１は、図７に示すように仮想機器構成データと仮想コンフィグデータを識別するための識別子とを保持していたが、別の構成であってもよい。例えば、識別子ではなくデータの実体を保持する構成であってもよい。
図３に示すソフトウェア構成図において、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマ、テナント用コンフィグデータ、仮想機器構成データから仮想コンフィグデータを生成するが、別の構成であってもよい。例えば、仮想コンフィグデータ生成部３１６は、機種別設定値スキーマとテナント用コンフィグデータとの２点から、機種にあわせた仮想コンフィグデータを生成する構成であってもよい。この場合、画像形成装置は実コンフィグデータを参照する際に機器構成にあわせて参照する構成となる。
別の例として、更にライセンスデータを用いて仮想コンフィグデータを生成する構成であってもよい。その場合、画像形成装置が備えるオプション機能に合わせた仮想コンフィグデータが生成される構成となる。
【００５３】
図３に示すソフトウェア構成図において、設定値管理サービス３１０とＦＷ配信サービス３３０とは別のサービスとなっているが、同じサービスであってもよい。例えば、設定値管理サービス３１０とＦＷ配信サービス３３０とを一つのサービスに統合してもよい。この場合、ステップＳ１３０１と、ステップＳ１３０２と、ステップＳ１３０５と、等の画像形成装置１０１が設定値管理サービス３１０とＦＷ配信サービス３３０とに対して個別に行っている通知は、一度で済ませることが可能となる。
図３に示すソフトウェア構成図において、ユーザからのファームウェア更新指示はＦＷ更新部３０７で受付けているが、別の構成であってもよい。例えば、ＦＷ配信サービス３３０でユーザからのファームウェア更新指示を受付けてもよい。
図１５に示すシーケンス図において、ステップＳ１３００にてファームウェアの更新指示を受付けた場合には、その後にステップＳ１３０２にてファームウェア更新通知が行われるが、別のシーケンスであってもよい。例えば、ステップＳ１３０２を実行する前に、画像形成装置１０１が設定値管理サービス３１０によってコンフィグデータの一括管理がなされているかを判断する。その結果、一括管理がなされていない場合には、ステップＳ１３０２の処理をスキップすることで、無駄な通知を減らすことが可能となる。
図１５に示すシーケンス図において、ステップＳ１３００にて受付けるファームウェアの更新指示は、日時が指定されていることを前提としているが、日時が指定されていなくてもよい。例えば、即時にファームウェアの更新を行う指示を受付けてもよい。その場合、仮想コンフィグデータの生成が完了するまで、ファームウェアの更新処理を待つか、待たないかの確認画面をディスプレイ２０５Ａに表示することで、どちらかをユーザに選択させてもよい。
また、Ｓ１３２４の前にＳ１３２５の処理を行い、Ｓ１３０３で受けた結果が要更新の場合には、その旨をディスプレイ２０５Ａに表示するようにしてもよい。そして、仮想コンフィグデータの生成が完了するまで、ファームウェアの更新処理を待つか、待たないかの確認をディスプレイ２０５Ａに表示することで、どちらかをユーザに選択させてもよい。
【００５４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５５】
以上、上述した各実施形態によれば、異なる機種、異なるハードウェアオプションを備える場合であっても、全てのコンフィグデータを一括管理することが可能となる。またファームウェアの更新とコンフィグデータの同期とを一度に行うことで、効率的にコンフィグデータを一括管理するシステムを提供することが可能となる。
つまり、上述した各実施形態によれば、ファームウェアの更新時の処理時間を短縮することができる。
【００５６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2013130923.tif 000003
【図２】
2013130923.tif 000004
【図３】
2013130923.tif 000005
【図４Ａ】
2013130923.tif 000006
【図４Ｂ】
2013130923.tif 000007
【図４Ｃ】
2013130923.tif 000008
【図５Ａ】
2013130923.tif 000009
【図５Ｂ】
2013130923.tif 000010
【図６】
2013130923.tif 000011
【図７】
2013130923.tif 000012
【図８Ａ】
2013130923.tif 000013
【図８Ｂ】
2013130923.tif 000014
【図９】
2013130923.tif 000015
【図１０Ａ】
2013130923.tif 000016
【図１０Ｂ】
2013130923.tif 000017
【図１０Ｃ】
2013130923.tif 000018
【図１１】
2013130923.tif 000019
【図１２】
2013130923.tif 000020
【図１３】
2013130923.tif 000021
【図１４】
2013130923.tif 000022
【図１５】
2013130923.tif 000023
【図１６】
2013130923.tif 000024