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