(57)【要約】【課題】情報処理装置の設定値を管理装置で一元管理しながら、情報処理装置側と管理装置側のどちらから設定値が変更された場合でも、設定値間での不整合の発生を防止すること。【解決手段】設定値管理サーバ１１０では、複合機や設定編集部３１１から設定値の変更要求があった場合、仮想設定更新部３０９が、前記変更要求された設定値の他の設定値に対する関係（ポリシー、連動仕様等）を設定値情報ＤＢ４１０で管理されるメタデータに基づいて判定し（Ｓ１００１、Ｓ７０４、Ｓ７０６）、該判定した関係に基づいて、変更要求に応じた仮想設定ＤＢ４１４で管理される設定値の更新処理を制御する（Ｓ１００２、Ｓ７０５、Ｓ７０７、Ｓ７０８）。【選択図】図１０Ａ
2016034084.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信可能に接続され、該情報処理装置の動作を決定する複数の設定値を管理する管理装置であって、
前記各設定値の値、及び、前記各設定値の管理情報を管理する管理手段と、
前記管理手段で管理される設定値の変更要求があった場合、前記変更要求された設定値の他の設定値に対する関係を前記管理情報に基づいて判定する判定手段と、
前記判定手段により判定された関係に基づいて、前記変更要求に応じた前記管理手段で管理される設定値の更新処理を制御する制御手段と、
を有することを特徴とする管理装置。
【請求項２】
前記設定値は、その設定値が複数の情報処理装置で同期される共通の設定値であるか、情報処理装置ごとの個別の設定値であるかを示す属性を有するものであり、
前記制御手段は、前記変更要求された設定値が、その設定値を変更する場合に連動して他の設定値を変更する連動元の設定値であると判定された場合、前記変更要求された設定値が前記共通の設定値であるか前記個別の設定値であるかに応じて、前記更新処理で変更する設定値を決定することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記制御手段は、前記変更要求された連動元の設定値が前記共通の設定値である場合には、前記変更要求された連動元の設定値、及び、該設定値に連動する連動先の設定値を変更することを特徴とする請求項２に記載の管理装置。
【請求項４】
前記制御手段は、前記変更要求された連動元の設定値が前記個別の設定値である場合には、前記変更要求された連動元の設定値、及び、該設定値に連動する連動先の設定値のうち前記個別の設定値を変更することを特徴とする請求項２に記載の管理装置。
【請求項５】
前記設定値は、その設定値が複数の情報処理装置で同期される共通の設定値であるか、情報処理装置ごとの個別の設定値であるかを示す属性を有するものであり、
前記制御手段は、前記変更要求された設定値が、他の設定値の変更に連動して変更される連動先の設定値であると判定された場合、前記変更要求に応じて該変更要求された連動先の設定値を変更した場合に不整合な状態となるか否かを判定し、不整合な状態となる場合には、前記変更要求された連動先の設定値を変更しないことを特徴とする請求項１に記載の管理装置。
【請求項６】
前記制御手段は、前記変更要求された設定値が、所定のルールに基づいて他の設定値の値を制御するか否かを管理する設定値であると判定された場合、前記変更要求された設定値を変更するとともに、該設定値により値の制御を管理される対象の設定値を前記所定のルールに基づいて変更することを特徴とする請求項１に記載の管理装置。
【請求項７】
前記設定値は、その設定値が所定のルールに基づいて値を制御されている状態であるか否かを示す属性を有するものであり、
前記制御手段は、前記変更要求された設定値が、所定のルールに基づいて値を制御されるか否かを他の設定値から管理される対象の設定値であって、前記所定のルールに基づいて値を制御されている状態である場合には、前記変更要求された設定値の変更を行わないことを特徴とする請求項１に記載の管理装置。
【請求項８】
前記管理手段で管理される設定値の変更を指示するための編集手段を有し、
前記設定値の変更要求は、前記情報処理装置又は前記編集手段から要求されることを特徴とする請求項１乃至７のいずれか１項に記載の管理装置。
【請求項９】
前記管理手段は、前記情報処理装置の構成情報も管理するものであり、
前記制御手段は、前記管理手段で管理される構成情報の変更要求があった場合、該変更要求に基づいて前記管理手段で管理される構成情報を変更するとともに、該変更した構成情報に影響される設定値の変更を要求することを特徴とする請求項１乃至８のいずれか１項に記載の管理装置。
【請求項１０】
前記管理情報は、前記各設定値を使用するための条件、及び、初期値を示す情報を含むものであり、
前記制御手段は、前記変更要求に応じて変更される設定値の変更後の値が、前記管理情報で設定されている条件を満たしていない場合には、前記管理情報で設定されている初期値で、該設定値を変更することを特徴とする請求項１乃至９のいずれか１項に記載の管理装置。
【請求項１１】
前記情報処理装置は、画像形成装置であることを特徴とする請求項１乃至１０のいずれか１項に記載の管理装置。
【請求項１２】
情報処理装置と、前記情報処理装置の動作を決定する複数の設定値を管理する管理装置とがネットワークを介して通信可能な管理システムであって、
前記管理装置は、
前記各設定値の値、及び、前記各設定値の管理情報を管理する管理手段と、
前記管理手段で管理される設定値の変更要求があった場合、前記変更要求された設定値の他の設定値に対する関係を前記管理情報に基づいて判定する判定手段と、
前記判定手段により判定された関係に基づいて、前記変更要求に応じた前記管理手段で管理される設定値の更新処理を制御する制御手段と、を有する、
ことを特徴とする管理システム。
【請求項１３】
情報処理装置と通信可能に接続され、該情報処理装置の動作を決定する複数の設定値を管理する管理装置の制御方法であって、
前記各設定値の値、及び、前記各設定値の管理情報を管理する管理手段で管理される設定値の変更要求があった場合、前記変更要求された設定値の他の設定値に対する関係を前記管理情報に基づいて判定する判定ステップと、
前記判定ステップにより判定された関係に基づいて、前記変更要求に応じた前記管理手段で管理される設定値の更新処理を制御する制御ステップと、
を有することを特徴とする管理装置の制御方法。
【請求項１４】
情報処理装置と、前記情報処理装置の動作を決定する複数の設定値を管理する管理装置とがネットワークを介して通信可能な管理システムの制御方法であって、
前記管理装置が実行する、
前記各設定値の値、及び、前記各設定値の管理情報を管理する管理手段で管理される設定値の変更要求があった場合、前記変更要求された設定値の他の設定値に対する関係を前記管理情報に基づいて判定する判定ステップと、
前記判定ステップにより判定された関係に基づいて、前記変更要求に応じた前記管理手段で管理される設定値の更新処理を制御する制御ステップと、を有する、
ことを特徴とする管理システムの制御方法。
【請求項１５】
コンピュータを、請求項１乃至１１のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、情報処理装置とネットワークを通じて接続される設定値管理サーバとの間で設定値を同期する技術に関する。
【背景技術】
【０００２】
複合機等の情報処理装置には、動作を切り替える設定値（コンフィギュレーションデータ）を記憶しているものが存在する。このような情報処理装置を複数台使用する環境では、各情報処理装置の設定値を個別に管理する必要があった。
この管理の手間を省くため、設定値を、ネットワーク接続されたサーバ等の他の情報処理装置（以下、サーバ）に保存して、情報処理装置毎に個別の設定値や、全ての情報処理装置で共通に使用する設定値を管理する技術がある。
また、サーバで一元管理している設定値を各情報処理装置に設定する様々な技術が存在する。
【０００３】
例えば、サーバで管理している設定値を、ネットワークを介して参照可能な場所に配置し、各情報処理装置がその設定値を参照することで設定値を管理する技術が存在する。他にも情報処理装置で設定値が変更された際に、変更内容をサーバに通知することで、サーバ側で情報処理装置側の設定値の変更を同期する技術が存在する（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の技術で情報処理装置の各設定値を管理する場合、該各設定値は情報処理装置かサーバのどちらか一方でしか変更できないため、設定値に応じて変更する場所を切り替える必要があり煩雑であった。
なお、各設定値を情報処理装置とサーバの双方で変更できるようにすると、どちらか一方で設定値を変更していた場合には起こり得なかった設定値の変更が行われ、各設定値が不整合状態になる可能性があった。
【０００６】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、情報処理装置の設定値を管理装置で一元管理しながら、情報処理装置と管理装置のどちらでも変更することができるようにしつつ、設定値が不整合となる状態の発生を防止することができる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、情報処理装置と通信可能に接続され、該情報処理装置の動作を決定する複数の設定値を管理する管理装置であって、前記各設定値の値、及び、前記各設定値の管理情報を管理する管理手段と、前記管理手段で管理される設定値の変更要求があった場合、前記変更要求された設定値の他の設定値に対する関係を前記管理情報に基づいて判定する判定手段と、前記判定手段により判定された関係に基づいて、前記変更要求に応じた前記管理手段で管理される設定値の更新処理を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、情報処理装置の設定値を管理装置で一元管理しながら、情報処理装置と管理装置のどちらでも変更することができるようにしつつ、設定値が不整合となる状態の発生を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の設定値同期システムの全体構成図
【図２】設定値管理サーバおよび複合機のハードウェア構成図
【図３】設定値管理サーバおよび複合機のソフトウェア構成図
【図４】設定値管理サーバで管理されるサーバ管理データの構成図
【図５】実施例１の複合機での設定値変更処理のフローチャート
【図６】実施例１の設定値管理サーバでの設定値変更処理のフローチャート
【図７Ａ】実施例１の仮想設定更新処理のフローチャート
【図７Ｂ】連動判定更新処理のフローチャート
【図７Ｃ】連動判定更新処理のフローチャート
【図８Ａ】デバイス構成情報変更処理のフローチャート
【図８Ｂ】ファーム関連設定更新処理のフローチャート
【図８Ｃ】構成関連設定更新処理のフローチャート
【図９Ａ】実施例３の複合機での設定値変更処理のフローチャート
【図９Ｂ】実施例３の設定値管理サーバでの設定値変更処理のフローチャート
【図１０Ａ】実施例３の仮想設定更新処理のフローチャート
【図１０Ｂ】ポリシー制御処理のフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。実施の形態では、情報処理装置の一例として複合機を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態に説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例１】
【００１１】
図１は、本発明の一実施例を示す設定値同期システムの全体構成を例示するシステム構成図である。
図１に示すように、本発明の設定値同期システムでは、設定値管理サーバ１１０と、複数の複合機１２０，１２１が、ＬＡＮやインターネット等のネットワーク１００を介して接続されている。
【００１２】
設定値管理サーバ１１０は、複合機１２０や複合機１２１の設定値を、仮想デバイス設定として管理している。設定値管理サーバ１１０は、仮想デバイス設定に変更があった場合、複合機１２０、複合機１２１からネットワーク１００を介して変更差分取得要求を受け付けた際に、その複合機に対して、その複合機内の設定値との差分を通知する。また、設定値管理サーバ１１０は、複合機１２０、複合機１２１から設定値の変更情報を受信した場合には、該変更情報に基づいて自身が管理する仮想デバイス設定の値を変更する。
【００１３】
複合機１２０は、複数種類の機能、例えばコピーやＦＡＸ等を実現する画像形成装置等の情報処理装置であり、内部にそれらの機能を実行するときに利用する設定値を記憶している。複合機１２０は、自身の設定値に変更があった場合は、設定値管理サーバ１１０にネットワーク１００を介して変更情報を通知する。また、複合機１２０は、設定値管理サーバ１１０に仮想デバイス設定の変更差分取得要求を送信して設定値管理サーバ１１０から自身の設定値との差分を取得し、該取得した差分で自身の設定値の値を変更する。
【００１４】
なお、ここでは、自身の設定値を設定値管理サーバ１１０と同期する情報処理装置として、複合機（ＭＦＰ；ＭｕｌｔｉＦｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）を用いて説明する。しかし、設定値管理サーバ１１０と同期する情報処理装置は、自身の機能の実行時に利用する設定値を記憶し、ネットワークを介して設定値管理サーバ１１０と通信可能な機器であればどのような機器であってもよい。例えば、パーソナルコンピュータやネットワーク家電等であってもよい。
【００１５】
なお、設定値によっては、複合機１２０、複合機１２１間のような複数の複合機間で値の同期を行うものも存在する。それらの設定値に関しては、設定値管理サーバ１１０上の仮想デバイス設定に変更があった場合は、複合機１２０、複合機１２１両方に設定値の変更情報が通知される。また、複合機１２０、複合機１２１どちらかの設定値に変更があった場合は、初めに、設定値管理サーバ１１０に変更情報が通知され、その後、設定値管理サーバ１１０経由で他方の複合機にも変更情報が通知される。なお、複合機等の情報処理装置は、３つ以上であってもよい。
【００１６】
以上示したように、本実施例の設定値同期システムは、複数の情報処理装置と、前記複数の情報処理装置の動作を決定する複数の設定値を管理する管理装置とがネットワークを介して通信可能な設定値の管理システムである。
なお、設定値管理サーバ１１０、複合機１２０，１２１についての詳細な説明は後述する。その際、複合機１２０を例に説明するが、複合機１２１も複合機１２０と同様の構成を有するものとする。
【００１７】
図２は、設定値管理サーバ１１０及び複合機１２０のハードウェア構成を例示するブロック図である。
まず、設定値管理サーバ１１０について説明する。
設定値管理サーバ１１０は、コントローラユニット２００、操作部２０９、表示部２１０を有する。コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）２０１を有している。ＣＰＵ２０１は、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）２０２に格納されているブートプログラムによりＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）２０４に格納されるＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）を起動する。ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ２０４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０１の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）２０３が用いられる。ＨＤＤ２０４は、上記アプリケーションプログラムと複合機１２０の設定値の仮想デバイス設定等を格納する。仮想デバイス設定の管理方法に関する詳細については後述する。
【００１８】
ＣＰＵ２０１には、システムバス２０８を介して、ＲＯＭ２０２およびＲＡＭ２０３とともに、操作部Ｉ／Ｆ２０５、表示部Ｉ／Ｆ２０６、Ｎｅｔｗｏｒｋ２０７等が接続される。操作部Ｉ／Ｆ２０５は、マウス、キーボード等から成る操作部２０９とのインタフェースであり、操作部２０９によってユーザにより入力された情報をＣＰＵ２０１に送出する。表示部Ｉ／Ｆ２０６は、ディスプレイ等から成る表示部２１０に表示すべき画像データを表示部２１０に対して出力する。また、Ｎｅｔｗｏｒｋ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行うネットワークインタフェースである。
【００１９】
次に、複合機１２０について説明する。
複合機１２０は、コントローラユニット２２０、操作部２３０、スキャナ２３１、プリンタ２３２を有する。コントローラユニット２２０には、操作部２３０が接続されるとともに、画像入力デバイスであるスキャナ２３１や画像出力デバイスであるプリンタ２３２が接続される。
【００２０】
コントローラユニット２２０は、ＣＰＵ２２１を有している。ＣＰＵ２２１は、ＲＯＭ２２２に格納されているブートプログラムによりＨＤＤ２２４に格納されているＯＳを起動する。ＣＰＵ２２１は、このＯＳ上で、ＨＤＤ２２４に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２２１の作業領域としてはＲＡＭ２２３が用いられる。また、ＲＡＭ２２３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２２４は、上記アプリケーションプログラムや画像データ、各種設定値を格納する。複合機１２０における設定値の管理方法については後述する。
【００２１】
ＣＰＵ２２１には、システムバス２２９を介して、ＲＯＭ２２２およびＲＡＭ２２３とともに、操作部Ｉ／Ｆ２２６、デバイスＩ／Ｆ２２８、Ｎｅｔｗｏｒｋ２２５、画像処理部２２７等が接続される。操作部Ｉ／Ｆ２２６は、タッチパネルを有する操作部２３０とのインタフェースであり、操作部２３０に表示すべき画像データを操作部２３０に対して出力する。また、操作部Ｉ／Ｆ２２６は、操作部２３０によってユーザにより入力された情報をＣＰＵ２２１に送出する。デバイスＩ／Ｆ２２８には、スキャナ２３１およびプリンタ２３２が接続され、デバイスＩ／Ｆ２２８は、画像データの同期系／非同期系の変換を行う。Ｎｅｔｗｏｒｋ２２５は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行うネットワークインタフェースである。画像処理部２２７では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
【００２２】
図３は、設定値管理サーバ１１０及び複合機１２０のソフトウェア構成を例示するブロック図である。
まず、複合機１２０が備える各機能部について説明する。
複合機１２０が備える各機能部は、図２に示した複合機のＣＰＵ２２１がＲＯＭ２２２に格納された複合機ファームウェア３２０を読み出して実行することにより実現されるものである。
【００２３】
デバイス設定値保持部３２３は、複合機１２０の動作を切り替える設定値（コンフィギュレーションデータ）をデバイス設定値ＤＢとしてＨＤＤ２２４に保持する。複合機１２０は、デバイス設定値保持部３２３によって保持された設定値に基づいて動作の振る舞いを切り替える。デバイス設定値ＤＢに保持される設定値の例は、表７を用いて後述する。
【００２４】
デバイス設定値管理部３２２は、デバイス設定値保持部３２３が保持する設定値の取得、更新を管理する。デバイス設定値管理部３２２は、複合機１２０内の図示しない手段から設定値の取得要求を受け付けた場合、デバイス設定値保持部３２３より該当の設定値を取得し返却する。また、デバイス設定値管理部３２２は、設定値の変更要求を受け付けた場合、デバイス設定値保持部３２３より該当する設定値を更新するとともに、デバイス設定値通信部３２１を用いて変更する設定値の少なくとも設定値識別子と値を、設定値管理サーバ１１０に通知する。また、デバイス設定値管理部３２２は、デバイス設定値通信部３２１が設定値管理サーバ１１０から設定値を取得した場合に、デバイス設定値保持部３２３を用いて取得した設定値をデバイス設定値ＤＢに格納する。
【００２５】
デバイス設定値通信部３２１は、設定値管理サーバ１１０と複合機１２０の設定値に関連する情報を通信する手段である。デバイス設定値通信部３２１は、同期制御部３２４から、設定値管理サーバ１１０より変更された設定値を取得するように依頼を受けた場合に、設定値取得要求を設定値管理サーバ１１０に通知する。また、デバイス設定値通信部３２１は、デバイス設定値管理部３２２から、設定値更新の依頼を受けた場合に、設定値更新要求を設定値管理サーバ１１０に通知する。
【００２６】
デバイス識別子保持部３２８は、設定値管理サーバ１１０が複合機１２０の個体を一意に特定するための個体識別子をＨＤＤ２２４に保持する。複合機１２０は、設定値管理サーバ１１０と通信する際に、デバイス識別子保持部３２８によって保持されている個体識別子を使用し、個体を特定する。
【００２７】
同期制御部３２４は、設定値管理サーバ１１０との間で設定値の同期を制御する手段である。同期制御部３２４は、設定値管理サーバ１１０に複合機１２０の情報を同期すべきタイミングを判断し、デバイス設定値通信部３２１と、デバイス構成情報通信部３２６を呼び出す。各通信部を呼び出す際には、同期制御部３２４は、デバイス識別子保持部３２８より、個体識別子を取得し受け渡す。同期制御部３２４が、各通信部を呼び出すタイミングは、一定時間毎でもかまわないし、デバイス動作（デバイス起動時や、スリープ移行、スリープ復帰時、ユーザにより設定された時刻など）に応じたタイミングでもかまわない。例えば、同期制御部３２４は、デバイスが起動したとき、デバイス構成情報通信部３２６にデバイス構成情報の更新を依頼し、起動後は定期的にデバイス設定値通信部３２１に複合機１２０の設定値の更新差分を取得する依頼をするなどの制御を行う。
【００２８】
デバイス構成情報収集部３２７は、複合機１２０のデバイス構成情報を収集し、ＲＡＭ２２３もしくはＨＤＤ２２４等に格納する。デバイス構成情報収集部３２７が収集するデバイス構成情報は、機種を識別するための機種コードや、ファームウェアバージョン、アクセサリ構成、ソフトウェアライセンスなどが挙げられるが、これらに限定されるものではない。このデバイス構成情報は、後述する構成情報ＤＢ４１５（図４）に格納されるデバイス構成情報と同一の体系をもつ情報である
【００２９】
デバイス構成情報通信部３２６は、設定値管理サーバ１１０とデバイス構成情報に関連する情報を通信する手段である。デバイス構成情報通信部３２６は、同期制御部３２４から構成情報更新の依頼を受けた場合に、デバイス構成情報収集部３２７を呼び出し、デバイス構成情報を収集し、収集した情報を個体識別子とともに設定値管理サーバ１１０に通知する。
なお、ポリシー制御部３２５については、後述する実施例３で説明する。
【００３０】
次に、設定値管理サーバ１１０が備える設定値管理サービス３００の各機能部について説明する。
設定値管理サービス３００は、複合機１２０、１２１の設定値を管理する機能を提供するサービスであり、本実施例では設定値管理サーバ１１０で提供される例を示す。なお、図３では設定値管理サーバ１１０と複合機１２０が接続される構成を示しているが、これに限定するものではない。例えば、ある複合機にて設定値管理サービス３００を提供し、その複合機に別の複合機１２０を接続してもかまわない。
【００３１】
以下、設定値管理サービス３００の各機能部を説明する。各機能部で保持するデータベースの詳細については、表１〜表６を用いて詳細に後述するため、ここでは省略する。
設定値管理サーバ１１０が備える各機能部は、図２に示した設定値管理サーバ１１０のＣＰＵ２０１がＨＤＤ２０４に格納された設定値管理サービス３００に対応するプログラムを読み出して実行することにより実現されるものである。
【００３２】
設定値情報保持部３０２は、設定値情報ＤＢ４１０（図４）をＨＤＤ２０４に格納する。
設定値情報取得部３０３は、設定値情報保持部３０２が格納している設定値情報ＤＢ４１０より、機種やバージョンを指定してその機種用の設定項目を取得できる。また、設定値情報取得部３０３は、設定値識別子を指定して、その設定値識別子に設定されているメタデータを取得することができる。
【００３３】
設定値情報更新部３０１は、設定値情報保持部３０２が格納している設定値情報ＤＢ４１０を更新する。設定値情報ＤＢ４１０には、機種／バージョンの情報が含まれるため、例えば、管理する機種が追加された場合や、ファームウェアのバージョンが更新された場合に、設定値情報ＤＢ４１０を更新する必要がある。
【００３４】
共通設定保持部３０７は、共通設定ＤＢ４１１（図４）をＨＤＤ２０４に格納する。
共通設定更新部３０６は、設定値識別子を指定し、共通設定保持部３０７が格納している共通設定ＤＢ４１１の設定値の設定タイプと値を更新する。なお、共通設定更新部３０６は、設定値を更新した場合には、設定値を更新した時刻で最終更新日時を更新する。また、共通設定更新部３０６は、共通設定ＤＢ４１１を更新すると同時に、登録デバイス管理ＤＢ４１２（図４）で管理している全ての複合機に対して設定値の更新を行うために、仮想設定更新部３０９に設定更新を依頼する。
【００３５】
仮想設定保持部３０８は、仮想デバイスＤＢ４１３（図４）をＨＤＤ２０４に格納する。仮想デバイスＤＢ４１３は、設定値管理サーバ１１０が管理する複合機の数だけ存在する。なお、仮想デバイスＤＢ４１３は、後述する図４に示すように、仮想設定ＤＢ４１４と、構成情報ＤＢ４１５等から構成される。
【００３６】
仮想設定更新部３０９は、仮想デバイスの設定更新の要求を受け付けた場合に、仮想設定保持部３０８が格納している仮想デバイスＤＢ４１３を更新する。仮想デバイスの設定更新の要求には、複合機１２０から設定更新通知もしくは構成情報更新通知を受け付けたデバイス通信部３１０からの要求、共通設定ＤＢ４１１を更新した共通設定更新部３０６からの要求、設定編集部３１１からの要求等がある。仮想設定更新部３０９は、受け付けた要求の内容に応じて、対応する仮想デバイスＤＢ４１３内の仮想設定ＤＢ４１４もしくは構成情報ＤＢ４１５を更新する。
【００３７】
デバイス通信部３１０は、複合機１２０から受け付けた通信の内容に含まれる個体識別子を元に、デバイス識別部３０５を呼び出し、個体識別子に対応する仮想デバイスＤＢ４１３を特定する。そして、デバイス通信部３１０は、該特定した仮想デバイスＤＢ４１３を指定して、仮想設定更新部３０９に対して受け付けた通信内容を通知し、更新を依頼する。
【００３８】
登録デバイス管理情報保持部３０４は、登録デバイス管理ＤＢ４１２（図４）をＨＤＤ２０４に格納する。
デバイス識別部３０５は、個体識別子を受け付けて、登録デバイス管理情報保持部３０４が格納している登録デバイス管理ＤＢ４１２からデバイスＩＤを特定することで、デバイスを識別する。
【００３９】
設定編集部３１１は、設定値管理サービス３００が保持している各設定値ＤＢを更新する手段である。本実施例では、設定編集部３１１から、共通設定ＤＢ４１１もしくは特定の仮想デバイスＤＢ４１３内の仮想設定ＤＢ４１４を選択する。そして、設定編集部３１１は、該選択したＤＢに含まれる設定値の編集を対応し、共通設定更新部３０６もしくは仮想設定更新部３０９に指示する。
【００４０】
設定閲覧部３１２は、設定値管理サービス３００が保持している各設定値ＤＢを閲覧する手段である。本実施例では、設定閲覧部３１２から、共通設定ＤＢ４１１もしくは特定の仮想デバイスＤＢ４１３内の仮想設定ＤＢ４１４を選択し、選択したＤＢに含まれる設定値を閲覧できる。
なお、仮想ポリシー制御部３１３については、後述する実施例３で説明する。
以上説明した各設定値の同期処理は、設定値管理サーバ１１０のＮｅｔｗｏｒｋ２０７と、複合機１２０のＮｅｔｗｏｒｋ２０７とがネットワーク１００を介して通信することで行われる。
【００４１】
図４は、設定値管理サーバ１１０で管理されるデータの構成を例示する図である。
サーバ管理データ４０１は、管理データと、デバイスに関する設定値とから構成される。管理データは、設定値情報ＤＢ４１０と、登録デバイス管理ＤＢ４１２により記憶管理される。デバイスに関する設定値は、共通設定ＤＢ４１１と、仮想デバイスＤＢ４１３により記憶管理される。上述したように、仮想デバイスＤＢ４１３は、仮想設定ＤＢ４１４と、構成情報ＤＢ４１５等から構成される。仮想デバイスＤＢ４１３は、設定値管理サーバ１１０が設定値を管理する複合機と対応づけられている。そのため、仮想デバイスＤＢ４１３は、設定値管理サーバ１１０が設定値を管理する複合機の数だけ存在する。
【００４２】
【表１】
2016034084.tif 000003
【００４３】
表１は、設定値情報ＤＢ４１０に格納されるデータを説明するための表である。
設定値情報ＤＢ４１０は、設定値管理サーバ１１０で管理する各設定値に関するメタデータ（各設定値についてのデータ）を格納するデータベースである。設定値情報ＤＢ４１０には、複合機１２０と通信を行う際に設定値を識別するための設定値識別子、初期値、値域、適応機種／バージョン、設定値を使用するための条件、ポリシー、連動仕様等の情報（設定値の管理情報）が格納される。
【００４４】
なお、設定値情報ＤＢ４１０で管理する各設定値は、複合機１２０の機種やファームウェアのバージョンに依存して、設定値が存在するかどうか・設定値の値域や初期値が異なることがある。
【００４５】
例えば、表１では、設定値識別子が"ｓｅｔｔｉｎｇｓ．ｃｏｍｍｏｎ．ｓｌｅｅｐ＿ｔｉｍｅ"で表される設定値は、適応機種／バージョンが"共通"となっており、全ての個体に存在していることを表している。
また、設定値識別子が"ｓｅｔｔｉｎｇｓ．ｐｒｉｎｔ．ｄｅｎｓｉｔｙ"で表される設定値は、適応機種／バージョンに示されるように、機種Ｂではインストールされているファームウェアのバージョン（Ｖ０２．００以前・Ｖ０２．００以降）により設定値の値域や初期値が異なることを表している。
【００４６】
条件が設定された設定値は、デバイス構成情報を元に条件を満たしているか判定される項目である。
例えば、表１では、設定値識別子が"ｓｅｔｔｉｎｇｓ．ｓｅｎｄ．ｃｏｍｐｒｅｓｓ＿ｒａｔｉｏ"で表される設定値は、条件として"送信ライセンス"をもつデバイスでのみで使用できることを表している。本実施例では、条件を満たしていない場合は、初期値として設定する例で説明する例を示すが、条件が満たされていない設定値は、非表示とするか、初期値として設定するか、設定項目自体をもたないか等の処理を行ってもかまわない。
【００４７】
なお、設定値情報ＤＢ４１０で管理する情報には、ポリシー、連動仕様等のように、ある設定値と他の設定値との関係を設定する情報が含まれる。なお、ポリシーについては、後述する実施例３で詳細に説明し、ここでは、連動仕様について説明する。
【００４８】
連動仕様が設定された設定値は、当該設定値を変更する場合に連動して他の設定値を変更する設定値（元設定値）、もしくは当該設定値は他の設定値の変更に連動して変更される設定値（連動設定値）である。即ち、元設定値は、連動設定値を連動する設定値であり、連動設定値は、元設定値に連動される設定値である。元設定値と連動設定値との関係は、連動元と連動先の関係となる。連動仕様が"有"で表される設定値は、元設定値となり、連動仕様が"連動"で表される設定値は、連動設定値となる。
【００４９】
表１の例では、設定値識別子が"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ａｕｔｈ＿ｍｏｄｅ"で表される設定値が変更された場合、連動して他の設定値を変更することになる。また、設定値識別子が"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｐｅｒｓｏｎａｌｉｚｅ"や"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｉｎｉｔｉａｌ＿ｓｃｒｅｅｎ"で表される設定値は、他の設定値が変更された場合に、連動して変更されることになる。なお、連動仕様に関しては表２を用いて説明する。
【００５０】
【表２】
2016034084.tif 000004
【００５１】
表２は、設定値情報ＤＢ４１０の連動仕様部分を抜き出した表である。
連動仕様は、元設定値識別子と、値と、連動設定値識別子と、連動値と、変更可否等の項目から構成される。元設定値識別子で表される設定値が変更された場合、その変更する値から、連動する設定値識別子と連動して変更する値が決定する。表２の例では、設定値識別子"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ａｕｔｈ＿ｍｏｄｅ"で表される設定値が"ＯＦＦ"に変更された場合、連動設定値識別子"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｉｎｉｔｉａｌ＿ｓｃｒｅｅｎ"及び"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｐｅｒｓｏｎａｌｉｚｅ"が連動値である"ＯＦＦ"に設定される。
【００５２】
変更可否は、"不可"の場合には、元設定値識別子が表の値の場合、連動する設定値識別子の値を変更することができず、変更可否が"可"の場合には、連動する設定値識別子の値を変更することができることを表している。表２の例では、元設定値識別子"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ａｕｔｈ＿ｍｏｄｅ"の値が"ＯＦＦ"の場合、連動設定値識別子"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｉｎｉｔｉａｌ＿ｓｃｒｅｅｎ"及び"ｓｅｔｔｉｎｇｓ．ａｕｔｈ．ｐｅｒｓｏｎａｌｉｚｅ"の設定値は変更できない。
【００５３】
【表３】
2016034084.tif 000005
【００５４】
表３は、共通設定ＤＢ４１１に格納されるデータを説明するための表である。
共通設定ＤＢ４１１は、設定値管理サーバ１１０によって設定値を管理する複数の複合機１２０の全てで値を共有して同期している設定値を管理するデータベースである。設定値情報ＤＢ４１０に格納されている設定値識別子毎に、デバイス共通で設定値を管理するか、デバイス個別に設定値を管理するかを設定することができる。その設定状態は、「設定タイプ」で表され、設定タイプが"共通"の場合にはデバイス共通管理、"個別"の場合にはデバイス個別管理を行う設定値であることを表している。
【００５５】
共通設定ＤＢ４１１は、設定値情報ＤＢ４１０で管理される全ての設定値識別子を保持し、各設定値識別子に、設定タイプと、設定タイプが"共通"の場合には対応する値と、設定値の最終の更新日時が格納される。なお、設定タイプが"個別"の場合には、対応する値と更新日時は格納しない。
なお、共通設定ＤＢ４１１の設定値識別子は、設定値情報ＤＢ４１０で管理される設定値識別子と同一の体系をもつ識別子である。
【００５６】
【表４】
2016034084.tif 000006
【００５７】
表４は、登録デバイス管理ＤＢ４１２に格納されるデータを説明するための表である。
登録デバイス管理ＤＢ４１２は、設定値管理サーバ１１０によって設定値を管理する複合機１２０の個体を管理するデータベースである。登録デバイス管理ＤＢ４１２には、同期する複合機１２０を一意に識別するためのデバイスＩＤや、複合機１２０の個体を識別する個体識別子等が格納される。
【００５８】
【表５】
2016034084.tif 000007
【００５９】
表５は、仮想デバイスＤＢ４１３内の仮想設定ＤＢ４１４に格納されるデータ説明するための表である。
仮想設定ＤＢ４１４は、設定値管理サーバ１１０によって管理される複数の複合機の各々で値が異なる設定値を管理するデータベースである。なお、仮想設定ＤＢ４１４は、複合機の個体に対応して、設定値管理サーバ１１０によって管理される複合機の数だけ存在するものとする。
【００６０】
仮想設定ＤＢ４１４は、共通設定ＤＢ４１１において設定タイプが"共通"となっている設定値識別子を格納した共通設定部分と、設定タイプが"個別"となっている設定値識別子を格納した個別設定部分とから構成される。
共通設定部分、個別設定部分には、それぞれの設定値識別子に対応する値、ポリシー制御、設定値の最終更新日時が格納される。
なお、仮想設定ＤＢ４１４の設定値識別子は、設定値情報ＤＢ４１０で管理される設定値識別子と同一の体系をもつ識別子である。また、ポリシー制御については、後述する実施例３で説明する。
【００６１】
【表６】
2016034084.tif 000008
【００６２】
表６は、仮想デバイスＤＢ４１３内の構成情報ＤＢ４１５で管理される複合機の個体毎のデバイス構成情報の内容を説明するための表である。
構成情報ＤＢ４１５は、このデバイス構成情報を格納・管理するデータベースである。このデバイス構成情報は、複合機の個体を識別する個体識別子、機種名、ファームウェアのバージョン、利用可能な機能を表すライセンス情報、取り付けられているアクセサリの情報、個体が同期しているか一時停止中かを表す同期稼働状態などを含む。構成情報ＤＢ４１５は、複合機の個体に対応して、設定値管理サーバ１１０によって管理される複合機の数だけ存在するものとする。
なお、仮想デバイスＤＢ４１３の機種名、ファームウェアのバージョン、ライセンス等は、設定値情報ＤＢ４１０で管理されているものと同一の体系をもつ。
【００６３】
設定値管理サーバ１１０は、上述したサーバ管理データ４０１の各データベースを利用して、管理対象の複合機１２０の各々で異なる設定値を管理する。また、設定値管理サーバ１１０は、併せて管理対象の複合機全てで共通の設定値、および各設定値そのもののメタデータを一括管理することが可能である。
【００６４】
【表７】
2016034084.tif 000009
【００６５】
表７は、複合機１２０のデバイス設定値保持部３２３がＨＤＤ２２４に格納するデバイス設定値ＤＢの構成を説明するための表である。
デバイス設定値ＤＢは、複合機１２０で使用する設定値を格納するデータベースである。デバイス設定値ＤＢに格納される設定値は、設定値を識別するための設定値識別子、設定値の値、ポリシー制御、更新時刻、初期値、値域、条件、ポリシー、連動仕様等の要素から構成される。なお、これらの要素は、仮想設定ＤＢ４１４で管理されているものと同一の体系で管理されるものである。即ち、表７の連動仕様にも、表２で示したような情報が格納されている。
【００６６】
設定値管理サーバ１１０もしくは複合機１２０において設定値が変更された場合には、表７に示されるデータのうち少なくとも設定値識別子および値を通信することにより、設定値管理サーバ１１０と複合機１２０で設定値を同期する。
なお、上述した各表に示されるデータはあくまで一例であり、本発明は、これに限定されるものではない。
【００６７】
以下、複合機１２０もしくは、設定値管理サーバ１１０で設定値が変更される場合の処理について説明する。
図５（Ａ）は、実施例１において、複合機１２０でデバイス設定値が変更された場合に実行される処理を例示するフローチャートである。図５（Ａ）フローチャートの各ステップは、複合機１２０が備えるＣＰＵ２２１がＲＯＭ２２２等のメモリに格納されたプログラムをＲＡＭ２２３に展開して実行することによって実現されるものである。なお、図５（Ａ）のフローチャートは、デバイス設定値管理部３２２が、設定値の変更を受け付け、デバイス設定値ＤＢに登録するとともに設定値管理サーバ１１０に通知するまでの処理を記載したものである。また、このフローチャートは、デバイス設定値管理部３２２が、設定値変更を受け付けた時点から処理を開始する。
【００６８】
ステップＳ５０１において、デバイス設定値管理部３２２は、設定値の変更要求を受け付け、要求内容を読み出し、Ｓ５０２へ処理を移行する。
Ｓ５０２では、デバイス設定値管理部３２２は、デバイス設定値保持部３２３から、上記Ｓ５０１で変更要求を受け付けた設定値に関する設定値情報を取得し、Ｓ５０３へ処理を移行する。
【００６９】
Ｓ５０３では、デバイス設定値管理部３２２は、上記要求された設定値の変更を、デバイス設定値保持部３２３を介してデバイス設定値ＤＢに登録する。該登録が完了したら、デバイス設定値管理部３２２は、Ｓ５０４へ処理を移行する。
【００７０】
Ｓ５０４では、デバイス設定値管理部３２２は、上記Ｓ５０１で変更要求を受けた設定値に連動する設定があるか否か、上記Ｓ５０２で取得した設定値情報から判定する。
そして、連動する設定がないと判定した場合（Ｓ５０４でＮｏの場合）、デバイス設定値管理部３２２は、そのままＳ５０６へ処理を移行する。
【００７１】
一方、上記Ｓ５０４において、連動する設定があると判定した場合（Ｓ５０４でＹｅｓの場合）、デバイス設定値管理部３２２は、Ｓ５０５へ処理を移行する。
Ｓ５０５では、デバイス設定値管理部３２２は、上記Ｓ５０１で変更要求を受け付けた設定値の変更に連動して変更される設定値の変更を、デバイス設定値保持部３２３を介してデバイス設定値ＤＢに登録する。該登録が完了したら、デバイス設定値管理部３２２は、Ｓ５０６へ処理を移行する。
【００７２】
Ｓ５０６では、デバイス設定値管理部３２２は、デバイス設定値通信部３２１に本フローチャート内の処理で変更した設定値識別子と値を、設定値管理サーバ１１０に通知する依頼を行う。この依頼に応じて、デバイス設定値通信部３２１は、同期制御部３２４から個体識別子を取得し、取得した個体識別子と受け付けた設定値識別子と値を含む変更された設定値の情報をから構成される設定変更内容を、設定値管理サーバ１１０に通知し、Ｓ５０７へ遷移する。
【００７３】
Ｓ５０７では、デバイス設定値管理部３２２は、デバイス設定値保持部３２３に対して、上記Ｓ５０３及びＳ５０５においてデバイス設定値ＤＢに登録した設定値変更を確定させ、ＤＢを更新する指示を行う。ＤＢの更新を終えたら、本フローチャートの処理を終了する。
【００７４】
図５（Ｂ）は、複合機１２０から設定変更内容の通知を受け付けた場合に、設定値管理サーバ１１０が実行する処理を例示するフローチャートである。図５（Ｂ）のフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することにより実現されるものである。なお、図５（Ｂ）のフローチャートは、デバイス通信部３１０が、複合機１２０からの通信を受け付け、仮想デバイス設定を更新するまでの処理を記載したものである。また、このフローチャートは、デバイス通信部３１０が、複合機１２０から通信を受け付けた時点から処理を開始する。
【００７５】
ステップＳ５１１において、デバイス通信部３１０は、複合機１２０から設定値変更内容の通知を受信し、該受信した設定値変更内容から、個体識別子、設定値識別子と値を抜き出し、Ｓ５１２へ処理を移行する。
【００７６】
Ｓ５１２では、デバイス通信部３１０は、上記Ｓ５１１で抜き出した個体識別子をデバイス識別部３０５に通知し、上記Ｓ５１１で受け付けた個体識別子が、登録デバイス管理ＤＢ４１２に存在するか否かを判定する。そして、登録デバイス管理ＤＢ４１２に個体識別子が存在すると判定した場合には、デバイス通信部３１０は、個体識別子から対象の仮想デバイスＤＢ４１３を特定する。そして、デバイス通信部３１０は、上記特定した仮想デバイスＤＢ４１３の指定、及び、上記Ｓ５１１で抜き出した設定値識別子と値を、仮想設定更新部３０９に通知することで設定値の変更を要求し、Ｓ５１３に遷移する。
【００７７】
Ｓ５１３では、仮想設定更新部３０９が、上記通知された設定値識別子と値で、上記指定された仮想デバイスＤＢ４１３を対象とする仮想設定更新処理を実行する。仮想設定更新処理の詳細は図７Ａを用いて後述する。そして、該仮想設定更新処理が終了すると、本フローチャートの処理を終了する。
【００７８】
図６は、実施例１において、設定値管理サーバ１１０で設定編集処理を受け付けた場合に実行する処理を例示するフローチャートである。図６のフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図６のフローチャートは、設定編集部３１１が、設定値の編集を受け付けて受け付けた内容をサーバ管理データに登録するまでの処理を記載したものである。このフローチャートは、設定編集部３１１が、設定値編集要求を受け付けた時点から処理を開始する。
【００７９】
ステップＳ６０１において、設定編集部３１１は、編集により変更した設定値の設定値識別子と値を設定変更内容として受け付け、Ｓ６０２に処理を移行する。
Ｓ６０２では、設定編集部３１１は、上記Ｓ６０１で受け付けた変更した設定値の設定タイプが"共通"設定か"個別"設定かを、共通設定保持部３０７に確認して判定する。
そして、変更した設定値の設定タイプが"共通"設定であると判定した場合（Ｓ６０２でＹｅｓの場合）、設定編集部３１１は、Ｓ６０３へ処理を移行する。
【００８０】
Ｓ６０３では、設定編集部３１１は、共通設定更新部３０６に変更を受け付けた設定値の設定値識別子と値を通知する。共通設定更新部３０６は、該通知された設定値を、共通設定保持部３０７を通じて共通設定ＤＢ４１１に登録し、Ｓ６０４に処理を移行する。
【００８１】
Ｓ６０４では、共通設定更新部３０６は、デバイス識別部３０５を介して登録デバイス管理情報保持部３０４から、設定値管理サーバ１１０で管理している仮想デバイスＤＢ４１３のリストを取得し、上記変更を受け付けた設定値の変更内容について未登録の仮想デバイスＤＢ４１３が存在するか否かを判定する。
そして、未登録の仮想デバイスＤＢ４１３が存在すると判定した場合（Ｓ６０４でＹｅｓの場合）、共通設定更新部３０６は、Ｓ６０５に処理を移行する。
【００８２】
Ｓ６０５では、共通設定更新部３０６は、上記Ｓ６０４で取得した仮想デバイスＤＢ４１３のリストから、未登録の仮想デバイスＤＢ４１３を１つ、対象の仮想デバイスＤＢ４１３として特定する。そして、共通設定更新部３０６は、該特定した対象の仮想デバイスＤＢ４１３の指定、及び、上記変更を受け付けた設定値の設定値識別子と値を、仮想設定更新部３０９に通知し、Ｓ６０６に遷移する。
【００８３】
Ｓ６０６では、仮想設定更新部３０９が、上記通知された設定値識別子と値で、上記指定された仮想デバイスＤＢ４１３を対象とする仮想設定更新処理を実行する。仮想設定更新処理の詳細は図７Ａを用いて後述する。そして、仮想設定更新処理が終了すると、Ｓ６０４に処理を遷移する。
【００８４】
そして、上記Ｓ６０４において、未登録の仮想デバイスＤＢ４１３が存在しないと判定した場合（Ｓ６０４でＮｏの場合）、共通設定更新部３０６は、本フローチャートの処理を終了する。
【００８５】
また、上記Ｓ６０２において、上記Ｓ６０１で変更を受け付けた設定値の設定タイプが"個別"設定であると判定した場合（Ｓ６０２でＮｏの場合）、設定編集部３１１は、Ｓ６０７へ処理を移行する。
【００８６】
Ｓ６０７では、設定編集部３１１は、上記Ｓ６０１で変更を受け付けた設定値が何れの仮想デバイスＤＢ４１３への変更であるかデバイス識別部３０５に問い合わせ、対象となる仮想デバイスＤＢ４１３を特定する。そして、設定編集部３１１は、該特定した対象の仮想デバイスＤＢ４１３の指定、及び、上記変更を受け付けた設定値の設定値識別子と値を、仮想設定更新部３０９に通知し、Ｓ６０８に遷移する。
【００８７】
Ｓ６０８では、仮想設定更新部３０９が、上記通知された設定値識別子と値で、上記指定された仮想デバイスＤＢ４１３を対象とする仮想設定更新処理を実行する。仮想設定更新処理の詳細は図７Ａを用いて後述する。そして、該仮想設定更新処理が終了すると、本フローチャートの処理を終了する。
【００８８】
図７Ａは、実施例１における、仮想設定更新部３０９が、更新する設定の設定値識別子と値を受け付けて実行する仮想設定更新処理を例示するフローチャートである。図７Ａのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、このフローチャートの処理は、仮想設定更新部３０９が、設定更新要求を受け付けてから、仮想デバイスＤＢ４１３を更新するまでの処理を記載したものである。また、このフローチャートは、仮想設定更新部３０９が、変更すべき設定値の設定値識別子と値を受け付けた時点から処理を開始する。
【００８９】
ステップＳ７０１において、仮想設定更新部３０９は、デバイス通信部３１０、共通設定更新部３０６、又は設定編集部３１１等から受け付けた設定値識別子に対応付いたメタデータを、設定値情報取得部３０３から取得し、Ｓ７０２に処理を移行する。
Ｓ７０２では、仮想設定更新部３０９は、仮想設定保持部３０８を介して対象の仮想デバイスＤＢ４１３の構成情報ＤＢ４１５から、対応する複合機のデバイス構成情報を取得し、該取得したデバイス構成情報、及び、設定値の変更後の値が上記Ｓ７０１で取得したメタデータの条件を満たしているか否かを判定する。なお、ここでは、デバイス構成情報が上記メタデータの「条件」及び「機種／バージョン」を満たし、且つ、更新する設定値の値が「値域」を満たしている場合に、条件を満たしていると判定するものとする。
【００９０】
そして、上記Ｓ７０２において、上記取得したデバイス構成情報及び変更する設定値の値が上記Ｓ７０１で取得したメタデータの条件を満たしていないと判定した場合（Ｓ７０２でＮｏの場合）、仮想設定更新部３０９は、Ｓ７０３へ処理を移行する。Ｓ７０３では、仮想設定更新部３０９は、上記受け付けた更新する設定値の値を初期値に変更し、Ｓ７０４に処理を移行する。
【００９１】
一方、上記Ｓ７０２において、上記取得したデバイス構成情報及び変更する設定値の値が上記Ｓ７０１で取得したメタデータの条件を満たしていると判定した場合（Ｓ７０２でＹｅｓの場合）、仮想設定更新部３０９は、そのままＳ７０４へ処理を移行する。
【００９２】
Ｓ７０４では、仮想設定更新部３０９は、上記Ｓ７０１で取得したメタデータから、上記受け付けた更新する設定値に連動する設定値があるか（即ち、更新する設定値は連動仕様の元設定値か）否かを判定する。
【００９３】
そして、上記受け付けた更新する設定値に連動する設定値があると判定した場合（Ｓ７０４でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７０５へ処理を移行する。
Ｓ７０５では、仮想設定更新部３０９は、連動判定更新処理を実行する。連動判定更新処理の詳細は図７Ｂを用いて後述する。そして、該連動判定更新処理が終了したら、仮想設定更新部３０９は、Ｓ７０９に処理を移行する。
【００９４】
一方、上記Ｓ７０４において、上記受け付けた更新する設定値に連動する設定値がないと判定した場合（Ｓ７０４でＮｏの場合）、仮想設定更新部３０９は、Ｓ７０６へ処理を移行する。
【００９５】
Ｓ７０６では、仮想設定更新部３０９は、上記Ｓ７０１で取得したメタデータから、上記受け付けた更新する設定値が他の設定値に連動するか（即ち、更新する設定値は連動仕様の連動設定値か）否かを判定する。
【００９６】
そして、上記受け付けた更新する設定値が他の設定値に連動すると判定した場合（Ｓ７０６でＹｅｓの場合）、Ｓ７０７へ処理を移行する。
Ｓ７０７では、仮想設定更新部３０９は、連動影響更新処理を実行する。連動影響更新処理の詳細は図７Ｃを用いて後述する。そして、該連動判定更新処理が終了したら、仮想設定更新部３０９は、Ｓ７０９に処理を移行する。
【００９７】
一方、上記Ｓ７０６において、上記受け付けた更新する設定値が他の設定値に連動しないと判定した場合（Ｓ７０６でＮｏの場合）、仮想設定更新部３０９は、Ｓ７０８へ処理を移行する。
Ｓ７０８では、仮想設定更新部３０９は、仮想設定保持部３０８を用いて、上記受け付けた更新する設定の値で、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４を更新する。そして、該仮想設定ＤＢ４１４の更新を終えたら、仮想設定更新部３０９は、Ｓ７０９に処理を移行する。
【００９８】
Ｓ７０９では、仮想設定更新部３０９は、上記Ｓ７０３での初期値変更した設定値以外で本フローチャートの処理で更新した設定値の中に、共通設定ＤＢ４１１に未反映の設定値があるか否かを判定する。
【００９９】
そして、未反映の項目があると判定した場合（Ｓ７０９でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７１０へ処理を移行する。Ｓ７１０では、仮想設定更新部３０９は、上記Ｓ７０９で判定した未反映の設定値の設定値識別子と値を共通設定更新部３０６に通知し、設定の更新処理を実行する。そして、全ての未反映の設定値を通知したら、仮想設定更新部３０９は、本フローチャートの処理を終了する。
【０１００】
一方、上記Ｓ７０９において、未反映の項目がないと判定した場合（Ｓ７０９でＮｏの場合）、仮想設定更新部３０９は、本フローチャートの処理を終了する。
【０１０１】
図７Ｂは、設定値管理サーバ１１０において仮想設定更新部３０９が実行する連動判定更新処理を例示するフローチャートである。図７Ｂのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図７Ｂのフローチャートは、仮想設定更新部３０９が、連動判定更新処理を開始し、連動する設定を登録するまでの処理を記載したものである。また、このフローチャートは仮想設定更新部３０９が、連動判定更新処理を実行した時点から処理を開始する。
【０１０２】
ステップＳ７１１において、仮想設定更新部３０９は、図７ＡのＳ７０１で受け付けた更新する設定値に連動して変更する各設定値のメタデータを設定値情報取得部３０３より取得し、仮想設定保持部３０８を介して対象の仮想デバイスＤＢ４１３の構成情報ＤＢ４１５から仮想デバイス構成情報を取得する。そして、仮想設定更新部３０９は、該取得したデバイス構成情報、及び、連動して変更する各設定値の変更後の値が上記取得した連動して変更する各設定値のメタデータの条件を満たしているか否かを判定する。なお、ここでは、デバイス構成情報が上記各メタデータの「条件」及び「機種／バージョン」をそれぞれ満たし、且つ、連動して変更する各設定値の変更後の値が「値域」をそれぞれ満たしている場合に、条件を満たしていると判定するものとする。
【０１０３】
そして、上記Ｓ７１１において、条件を満たしていない設定値が存在すると判定した場合（Ｓ７１１でＮｏの場合）、仮想設定更新部３０９は、Ｓ７１２に処理を移行する。
Ｓ７１２では、仮想設定更新部３０９は、上記Ｓ７１１で条件を満たしていないと判定した連動する設定値の値（連動値）を一時的に初期値に変更し、Ｓ７１３に処理を移行する。
一方、上記Ｓ７１１において、全ての設定値が条件を満たしていると判定した場合（Ｓ７１１でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７１３に処理を移行する。
【０１０４】
Ｓ７１３では、仮想設定更新部３０９は、上記受け付けた更新する設定値と、その設定値に連動する設定値の設定タイプが全て同じ設定タイプであるか否かを判定する。
そして、全て同じ設定タイプであると判定した場合（Ｓ７１３でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７１４に処理を移行する。
【０１０５】
Ｓ７１４では、仮想設定更新部３０９は、上記受け付けた更新する設定値の値と、その設定に連動する設定値の値を、仮想設定保持部３０８を介して、対象の仮想デバイスＤＢ４１３に登録し、本フローチャートの処理を終了する。連動する設定値（元設定値および連動設定値）の設定タイプが全て同一の場合、連動仕様を基準にし（優先し）、連動する設定値を変更することにより、対象の仮想デバイスＤＢ４１３を整合した状態で設定値を更新することができる。
【０１０６】
一方、上記Ｓ７１３において、上記受け付けた更新する設定値と、その設定値に連動する設定値の中に、異なる設定タイプの設定値があると判定した場合（Ｓ７１３でＮｏの場合）、仮想設定更新部３０９は、Ｓ７１５に処理を移行する。
Ｓ７１５では、仮想設定更新部３０９は、上記受け付けた更新する設定の設定タイプが"共通"であるか否かを判定する。
【０１０７】
そして、上記受け付けた更新する設定の設定タイプが"共通"であると判定した場合（Ｓ７１５でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７１４に処理を移行する。上記Ｓ７１５でＹｅｓの場合とは、連動仕様の元設定値の設定タイプが"共通"で、連動仕様の連動設定値に設定タイプが"個別"のものが含まれている場合に対応する。この場合には、連動仕様を基準にし（優先し）、連動する設定値を変更することにより、仮想デバイスＤＢ４１３を整合した状態で設定値を更新することができる。
【０１０８】
一方、上記受け付けた更新する設定の設定タイプが"個別"であると判定した場合（Ｓ７１５でＮｏの場合）、仮想設定更新部３０９は、Ｓ７１６に処理を移行する。
Ｓ７１６では、仮想設定更新部３０９は、上記受け付けた更新する設定とその設定に連動する設定の全ての値を更新した場合に、更新後の値が対象の仮想デバイスＤＢ４１３内において不整合状態となるか否かを図７ＡのＳ７０１で取得したメタデータを用いて判定する。
【０１０９】
そして、対象の仮想デバイスＤＢ４１３内において不整合状態にならないと判定した場合（Ｓ７１６でＮｏの場合）、仮想設定更新部３０９は、Ｓ７１７に処理を移行する。
Ｓ７１７では、仮想設定更新部３０９は、上記受け付けた更新する設定値の値と、その設定に連動する設定値のうち設定タイプが"個別"となる設定値の値とを、仮想設定保持部３０８を通して、対象の仮想デバイスＤＢ４１３に登録し、本フローチャートの処理を終了する。上記Ｓ７１６でＹｅｓの場合とは、連動仕様の元設定値の設定タイプが"個別"で、連動設定値に設定タイプが"共通"のものが含まれており、且つ、対象の仮想デバイスＤＢ４１３内において不整合状態にならない場合に対応する。この場合には、設定タイプが"個別"である元設定値に連動させて、設定タイプが"共通"の連動設定値を変更してしまうと、他の仮想デバイスＤＢ４１３内で不整合状態になる可能性がある。このため、上記Ｓ７１７では、連動仕様の連動設定値のうち設定タイプが"個別"となる設定値のみ変更することにより、仮想デバイスＤＢ４１３を整合した状態で設定値を更新することができる。なお、この場合、更新した設定値に連動して連動値を登録しなかった"共通"の設定値の情報を、設定編集部３１１を用いて設定の編集を指示したユーザ又は管理者等に通知するようにしてもよい。
【０１１０】
一方、上記Ｓ７１６において、対象の仮想デバイスＤＢ４１３内において不整合状態になると判定した場合（Ｓ７１６でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７１８に処理を移行する。
Ｓ７１８では、仮想設定更新部３０９は、受け付けた更新する設定を、対象の仮想デバイスＤＢ４１３に更新せず、キャンセルし、本フローチャートの処理を終了する。上記Ｓ７１６でＮｏの場合とは、連動仕様の元設定値の設定タイプが"個別"で、連動設定値に設定タイプが"共通"のものが含まれており、且つ、対象の仮想デバイスＤＢ４１３内において不整合状態になる場合に対応する。よって、この場合には、対象の仮想デバイスＤＢ４１３への設定の値の登録は行わないことにより、仮想デバイスＤＢ４１３で不整合な状態が発生することを防止することができる。なお、キャンセルの際、設定編集部３１１を用いて設定値の編集を指示したユーザ又は管理者等に、その旨を通知するようにしてもよい。
【０１１１】
図７Ｃは、設定値管理サーバ１１０の仮想設定更新部３０９が実行する連動影響更新処理を例示するフローチャートである。図７Ｃのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。図７Ｃのフローチャートは、仮想設定更新部３０９が、連動影響更新処理を開始し、受け付けた更新する設定を登録するまでの処理を記載したものである。このフローチャートは、仮想設定更新部３０９が、連動判定影響処理を実行した時点から処理を開始する。
【０１１２】
ステップＳ７２１において、仮想設定更新部３０９は、図７ＡのＳ７０１で受け付けた更新する設定値を更新した場合に、対象の仮想デバイスＤＢ４１３において、更新後の設定値が不整合な状態となるか否かを図７ＡのＳ７０１で取得したメタデータを元に判定する。
【０１１３】
そして、対象の仮想デバイスＤＢ４１３において不整合な状態とならないと判定した場合（Ｓ７２１でＮｏの場合）、仮想設定更新部３０９は、Ｓ７２２に処理を移行する。
Ｓ７２２では、仮想設定更新部３０９は、上記受け付けた更新する設定値の値を、仮想設定保持部３０８を通して、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４に登録し、本フローチャートの処理を終了する。
【０１１４】
一方、上記Ｓ７２１において、対象の仮想デバイスＤＢ４１３において不整合な状態となると判定した場合（Ｓ７２１でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７２３に処理を移行する。
Ｓ７２３では、仮想設定更新部３０９は、上記受け付けた更新する設定値の設定タイプが"個別"であるか否かを判定する。
【０１１５】
そして、上記受け付けた更新する設定値の設定タイプが"共通"であると判定した場合（Ｓ７２３でＮｏの場合）、仮想設定更新部３０９は、Ｓ７２４に処理を移行する。
Ｓ７２４では、仮想設定更新部３０９は、上記受け付けた更新する設定値を連動仕様により変更してくる他の設定値（連動仕様の元設定値）に設定タイプが"共通"であるものが含まれているか否かを判定する。
【０１１６】
そして、連動設定値の設定タイプが全て"個別"であると判定した場合（Ｓ７２４でＮｏの場合）、仮想設定更新部３０９は、Ｓ７２５に処理を移行する。
Ｓ７２５で、仮想設定更新部３０９は、受け付けた更新する設定値の値で対象の仮想デバイスＤＢ４１３を更新しないが、処理結果を「更新が成功した」として、本フローチャートの処理を終了する。
【０１１７】
一方、連動設定値に設定タイプが"共通"である設定値が含まれていると判定した場合（Ｓ７２４でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ７２６に処理を移行する。
また、上記Ｓ７２３において、上記受け付けた更新する設定値の設定タイプが"個別"であると判定した場合（Ｓ７２３でＹｅｓの場合）にも、仮想設定更新部３０９は、Ｓ７２６に処理を移行する。
【０１１８】
Ｓ７２６では、仮想設定更新部３０９は、上記受け付けた更新する設定値の値で対象の仮想デバイスＤＢ４１３を更新せず、変更内容をキャンセルして、本フローチャートの処理を終了する。なお、キャンセルの際、管理者等にその旨を通知するようにしてもよい。
【０１１９】
なお、図６のＳ６０６から図７Ａの仮想設定更新処理が呼び出された場合、上記Ｓ７２５で処理結果を「更新が成功した」とした場合には、仮想設定更新部３０９は、未更新の仮想デバイスがなくなるまでＳ６０４〜Ｓ６０６のループを継続する。一方、上記Ｓ７２６で「変更内容をキャンセル」した場合には、仮想設定更新部３０９は、その時点でＳ６０４〜Ｓ６０６のループを抜けて処理を終了するものとする。
【０１２０】
以上説明したように、実施例１によれば、ユーザは、設定値の変更場所（各複合機／設定値管理サーバ）や、設定値の設定タイプがどのように設定されているか（"共通"／"個別"）を考慮することなく、複合機の設定値を、整合性を保った状態で更新することができる。
【実施例２】
【０１２１】
上記実施例１では、複合機１２０と設定値管理サーバ１１０のどちらで設定値を更新した場合でも、整合性を保ったままデバイス設定を更新できる例を示した。なお、直接、設定値を更新する以外にも、デバイス設定を更新するケースが存在する。例えば、複合機のデバイス構成情報が変更された場合等である。そこで、実施例２では、複合機のデバイス構成情報が変更された場合にも不整合を起こさずデバイス設定を更新する構成について説明する。本実施例においては、実施例１と同一部分に関する説明は省略し、異なる部分についてのみ説明する。
【０１２２】
図８Ａは、設定値管理サーバ１１０が、複合機１２０よりデバイス構成情報の更新通知を受け付けた場合の処理を例示するフローチャートである。図８Ａのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。また、このフローチャートは、デバイス通信部３１０が、複合機１２０から通信を受け付けた時点から処理を開始する。
【０１２３】
ステップＳ８０１において、デバイス通信部３１０は、複合機１２０からデバイス構成情報の更新通知を受信し、該受信した更新通知に含まれている個体識別子と、デバイス構成情報の属性と値を読み出し、Ｓ８０２に処理を移行する。
Ｓ８０２では、デバイス通信部３１０は、デバイス識別部３０５を介して、上記Ｓ８０１で読み出した個体識別子に対応した仮想デバイスＤＢ４１３を特定する。そして、デバイス通信部３１０は、仮想設定更新部３０９に対して、上記更新通知から読み出したデバイス構成情報の属性と値を通知し、上記特定した仮想デバイスＤＢ４１３を対象としたデバイス構成情報の更新を依頼し、Ｓ８０３に遷移する。
Ｓ８０３では、仮想設定更新部３０９は、仮想設定保持部３０８を介して対象の仮想デバイスＤＢ４１３内の構成情報ＤＢ４１５からデバイス構成情報を読み出し、上記通知されたデバイス構成情報の属性と値から、更新されるデバイス構成情報の属性と値を特定し、Ｓ８０４に処理を移行する。
【０１２４】
Ｓ８０４では、仮想設定更新部３０９は、仮想設定保持部３０８を介し、上記Ｓ８０３で特定した更新するデバイス構成情報で、対象の仮想デバイスＤＢ４１３の構成情報ＤＢ４１５を更新し、Ｓ８０５に移行する。
【０１２５】
Ｓ８０５では、仮想設定更新部３０９は、上記Ｓ８０４で更新したバイス構成情報の属性にファームウェアのバージョンが含まれるか否かを判定する。
そして、ファームウェアのバージョンが含まれていないと判定した場合（Ｓ８０５でＮｏの場合）、仮想設定更新部３０９は、そのままＳ８０７へ処理を移行する。
【０１２６】
一方、上記Ｓ８０５において、ファームウェアのバージョンが含まれていると判定した場合（Ｓ８０５でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８０６へ処理を移行する。
Ｓ８０６では、仮想設定更新部３０９は、ファーム関連設定更新処理を実行する。ファーム関連設定更新処理の詳細は図８Ｂを用いて後述する。そして、ファーム関連設定更新処理が終了すると、仮想設定更新部３０９は、Ｓ８０７に処理を移行する。
【０１２７】
Ｓ８０７では、仮想設定更新部３０９は、上記Ｓ８０４で更新したデバイス構成情報の属性にライセンス又はアクセサリが含まれるか否かを判定する。
そして、ライセンス、アクセサリのいずれも含まれていないと判定した場合（Ｓ８０７でＮｏの場合）、仮想設定更新部３０９は、そのままのフローチャートの処理を終了する。
【０１２８】
一方、上記Ｓ８０７において、ライセンス又はアクセサリが含まれていると判定した場合（Ｓ８０７でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８０８へ処理を移行する。
Ｓ８０８で、仮想設定更新部３０９は、構成関連設定更新処理を実行する。構成関連設定更新処理の詳細は図８Ｃを用いて後述する。そして、構成関連設定更新処理が終了すると、仮想設定更新部３０９は、本フローチャートの処理を終了する。
【０１２９】
図８Ｂは、図８ＡのＳ８０６のファーム関連設定更新処理を例示するフローチャートである。図８Ｂのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図８Ｂのフローチャートは、仮想設定更新部３０９が、ファーム更新処理を開始し、影響する設定を登録するまでの処理を記載したものである。また、このフローチャートは仮想設定更新部３０９が、ファーム更新処理を実行した時点から処理を開始する。
【０１３０】
ステップＳ８１１において、仮想設定更新部３０９は、設定値情報取得部３０３より、図８ＡのＳ８０４で行ったファームウェアのバージョン属性の値の更新に影響を受ける設定値の設定値識別子を全て特定し、該特定した全ての設定値識別子をＲＡＭ２０３内に記録し、Ｓ８１２に処理を移行する。
【０１３１】
Ｓ８１２では、仮想設定更新部３０９は、上記Ｓ８１１で特定した設定値識別子のうち、更新判定を行っていない設定値が存在するか否かを確認する。そして、更新判定を行っていない設定値が存在すると判定した場合（Ｓ８１２でＹｅｓの場合）、Ｓ８１３に処理を移行する。
【０１３２】
Ｓ８１３では、仮想設定更新部３０９は、上記Ｓ８１１で特定した設定値識別子のうち、更新判定を行っていない設定値を１つ選択し、Ｓ８１４に処理を移行する。
Ｓ８１４では、仮想設定更新部３０９は、上記Ｓ８１３で選択した設定値識別子の設定タイプが"共通"であるか否かを判定し、選択した設定値識別子を更新判定済みに変更する。そして、設定タイプが"共通"と判定した場合（Ｓ８１４でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８１５へ処理を移行する。
【０１３３】
Ｓ８１５では、仮想設定更新部３０９は、上記Ｓ８１３で選択した設定値識別子に対応する設定値の値を共通設定保持部３０７から読み出す。さらに、仮想設定更新部３０９は、該設定値識別子のメタデータを設定値情報取得部３０３より取得する。そして、仮想設定更新部３０９は、上記読み出した共通設定値を、メタデータの機種／バージョンの情報に応じて、対象の仮想デバイスＤＢ４１３に登録すべき値に変換し、Ｓ８１６に移行する。
【０１３４】
Ｓ８１６では、仮想設定更新部３０９は、上記Ｓ８１５で変換した値を、仮想設定保持部３０８を介して対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４に登録し、Ｓ８１２に処理を移行する。
【０１３５】
また、上記Ｓ８１４において、上記Ｓ８１３で選択した設定値識別子の設定タイプが"個別"と判定した場合（Ｓ８１４でＮｏの場合）、仮想設定更新部３０９は、そのままＳ８１２へ処理を移行する。
【０１３６】
そして、上記Ｓ８１２において、仮想設定更新部３０９が、上記Ｓ８１１で特定した設定値識別子のうち、更新判定を行っていない設定値が存在しないと判定した場合（Ｓ８１２でＮｏの場合）、本フローチャートの処理を終了する。
【０１３７】
図８Ｃは、図８ＡのＳ８０８の構成情報関連設定更新処理を例示するフローチャートである。図８Ｃのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図８Ｃのフローチャートは、仮想設定更新部３０９が、構成関連更新処理を開始し、影響する設定を登録するまでの処理を記載したものである。また、このフローチャートは仮想設定更新部３０９が、構成関連更新処理を実行した時点から処理を開始する。
【０１３８】
ステップＳ８２１において、仮想設定更新部３０９は、設定値情報取得部３０３より、図８ＡのＳ８０４で更新したライセンス又はアクセサリ属性のうち、更新判定を行っていない属性が存在するか否か判定する。そして、更新判定を行っていない属性が存在すると判定した場合（Ｓ８２１でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８２２に処理を移行する。
【０１３９】
Ｓ８２２では、仮想設定更新部３０９は、更新したライセンス又はアクセサリ属性のうち、更新判定を行っていない属性を１つ選択し、Ｓ８２３に処理を移行する。
Ｓ８２３では、仮想設定更新部３０９は、設定値情報取得部３０３より、上記Ｓ８２２で選択したデバイス構成情報の属性の更新に影響する設定値の設定値識別子を特定し、ＲＡＭ２０３に記録し、Ｓ８２４に処理を移行する。
【０１４０】
Ｓ８２４で、仮想設定更新部３０９は、上記Ｓ８２２で選択したデバイス構成情報の属性の更新内容は、追加もしくは変更であるか否かを判定する。
そして、追加もしくは変更であると判定した場合（Ｓ８２４でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８２５に処理を移行する。
【０１４１】
Ｓ８２５では、仮想設定更新部３０９は、上記Ｓ８２３で特定した設定値識別子に更新判定をしていない設定値が存在するか否かを判定する。そして、存在すると判定した場合（Ｓ８２５でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８２６に処理を移行する。
【０１４２】
Ｓ８２６では、仮想設定更新部３０９は、上記Ｓ８２３で特定した設定値識別子のうち更新判定をしていない設定値識別子を１つ選択し、Ｓ８２７に処理を移行する。
Ｓ８２７では、仮想設定更新部３０９は、上記Ｓ８２６で選択した設定値識別子に設定されている設定タイプが"共通"であるか否かを判定し、更新判定を行ったことをＲＡＭ２０３に記録する。
【０１４３】
そして、上記Ｓ８２６で選択した設定値識別子に設定されている設定タイプが"共通"であると判定した場合（Ｓ８２７でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８２８に処理を移行する。
【０１４４】
Ｓ８２８では、仮想設定更新部３０９は、上記Ｓ８２６で選択した設定値識別子に設定されている値を共通設定保持部３０７から読み出す。さらに、仮想設定更新部３０９は、該設定値識別子のメタデータを設定値情報取得部３０３より取得する。そして、仮想設定更新部３０９は、上記読み出した共通設定を、メタデータの情報に応じて、対象の仮想デバイスＤＢ４１３に登録すべき値に変換し、Ｓ８２９に移行する。
【０１４５】
Ｓ８２９では、仮想設定更新部３０９は、上記Ｓ８２８で変換した値を、仮想設定保持部３０８を介して、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４に登録し、Ｓ８２５に処理を移行する。
【０１４６】
一方、上記Ｓ８２７において、上記Ｓ８２６で選択した設定値識別子に設定されている設定タイプが"個別"であると判定した場合（Ｓ８２７でＮｏの場合）、仮想設定更新部３０９は、そのままＳ８２５に処理を移行する。
【０１４７】
そして、上記Ｓ８２５において、上記Ｓ８２３で特定した設定値識別子に更新判定をしていない設定値が存在しないと判定した場合（Ｓ８２５でＮｏの場合）、仮想設定更新部３０９は、Ｓ８２１に処理を移行する。
【０１４８】
また、上記Ｓ８２４において、上記Ｓ８２２で選択したデバイス構成情報の属性の更新内容は、追加でも変更でもないと判定した場合（Ｓ８２４でＮｏの場合）、仮想設定更新部３０９は、Ｓ８３０に処理を移行する。
【０１４９】
Ｓ８３０では、仮想設定更新部３０９は、上記Ｓ８２２で選択したデバイス構成情報の属性の更新内容は、削除であるか否かを判定する。そして、削除であると判定した場合（Ｓ８３０でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８３１に処理を移行する。
【０１５０】
Ｓ８３１では、仮想設定更新部３０９は、上記Ｓ８２３で特定した設定値識別子に更新処理をしていない設定値が存在するか否かを判定する。そして、存在すると判定した場合（Ｓ８３１でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ８３２に処理を移行する。
【０１５１】
Ｓ８３２では、仮想設定更新部３０９は、上記Ｓ８２３で特定した設定値識別子のうち更新処理を実施していない設定値識別子を１つ選択し、更新判定を行ったことをＲＡＭ２０３に記録し、Ｓ８３３に処理を移行する。
Ｓ８３３では、仮想設定更新部３０９は、上記Ｓ８３２で選択した設定値識別子のメタデータを設定値情報取得部３０３より取得する。さらに、仮想設定更新部３０９は、該取得したメタデータから初期値を読み出し、仮想設定保持部３０８を介して、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４に登録し、Ｓ８３１に処理を移行する。
【０１５２】
そして、上記Ｓ８３１において、上記Ｓ８２３で特定した設定値識別子に更新判定をしていない設定値が存在しないと判定した場合（Ｓ８３１でＮｏの場合）、仮想設定更新部３０９は、Ｓ８２１に処理を移行する。
【０１５３】
また、上記Ｓ８３０において、上記Ｓ８２２で選択したデバイス構成情報の属性の更新内容が削除でないと判定した場合（Ｓ８３０でＮｏの場合）、仮想設定更新部３０９は、Ｓ８２１に処理を移行する。
【０１５４】
そして、上記Ｓ８２１において、図８ＡのＳ８０４で更新したライセンス又はアクセサリ属性のうち、更新判定を行っていない属性が存在しないと判定した場合（Ｓ８２１でＮｏの場合）、仮想設定更新部３０９は、本フローチャートの処理を終了する。
【０１５５】
以上説明したように、実施例２によれば、複合機１２０のデバイス構成情報が更新された場合に、デバイス構成情報の更新に伴い、不整合状態を起こすこと無く仮想デバイスＤＢ４１３を更新することができる。また、デバイス構成情報の更新に伴い更新すべき設定値に共通設定が含まれている場合でも、不整合を起こさない状態で設定値に反映することができる。
【実施例３】
【０１５６】
上述した実施例１では設定値、実施例２ではデバイス構成情報が変更された場合に、整合性を保ったままデバイス設定を更新できる例を示した。この他にデバイス設定を更新する場合として、ポリシーの管理設定を変更した場合等が挙げられる。そこで、実施例３では、ポリシーの管理設定が変更された場合に、不整合を起こさずデバイス設定を更新する方法について説明する。なお、実施例３においては、実施例１、２と同一の構成については説明を省略し、異なる構成についてのみ説明する。
【０１５７】
ポリシーを管理する設定値であるポリシー管理設定は、複合機１２０が使用する設定値（コンフィギュレーションデータ）の一種である。ポリシー管理設定の値を設定することにより、そのポリシー管理設定に応じたポリシールール（後述する表８に例示）を読み出し、該ポリシールールで指定された設定値の値を変更し、該設定値をポリシー制御状態に変更することができる。ポリシー制御状態になっている設定値には、ポリシー制御属性に"ＯＮ"が設定される。ポリシー制御属性が"ＯＮ"になっている設定値は、読み取り専用の設定値として取り扱われる。なお、ポリシー管理設定の値を変更することで、ポリシー制御状態が"ＯＦＦ"に設定された設定値は、読み書き可能状態に変更される。
【０１５８】
ポリシーに関連する設定値には、ポリシーを管理する設定値（上述したポリシー管理設定）と、関連するポリシールールに応じて値が決定するポリシー対象の設定値が存在する。ポリシー管理設定は、関連するポリシールールに基づいてポリシー対象の設定値の値を制御するか否かを管理する設定値である。一方、ポリシー対象の設定値は、関連するポリシールールに基づいて設定値の値を制御されるか否かをポリシー管理設定から管理される対象の設定値である。ポリシー管理設定とポリシー対象との関係は、管理元と管理対象の関係となる。ポリシーが"管理"で表される設定値は、ポリシー管理設定となり、ポリシーが"対象"で表される設定値は、ポリシー対象の設定値となる。
【０１５９】
表１の例では、設定値識別子が"ｐｏｌｉｃｙ．ｅｘｔｅｒｎａｌ＿ｄｅｖｉｃｅ＿ｒｅｓｔｒｉｃｔ"で表される設定値は、外部機器の使用を禁止するポリシーを管理する設定であり、ポリシー属性が"管理"と設定されている。また、設定値識別子が"ｓｅｔｔｉｎｇｓ．ｕｓｂ＿ｅｎａｂｌｅ"で表される設定値は、ＵＳＢ機器の使用に関する設定値であり、ポリシー属性が"対象"と設定されている。ポリシー属性が"対象"の設定値は、ポリシー属性が"管理"の設定値により、関連するポリシーによる管理が設定された場合に、ポリシールールに基づいて値が変更される。
【０１６０】
【表８】
2016034084.tif 000010
【０１６１】
表８は、ポリシールールを例示する表である。
表８では、設定値識別子"ｐｏｌｉｃｙ．ｅｘｔｅｒｎａｌ＿ｄｅｖｉｃｅ＿ｒｅｓｔｒｉｃｔ"で表される設定値が"ＯＮ"に変更された場合、ポリシー対象設定値識別子"ｓｅｔｔｉｎｇｓ．ｕｓｂ＿ｅｎａｂｌｅ"を"ＯＦＦ"に変更し、ポリシー制御を"ＯＮ"に変更する。設定値識別子"ｐｏｌｉｃｙ．ｅｘｔｅｒｎａｌ＿ｄｅｖｉｃｅ＿ｒｅｓｔｒｉｃｔ"で表される設定値が、"ＯＦＦ"に変更された場合、ポリシー対象設定値識別子"ｓｅｔｔｉｎｇｓ．ｕｓｂ＿ｅｎａｂｌｅ"の値を変更することなく、ポリシー制御を"ＯＦＦ"に変更する。
なお、ポリシールールは、予め作成された所定のルールであり、後述する仮想ポリシー制御部３１３、ポリシー制御部３２５が保持するものとする。また、表８に示されるデータはあくまで一例であり、本発明は、これに限定されるものではない。
【０１６２】
ここで、図３に示す設定値管理サービス３００の仮想ポリシー制御部３１３について説明する。
仮想ポリシー制御部３１３は、変更された設定と対応するポリシールールを読み出し、ポリシールールに応じて設定値の値とポリシー制御属性の変更を、仮想設定更新部３０９に依頼する。これにより、ポリシールールに応じて仮想デバイスＤＢ４１３が変更される。なお、設定値管理サービス３００では、仮想ポリシー制御部３１３がポリシールールをＨＤＤ２０４に保持し管理するものとする。
【０１６３】
次に、複合機ファームウェア３２０のポリシー制御部３２５について説明する。
デバイス設定値管理部３２２が、ポリシー設定の変更を受け付けた場合、受け付けた内容をポリシー制御部３２５に通知する。ポリシー制御部３２５では、変更された設定と対応するポリシールールを読み出し、ルールに応じて設定値の値とポリシー制御属性の変更を、デバイス設定値管理部３２２に依頼する。これにより、ポリシールールに応じてデバイス設定値ＤＢが変更される。なお、複合機ファームウェア３２０では、ポリシー制御部３２５がポリシールールをＨＤＤ２２４に保持し管理するものとするが、連動仕様と同様に、設定値情報ＤＢ４１０、デバイス設定値ＤＢに保持・管理されていてもよい。なお、複合機１２０側で保持されるポリシールールは、設定値管理サーバ１１０側で保持するものと同一の体系をもつ情報である。
【０１６４】
以下、実施例３において、複合機１２０もしくは設定値管理サーバ１１０で設定値が変更される場合の処理について説明する。
図９Ａは、実施例３において、複合機１２０でデバイス設定値が変更された場合に実行される処理を例示するフローチャートである。図９Ａのフローチャートの各ステップは、複合機１２０が備えるＣＰＵ２２１がＲＯＭ２２２等のメモリに格納されたプログラムをＲＡＭ２２３に展開して実行することによって実現されるものである。なお、図９Ａのフローチャートは、デバイス設定値管理部３２２が、設定値の変更を受け付け、デバイス設定値ＤＢに登録するとともに設定値管理サーバ１１０に通知するまでの処理を記載したものである。また、このフローチャートは、デバイス設定値管理部３２２が、設定値変更を受け付けた時点から処理を開始する。
【０１６５】
以下では、図５（Ａ）と異なる部分を中心に説明を行い、同様の処理については、説明を省略する。
まず、ステップＳ９０１において、デバイス設定値管理部３２２は、変更を要求された設定値のポリシー制御属性に基づいて、該変更を要求された設定値がポリシー制御されているか否かを判定する。そして、ポリシー制御されている（ポリシー制御が"ＯＮ"）と判定した場合（Ｓ９０１でＹｅｓの場合）、デバイス設定値管理部３２２は、本フローチャートの処理を終了する。なお、上記の説明では、Ｓ９０１では、いきなり、変更を要求された設定値のポリシー制御属性を判定しているが、変更を要求された設定値に対応する設定値情報のポリシーが"対象"である場合に、設定値のポリシー制御属性を判定するようにしてもよい。
【０１６６】
一方、上記Ｓ９０１において、デバイス設定値管理部３２２が、上記変更を要求された設定値がポリシー制御されていない（ポリシー制御が"ＯＦＦ"）と判定した場合（Ｓ９０１でＮｏの場合）、デバイス設定値管理部３２２は、Ｓ５０１へ移行する。Ｓ５０１〜Ｓ５０３は、実施例１の図５（Ａ）と同様である。なお、Ｓ５０３の処理が完了すると、Ｓ９０２へ遷移する。
【０１６７】
Ｓ９０２では、デバイス設定値管理部３２２は、上記変更を要求された設定値がポリシー管理設定であるか否かを判定する。そして、ポリシー管理設定でないと判定した場合（Ｓ９０２でＮｏの場合）、デバイス設定値管理部３２２は、Ｓ５０４へ処理を移行する。Ｓ５０４以降は、実施例１の図５（Ａ）と同様であるので説明を省略する。
【０１６８】
一方、上記Ｓ９０２において、上記変更を要求された設定値がポリシー管理設定であると判定した場合（Ｓ９０２でＹｅｓの場合）、デバイス設定値管理部３２２は、Ｓ９０３へ処理を移行する。
【０１６９】
Ｓ９０３では、デバイス設定値管理部３２２は、上記変更を要求されたポリシー管理設定の値を、デバイス設定値保持部３２３を介して、デバイス設定値ＤＢに登録する。さらに、デバイス設定値管理部３２２は、ポリシー制御部３２５に変更されたポリシー管理設定とその値を通知し、Ｓ９０４へ遷移する。
【０１７０】
Ｓ９０４では、ポリシー制御部３２５は、上記変更されたポリシー管理設定の値に対応してポリシールールに登録されている、ポリシー対象設定値識別子と値とポリシー制御の属性を読み出し、Ｓ９０５へ移行する。
Ｓ９０５では、ポリシー制御部３２５は、上記Ｓ９０４で読み出したポリシー対象設定値識別子に対応する設定値の値とポリシー制御の属性を、デバイス設定値管理部３２２を通してデバイス設定値ＤＢに登録し、Ｓ５０６へ処理を移行する。そのして、上記Ｓ９０３及びＳ９０５でデバイス設定値ＤＢに登録された設定変更の内容が、設定値管理サーバ１１０に通知され（Ｓ５０６）、ＤＢが更新される（Ｓ５０７）。
【０１７１】
以上の処理により、複合機１２０でポリシー管理設定が変更された場合に、該ポリシー管理設定に関連する設定値の値とポリシー制御の属性を変更し、該設定変更内容を設定値管理サーバ１１０に通知することができる。
【０１７２】
図９Ｂは、実施例３において、設定値管理サーバ１１０で設定編集処理を受け付けた場合に実行する処理を例示するフローチャートである。図９Ｂのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図９Ｂのフローチャートは、設定編集部３１１が、設定値の編集を受け付けて受け付けた内容をサーバ管理データに登録するまでの処理を記載したものである。このフローチャートは、設定編集部３１１が、設定値編集要求を受け付けた時点から処理を開始する。
【０１７３】
以下では、図６と異なる部分を中心に説明を行い、同様の処理については、説明を省略する。
ステップＳ９１１において、設定編集部３１１は、編集を受け付けた設定値のポリシー制御の属性を、共通設定保持部３０７等より読み出し、該設定値がポリシー制御をされているか否かを判定する。そして、ポリシー制御されていると判定した場合（Ｓ９１１でＹｅｓの場合）、設定編集部３１１は、本フローチャートの処理を終了する。なお、上記の説明では、Ｓ９１１では、いきなり、変更を要求された設定値のポリシー制御属性を判定しているが、変更を要求された設定値に対応するメタデータのポリシーが"対象"である場合に、設定値のポリシー制御属性を判定するようにしてもよい。
【０１７４】
一方、上記Ｓ９１１において、上記編集を受け付けた設定値がポリシー制御されていないと判定した場合（Ｓ９１１でＮｏの場合）、設定編集部３１１は、Ｓ６０１に処理を移行する。Ｓ６０１では、設定編集部３１１は、実施例１と同様の処理を実施し、Ｓ９１２へ処理を移行する。
【０１７５】
Ｓ９１２では、設定編集部３１１は、上記編集を受け付けた設定値の設定値識別子を用いて、設定値情報取得部３０３に、上記受け付けた設定値がポリシー管理設定か否かを問い合わせ、判定する。そして、ポリシー管理設定でないと判定した場合（Ｓ９１２でＮｏの場合）、設定編集部３１１は、Ｓ６０２へ処理を移行する。Ｓ６０２以降の処理は、実施例１の図６と同様である。ただし、Ｓ６０６の仮想設定更新処理は、後述する図１０Ａ及び図１０Ｂのフローチャートに示すものとなる。
【０１７６】
一方、上記Ｓ９１２において、上記編集を受け付けた設定値がポリシー管理設定であると判定した場合（Ｓ９１２でＹｅｓの場合）、設定編集部３１１は、Ｓ９１３に処理を移行する。
Ｓ９１３では、設定編集部３１１は、共通設定更新部３０６に対して、上記編集を受け付けたポリシー管理設定の更新を依頼する。共通設定更新部３０６は、該受け付けたポリシー管理設定の設定値を、共通設定保持部３０７を介して共通設定ＤＢ４１１に登録し、Ｓ６０４へ処理を移行する。そして、Ｓ６０６の仮想設定更新処理において、後述する図１０Ａ及び図１０Ｂのフローチャートに示す処理を実行し、ポリシー管理設定に連動して更新される設定値のポリシー属性を、共通設定ＤＢ４１１、並びに仮想デバイスＤＢ４１３に登録することができる。
【０１７７】
以上示した処理により、設定値管理サーバ１１０でポリシー管理設定を変更した場合に、関連する設定値の値とポリシー制御属性を共通設定ＤＢ４１１、並びに仮想デバイスＤＢ４１３に登録することができる。
【０１７８】
図１０Ａは、実施例３における、仮想設定更新部３０９が、更新する設定の設定値識別子と値を受け付けて実行する仮想設定更新処理を例示するフローチャートである。図１０Ａのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、このフローチャートの処理は、仮想設定更新部３０９が、設定更新要求を受け付けてから、仮想デバイスＤＢ４１３を更新するまでの処理を記載したものである。また、このフローチャートは、仮想設定更新部３０９が、変更すべき設定値の設定値識別子と値を受け付けた時点から処理を開始する。
【０１７９】
以下では、実施例１の図７Ａと異なる部分を中心に説明を行い、同様の処理については、説明を省略する。
ステップＳ１００１において、仮想設定更新部３０９は、デバイス通信部３１０、共通設定更新部３０６、又は設定編集部３１１等から受け付けた設定値識別子に対応付いたメタデータを、設定値情報取得部３０３から取得する。さらに、仮想設定更新部３０９は、該取得したメタデータから、上記変更を受け付けた設定値がポリシー管理設定であるか否かを判定する。
そして、ポリシー管理設定でないと判定した場合（Ｓ１００１でＮｏの場合）、仮想設定更新部３０９は、Ｓ７０１に処理を移行する。Ｓ７０１からＳ７１０までは実施例１と同様の処理を実施する。
【０１８０】
一方、上記Ｓ１００１において、上記変更を受け付けた設定値がポリシー管理設定であると判定した場合（Ｓ１００１でＹｅｓの場合）、仮想設定更新部３０９は、Ｓ１００２に処理を移行する。
Ｓ１００２では、仮想設定更新部３０９は、ポリシー制御処理を実行する。ポリシー制御処理の詳細は図１０Ｂに示す。そして、ポリシー制御処理が終了したら、仮想設定更新部３０９は、Ｓ７０９に処理を移行する。なお、Ｓ７０９以降は、実施例１の図７Ａと同様である。
【０１８１】
図１０Ｂは、設定値管理サーバ１１０において仮想設定更新部３０９が実行するポリシー制御処理を例示するフローチャートである。図１０Ｂのフローチャートの各ステップは、設定値管理サーバ１１０が備えるＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。なお、図１０Ｂのフローチャートは、仮想設定更新部３０９が、ポリシー制御処理を開始し、ポリシールールに対する設定を登録するまでの処理を記載したものである。また、このフローチャートは仮想設定更新部３０９が、ポリシー制御処理を実行した時点から処理を開始する。
【０１８２】
ステップＳ１０１０において、仮想設定更新部３０９は、図１０ＡのＳ１００１で受け付けたポリシー管理設定の値を、仮想設定保持部３０８を介して、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４に登録する。そして、仮想設定更新部３０９は、仮想ポリシー制御部３１３に、ポリシー制御を要求し、Ｓ１０１１へ処理を移行する。
【０１８３】
Ｓ１０１１では、仮想ポリシー制御部３１３は、変更されたポリシー管理設定に対応するポリシールールに登録されている、ポリシー対象設定値識別子と値とポリシー制御の属性を読み出し、Ｓ１０１２へ処理を移行する。
【０１８４】
Ｓ１０１２では、仮想ポリシー制御部３１３は、上記Ｓ１０１１で読み出したポリシー対象設定値識別子のうち、未更新のものがあるか否かを判定する。そして、未更新のものがあると判定した場合（Ｓ１０１２でＹｅｓの場合）、仮想ポリシー制御部３１３は、Ｓ１０１３に処理を移行する。
【０１８５】
Ｓ１０１３では、仮想ポリシー制御部３１３は、未更新のポリシー対象設定値識別子を１つ選択し、Ｓ１０１４へ処理を移行する。
Ｓ１０１４では、仮想ポリシー制御部３１３は、上記Ｓ１０１３で選択したポリシー対象設定値識別子に対応する値とポリシー制御の属性で、対象の仮想デバイスＤＢ４１３の仮想設定ＤＢ４１４の更新を仮想設定更新部３０９に依頼する。仮想設定更新部３０９は、受け付けた設定値の値とポリシー制御の更新を、仮想設定保持部３０８を通して仮想設定ＤＢ４１４に登録し、登録が完了したことを仮想ポリシー制御部３１３に通知する。仮想ポリシー制御部３１３は、上記Ｓ１０１３で選択した設定値識別子を更新したことをＲＡＭ２０３に記録し、Ｓ１０１２へ処理を移行する。
【０１８６】
そして、上記Ｓ１０１２において、上記Ｓ１０１１で読み出した設定値識別子のうち、未更新のものがないと判定した場合（Ｓ１０１２でＮｏの場合）、仮想ポリシー制御部３１３は、本フローチャートの処理を終了する。
【０１８７】
以上説明したように、実施例３によれば、ポリシー制御により設定値を優先して管理しつつ、仮想デバイスＤＢ４１３での不整合状態の発生を防ぐことができる。なお、実施例３では、ポリシー制御を例に説明したが、優先して設定を行う制御はポリシー制御に限定するものではない。例えば、設定値に優先度を設定し、優先度の高い設定を優先する方法で実現してもかまわない。
【０１８８】
以上示したように、本発明によれば、設定値管理サーバ１１０では、複合機や設定編集部３１１から設定値の変更要求があった場合、仮想設定更新部３０９が、前記変更要求された設定値の他の設定値に対する関係（ポリシー、連動仕様等）を設定値情報ＤＢ４１０で管理されるメタデータに基づいて判定し（Ｓ１００１、Ｓ７０４、Ｓ７０６）、該判定した関係に基づいて、変更要求に応じた仮想設定ＤＢ４１４で管理される設定値の更新処理を制御する（ポリシー制御処理Ｓ１００２、連動判定処理Ｓ７０５、連動影響処理Ｓ７０７、登録処理Ｓ７０８）。このような構成により、複合機１２０，１２１等の情報処理装置の設定値を、設定値管理サーバ１１０で一元管理しつつ、情報処理装置側と設定値管理サーバ１１０側のどちらから設定値が変更されても、設定値間での不整合の発生を防止することができる。
【０１８９】
例えば、設定値には他の設定値と相関関係のあるものがあり、従来では、このような設定値が情報処理装置側とサーバ側とで別々に変更されてしまうと、お互いの関係が整合しない状態となってしまう可能性があった。また、従来では、複数の情報処理装置で同期される共通の設定値が、特定の情報処理装置の個別の設定に基づいて変更されてしまうと、同期する他の情報処理装置において不整合な状態となってしまう可能性があった。また、従来では、情報処理装置の構成が変更された場合、該変更された構成に影響する設定値が該変更された構成と不整合な状態となってしまう可能性があった。しかし、本発明では、このような場合でも、設定値に不整合な状態が発生することを防止できる。
【０１９０】
よって、管理者等は、設定値の変更場所（複合機１２０，１２１等の情報処理装置側／設定値管理サーバ１１０側）や、設定値がどのように設定されているか（ポリシー／連動仕様／共通設定／個別設定）等を考慮することなく、容易に、情報処理装置の設定値を、整合性を保った状態で更新することができる。
【０１９１】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１９２】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１９３】
１１０    設定値管理サーバ
１２０，１２１    複合機
３００    設定値管理サービス
３２０    複合機ファームウェア
４１０    設定値情報ＤＢ
４１１    共通設定ＤＢ
４１３    仮想デバイスＤＢ
４１４    仮想設定ＤＢ
４１５    構成情報ＤＢ
【図１】
2016034084.tif 000011
【図２】
2016034084.tif 000012
【図３】
2016034084.tif 000013
【図４】
2016034084.tif 000014
【図５】
2016034084.tif 000015
【図６】
2016034084.tif 000016
【図７Ａ】
2016034084.tif 000017
【図７Ｂ】
2016034084.tif 000018
【図７Ｃ】
2016034084.tif 000019
【図８Ａ】
2016034084.tif 000020
【図８Ｂ】
2016034084.tif 000021
【図８Ｃ】
2016034084.tif 000022
【図９Ａ】
2016034084.tif 000023
【図９Ｂ】
2016034084.tif 000024
【図１０Ａ】
2016034084.tif 000025
【図１０Ｂ】
2016034084.tif 000026