(57)【要約】  管理対象装置の資源情報を定期的に収集してキャッシュに蓄積する資源情報提供装置を階層化した資源情報提供システムにおいて、資源情報に対する最大許容経過時間を指定した経過時間指定要求が資源情報を要求する要求元から入力された場合、資源情報提供装置は、資源情報が管理対象装置から収得されてから要求元に届くまでの最大経過時間を求め、要求元から入力された最大許容経過時間を超えるかどうかを判定する。超える場合、自装置の収集間隔を最大経過時間から最大許容経過時間を差し引いた時間だけ短縮する。
2008056670.tif 000002
【特許請求の範囲】
【請求項１】
資源情報を格納する管理対象装置と、
前記管理対象装置から前記資源情報を定期的に収集して格納し、且つ、前記管理対象装置から前記資源情報を要求する要求元までの前記資源情報の伝搬経路上に階層化された複数の資源情報提供装置と、
前記資源情報が前記管理対象装置によって取得されてから前記要求元に届くまでの最大経過時間が、前記要求元によって指示される最大許容経過時間を超える場合、
前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を、前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮する制御手段と、
を備えることを特徴とする資源情報提供システム。
【請求項２】
資源情報を格納する管理対象装置と、
前記管理対象装置から前記資源情報を定期的に収集してキャッシュに格納し、且つ、前記管理対象装置から前記資源情報を要求する要求元までの前記資源情報の伝搬経路上に階層化された複数の資源情報提供装置と、
前記資源情報が前記管理対象装置によって取得されてから前記要求元に届くまでの最大経過時間が、前記要求元によって指定される最大許容経過時間を超える場合、
前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を、少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮することができる前記資源情報提供装置を選択し、
該選択した資源情報提供装置における前記資源情報の収集間隔を短縮する制御手段と、
を備えることを特徴とする資源情報提供システム。
【請求項３】
ポーリングによって情報収集処理を起動する時間間隔をPIとし、
ポーリングが起動した回数をPCとし、
次回更新する際のPC値をNextPC(r_i)とし、
繰り返し更新する際の更新間隔PC値をIntervalPC(r_i)とするとき、
各資源情報r_iは何れかのポーリング処理で収集され、
前記資源情報提供装置は、
１ポーリング時に収集する資源情報の数の最大値を予め設定された上限値以下に制約する同時更新処理制約と前記情報提供装置の更新間隔とを同時に満たすNextPC(r_i)とIntervalPC(r_i)とを収集スケジュールとして記憶する収集スケジュール格納手段、を備え、
前記制御手段は、
前記選択した資源情報提供装置における前記資源情報のIntervalPC(r_i)を短縮する、
ことを特徴とする請求項２に記載の資源情報提供システム。
【請求項４】
前記資源情報提供システムは、
同じ更新間隔の値を有する資源情報を同じグループに分類し、グループごとにそのグループに属する資源情報の収集スケジュールを生成する収集スケジュール生成手段、を備え、
前記制御手段は、
前記収集スケジュール生成手段によって前記収集スケジュールを再生成する、
ことを特徴とする請求項３に記載の資源情報提供システム。
【請求項５】
前記収集スケジュール生成手段は、
生成した収集スケジュールにおける１ポーリング時に収集する資源情報の数の最大値が予め設定された上限値以下であるか否かを検証する、
ことを特徴とする請求項４に記載の資源情報提供システム。
【請求項６】
前記収集スケジュール生成手段は、
各グループに属する資源情報に連番のラベル値pを付与し、
ラベル値pをそのグループの更新間隔で割った余りをそのラベル値pを有する資源情報r_iに対応するNextPC(r_i)とする、
ことを特徴とする請求項４に記載の資源情報提供システム。
【請求項７】
前記資源情報が有する更新間隔の値を互いに素となるように制約する、
ことを特徴とする請求項４に記載の資源情報提供システム。
【請求項８】
前記資源情報が有する更新間隔の値が素数である、
ことを特徴とする請求項４に記載の資源情報提供システム。
【請求項９】
前記収集スケジュール生成手段は、
前記各グループが有する更新間隔の値が小さい順に前記各グループに順位を付与し、
付与された順位が小さい順に前記各グループの収集スケジュールを生成し、
更新間隔の値がkであるグループの収集スケジュールに生じた空き枠を、kの整数倍の更新間隔の値を持つグループの収集スケジュールの生成に利用する、
ことを特徴とする請求項４に記載の資源情報提供システム。
【請求項１０】
管理対象装置に格納された資源情報を定期的に収集してキャッシュに蓄積する複数の資源情報提供装置を階層化した資源情報提供システムにおける資源情報提供方法であって、
制御手段が、前記資源情報が前記管理対象装置によって取得されてから前記資源情報を要求する要求元に届くまでの最大経過時間が、予め設定された最大許容経過時間を超えるか否かを判定する第１のステップと、
前記制御手段によって前記最大経過時間が前記最大許容経過時間を超えると判定される場合、
前記要求元までの前記資源情報の伝搬経路上に存在する複数の前記資源情報提供装置から、前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮することができる前記資源情報提供装置を選択し、
該選択した資源情報提供装置における前記資源情報の収集間隔を短縮する第２のステップと、
を備えることを特徴とする資源情報提供方法。
【請求項１１】
管理対象装置の資源情報を定期的に収集してキャッシュに蓄積する資源情報提供装置であって、
前記資源情報が管理対象装置によって取得されてから自装置を経由して要求元に届くまでの最大経過時間が前記最大許容経過時間を超えるか否かを判定する判定手段と、
前記判定手段によって前記最大経過時間が前記最大許容経過時間を超えると判定される場合、
自装置における前記資源情報の収集間隔を少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮できるか否かを判定し、
前記収集間隔を短縮できる場合、前記資源情報の収集間隔を短縮する変更手段と、を備えることを特徴とし、
前記変更手段は、
前記資源情報が他の資源情報提供装置から取得され、且つ、前記判定手段によって前記資源情報の収集間隔を短縮することができないと判定される場合、
前記他の資源情報提供装置が前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮するように要求する収集間隔短縮要求を前記他の資源情報提供装置に送信する、
ことを特徴とする資源情報提供装置。
【請求項１２】
管理対象装置の資源情報を定期的に収集してキャッシュに蓄積する資源情報提供装置のコンピュータを、
前記資源情報が管理対象装置によって取得されてから前記資源情報提供装置を経由して前記資源情報を要求する要求元に届くまでの最大経過時間が、予め設定された最大許容経過時間を超えるか否かを判定する判定手段とし、
前記判定手段によって前記最大経過時間が前記最大許容経過時間を超えると判定される場合、
前記資源情報提供装置における前記資源情報の収集間隔を少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮できるか否かを判定し、
前記収集間隔を短縮できる場合、前記資源情報の収集間隔を短縮する変更手段として機能させる、ことを特徴とし、
前記変更手段は、
記資源情報が他の資源情報提供装置から取得され、且つ、前記判定手段によって前記資源情報の収集間隔を短縮することができないと判定される場合、
前記他の資源情報提供装置が前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮するように要求する収集間隔短縮要求を前記他の資源情報提供装置に送信する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広域に分散する計算機などの各種資源に関する情報（以下、資源情報という）を収集して蓄積し、検索要求元に資源情報を提供する資源情報提供システムに関する。
【背景技術】
【０００２】
情報システムの分散化及び複雑化に伴って、システム運用管理コストの増加が問題となっている。そこで、管理システムが、計算機やネットワーク機器などの各種資源に関する資源情報を収集して格納し、格納した資源情報に基づいて、システムの操作や制御を行う運用管理システムが提供されている。
例えば、管理システムが、ネットワークシステムやＷｅｂシステムなどの管理対象システムから資源情報を収集して格納し、資源情報と性能劣化条件とを比較する。これにより、管理システムが、管理対象システムの性能劣化事象を自動検出する運用管理システムの一例が特許文献１に開示されている。【０００３】
一般に、情報システムでは、管理対象システムが有する資源情報が常時更新されている。したがって、管理システムは管理対象システムが有する資源情報を収集し続ける必要がある。管理システムが古い資源情報を使用すると、誤った判断に基づいてシステムを操作、制御してしまうからである。
そこで、特許文献１に開示されたシステムならびに他の多くの運用管理システムでは、管理システムが、定期的に予め指定された間隔で、管理対象システムが有する資源情報を収集する。【０００４】
また、例えば、管理システムが資源情報を管理対象システムの種類ごとにグループ化し、更新間隔および同時更新数を各資源情報グループに設定する。その後、管理システムは、同時更新数の制約の下で更新間隔を満たす収集スケジュールを資源情報グループごとに生成する。管理システムは、生成された収集スケジュールに従って資源情報を収集し、キャッシュを更新する。そして、管理システムが、検索要求に応じてキャッシュを検索し、該当する資源情報を検索要求元に提供する運用管理システムが特許文献２に開示されている。【０００５】
他方、広域分散システムの運用管理システムとして、MDS(Monitoring Discovery System)が非特許文献１に開示されている。MDSでは、資源情報をディレクトリで管理する。資源情報を検索する検索処理が実行されると、管理システムは、資源情報を取得して、これをキャッシュに格納する。その後、キャッシュに格納された資源情報と検索要求元が要求する資源情報とが同じ場合、管理システムは、キャッシュに格納された資源情報を要求元に提供する。これにより、資源情報を検索する時間が短縮される。MDSで収集する資源情報には、予めキャッシュの有効期限が定められている。したがって、検索要求元が有効期限を過ぎた資源情報を要求した場合、管理システムは、キャッシュに格納された当該資源情報を破棄し、最新の資源情報を取得する処理を実行する。MDSは階層的に複数のMDSを連携させることができ、単一のクラスタから大規模分散システムまで様々な形態のシステムで利用される。
【特許文献１】特開２００４−１４５５３６号公報
【特許文献２】国際公開ＷＯ２００６／０４６４８６Ａ１
【非特許文献１】Grid information services for distributed resource sharing Czajkowski, K.; Fitzgerald, S.; Foster, I.; Kesselman, C.; High Performance Distributed Computing, 2001. Proceedings, 10th IEEE International Symposium on , 7-9 Aug. 2001
【発明の開示】
【発明が解決しようとする課題】
【０００６】
広域に分散する多数の管理対象装置から資源情報を収集するシステムでは、管理対象装置から資源情報を収集して検索要求元に資源情報を提供する資源情報提供装置を多段に階層化した場合、資源情報が検索要求元に届くまでに複数の資源情報提供装置を経由する。したがって、検索要求元に届いた資源情報の鮮度が問題になる。
従来、特許文献２に開示されたシステムのように、個々の資源情報提供装置が資源情報を収集する収集間隔を、検索要求元が要求する鮮度に応じて設定するシステムがあった。
しかし、資源情報提供装置が多段に階層化されたシステムでは、検索要求元に届いた資源情報の鮮度を保証する仕組みが存在しなかった。したがって、検索要求元は所望の鮮度で資源情報を取得することができなかった。【０００７】
本発明は、資源情報提供装置が多段に階層化された資源情報提供システムにおいて、検索要求元に提供される資源情報の鮮度が検索要求元に要求される鮮度を満たすように調整することができる資源情報提供システム及びその方法を提供することを目的とする。
また、検索要求元が要求する鮮度を満たす範囲で、収集負荷を可能な限り低く抑えることができる資源情報提供システム及びその方法を提供することを別の目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の第１の観点に係る資源情報提供システムは、
資源情報を格納する管理対象装置と、
前記管理対象装置から前記資源情報を定期的に収集して格納し、且つ、前記管理対象装置から前記資源情報を要求する要求元までの前記資源情報の伝搬経路上に階層化された複数の資源情報提供装置と、
前記資源情報が前記管理対象装置によって取得されてから前記要求元に届くまでの最大経過時間が、前記要求元によって指定される最大許容経過時間を超える場合、
前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を、前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮する制御手段と、
を備えることを特徴とする。【０００９】
上記目的を達成するために、本発明の第２の観点に係る資源情報提供システムは、
資源情報を格納する管理対象装置と、
前記管理対象装置から前記資源情報を定期的に収集してキャッシュに格納し、且つ、前記管理対象装置から前記資源情報を要求する要求元までの前記資源情報の伝搬経路上に階層化された複数の資源情報提供装置と、
前記資源情報が前記管理対象装置によって取得されてから前記要求元に届くまでの最大経過時間が、前記要求元によって指定される最大許容経過時間を超える場合、
前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を、少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮することができる前記資源情報提供装置を選択し、
該選択した資源情報提供装置における前記資源情報の収集間隔を短縮する制御手段と、
を備えることを特徴とする。【００１０】
例えば、ポーリングによって情報収集処理を起動する時間間隔をPIとし、
ポーリングが起動した回数をPCとし、
次回更新する際のPC値をNextPC(r_i)とし、
繰り返し更新する際の更新間隔PC値をIntervalPC(r_i)とするとき、
各資源情報r_iは何れかのポーリング処理で収集され、
前記資源情報提供装置は、
１ポーリング時に収集する資源情報の数の最大値を予め設定された上限値以下に制約する同時更新処理制約と前記情報提供装置の更新間隔とを同時に満たすNextPC(r_i)とIntervalPC(r_i)とを収集スケジュールとして記憶する収集スケジュール格納手段、
を備え、
前記制御手段は、
前記選択した資源情報提供装置における前記資源情報のIntervalPC(r_i)を短縮してもよい。【００１１】
例えば、前記資源情報提供システムは、
同じ更新間隔の値を有する資源情報を同じグループに分類し、グループごとにそのグループに属する資源情報の収集スケジュールを生成する収集スケジュール生成手段、を備え、
前記制御手段は、
前記収集スケジュール生成手段によって前記収集スケジュールを再生成してもよい。【００１２】
例えば、前記収集スケジュール生成手段は、
生成した収集スケジュールにおける１ポーリング時に収集する資源情報の数の最大値が予め設定された上限値以下であるか否かを検証してもよい。【００１３】
例えば、前記収集スケジュール生成手段は、
各グループに属する資源情報に連番のラベル値pを付与し、
ラベル値pをそのグループの更新間隔で割った余りをそのラベル値pを有する資源情報r_iに対応するNextPC(r_i)としてもよい。【００１４】
例えば、前記資源情報が有する更新間隔の値を互いに素となるように制約してもよい。【００１５】
例えば、前記資源情報が有する更新間隔の値を素数としてもよい。【００１６】
例えば、前記収集スケジュール生成手段は、
前記各グループが有する更新間隔の値が小さい順に前記各グループに順位を付与し、
付与された順位が小さい順に前記各グループの収集スケジュールを生成し、
更新間隔の値がkであるグループの収集スケジュールに生じた空き枠を、kの整数倍の更新間隔の値を持つグループの収集スケジュールの生成に利用してもよい。【００１７】
上記目的を達成するために、本発明の第３の観点に係る資源情報提供方法は、
管理対象装置に格納された資源情報を定期的に収集してキャッシュに蓄積する複数の資源情報提供装置を階層化した資源情報提供システムにおける資源情報提供方法であって、
制御手段が、前記資源情報が前記管理対象装置によって取得されてから前記資源情報を要求する要求元に届くまでの最大経過時間が、前記要求元によって指定される最大許容経過時間を超えるか否かを判定する第１のステップと、
前記制御手段によって前記最大経過時間が前記最大許容経過時間を超えると判定される場合、
前記要求元までの前記資源情報の伝搬経路上に存在する複数の前記資源情報提供装置から、前記資源情報提供装置が前記管理対象装置から前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮することができる前記資源情報提供装置を選択し、
該選択した資源情報提供装置における前記資源情報の収集間隔を短縮する第２のステップと、を備えることを特徴とする。【００１８】
上記目的を達成するために、本発明の第４の観点に係る資源情報提供装置は、
管理対象装置の資源情報を定期的に収集してキャッシュに蓄積する資源情報提供装置であって、
前記資源情報が管理対象装置によって取得されてから自装置を経由して要求元に届くまでの最大経過時間が前記最大許容経過時間を超えるか否かを判定する判定手段と、
前記判定手段によって前記最大経過時間が前記最大許容経過時間を超えると判定される場合、
自装置における前記資源情報の収集間隔を少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮できるか否かを判定し、
前記収集間隔を短縮できる場合、前記資源情報の収集間隔を短縮する変更手段と、を備え、
前記変更手段は、
前記資源情報が他の資源情報提供装置から取得され、且つ、前記判定手段によって前記資源情報の収集間隔を短縮することができないと判定される場合、
前記他の資源情報提供装置が前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮するように要求する収集間隔短縮要求を前記他の資源情報提供装置に送信する、ことを特徴とする。【００１９】
上記目的を達成するために、本発明の第５の観点に係るプログラムは、
管理対象装置の資源情報を定期的に収集してキャッシュに蓄積する資源情報提供装置のコンピュータを、
前記資源情報が管理対象装置によって取得されてから前記資源情報提供装置を経由して前記資源情報を要求する要求元に届くまでの最大経過時間が、前記最大許容経過時間を超えるか否かを判定する判定手段とし、
前記判定手段が前記最大経過時間は前記最大許容経過時間を超えると判定する場合、
前記資源情報提供装置における前記資源情報の収集間隔を少なくとも前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮できるか否かを判定し、
前記収集間隔を短縮できる場合、前記資源情報の収集間隔を短縮する変更手段として機能させる、ことを特徴とし、
前記変更手段は、
記資源情報が他の資源情報提供装置から取得され、且つ、前記判定手段によって前記資源情報の収集間隔を短縮することができないと判定される場合、
前記他の資源情報提供装置が前記資源情報を収集する収集間隔を前記最大経過時間から前記最大許容経過時間を差し引いた時間だけ短縮するように要求する収集間隔短縮要求を前記他の資源情報提供装置に送信する、ことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、資源情報提供装置が多段に階層化された資源情報提供システムにおいて、検索要求元に提供される資源情報の鮮度が検索要求元に要求される鮮度を満たすように調整することが可能となる。また、検索要求元が要求する鮮度を満たす範囲で、収集負荷を可能な限り低く抑えることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態にかかる資源情報提供システムのブロック図である。
【図２】収集スケジュールの生成条件の一例を示す図である。
【図３】収集スケジュールの一例を示す図である。
【図４】情報格納部の構成例を示す図である。
【図５】資源情報提供装置が管理対象装置から資源情報を収集する際の処理例を示すフローチャートである。
【図６】上位階層の資源情報提供装置が下位階層の管理対象装置から資源情報を収集する際の処理例を示すフローチャートである。
【図７】検索クライアントが資源情報提供装置から資源情報を収集する際の処理例を示すフローチャートである。
【図８】資源情報が管理対象装置から取得されてから検索クライアントに届くまでの最大経過時間を説明するための図である。
【図９】検索クライアントから経過時間指定要求が資源情報提供装置に対して送信された際の処理例を示すフローチャートである。
【図１０】経過時間指定要求を受信したときの資源情報提供装置の処理例を示すフローチャートである。
【図１１】実施例１にかかる収集スケジュール生成部の処理例を示すフローチャートである。
【図１２】実施例１にかかる収集スケジュール生成部によって生成された収集スケジュールの一例を示す図である。
【図１３】実施例１にかかる収集スケジュール生成部によって生成された収集スケジュールの別の例を示す図である。
【図１４】実施例２にかかる収集スケジュール生成部の処理例を示すフローチャートである。
【図１５】実施例２にかかる収集スケジュール生成部の処理例を示すフローチャートである。
【図１６】実施例１にかかる収集スケジュール生成部によって生成された収集スケジュールのさらに別の例を示す図である。
【図１７】実施例２にかかる収集スケジュール生成部によって生成された収集スケジュールの一例を示す図である。
【図１８】本発明の第２の実施の形態にかかる資源情報提供システムのブロック図である。
【図１９】本発明の他の実施の形態にかかる資源情報提供システムのブロック図である。
【図２０】全探索法による収集スケジュールの生成手順を示すフローチャートである。
【図２１】資源情報を資源の種類によって分類したグループ毎に収集スケジュールを生成する場合の収集スケジュールの例を示す図である。
【符号の説明】
【００２２】
１…検索クライアント
２、３…資源情報提供装置
４…管理対象装置
２１、３１…検索処理部
２２、３２…情報格納部
２３、３３…情報収集部
２４、３４…制御部
２４ａ、３４ａ…判定部
２４ｂ、３４ｂ…変更部
２５、３５…収集スケジュール生成部
２６、３６…収集スケジュール格納部
２７、３７…条件格納部
４１…情報提供部
【発明を実施するための最良の形態】
【００２３】
本発明の実施の形態について、図面１〜２１を参照して説明する。【００２４】
（第１の実施の形態）
本発明の第１の実施の形態に係る資源情報提供システムは、図１にシステムのブロックを示すように、検索クライアント１に通信可能に接続された資源情報提供装置２と、資源情報提供装置２と複数の管理対象装置４とに通信可能に接続された資源情報提供装置３とで構成される。
管理対象装置４に格納された資源情報は、階層化された２台の資源情報提供装置２及び３を通じて検索クライアント１に提供される。【００２５】
管理対象装置４は、コンピュータやネットワーク機器などの装置である。管理対象装置４は、資源情報提供装置３からの情報取得要求を受け付けて自装置の資源情報を取得し、資源情報提供装置３に送信する情報提供部４１を備える。資源情報には、CPU利用率、メモリ利用量、ディスクアクセス量などのハードウェアに関する情報及び機器の構成情報や設定情報などのソフトウェアに関する情報などがある。【００２６】
資源情報提供装置３は、検索処理部３１と、情報格納部（キャッシュ）３２と、情報収集部３３と、制御部３４と、収集スケジュール生成部３５と、収集スケジュール格納部３６と、条件格納部３７とを備える。【００２７】
条件格納部３７は、資源情報提供装置３が管理対象装置４から資源情報を収集する収集スケジュールの生成条件を記憶する。収集スケジュールの生成条件は、図２に一例を示すように、資源情報の更新間隔５０１と、同時更新処理数MCU(Max Concurrent Updates)５０２と、ポーリング時間間隔PI(Polling Interval)５０３とを含む。
ここで、ポーリングとは、通信機器やソフトウェアが複数で連携動作する際に、送信(あるいは処理)要求がないか、一つ一つの相手に聞いて回ることである。
資源情報の更新間隔５０１は、収集対象である各資源情報r_i(1≦i≦n)と各資源情報r_i(1≦i≦n)を一意に識別するための識別子とを対応付けて、その資源情報r_iを収集する間隔である。
同時更新処理数５０２は、１回のポーリングで収集する資源情報の総数の上限値を指定する。
ポーリング時間間隔５０３は、ポーリングによって情報収集処理を起動する時間間隔である。【００２８】
収集スケジュール生成部３５は、条件格納部３７から読み出された収集スケジュールの生成条件を満たす収集スケジュールを生成する。
収集スケジュール格納部３６は、収集スケジュール生成部３５で生成された収集スケジュールを記憶する。収集スケジュールは、図３に一例を示すように、各資源情報r_iの識別子に対応する更新間隔PC値(IntervalPC(r_i))と次回PC値(NextPC(r_i))とを保持する。
本実施の形態の場合、ポーリングを起動した回数をPC(Polling Count)とし、情報収集部３３は、何れかのポーリング処理で各資源情報r_iを収集する。このとき、次回更新する際のPC値を次回PC値（NextPC(r_i)）で規定し、繰り返し更新する際の更新間隔を更新間隔PC値(IntervalPC(r_i))で規定する。【００２９】
情報収集部３３は、収集スケジュール格納部３６に格納された収集スケジュールに従って、管理対象装置４に情報取得要求を送信し、その応答として管理対象装置４から送信される資源情報を受信する。
情報格納部３２は、情報収集部３３によって収集された資源情報を記憶する。各資源情報がどの管理対象装置４のどのような情報であるか等の情報は、条件格納部３７に資源情報ごとに格納してもよいし、異なる方法で管理してもよい。情報格納部３２は、図４に示すように、各資源情報r_iの識別子に対応する収集された各資源情報r_iの最新の値を保持する。【００３０】
検索処理部３１は、資源情報提供装置２から送信された検索要求に従って情報格納部３２を検索し、該当する資源情報r_iを資源情報提供装置２に送信する。検索要求は、検索対象の資源情報r_iに対応する識別子を指定する形式で与えられる。【００３１】
制御部３４は、判定部３４ａと変更部３４ｂとを備え、資源情報提供装置３が管理対象装置４から資源情報を収集する収集スケジュールを変更する。【００３２】
判定部３４ａは、或る資源情報の最大許容経過時間を指定する経過時間指定要求が資源情報提供装置２から送られてきた場合、その資源情報が管理対象装置４に取得されてから資源情報提供装置３を経由して検索クライアント１に届くまでの最大経過時間が、前記最大許容経過時間を超えるか否かを判定する。【００３３】
変更部３４ｂは、判定部３４ａによって最大経過時間が最大許容経過時間を超えると判定された場合、資源情報提供装置３が当該資源情報を収集する収集間隔を少なくとも超過分だけ短縮できるか否かを判定し、短縮可能な場合には当該資源情報の収集間隔を短縮する。【００３４】
資源情報提供装置２は、図１に示すように、基本的に資源情報提供装置３と同様の構成である。資源情報提供装置２は、検索処理部２１と、情報格納部（キャッシュ）２２と、情報収集部２３と、制御部２４と、収集スケジュール生成部２５と、収集スケジュール格納部２６と、条件格納部２７とを備える。【００３５】
条件格納部２７は、資源情報提供装置２が資源情報提供装置３から管理対象装置４の資源情報を収集する収集スケジュールの生成条件を記憶する。収集スケジュールの生成条件の内容は、図２に示したものと同じである。【００３６】
収集スケジュール生成部２５は、条件格納部２７から読み出された収集スケジュールの生成条件を満たす収集スケジュールを生成する。
収集スケジュール格納部２６は、収集スケジュール生成部２５で生成された収集スケジュールを記憶する。生成される収集スケジュールの構成は、図３に示したものと同じである。【００３７】
情報収集部２３は、収集スケジュール格納部２６に格納された収集スケジュールに従って、検索要求を資源情報提供装置３に送信し、その応答として資源情報提供装置３から送信される資源情報を受信する。
情報格納部２２は、情報収集部２３が受信した資源情報を記憶する。各資源情報がどの管理対象装置４のどのような情報であるか等の情報は、条件格納部２７に資源情報毎に格納してもよいし、異なる方法で管理してもよい。情報格納部２２は、図４に示す場合と同様に、各資源情報r_iの識別子に対応する収集された各資源情報r_iの最新の値を保持する。【００３８】
検索処理部２１は、検索クライアント１から送信された資源情報r_iの識別子を指定する検索要求に従って情報格納部２２に格納された資源情報を検索し、該当する資源情報r_iの値を検索クライアント１に送信する。【００３９】
制御部２４は、判定部２４ａと変更部２４ｂとを備え、資源情報提供装置２が資源情報提供装置３から資源情報を収集する収集スケジュールを変更する。【００４０】
判定部２４ａは、或る資源情報の最大許容経過時間を指定する経過時間指定要求が検索クライアント１から送られてきた場合、その資源情報が管理対象装置４に取得されてから資源情報提供装置２を経由して検索クライアント１に届くまでの最大経過時間が、前記最大許容経過時間を超えるか否かを判定する。【００４１】
変更部２４ｂは、判定部２４ａによって最大経過時間は最大許容経過時間を超えると判定された場合、資源情報提供装置２が当該資源情報を収集する収集間隔を少なくとも超過分だけ短縮できるか否かを判定し、短縮可能な場合には当該資源情報の収集間隔を短縮する。
一方、短縮不可能の場合には、変更部２４ｂは資源情報提供装置３に経過時間指定要求を送信する。【００４２】
検索クライアント１は、システム運用管理者が操作する端末装置又は管理プログラムが実行される端末装置である。
システム運用管理者又は管理プログラムは、管理対象装置４に格納された資源情報を検索する場合、検索対象である資源情報の識別子を指定する検索要求を検索クライアント１から資源情報提供装置２に送信する。
検索クライアント１は、検索対象である資源情報を受信して出力装置を通じてシステム運用管理者に提示するか、又は、検索結果を管理プログラムに送信する。【００４３】
また、システム運用管理者又は管理プログラムは、或る資源情報が管理対象装置４に取得されてから検索クライアント１に届くまでの経過時間を設定する場合、当該資源情報の最大許容経過時間を指定する経過時間指定要求を検索クライアント１から資源情報提供装置２に送信する。検索クライアント１は、その要求が満たされるか否かの結果を受信して出力装置を通じてシステム運用管理者に提示するか、又は、要求結果を管理プログラムに送信する。【００４４】
次に、本実施の形態にかかる資源情報提供システムの動作を説明する。【００４５】
資源情報提供装置２、３は、収集スケジュール格納部２６、３６に収集スケジュールが格納されると、資源情報を収集する。収集スケジュール格納部２６、３６に格納される収集スケジュールは、条件格納部２７、３７に格納された条件に従って収集スケジュール生成部２５、３５が自動生成してもよいし、人間が作成してもよい。【００４６】
まず、資源情報提供装置３が管理対象装置４から資源情報を収集する処理を、図５のフローチャートを参照して説明する。【００４７】
資源情報提供装置３の情報収集部３３は、ポーリング時間間隔で規定される間隔で、図５のフローチャートに示される情報収集処理を実行する。
はじめに、情報収集部３３は、収集スケジュール格納部３６に格納された収集スケジュールに基づいて、今回のポーリング処理で収集する資源情報の識別子の一覧を作成する（ステップＳ３０１）。
次に、情報収集部３３は、管理対象装置４から収集する資源情報の識別子を指定する情報取得要求を、管理対象装置４に送信する（ステップＳ３０２）。
管理対象装置４の情報提供部４１は、情報収集部３３から送信された情報取得要求を受信すると（ステップＳ４０１）、情報取得要求で要求された資源情報を自装置４から取得し（ステップＳ４０２）、情報取得結果を資源情報提供装置３に送信する（ステップＳ４０３）。
資源情報提供装置３の情報収集部３３は、管理対象装置４から送信された情報取得結果を受信すると（ステップＳ３０３）、受信した情報取得結果を情報格納部３２に格納する（ステップＳ３０４）。
今回の収集した資源情報と同じ識別子の資源情報が情報格納部３２に既に格納されている場合、情報収集部３３は、情報格納部３２に格納されている資源情報の値を今回収集した資源情報の値に更新する。【００４８】
次に、資源情報提供装置２が資源情報提供装置３から資源情報を収集する処理について説明する。【００４９】
資源情報提供装置２の情報収集部２３は、ポーリング時間間隔で規定された間隔で、図６のフローチャートに示される情報収集処理を実行する。
はじめに、情報収集部２３は、収集スケジュール格納部２６に格納された収集スケジュールに基づいて、今回のポーリング処理で収集する資源情報の識別子の一覧を作成する（ステップＳ２０１）。
次に、情報収集部２３は、資源情報提供装置３から収集する資源情報を識別子で指定する検索要求を、資源情報提供装置３に送信する（ステップＳ２０２）。
資源情報提供装置３の検索処理部３１は、情報収集部２３から送信された検索要求を受信すると（ステップＳ３１１）、識別子で指定された資源情報を情報格納部３２から検索し（ステップＳ３１２）、検索結果を資源情報提供装置２に送信する（ステップＳ３１３）。
資源情報提供装置２の情報収集部２３は、情報格納部３２から送信された検索結果を受信すると（ステップＳ２０３）、受信した検索結果を情報格納部２２に格納する（ステップＳ２０４）。
今回資源情報提供装置３から収集した資源情報と同じ識別子の資源情報が情報格納部２２に既に格納されている場合、情報収集部２３は、情報格納部２２に格納されている資源情報の値を今回収集した資源情報の値に更新する。【００５０】
次に、検索クライアント１が資源情報提供装置２から資源情報を収集する処理について説明する。【００５１】
検索クライアント１は、システム運用管理者又は管理プログラムによって入力された検索式を含む検索要求を、資源情報提供装置２に送信する（図７のステップＳ１０１）。
資源情報提供装置２の検索処理部２１は、検索クライアント１から送信された検索要求を受信すると（ステップＳ２１１）、情報格納部２２に格納された資源情報から検索式を満たす資源情報を検索し（ステップＳ２１２）、検索結果を検索クライアント１に送信する（ステップＳ２１３）。
検索クライアント１は、情報処理部２１から送信された検索結果を受信し、出力装置に検索結果を出力する（ステップＳ１０２）。【００５２】
或る資源情報Xが管理対象装置４に取得されてから検索クライアント１に届くまでの最大経過時間t_maxは、資源情報提供装置３が管理対象装置４から資源情報Xを収集する間隔をt_B、管理情報提供装置２が資源情報提供装置３から資源情報Xを収集する間隔をt_A、資源情報提供装置２が検索結果を検索クライアント１に転送するのに要する時間をt_clientとすると、図８に示すように、次式で近似される。
最大経過時間t_max＝t_client＋t_A＋t_B
…(1-1)【００５３】
次に、資源情報Xに対する最大許容経過時間t_reqを指定する時間指定要求が、検索クライアント１から資源情報提供装置２に送信された場合の本実施の形態にかかる資源情報提供システムの動作について説明する。【００５４】
経過時間指定要求が検索クライアント１から資源情報提供装置２に送信されると（図９のステップＳ１１１）、資源情報提供装置２の制御部２４が検索クライアント１から送信された経過時間指定要求を受信し、資源情報提供装置３の制御部３４と連携して、以下の処理を実行する。【００５５】
まず、前記(1-1)式に基づき、資源情報Xが管理対象装置４によって取得されてから検索クライアント１に届くまでの最大経過時間t_maxが計算され、最大経過時間t_maxが最大許容経過時間t_reqを超えるか否かについて判定される（ステップＳ５０１）。
最大経過時間t_maxが最大許容経過時間t_reqを超えている場合、資源情報提供装置２の制御部２４は、資源情報Xを収集する収集間隔を少なくとも超過する時間(t_max-t_req)だけ短縮することができる資源情報提供装置を資源情報提供装置２及び３のいずれか１つから選択し、選択した資源情報提供装置における資源情報Xの収集間隔を短縮する変更処理（ステップＳ５０２）を実行する。そして、制御部２４は経過時間指定要求が満たされた旨の要求結果を検索クライアント１に送信する（ステップＳ５０３）。
また、最大経過時間t_maxがt_reqを超えていない場合、制御部２４は変更処理Ｓ５０２をスキップして、経過時間指定要求が満たされた旨の要求結果を検索クライアント１へ送信する（ステップＳ５０３）。
一方、資源情報提供装置２及び３の双方とも、資源情報Xの収集間隔を少なくとも（t_max-t_req）だけ短縮することができない場合、制御部２４は経過時間指定要求が満たされない旨の要求結果を検索クライアント１に送信する（ステップＳ５０３）。検索クライアント１は、要求結果を受信し、管理プログラム等に通知する（ステップＳ１１２）。【００５６】
資源情報提供装置２および資源情報提供装置３が経過時間指定要求を受信すると、資源情報提供装置２および資源情報提供装置３は、図１０のフローチャートに示す処理を行う。【００５７】
資源情報提供装置２の判定部２４ａは、検索クライアント１から経過時間指定要求を受信すると（ステップＳ２２１）、前記(1-1)式に基づいて、資源情報Xの最大経過時間t_maxを計算する（ステップＳ２２２）。前記(1-1)式のt_clientは、例えば、固定値として事前に設定しておくことができる。また、資源情報提供装置２の収集間隔t_Aは、条件格納部２７に格納されている資源情報Xの更新間隔５０１又は収集スケジュール格納部２６に格納されている資源情報XのIntervalPC値を参照すればよい。
一方、判定部２４ａは、資源情報提供装置３の資源情報Xの収集間隔t_Bを以下の何れかの方法によって取得することができる。【００５８】
1)方法1
資源情報Xの伝搬経路上に存在する各資源情報提供装置に、その装置における資源情報Xの収集間隔を問い合わせる。
2)方法2
他の資源情報提供装置における資源情報の収集間隔を保持するデータベースを各資源情報提供装置に設け、このデータベースから取得する。
3)方法3
各資源情報提供装置における資源情報の収集間隔を保持するデータベースを複数の資源情報提供装置に共通に設け、そのデータベースから取得する。【００５９】
次に、判定部２４ａは、資源情報Xの最大経過時間t_maxと最大許容経過時間t_reqとを比較する（ステップＳ２２３）。最大経過時間t_maxが最大許容経過時間t_reqを超えていない場合、制御部２４は要求が満たされた旨の要求結果を検索クライアント１へ送信し（ステップＳ２３０）、処理を終了する。最大経過時間t_maxが最大許容経過時間t_reqを超える場合、処理は変更部２４ｂに引き継がれる。【００６０】
変更部２４ｂは、最大経過時間t_maxを最大許容経過時間t_req以内に抑えるために必要な資源情報Xの収集間隔の短縮時間t_cutを次式により計算する。
短縮時間t_cut＝t_max−t_req
…(1-2)【００６１】
次に、変更部２４ｂは、物理的な条件及び予め与えられている制約条件に基づいて、情報提供装置２において資源情報Xを収集する収集間隔t_Aをt_cutだけ短縮できるか否かを判定する（ステップＳ２２５）。
例えば、t_A≦t_cutの場合、変更部２４ｂはt_Aを物理的に短縮できないと判定する。
一方、t_A＞t_cutの場合、物理的にt_Aを短縮することができるので、制約条件に基づいて短縮の可否を判定する。例えば、制約条件として最低の収集間隔t_minが与えられている場合、(t_A−t_cut)＜t_minのときは、制約条件を満たさないので、変更部２４ｂはt_Aを短縮することができないと判定する。また、１ポーリング処理当たりの最大収集資源情報数の上限に制約がある。これにより、情報提供装置２において資源情報Xを収集する収集間隔を(t_A−t_cut)に変更すると、この制約が満たされない場合、変更部２４ｂはt_Aを短縮することができないと判定する。
なお、情報提供装置２において資源情報Xを収集する収集間隔が(t_A−t_cut)に変更されると、１ポーリング処理当たりの最大収集資源情報数の制約が満たされなくなるか否かについては、資源情報Xの収集スケジュールのみを変更して調べる以外に、他の資源情報も含めて収集スケジュールを再生成して調べてもよい。【００６２】
次に、収集間隔t_Aをt_cutだけ短縮可能な場合、変更部２４ｂは収集間隔t_Aを(t_A−t_cut)に変更する（ステップＳ２２６）。具体的には以下の何れかの方法によって変更される。【００６３】
1)方法１
変更部２４ｂは、収集スケジュール格納部２６に格納されている資源情報XのIntervalPC値を変更する。このとき、同時に条件格納部２７に格納されている資源情報Xの更新間隔も同様に変更しておく。
2)方法２
条件格納部２７に格納されている資源情報Xの更新間隔を変更した後、収集スケジュール生成部２５は、条件格納部２７に格納された条件の下で、各資源情報の収集スケジュールを再生成し、収集スケジュール格納部２６に格納されている現状の収集スケジュールを再生成した収集スケジュールに更新する。【００６４】
次に変更部２４ｂは、経過時間指定要求が満たされた旨の要求結果を検索クライアント１に送信し（ステップＳ２３０）、処理を終了する。【００６５】
一方、収集間隔t_Aをt_cutだけ短縮できない場合、変更部２４ｂは、資源情報Xを他の資源情報提供装置から収集しているか否か、すなわち下位階層の資源情報提供装置が存在するか否かを判定する（ステップＳ２２７）。下位階層の資源情報提供装置が存在しなければ、制御部２４は、経過時間指定要求が満たされなかった旨の要求結果を検索クライアント１に送信して処理を終了する。
本実施形態の場合、資源情報提供装置２の下位階層に資源情報提供装置３が存在している。そこで変更部２４ｂは、検索クライアント１から受信した経過時間指定要求を資源情報提供装置３に送信する（ステップＳ２２８）。このとき、変更部２４ｂは、ステップＳ２２２で計算した最大経過時間t_maxと、ステップＳ２２４で計算した短縮時間t_cutとを経過時間指定要求に添付してもよい。変更部２４ｂは、経過時間指定要求に対する要求結果が資源情報提供装置３によって送信されるのを待つ。変更部２４は、資源情報提供装置３が経過時間指定要求に対する要求結果を送信した場合、要求結果を受信し（ステップＳ２２９）、検索クライアント１に要求結果を転送する（ステップＳ２３０）。【００６６】
次に、同じく図１０を参照して、資源情報提供装置２が経過時間指定要求を資源情報提供装置３に送信し、経過時間指定要求を受信した資源情報提供装置３が行う処理について説明する。【００６７】
資源情報提供装置３の判定部３４ａは、検索クライアント１から送信された経過時間指定要求を受信すると（ステップＳ２２１）、前記(1-1)式に基づいて、資源情報Xの最大経過時間t_maxを計算する（ステップＳ２２２）。ただし、経過時間指定要求に最大経過時間t_maxが添付されている場合には、ステップＳ２２２の計算は省略される。次に、判定部３４ａは、資源情報Xの最大経過時間t_maxが最大許容経過時間t_reqを超えていることを確認し（ステップＳ２２３）、変更部３４ｂに処理が引き継がれる。【００６８】
変更部３４ｂは、前記(1-2)式に基づいて、最大許容経過時間t_req以内に最大経過時間を短縮するのに必要な短縮時間t_cutを計算する。ただし、経過時間指定要求に短縮時間t_cutが添付されている場合には、この計算は省略される。【００６９】
次に、変更部３４ｂは、資源情報Xを収集する収集間隔t_Bを資源情報提供装置３においてt_cutだけ短縮できる否かを判定する（ステップＳ２２５）。資源情報提供装置３において収集間隔t_Bをt_cutだけ短縮することができる場合、変更部３４ｂは収集間隔t_Bを(t_B−t_cut)に変更する（ステップＳ２２６）。変更後、変更部３４ｂは、経過時間指定要求が満たされた旨の要求結果を資源情報提供装置２に送信し（ステップＳ２３０）、処理を終了する。【００７０】
一方、資源情報提供装置３において収集間隔t_Bをt_cutだけ短縮できない場合、変更部３４ｂは、資源情報Xを他の資源情報提供装置から収集しているか否か、すなわち資源情報提供装置３の下位階層に資源情報提供装置が存在するか否かを判定する（ステップＳ２２７）。
本実施形態の場合、資源情報提供装置３の下位階層に資源情報提供装置が存在しないので、制御部３４は、経過時間指定要求が満たされなかった旨の要求結果を資源情報提供装置２に送信し（ステップＳ２３０）、処理を終了する。【００７１】
続いて、簡単な例を用いて、本実施の形態における資源情報の収集間隔の変更動作を説明する。【００７２】
例えば、資源情報Xについて、t_A=40秒、t_B=30秒、t_client=5秒とする。ここで、検索クライアント１の運用管理者が、資源情報Xをt_req=60秒以内の経過時間で参照したいため、検索クライアント１を介して、t_reqを指定する経過時間指定要求を入力したものとする。【００７３】
検索クライアント１の運用管理者が要求するt_reqの値を含む経過時間指定要求は、検索クライアント１を介して資源情報提供装置２に送信され、制御部２４の判定部２４ａによって受信される（ステップＳ２２１）。判定部２４ａは、t_max=t_client+t_A+t_B=75を計算する（ステップＳ２２２）。t_req=60と比較すると、t_max>t_reqなので、判定部２４ａは変更部２４ｂに処理を引き渡す（ステップＳ２２３）。変更部２４ｂは、要求を満たすために必要な短縮時間t_cut=75-60=15を計算する（ステップＳ２２３、Ｓ２２４）。変更部２４ｂは、資源情報提供装置２において収集間隔t_A=40を25秒（40-15=25秒）に短縮することができるか否かを判定する（ステップＳ２２５）。【００７４】
例えば、資源情報提供装置２に収集負荷に関する制約などがなく、資源情報Xの収集間隔を25秒に短縮できる場合、変更部２４ｂは資源情報Xを収集する収集間隔t_Aを40秒から25秒に変更する（ステップＳ２２６）。これにより、資源情報Xの最大経過時間t_maxは60秒になり、運用管理者の要求が満たされる。【００７５】
一方、資源情報提供装置２に、例えば、収集間隔t_Aを30秒以下に設定できないという制約があり、且つ、収集スケジュール格納部２６に格納されている収集スケジュールにおける現在の最大同時更新処理数が同時更新処理数５０２に等しい場合、変更部２４ｂが収集間隔t_Aを40秒から25秒に変更したとする。このとき、変更後の最大同時更新処理数が同時更新処理数５０２を超えてしまうといった理由により、変更部２４ｂが収集間隔t_Aを25秒に短縮できない場合、制御部２４は経過時間指定要求を資源情報提供装置３に転送する（ステップＳ２２８）。【００７６】
資源情報提供装置３の判定部３４ａは、資源情報Xの最大経過時間t_max=75が経過時間指定要求のt_req=60を超えると判定し、処理を変更部３４ｂに引き渡す。変更部３４ｂは、資源情報提供装置３においてt_Bを短縮時間t_cut=75-60=15秒だけ短縮できるか否かを判定する（ステップＳ２２５）。
変更部３４ｂがt_Bを短縮することができる場合、変更部３４ｂは収集間隔t_Bを30-15=15秒に変更する。変更後、経過時間指定要求が満たされた旨の要求結果が、資源情報提供装置２を介して、検索クライアント１に通知される。
一方、変更部３４ｂがt_Bを短縮することができない場合、経過時間指定要求が満たされない旨の要求結果が資源情報提供装置２を介して検索クライアント１に通知される。【００７７】
次に、収集スケジュール生成部２５、３５が収集スケジュールを生成する実施例を詳細に説明する。なお、収集スケジュール生成部２５、３５は共に同じ構成にすることができるため、以下では収集スケジュール生成部２５が実行する処理について説明する。【００７８】
（実施例１）
本実施例にかかる収集スケジュール生成部２５が実行する処理のフローチャートの一例を図１１に示す。処理の前提として、条件格納部２７に、図２に示したような、収集対象となる資源情報r_iの更新間隔５０１、同時更新処理数MCU５０２およびポーリング時間間隔PI５０３が格納されているものとする。収集スケジュール生成部２５は、各資源情報に対する更新間隔を満たし、かつ、収集負荷を一定以下に抑えることを保証する最適な収集スケジュールを生成する。つまり、収集スケジュール生成部２５は、同時更新処理数の最大値ができるだけ小さな収集スケジュール（NextPC(r_i)とIntervalPC(r_i)とのセット）を生成する。ここで、NextPC(r_i)の値は、情報収集処理が行われるたびにIntervalPC(r_i)を加えて更新される(NextPC(r_i)=NextPC(r_i)+IntervalPC(r_i))。NextPC(r_i)は、1≦NextPC(r_i)≦IntervalPC(r_i)としても一般性を失わない。【００７９】
[前処理]
始めに、収集スケジュール生成部２５は前処理を行う（ステップＳ６０１）。前処理では、各資源情報r_iのIntervalPC(r_i)と各資源情報r_iに対して設定されたIntervalPC(r_i)との最小公倍数LCMI(Least Common Multiple Interval)を求める。【００８０】
IntervalPC(r_i)を、資源情報r_iの更新間隔５０１と設定する。ここで、本実施例による手法は、r_iをIntervalPC(r_i)の値によってグループ化できる場合に効果がある。したがって、グループ化しやすい環境を準備することにより、適用範囲を広げることができる。例えば、利用可能な更新間隔を予め指定したプロファイルを準備し、全ての管理対象装置は更新間隔からいずれかのプロファイルを利用するようにする。同一プロファイルを利用した管理対象装置には同じIntervalPC(r_i)が設定されるので、プロファイル単位で管理対象装置がグループ化される。このとき、各プロファイルの更新間隔から決定されるIntervalPC(r_i)が互いに素あるいは素数となるように準備しておくことで、収集スケジュール生成部２５は最適なスケジュールを生成することができる（その理由は後述する）。【００８１】
また最小公倍数LCMI(Least Common Multiple Interval)は次式により求める。
LCMI = lcm(Interval(r_i))
但し、lcmは最小公倍数を求める関数
…(2)
情報収集処理はIntervalPC(r_i)の間隔で繰り返されるので、全ての資源情報収集のパターンはPC=1からPC=LCMIの区間のパターンの繰り返しとなる。したがって、この区間で最大同時更新処理数が同時更新処理数MCU以下になるように、NextPC(r_i)を決定する必要がある。【００８２】
次に、収集スケジュール生成部２５は、同じ値のIntervalPC(r_i)を持つ資源情報をグループ化する（ステップＳ６０２）。IntervalPC(r_i)=jでグループ化されたグループをGjとする。
Gj = {r_i | IntervalPC(r_i)=j}
…(3)【００８３】
次に収集スケジュール生成部２５は、各グループGjでそれぞれ最適なスケジュールを生成する（ステップＳ６０３〜Ｓ６０５）。まず最適なスケジュールを生成するグループを一つ選択する（ステップＳ６０３）。次に、Gjに含まれる資源情報r_iに1から|Gj|までの連番のラベルpをつける。
Gj={r_i,p|1≦p≦|Gj|}
…(4)
そして、各r_iに対してNextPC(r_i,p)を以下の方法で決定する（ステップＳ６０４）。
NextPC(r_i,p) = mod(p,j)
但し、modは剰余関数である。
…(5)
このとき、Gjのグループの最大同時更新処理数はroundup(|Gj|/j)となる。ここで、roundupは小数点以下切り上げの関数である。【００８４】
全てのGjについてスケジュールの生成を完了すると（ステップＳ６０５：ＹＥＳ）、収集スケジュール生成部２５は、各グループで生成した最適スケジュールを組み合わせて最終的な情報収集スケジュールとする。そして、収集スケジュール生成部２５は、生成した情報収集スケジュールの最大同時更新処理数を計算し、同時更新処理数MCU以下であるか否かを判定する（ステップＳ６０６）。
Σ_j roundup(|Gj|/j) ≦ MCU ?
…(6)
最大同時更新処理数が同時更新処理数MCU以下である場合、収集スケジュール生成部２５は、生成した情報収集スケジュール、つまり各資源情報のNextPC(r_i)及びIntervalPC(r_i)のセットを収集スケジュール格納部２６に出力して、処理を終了する（ステップＳ６０７）。
最大同時更新処理数が同時更新処理数MCU以下ではない場合、収集スケジュール生成部２５は、情報収集スケジュールを生成することが不可能であると判断して、処理を終了する。【００８５】
次に、本実施例にかかる収集スケジュール生成部２５の効果を説明する。【００８６】
本実施例の手法は、同じ値のIntervalPC(r_i)を持つ資源情報を同じグループGjに分類し、グループGjごとに収集スケジュールを生成する。したがって、グループ化を行わずに考え得る全てのNextPC(r_i)の設定パターンについて同時更新処理数を計算して判断する方法（一般に全探索法と呼ばれる）と比較して、本実施例の手法は、スケジュール生成のための計算時間を大幅に短縮することができる。以下、全探索法について説明し、本実施例の手法の効果を説明する。【００８７】
（全探索法）
全探索法による収集スケジュールの生成手順を示すフローチャートを図２０に示す。前提として、資源情報r_iについてIntervalPC(r_i)とその最小公倍数LCMIが求められているものとする。【００８８】
まず、収集スケジュール生成部２５は、設定し得るNextPC(r_i)の組み合わせから、一つを選択する（ステップＳ１００１）。組み合わせ総数はΠIntervalPC(r_i)、つまり、全てのIntervalPC値の積になる。
次に、次式に示すように、各PC値に対して更新処理の数を数え、最も同時更新処理数が大きい値を抽出することにより、PC=1からPC=LCMIの区間で最大同時更新処理数を求める（ステップＳ１００２）。
max_j (CU(j)) | (1≦j≦LCMI)
CU(j) = Σ_j 1|mod{(j-NextPC(r_i)),Interval(r_i)}=0
…(7)【００８９】
続いて、最大同時更新処理数が同時更新処理数MCUの制約を満たすか否かを確認する（ステップＳ１００３）。
max_j (CU(j)) ≦ MCU ?
…(8)【００９０】
最大同時更新処理数が同時更新処理数MCU以下である場合、現在のNextPC値及びIntervalPC(r_i)のセットを収集スケジュールとして出力し、処理を終了する（ステップＳ１００４）。
最大同時更新処理数が同時更新処理数MCU以下ではない場合、収集スケジュール生成部２５は設定し得る他のNextPC(r_i)の組み合わせがあるか否かを確認し（ステップＳ１００５）、NextPC(r_i)の組み合わせがあれば、ステップＳ１００１に戻って処理を繰り返す。NextPC(r_i)の組み合わせがなければ、収集スケジュール生成部２５はスケジュール生成不可能と判断して終了する。【００９１】
このように全探索法では、収集スケジュール生成部２５が最終的に同時更新処理数MCUの制約を満たすスケジュールが存在しないと判断した場合、ΠIntervalPC(r_i)の組み合わせ全てについて検証する必要があり、計算時間は資源情報の数iに対して指数時間で増えてしまう。
一方、本実施例の方法では、同じ値のIntervalPC(r_i)を持つ資源情報をグループ化することによって、NextPC(r_i)の組み合わせをほぼ資源情報の数iの線形オーダで判断することができる。
全探索法と本実施例の方法とを以下の具体例を用いて比較する。【００９２】
まず、管理対象装置の数が少ない場合の例を示す。その後、資源情報の数が増えた場合の例を示す。【００９３】
管理対象装置の数が少ない場合の例として、更新間隔PC値が3,5,7となる資源情報がそれぞれ3つずつある場合を考える。このとき、各資源情報に対して次回更新PC値を設定する方法は33*53*73＝1157625通りである。同じ更新間隔PC値を持つものは同一とみなした場合は、重複の数を除いて、組み合わせ総数は29400通りになる（重複組み合わせを使って3H3*5H3*7H3）。この組み合わせ方法に応じて、最大同時更新処理数は3から9の間で変動する可能性がある。したがって、要求された同時更新処理数の制約が満たされるかどうかについては、29400個の組み合わせを一つ一つ検証する必要がある。
一方、本実施例の方法では、図１２に示す情報収集スケジュールが生成され、同時更新処理数は3で最小値となる。【００９４】
次に、資源の数を増やし、更新間隔PC値が3,5,7,11,17となる資源情報がそれぞれ20ずつある場合を考える。このとき、各資源に対して次回更新PC値を設定する方法は重複を考慮しても1.24×1029通り以上となる（重複組み合わせを使って3H20*5H20*7H20*11H20*17H20）。この組み合わせに応じて、同時更新処理数は18から100の間で変動する可能性がある。要求された同時更新処理数の制約が満たされるか否かについて、1.24×1029通り以上の場合を一つ一つ検証するのは計算時間や計算資源上実用的ではない。
一方、本実施例の方法では、資源総数100の整数倍オーダのステップ数で計算が完了し、最大同時更新処理数18の最適なスケジュールを生成することができる。【００９５】
上記の例では、更新間隔PC値の種類が少ないため、重複によって組み合わせ数が削減されている。更新間隔PC値の種類が増えた場合では、組み合わせ総数はさらに増える。したがって、数千台規模の管理対象を持つシステムに全探索法を適用することのは困難である。【００９６】
また本実施例によれば、各グループの更新間隔PC値jが互いに素である場合、最適なスケジュールを生成することができる。各グループの更新間隔PC値jが互いに素である場合、NextPC(r_i)の値に関わらず、どの2つのグループを組み合わせても更新処理の重複（同じPC値で更新処理が要求される）が網羅的に発生する。各グループにおける最大同時更新処理数の総和が最小の最大同時更新処理数であり、これ以上同時更新処理数を小さくすることはできないからである。【００９７】
さらに、管理対象装置の種類ごとに同時更新数を設定し、管理対象装置の種類ごとに収集スケジュールを作成する特許文献２に開示された方法では、異なる複数種類の資源情報に同じ同時更新数が設定された場合、同じ同時更新数の収集スケジュールが複数独立に生成される。したがって、収集スケジュールに隙間が多くできる傾向がある。
一方、本実施例の方法では、同じ同時更新数の資源情報を1つのグループにまとめて収集スケジュールを生成する。したがって、収集スケジュールの隙間を少なくでき、より最適な情報収集スケジュールを生成することができる。【００９８】
例えば、図２１に示すように、更新間隔PC値が2となる資源情報が10個あり、管理対象装置の種類で分類すると2つの資源グループg1,g2に分類されるとする。特許文献２に記載された方法では、グループごとに独立に情報収集スケジュールが生成されるので、図２１に示す2つの収集スケジュールが生成される。生成された収集スケジュールより、各NextPC値における同時更新数は、図２１の下部に示すように、最大で6になる。【００９９】
一方、本実施例の方法では、図１３に示すように、10個の資源情報が1つのグループG2に分類され、一括して収集スケジュールが生成される。その結果、図１３に示すように、1つの収集スケジュールが生成され、各NextPC値における同時更新数は、図１３の下部に示すように、最大で5に収まる。【０１００】
（実施例２）
本実施例にかかる収集スケジュール生成部２５が実行する処理を図１４のフローチャートに示す。処理の前提として、条件格納部２７には、図２に示すように、収集対象となる資源情報r_iの更新間隔５０１と、同時更新処理数MCU５０２と、ポーリング時間間隔PI５０３とが格納されているものとする。【０１０１】
[前処理]
始めに、収集スケジュール生成部２５は、実施例１と同様の前処理を行うことにより、更新間隔IntervalPC(r_i)とIntervalPC(r_i)の最小公倍数LCMI(Least Common Multiple Interval)とを求める（ステップＳ７０１）。また、収集スケジュール生成部２５は、実施例１と同様に、IntervalPC(r_i)が同じ値を持つ資源情報をグループ化し、IntervalPC(r_i)=jでグループ化されたグループをGjとする（ステップＳ７０２）。【０１０２】
次に、収集スケジュール生成部２５は、同時更新処理数を数え上げるためのカウンタCUC(Concurrent Update Count)を初期値0にセットする（ステップＳ７０３）。収集スケジュール生成部２５は、全てのGjのうちjの値が小さいものから順番にスケジュールを決定するために、グループGjからｊの値が最も小さいグループを選択する（ステップＳ７０４）。後述するように、同時更新処理数MCUの制約は、収集スケジュール生成部２５が各グループの情報収集スケジュールを生成する段階でチェックされる。そして、収集スケジュール生成部２５が途中で終了することなく全てのスケジュール生成処理を完了したら、最終的な情報収集スケジュールを出力して終了する。【０１０３】
収集スケジュール生成部２５は、1つのグループGjを選択すると、今までにスケジュールを決定したGk(k<j)に対し、jを割り切るkがあるか否かを確認する（ステップＳ７０５）。mod(j,k)=0すなわちjがkで割り切れる場合、収集スケジュール生成部２５は、処理をステップＳ７１０に進める。それ以外(Gk=φ（空集合）の場合を含む)の場合、収集スケジュール生成部２５は処理をステップＳ７０６に進める。【０１０４】
ステップ７０６では、更新間隔PC値kとjとが互いに素なので、Gjの収集スケジュールはGkの収集スケジュールのいずれとも組み合わせることができない。またGk=φ（空集合）の場合も、収集スケジュール生成部２５は新しくスケジュールを生成する必要がある。
そこで、まず、Gjに含まれる資源情報r_iに1から|Gj|までのラベルpをつける。
Gj={r_i,p|1≦p≦|Gj|}
…(9)
そして、各r_iに対してNextPC(r_i,p)を次式により決定する。
NextPC(r_i,p) = mod(p,j)
…(10)【０１０５】
ここで、mod(|Gj|,j)≠0である場合、スケジュールに隙間があり、jを因数に含むIntervalPC値のグループのスケジュールを組み合わせることができる。そこで、NextPC値として設定可能なmod(|Gj|,j)+1からjまでの値を集合Sjとして保持しておく（ステップＳ７０７）。
Sj = {s |mod(|Gj|,j)+1≦s≦j}
…(11)【０１０６】
mod(|Gj|,j)=0である場合、Sj=φ（空集合）である。後述するように、Sjは後のプロセスで利用した分だけ要素を取り出していく。【０１０７】
次に、Gjのグループの最大同時更新処理数はroundup(|Gj|/j)となるので、カウンタCUCにこの値を加える（ステップＳ７０８）。
CUC = CUC + roundup(|Gj|/j)
…(12)【０１０８】
カウンタCUCと同時更新処理数MCUとを比較して（ステップＳ７０９）、CUC＞MCUである場合、収集スケジュール生成部２５はスケジュール生成不能と判断して処理を終了する。
一方、カウンタCUCと同時更新処理数MCUとがCUC≦MCUである場合、収集スケジュール生成部２５は処理をステップＳ７１３に進める。【０１０９】
ステップＳ７１０では、更新間隔PC値jがkで割り切れるため、Gjの収集スケジュールはGkの収集スケジュールと組み合わせて生成される可能性がある。そこで、収集スケジュール生成部２５は、Gjの要素のなかで収集スケジュールが決まっていない要素、すなわちNextPC(r_i)値が決まっていない要素の集合をHjとして、処理をステップＳ７１１に進める。
Hj=Gj
…(13)【０１１０】
ステップＳ７１１では、収集スケジュール生成部２５がGjの収集スケジュールを他のグループの収集スケジュールと組み合わせて生成する処理が試みられる（詳細は後述する）。収集スケジュール生成部２５が、Gjの全ての要素の収集スケジュールを他のグループの収集スケジュールを利用して生成できる場合、カウンタCUCは増加しない。
一方、収集スケジュール生成部２５が、Gjの少なくとも一部の要素について他グループの収集スケジュールを利用できずに新たな収集スケジュールを生成する場合、カウンタCUCが増加する。収集スケジュール生成部２５は、カウンタCUCが増加する場合、処理をステップＳ７１２に進め、カウンタCUCが増加しない場合、処理をステップＳ７１３に進める。【０１１１】
ステップＳ７１２では、カウンタCUCと同時更新処理数MCUとを比較し、CUC＞MCUの場合、収集スケジュール生成部２５は収集スケジュールを生成できないと判断して、処理を終了する。
カウンタCUCと同時更新処理数MCUとがCUC≦MCUの場合、収集スケジュール生成部２５は、処理をステップＳ７１３に進める。【０１１２】
ステップＳ７１３では、収集スケジュール生成部２５は選択可能なGjが残っているか否かを判定する。
選択可能なGjが残っている場合、収集スケジュール生成部２５は、ステップＳ７０４に戻って上述した処理と同様の処理を繰り返す。
一方、選択可能なGjが残っていない場合、収集スケジュール生成部２５は、それまでに生成した各資源情報のNextPC値とIntervalPC(r_i)とのセットをスケジュールとして収集スケジュール格納部２６に格納し（ステップＳ７１４）、処理を終了する。【０１１３】
ステップＳ７１１の処理の詳細を図１５に示す。収集スケジュール生成部２５は、未だ検証していないGkのうち、kが小さいものから順番にGkを選択し、スケジュールを追加できる余裕があるか否かを確認する。
Sk≠φの場合（つまり、Skが要素を持つ場合）（ステップＳ８０１：ＹＥＳ）、収集スケジュール生成部２５は処理をステップＳ８０２に進める。
全てのGkについてSk=φ（空集合）である場合（ステップＳ８０１：ＮＯ）、収集スケジュール生成部２５は処理をステップＳ８１２に進める。【０１１４】
ステップＳ８０２に進んだ場合、収集スケジュール生成部２５は、Gkの収集スケジュールと組み合わせてGjの一部又は全ての要素に対応する資源情報r_iの収集スケジュールを生成することができる。この場合、jはkで割り切れるので、j=k*mと表す。収集スケジュール生成部２５は、Skの要素を使って、Hjに含まれる要素に対応する資源情報r_iのNextPC(r_i)値を決定する。【０１１５】
収集スケジュール生成部２５はHjに含まれる要素をm個ずつ区切ってサブグループFx(1≦x≦roundup(|Hj|/m))を作り、Fxに含まれる要素をr_i,xと表記し、1から|Fx|までのラベルqをつける（ステップＳ８０３）。
Fx={r_i,x,q|1≦q≦|Fx|}
…(14)【０１１６】
次に、収集スケジュール生成部２５は要素数の多いFxを選択し（ステップＳ８０４）、選択したFxの要素数がmであるか否かを確認する（ステップＳ８０５）。|Fx|=mの場合、収集スケジュール生成部２５は処理をステップＳ８０６に進め、|Fx|<mの場合、処理をステップＳ８１０に進める。【０１１７】
ステップＳ８０６では、収集スケジュール生成部２５は選択したFxの要素のNextPC(r_i,x,q)値を決定する。具体的には、Skの要素の中から最も小さい値sを取り出し、このsにkの整数倍を加えた値のうち、jより小さい値を持つものをNextPC(r_i,x,q)として設定する。
NextPC(r_i,x,q) = s+k*(q-1) (1≦q≦|Fx|=m)
…(15)
このとき取り出したSkの要素はSkから取り除く。【０１１８】
次に、収集スケジュール生成部２５は、収集スケジュールが決定していないGjの要素が残っているか否かを確認する（ステップＳ８０７）。Hj≠φすなわち残っている場合、収集スケジュール生成部２５は処理ステップＳ８０８に進め、Hj=φ（空集合）すなわちGjのスケジュール生成処理が完了している場合、処理をステップＳ８０９に進める。【０１１９】
ステップＳ８０８では、収集スケジュール生成部２５はSkに残っている要素があるか否かを確認する。Sk≠φの場合、収集スケジュール生成部２５は処理をステップＳ８０４に戻して、要素数の多いFxを選択して上述した処理と同様の処理を繰り返す。Sk=φ（空集合）の場合、収集スケジュール生成部２５は処理をステップＳ８０１に戻す。【０１２０】
ステップＳ８０９では、Gjの収集スケジュールはSkの要素を使って生成され、新しくNextPC(r_i)値として利用可能な数値を生成しなかったのでSj=φ（空集合）とする。そして、収集スケジュール生成部２５は処理をステップＳ７１３に進める。【０１２１】
ステップＳ８１０では、収集スケジュール生成部２５は選択したFxの要素に対して、以下のようにNextPC(r_i,x,q)値を決定する。ここで、|Fx|<mとなるサブグループは高々1個であり、要素数が多いものから選択処理をしているので、Fxは最後のサブグループである。
まず、収集スケジュール生成部２５はSkの要素の中から最も小さい値sを取り出す。そして、sにkの整数倍を加えた値のうち、jより小さい値をNextPC(r_i,x,q)として設定する。
NextPC(r_i,x,q) = s+k*(q-1) (1≦q≦|Fx|<m)
…(16)【０１２２】
このとき、s+k*(q-1) (|Fx|+1≦q≦m)の値は、NextPCとして設定できるのにも関わらず、利用されずに終わる。これらの値を使うことで、jを因数に含むIntervalPC値のグループをスケジュールできる可能性がある。そこで、これらの値をSjとして保持しておく（ステップＳ８１１）。
Sj={s+k*(q-1) (|Fx|+1≦q≦m)}
…(17)
HjはHj=φ（空集合）なので、Gjに対するスケジュールが完成したので、収集スケジュール生成部２５は処理をステップＳ７１３に進める。【０１２３】
ステップＳ８１２では、組み合わせ可能なGkのスケジュールは全て検証を終えたので、収集スケジュール生成部２５は残りの要素Hjの収集スケジュールを作成する。まず、Hjに含まれる資源情報r_iに1から|Hj|までのラベルpをつける。
Hj={r_i,p|1≦p≦|Hj|}
…(18)
次に、各r_iのNextPC(r_i,p)を次式により決定する。
NextPC(r_i,p) = mod(p,j)
…(19)【０１２４】
ここで、mod(|Hj|,j)≠0である場合、スケジュールに隙間があるので、jを因数に含むIntervalPC値のグループをスケジュールできる可能性がある。そこで、NextPC値として設定可能なmod(|Hj|,j)+1からjまでの値を集合Sjとして保持しておく（ステップＳ８１３）。
Sj = {s |mod(|Hj|,j)+1≦s≦j}
…(20)
mod(|Hj|,j)=0の場合はSj=φ（空集合）である。
Sjは後のプロセスで利用した分だけ要素を取り出していく。【０１２５】
次に、Gjのグループの最大同時更新処理数はroundup(|Hj|/j)となる。そこで、収集スケジュール生成部２５はカウンタCUCにroundup(|Hj|/j)を加える（ステップＳ８１４）。そして、収集スケジュール生成部２５は処理をステップＳ７１２に進める。
CUC = CUC + roundup(|Hj|/j)
…(21)【０１２６】
次に、以上の方法を用いて、実施例１で作成されるスケジュールよりも最適なスケジュールが生成される例を示す。【０１２７】
更新間隔PC値が2,3,6,10である資源情報がそれぞれ5個ずつある場合を考える。更新間隔PC値が同じ値の資源情報をグループG2,G3,G6,G10にグループ化して実施例１を適用すると、図１６に示すように、グループごとの収集スケジュールが生成される。その結果、最大同時更新処理数は7になる。スケジュールせずに収集処理を行うと、最大同時更新処理数が20となってしまう場合があるので、実施例１で生成されるスケジュールでも十分実用的である。しかし、更新間隔PC値が互いに素又は素数ではないので、実施例１で示されたスケジュール生成方法では、最適なスケジュールが生成されるとは限らない。そこで、本実施例２の方法を採用することで、より最適な収集スケジュールが生成される。【０１２８】
収集スケジュール生成部２５は、図１７に示すように、実施例１と同様に更新間隔PC値に基づいて資源情報をグループ化する。まず、収集スケジュール生成部２５は更新間隔PC値が最も小さいG2の収集スケジュールを生成する。G2では、それより前に収集スケジュールが生成されたグループが存在しないので、収集スケジュール生成部２５は実施例１と同じ手順でG2の収集スケジュールを生成する。収集スケジュール生成部２５が生成したG2の収集スケジュールは、図１７に示すようになる。生成されたG2の収集スケジュールでは、同時更新処理数の最大値は3となるが、同時更新処理数が2の箇所も存在する。つまり、G2の収集スケジュールには余裕があるので、もう一つ更新間隔PC値が2の資源情報を次回更新間隔値2として収集スケジュールに組み込むことも可能である。そこで、収集スケジュール生成部２５は次回更新間隔値2をS2という集合に格納する。【０１２９】
次に、収集スケジュール生成部２５はG3の収集スケジュールを生成する。G3の収集スケジュールを生成する時点で、G2の収集スケジュールが既に生成されている。しかし、mod(3,2)≠0なので、収集スケジュール生成部２５はG3の収集スケジュールも作成する。収集スケジュール生成部２５が作成したG3の収集スケジュールは、図１７に示すようになる。生成されたG3の収集スケジュールの最大同時更新処理数は2となるが、G3の収集スケジュールには余裕がある。そこで、もう一つ更新間隔PC値が3の資源情報を次回更新間隔値3として収集スケジュールに組み込むことも可能である。そこで、収集スケジュール生成部２５は次回更新間隔値3をS3という集合に格納する。【０１３０】
次に、収集スケジュール生成部２５はG6の収集スケジュールを生成する。この時点でG2とG3のスケジュール作成が完了しており、mod(6,2)=0なので、G2の収集スケジュールと組み合わせる方法を考える。S2≠φなので、G2の収集スケジュールの余裕分を利用することができる。【０１３１】
まず、G6=H6とする。また、j=6、k=2であるので、m=3である。H6の要素を3個ずつ区切って2つのサブグループF1、F2を作る。|F1|=3、|F2|=2とすると、まず|F1|が選択される。S2には先ほどの処理により、値2が一つだけ格納されている。これを利用して、図１７に示すようにF1の要素に次回更新PC値を設定する。このとき、F1の3つの要素に対して、2,4,6の値が設定される。この操作により、S2=φ（空集合）となるので、別のGkを調査する。この時点で、H6の要素数は5から2に減っている（|H6|−|F3|=5-3=2）。【０１３２】
mod(6,3)=0なので、G3の収集スケジュールとの組み合わせが考えられる。S3もS3≠φである。j=6、k=3であるため、m=2である。H6の要素数を2個ずつ区切ると、F1というサブグループが1つだけ作成される。S3には先ほどの処理により、値3が一つだけ格納されているので、図１７に示すように、この値を利用してF1の要素の次回更新PC値を3,6と設定する。この操作により、H6=φ（空集合）になり、G6の全ての要素に対して収集スケジュールが決まったことになる。S6=φ（空集合）として、G6に対するスケジュール処理を終える。同時更新処理数は増加しない。【０１３３】
最後に、G10についてグループ内の収集スケジュールを生成する。mod(10,2)となるが、S2=φ（空集合）となるため、収集スケジュールを組み合わせることはできない。したがって、収集スケジュール生成部２５は実施例１と同じ手順でスケジュールを生成する。結果は図１７に示すようになる。【０１３４】
以上の処理で完成した収集スケジュールは最大同時更新処理数が6となり、図１６に示す実施例１の方法で作成した収集スケジュールの最大同時更新処理数と比較して小さい値となる。理論上、最大同時更新処理数は6以下にはできないことが証明できるため、この場合は、最適な収集スケジュールが生成できたことになる。【０１３５】
収集スケジュール生成部２５、３５は、収集スケジュール格納部２６、３６に初めて格納する収集スケジュールの生成時に利用することができる以外に、変更部２４ｂ、３４ｂによる収集スケジュールの再生成にも利用することができる。【０１３６】
次に本実施の形態の効果を説明する。【０１３７】
本実施の形態によれば、資源情報提供装置が多段に階層化された資源情報提供システムにおいて、検索要求元に提供する資源情報の鮮度が要求鮮度を満たすように調整することができる。【０１３８】
資源情報Xに対する最大許容経過時間t_reqを指定した経過時間指定要求をシステムに入力すると、資源情報Xの最大経過時間t_maxがt_reqを超えるか否かが判定される。資源情報Xの最大経過時間t_maxがt_reqを超える場合、資源情報Xの伝搬経路上に存在する資源情報提供装置２及び３から、資源情報Xの収集間隔を少なくとも超過分だけ短縮可能な資源情報提供装置を検索クライアント１に近いものから優先的に選択される。そして、選択された資源情報提供装置において資源情報Xの収集間隔が短縮される。したがって、このシステムでは、検索要求元に提供する資源情報の鮮度が要求鮮度を満たすように調整することができる。【０１３９】
また本実施の形態によれば、収集間隔の変更時、更新間隔を満たす範囲で収集負荷を可能な限り抑えることができる。【０１４０】
その理由は、複数の資源情報が更新間隔の値に基づいて分類され、グループごとに属する資源情報の収集スケジュールが再生成されることにより、同時更新処理数の偏りが少ない収集スケジュールが生成されるからである。【０１４１】
（第２の実施の形態）
図１８を参照すると、本発明の第２の実施の形態にかかる資源情報提供システムは、図１に示した第１の実施の形態にかかる資源情報提供システムと比較して、資源情報提供装置２が情報収集部２３の代わりに情報更新部２３Ａを備え、資源情報提供装置３が検索処理部３１と情報収集部３３との代わりに情報配信部３１Ａと情報更新部３３Ａとを備え、管理対象装置４が情報提供部４１の代わりに情報配信部４１Ａを備えている点で異なる。【０１４２】
図１に示す第１の実施の形態では、管理対象装置４の情報提供部４１が資源情報提供装置３の情報収集部３３から資源取得要求を受けた時点で、情報提供部４１は管理対象装置４に格納された資源情報を情報収集部３３に送信した。
一方、本実施の形態では、資源情報提供装置３の収集スケジュール格納部３６に格納された収集スケジュールを収集スケジュール格納部３６が管理対象装置４の情報配信部４１Ａに送信する。そして、情報配信部４１Ａは受信した収集スケジュールに従って、管理対象装置４に格納された資源情報を定期的に取得して資源情報提供装置３の情報更新部３３Ａに送信し、情報更新部３３Ａは受信した資源情報を情報格納部３２に格納（キャッシュ）する。【０１４３】
また、図１に示した第１の実施の形態では、下位階層の資源情報提供装置３の検索処理部３１が上位階層の資源情報提供装置２の情報収集部２３から検索要求を受けた時点で情報格納部３２に格納されている資源情報を情報収集部２３に送信した。
一方、本実施の形態では、資源情報提供装置２の収集スケジュール格納部２６に格納された収集スケジュールを資源情報提供装置３の情報配信部３１Ａに送信する。そして、情報配信部３１Ａは受信した収集スケジュールに従って、情報格納部３２に格納された資源情報を定期的に資源情報提供装置２の情報更新部２３Ａに送信し、情報更新部２３Ａは受信した資源情報を情報格納部２２に格納（キャッシュ）する。【０１４４】
このように本実施の形態は、管理対象装置４から下位階層の資源情報提供装置３に資源情報を配信し、下位階層の資源情報提供装置３から上位階層の資源情報提供装置２に資源情報を配信する点が相違する。制御部２４、３４を含めその他の構成および動作は第１の実施の形態と同じである。【０１４５】
本実施の形態によれば、既存の資源情報提供システムが情報配信方式で実現されている場合でも、制御部２４、３４を導入するだけで、検索クライアント１に対して資源情報の鮮度を保証することができる。【０１４６】
以上本発明の実施の形態について説明したが、本発明は以上の例に限定されず、その他各種の付加変更が可能である。
例えば、前述した実施の形態は、検索クライアント１が１つ、資源情報提供装置が２つの簡単なシステム構成を例にした。しかし、本発明はそのような例に限定されず、例えば図１９に示すように、検索クライアントが２以上で、資源情報提供装置が３以上の資源情報提供装置にも適用可能である。
また、図１９では、検索クライアント１００、１０１から管理対象装置１１０までの情報伝搬経路上に介在する資源情報提供装置１０２〜１０９の最大数が２であるが、３つ以上の資源情報提供装置を経由する資源情報提供システムに対しても本発明は適用可能である。
なお、複数の検索クライアント１００、１０１から同じ資源情報Xについて異なる最大許容経過時間t_reqを指定した経過時間指定要求が同じ資源情報提供装置（資源情報提供装置１０３や１０４）に同時に出された場合、より条件の厳しい最大許容経過時間t_reqに基づいて収集間隔の短縮が行われる。例えば、検索クライアント１００からt_req=5秒、検索クライアント１０１からt_req=3秒が要求された場合、t_req=3秒が満たされるように収集間隔の短縮が行われる。【０１４７】
さらに、本発明の資源情報収集装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供される。当該プログラムは、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態における資源情報提供装置の収集スケジュール生成部２５、３５、制御部２４、３４、検索処理部２１、３１、情報収集部２３、３３、情報更新部２３Ａ、３３Ａ、情報配信部３１Ａとして機能させ、図５〜図７、図９〜図１１、図１４および図１５に示した処理をコンピュータに実行させる。【０１４８】
この出願は、２００６年１１月６日に出願された日本出願特願２００６−３００２００号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１４９】
本発明は、分散システムの構成や状態を監視する統合監視システムといった用途に適用できる。また、手作業によるシステム運用管理を自律化する自律運用管理ミドルウェアにおいて、自律運用管理の精度や信頼性を向上させる用途に適用できる。
【図１】
2008056670.tif 000003
【図２】
2008056670.tif 000004
【図３】
2008056670.tif 000005
【図４】
2008056670.tif 000006
【図５】
2008056670.tif 000007
【図６】
2008056670.tif 000008
【図７】
2008056670.tif 000009
【図８】
2008056670.tif 000010
【図９】
2008056670.tif 000011
【図１０】
2008056670.tif 000012
【図１１】
2008056670.tif 000013
【図１２】
2008056670.tif 000014
【図１３】
2008056670.tif 000015
【図１４】
2008056670.tif 000016
【図１５】
2008056670.tif 000017
【図１６】
2008056670.tif 000018
【図１７】
2008056670.tif 000019
【図１８】
2008056670.tif 000020
【図１９】
2008056670.tif 000021
【図２０】
2008056670.tif 000022
【図２１】
2008056670.tif 000023
【国際調査報告】
2008056670.tif 000024
2008056670.tif 000025
2008056670.tif 000026
2008056670.tif 000027