(57)【要約】【課題】最新の構成情報の取得に起因する負荷を抑制する。【解決手段】構成管理装置１０は、収集対象となる装置１から構成情報の値を取得して、装置１の構成を管理する。そのために構成管理装置１０は、決定処理部１２と取得処理部１３とを有する。決定処理部１２は、構成情報が参照される頻度、構成情報の値が更新される頻度、および装置１の負荷のうちの少なくとも１つに基づいて、装置１の負荷が抑えられるように、構成情報を取得する時機を決定する。取得処理部１３は、装置１と連携し、決定した時機に、装置１から構成情報を取得する。【選択図】図１
2015191523.tif 000002
【特許請求の範囲】
【請求項１】
収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置において、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定する決定処理部と、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する取得処理部と、
を有する構成管理装置。
【請求項２】
前記決定処理部は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とする第１の時機と、前記構成情報の値が更新されたときを前記構成情報の取得時機とする第２の時機と、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とする第３の時機との中から、構成情報を取得する時機を決定する、
ことを特徴とする請求項１記載の構成管理装置。
【請求項３】
前記決定処理部は、前記構成情報の更新頻度が所定値より高い場合は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とし、前記構成情報の更新頻度が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする請求項１または２に記載の構成管理装置。
【請求項４】
前記決定処理部は、前記構成情報の参照頻度が所定値以下の場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記構成情報の参照頻度が所定値より高い場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする請求項１または２に記載の構成管理装置。
【請求項５】
前記決定処理部は、前記収集対象装置の負荷が所定値より高い場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記収集対象装置の負荷が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする請求項１または２に記載の構成管理装置。
【請求項６】
構成情報の収集対象となる収集対象装置と、前記収集対象装置から前記構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置とを有する構成管理システムにおいて、
前記構成管理装置は、前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得し、
前記収集対象装置は、前記構成管理装置と連携して、前記構成管理装置で決定された時機に、前記構成情報を前記構成管理装置に送信する、
ことを特徴とする構成管理システム。
【請求項７】
収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する処理をコンピュータに実行させる構成管理プログラムにおいて、
前記コンピュータに、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する、
処理を実行させる構成管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他のシステムの構成を管理する構成管理装置、構成管理システム、および構成管理プログラムに関する。
【背景技術】
【０００２】
ＩＣＴ（Information and Communication Technology）システム（以下単にシステムと呼ぶ）の運用管理には、システムの構成情報が利用される。構成情報は、システムに含まれるコンピュータなどの装置に関する、ハードウェア資源の情報、装置上で動作するソフトウェア資源の情報、およびそれらの情報間の関連を示す情報である。例えば構成管理装置が、管理対象のシステム内の装置から構成情報を収集する。このような構成情報の収集処理は、ディスカバリとも呼ばれる。ディスカバリにおける構成情報の収集対象となる装置には、サーバなどのコンピュータ、端末装置、負荷分散装置などがある。
【０００３】
構成情報の収集に関する技術としては、例えば構成定義がディレクトリサーバマシン上にあるときに、周期的なタイマイベントに従って、構成定義の更新があるかどうかをディレクトリサーバマシンに照会する技術がある。また定期的にポーリングコマンドを送出して接続状態および通信状態を監視して、ネットワーク接続管理情報記録部の内容を更新することで、ネットワーク機器および通信回線の相互接続関係をデータベースとして入力するための作業を不要とする技術もある。
【０００４】
構成情報の更新に関する技術としては、例えばシステムを構成するリソースを示す情報である構成アイテムに対する処理依頼に応じた処理を、処理依頼が取得されたタイミングとは別のタイミングで行い、処理依頼内の属性情報を構成アイテムに反映する技術がある。
【０００５】
システムの構成情報の利用に関する技術としては、例えばディスカバリによって取得した構成要素などの情報を、指定された処理または使用者による処理コストまたは環境負荷を示す指標値を算出するのに利用する技術が考えられている。またコンピュータ群の拠点管理データリポジトリ部から収集した構成アイテム情報を、データ量が増加してもデータが１拠点の管理データリポジトリ部に集中することを防止するのに利用する技術もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２８０８３８号公報
【特許文献２】特開平５−１９９２４４号公報
【特許文献３】国際公開第２００９／１５７０６２号
【特許文献４】国際公開第２０１０／０４７１７０号
【特許文献５】特開２０１２−５３５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多くの場合、ディスカバリによって取得した構成情報を利用する際には、最新の構成情報が利用される。利用する構成情報の最新性を確保する技術としては、構成情報を利用する際に、収集対象の装置から最新の構成情報を取得する方法（取得型ディスカバリ）が考えられる。また収集対象の装置内で構成情報の内容が変更されるごとに、変更後の更新情報を取得する方法（通知型ディスカバリ）も考えられる。
【０００８】
なおディスカバリによる構成情報の収集が頻繁に行われると、収集対象の装置の負荷が増加する。そこでシステムごとに、構成情報の取得回数が少なくて済むディスカバリ方法が採用される。例えば構成情報の参照が頻繁に行われるシステムでは通知型ディスカバリを採用し、構成情報の更新が頻繁に行われるシステムでは取得型ディスカバリを採用することが考えられる。
【０００９】
しかし、従来は、システム全体について一括で指定された方法で、すべての構成情報のディスカバリを行っているため、構成情報の利用状況や構成情報の更新状況が変化すると、収集対象の装置の負荷が想定以上に大きくなる可能性がある。例えば構成情報の参照頻度が少ないものと想定して取得型ディスカバリを行っているときに参照頻度が想定以上に増えると、ディスカバリ回数が増加し負荷が過大となる。また、構成情報の更新頻度が少ないものと想定して通知型ディスカバリを行っているときに更新頻度が想定以上に増えると、ディスカバリ回数が増加し負荷が過大となる。このように、従来技術では、運用中に参照頻度や更新頻度が変動した場合に、最新の構成情報の取得に起因する負荷を抑制することができない。
【００１０】
１つの側面では、本件は、最新の構成情報の取得に起因する負荷を抑制することを目的とする。
【課題を解決するための手段】
【００１１】
１態様では、収集対象となる装置から構成情報の値を取得して、装置の構成を管理する構成管理装置において、構成情報が参照される頻度、構成情報の値が更新される頻度、および装置の負荷のうちの少なくとも１つに基づいて、装置の負荷が抑えられるように、構成情報を取得する時機を決定する決定処理部と、装置と連携し、決定した時機に、装置から構成情報を取得する取得処理部と、を有する構成管理装置が提供される。
【発明の効果】
【００１２】
１態様によれば、最新の構成情報の取得に起因する負荷を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のシステム構成の一例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】第２の実施の形態に用いる構成管理サーバのハードウェアの一構成例を示す図である。
【図４】構成情報の活用例を示す図である。
【図５】構成情報の収集機能を示すブロック図である。
【図６】ＣＭＤＢの一例を示す図である。
【図７】定期ディスカバリ処理の一例を示す図である。
【図８】定期ディスカバリの実施例を示す図である。
【図９】取得型ディスカバリ処理の一例を示す図である。
【図１０】取得型ディスカバリの実施例を示す図である。
【図１１】通知型ディスカバリ処理の一例を示す図である。
【図１２】通知型ディスカバリの実施例を示す図である。
【図１３】インテリジェントディスカバリ処理の一例を示す図である。
【図１４】インテリジェントディスカバリの実施例を示す図である。
【図１５】ディスカバリ方法の判断基準の一例を示す図である。
【図１６】運用状況の変化に応じたディスカバリ方法の遷移例を示す図である。
【図１７】第２の実施の形態の各装置の機能を示すブロック図である。
【図１８】参照ＤＢのデータ構造の一例を示す図である。
【図１９】更新ＤＢのデータ構造の一例を示す図である。
【図２０】ディスカバリ方法記憶部のデータ構造の一例を示す図である。
【図２１】ディスカバリ方法変更ログ記憶部のデータ構造の一例を示す図である。
【図２２】性能情報記憶部のデータ構造の一例を示す図である。
【図２３】収集対象装置それぞれの通知型ディスカバリ対象記憶部のデータ構造の一例を示す図である。
【図２４】参照処理の手順の一例を示すフローチャートである。
【図２５】通知型ディスカバリ処理の手順の一例を示すフローチャートである。
【図２６】更新制御処理の手順の一例を示すフローチャートである。
【図２７】定期的ディスカバリ処理の手順の一例を示すフローチャートである。
【図２８】性能監視連携処理の手順の一例を示すフローチャートである。
【図２９】性能監視部から提供されるＣＰＵ使用率の履歴の一例を示す図である。
【図３０】ディスカバリ方法変更処理の手順の一例を示すフローチャートである。
【図３１】ディスカバリ方法の登録／更新処理の手順の一例を示すフローチャートの前半である。
【図３２】ディスカバリ方法の登録／更新処理の手順の一例を示すフローチャートの後半である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず、第１の実施の形態について説明する。第１の実施の形態は、装置からの構成情報の取得に起因するその装置の負荷を軽減するように、構成情報の取得時機（タイミング）を動的に変更するものである。しかも第１の実施の形態では、複数の構成情報があるとき、構成情報ごとに取得時機を変更可能とする。
【００１５】
図１は、第１の実施の形態のシステム構成の一例を示す図である。構成管理装置１０は、収集対象装置１の構成情報を収集し、その構成情報に基づいて収集対象装置１の構成を管理する。構成管理装置１０で収集された構成情報は、端末装置２から参照可能となる。
【００１６】
構成管理装置１０は、記憶部１１、決定処理部１２、取得処理部１３、負荷監視処理部１４、および参照管理処理部１５を有している。
記憶部１１は、負荷情報１１ａと構成情報テーブル１１ｂとを記憶する。負荷情報１１ａは、収集対象装置１の負荷の状態を示す情報である。例えば収集対象装置１の負荷が、所定値より高いか低いかが、負荷情報１１ａに示される。
【００１７】
構成情報テーブル１１ｂには、構成情報ごとの構成情報ＩＤに対応付けて、更新頻度、参照頻度、および値が設定される。更新頻度は、例えば単位時間当たりに構成情報の値が更新された回数である。また構成情報が前回更新されてからの経過時間を更新頻度としてもよい。参照頻度は、例えば単位時間当たりに構成情報が参照された回数である。また構成情報が前回参照されてからの経過時間を参照頻度としてもよい。
【００１８】
決定処理部１２は、構成情報の参照頻度、構成情報の更新頻度、および収集対象装置１の負荷のうちの少なくとも１つに基づいて、収集対象装置１の負荷が抑えられるように、構成情報を取得する時機を決定する。図１の例では、決定処理部１２は、構成情報の参照頻度、構成情報の更新頻度、および収集対象装置１の負荷の組み合わせにより、構成情報の取得時機を決定する。なお、構成情報の取得時機の決定は、例えば所定周期で定期的に実行される。
【００１９】
また決定処理部１２は、構成情報の取得時機の示す定義情報を、予め複数用意しておき、複数の定義情報から、構成情報に適用する定義情報を選択することで、その構成情報の取得時機を決定することもできる。例えば定義情報には、構成情報に対する参照要求が入力されたときを、構成情報の取得時機とすることが定義される。また定義情報に、構成情報の値が更新されたときを構成情報の取得時機とすることを定義してもよい。さらに定義情報に、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とすることを定義してもよい。
【００２０】
取得処理部１３は、収集対象装置１と連携し、決定処理部１２が決定した時機に、収集対象装置１から構成情報を取得する。例えば取得処理部１３は、参照時に取得する構成情報に対する参照要求があったことの通知を、参照管理処理部１５から受け取ると、その構成情報を収集対象装置１から取得する。また取得処理部１３は、収集対象装置１に対して、更新時に取得する構成情報を指定して、その構成情報の更新の有無の監視を指示する。すると収集対象装置１は、指定された構成情報の値が更新されると、更新後の構成情報を構成管理装置１０に送信する。また取得処理部１３は、構成情報について、スケジュールで指定された時機（例えば所定周期）で取得することが決定されている場合、指定された時機になると、その構成情報を収集対象装置１から取得する。取得処理部１３は、取得した構成情報の値を、記憶装置１１の構成情報テーブル１１ｂに設定する。
【００２１】
また取得処理部１３は、各構成情報の更新頻度を計算し、更新頻度を示す情報を構成情報テーブル１１ｂに設定する。例えば取得処理部１３は、取得した構成情報の値が、直前まで構成情報テーブル１１ｂに設定されていた値と異なる場合、その構成情報が更新されたと判断する。そして取得処理部１３は、構成情報ごとに更新頻度を計算し、構成情報の更新頻度が所定値より高ければ、構成情報テーブル１１ｂにおけるその構成情報の更新頻度を「高」と設定する。また取得処理部１３は、更新頻度が所定値以下であれば、構成情報テーブル１１ｂにおけるその構成情報の更新頻度を「低」と設定する。
【００２２】
負荷監視処理部１４は、収集対象装置１の負荷を監視する。例えば負荷監視処理部１４は、収集対象装置１から、ＣＰＵ（Central Processing Unit）使用率やメモリ使用率を取得する。そして負荷監視処理部１４は、取得した情報に基づいて、収集対象装置１の負荷を判断し、負荷が所定値を超えていれば、負荷情報１１ａに「高」と設定する。また負荷監視処理部１４は、負荷が所定値以下であれば、負荷情報１１ａに「低」と設定する。
【００２３】
参照管理処理部１５は、端末装置２からの構成情報の参照要求に応じて、記憶部１１から構成情報を取得し、端末装置２に応答する。参照管理処理部１５は、参照対象の構成情報の取得時機が参照時であれば、取得処理部１３にその構成情報の参照要求を取得したことを通知する。そして参照管理処理部１５は、取得処理部１３により最新の構成情報が取得された後、記憶部１１から、参照要求で指定された構成情報を取得する。
【００２４】
また参照管理処理部１５は、各構成情報の参照頻度を計算し、参照頻度を示す情報を構成情報テーブル１１ｂに設定する。例えば参照管理処理部１５は、構成情報ごとに参照頻度を計算し、構成情報の参照頻度が所定値より高ければ、構成情報テーブル１１ｂにおけるその構成情報の参照頻度を「高」と設定する。また参照管理処理部１５は、参照頻度が所定値以下であれば、構成情報テーブル１１ｂにおけるその構成情報の参照頻度を「低」と設定する。
【００２５】
このような構成のシステムにおいて、各構成情報の更新頻度は、取得処理部１３により最新の状況に応じた値が設定される。また各構成情報の参照頻度は、参照管理処理部１５により、最新の状況に応じた値が設定される。さらに負荷情報１１ａは、負荷監視処理部１４により、最新の状況に応じた値が設定される。このような状況化で、決定処理部１２により、所定のタイミングで、構成情報ごとの取得時機が決定される。例えば構成情報の更新頻度と参照頻度が共に高い場合、その構成情報の取得時機は、参照時に決定される。構成情報の更新頻度は高いが、参照頻度は低い場合、その構成情報の取得時機は、参照時に決定される。構成情報の更新頻度は低いが、参照頻度は高い場合、その構成情報の取得時機は、更新時に決定される。構成情報の更新頻度と参照頻度とが共に低い場合、収集対象装置１の負荷が低ければ、その構成情報の取得時機は、更新時に決定される。他方、収集対象装置１の負荷が高い場合、その構成情報の取得時機は、参照時と所定周期とに決定される。
【００２６】
決定処理部１２が決定した構成情報ごとの取得時機は、取得処理部１３に通知される。取得処理部１３は通知された取得時機に、各構成情報の最新の値を取得する。図１の例では、構成情報ＩＤ「１」の構成情報の取得時機は参照時である。そこで取得処理部１３は、構成情報ＩＤ「１」の構成情報に対する参照が行われるごとに、収集対象装置１から、その構成情報の最新の値を取得する。そして取得処理部１３は、取得した最新の値の構成情報を、構成情報テーブル１１ｂに設定する。
【００２７】
また図１の例では、構成情報ＩＤ「２」の構成情報の取得時機は更新時である。そこで取得処理部１３は、構成情報ＩＤ「２」の構成情報の監視を、収集対象装置１に依頼する。すると収集対象装置１は、構成情報ＩＤ「２」の構成情報の値の変更の有無を監視し、変更された場合、変更後の値を有する構成情報を、構成管理装置１０に送信する。送信された構成情報は、取得処理部１３で取得され、記憶部１１内の構成情報テーブル１１ｂに設定される。
【００２８】
さらに図１の例では、構成情報ＩＤ「４」の構成情報の取得時機は参照時と所定周期である。そこで取得処理部１３は、構成情報ＩＤ「３」の構成情報に対する参照が行われるごとに、収集対象装置１から、その構成情報の最新の値を取得する。また取得処理部１３は、所定周期で、参照の有無に拘わらず、収集対象装置１から、その構成情報の最新の値を取得する。そして取得処理部１３は、取得した最新の値の構成情報を、構成情報テーブル１１ｂに設定する。
【００２９】
このようにして、構成管理装置１０は、端末装置２からの参照要求に対して、最新の値の構成情報を応答することができる。しかも構成情報の取得時機が、そのときの状態に応じて動的に変更される。例えば、更新頻度と参照頻度とが低いために取得時機が更新時であった構成情報について、更新頻度が高くなれば、取得時機が参照時に変更される。その結果、構成情報の取得回数を抑制することができ、構成情報の取得に起因する収集対象装置１に対する負荷が軽減できる。同時に、構成管理装置１０の負荷も軽減される。
【００３０】
なお、図１の例では、更新頻度（変化特性）、参照頻度（利用特性）、および収集対象装置１の負荷（負荷特性）を組み合わせて取得時機を決定しているが、いずれか１つの特性に基づいて取得時機を決定してもよい。
【００３１】
例えば決定処理部１２は、構成情報の更新頻度のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部１２は、構成情報の更新頻度が所定値より高い場合は、構成情報に対する参照要求が入力されたときを構成情報の取得時機とする。そして決定処理部１２は、構成情報の更新頻度が所定値以下の場合は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、構成情報の更新頻度が高いときには、参照時に構成情報を取得するようにして、構成情報の取得回数を低減できる。
【００３２】
また決定処理部１２は、構成情報の参照頻度のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部１２は、構成情報の参照頻度が所定値以下の場合は、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とする。また決定処理部１２は、構成情報の参照頻度が所定値より高い場合は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、構成情報の参照度が高いときには、更新時に構成情報を取得するようにして、構成情報の取得回数を低減できる。なお、決定処理部１２は、構成情報の参照頻度が所定値以下の場合は、構成情報に対する参照要求が入力されたときのみを構成情報の取得時機としてもよい。
【００３３】
さらに決定処理部１２は、収集対象装置１の負荷のみに基づいて、構成情報の取得時機を決定できる。例えば決定処理部１２は、収集対象装置１の負荷が所定値より高い場合は、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを構成情報の取得時機とする。収集対象装置１の負荷が所定値以下の場合は、決定処理部１２は、構成情報の値が更新されたときを構成情報の取得時機とする。これにより、収集対象装置１の負荷が高いときには、構成情報の取得時機を参照時として、収集対象装置１による構成情報の更新の有無の監視負担を軽減し、収集対象装置１の負荷を軽減することができる。
【００３４】
決定処理部１２は、収集対象装置１の負荷が過大となりそうなとき、以後、更新時を取得時機とする構成情報の数を増やさないようにしてもよい。例えば決定処理部１２は、複数の構成情報のうち、更新時を取得時機とする構成情報数の増減と、収集対象装置１の負荷の増減に基づいて、構成情報数が１増加するごとの収集対象装置１の負荷量を求める。そして決定処理部１２は、構成情報数が１増加するごとの負荷量を現在の収集対象装置１の負荷に加算したとき、収集対象装置１の負荷が所定値以上となる場合、更新時を取得時機とする構成情報数の増加を抑止する。これにより、更新時を取得時機とする構成上情報の増加により収集対象装置１が過負荷状態に陥ることを抑止できる。
【００３５】
なお構成管理装置１０は、例えばコンピュータにプログラムを実行させることで実現できる。決定処理部１２、取得処理部１３、負荷監視処理部１４、および参照管理処理部１５は、例えば構成管理装置１０が有するプロセッサにより実現することができる。また、記憶部１１は、例えば構成管理装置１０が有するメモリにより実現することができる。
【００３６】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、サーバが、システム全体の負荷軽減と構成情報の最新性とを両立したディスカバリ方法により、複数の装置に対するディスカバリ（構成情報の取得）を行うものである。
【００３７】
図２は、第２の実施の形態のシステム構成例を示す図である。ネットワーク２０を介して、構成管理サーバ１００、端末装置３１，クラウドシステム３２、収集対象装置２００，３００，４００が接続されている。構成管理サーバ１００は、収集対象装置２００，３００，４００から構成情報を収集し、各装置の構成を管理する。収集対象装置２００，３００，４００としては、サーバコンピュータ、ラップコンピュータ、スマートフォンなどの携帯情報端末装置がある。
【００３８】
端末装置３１は、ユーザからの入力に応じて、構成管理サーバ１００に対して構成情報の参照要求を送信する。そして端末装置３１は、構成管理サーバ１００から応答された構成情報をモニタに表示する。または端末装置３１は、アプリケーションソフトウェアなどで取得した構成情報を解析し、解析結果をモニタに表示する。
【００３９】
クラウドシステム３２は、例えばシステムの構成情報の解析によるシステム管理サービスを行う。そのためにクラウドシステム３２は、構成管理サーバ１００に構成情報の参照要求を送信し、構成管理サーバ１００から構成情報を取得する。そしてクラウドシステム３２は、取得した構成情報に基づいて、システムの動作状況などの解析を行う。
【００４０】
図３は、第２の実施の形態に用いる構成管理サーバのハードウェアの一構成例を示す図である。構成管理サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００４１】
メモリ１０２は、構成管理サーバ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００４２】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００４３】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、構成管理サーバ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
【００４４】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４５】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４６】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４７】
機器接続インタフェース１０７は、構成管理サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４８】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４９】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。図３には構成管理サーバ１００のハードウェア構成を示したが、端末装置３１、クラウドシステム３２を構成するコンピュータ、収集対象装置２００，３００，４００も、構成管理サーバ１００と同様のハードウェアで実現できる。また第１の実施の形態に示した構成管理装置１０、収集対象装置１、および端末装置２も、図３に示した構成管理サーバ１００と同様のハードウェアにより実現することができる。
【００５０】
構成管理サーバ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。構成管理サーバ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、構成管理サーバ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また構成管理サーバ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００５１】
次に、構成情報の活用例について説明する。
図４は、構成情報の活用例を示す図である。図４の例では、４台の収集対象装置から構成情報を収集している。構成情報を活用する運用シーンとしては、例えば以下の３つの例が考えられる。
【００５２】
第１の例として、複数の構成対象装置の最新の構成情報を比較して、構成の異なる構成対象装置を特定することができる。図４の例では、収集対象装置Ａの最新の構成情報と、収集対象装置Ｂの最新の構成情報とが比較されている。
【００５３】
第２の例として、過去の構成情報と現在の構成情報とを比較し、構成の変更箇所を把握することもできる。図４の例では、収集対象装置Ｃの過去の構成情報が保持されており、過去の構成情報と現在の構成情報とが比較されている。
【００５４】
第３の例として、未来（設計）のシステム構成を計画し、装置の未来の目標とする構成を示す構成情報と現在の構成情報とを比較することもできる。これにより目標とするシステムを実現するための装置構成の変更内容を把握できる。図４の例では、構成情報Ｄについて、未来の目標とする構成情報と、現在の構成情報とが比較されている。
【００５５】
このような構成情報の活用のため、システム内の各装置から構成情報が管理装置で収集され、蓄積される。そして構成情報の活用時には、各収集対象装置の現在の構成情報が利用される場合が多い。そのため、最新の構成情報が確実に収集できていることが重要となる。
【００５６】
図５は、構成情報の収集機能を示すブロック図である。構成管理サーバ１００は、ＣＭＤＢ（Configuration Management Database）１１０、自律型収集エンジン１２０、および性能監視部１３０を有している。
【００５７】
ＣＭＤＢ１１０は、構成情報群１１１を保管するデータベースである。構成情報は、ＣＩ（Configuration Item）とも呼ばれる。自律型収集エンジン１２０は、収集対象装置２００，３００，４００と連携して、収集対象装置２００，３００，４００から構成情報を収集する。自律型収集エンジン１２０は、収集した構成情報１１１をＣＭＤＢ１１０に格納する。なお自律型収集エンジン１２０は、各構成情報の収集タイミングを判断するために、性能監視部１３０から収集対象装置２００，３００，４００の性能情報を取得する。
【００５８】
性能監視部１３０は、収集対象装置２００，３００，４００の性能を監視する。例えば性能監視部１３０は、収集対象装置２００，３００，４００それぞれから、性能情報を取得する。性能情報は、例えば現在のＣＰＵ使用率やＣＰＵ使用率の履歴などである。性能監視部１３０は、取得した性能情報、または性能情報を解析して得られる統計値を、自律型収集エンジン１２０に送信する。
【００５９】
収集対象装置２００，３００，４００は、それぞれ収集エンジン２１０，３１０，４１０を有している。収集エンジン２１０，３１０，４１０は、自装置内の構成情報を収集し、構成管理サーバ１００に送信する。
【００６０】
図６は、ＣＭＤＢの一例を示す図である。ＣＭＤＢ１１０には、ＩＣＴシステムごとの構成情報群１１１，１１２，・・・が格納されている。
ＣＭＤＢ１１０の構成情報群１１１は、複数の構成情報（ＣＩ：Configuration Item）１１１−１，１１１−２，・・・を有する。ここで、１つの構成情報は１つのアイテム（item）に対応する。アイテムは複数のレコード（record）を持つ。レコードの下に、サーバやネットワークなどの構成情報を任意の形式で持つ。
【００６１】
例えば構成情報１１１−１は、アイテムのＩＤやタイプが設定された要素１１１ａの下に、レコードを示す要素１１１ｂ，１１１ｅ，・・・が設定されている。レコードを示す要素１１１ｂの下には、階層構造で複数の要素１１１ｃ，１１１ｄが設定されている。各要素１１１ｃ，１１１ｄ内の先頭の１行は、要素名である。例えば要素１１１ｃの要素名は、「Server」である。また各要素内の要素名の下の各行の文字列が属性を表している。例えば要素１１１ｃ内の「ipaddress=“192.168.1.10”」が１つの属性であり、このうち“192.168.1.10”がその属性の値である。
【００６２】
次に、構成情報を収集するためのディスカバリ方法について説明する。ディスカバリ方法としては、定期ディスカバリ、取得型ディスカバリ、および通知型ディスカバリがある。
【００６３】
＜定期ディスカバリ＞
まず定期ディスカバリについて説明する。
図７は、定期ディスカバリ処理の一例を示す図である。定期ディスカバリは、スケジュールによって予め指定された時刻にディスカバリを実行するものである。定期ディスカバリは、以下の手順で行われる。
【００６４】
［手順１］ディスカバリ依頼
構成管理サーバ１００の自律型収集エンジン１２０が、スケジュールで指定された時刻になったときに、ディスカバリ依頼を各収集対象装置２００，３００，４００に送信する。
【００６５】
［手順２］構成情報を更新
各収集対象装置２００，３００，４００の収集エンジン２１０，３１０，４１０は、自装置から構成情報を収集する。そして収集エンジン２１０，３１０，４１０は、収集した構成情報を、構成管理サーバ１００に送信する。構成管理サーバ１００では、自律型収集エンジン１２０が構成情報を取得し、取得した構成情報をＣＭＤＢ１１０に登録する。
【００６６】
［手順３］構成情報の参照
利用者は、参照装置３０（端末装置３１またはクラウドシステム３２）を用いて、構成管理サーバ１００内のＣＭＤＢ１１０にアクセスし、定期ディスカバリで収集した時点の構成情報を参照する。
【００６７】
図８は、定期ディスカバリの実施例を示す図である。図８の例では、毎日午前０時にディスカバリを行うようにスケジュールされている。この場合、収集対象装置２００，３００，４００の構成情報が、構成管理サーバ１００において毎日午前０時に収集され、ＣＭＤＢ１１０内の構成情報が更新される。
【００６８】
このような定期ディスカバリは、構成情報を一括取得するため、ディスカバリ実行時に、収集対象装置２００，３００，４００と構成管理サーバ１００に負荷がかかる。しかし、システムが運用していない時間帯にディスカバリするようスケジュールすることで、システムの運用には影響を与えないようにすることができる（例えば、毎日午前０時にディスカバリを実施）。
【００６９】
ここで、収集対象装置２００，３００，４００のある構成情報の値が「ａ」に変化した場合、その日の深夜０時にディスカバリが行われ、変更内容がＣＭＤＢ１１０に反映される。次の日に参照装置３０が構成情報を参照すると、前日に変更された値「ａ」の構成情報を参照できる。その後、収集対象装置２００，３００，４００の構成情報の値が「ｂ」に変化し、同日に参照装置３０が構成情報を参照すると、前日に変更された値「ａ」の構成情報しか参照できない。すなわち構成情報の値が「ｂ」に変更されているにも拘わらず、参照装置３０からは、変更前の値「ａ」の構成情報しか参照できず、構成情報の最新性が欠如している。このように、定期ディスカバリは、システムの運用に影響は与えずにすむが、最新の構成情報を活用することができない。
【００７０】
＜取得型ディスカバリ＞
次に取得型ディスカバリについて説明する。
図９は、取得型ディスカバリ処理の一例を示す図である。取得型ディスカバリは、構成情報が参照されたときに、構成情報を取得するものである。取得型ディスカバリは、以下の手順で行われる。
【００７１】
［手順１］参照要求
参照装置３０から構成管理サーバ１００に、構成情報の参照要求が送信される。例えば端末装置３１は、利用者からの入力に応じ、参照要求を送信する。またクラウドシステム３２は、サービス提供の一環で構成情報を利用する処理が発生したとき、参照要求を送信する。
【００７２】
［手順２］ディスカバリ依頼
構成管理サーバ１００の自律型収集エンジン１２０は、収集対象装置２００，３００，４００に対して、ディスカバリを依頼する。
【００７３】
［手順３］構成情報を更新
収集対象装置２００，３００，４００の収集エンジン２１０，３１０，４１０は、自装置から構成情報を収集し、収集した構成情報を構成管理サーバ１００に送信する。収集対象装置２００，３００，４００から送信された構成情報は、構成管理サーバ１００の自律型収集エンジン１２０が受信する。そして自律型収集エンジン１２０は、受信した構成情報をＣＭＤＢ１１０に格納する。
【００７４】
［手順４］構成情報を参照
自律型収集エンジン１２０は、取得した構成情報を、参照要求の送信元の参照装置３０に送信する。これにより参照装置３０において構成情報が参照される。
【００７５】
図１０は、取得型ディスカバリの実施例を示す図である。取得型ディスカバリでは、収集対象装置２００，３００，４００の構成情報の値が「ａ」に変化した場合、その後の参照装置３０から参照要求が送信されたときにディスカバリが実施される。参照装置３０は、ディスカバリ完了後にＣＭＤＢ１１０内の構成情報を参照する。これにより、更新後の値「ａ」の構成情報を参照できる。
【００７６】
その後、収集対象装置２００，３００，４００の構成情報の値が「ｂ」に変化したときも同様に、参照要求が出力されるごとにディスカバリが行われる。そして参照装置３０は、更新後の値「ｂ」の構成情報を参照できる。
【００７７】
このような取得型ディスカバリでは、最新の構成情報を活用できるが、複数の参照要求が同時に発生した場合、収集対象装置２００，３００，４００と構成管理サーバ１００との両方に大きな負荷をかける。そのため、システムの運用に悪い影響を与える。また、変化がない構成情報に対しても、一律に参照されたときにディスカバリが行われるため、不必要に収取対象と構成管理サーバに負荷をかけていることとなる。
【００７８】
＜通知型ディスカバリ＞
次に通知型ディスカバリについて説明する。
図１１は、通知型ディスカバリ処理の一例を示す図である。通知型ディスカバリは、構成情報が変化したときに、構成情報を取得するものである。通知型ディスカバリは、以下の手順で行われる。
【００７９】
［手順１］監視
各収集対象装置２００，３００，４００の収集エンジン２１０，３１０，４１０は、収集対象の構成情報の変化を監視する。
【００８０】
［手順２］構成情報を更新
収集エンジン２１０，３１０，４１０は、変化した構成情報を取得し、構成管理サーバ１００に送信する。構成管理サーバ１００の自律型収集エンジン１２０は、収集対象装置２００，３００，４００から送られた構成情報をＣＭＤＢ１１０に格納する。
【００８１】
［手順３］構成情報を参照
参照装置３０から構成管理サーバ１００に参照要求が送信される。構成管理サーバ１００は、ＣＭＤＢ１１０にアクセスし、変化を契機に更新された最新の構成情報を、参照装置３０に応答する。これにより参照装置３０において構成情報が参照される。
【００８２】
図１２は、通知型ディスカバリの実施例を示す図である。通知型ディスカバリでは、収集対象装置２００，３００，４００の構成情報の値が「ａ」に変化したときにディスカバリが実施される。参照装置３０は、ディスカバリ完了後にＣＭＤＢ１１０内の構成情報を参照する。これにより、更新後の値「ａ」の構成情報を参照できる。
【００８３】
その後、収集対象装置２００，３００，４００の構成情報の値が「ｂ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」と何度も変化したときも同様に、構成情報が変化するごとにディスカバリが行われる。そして参照装置３０は、最後に更新されたときの値「ｆ」の構成情報を参照できる。
【００８４】
このような通知型ディスカバリは、最新の構成情報を活用できるが、構成情報が短時間で繰り返し変化した場合、収集対象と構成管理サーバに負荷をかける。そのため、システムの運用に悪い影響を与える。また、通知型ディスカバリは、常に構成情報の変化を監視するため、収集対象装置２００，３００，４００に一定の負荷をかけ続ける。
【００８５】
このように３つのディスカバリ方法のうち、構成情報の最新性を求めないのであれば、定期ディスカバリが有効である。例えば定期ディスカバリをシステムのメンテナンスを、システムの運用に影響を与えない夜間に行い、それに伴う構成情報の変更を翌朝、確認するような運用ができる。
【００８６】
しかしながら、クラウド技術の登場により、構成情報の最新性を保証することが重要になってきている。定期ディスカバリでは構成情報の最新性が保証できないため、最新の構成情報を利用するシステムでは、定期ディスカバリ単独での運用は不適切である。そこで基本的には、取得型ディスカバリか通知型ディスカバリを採用することになる。
【００８７】
取得型ディスカバリの通知型ディスカバリどちらが適切なのかは、システムの運用状況に応じて異なる。
例えば、クラウドコンピューティング技術の登場により、仮想サーバを動的に配備／返却して利用する形態が広がり、システムの構成の更新サイクルが短くなっている。そのため、構成情報の変更も頻繁に行われる。しかも、システム管理者がシステムの構成を手動で変更する運用から、運用管理ソフトウェアが自律的に最適なシステム構成を判断し変更するように技術が進歩している。自律的にシステムの構成が変更可能であることにより、構成の変更頻度が増している。
【００８８】
頻繁に構成情報が変更される場合、通知型ディスカバリのように、構成情報が変更されるたびにディスカバリを行ったのでは、ディスカバリの頻度が高くなり、システムの負荷が過大となる。この点だけを考えれば、取得型ディスカバリが有効となる。しかしながら、構成情報の中には、ＩＰアドレスのように運用中に変更されることがほとんど無いものも含まれる。このように変更されることが希な構成情報までも取得型ディスカバリのように、利用者が構成情報を利用するタイミングで構成情報を取得すると、ディスカバリの回数が無駄に増え、収集対象と構成管理サーバに負荷がかかり、システムの運用に影響を与える。
【００８９】
このようにすべての構成情報およびすべての期間について、いずれか１つのディスカバリ方法を一括して採用した場合、構成情報の最新性を維持しつつ、収集対象装置２００，３００，４００と構成管理サーバ１００の負荷を軽減するのは困難である。しかも、クラウド技術の登場と収集対象の多様化により、利用者が活用したい構成情報が多様化している。また、今後は、システムを人が変更する運用から、運用管理ソフトウェアが自律的に最適なシステム構成を判断し変更する運用へと移り、構成情報の変化や活用に規則性がなくなる。そこで第２の実施の形態では、構成情報ごとに個別のディスカバリ方法を適用可能とするとともに、システムの運用状況に応じてディスカバリ方法を動的に変更可能とし、ディスカバリを行う時機に関して柔軟な対応を可能とする。
【００９０】
適切なディスカバリ方法の判断指標としては、例えば構成情報の更新頻度（変化特性）が考えられる。更新頻度は、構成情報が変化する頻度である。構成情報ごとに、更新頻度に関する特性がある。例えば、リソースの使用率や性能などの情報は随時変化する。他方、端末のＩＰアドレスやホスト名などの情報は運用変更時にしか変化しない。さらに、サーバの筐体に紐付いたシリアル番号やマックアドレスなどの情報は、原則として変化しない。
【００９１】
更新頻度（変化特性）が「高い」構成情報に「通知型ディスカバリ」を採用すると、頻繁に構成情報がディスカバリされ、収集対象装置２００，３００，４００と構成管理サーバ１００との双方に負荷がかかり、システムの運用に悪い影響を与える。そのため、更新頻度が「高い」構成情報には取得型ディスカバリが適している。
【００９２】
また更新頻度（変化特性）が「低い」構成情報に取得型ディスカバリを採用すると、更新されていない構成情報に対してディスカバリを行うことになり、非効率的である。さらに、構成情報が更新されていなくても、構成情報の更新の有無の監視負荷があるため、収集対象装置２００，３００，４００に余分な負荷がかかる。そのため、更新頻度が「低い」構成情報には「通知型ディスカバリ」が適している。
【００９３】
その結果、更新頻度が「高い」構成情報には取得型ディスカバリを採用し、更新頻度が「低い」構成情報には通知型ディスカバリを採用することが適切となる。このようなディスカバリ方法の判断を構成情報ごとに行い、動的にディスカバリ方法を変更すれば、構成情報ごとにディスカバリのタイミングがずれるため、収集対象装置２００，３００，４００と構成管理サーバ１００の負荷を、時間的に分散できる。すなわち、ディスカバリに起因する負荷が、短期間に集中することを抑止できる。
【００９４】
このように、更新頻度によるディスカバリ方法の自動判断で、収集対象と構成管理サーバの負荷を分散し、最新の構成情報をディスカバリすることが可能である。しかし、一般的なシステムの運用では、更新頻度が「低い」構成情報が多く存在する。そのため、通知型ディスカバリを採用する構成情報の割合が多くなり、収集対象装置２００，３００，４００に構成情報の監視処理に伴う負荷がかかり、システムの運用に悪い影響を与える。
【００９５】
そこで収集対象装置２００，３００，４００の負荷が高いときには、更新頻度が「低い」構成情報の一部については、通知型ディスカバリではなく取得型ディスカバリを採用することが考えられる。例えば、収集対象装置２００，３００，４００の負荷が高いときは、更新頻度が「低い」構成情報のうち、参照頻度も「低い」構成情報については、取得型ディスカバリを採用することが考えられる。参照頻度も「低い」構成情報であれば、更新されていない構成情報にディスカバリを行うことによる処理の非効率化の度合いを最小限に抑えることができる。
【００９６】
＜インテリジェントディスカバリ＞
取得型ディスカバリには、システムへの負荷に関する問題とは別に、収集対象装置２００，３００，４００の構成情報とＣＭＤＢ１１０内の構成情報とが一致しない状態が、長期間放置される可能性があるという問題がある。すなわち取得型ディスカバリでは、長期間参照されない構成情報については、収集対象装置２００，３００，４００内でその構成情報が更新されても、更新結果がＣＭＤＢ１１０に反映されない。変更後の値がＣＭＤＢに反映されない構成情報が大量に残存していると、ＣＭＤＢ１１０の内容の信頼性が低下する。そのため構成管理サーバ１００は、定期的に監査を行い、ＣＭＤＢ１１０の構成情報が実体と一致していることの確認が行われる。
【００９７】
そこで、第２の実施の形態では、収集対象装置２００，３００，４００の負荷が高いときは、更新頻度が「低い」、かつ参照頻度も「低い」構成情報について、取得型ディスカバリと定期ディスカバリとを同時に適用する。ここで、取得型ディスカバリと定期ディスカバリとを同時に適用するディスカバリ方法を、インテリジェントディスカバリと呼ぶこととする。
【００９８】
インテリジェントディスカバリでは、定められたスケジュールで定期ディスカバリを行い（例えば毎日午前０時にディスカバリを実施）、かつ構成情報が参照されたときは、最新性を保証するため取得型ディスカバリを実施する。定期ディスカバリのスケジュールは、例えばシステム管理者が設定する。
【００９９】
なお通知型ディスカバリであれば、ＣＭＤＢ１１０の構成情報は常に実体と一致しているため、定期ディスカバリと併用せずにすむ。また取得型ディスカバリであっても、構成情報の参照頻度が高い場合、ＣＭＤＢ１１０の構成情報が実体と一致しない期間は短いため、定期ディスカバリを併用しなくてもよい。
【０１００】
図１３は、インテリジェントディスカバリ処理の一例を示す図である。インテリジェントディスカバリを実行する契機は、構成情報の参照を契機とする場合と、スケジューラによるディスカバリタイミングであるとの判断を契機とする場合とがあり、それぞれの契機の判断が並列で行われる。
【０１０１】
構成情報の参照を契機とする場合の処理手順は、取得型ディスカバリの手順と同様である。スケジューラによるディスカバリタイミングとの判断を契機とする場合の処理手順は、定期ディスカバリの手順と同様である。
【０１０２】
図１４は、インテリジェントディスカバリの実施例を示す図である。図１４の例では、スケジューラでは、毎日午前０時にディスカバリを行うようにスケジュールされている。そのため、収集対象装置２００，３００，４００の構成情報の値が「ａ」に変化した後、午前０時になるとディスカバリが行われ、変更内容がＣＭＤＢ１１０に反映される。その後の参照装置３０から参照要求が送信されたときにもディスカバリが実施される。参照装置３０は、ディスカバリ完了後にＣＭＤＢ１１０内の構成情報を参照する。これにより、更新後の値「ａ」の構成情報を参照できる。
【０１０３】
その後、収集対象装置２００，３００，４００の構成情報の値が「ｂ」に変化したときも同様に、参照要求を待たずに、午前０時になるとディスカバリが行われ、変更内容がＣＭＤＢ１１０に反映される。
【０１０４】
このようにインテリジェントディスカバリでは構成情報の最新性が保証されると共に、まったく参照されない構成情報も、定期的に更新内容をＣＭＤＢ１１０に反映させることができる。すなわち、取得型ディスカバリを単独で採用する構成情報は、利用頻度が０回であると、実際の構成が変更されても、ＣＭＤＢ１１０の構成情報を変更できない。それに対して、インテリジェントディスカバリは、構成情報の利用頻度が０回であっても、定期的に構成情報を更新することが可能である。
【０１０５】
なおインテリジェントディスカバリであっても、複数の参照要求が同時に発生した場合には、収集対象装置２００，３００，４００と構成管理サーバ１００とに余分な負荷をかけることになるのは、取得型ディスカバリを単独で採用した場合と同様である。
【０１０６】
＜ディスカバリ方法自動判断手法＞
次に、通知型ディスカバリ、取得型ディスカバリ、およびインテリジェントディスカバリの中から、構成情報にあったディスカバリ方法の自動判断手法について説明する。第２の実施の形態では、ディスカバリ方法の判断指標として、更新頻度（変化特性）に加え、参照頻度（利用特性）と収集対象装置２００，３００，４００の負荷状況を用いる。
【０１０７】
参照頻度は、利用者が構成情報を参照する頻度である。構成情報ごとに、参照頻度に特性が現れる。例えばリソースの使用率や性能などの情報は、短期間の変化を監視したいため、参照頻度が高くなる。パッチの適用状況やインストールされているソフトウェアなどの情報は、定期的に利用したいため、参照頻度はあまり高くないものの、一定数の参照がある。サーバの筐体に紐付いたシリアル番号やマックアドレスなどの情報は、利用頻度が低い。
【０１０８】
図１５は、ディスカバリ方法の判断基準の一例を示す図である。図１５には、更新頻度と参照頻度とに応じたディスカバリ方法が示されている。更新頻度は、例えば１時間当たりの更新回数が２回以上であれば「高い」と判定され、１時間当たりの更新回数が１回以下であれば「低い」と判定される。参照頻度は、例えば１時間当たりの参照回数が２回以上であれば「高い」と判定され、１時間当たりの参照回数が１回以下であれば「低い」と判定される。
【０１０９】
更新頻度が高い構成情報は、構成情報が変化する度にディスカバリするより、利用する時にディスカバリした方が、収集対象と構成管理サーバの負荷を軽減して最新の構成情報を取得できる。そこで、更新頻度が高い構成情報は、参照頻度や収集対象装置２００，３００，４００の負荷に関係なく、取得型ディスカバリが採用される。
【０１１０】
なお、更新頻度と参照頻度との両方が高い場合、参照のたびにディスカバリを行うこととなるが、構成情報の自動変更を考慮すると、参照頻度よりも更新頻度の方が高くなる可能性が高い。しかも取得型ディスカバリにしておけば、構成情報の監視負荷の軽減にもつながる。そこで第２の実施の形態では、更新頻度と参照頻度との両方が高い場合には、取得型ディスカバリを採用するものとする。
【０１１１】
更新頻度が低い構成情報は、利用する度にディスカバリするより、構成情報が変化したときにディスカバリした方が、収集対象装置２００，３００，４００と構成管理サーバ１００との負荷を軽減して最新の構成情報を取得できる。そこで更新頻度が低い構成情報については、原則として通知型ディスカバリが採用される。ただし、収集対象装置２００，３００，４００の負荷が高く、システムの運用に影響があると判断した場合は、収集対象装置２００，３００，４００の負荷を軽減するために、インテリジェントディスカバリが採用される。
【０１１２】
なお更新頻度と参照頻度とが共に低い構成情報については、収集対象装置２００，３００，４００の負荷が低いとき、取得型ディスカバリを採用する案も考えられる。しかし更新頻度が低い構成情報にはＩＰアドレスのように運用中に更新されることのほとんどないものがあり、参照頻度よりも更新頻度の方が低いことが多い。そのため更新頻度と参照頻度とが共に低い構成情報については、通知型ディスカバリを採用した方が、ディスカバリの回数を削減できる。
【０１１３】
構成管理サーバ１００は、図１５に示すようなディスカバリ方法の判断を、動的に行う。すなわちシステムの運用状況が変わると、構成情報の更新頻度、参照頻度、収集対象装置２００，３００，４００の負荷も変わる。このような状況の変化に応じて、適切なディスカバリ方法が自動で判断され、ディスカバリ方法が変更される。
【０１１４】
図１６は、運用状況の変化に応じたディスカバリ方法の遷移例を示す図である。インテリジェントディスカバリを実施している構成情報については、更新頻度が低い状態から高い状態に変化すると、ディスカバリ方法が取得型ディスカバリに変更される。またその構成情報を有している収集対象装置の負荷が、高い状態から低い状態に変化すると、ディスカバリ方法が通知型ディスカバリに変更される。
【０１１５】
取得型ディスカバリを実施している構成情報については、更新頻度が高い状態から低い状態に変化したとき、参照頻度が低く、負荷が高ければ、ディスカバリ方法がインテリジェントディスカバリに変更される。また更新頻度が高い状態から低い状態に変化したとき、負荷が低い場合、参照頻度の高い・低いに関係なく、ディスカバリ方法が通知型ディスカバリに変更される。
【０１１６】
通知型ディスカバリを実施している構成情報については、その構成情報を有している収集対象装置の負荷が低い状態から高い状態に変化したとき、更新頻度と参照頻度とが共に低い状態であれば、ディスカバリ方法がインテリジェントディスカバリに変更される。また参照頻度が高い状態から低い状態に変化したとき、負荷が高い状態であれば、ディスカバリ方法がインテリジェントディスカバリに変更される。さらに更新頻度が低い状態から高い状態に変化したとき、ディスカバリ方法が取得型ディスカバリに変更される。
【０１１７】
＜性能情報＞
次に、収集対象装置２００，３００，４００の負荷を示す性能情報について説明する。
図１６に示すように、ディスカバリ方法を判断する際には、収集対象の負荷が考慮される。例えば収集対象の負荷がシステムの運用に影響を与えると判断された場合、通知型ディスカバリが適用されている構成情報の一部について、ディスカバリ方法がインテリジェントディスカバリに変更される。
【０１１８】
収集対象装置２００，３００，４００の負荷は、性能監視部１３０から取得する収集対象装置２００，３００，４００のＣＰＵ使用率［％］で判断できる。システムの運用では、多くの場合、ＳＬＡ（Service Level Agreement）などで、収集対象装置２００，３００，４００ごとに性能の閾値（最大ＣＰＵ使用率［％］）が定義されている。そこで、例えば構成管理サーバ１００では、ＣＰＵ使用率が閾値を超えた場合またはＣＰＵ使用率が閾値を超えると予見された場合に、通知型ディスカバリを適用している構成情報の一部について、ディスカバリ方法をインテリジェントディスカバリへ変更する。
【０１１９】
［ＣＰＵ使用率の閾値超えの予見］
構成管理サーバ１００は、取得型ディスカバリを適用している構成情報の更新頻度が高い状態から低い状態に変化したとき、その構成情報を有する収集対象装置のＣＰＵ使用率が閾値を超える可能性があるかどうかを判断する。そのためには構成管理サーバ１００は、監視負荷係数［％］を収集対象ごとに算出する。監視負荷係数とは、通知型ディスカバリを採用する構成情報が１件増えたときの、ＣＰＵ使用率の増加率［％］である。
【０１２０】
収集対象ごとに監視負荷係数を算出することで、収集対象の運用に合わせた最適なディスカバリ方法を自動判断可能となる。監視負荷係数の初期値は、システム管理者が設定する。例えば、構成情報１件あたりの監視負荷係数を０．０１［％］とする。監視負荷係数は、運用中に自動補正される。
【０１２１】
［監視負荷係数の補正］
監視負荷係数は、ディスカバリ方法を通知型ディスカバリに変更した構成情報が発生したときに、ＣＰＵ使用率がどれだけ増加するかで補正する。例えば、通知型ディスカバリに変更する前のＣＰＵ使用率が４８％だったとする。そのとき５件の構成情報について、ディスカバリ方法が通知型ディスカバリに変更されたものとする。ディスカバリ方法を通知型ディスカバリに変更した後のＣＰＵ使用率が４９％だったとする。この収集対象装置における通知型ディスカバリの監視による監視負荷係数は０．２％となる。計算式は以下の通りである。
監視負荷係数［％］＝（ディスカバリ方法変更後のＣＰＵ使用率［％］−ディスカバリ方法変更前のＣＰＵ使用率［％］）／通知型ディスカバリに変更した構成情報数＝（４９［％］−４８［％］）／５［件］＝０．２［％］
この収集対象装置の構成情報を通知型ディスカバリに変更する際、これから通知型ディスカバリに変更する構成情報の件数［件］と、監視負荷係数［％］から、ＣＰＵ使用率の増加分［％］を算出できる。例えば１０件の構成情報のディスカバリ方法を通知型ディスカバリに変更しようとしたとする。その場合、以下の式でＣＰＵ使用率の増加分が算出される。
ＣＰＵ使用率の増加分［％］＝監視負荷係数［％］×通知型ディスカバリに変更する構成情報の件数［件］＝０．２［％］×１０［件］＝２［％］
構成情報のディスカバリ方法変更の対象となっている収集対象装置の最大ＣＰＵ使用率が５０％で、現在のＣＰＵ使用率が４９％だったとする。この場合、１０件の構成情報を通知型ディスカバリに変更することにより、その収集対象装置のＣＰＵ使用率が最大ＣＰＵ使用率を超過する。計算式は以下の通りである。
現在のＣＰＵ使用率［％］＋ＣＰＵ使用率の増加分［％］＝４９［％］＋２［％］＝５１［％］＞最大ＣＰＵ使用率（５０［％］）
このように、現在取得型ディスカバリを適用している構成情報の更新頻度が低下したとき、その構成情報について通知型ディスカバリを適用すると収集対象装置の負荷が所定値を超えることがある。その場合、構成管理サーバ１００は、更新頻度が低下した構成情報について、インテリジェントディスカバリへ変更するのが適切であると判断する。
【０１２２】
＜第２の実施の形態の処理を実現するために各装置が有する機能＞
次に、第２の実施の形態の処理を実現するために各装置が有する機能について説明する。
【０１２３】
図１７は、第２の実施の形態の各装置の機能を示すブロック図である。構成管理サーバ１００の自律型収集エンジン１２０は、参照制御部１２１，更新制御部１２２、参照ＤＢ１２３、更新ＤＢ１２４、ディスカバリ方法変更部１２５、ディスカバリ方法記憶部１２５ａ、ディスカバリ方法変更ログ記憶部１２６、取得型ディスカバリ実行部１２７、定期ディスカバリ実行部１２８、性能監視連携部１２９、および性能情報記憶部１２９ａを有している。
【０１２４】
参照制御部１２１は、参照装置３０により参照された構成情報に対する参照頻度を監視する。そして参照制御部１２１は、各構成情報の参照頻度を、参照ＤＢ１２３に格納する。また参照制御部１２１は、取得型ディスカバリを実行するため、取得型ディスカバリ実行部１２７に参照された構成情報の識別子（例えば収集対象装置の名称と構成情報の名称との組）を通知する。
【０１２５】
更新制御部１２２は、ディスカバリした構成情報に対する更新頻度を監視する。そして更新制御部１２２は、各構成情報の更新頻度を、更新ＤＢ１２４に格納する。
参照ＤＢ１２３は、参照頻度の情報を蓄積するデータベースである。参照ＤＢ１２３の内容は、参照制御部１２１により登録／更新される。また参照ＤＢ１２３は、ディスカバリ方法変更部１２５から定期的に参照される。
【０１２６】
更新ＤＢ１２４は、更新頻度の情報を蓄積するデータベースである。更新ＤＢ１２４は、更新制御部１２２により登録／更新される。また更新ＤＢ１２４は、ディスカバリ方法変更部１２５から定期的に参照される。
【０１２７】
ディスカバリ方法変更部１２５は、各構成情報の更新頻度と参照頻度と収集対象装置２００，３００，４００の性能情報に基づいて、構成情報ごとのディスカバリ方法を自動で判断する。例えばディスカバリ方法変更部１２５は、収集対象装置２００，３００，４００と構成管理サーバ１００との負荷軽減と構成情報の最新性とを両立させたディスカバリ方法を自動判断し、適用されるディスカバリ方法を変更する。
【０１２８】
具体的には、ディスカバリ方法変更部１２５は、定期的に参照ＤＢ１２３、更新ＤＢ１２４、性能情報記憶部１２９ａを参照する。そしてディスカバリ方法変更部１２５は、参照頻度を参照ＤＢ１２３から取得し、更新頻度を更新ＤＢ１２４から取得し、収集対象の負荷（例えば現在のＣＰＵ使用率と監視負荷係数）を性能情報記憶部１２９ａから取得する。なお、ディスカバリ方法変更部１２５は、管理対象外となった構成情報の参照頻度と更新頻度とを、それぞれ参照ＤＢ１２３と更新ＤＢ１２４とから削除することもできる。
【０１２９】
ディスカバリ方法変更部１２５は、取得した更新頻度、参照頻度、および性能情報に基づいてディスカバリ方法を決定し、決定したディスカバリ方法を、ディスカバリ方法記憶部１２５ａに設定する。またディスカバリ方法変更部１２５は、通知型ディスカバリと判断された構成情報について、その構成情報を有する収集対象装置（例えば収集対象装置２００）の通知型ディスカバリ対象記憶部２１１に登録する。ディスカバリ方法記憶部１２５ａおよび通知型ディスカバリ対象記憶部２１１へのディスカバリ方法の判定結果の反映により、該当する構成情報のディスカバリ方法が変更される。またディスカバリ方法変更部１２５は、ディスカバリ方法を変更した履歴を、ディスカバリ方法変更ログ記憶部１２６に書き込む。
【０１３０】
ディスカバリ方法記憶部１２５ａは、それぞれの収集対象に対する構成情報ごとのディスカバリ方法を記憶する。ディスカバリ方法記憶部１２５ａに記憶されるディスカバリ方法は、ディスカバリ方法変更部１２５により登録・更新・削除される。ディスカバリ方法記憶部１２５ａは、取得型ディスカバリ実行部１２７と定期ディスカバリ実行部１２８とから参照される。
【０１３１】
ディスカバリ方法変更ログ記憶部１２６は、ディスカバリ方法の変更履歴を記憶する。ディスカバリ方法の変更履歴は、ディスカバリ方法変更部１２５によってディスカバリ方法変更ログ記憶部１２６に書き込まれる。ディスカバリ方法変更ログ記憶部１２６内のディスカバリ方法の変更履歴は、性能監視連携部１２９から参照される。
【０１３２】
取得型ディスカバリ実行部１２７は、取得型ディスカバリを実行する。例えば取得型ディスカバリ実行部１２７は、参照制御部１２１から、参照装置３０から受信した参照要求で参照対象となっている構成情報の一覧を取得する。次に取得型ディスカバリ実行部１２７は、参照装置３０が参照を希望している構成情報の一覧の内、ディスカバリ方法記憶部１２５ａにおいて取得型ディスカバリと設定されている構成情報を特定する。そして取得型ディスカバリ実行部１２７は、特定した構成情報に対して取得型ディスカバリを実行する。
【０１３３】
定期ディスカバリ実行部１２８は、定期ディスカバリを実行する。例えば定期ディスカバリ実行部１２８は、定期的にディスカバリ方法記憶部１２５ａを参照する。そして定期ディスカバリ実行部１２８は、ディスカバリ方法記憶部１２５ａからインテリジェントディスカバリを適用する構成情報を特定し、その構成情報に対して指定されているスケジュールにしたがって定期ディスカバリを実行する。
【０１３４】
性能監視連携部１２９は、性能監視部１３０と連携し、収集対象装置２００，３００，４００の性能情報を管理する。例えば性能監視連携部１２９は、ディスカバリ方法変更ログ記憶部１２６を参照し、収集対象装置２００，３００，４００ごとに、通知型ディスカバリに「いつ」、「何件」変更されたかを集計する。また性能監視連携部１２９は、性能監視部１３０から収集対象装置２００，３００，４００それぞれの、「最大ＣＰＵ使用率」と「現在のＣＰＵ使用率」と「ＣＰＵ使用率の履歴」を取得する。そして性能監視連携部１２９は、取得したディスカバリ方法変更履歴（「いつ」、「何件」）と、取得した収集対象装置２００，３００，４００それぞれの「ＣＰＵ使用率の履歴」から、「監視負荷係数」を算出する。
【０１３５】
そして性能監視連携部１２９は、収集対象装置２００，３００，４００それぞれの最大ＣＰＵ使用率と現在のＣＰＵ使用率と監視負荷係数を、性能情報記憶部１２９ａに書き込む。なお性能監視連携部１２９は、管理対象外となった収取対象装置の最大ＣＰＵ使用率と現在のＣＰＵ使用率と監視負荷係数とを性能情報記憶部１２９ａから削除する。
【０１３６】
性能情報記憶部１２９ａは、収集対象の最大ＣＰＵ使用率と現在のＣＰＵ使用率と監視負荷係数とを記憶する。性能情報記憶部１２９ａに格納される最大ＣＰＵ使用率と現在のＣＰＵ使用率と監視負荷係数は、性能監視連携部１２９から登録・更新・削除され、ディスカバリ方法変更部１２５から参照される。
【０１３７】
収集対象装置２００の収集エンジン２１０は、通知型ディスカバリ対象記憶部２１１と通知型ディスカバリ実行部２１２とを有している。
通知型ディスカバリ対象記憶部２１１は、収集対象ごとに通知型ディスカバリを行う構成情報の一覧を記憶する。通知型ディスカバリ対象記憶部２１１に格納される構成情報の一覧は、ディスカバリ方法変更部１２５により登録、または削除される。また通知型ディスカバリ対象記憶部２１１は、通知型ディスカバリ実行部２１２から定期的に参照される。
【０１３８】
通知型ディスカバリ実行部２１２は、通知型ディスカバリを実行する。例えば通知型ディスカバリ実行部２１２は、通知型ディスカバリ対象記憶部２１１を定期的に参照し、通知型ディスカバリを実行する構成情報の一覧を取得する。そして通知型ディスカバリ実行部２１２は、一覧に示される構成情報に関して、値の変化の有無を監視する。通知型ディスカバリ実行部２１２は、監視している構成情報に変化があった場合、その構成情報の値を構成管理サーバ１００に送信する。
【０１３９】
なお、図１７に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図１７に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【０１４０】
図１７に示した要素のうち、ディスカバリ方法変更部１２５は、図１に示す第１の実施の形態の決定処理部１２の一例である。更新制御部１２２、取得型ディスカバリ実行部１２７、およびと定期ディスカバリ実行部１２８を合わせた機能は、図１に示す第１の実施の形態の取得処理部１３の一例である。性能監視連携部１２９と性能監視部１３０とを合わせた機能は、図１に示した第１の実施の形態の負荷監視処理部１４の一例である。参照制御部１２１は、図１に示した第１の実施の形態の参照管理処理部１５の一例である。ＣＭＤＢ１１０、参照ＤＢ１２３、更新ＤＢ１２４、ディスカバリ方法変更ログ記憶部１２６、および性能情報記憶部１２９ａを合わせた機能は、図１に示した第１の実施の形態の記憶部１１の一例である。
【０１４１】
次にディスカバリ方法の判定に用いる各種情報の内容について、詳細に説明する。
図１８は、参照ＤＢのデータ構造の一例を示す図である。参照ＤＢ１２３には、レコードごとの情報設定項目として、収集対象、構成情報、最新の参照日時、および前回の参照日時が設けられている。収集対象は、参照された構成情報を有している収集対象装置の名称（収集対象Ａ、収集対象Ｂ、・・・）である。構成情報は、参照された構成情報の名称である。最新の参照日時は、構成情報が最後に参照された日時である。前回の参照日時は、構成情報の最後の参照の前にその構成情報が参照された日時である。
【０１４２】
前回の参照日時から最新の参照日時までの時間が、構成情報の参照間隔である。この参照間隔が、構成情報の参照頻度を表している。例えば、単位時間を参照間隔で除算した値が、参照頻度（単位時間当たりの参照回数）となる。
【０１４３】
図１９は、更新ＤＢのデータ構造の一例を示す図である。更新ＤＢ１２４には、レコードごとの情報設定項目として、収集対象、構成情報、最新の更新日時、および前回の更新日時が設けられている。収集対象は、更新された構成情報を有している収集対象装置の名称である。構成情報は、更新された構成情報の名称である。最新の更新日時は、構成情報が最後に更新された日時である。前回の更新日時は、構成情報の最後の更新の前にその構成情報が更新された日時である。前回の更新日時から最新の更新日時までの時間が、構成情報の更新間隔である。この更新間隔が、構成情報の更新頻度を表している。例えば、単位時間を更新間隔で除算した値が、更新頻度（単位時間当たりの更新回数）となる。
【０１４４】
図２０は、ディスカバリ方法記憶部のデータ構造の一例を示す図である。ディスカバリ方法記憶部１２５ａには、ディスカバリ方法管理テーブル１２５ｂが格納されている。ディスカバリ方法管理テーブル１２５ｂは、収集する構成情報ごとのディスカバリ方法を設定するデータテーブルである。ディスカバリ方法管理テーブル１２５ｂには、収集対象、構成情報、ディスカバリ方法、およびスケジュールの欄が設けられている。
【０１４５】
収集対象の欄には、構成情報を有する収集対象装置の名称が設定される。構成情報の欄には、構成情報の名称が設定される。ディスカバリ方法の欄には、対応する構成情報に適用するディスカバリ方法が設定される。スケジュールの欄には、ディスカバリ方法としてインテリジェントディスカバリを適用する場合の、定期ディスカバリのスケジュールが設定される。
【０１４６】
図２１は、ディスカバリ方法変更ログ記憶部のデータ構造の一例を示す図である。ディスカバリ方法変更ログ記憶部１２６には、ディスカバリ方法変更ログ１２６ａが記憶されている。ディスカバリ方法変更ログ１２６ａは、構成情報に対するディスカバリ方法が変更されたときの変更内容を示す情報である。ディスカバリ方法変更ログ１２６ａには、日時、収集対象、構成情報、変更後ディスカバリ方法、および変更前ディスカバリ方法の欄が設けられている。
【０１４７】
日時の欄には、ディスカバリ方法を変更した日時が設定される。収集対象の欄には、ディスカバリ方法が変更された構成情報を有する収集対象装置の名称が設定される。構成情報の欄には、ディスカバリ方法が変更された構成情報の名称が設定される。変更後ディスカバリ方法の欄には、変更後のディスカバリ方法が設定される。変更前ディスカバリ方法の欄には、変更前のディスカバリ方法が設定される。
【０１４８】
図２２は、性能情報記憶部のデータ構造の一例を示す図である。性能情報記憶部１２９ａには、収集対象装置の性能情報を設定する性能管理テーブル１２９ｂが格納されている。性能管理テーブル１２９ｂには、収集対象、最大ＣＰＵ使用率、ＣＰＵ使用率、および監視負荷係数の欄が設けられている。図２２の例では、収集対象装置の性能情報として、ＣＰＵ使用率が用いられている。
【０１４９】
収集対象の欄には、収集対象装置の名称が設定される。最大ＣＰＵ使用率の欄には、収集対象装置に許容される最大ＣＰＵ使用率［％］が設定される。ＣＰＵ使用率の欄には、収集対象装置の現在のＣＰＵ使用率［％］が設定される。監視負荷係数には、収集対象装置の監視負荷係数［％］が設定される。
【０１５０】
図２３は、収集対象装置それぞれの通知型ディスカバリ対象記憶部のデータ構造の一例を示す図である。収集対象装置２００，３００，４００は、それぞれ通知型ディスカバリ対象記憶部２１１，３１１，４１１を有している。いずれの通知型ディスカバリ対象記憶部２１１，３１１，４１１も、構成管理サーバ１００のディスカバリ方法変更部１２５によって内容の追加・削除などの処理が行われる。
【０１５１】
通知型ディスカバリ対象記憶部２１１，３１１，４１１は、例えばそれぞれ通知型ディスカバリ対象一覧２１１ａ，３１１ａ，４１１ａを記憶する。通知型ディスカバリ対象一覧２１１ａ，３１１ａ，４１１ａは、対応する収集対象装置が有する構成情報のうち、ディスカバリ方法として通知型ディスカバリを適用する構成情報の名称の一覧である。
【０１５２】
以上のような情報を用いて、構成情報ごとのディスカバリ方法を自動更新することができる。
＜第２の実施の形態の各装置が実行する処理＞
以下、ディスカバリ方法の自動のために、構成管理サーバ１００と収集対象装置２００，３００，４００が実行する処理の手順について説明する。
【０１５３】
まず、参照処理について説明する。
図２４は、参照処理の手順の一例を示すフローチャートである。
［ステップＳ１０１］参照制御部１２１は、参照装置３０（端末装置３１、クラウドシステム３２）から出力された、構成情報の参照要求を受信する。
【０１５４】
［ステップＳ１０２］参照制御部１２１は、参照ＤＢ１２３へのレコードの登録、または参照ＤＢ１２３内のレコードの更新を行うことで、参照要求の内容（「いつ」、「どの構成情報が」参照されたか）を、参照ＤＢ１２３に反映させる。例えば参照制御部１２１は、受信した参照要求における参照対象の構成情報に対応するレコードが参照ＤＢ１２３内になければ、受信した参照要求に応じたレコードを参照ＤＢ１２３に追加登録する。その際、現在の日時を、最新の参照日時の欄に設定する。前回の参照日時の欄は空欄のままとする。
【０１５５】
また参照制御部１２１は、受信した参照要求における参照対象の構成情報に対応するレコードが参照ＤＢ１２３にあれば、そのレコードの内容を更新する。例えば参照制御部１２１は、参照対象の構成情報に対応するレコードの最新の参照日時の欄の値を、前回の参照日時の欄に設定する。そして参照制御部１２１は、そのレコードの最新の参照日時の欄に、現在の日時を設定する。
【０１５６】
さらに参照制御部１２１は、参照要求を取得型ディスカバリ実行部１２７に転送する。
［ステップＳ１０３］取得型ディスカバリ実行部１２７は、参照要求における参照対象の構成情報に適用されているディスカバリ方法が、取得型ディスカバリまたはインテリジェントディスカバリかを判断する。例えば取得型ディスカバリ実行部１２７は、ディスカバリ方法記憶部１２５ａを参照し、参照要求に示される収集対象装置の名称と構成情報の名称との組により、ディスカバリ方法管理テーブル１２５ｂ内の、参照対象の構成情報に対応するレコードを特定する。そして取得型ディスカバリ実行部１２７は、特定したレコードに設定されているディスカバリ方法を確認する。ディスカバリ方法が取得型ディスカバリまたはインテリジェントディスカバリであれば、処理がステップＳ１０４に進められる。またディスカバリ方法が通知型ディスカバリであれば、処理がステップＳ１０５に進められる。
【０１５７】
［ステップＳ１０４］取得型ディスカバリ実行部１２７は、ディスカバリ方法が取得型ディスカバリまたはインテリジェントディスカバリの場合、取得型ディスカバリを実行する。例えば取得型ディスカバリ実行部１２７は、参照要求で示される収集対象装置に対して、参照対象の構成情報を指定した、構成情報の取得要求を送信する。構成情報の取得要求を受信した収集対象装置では、指定された構成情報を収集エンジンが取得し、構成管理サーバ１００に応答する。応答された構成情報は、更新制御部１２２を介してＣＭＤＢ１１０に格納される。
【０１５８】
［ステップＳ１０５］参照制御部１２１は、ＣＭＤＢ１１０から、参照要求で指定された構成情報を取得する。
［ステップＳ１０６］参照制御部１２１は、参照要求の送信元である参照装置に、取得した構成情報を送信する。
【０１５９】
このようにして、参照要求における参照対象の構成情報のディスカバリ方法が、取得型ディスカバリまたはインテリジェントディスカバリであれば、取得型ディスカバリが実行される。そして最新の値の構成情報が、参照要求に対して応答される。
【０１６０】
次に通知型ディスカバリ処理の手順について説明する。
図２５は、通知型ディスカバリ処理の手順の一例を示すフローチャートである。以下、収集対象装置２００が通知型ディスカバリを実行する場合を想定し、通知型ディスカバリ処理の手順を説明する。
【０１６１】
［ステップＳ１１１］通知型ディスカバリ実行部２１２は、定期的に、ステップＳ１１２〜Ｓ１１７の処理を繰り返し実行する。
［ステップＳ１１２］通知型ディスカバリ実行部２１２は、通知型ディスカバリ対象記憶部２１１から、通知型ディスカバリの対象構成情報一覧を取得する。
【０１６２】
［ステップＳ１１３］通知型ディスカバリ実行部２１２は、ディスカバリ対象の構成情報ごとに、ステップＳ１１４〜Ｓ１１６の処理を繰り返し実行する。
［ステップＳ１１４］通知型ディスカバリ実行部２１２は、収集対象装置２００内に設定されている構成情報を取得する。
【０１６３】
［ステップＳ１１５］通知型ディスカバリ実行部２１２は、前回取得した構成常用との差分の有無を判断する。例えば通知型ディスカバリ実行部２１２は、構成情報を取得するごとに、その構成情報を記憶しておく。そして通知型ディスカバリ実行部２１２は、前回取得した構成情報の値と、今回取得した構成情報との値とに違いがあれば、差分があると判断する。構成情報の差分がある場合、処理がステップＳ１１６に進められる。差分がない場合、処理がステップＳ１１７に進められる。
【０１６４】
［ステップＳ１１６］通知型ディスカバリ実行部２１２は、構成情報の差分がある場合、構成情報の更新要求を構成管理サーバ１００に送信する。送信される更新要求には、更新された構成情報が含まれる。
【０１６５】
［ステップＳ１１７］通知型ディスカバリ実行部２１２は、通知型ディスカバリ対象の構成情報すべてに対するステップＳ１１４〜Ｓ１１６の処理が完了した場合、処理をステップＳ１１８に進める。
【０１６６】
［ステップＳ１１８］通知型ディスカバリ実行部２１２は、収集エンジン２１０の処理停止の指示などにより、通知型ディスカバリ処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップＳ１１２〜Ｓ１１７の処理が定期的に繰り返し実行される。
【０１６７】
このように通知型ディスカバリ処理では、通知型ディスカバリを適用する構成情報数の分だけ、処理をループさせることとなる。そのため、通知型ディスカバリを適用する構成情報数が多くなるほど、通知型ディスカバリ処理による構成情報の更新の有無の監視などの処理負荷が増大する。
【０１６８】
次に、更新要求を取得した際に実行される、更新制御処理の手順について説明する。
図２６は、更新制御処理の手順の一例を示すフローチャートである。
［ステップＳ１２１］更新制御部１２２は、収集対象装置２００，３００，４００から最新の構成情報を含む更新要求を受信する。
【０１６９】
［ステップＳ１２２］更新制御部１２２は、受信した更新要求に示される構成情報のＣＭＤＢ１１０への登録、またはその構成情報によるＣＭＤＢ１１０内の構成情報の更新を行う。なお更新制御部１２２は、構成情報に代えて、構成情報が無いことを示す情報を受信した場合、ＣＭＤＢ１１０から、該当する構成情報を削除する。
【０１７０】
［ステップＳ１２３］更新制御部１２２は、更新ＤＢ１２４へのレコードの登録、または更新ＤＢ１２４内のレコードの更新を行うことで、更新要求の内容（「いつ」、「どの構成情報が」更新されたか）を、更新ＤＢ１２４に反映させる。例えば更新制御部１２２は、取得した構成情報に対応するレコードが更新ＤＢ１２４内になければ、取得した構成情報に応じたレコードを更新ＤＢ１２４に追加登録する。その際、更新制御部１２２は、現在の日時を、最新の更新日時の欄に設定する。前回の更新日時の欄は空欄のままとする。
【０１７１】
更新制御部１２２は、取得した構成情報に対応するレコードが更新ＤＢ１２４内にあれば、そのレコードの内容を更新する。例えば更新制御部１２２は、構成情報に対応するレコードの最新の更新日時の欄の値を、前回の更新日時の欄に設定する。そして更新制御部１２２は、そのレコードの最新の更新日時の欄に、現在の日時を設定する。
【０１７２】
このようにして構成情報が更新された場合、その構成情報の更新日時に関する情報も更新される。
次に、定期的ディスカバリ処理について説明する。
【０１７３】
図２７は、定期的ディスカバリ処理の手順の一例を示すフローチャートである。
［ステップＳ１３１］定期ディスカバリ実行部１２８は、定期的にステップＳ１３２〜Ｓ１３５の処理を繰り返し実行する。
【０１７４】
［ステップＳ１３２］定期ディスカバリ実行部１２８は、ディスカバリ方法記憶部１２５ａにおいて、ディスカバリ方法がインテリジェントディスカバリとされている構成情報ごとに、ステップＳ１３３〜Ｓ１３４の処理を実行する。
【０１７５】
［ステップＳ１３３］定期ディスカバリ実行部１２８は、ディスカバリの時機か否かを判断する。例えば定期ディスカバリ実行部１２８は、ディスカバリ方法管理テーブル１２５ｂのスケジュールの欄を参照し、処理対象の構成情報のディスカバリ時刻を判断する。そして定期ディスカバリ実行部１２８は、そのディスカバリ時刻と現在の時刻を比較し、ディスカバリ時刻に達している場合、ディスカバリの時機であると判断する。ディスカバリの時機であれば、処理がステップＳ１３４に進められる。ディスカバリの時機でなければ、処理がステップＳ１３５に進められる。
【０１７６】
［ステップＳ１３４］定期ディスカバリ実行部１２８は、処理対象の構成情報がディスカバリの時機になった場合、その構成情報を有している収集対象装置から、最新の構成情報を取得する。取得した構成情報に応じて、ＣＭＤＢ１１０の内容が更新される。
【０１７７】
［ステップＳ１３５］定期ディスカバリ実行部１２８は、ディスカバリ方法がインテリジェントディスカバリとされている構成情報のすべてについて、ステップＳ１３３〜Ｓ１３４の処理を実行した場合、処理がステップＳ１３６に進められる。
【０１７８】
［ステップＳ１３６］定期ディスカバリ実行部１２８は、自律型収集エンジン１２０の処理停止の指示などにより、構成情報の収集処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップＳ１３２〜Ｓ１３５の処理が定期的に繰り返し実行される。
【０１７９】
このようにして、インテリジェントディスカバリが適用される構成情報について、定期ディスカバリを実施することができる。
次に、性能監視連携処理について説明する。
【０１８０】
図２８は、性能監視連携処理の手順の一例を示すフローチャートである。
［ステップＳ１４１］性能監視連携部１２９は、ステップＳ１４２〜Ｓ１５２に示す性能監視連携処理を定期的に繰り返す。
【０１８１】
［ステップＳ１４２］性能監視連携部１２９は、収集対象装置２００，３００，４００ごとに、ステップＳ１４３〜Ｓ１５１に示す、性能管理テーブル１２９ｂの登録・更新処理を行う。
【０１８２】
［ステップＳ１４３］性能監視連携部１２９は、性能監視部１３０から、処理対象の収集対象装置の最大ＣＰＵ使用率を取得する。
［ステップＳ１４４］性能監視連携部１２９は、性能監視部１３０から、処理対象の収集対象装置の現在のＣＰＵ使用率を取得する。
【０１８３】
［ステップＳ１４５］性能監視連携部１２９は、性能監視部１３０から、ＣＰＵ使用率の履歴を取得する。
図２９は、性能監視部から提供されるＣＰＵ使用率の履歴の一例を示す図である。例えば性能監視部１３０は、複数の収集対象装置２００，３００，４００それぞれから、定期的にＣＰＵ使用率を取得する。性能監視部１３０は、取得したＣＰＵ使用率に取得した日時（タイムスタンプ）を付与し、収集対象装置２００，３００，４００ごとにメモリ１０２内に、ＣＰＵ使用率履歴４１〜４３として保持する。そして性能監視部１３０は、性能監視連携部１２９からの要求に応じて、ＣＰＵ使用率履歴４１〜４３を送信する。性能監視連携部１２９は、性能監視部１３０から取得したＣＰＵ使用率履歴４１〜４３に基づいて、「いつ」ＣＰＵ使用率が「どのように変化したか」を判断できる。
【０１８４】
以下、図２８の説明に戻る。
［ステップＳ１４６］性能監視連携部１２９は、ディスカバリ方法変更ログ記憶部１２６から、処理対象の収集対象装置のディスカバリ方法の変更履歴を取得する。取得するディスカバリ方法の変更履歴は、ディスカバリ方法変更ログ１２６ａ内の処理対象の収集対象装置に関するレコードでる。取得した変更履歴により、「いつ」ディスカバリ方法を「どのように変更したか」が判断できる。なお性能監視連携部１２９は、以前に変更履歴を取得したときより後にディスカバリ方法変更ログ１２６ａに登録された変更履歴のみを取得するようにしてもよい。
【０１８５】
［ステップＳ１４７］性能監視連携部１２９は、性能情報記憶部１２９ａ内の性能管理テーブル１２９ｂに、処理対象の収集対象装置の最大ＣＰＵ使用率を登録する。なお性能監視連携部１２９は、性能管理テーブル１２９ｂに、既に最大ＣＰＵ使用率が登録されていれば、登録されている値を、新たに取得した最大ＣＰＵ使用率で更新する。
【０１８６】
［ステップＳ１４８］性能監視連携部１２９は、性能情報記憶部１２９ａ内の性能管理テーブル１２９ｂに、処理対象の収集対象装置の現在のＣＰＵ使用率を登録する。なお性能監視連携部１２９は、性能管理テーブル１２９ｂに、既にＣＰＵ使用率が登録されていれば、登録されている値を、新たに取得したＣＰＵ使用率で更新する。
【０１８７】
［ステップＳ１４９］性能監視連携部１２９は、処理対象の収集対象装置のディスカバリ方法の変更履歴の有無を判断する。変更履歴があれば、処理がステップＳ１５０に進められる。変更履歴がなければ、処理がステップＳ１５２に進められる。
【０１８８】
［ステップＳ１５０］性能監視連携部１２９は、処理対象の収集対象装置の監視負荷係数を算出する。例えば性能監視連携部１２９は、処理対象の収集対象装置のディスカバリ方法の変更履歴から、取得型ディスカバリまたはインテリジェントディスカバリから通知型ディスカバリへ、ディスカバリ方法を変更した構成情報を抽出する。なお、監視負荷係数は、ＣＰＵ使用率の履歴とディスカバリ方法の変更履歴から算出できる。例えば性能監視連携部１２９は、まず、ディスカバリ方法の変更履歴から通知型ディスカバリに変更された構成情報の「件数」と「日時」を取得する。次に性能監視連携部１２９は、通知型ディスカバリに変更された「日時」と同時刻の「ＣＰＵ使用率の変化」を、ＣＰＵ使用率の履歴から取得する。そして性能監視連携部１２９は、求めた「ＣＰＵ使用率の変化」を、通知型ディスカバリに変更された構成情報の「件数」で除算する。除算結果は、通知型ディスカバリを採用する構成情報が１件増えたときの、ＣＰＵ使用率の増加率を表している。このＣＰＵ使用率の増加率が、監視負荷係数として用いられる。
【０１８９】
［ステップＳ１５１］性能監視連携部１２９は、性能情報記憶部１２９ａ内の性能管理テーブル１２９ｂに、処理対象の収集対象装置の監視負荷係数を登録する。なお性能監視連携部１２９は、性能管理テーブル１２９ｂに、既に監視負荷係数が登録されていれば、登録されている値を、新たに算出した監視負荷係数で更新する。
【０１９０】
［ステップＳ１５２］性能監視連携部１２９は、すべての収集対象装置２００，３００，４００に対して、ステップＳ１４３〜Ｓ１５１の処理を実行した場合、処理をステップＳ１５３に進める。
【０１９１】
［ステップＳ１５３］性能監視連携部１２９は、自律型収集エンジン１２０の処理停止の指示などにより、性能監視連携処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップＳ１４２〜Ｓ１５２の処理が定期的に繰り返し実行される。
【０１９２】
このようにして、性能情報記憶部１２９ａ内に、収集対象装置２００，３００，４００それぞれの性能情報が格納される。
次に、ディスカバリ方法変更処理の手順について説明する。
【０１９３】
図３０は、ディスカバリ方法変更処理の手順の一例を示すフローチャートである。
［ステップＳ１６１］ディスカバリ方法変更部１２５は、ステップＳ１６２〜Ｓ１７０に示すディスカバリ方法の変更処理を、定期的に繰り返す。
【０１９４】
［ステップＳ１６２］ディスカバリ方法変更部１２５は、ディスカバリ方法記憶部１２５ａ内のディスカバリ方法管理テーブル１２５ｂに格納されている情報の登録または更新処理を、収集対象装置２００，３００，４００ごとに繰り返し実行する。
【０１９５】
［ステップＳ１６３］ディスカバリ方法変更部１２５は、処理対象の構成情報ごとに、ステップＳ１６４〜Ｓ１６７に示すディスカバリ方法の判断処理を、繰り返し実行する。
［ステップＳ１６４］ディスカバリ方法変更部１２５は、更新ＤＢ１２４から、判断対象の構成情報の更新頻度を示す情報を取得する。例えばディスカバリ方法変更部１２５は、更新ＤＢ１２４から、判断対象の構成情報の最新の更新日時と前回の更新日時とを取得する。そしてディスカバリ方法変更部１２５は、最新の更新日時から前回の更新日時を減算した値を、判断対象の構成情報の更新頻度とする。
【０１９６】
［ステップＳ１６５］ディスカバリ方法変更部１２５は、判断対象の構成情報の更新頻度が、所定値より高いか低いかを判断する。例えばディスカバリ方法変更部１２５は、更新頻度が１時間に１回を超えていれば更新頻度が高いと判断し、更新頻度が１時間に１回以下であれば、更新頻度が低いと判断する。更新頻度が１時間に１回を超えている場合とは、最新の更新日時から前回の更新日時を減算した値が１時間を超えている場合である。また更新頻度が１時間に１回以下の場合とは、最新の更新日時から前回の更新日時を減算した値が１時間以下の場合である。更新頻度が高ければ、処理がステップＳ１６７に進められる。更新頻度が低ければ、処理がステップＳ１６６に進められる。
【０１９７】
［ステップＳ１６６］ディスカバリ方法変更部１２５は、更新頻度が低い場合、判断対象の構成情報のディスカバリ方法を、通知型ディスカバリと暫定的に決定する。ディスカバリ方法変更部１２５は、暫定的に決めたディスカバリ方法を、例えばメモリ１０２内に設けたディスカバリ方法一時保存域に保存する。その後、処理がステップＳ１６８に進められる。
【０１９８】
［ステップＳ１６７］ディスカバリ方法変更部１２５は、更新頻度が高い場合、判断対象の構成情報のディスカバリ方法を、取得型ディスカバリと暫定的に決定する。ディスカバリ方法変更部１２５は、判断対象の構成情報に対して暫定的に決めたディスカバリ方法を、例えばメモリ１０２内に設けたディスカバリ方法一時保存域に保存する。
【０１９９】
［ステップＳ１６８］ディスカバリ方法変更部１２５は、処理対象の収集対象装置の構成情報すべてについて、ステップＳ１６４〜Ｓ１６７に示したディスカバリ方法の判断が完了した場合、処理をステップＳ１６９に進める。完了していなければ、ディスカバリ方法変更部１２５は、未処理の構成情報ついて、ステップＳ１６４〜Ｓ１６７の処理を繰り返す。
【０２００】
［ステップＳ１６９］ディスカバリ方法変更部１２５は、ディスカバリ方法登録／更新処理を行う。この処理の詳細は後述する（図３１、図３２参照）。
［ステップＳ１７０］ディスカバリ方法変更部１２５は、すべての収集対象装置についてステップＳ１６３〜Ｓ１６９の処理が完了したら、処理をステップＳ１７１に進める。完了していなければ、ディスカバリ方法変更部１２５は、未処理の収集対象装置について、ステップＳ１６３〜Ｓ１６９の処理を繰り返す。
【０２０１】
［ステップＳ１７１］ディスカバリ方法変更部１２５は、自律型収集エンジン１２０の処理停止の指示などにより、ディスカバリ方法変更処理の終了が指示された場合、処理を終了する。終了が指示されていなければ、ステップＳ１６２〜Ｓ１７０の処理が定期的に繰り返し実行される。
【０２０２】
次に、ディスカバリ方法の登録／更新処理の手順について詳細に説明する。
図３１は、ディスカバリ方法の登録／更新処理の手順の一例を示すフローチャートの前半である。
【０２０３】
［ステップＳ１８１］ディスカバリ方法変更部１２５は、現在処理対象となっている収集対象装置の収集対象監視負荷係数を、性能情報記憶部１２９ａから取得する。
［ステップＳ１８２］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の現在のＣＰＵ使用率を、性能情報記憶部１２９ａから取得する。ディスカバリ方法変更部１２５は、取得したＣＰＵ使用率を変数Ｙに設定する。
【０２０４】
［ステップＳ１８３］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の最大のＣＰＵ使用率を、性能情報記憶部１２９ａから取得する。ディスカバリ方法変更部１２５は、取得した最大のＣＰＵ使用率を変数Ｘに設定する。
【０２０５】
［ステップＳ１８４］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の構成情報のうち、現在、通知型ディスカバリを採用している構成情報の一覧（Ｉ）を、ディスカバリ方法記憶部１２５ａから取得する。
【０２０６】
［ステップＳ１８５］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の構成情報のうち、暫定的に通知型ディスカバリを採用すると判断した構成情報の一覧（ＩＩ）を取得する。構成情報の一覧（ＩＩ）は、例えばステップＳ１６６で記憶しておいたメモリ１０２内のディスカバリ方法一時保存域から取得することができる。
【０２０７】
［ステップＳ１８６］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の構成情報のうち、通知型ディスカバリを採用する構成情報の増減を算出する。例えばディスカバリ方法変更部１２５は、構成情報の一覧（ＩＩ）に含まれる構成情報数から、構成情報の一覧（Ｉ）に含まれる構成情報数を減算し、減算結果を増減数とする。減算結果が正の値であれば、通知型ディスカバリを適用する構成情報数が増加する。また減算結果が負の値であれば、通知型ディスカバリを適用する構成情報数が減少する。
【０２０８】
［ステップＳ１８７］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置のＣＰＵ使用率の増減を算出する。例えばディスカバリ方法変更部１２５は、通知型ディスカバリを採用する構成情報の増減と、処理対象となっている収集対象装置の監視負荷係数とから、ＣＰＵ使用率の増減［％］を算出する。例えばディスカバリ方法変更部１２５は、通知型ディスカバリを採用する構成情報の増減に監視負荷係数を乗算した値を、ＣＰＵ使用率の増減［％］とする。算出した値が正であればＣＰＵ使用率が増加し、負であればＣＰＵ使用率が減少する。ディスカバリ方法変更部１２５は、算出したＣＰＵ使用率の増減値を、変数Ｚに設定する。その後、処理がステップＳ１９１（図３２参照）に進められる。
【０２０９】
図３２は、ディスカバリ方法の登録／更新処理の手順の一例を示すフローチャートの後半である。
［ステップＳ１９１］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の最大ＣＰＵ使用率（Ｘ）とＣＰＵ使用率予測値を比較する。ＣＰＵ使用率予測値は、現在のＣＰＵ使用率（Ｙ）に、ＣＰＵ使用率の増減値（Ｚ）を加算した値である。ＣＰＵ使用率予測値が最大ＣＰＵ使用率以上の場合、処理がステップＳ１９２に進められる。ＣＰＵ使用率予測値が最大ＣＰＵ使用率未満であれば、処理がステップＳ１９８に進められる。
【０２１０】
［ステップＳ１９２］ディスカバリ方法変更部１２５は、ＣＰＵ使用率予測値が最大ＣＰＵ使用率以上の場合（Ｘ≦Ｙ＋Ｚ）、通知型ディスカバリ予定の構成情報ごとに、ステップＳ１９３〜Ｓ１９６に示す、ディスカバリ方法の判断処理を実行する。
【０２１１】
［ステップＳ１９３］ディスカバリ方法変更部１２５は、参照ＤＢ１２３から、判断対象の構成情報の参照頻度を取得する。
［ステップＳ１９４］ディスカバリ方法変更部１２５は、判断対象の構成情報の参照頻度が、高いか低いかを判断する。例えばディスカバリ方法変更部１２５は、参照頻度が１時間に１回を超えていれば参照頻度が高いと判断し、参照頻度が１時間に１回以下であれば、参照頻度が低いと判断する。参照頻度が１時間に１回を超えている場合とは、最新の参照日時から前回の参照日時を減算した値が１時間を超えている場合である。また参照頻度が１時間に１回以下の場合とは、最新の参照日時から前回の参照日時を減算した値が１時間以下の場合である。参照頻度が高ければ、処理がステップＳ１９６に進められる。参照頻度が低ければ、処理がステップＳ１９５に進められる。
【０２１２】
［ステップＳ１９５］ディスカバリ方法変更部１２５は、参照頻度が低い場合、判断対象の構成情報のディスカバリ方法を、インテリジェントディスカバリと暫定的に決定する。すなわち、ＣＰＵ使用率予測が最大ＣＰＵ使用率を上回り、かつ構成情報の参照頻度が低い場合には、その構成情報のディスカバリ方法がインテリジェントディスカバリと暫定的に決定される。ディスカバリ方法変更部１２５は、暫定的に決定したディスカバリ方法を、例えば、メモリ１０２内のディスカバリ方法一時保存域に保存する。その後、処理がステップＳ１９７に進められる。
【０２１３】
［ステップＳ１９６］ディスカバリ方法変更部１２５は、参照頻度が高い場合、判断対象の構成情報のディスカバリ方法を、通知型ディスカバリと暫定的に決定する。すなわち、ＣＰＵ使用率予測が最大ＣＰＵ使用率を上回り、かつ構成情報の参照頻度が高い場合には、その構成情報のディスカバリ方法が通知型ディスカバリと暫定的に決定される。ディスカバリ方法変更部１２５は、暫定的に決定したディスカバリ方法を、例えば、メモリ１０２内のディスカバリ方法一時保存域に保存する。
【０２１４】
［ステップＳ１９７］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置のすべての構成情報につて、ステップＳ１９３〜Ｓ１９６の処理が完了した場合、処理をステップＳ１９８に進める。未処理の構成情報があれば、ステップＳ１９３〜Ｓ１９６の処理が繰り返し実行される。
【０２１５】
［ステップＳ１９８］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の各構成情報について暫定的に決定したディスカバリ方法の一覧を、ディスカバリ方法一時保存域から取得する。
【０２１６】
［ステップＳ１９９］ディスカバリ方法変更部１２５は、処理対象となっている収集対象装置の構成情報ごとのディスカバリ方法を、ディスカバリ方法管理テーブル１２５ｂに登録する。なお該当する構成情報のレコードがすでにディスカバリ方法管理テーブル１２５ｂに登録されていれば、ディスカバリ方法変更部１２５は、該当レコードのディスカバリ方法を更新する。
【０２１７】
［ステップＳ２００］ディスカバリ方法変更部１２５は、ディスカバリ方法変更ログ１２６ａを更新する。例えばディスカバリ方法変更部１２５は、処理対象となっている収集対処装置の名称と構成情報との組に、変更前のディスカバリ方法、変更後のディスカバリ方法、および変更時刻を付加したレコードを、ディスカバリ方法変更ログ１２６ａに格納する。
【０２１８】
以上のようにして、システムの負荷を軽減できるように、ディスカバリ方法を動的に変更することができる。その結果、システムの負荷が軽減される。しかも第２の実施の形態では、構成情報ごとに適切なディスカバリ方法を決定することができ、ディスカバリ方法の柔軟な設定が可能である。
【０２１９】
さらに収集対象装置の負荷が所定値を超えそうな場合、通知型ディスカバリがそれ以上増加することを抑止することができる。その結果、通知型ディスカバリの増加による収集対象装置における監視負荷が軽減され、収集対象装置が過負荷となることが抑止される。
【０２２０】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２２１】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置において、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定する決定処理部と、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する取得処理部と、
を有する構成管理装置。
【０２２２】
（付記２）  前記決定処理部は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とする第１の時機と、前記構成情報の値が更新されたときを前記構成情報の取得時機とする第２の時機と、所定のスケジュールで指定された時機と構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とする第３の時機との中から、構成情報を取得する時機を決定する、
ことを特徴とする付記１記載の構成管理装置。
【０２２３】
（付記３）  前記決定処理部は、前記構成情報の更新頻度が所定値より高い場合は、前記構成情報に対する参照要求が入力されたときを前記構成情報の取得時機とし、前記構成情報の更新頻度が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記１または２に記載の構成管理装置。
【０２２４】
（付記４）  前記決定処理部は、前記構成情報の参照頻度が所定値以下の場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記構成情報の参照頻度が所定値より高い場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記１または２に記載の構成管理装置。
【０２２５】
（付記５）  前記決定処理部は、前記収集対象装置の負荷が所定値より高い場合は、所定のスケジュールで指定された時機と前記構成情報に対する参照要求が入力されたときとを前記構成情報の取得時機とし、前記収集対象装置の負荷が所定値以下の場合は、前記構成情報の値が更新されたときを前記構成情報の取得時機とする、
ことを特徴とする付記１または２に記載の構成管理装置。
【０２２６】
（付記６）  前記決定処理部は、前記構成情報が参照される頻度、前記構成情報が更新される頻度、および前記収集対象装置の負荷の組み合わせにより、前記構成情報を取得する時機を決定する、
ことを特徴とする付記１または２に記載の構成管理装置。
【０２２７】
（付記７）  前記決定処理部は、前記構成情報が複数有るとき、複数の構成情報それぞれについて取得する時機を判断し、
前記取得処理部は、前記複数の構成情報それぞれについて決定した時機に、前記複数の構成情報それぞれを取得する、
ことを特徴とする付記１乃至６のいずれかに記載の構成管理装置。
【０２２８】
（付記８）  前記決定処理部は、前記複数の構成情報のうち、値が更新されたときを取得時機とする構成情報数の増減と、前記収集対象装置の負荷の増減に基づいて、前記構成情報数が１増加するごとの前記収集対象装置の負荷量を求め、当該負荷量を現在の前記収集対象装置の負荷に加算したとき、前記収集対象装置の負荷が所定値以上となる場合、前記構成情報数の増加を抑止する、
ことを特徴とする付記７記載の構成管理装置。
【０２２９】
（付記９）  構成情報の収集対象となる収集対象装置と、前記収集対象装置から前記構成情報の値を取得して、前記収集対象装置の構成を管理する構成管理装置とを有する構成管理システムにおいて、
前記構成管理装置は、前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得し、
前記収集対象装置は、前記構成管理装置と連携して、前記構成管理装置で決定された時機に、前記構成情報を前記構成管理装置に送信する、
ことを特徴とする構成管理システム。
【０２３０】
（付記１０）
収集対象となる収集対象装置から構成情報の値を取得して、前記収集対象装置の構成を管理する処理をコンピュータに実行させる構成管理プログラムにおいて、
前記コンピュータに、
前記構成情報が参照される頻度、前記構成情報の値が更新される頻度、および前記収集対象装置の負荷のうちの少なくとも１つに基づいて、前記収集対象装置の負荷が抑えられるように、前記構成情報を取得する時機を決定し、
前記収集対象装置と連携し、決定した時機に、前記収集対象装置から前記構成情報を取得する、
処理を実行させる構成管理プログラム。
【符号の説明】
【０２３１】
１  収集対象装置
２  端末装置
１０  構成管理装置
１１  記憶部
１１ａ  負荷情報
１１ｂ  構成情報テーブル
１２  決定処理部
１３  取得処理部
１４  負荷監視処理部
１５  参照管理処理部
【図１】
2015191523.tif 000003
【図２】
2015191523.tif 000004
【図３】
2015191523.tif 000005
【図４】
2015191523.tif 000006
【図５】
2015191523.tif 000007
【図６】
2015191523.tif 000008
【図７】
2015191523.tif 000009
【図８】
2015191523.tif 000010
【図９】
2015191523.tif 000011
【図１０】
2015191523.tif 000012
【図１１】
2015191523.tif 000013
【図１２】
2015191523.tif 000014
【図１３】
2015191523.tif 000015
【図１４】
2015191523.tif 000016
【図１５】
2015191523.tif 000017
【図１６】
2015191523.tif 000018
【図１７】
2015191523.tif 000019
【図１８】
2015191523.tif 000020
【図１９】
2015191523.tif 000021
【図２０】
2015191523.tif 000022
【図２１】
2015191523.tif 000023
【図２２】
2015191523.tif 000024
【図２３】
2015191523.tif 000025
【図２４】
2015191523.tif 000026
【図２５】
2015191523.tif 000027
【図２６】
2015191523.tif 000028
【図２７】
2015191523.tif 000029
【図２８】
2015191523.tif 000030
【図２９】
2015191523.tif 000031
【図３０】
2015191523.tif 000032
【図３１】
2015191523.tif 000033
【図３２】
2015191523.tif 000034