(57)【要約】【課題】複数のネットワークデバイスに対する設定情報の配信が失敗した場合に、複数のネットワークデバイスの全てでロールバックを行うか、配信に失敗したネットワークデバイスのみロールバックを行うかを自動的に切り替えることができる管理装置を提供する。【解決手段】複数のデバイス１０３に対して、ＮＥＴＣＯＮＦを利用して、設定情報の配信を行う管理装置１０２は、複数のデバイス１０３に対して一括して設定値のコミットを要求する場合に、複数のデバイス１０３のうち１つでも前処理が失敗したときに、全てのデバイス１０３に対して設定値のロールバックを要求する。管理装置１０２は、複数のデバイス１０３のそれぞれから設定値のコミットの前処理が成功したことを示す応答がある都度、設定値のコミットを要求する場合、コミットの前処理に失敗したデバイス１０３に対して設定値のロールバックを要求する。【選択図】図１０
2018067169.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークデバイスに対して、所定のプロトコルを利用して、設定情報の配信を行う管理装置であって、
前記設定情報の配信が失敗した場合に、設定値のロールバックを行うか否かの設定を含む設定画面を提供する提供手段と、
前記設定情報の配信を行う際に、前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して前記設定値の反映指示を行う反映手段と、を有し、
前記反映手段は、
前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行う場合に、
前記複数のネットワークデバイスのうち１つでも前記設定値の反映の前処理が失敗したことを示す応答があった場合、全ての前記複数のネットワークデバイスに対して前記設定値のロールバックを要求し、
全ての前記複数のネットワークデバイスから前記設定値の反映の前処理が成功したことを示す応答があった場合、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行い、
前記設定画面を介した設定に従い、前記複数のネットワークデバイスのそれぞれから前記設定値の反映の前処理が成功したことを示す応答がある都度、前記設定値の反映指示を行う場合に、
前記設定値の反映の前処理が失敗したことを示す応答があったネットワークデバイスに対して前記設定値のロールバックを要求し、
前記設定値の反映の前処理が成功したことを示す応答があったネットワークデバイスに対して前記設定値の反映指示を行う、
ことを特徴とする管理装置。
【請求項２】
前記所定のプロトコルは、ＮＥＴＣＯＮＦである、ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記所定のプロトコルで利用される前記ネットワークデバイスの複数のデータストアは、Ｒｕｎｎｉｎｇのデータストアに加えて、Ｃａｎｄｉｄａｔｅのデータストア、及びＳｔａｒｔｕｐのデータストアの少なくともいずれかを含む、ことを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記Ｃａｎｄｉｄａｔｅのデータストアを有していないネットワークデバイスから、前記Ｒｕｎｎｉｎｇのデータストアが有する設定情報を取得する取得手段を有し、
前記反映手段は、前記Ｃａｎｄｉｄａｔｅのデータストアを有していないネットワークデバイスに対して前記設定情報の配信が失敗した場合に、該ネットワークデバイスに対して前記取得手段が取得した設定情報を用いて前記Ｒｕｎｎｉｎｇのデータストアが有する設定値のロールバックを行うように要求する、ことを特徴とする請求項３に記載の管理装置。
【請求項５】
前記設定画面は、前記設定情報に所定の設定項目を含む場合であって、前記設定情報の配信が失敗したときに、全ての前記複数のネットワークデバイスが前記設定値のロールバックを行うか否かの設定を含む、ことを特徴とする請求項１乃至４のいずれか１項に記載の管理装置。
【請求項６】
前記反映手段は、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行う場合に、
前記設定情報が所定の設定項目を含み、前記複数のネットワークデバイスのうち１つでも前記所定の設定項目に対する設定情報の検証処理が失敗したことを示す応答があった場合、全ての前記複数のネットワークデバイスに対して前記設定値のロールバックを要求し、
前記設定情報が所定の設定項目を含み、全ての前記複数のネットワークデバイスから前記所定の設定項目に対する設定情報の検証処理が成功したことを示す応答があった場合、前記所定の設定項目に対する設定値の反映の前処理を要求する、ことを特徴とする請求項１乃至４のいずれか１項に記載の管理装置。
【請求項７】
複数のネットワークデバイスに対して、所定のプロトコルを利用して、設定情報の配信を行う管理装置の制御方法であって、
前記設定情報の配信が失敗した場合に、設定値のロールバックを行うか否かの設定を含む設定画面を提供する提供工程と、
前記設定情報の配信を行い、前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して前記設定値の反映指示を行う反映工程と、を有し、
前記反映工程において、
前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行う場合に、
前記複数のネットワークデバイスのうち１つでも前記設定値の反映の前処理が失敗したことを示す応答があった場合、全ての前記複数のネットワークデバイスに対して前記設定値のロールバックを要求し、
全ての前記複数のネットワークデバイスから前記設定値の反映の前処理が成功したことを示す応答があった場合、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行い、
前記設定画面を介した設定に従い、前記複数のネットワークデバイスのそれぞれから前記設定値の反映の前処理が成功したことを示す応答がある都度、前記設定値の反映指示を行う場合に、
前記設定値の反映の前処理が失敗したことを示す応答があったネットワークデバイスに対して前記設定値のロールバックを要求し、
前記設定値の反映の前処理が成功したことを示す応答があったネットワークデバイスに対して前記設定値の反映指示を行う、
ことを特徴とする制御方法。
【請求項８】
請求項１乃至６のいずれか１項に記載の管理装置が備える各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークデバイスの設定情報を変更するためのプロトコルとして、ＮＥＴＣＯＮＦ（Ｎｅｔｗｏｒｋ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）がＲＦＣで標準化されている。ＮＥＴＣＯＮＦは、複数のネットワークデバイスの設定等を行うことを想定したプロトコルである。ＮＥＴＣＯＮＦは、例えば、トランザクションの仕組みや設定情報の検証の仕組み等を備える。以下、１つ以上の設定項目と設定値の組み合わせを「設定情報」と呼ぶ。ネットワークデバイスの管理者は、管理対象の複数のネットワークデバイスに対して、ＮＥＴＣＯＮＦを用いて設定値を変更することが可能である。
【０００３】
特許文献１は、ＮＥＴＣＯＮＦを利用して、複数のネットワークデバイスに対して構成データを提供する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１３／０１９４９７４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、画像形成装置のように多くの設定項目または設定値を有するネットワークデバイスに対して上述したようなプロトコルを利用した設定情報の配信が行われている。設定項目には、デバイス名など、複数のネットワークデバイスで設定値が重複しうる設定項目がある。その一方で、ＩＰアドレスなど、複数のネットワークデバイスにおいて設定値が重複すると動作しなくなる可能性があるために、設定値が整合性を必要とする設定項目がある。
【０００６】
設定情報の配信において、前者のような設定項目に対しては、配信対象となる全てのネットワークデバイスからの応答を待たずに、それぞれのネットワークデバイスから応答がある度に、設定値の反映指示を行えばよい。一方、後者のような設定値が整合性を必要とする設定項目に対しては、配信対象となる全てのネットワークデバイスから応答があった後に一括して設定値の反映指示を行うことが望ましい。
【０００７】
しかしながら、ユーザが、設定情報の配信を行う度に、複数のネットワークデバイスのそれぞれに設定値の反映を指示するか、または複数のネットワークデバイスに一括して設定値の反映を指示するかを決定することは手間である。さらに、設定情報の配信に失敗した場合に、配信に失敗したネットワークデバイスで設定値のロールバックを行うか、または設定情報を配信したネットワークデバイスの全てで設定値のロールバックを行うかを考慮する必要がある。
【０００８】
本発明は、複数のネットワークデバイスに対する設定情報の配信が失敗した場合に、複数のネットワークデバイスの全てでロールバックを行うか、配信に失敗したネットワークデバイスでのみロールバックを行うかを自動的に切り替えることができる管理装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の管理装置は、複数のネットワークデバイスに対して、所定のプロトコルを利用して、設定情報の配信を行う管理装置であって、前記設定情報の配信が失敗した場合に、設定値のロールバックを行うか否かの設定を含む設定画面を提供する提供手段と、前記設定情報の配信を行う際に、前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して前記設定値の反映指示を行う反映手段と、を有する。前記反映手段は、前記設定画面を介した設定に従い、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行う場合に、前記複数のネットワークデバイスのうち１つでも前記設定値の反映の前処理が失敗したことを示す応答があった場合、全ての前記複数のネットワークデバイスに対して前記設定値のロールバックを要求し、全ての前記複数のネットワークデバイスから前記設定値の反映の前処理が成功したことを示す応答があった場合、前記複数のネットワークデバイスに対して一括して前記設定値の反映指示を行い、前記設定画面を介した設定に従い、前記複数のネットワークデバイスのそれぞれから前記設定値の反映の前処理が成功したことを示す応答がある都度、前記設定値の反映指示を行う場合に、前記設定値の反映の前処理が失敗したことを示す応答があったネットワークデバイスに対して前記設定値のロールバックを要求し、前記設定値の反映の前処理が成功したことを示す応答があったネットワークデバイスに対して前記設定値の反映指示を行う。
【発明の効果】
【００１０】
本発明の管理装置によれば、複数のネットワークデバイスに対する設定情報の配信が失敗した場合に、複数のネットワークデバイスの全てでロールバックを行うか、配信に失敗したネットワークデバイスのみロールバックを行うかを自動的に切り替えることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態におけるシステム構成の一例を示す図である。
【図２】デバイスのハードウェア構成例を示す図である。
【図３】管理装置のハードウェア構成例を示す図である。
【図４】管理装置のソフトウェア構成例を示す図である。
【図５】デバイス情報テーブルの一例を示す図である。
【図６】設定配信タスクテーブルの一例を示す図である。
【図７】設定配信条件テーブルの一例を示す図である。
【図８】設定情報の配信条件設定画面の一例を示す図である。
【図９】配信タスク作成画面の一例を示す図である。
【図１０】管理装置による配信タスクの実行処理を示すフローチャートである。
【図１１】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【図１２】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【図１３】デバイスからの応答ごとに設定値の反映を指示する処理を示す図である。
【図１４】デバイスからの応答ごとに設定値の反映を指示する処理を示す図である。
【図１５】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【図１６】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【図１７】管理装置のソフトウェア構成例を示す図である。
【図１８】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【図１９】全てのデバイスに一括して設定値の反映を指示する処理を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１３】
（第１実施形態）
図１は、本発明の一実施形態におけるシステム構成の一例を示す図である。
ネットワーク１０１は、イントラネット、またはローカルエリアネットワーク（ＬＡＮ）等のネットワークである。ネットワーク１０１は、情報の送信及び受信が可能であれば、インターネットなどのパブリックネットワークでも構わない。
【００１４】
管理装置１０２は、デバイス１０３を管理する情報処理装置である。管理装置１０２は、ネットワーク１０１に接続し、ネットワーク１０１を介して接続したクライアント装置（パーソナルコンピュータ）に対して管理対象とするネットワークデバイスへの設定情報の配信タスクを作成するためのＷＥＢページを提供する。デバイス１０３は、通信プロトコルとしてＮＥＴＣＯＮＦが実装されたネットワークデバイスである。
【００１５】
本実施形態では、デバイス１０３の一例として画像形成装置を例に挙げて説明するが、デバイス１０３は、プリンタやスキャナ、ＭＦＰ等の画像形成装置に限られるものではない。デバイス１０３は、例えば、ネットワーク中継機器（ルータ）やネットワークカメラ等の機器をであってもよい。
【００１６】
なお、本実施形態では、管理装置１０２は、通信プロトコルとしてＮＥＴＣＯＮＦプロトコルを用いるが、これに限られるものではない。管理装置１０２が用いるプロトコルは、ネットワークデバイスを制御するための所定のプロトコルであって、例えば、ネットワークデバイスで確保される設定情報を管理する複数のデータストア（領域）を利用した設定操作を制御するための要求を定義している。
【００１７】
ＮＥＴＣＯＮＦにおける複数のデータストアは、Ｒｕｎｎｉｎｇのデータストアに加えて、Ｃａｎｄｉｔａｔｅのデータストア、及びＳｔａｒｔｕｐのデータストアの少なくともいずれかを含む。Ｒｕｎｎｉｎｇのデータストアとは、現在の設定情報を保持する領域であり、デバイス上でアクティブなデータストアである。
【００１８】
Ｃａｎｄｉｄａｔｅのデータストアとは、設定情報を一時的に保持する領域であり、ＮＥＴＣＯＮＦで定義されるデバイスの現在の構成に影響を与えることなく操作することができるアクティブでないデータストアである。Ｓｔａｒｔｕｐのデータストアとは、デバイスの起動時に反映する設定情報を保持する領域である。Ｒｕｎｎｉｎｇのデータストアは、ＮＥＴＣＯＮＦの仕様上必須のデータストアであり、Ｃａｎｄｉｄａｔｅ及びＳｔａｒｔｕｐのデータストアは、仕様上オプションのデータストアである。
【００１９】
図２は、デバイス１０３の主要部のハードウェア構成例を示すブロック図である。
デバイス１０３は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、ネットワークＩ／Ｆ（インターフェース）２０５、内部バス２０６、デバイス制御部２０７、定着器等を含む印刷部２０８、及び入出力制御部２０９を備える。
【００２０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、所定のプログラムを実行し、デバイス１０３の制御を指定するユニットである。ＣＰＵ２０１は、内部バス２０６を介して各ブロックを統括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１のメモリ、またはワークエリア等の一時記憶領域として機能する。ネットワークＩ／Ｆ２０５は、ネットワーク１０１を介して、外部のネットワークデバイス、またはパーソナルコンピュータ（ＰＣ）と片方向または双方向にデータを送受信する。
【００２１】
デバイス制御部２０７は、印刷部２０８を制御する。ＣＰＵ２０１は、ＲＡＭ２０２やＲＯＭ２０３を用いてプログラムを実行するとともに、ＨＤＤ２０４等の記録媒体に画像データを記録する。ＨＤＤ２０４は、外部記憶装置として機能し、画像データ等を記憶するほか、ＲＡＭ２０２に代わってデバイス１０３の設定情報を保存することも可能である。
【００２２】
図３は、管理装置１０２のハードウェア構成例を示すブロック図である。
管理装置１０２は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、及びネットワークＩ／Ｆ３０５を備える。ＣＰＵ３０１は、ＲＯＭ３０２に記憶された制御プログラムを読みだして各種制御処理を実行する。ＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、またはワークエリア等の一時記憶領域として機能する。
【００２３】
ＨＤＤ３０４は、各種プログラムや、デバイス１０３のリスト等各種プログラムで利用されるデータを記憶する。ネットワークＩ／Ｆ３０５は、管理装置１０２をネットワーク１０１に接続する。ネットワークＩ／Ｆ３０５は、ネットワーク１０１を介して他の装置との間で各種情報を送受信する。
【００２４】
図４は、管理装置１０２上で稼働するデバイス管理ソフトウェア４００の構成例を示す図である。
デバイス管理ソフトウェア４００は、ＵＩ制御部４０１、デバイス管理部４０２、設定配信管理部４０３、設定情報配信部４０４、探索部４０５、通信部４０６、及びデータベースを備える。データベースは、デバイス情報テーブル４０７、設定配信タスクテーブル４０８、及び設定配信条件テーブル４０９を含む。
【００２５】
ＵＩ制御部４０１は、デバイス１０３の管理者がデバイス管理ソフトウェア４００を操作するためのＧＵＩ（グラフィカルユーザインターフェース）を提供する。ユーザは、ＧＵＩでデバイス１０３の設定情報の配信タスクを作成することができる。作成した設定情報の配信タスクは、設定配信タスクテーブル４０８に格納される。デバイス管理ソフトウェア４００は、設定配信タスクテーブル４０８において、ユーザが作成した設定情報の配信タスクの実行結果を管理する。
【００２６】
ユーザは、ＵＩ制御部４０１を介して、設定情報の配信タスクの実行結果を含む設定配信タスクテーブルの情報を閲覧できる。ＧＵＩは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて、クライアントＰＣから利用可能なＷｅｂアプリケーションとして構成される。なお、ＧＵＩは、管理装置１０２に備え付けられたディスプレイに表示されるような構成としても良い。
【００２７】
デバイス管理部４０２は、探索部４０５を介してネットワーク１０１に接続されたデバイス１０３を探索する。デバイス管理部４０２は、探索によって発見されたデバイス１０３に対して、さらに通信部４０６を介してデバイス１０３の詳細情報を取得することも可能である。デバイス１０３の詳細情報は、例えば、デバイス１０３の機種名、シリアルナンバー、能力、状態、またはアドレス帳等である。
【００２８】
デバイス管理部４０２は、デバイス１０３の所在情報、及びデバイス１０３の詳細情報をデバイス情報テーブル４０７に格納する。デバイス１０３の所在情報は、例えば、ＩＰアドレス等である。ユーザは、ＵＩ制御部４０１を介して、デバイス管理部４０２が登録したデバイス情報テーブル４０７の情報を閲覧できる。
【００２９】
設定配信管理部４０３は、ユーザがＧＵＩで設定した情報を基に、設定情報配信部４０４を介してデバイス１０３の設定情報を配信する。設定配信管理部４０３は、デバイス１０３へ設定情報を配信した結果に応じて、配信対象とした個々のデバイス１０３に対して設定情報を元に戻すように要求する。また、設定配信管理部４０３は、デバイス１０３へ設定情報を配信した結果に応じて、配信対象とした全てのデバイス１０３に対して設定情報を元に戻すように要求する。
【００３０】
本実施形態では、所定の設定項目が配信項目として設定された場合、設定配信管理部４０３は、配信結果に応じて配信対象とした全てのデバイス１０３に対して設定情報を元に戻すように要求する。所定の設定項目は、ＧＵＩで設定可能であり、所定の設定項目に設定された設定項目は、設定配信条件テーブル４０９に格納される。なお、ＧＵＩ上で、特定のデバイス１０３に対して設定情報を戻すように要求するか、全てのデバイス１０３に対して設定情報を戻すように要求するかを明示的に選択する構成であってもよい。
【００３１】
本実施形態における設定情報配信部４０４は、通信プロトコルとしてＮＥＴＣＯＮＦを用いてデバイス１０３へ設定情報を配信する。なお、通信プロトコルは、ＮＥＴＣＯＮＦに限定されるものではなく、トランザクションの仕組みを有する通信プロトコルであれば他の通信プロトコルを用いてもよい。
【００３２】
図５は、デバイス情報テーブル４０７の一例を示す図である。
デバイス情報テーブル４０７は、各デバイス１０３の詳細情報を含むデバイスの一覧である。デバイス情報テーブル４０７はカラム５０１〜５０４から構成される。カラム５０１には、シリアルナンバー（シリアルＮｏ．）が格納される。シリアルナンバーは、各デバイス１０３を一意に特定することができる識別情報である。シリアルナンバーは、デバイス１０３を一意に特定することができるＩＤであればどのような情報を用いてもよい。
【００３３】
カラム５０２には、各デバイス１０３に設定されているデバイス名が格納される。カラム５０３には、デバイス１０３の所在情報としてＩＰアドレスが格納される。カラム５０４には、デバイス１０３が所定のプロトコルであるＮＥＴＣＯＮＦを実装しているか否かの情報が格納される。なお、デバイス情報テーブル４０７は、カラム５０１〜５０４に格納される情報以外に、デバイス１０３から取得できるその他のデバイス１０３に関する詳細情報等、任意の情報を含んでいてもよい。
【００３４】
図６は、設定配信タスクテーブル４０８の一例を示す図である。
設定配信タスクテーブル４０８は、ユーザが設定情報の配信タスク作成画面（図９）において作成した設定情報の配信タスクの一覧である。設定配信タスクテーブル４０８には、ユーザが配信タスクを作成する際に設定した設定情報や、配信タスクの実行結果が格納される。詳細には、設定配信タスクテーブル４０８は、カラム６０１〜６０５から構成される。
【００３５】
カラム６０１には、配信タスクを一意に識別する値として、タスクＩＤが格納される。カラム６０２には、ユーザが配信タスクを作成した際に設定する配信タスクの名前（タスク名）が格納される。カラム６０３には、配信タスクの対象、すなわち設定情報が配信される対象とするデバイス１０３のシリアルナンバーが格納される。設定情報の配信対象とするデバイス１０３は、ユーザが配信タスク作成画面（図９）において選択したデバイス１０３である。なお、カラム６０３に格納する情報は、配信対象とするデバイス１０３を特定できる情報であればシリアルナンバーでなくても良い。
【００３６】
カラム６０４には、配信対象とするデバイス１０３に配信される設定情報が格納される。カラム６０５には、設定情報の配信を実行した結果が格納される。なお、設定配信タスクテーブル４０８は、カラム６０１〜６０５に格納される情報以外に、その他の情報を含んでいてもよい。例えば、設定配信タスクテーブル４０８は、設定情報の配信を即時に行うか所定の日時に行うか、または定期的に行うか、など配信のタイミングを示す情報や、設定情報の配信状況（ステータス）を示す情報等を含んでいてもよい。
【００３７】
図７は、設定配信条件テーブル４０９の一例を示す図である。
設定配信条件テーブル４０９は、設定情報の配信に係る条件を格納する。詳細には、設定配信条件テーブル４０９は、カラム７０１及び７０２から構成される。カラム７０１には、設定情報の配信対象となる設定項目の名前が格納される。配信対象となる設定項目は、シリアル番号や製品名等のネットワークデバイスの識別情報や、ネットワーク設定等を含む。
【００３８】
また、その他の設定項目として、例えば、文書の配信機能を有するネットワークデバイスにはアドレス帳を含みうる。また、その他の設定項目として、例えば、アプリケーションを追加インストールできるネットワークデバイスにはインストールするアプリケーションの情報等を含みうる。カラム７０２には、当該設定項目に対する設定値の反映指示が、配信対象となる全てのデバイス１０３において一括して行われるべき項目であるか否かを示す情報が格納される。
【００３９】
なお、本実施形態では、１つの設定配信タスクテーブル４０８（図６）に対して１つの設定配信条件テーブル４０９（図７）を有する構成で説明している。すなわち、複数の設定情報の配信タスクに対して１つの設定情報の配信条件を有する構成として説明しているが、これに限られるものではない。例えば、設定情報の配信タスク毎に設定情報の配信条件を設定できるような構成であってもよい。
【００４０】
図８は、ＵＩ制御部４０１が有する設定配信条件設定画面の一例を示す図である。
設定配信条件設定画面８００では、設定情報の配信が失敗した場合の、デバイス１０３に対する設定値のロールバックの要求に関する設定が行われる。本実施形態では、設定情報の配信対象とする設定項目に応じて、配信対象の全てのデバイス１０３に対して設定値のロールバックの要求を行うか、または配信対象の特定のデバイスに対して設定値のロールバックの要求を行うかを設定できる。
【００４１】
チェックボックス８０１は、設定情報の配信が失敗した場合に、管理装置１０２がデバイス１０３に対してロールバックの要求を行うか否かを設定する。チェックボックス８０１がチェックされていない場合は、デバイス１０３において設定情報の配信に失敗した場合であっても設定値のロールバックは行われない。チェックボックス８０２では、設定項目一覧８０３で選択された設定項目が設定情報の配信対象であって、配信対象のデバイス１０３のうち１台でも配信が失敗したとき、配信対象の全てのデバイス１０３に対して設定値のロールバックを要求するかを設定する。
【００４２】
チェックボックス８０２がチェックされていない場合は、設定情報の配信が失敗した場合に、管理装置１０２は、当該配信に失敗した個々のデバイス１０３に対して、設定値のロールバックを要求する。設定項目一覧８０３では、設定情報の配信対象とする設定項目を選択する。設定項目一覧８０３で選択された設定項目と、設定情報の配信対象とする設定項目とが合致し、かつ設定情報の配信に失敗した場合に、管理装置１０２は、設定情報の配信対象の全てのデバイス１０３に対して設定値のロールバックを要求する。
【００４３】
設定情報の配信対象とする設定項目が、設定項目一覧８０３で選択されてない設定項目のみの場合は、管理装置は、設定情報の配信に失敗したデバイス１０３に対してのみ設定値のロールバックを要求する。設定ボタン８０４が押下されると、設定配信条件設定画面８００で設定された内容が設定配信条件テーブル４０９に登録される。キャンセルボタン８０５が押下されると、設定配信条件設定画面８００で設定された内容が破棄される。
【００４４】
図９は、ＵＩ制御部４０１が有する設定情報の配信タスク作成画面の一例を示す図である。
テキストボックス９０１では、作成するタスクのタスク名を入力する。デバイスリスト９０２は、配信対象とするデバイスの一覧を表示する。デバイスリスト９０２には、デバイス情報テーブル４０７に格納されたデバイス１０３を表示する。
【００４５】
なお、本実施形態では、ＮＥＴＣＯＮＦを利用して設定情報の配信を行うため、デバイスリスト９０２には、デバイス情報テーブル４０７のカラム５０４の値が「ＴＲＵＥ」となるデバイス１０３のみが表示される。ユーザは、表示されたデバイスリスト９０２から設定情報の配信対象とするデバイス１０３を選択する。
【００４６】
設定項目リスト９０３は、配信対象とする設定項目の一覧を表示する。設定項目リスト９０３では、デバイスリスト９０２で選択されたデバイス１０３に対して配信する設定情報の設定項目を選択する。ユーザは、配信したい設定情報の設定項目をチェックする。配信ボタン９０４が押下されると、配信タスク作成画面９００で設定された内容に応じて設定情報の配信に係る処理が実行される。
【００４７】
なお、設定情報の配信は、配信ボタン９０４が押下された後、即時に実行されても良く、また配信タスク作成画面９００において設定された時間（不図示）に実行されても良い。キャンセルボタン９０５が押下されると、配信タスク作成画面９００で設定された内容が破棄される。
【００４８】
図１０は、配信タスク作成画面９００で作成した配信タスクを管理装置１０２が実行する処理を説明するためのフローチャートである。
ステップＳ１００１において、設定配信管理部４０３は、設定配信条件テーブル４０９から設定情報の配信条件を取得する。ステップＳ１００２において、設定配信管理部４０３は、ステップＳ１００１で取得した配信条件と、設定項目リスト９０３で設定された配信対象とする設定項目とを比較する。
【００４９】
設定配信管理部４０３は、配信タスクに含まれる、すなわち該配信タスクで配信対象とする設定項目の中に、配信条件として登録されている設定項目があるか否かを判断する。配信対象とする設定項目の中に配信条件として登録されている設定項目がある場合、処理はステップＳ１００３に進み、配信対象とする設定項目の中に配信条件として登録されている設定項目がない場合、処理はステップＳ１００４に進む。
【００５０】
ステップＳ１００３において、設定情報配信部４０４は、配信対象とする全てのデバイス１０３に対して一括して設定値の反映指示を行うように配信に係る処理を実行する。ここでの配信処理の詳細については、図１１を用いて後述する。ステップＳ１００４において、設定情報配信部４０４は、配信対象とするデバイスからの応答毎に設定値の反映指示を行うように配信に係る処理を実行する。
【００５１】
ここでの配信処理の詳細については、図１３及び図１４を用いて後述する。ステップＳ１００５において、設定配信管理部４０３は、ステップＳ１００３及びＳ１００４で実行した配信処理の実行結果を設定配信タスクテーブル４０８に格納する。
【００５２】
図１１及び図１２は、図１０のステップＳ１００３において配信対象とする全てのデバイスに対して一括して設定値の反映指示を行う配信処理の詳細を示すフローチャートである。
本実施形態では、配信対象の全てのデバイス１０３に対する設定情報の配信が成功した場合に、配信結果を成功とする。
【００５３】
管理装置１０２は、配信対象のデバイス１０３のうち１台でも配信が失敗した場合は、配信対象の全てのデバイス１０３に対して設定値のロールバックを要求する。ここで、配信対象のデバイス１０３とは、設定配信タスクテーブル４０８において、対応する配信タスクのカラム６０３に格納されているデバイス１０３のことである。
【００５４】
ステップＳ１１０１において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対してセッションの確立を行う。すなわち、設定配信タスクテーブル４０８において、対応する配信タスクのカラム６０３に格納されているデバイス１０３に対してセッションの確立を行う。
【００５５】
ステップＳ１１０２において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対してセッションの確立ができたか判断する。全てのデバイス１０３に対してセッションの確立ができた場合、処理はステップＳ１１０３に進む。一方、配信対象のデバイス１０３のうち１台でもセッションの確立ができないデバイス１０３がある場合、処理はステップＳ１１１５に進む。
【００５６】
ステップＳ１１０３において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対してＣａｎｄｉｄａｔｅのデータストアの排他ロックを要求する。Ｃａｎｄｉｄａｔｅのデータストアとは、設定情報を一時的に保持する領域であり、ＮＥＴＣＯＮＦで定義されるデバイス１０３の現在の構成に影響を与えることなく操作することができるアクティブでないデータストアである。
【００５７】
ステップＳ１１０４において、設定情報配信部４０４は、配信対象の全てのデバイス１０３が排他ロックに成功したか判断する。配信対象の全てのデバイス１０３が排他ロックに成功した場合、処理はステップＳ１１０５に進み、１台でも排他ロックに失敗したデバイスがある場合、処理はステップＳ１１１４に進む。
【００５８】
ステップＳ１１０５において、設定情報配信部４０４は、ステップＳ１１０３でＣａｎｄｉｄａｔｅのデータストアの排他ロックを行ったデバイスに対して配信タスク作成画面９００の設定項目リスト９０３で選択された設定項目に関する設定情報を配信する。配信される設定情報は、設定配信タスクテーブル４０８の該当する配信タスクにおいて、カラム６０３に格納された設定情報である。そして、設定情報配信部４０４は、デバイス１０３にｖａｌｉｄａｔｅ処理（検証処理）を要求する。デバイス１０３は、ｖａｌｉｄａｔｅ処理において、主に配信された設定情報のｓｙｎｔａｘエラーをチェックする。
【００５９】
ステップＳ１１０６において、設定情報配信部４０４は、各デバイス１０３からｖａｌｉｄａｔｅ処理が成功したか否かを示す応答を受け取る。これにより、設定情報配信部４０４は、配信対象の全てのデバイス１０３がｖａｌｉｄａｔｅ処理に成功したか判断する。配信対象の全てのデバイス１０３がｖａｌｉｄａｔｅ処理に成功した場合、処理はステップＳ１１０７（図１２）に進み、１台でもｖａｌｉｄａｔｅ処理に失敗したデバイス１０３がある場合、処理はステップＳ１１１３に進む。
【００６０】
ステップＳ１１０７において、設定情報配信部４０４は、デバイス１０３に対してコミットの前処理を要求する。コミットの前処理では、タイムアウトを設定することができ、例えば、配信対象の全てのデバイス１０３に対してコミットの前処理が完了するまで他の処理を止めておくことが可能である。タイムアウトが発生した場合、すなわち、所定の時間を超えてもデバイス１０３においてコミットの前処理が完了しない場合、設定情報配信部４０４は、設定配信管理部４０３に返り値としてエラー、すなわち配信処理が失敗したことを示す情報を返却する。
【００６１】
ステップＳ１１０８において、設定情報配信部４０４は、各デバイス１０３からコミットの前処理が成功したか否かを示す応答を受け取る。これにより、設定情報配信部４０４は、配信対象の全てのデバイス１０３がコミットの前処理に成功したかを判断する。全てのデバイス１０３がコミットの前処理に成功した場合、処理はステップＳ１１０９に進む。１台でもコミットの前処理に失敗したデバイス１０３がある場合、処理はステップＳ１１１２に進む。
【００６２】
ステップＳ１１０９において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対して一括してコミット処理を要求する。すなわち、設定情報配信部４０４は、デバイス１０３に対して配信した設定値の反映指示を一括して行う。デバイス１０３は、コミット処理の要求を受けると、Ｃａｎｄｉｄａｔｅのデータストアに配信された設定情報をＲｕｎｎｉｎｇのｄａｔａｓｔｏｒｅに反映させる。Ｒｕｎｎｉｎｇのデータストアとは、現在の設定情報を保持する領域であり、デバイス１０３上でアクティブなデータストアである。
【００６３】
ステップＳ１１１０において、設定情報配信部４０４は、デバイス１０３に対して排他ロックの解除を要求する。ステップＳ１１１１において、設定情報配信部４０４は、デバイス１０３とのセッションを閉じて処理を終了する。設定情報配信部４０４は、設定配信管理部４０３に返り値として配信処理が成功したことを示す情報を返却する。
【００６４】
ステップＳ１１１２において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対してコミットキャンセルを要求する。ステップＳ１１１３において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対して、Ｃａｎｄｉｄａｔｅのデータストアの状態を元に戻すよう要求する。すなわち、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対して、設定値のロールバックを要求する。
【００６５】
具体的には、設定情報配信部４０４からの要求を受けたデバイス１０３は、Ｒｕｎｎｉｎｇのデータストアの情報をＣａｎｄｉｄａｔｅのデータストアにコピーすることによりＣａｎｄｉｄａｔｅのデータストアを元に戻す。すなわち、デバイス１０３は、Ｃａｎｄｉｄａｔｅのデータストアの設定値をロールバックする。
【００６６】
ステップＳ１１１４において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対してＣａｎｄｉｄａｔｅのデータストアの排他ロックの解除を要求する。ステップＳ１１１５において、設定情報配信部４０４は、配信対象の全てのデバイス１０３とのセッションを閉じて処理を終了する。設定情報配信部４０４は、設定配信管理部４０３に返り値として配信処理が失敗したことを示す情報を返却する。
【００６７】
図１３及び１４は、図１０のステップＳ１００４において配信対象とするデバイス１０３からの応答毎に設定値の反映指示を行う配信処理の詳細を示すフローチャートである。
本実施形態では、設定情報の配信に失敗したデバイス１０３がある場合は、該失敗したデバイスに対してのみ設定値のロールバックを要求する。すなわち、１つのデバイス１０３に対する配信結果は、他のデバイス１０３に対する配信の成否には影響しない。
【００６８】
なお、設定情報の配信処理は、１つ１つのデバイス１０３に対して順次行ってもよく、また複数スレッドを立てて並列に行ってもよい。図１３及び図１４に示す例では、配信処理は、配信対象のデバイス１０３に対して順次行われる。すなわち、以下で説明するステップＳ１２０１〜Ｓ１２１６の処理が配信対象のデバイス１０３毎に繰り返し実行される。
【００６９】
ステップＳ１２０１において、設定情報配信部４０４は、デバイス１０３に対してセッションの確立を行う。ステップＳ１２０２において、設定情報配信部４０４は、デバイス１０３に対してセッションの確立ができたか判断する。デバイス１０３に対してセッションの確立ができた場合、処理はステップＳ１２０３に進み、セッションの確立ができない場合、処理はステップＳ１２１５（図１２）に進む。
【００７０】
ステップＳ１２０３において、設定情報配信部４０４は、デバイス１０３に対してＣａｎｄｉｄａｔｅのデータストアの排他ロックを要求する。ステップＳ１２０４において、設定情報配信部４０４は、デバイス１０３が排他ロックに成功したか判断する。デバイス１０３が排他ロックに成功した場合、処理はステップＳ１２０５に進み、排他ロックに失敗した場合、処理はステップＳ１２１５（図１４）に進む。
【００７１】
ステップＳ１２０５において、設定情報配信部４０４は、ステップＳ１２０３で排他Ｃａｎｄｉｄａｔｅのデータストアの排他ロックを行ったデバイスに対して配信タスク作成画面９００の設定項目リスト９０３で選択された設定項目に関する設定情報を配信する。そして、設定情報配信部４０４は、デバイス１０３にｖａｌｉｄａｔｅ処理を要求する。デバイス１０３は、ｖａｌｉｄａｔｅ処理において、主に配信された設定情報のｓｙｎｔａｘエラーをチェックする。
【００７２】
ステップＳ１２０６（図１３）において、設定情報配信部４０４は、デバイス１０３からｖａｌｉｄａｔｅ処理が成功したか否かを示す応答を受け取る。これにより、設定情報配信部４０４は、デバイス１０３がｖａｌｉｄａｔｅ処理に成功したか判断する。デバイス１０３がｖａｌｉｄａｔｅ処理に成功した場合、処理はステップＳ１２０７に進み、ｖａｌｉｄａｔｅ処理に失敗した場合、処理はステップＳ１２１３に進む。ステップＳ１２０７において、設定情報配信部４０４は、デバイス１０３に対してコミットの前処理を要求する。
【００７３】
ステップＳ１２０８において、設定情報配信部４０４は、デバイス１０３からコミットの前処理が成功したか否かを示す応答を受け取る。これにより、設定情報配信部４０４は、デバイス１０３がコミットの前処理に成功したかを判断する。デバイス１０３がコミットの前処理に成功した場合、処理はステップＳ１２０９に進み、コミットの前処理に失敗した場合、処理はステップＳ１２１２に進む。
【００７４】
ステップＳ１２０９において、設定情報配信部４０４は、デバイス１０３に対してコミット処理を要求する。すなわち、設定情報配信部４０４は、配信対象のデバイス１０３のそれぞれからコミットの前処理が成功したことを示す応答がある都度、該デバイス１０３に対して配信した設定値の反映指示を行う。デバイス１０３は、コミット処理の要求を受けると、Ｃａｎｄｉｄａｔｅのデータストアに配信された設定情報をＲｕｎｎｉｎｇのデータストアに反映させる。ステップＳ１２１０において、設定情報配信部４０４は、デバイス１０３に対して排他ロックの解除を要求する。
【００７５】
ステップＳ１２１１において、設定情報配信部４０４は、デバイス１０３とのセッションを閉じて処理を終了する。ステップＳ１２１２において、設定情報配信部４０４は、デバイス１０３に対してコミットキャンセルを要求する。ステップＳ１２１３において、設定情報配信部４０４は、デバイス１０３に対してＣａｎｄｉｄａｔｅのデータストアの状態を元に戻すよう要求する。すなわち、設定情報配信部４０４は、コミットの前処理に失敗したネットワークデバイスに対してのみ設定値のロールバックを要求する。
【００７６】
具体的には、設定情報配信部４０４からの要求を受けたデバイス１０３は、Ｒｕｎｎｉｎｇのデータストアの情報をＣａｎｄｉｄａｔｅのデータストアにコピーすることによりＣａｎｄｉｄａｔｅのデータストアを元に戻す。すなわち、デバイス１０３は、Ｃａｎｄｉｄａｔｅのデータストアの設定値をロールバックする。
【００７７】
ステップＳ１２１４において、設定情報配信部４０４は、デバイス１０３に対してＣａｎｄｉｄａｔｅのデータストアの排他ロックの解除を要求する。ステップＳ１２１５において、設定情報配信部４０４は、デバイス１０３とのセッションを閉じて処理を終了する。ステップＳ１２１６において、設定情報配信部４０４は、配信処理に失敗したデバイス１０３の情報を失敗デバイスリストに登録する。配信対象の全てのデバイスに対してステップＳ１２０１〜Ｓ１２１６の処理が完了すると、設定情報配信部４０４は、設定配信管理部４０３に失敗デバイスリストを返却する。
【００７８】
以上のように、本実施形態によれば、管理装置１０２は、複数のネットワークデバイスに対する設定情報の配信が失敗した場合に、以下の動作を自動的に切り替えることができる。すなわち、管理装置１０２は、複数のネットワークデバイスの全てに対して設定値のロールバックを要求するか、特定のネットワークデバイスに対してのみ設定値のロールバックを要求するかを自動的に切り替えることができる。
【００７９】
（第２実施形態）
第１実施形態では、管理装置１０２は、設定情報の配信処理に失敗した際に、配信対象の全てのデバイス１０３に対してロールバックを要求するか、特定のデバイスに対してロールバックを要求するかを、配信される設定情報の設定項目に応じて切り替えた。しかし、配信対象の全てのデバイスに対して一括して設定値の反映指示を行う必要がある設定項目と、デバイスからの応答毎に設定値の反映指示を行えば良い設定項目とが混在する場合がある。
【００８０】
このような場合に、配信対象の全てのデバイスに対して一括して設定値の反映指示を行う必要がある設定項目では成功し、それ以外の項目で失敗したことにより配信処理が失敗すると、配信対象の全てのデバイスにおいて設定値のロールバックが行われる。すなわち、再度配信処理を行う必要がある。本実施形態では、配信される設定情報に含まれる設定項目のうち、一部の設定項目に関する配信が失敗した場合に、管理装置がどのように設定値のロールバックを要求するかについて説明する。なお、本実施形態では、第１実施形態との差異についてのみ説明する。
【００８１】
図１５及び図１６は、本実施形態における図１０のステップＳ１００３の処理すなわち、配信対象とする全てのデバイスに対して一括して設定値の反映指示を行う配信処理の詳細を示すフローチャートである。
ステップＳ１３０１は、ステップＳ１１０６において、配信対象のデバイス１０３のうち、１台でもｖａｌｉｄａｔｅ処理に失敗したデバイス１０３がある場合に呼び出される。
【００８２】
ステップＳ１３０１において、設定情報配信部４０４は、ステップＳ１１０５でｖａｌｉｄａｔｅ処理に失敗した設定項目が、一括して設定値の反映指示を行う必要がある所定の設定項目であるか否かを判断する。ｖａｌｉｄａｔｅ処理に失敗した設定項目が所定の設定項目を含む場合、処理はステップＳ１１１３に進む。ｖａｌｉｄａｔｅ処理に失敗した設定項目が、所定の設定項目を含まない場合、処理はステップＳ１３０２（図１６）へ進む。
【００８３】
ステップＳ１３０２において、設定情報配信部４０４は、ｖａｌｉｄａｔｅ処理に失敗したデバイス１０３に対して所定の設定項目に関する設定情報のみを配信し、処理はステップＳ１１０７に進む。すなわち、一括して設定値の反映指示を行う必要がある所定の設定項目に関する配信処理は進められ、所定の設定項目以外の設定項目に対するｖａｌｉｄａｔｅ処理の成否にかかわらず、ステップＳ１１０７のコミットの前処理が実行される。
【００８４】
（第３実施形態）
第１実施形態及び第２実施形態では、設定情報の配信対象のデバイスは、Ｃａｎｄｉｄａｔｅのデータストアを有することが前提である。しかしながら、管理装置１０２が管理対象とするデバイス１０３にはＣａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３も含まれる可能性がある。ＮＥＴＣＯＮＦにおいて、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して、第１実施形態及び第２実施形態に含まれるコミット処理はサポートされていない。
【００８５】
このため、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３では第１実施形態及び第２実施形態で説明した設定情報の配信処理が失敗してしまう可能性がある。これに対して、本実施形態では、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して予めＲｕｎｎｉｎｇのデータストアから設定情報を取得しておく。これにより、配信処理に失敗した場合であってもデバイス１０３が設定値のロールバックを行えるようにする。
【００８６】
図１７は、本実施形態における管理装置１０２上で稼働するデバイス管理ソフトウェア４００の構成例を示す図である。
デバイス管理ソフトウェア４００と第１実施形態のデバイス管理ソフトウェア４００との差異は、本実施形態におけるデバイス管理ソフトウェア４００が設定情報取得部１４０１を有する点である。
【００８７】
設定情報取得部１４０１は、デバイス１０３からデバイス１０３に登録されている設定情報を取得することが可能である。なお、本実施形態では、デバイス１０３の設定情報は、設定情報の配信時に取得されるが、これに限られるものではなく、事前に取得しておき、管理装置１０２のデータベースで管理していてもよい。
【００８８】
図１８及び図１９は、本実施形態における図１０のステップＳ１００３の処理、すなわち、配信対象とする全てのデバイスに対して一括して設定値の反映指示を行う配信処理の詳細を示すフローチャートである。
ステップＳ１５０１において、設定情報配信部４０４は、設定情報の配信対象の全てのデバイス１０３に対してセッションの確立を行い、能力交換を行う。能力交換を行うことで、配信対象のデバイス１０３がＣａｎｄｉｄａｔｅのデータストアを有するか否かを確認できる。
【００８９】
ステップＳ１５０２において、設定情報配信部４０４は、配信対象の全てのデバイス１０３に対して、それぞれのデバイス１０３が処理対象とするデータストアの排他ロックを要求する。具体的には、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対しては、Ｃａｎｄｉｄａｔｅのデータストアの排他ロックを要求する。Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対しては、Ｒｕｎｎｉｎｇのデータストアの排他ロックを要求する。
【００９０】
ステップＳ１５０３は、ステップＳ１１０４で配信対象の全てのデバイス１０３が排他ロックに成功した場合に呼び出される。ステップＳ１５０３において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対して設定情報を配信し、ｖａｌｉｄａｔｅ処理を要求する。Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対しては何もしない。
【００９１】
ステップＳ１５０４において、Ｃａｎｄｉｄａｔｅのデータストアを有する全てのデバイス１０３が、ｖａｌｉｄａｔｅ処理に成功したか判断する。Ｃａｎｄｉｄａｔｅのデータストアを有する全てのデバイス１０３がｖａｌｉｄａｔｅ処理に成功した場合、処理はステップＳ１５０５（図１８）に進む。一方、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３のうち、１台でもｖａｌｉｄａｔｅ処理に失敗したデバイス１０３がある場合、処理はステップＳ１５１３に進む。
【００９２】
ステップＳ１５０５において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対してコミットの前処理を要求する。ステップＳ１５０６において、Ｃａｎｄｉｄａｔｅのデータストアを有する全てのデバイス１０３がコミットの前処理に成功したかを判断する。
【００９３】
Ｃａｎｄｉｄａｔｅのデータストアを有する全てのデバイス１０３がコミットの前処理に成功した場合、処理はステップＳ１５０７に進み、１台でもコミットの前処理に失敗したデバイス１０３がある場合、処理はステップＳ１５１２に進む。ステップＳ１５０７において、設定情報取得部１４０１は、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３からＲｕｎｎｉｎｇのデータストアの情報を取得する。
【００９４】
ステップＳ１５０８において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して設定情報の配信を行う。ステップＳ１５０９において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して設定情報の配信処理が成功したか判断する。
【００９５】
Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して配信処理が成功した場合、処理はステップＳ１５１０に進む。一方、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して配信処理が失敗した場合、処理はステップＳ１５１１に進む。
【００９６】
ステップＳ１５１０において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対してコミット処理を要求する。ステップＳ１５１１において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対して設定値のロールバックを要求する。具体的には、設定情報配信部４０４がステップＳ１５０７でデバイス１０３から取得したＲｕｎｎｉｎｇのデータストアの設定情報を、再度Ｒｕｎｎｉｎｇのデータストアに対して配信する。デバイス１０３は、該配信された設定情報をＲｕｎｎｉｎｇのデータストアにコピーすることによりＲｕｎｎｉｎｇのデータストアの設定値をロールバックする。
【００９７】
ステップＳ１５１２において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対してコミットキャンセルを要求する。Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対しては何もしない。ステップＳ１５１３において、設定情報配信部４０４は、Ｃａｎｄｉｄａｔｅのデータストアを有するデバイス１０３に対して、Ｃａｎｄｉｄａｔｅのデータストアの状態を元に戻すよう要求する。
【００９８】
具体的には、設定情報配信部４０４からの要求を受けたデバイス１０３は、Ｒｕｎｎｉｎｇのデータストアの情報をＣａｎｄｉｄａｔｅのデータストアにコピーすることによりＣａｎｄｉｄａｔｅのデータストアを元に戻す。すなわち、デバイス１０３は、Ｃａｎｄｉｄａｔｅのデータストアの設定値をロールバックする。Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３に対しては何もしない。
【００９９】
このように、本実施形態によれば、Ｃａｎｄｉｄａｔｅのデータストアを有していないデバイス１０３が設定情報の配信対象に含まれている場合であって、配信処理に失敗したとき、設定値のロールバックを要求することが可能となる。
【０１００】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０１】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2018067169.tif 000003
【図２】
2018067169.tif 000004
【図３】
2018067169.tif 000005
【図４】
2018067169.tif 000006
【図５】
2018067169.tif 000007
【図６】
2018067169.tif 000008
【図７】
2018067169.tif 000009
【図８】
2018067169.tif 000010
【図９】
2018067169.tif 000011
【図１０】
2018067169.tif 000012
【図１１】
2018067169.tif 000013
【図１２】
2018067169.tif 000014
【図１３】
2018067169.tif 000015
【図１４】
2018067169.tif 000016
【図１５】
2018067169.tif 000017
【図１６】
2018067169.tif 000018
【図１７】
2018067169.tif 000019
【図１８】
2018067169.tif 000020
【図１９】
2018067169.tif 000021