(57)【要約】  管理計算機は、メモリと、メモリに接続され、ネットワーク内の複数のノードに接続されるプロセッサと、を備える。プロセッサは、取得処理を繰り返すように構成されている。取得処理は、予定時刻条件の下、各ノードに対するポーリングの予定時刻を決定し、予定時刻に従ってポーリングを行うことで、複数のノードに夫々格納されている複数の構成情報を取得し、複数の構成情報をメモリへ格納し、複数の構成情報のうち２以上の構成情報が互いに矛盾する場合、２以上の構成情報に夫々対応する２以上のノードに対するポーリングを行うことで、２以上のノードから新たな２以上の構成情報を夫々取得し、新たな２以上の構成情報をメモリへ格納する、ことを含む。予定時刻条件は、互いに接続されている２つのノードの予定時刻の時間差が、予め設定された時間差閾値以下であることである。
2017221288.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリに接続され、ネットワーク内の複数のノードに接続されるプロセッサと、
を備え、
前記プロセッサは、取得処理を繰り返すように構成されており、
前記取得処理は、
予定時刻条件の下、各ノードに対するポーリングの予定時刻を決定し、
前記予定時刻に従ってポーリングを行うことで、前記複数のノードに夫々格納されている複数の構成情報を取得し、
前記複数の構成情報を前記メモリへ格納し、
前記複数の構成情報のうち２以上の構成情報が互いに矛盾する場合、前記２以上の構成情報に夫々対応する２以上のノードに対するポーリングを行うことで、前記２以上のノードから新たな２以上の構成情報を夫々取得し、
前記新たな２以上の構成情報を前記メモリへ格納する、
ことを含み、
前記予定時刻条件は、互いに接続されている２つのノードの予定時刻の時間差が、予め設定された時間差閾値以下であることである、
管理計算機。
【請求項２】
前記プロセッサは、前記繰り返しの前に、初期取得処理を行うように構成されており、
前記初期取得処理は、
各ノードに対するポーリングを行うことで、前記複数の構成情報を取得し、
前記複数の構成情報を前記メモリへ格納する、
ことを含む、
請求項１に記載の管理計算機。
【請求項３】
各構成情報は、対応するノードのＩＰアドレスと、対応するノードに接続されているノードのＩＰアドレスとを含む、
請求項２に記載の管理計算機。
【請求項４】
各ノードから取得される構成情報は、対応するノードが属するサブネットを示すネットワークアドレスを含み、
前記取得処理は、
前記複数のノードを、同一のサブネットに属するノードのグループであるサブネットグループに分類し、
各サブネットグループ内のノードに対し、互いに連続する順序の予定時刻を決定する、
請求項３に記載の管理計算機。
【請求項５】
各ノードから取得される構成情報は、対応するノードと、対応するノードに接続されているノードとの間の接続プロトコルを含み、
前記取得処理は、
各サブネットグループ内のノードを、同一の接続プロトコルを用いるノードのグループである接続グループに分類し、
各接続グループ内のノードに対し、互いに連続する順序の予定時刻を決定する、
請求項４に記載の管理計算機。
【請求項６】
前記取得処理は、互いに接続されている２つのノードに対する予定時刻が前記予定時刻条件を満たさない場合、前記２つのノードのうち第１ノードの予定時刻を、前記２つのノードのうち第２ノードの予定時刻の順序に隣接する順序へ追加する、
請求項５に記載の管理計算機。
【請求項７】
互いに隣接する２つの予定時刻の間隔は、予め設定された時間間隔である、
請求項６に記載の管理計算機。
【請求項８】
ネットワーク内の複数のノードの管理方法であって、
取得処理を繰り返すことを備え、
前記取得処理は、
予定時刻条件の下、各ノードに対するポーリングの予定時刻を決定し、
前記予定時刻に従ってポーリングを行うことで、前記複数のノードに夫々格納されている複数の構成情報を取得し、
前記複数の構成情報をメモリへ格納し、
前記複数の構成情報のうち２以上の構成情報が互いに矛盾する場合、前記２以上の構成情報に夫々対応する２以上のノードに対するポーリングを行うことで、前記２以上のノードから新たな２以上の構成情報を夫々取得し、
前記新たな２以上の構成情報を前記メモリへ格納する、
ことを含み、
前記予定時刻条件は、互いに接続されている２つのノードの予定時刻の時間差が、予め設定された時間差閾値よりも小さくなることである、
管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理計算機に関する。
【背景技術】
【０００２】
ネットワーク機器の構成を管理する構成管理装置は、管理するネットワーク機器（以下、ノードと呼ぶ）の構成情報を定期的に取得（以下、ポーリングと呼ぶ）する。ポーリングを行うと、構成管理装置と、ノードと、構成管理装置およびノードの間のネットワークとに負荷がかかるため、この負荷を出来るだけ低減する必要がある。構成管理装置が大量のノードに対して同時刻にポーリングするとポーリングによる負荷が集中するため、ポーリングを分散してポーリングによる負荷を分散することが一般的である。【０００３】
特許文献１に記載の技術は、サブネットワーク内の１ノードのみをヘルス・チェックし、そのヘルス・チェックが正常であれば、他のノードはチェックしないことで、ヘルス・チェックのトラフィックを抑制する。次回に同じサブネットワークをチェックするとき、今回チェックしたノードの順番を最後尾にする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００―１１５１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
各ノードは、自ノードが他ノードと接続しているかどうかを示す構成情報を格納している。構成管理装置は、各ノードの構成情報を取得し、構成情報同士を突き合わせて、ノード間の接続関係を解析している。構成管理装置は、２つ（もしくはそれ以上）のノードにおいて、一方のノードからもう一方のノードへの接続関係のみではなく、逆の方向への接続関係も存在することで、それらのノード間に接続関係があると判定している。【０００６】
２つのノードＡ、Ｂがあり、そのノード間に接続関係があるとする。構成管理装置は、最初にノードＡへポーリングを行い、「ノードＡはノードＢとの接続関係を持つ」ことがわかる。その後ノードＡとノードＢ間の接続関係がなくなってから、間隔を置いて次にノードＢへのポーリングが行われた場合、「ノードＡはノードＢとの接続関係を持つ」が、逆に「ノードＢはノードＡとの接続関係を持たない」ため、ノードＡに格納されている接続関係と、ノードＢに格納されている接続関係とが矛盾する。このとき、構成管理装置は２つのノード（さらにその他のノードを含む場合もある）へ再ポーリングを行い、正しい接続関係を取得しようとする。しかし、接続関係の矛盾が起きるたびに再ポーリングが行われるため、その負荷がかかるという問題がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様である管理計算機は、メモリと、前記メモリに接続され、ネットワーク内の複数のノードに接続されるプロセッサと、を備える。前記プロセッサは、取得処理を繰り返すように構成されている。前記取得処理は、予定時刻条件の下、各ノードに対するポーリングの予定時刻を決定し、前記予定時刻に従ってポーリングを行うことで、前記複数のノードに夫々格納されている複数の構成情報を取得し、前記複数の構成情報を前記メモリへ格納し、前記複数の構成情報のうち２以上の構成情報が互いに矛盾する場合、前記２以上の構成情報に夫々対応する２以上のノードに対するポーリングを行うことで、前記２以上のノードから新たな２以上の構成情報を夫々取得し、前記新たな２以上の構成情報を前記メモリへ格納する、ことを含む。前記予定時刻条件は、互いに接続されている２つのノードの予定時刻の時間差が、予め設定された時間差閾値以下であることである。
【発明の効果】
【０００８】
ポーリングによる負荷を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】計算機システムの構成を示す。
【図２】構成管理装置１００の構成を示す。
【図３】被管理装置３００の構成を示す。
【図４】構成情報テーブル１３１を示す。
【図５】ノード間の接続関係を示す。
【図６】ポーリング順番テーブル１３２を示す。
【図７】被管理ノードテーブル１３３を示す。
【図８】構成管理処理を示す。
【図９】第１ポーリング処理を示す。
【図１０】グルーピング処理を示す。
【図１１】ポーリング順番決定処理を示す。
【図１２】探索再帰処理を示す。
【図１３】第２ポーリング処理を示す。
【図１４】構成情報取得処理を示す。
【図１５】接続情報矛盾判定処理を示す。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
【００１１】
以下の説明では、「×××テーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××テーブル」を「×××情報」と呼ぶことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００１２】
また、以下の説明では、要素の識別情報として、ＩＤが使用されるが、それに代えて又は加えて他種の識別情報が使用されてもよい。
【００１３】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたＩＤを使用することがある。
【００１４】
また、以下の説明では、Ｉ／Ｏ（Input/Output）要求は、ライト要求又はリード要求であり、アクセス要求と呼ばれてもよい。
【００１５】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central Processing Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又はインターフェースデバイス（例えば通信ポート）等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理又はシステムとしてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ（例えばＣＰＵ）と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００１６】
また、以下の説明では、管理システムは、一以上の計算機を含んでいてもよい。具体的には、例えば、管理計算機が情報を表示する場合（具体的には、例えば、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合）、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んでよい）が、管理システムである。管理計算機（例えば管理システム）は、表示システムを含むＩ／Ｏシステムに接続されたインタフェースデバイスと、記憶資源（例えばメモリ）と、インタフェースデバイス及び記憶資源に接続されたプロセッサとを有してよい。表示システムは、管理計算機が有する表示デバイスでもよいし、管理計算機に接続された表示用計算機でもよい。Ｉ／Ｏシステムは、管理計算機が有するＩ／Ｏデバイス（例えばキーボード及びポインティングデバイス、タッチパネル）でもよいし、管理計算機に接続された表示用計算機又は別の計算機でもよい。管理計算機が「表示用情報を表示する」ことは、表示システムに表示用情報を表示することであり、これは、管理計算機が有する表示デバイスに表示用情報を表示することであってもよいし、管理計算機が表示用計算機に表示用情報を送信することであってもよい（後者の場合は表示用計算機によって表示用情報が表示される）。また、管理計算機が情報を入出力するとは、管理計算機が有するＩ／Ｏデバイスとの間で情報の入出力を行うことであってもよいし、管理計算機に接続された遠隔の計算機（例えば表示用計算機）との間で情報の入出力を行うことであってもよい。情報の出力は、情報の表示であってもよい。
【００１７】
以下、計算機システムの構成について説明する。
【００１８】
図１は、計算機システムの構成を示す。
【００１９】
計算機システムは、構成管理装置１００と、被管理装置群２００とを含む。構成管理装置１００は、ネットワークを介して被管理装置群２００に接続されている。被管理装置群２００は、複数の被管理装置３００を含む。各被管理装置３００は、ネットワークを介して少なくとも一つの他の被管理装置３００に接続されている。構成管理装置１００は、ネットワーク及び被管理装置３００を介して、全ての被管理装置３００に接続されている。各被管理装置３００をノードと呼ぶことがある。
【００２０】
被管理装置３００は、ルータやスイッチ等のネットワーク機器である。また、被管理装置３００は、サーバ装置やストレージ装置であってもよい。
【００２１】
図２は、構成管理装置１００の構成を示す。
【００２２】
構成管理装置１００は、プロセッサ１１０と、主記憶装置１２０と、補助記憶装置１３０と、ネットワークインタフェース１４０とを含む。
【００２３】
主記憶装置１２０は、主にプログラムを格納する。補助記憶装置１３０は、主にデータを格納する。プロセッサ１１０は、主記憶装置１２０および補助記憶装置１３０に格納されているプログラムおよびデータを用いて、処理を実行する。ネットワークインタフェース１４０は、ネットワークに接続され、被管理装置３００と通信する。
【００２４】
主記憶装置１２０は、プログラムとして、構成管理処理部１２１と、構成情報取得部１２２と、接続情報矛盾判定部１２３と、グルーピング部１２４と、ポーリング順番テーブル作成部１２５とを格納する。
【００２５】
補助記憶装置１３０は、データとして、構成情報テーブル１３１と、ポーリング順番テーブル１３２と、被管理ノードテーブル１３３とを格納する。
【００２６】
構成管理装置１００は、入力デバイスおよび表示デバイスを含んでもよいし、入力デバイスおよび表示デバイスに接続されていてもよい。
【００２７】
図３は、被管理装置３００の構成を示す。
【００２８】
被管理装置３００は、プロセッサ３１０と、主記憶装置３２０と、補助記憶装置３３０と、ネットワークインタフェース３４０とを含む。
【００２９】
主記憶装置３２０は、主にプログラムを格納する。補助記憶装置３３０は、主にデータを格納する。プロセッサ３１０は、主記憶装置３２０および補助記憶装置３３０に格納されているプログラムおよびデータを用いて、処理を実行する。ネットワークインタフェース３４０は、ネットワークに接続され、他の被管理装置３００や構成管理装置１００と通信する。
【００３０】
主記憶装置３２０は、プログラムとして、構成情報応答部３２１を格納する。
【００３１】
補助記憶装置３３０は、データとして、被管理装置構成情報テーブル３３１を格納する。
【００３２】
図４は、構成情報テーブル１３１を示す。
【００３３】
構成情報テーブル１３１は、ポーリングにより各ノードから取得された構成情報を格納する。構成情報テーブル１３１は、構成情報毎のエントリを有する。一つの構成情報のエントリは、構成情報ＩＤ４１１と、ノードＩＤ４１２と、ＩＰアドレス４１３と、サブネット４１４と、隣接ノードＩＰアドレス４１５と、接続プロトコル４１６とを含む。
【００３４】
構成情報ＩＤ４１１は、構成情報の識別子である。ノードＩＤ４１２は、当該構成情報の送信元ノードの識別子である。ＩＰアドレス４１３は、当該送信元ノードのＩＰアドレスである。サブネット４１４は、当該送信元ノードが属するサブネットのネットワークアドレスである。隣接ノードＩＰアドレス４１５は、当該送信元ノードに直接接続されている他のノードである隣接ノードの、ＩＰアドレスである。接続プロトコル４６０は、当該送信元ノードと当該隣接ノードの間の通信に用いられる接続プロトコルを示す。
【００３５】
図５は、ノード間の接続関係を示す。
【００３６】
この図は、前述の構成情報テーブル１３１の例に示されたノード間の接続関係を示す。ノードＮ００１、Ｎ００２の間の接続関係は、構成情報ＩＤが１、３である構成情報に示されている。ノードＮ００２、Ｎ００４の間の接続関係は、構成情報ＩＤが５、６である構成情報に示されている。ノードＮ００２、Ｎ００５の間の接続関係は、構成情報ＩＤが７、８である構成情報に示されている。ノードＮ００４、Ｎ００５の間の接続関係は、構成情報ＩＤが９、１０である構成情報に示されている。ノードＮ００１、Ｎ００３の間の接続関係は、構成情報ＩＤが２、４である構成情報に示されている。
【００３７】
ノードＮ００１、Ｎ００２、Ｎ００４、Ｎ００５は、サブネット192.168.1.0/24に属している。そのサブネットのうち、ノードＮ００１、Ｎ００２は、接続プロトコルとしてＨＳＲＰ（Hot Standby Router Protocol）を用いて互いに接続されており、ノードＮ００１、Ｎ００４、Ｎ００５は、接続プロトコルとしてＳＴＰ（Spanning Tree Protocol）を用いて互いに接続されている。
【００３８】
ノードＮ００１、Ｎ００３は、サブネット192.168.2.0/24に属している。ノードＮ００１、Ｎ００３は、接続プロトコルとしてＬＡＧ（Link Aggregation Group）を用いて互いに接続されている。
【００３９】
図６は、ポーリング順番テーブル１３２を示す。
【００４０】
ポーリング順番テーブル１３２は、ポーリングの計画を示す。ポーリング順番テーブル１３２は、ポーリング毎のエントリを有する。一つのポーリングのエントリは、順番ＩＤ４２１と、時刻４２２と、ノードＩＤ４２３とを含む。
【００４１】
順番ＩＤ４２１は、当該ポーリングの順番であるポーリング順番を示す。時刻４２２は、当該ポーリングを実行する時刻であるポーリング時刻（予定時刻）を示す。ノードＩＤ４２３は、当該ポーリングにおける問い合わせ先のノードの識別子である。
【００４２】
図７は、被管理ノードテーブル１３３を示す。
【００４３】
被管理ノードテーブル１３３は、管理者により設定され、構成管理装置１００により管理されるノードの一覧を示す。被管理ノードテーブル１３３は、ノード毎のエントリを有する。一つのノードのエントリは、管理番号（Ｎｏ．）４３１と、被管理ノードＩＰアドレス４３２とを含む。
【００４４】
管理番号４３１は、ノードの番号である。被管理ノードＩＰアドレス４３２は、当該ノードのＩＰアドレスである。
【００４５】
以下、計算機システムの動作について説明する。
【００４６】
構成管理装置１００の構成管理処理部１２１は、構成管理処理を行う。
【００４７】
図８は、構成管理処理を示す。
【００４８】
Ｓ１１０において構成管理処理部１２１は、ユーザから被管理ノードテーブル１３３への入力を受け付ける。ここで、構成管理処理部１２１は、表示デバイスに入力フォームを表示させ、入力デバイスへの入力に基づいてＩＰアドレスを取得し、取得されたＩＰアドレスを、被管理ノードテーブル１３３へ格納する。
【００４９】
Ｓ１２０において構成管理処理部１２１は、後述の第１ポーリング処理（初期取得処理）を行う。
【００５０】
Ｓ１３０において構成管理処理部１２１は、構成管理処理を停止させるまで、Ｓ１４０、Ｓ１３０〜Ｓ１６０の処理（取得処理）を繰り返す。
【００５１】
Ｓ１４０において構成管理処理部１２１は、後述のグルーピング処理を行う。Ｓ１５０において構成管理処理部１２１は、後述の第２ポーリング処理を行う。Ｓ１６０において構成管理処理部１２１は、処理をＳ１３０へ移行させる。
【００５２】
以上の構成管理処理によれば、構成管理装置１００は、初回のポーリング処理の後、各ノードのポーリング順番を決定し、ポーリング順番に従ってポーリング処理を行うことができる。
【００５３】
次に、前述のＳ１２０における第１ポーリング処理について説明する。
【００５４】
図９は、第１ポーリング処理を示す。
【００５５】
Ｓ２１０において構成情報取得部１２２は、補助記憶装置１３０から被管理ノードテーブル１３３を取得する。
【００５６】
Ｓ２２０において構成情報取得部１２２は、Ｓ２２０〜Ｓ２６０の処理を、被管理ノードテーブル１３３におけるノード数だけ繰り返す。例えば、構成情報取得部１２２は、予め設定されたポーリング時間間隔毎に、Ｓ２２０〜Ｓ２６０の処理を行う。
【００５７】
Ｓ２３０において構成情報取得部１２２は、被管理ノードテーブル１３３の中から未選択の１つのノードを対象ノードとして選択する。
【００５８】
Ｓ２４０において構成情報取得部１２２は、対象ノードに対するポーリングを行うことで、対象ノードから構成情報を取得する。
【００５９】
Ｓ２５０において構成情報取得部１２２は、取得された構成情報を構成情報テーブル１３１へ格納する。
【００６０】
Ｓ２６０において構成情報取得部１２２は、処理をＳ２２０へ移行させる。
【００６１】
以上の第１ポーリング処理によれば、構成管理装置１００は、被管理ノードテーブル１３３に示された全てのノードに対してポーリングを行うことができる。
【００６２】
次に、前述のＳ１４０におけるグルーピング処理について説明する。
【００６３】
図１０は、グルーピング処理を示す。
【００６４】
Ｓ３１０においてグルーピング部１２４は、ポーリング順番テーブル１３２の内容を削除する。
【００６５】
Ｓ３２０においてグルーピング部１２４は、構成情報テーブル１３１の中から全てのノードＩＤを取得し、処理番号を１からノードＩＤ数までインクリメントしながらＳ３２０〜Ｓ３４０の処理を繰り返す。
【００６６】
Ｓ３３０においてグルーピング部１２４は、ポーリング順番テーブル１３２の処理番号のエントリの順番４２１へ処理番号を設定する。処理番号が１である場合、グルーピング部１２４は、当該エントリの時刻４２２へ予め設定された開始時刻を設定する。処理番号が１でない場合、グルーピング部１２４は、直前のエントリの時刻４２２にポーリング時間間隔を加算することで新たなポーリング時刻を決定し、当該エントリの時刻４２２へポーリング時刻を設定する。Ｓ３４０においてグルーピング部１２４は、処理をＳ３２０へ移行させる。
【００６７】
Ｓ３５０においてグルーピング部１２４は、構成情報テーブル１３１内のノードＩＤ４１２を、サブネット４１４の値毎のサブネットグループに分ける。
【００６８】
Ｓ３６０においてグルーピング部１２４は、サブネットグループ番号を１からサブネットグループ数までインクリメントしながらＳ３６０〜Ｓ４２０の処理を繰り返す。
【００６９】
Ｓ３７０においてグルーピング部１２４は、サブネットグループ番号のサブネットグループ内のノードＩＤを、接続プロトコル４１６の値毎の接続グループに分ける。
【００７０】
Ｓ３８０においてグルーピング部１２４は、接続グループ番号を１から接続グループ数までインクリメントしながらＳ３８０〜Ｓ４１０の処理を繰り返す。
【００７１】
Ｓ３９０においてグルーピング部１２４は、接続グループ番号の接続グループから、ランダムに１つのノードをルートノードとして選択する。
【００７２】
Ｓ４００においてグルーピング部１２４は、後述のポーリング順番決定処理を行う。
【００７３】
Ｓ４１０においてグルーピング部１２４は、処理をＳ３８０へ移行させる。
【００７４】
Ｓ４２０においてグルーピング部１２４は、処理をＳ２６０へ移行させる。
【００７５】
以上のグルーピング処理によれば、構成管理装置１００は、ノードをサブネットと接続プロトコルで接続グループに分け、接続グループ毎にポーリングの順番を決定することができる。
【００７６】
図１１は、ポーリング順番決定処理を示す。
【００７７】
Ｓ５１０においてポーリング順番テーブル作成部１２５は、ポーリング順番テーブル１３２における次の順番を対象ポーリング順番として選択し、対象ポーリング順番のエントリへルートノードを登録する。
【００７８】
Ｓ５２０においてポーリング順番テーブル作成部１２５は、ルートノードが探索済みであることを記録する。
【００７９】
Ｓ５３０においてポーリング順番テーブル作成部１２５は、ルートノードのノードＩＤを引数として、後述の探索再帰処理を行う。
【００８０】
以上のポーリング順番決定処理によれば、構成管理装置１００は、ルートノードから順にポーリングの順番を決定することができる。
【００８１】
図１２は、探索再帰処理を示す。
【００８２】
ここでは、探索再帰処理の引数に示されたノードを親ノードと呼ぶ。
【００８３】
Ｓ６１０においてポーリング順番テーブル作成部１２５は、構成情報テーブル１３１から、親ノードのエントリの隣接ノードＩＰアドレス４１５に示されたノードを、子ノードとして検出し、全ての子ノードに対してＳ６１０〜Ｓ６９０の処理を繰り返す。
【００８４】
Ｓ６２０においてポーリング順番テーブル作成部１２５は、検出された子ノードの中から一つの子ノードを対象ノードとして選択する。
【００８５】
Ｓ６３０においてポーリング順番テーブル作成部１２５は、対象ノードが探索済みであるか否かを判定する。対象ノードが探索済みであると判定された場合（Ｓ６３０：ＹＥＳ）、ポーリング順番テーブル作成部１２５は、処理をＳ６２０へ移行させる。対象ノードが探索済みでないと判定された場合（Ｓ６３０：ＮＯ）、ポーリング順番テーブル作成部１２５は、処理をＳ６４０へ移行させる。
【００８６】
Ｓ６４０においてポーリング順番テーブル作成部１２５は、対象ノードが探索済みであると記録する。
【００８７】
Ｓ６５０においてポーリング順番テーブル作成部１２５は、ポーリング順番テーブル１３２における次のポーリング順番を対象ポーリング順番として選択し、対象ポーリング順番のエントリへ対象ノードを登録する。
【００８８】
Ｓ６６０においてポーリング順番テーブル作成部１２５は、ポーリング順番テーブル１３２における、親ノードのポーリング時刻と対象ノードのポーリング時刻との時間差の最小値が、予め設定された時間差閾値以下であるか否かを判定する。ポーリング順番テーブル１３２において、親ノードに対する複数のポーリング時刻がある場合、対象ノードのポーリング時刻に最も近い親ノードのポーリング時刻と、対象ノードのポーリング時刻との時間差が、時間差の最小値である。
【００８９】
時間差が時間差閾値以下でないと判定された場合（Ｓ６６０：ＮＯ）、Ｓ６７０においてポーリング順番テーブル作成部１２５は、ポーリング順番テーブル１３２における対象ポーリング順番のエントリへ親ノードを登録し、次のポーリング順番を対象ポーリング順番として選択し、対象ポーリング順番のエントリへ対象ノードを登録する。
【００９０】
時間差が時間差閾値以下であると判定された場合（Ｓ６６０：ＹＥＳ）、Ｓ６８０においてポーリング順番テーブル作成部１２５は、対象ノードのノードＩＤを引数として、探索再帰処理を行う。
【００９１】
Ｓ６９０においてポーリング順番テーブル作成部１２５は、処理をＳ６１０へ移行させる。
【００９２】
以上の探索再帰処理によれば、ルートノードから隣接するノードを順に探索することができ、対象ノードから隣接するノードを順に探索することができる。また、互いに隣接する２つのノードのポーリング時刻の時間差が時間差閾値以下になるように、各ノードのポーリング時刻を決定することができる。
【００９３】
例えば、図５の例において、接続グループに従って、Ｎ００１、Ｎ００２、Ｎ００４、Ｎ００５、Ｎ００３の順に探索され、互いに隣接するＮ００１とＮ００３のポーリング時刻の時間差が時間差閾値を超えた場合、ポーリング順番テーブル作成部１２５は、Ｎ００３の直前に再度Ｎ００１のポーリング順番を設定することで、ポーリング順番は、Ｎ００１、Ｎ００２、Ｎ００４、Ｎ００５、Ｎ００１、Ｎ００３になる。これにより、全てのポーリング時刻は、互いに隣接する２つのノードのポーリング時刻の時間差が時間差閾値以下になるという予定時刻条件を満たすことができる。
【００９４】
なお、ポーリング順番テーブル作成部１２５は、接続プロトコルに基づいて、接続関係の強いノードを優先して探索してもよい。また、ノード間の接続関係に基づいて、探索順番を決定してもよい。
【００９５】
ポーリング時間間隔は、全ノード数と第２ポーリング処理の処理時間であるポーリング処理時間とに基づいて決定されてもよい。例えば、全ノードのポーリングがポーリング処理時間内に終わるようにポーリング時間間隔が決定されてもよい。これにより、負荷をできるだけ抑えたポーリング時間間隔を設定することができる。また、時間差閾値は、ポーリング順番の差の閾値である順番差閾値で表されてもよい。例えば、ポーリング順番テーブル作成部１２５は、ポーリング順番テーブル１３２において、互いに隣接する２つのノードのポーリング順番の差が、予め設定された順番差閾値以下になるように、ポーリング順番を決定する。
【００９６】
次に、前述のＳ１４０におけるグルーピング処理について説明する。
【００９７】
図１３は、第２ポーリング処理を示す。
【００９８】
Ｓ７１０において構成情報取得部１２２は、ポーリング順番テーブル１３２の各エントリに対してＳ７１０〜Ｓ７５０の処理を行う。
【００９９】
Ｓ７２０において構成情報取得部１２２は、ポーリング順番テーブル１３２から順に１つのエントリを選択し、そのエントリのノードを対象ノードとして選択する。
【０１００】
Ｓ７３０において構成情報取得部１２２は、対象ノードに対して構成情報取得処理を行う。
【０１０１】
Ｓ７４０において構成情報取得部１２２は、次のエントリのポーリング時刻まで待機する。
【０１０２】
Ｓ７５０において構成情報取得部１２２は、処理をＳ７１０へ移行させる。
【０１０３】
以上の第２ポーリング処理によれば、構成管理装置１００は、ポーリング順番テーブル１３２に示された順番で全てのノードに対してポーリングを行うことができる。
【０１０４】
図１４は、構成情報取得処理を示す。
【０１０５】
Ｓ８１０において構成情報取得部１２２は、対象ノードに対するポーリングを行うことで、対象ノードから構成情報を取得する。
【０１０６】
Ｓ８２０において構成情報取得部１２２は、取得された構成情報を、構成情報テーブル１３１へ格納することで、構成情報テーブル１３１を更新する。ここで、構成情報が取得されなかった場合、構成情報取得部１２２は、構成情報テーブル１３１から、対応するエントリを削除する。構成情報が取得された場合、構成情報取得部１２２は、構成情報テーブル１３１において、対応するエントリの内容を、取得された構成情報に置き換える。
【０１０７】
Ｓ８３０において構成情報取得部１２２は、後述の接続情報矛盾判定処理を行う。
【０１０８】
以上の構成情報取得処理によれば、構成管理装置１００は、ポーリング順番により示された各ノードから構成情報を取得し、構成情報の矛盾を判定することができる。
【０１０９】
図１５は、接続情報矛盾判定処理を示す。
【０１１０】
Ｓ９１０において接続情報矛盾判定部１２３は、構成情報テーブル１３１から対象ノードの隣接ノードＩＰアドレスを、対象隣接ノードＩＰアドレスとして選択する。
【０１１１】
Ｓ９２０において接続情報矛盾判定部１２３は、対象隣接ノードＩＰアドレスの中から一つのノードを接続先ノードＩＰアドレスとして選択し、接続先ノードＩＰアドレスに対し、Ｓ９２０〜Ｓ９７０の処理を繰り返す。
【０１１２】
Ｓ９３０において接続情報矛盾判定部１２３は、構成情報テーブル１３１から接続先ノードＩＰアドレスの隣接ノードＩＰアドレスを、接続先隣接ノードＩＰアドレスとして選択する。
【０１１３】
Ｓ９４０において接続情報矛盾判定部１２３は、接続先隣接ノードＩＰアドレスが対象ノードのＩＰアドレスを含むか否かを判定する。
【０１１４】
接続先隣接ノードＩＰアドレスが対象ノードのＩＰアドレスを含むと判定された場合（Ｓ９４０：ＹＥＳ）、接続情報矛盾判定部１２３は、処理をＳ９７０へ移行させる。
【０１１５】
接続先隣接ノードＩＰアドレスが対象ノードのＩＰアドレスを含まないと判定された場合（Ｓ９４０：ＮＯ）、Ｓ９５０において接続情報矛盾判定部１２３は、対象ノードと接続先ノードに対するポーリングを行い、対象ノードと接続先ノードの夫々から構成情報を取得する。Ｓ９６０において接続情報矛盾判定部１２３は、取得された構成情報を構成情報テーブル１３１へ格納し、処理をＳ９７０へ移行させる。
【０１１６】
Ｓ９７０において接続情報矛盾判定部１２３は、処理をＳ９２０へ移行させる。
【０１１７】
以上の接続情報矛盾判定処理によれば、構成管理装置１００は、対象ノードの構成情報とその隣接ノードの構成情報に矛盾があれば、それらのノードに対して再ポーリングを行うことができる。但し、前述のポーリング順番テーブル作成処理により、構成情報の矛盾の発生を抑えることができる。
【０１１８】
ポーリング時間間隔が短いと負荷が掛かり、ポーリング時間間隔が長いと２つの構成情報の間に矛盾が生じやすくなり、再ポーリングを行うため負荷が掛かる。本実施例によれば、負荷が集中しない程度にポーリング時間間隔を設定する。更に、対象ノードに対するポーリング時刻と、その隣接ノードに対するポーリング時刻との時間差を時間差閾値以下にすることで、それらのノードの一方だけの構成情報が変化することを抑えることができる。これにより、それらのノードの構成情報の矛盾の発生を抑えることができる。
【０１１９】
また、接続関係を持つ複数のノードをグルーピングして、グループ内のノードは連続してポーリングするように、ポーリング時刻の順序を決定することで、接続関係を持つ複数のノード間のポーリングの時間間隔を短くすることができる。
【０１２０】
管理計算機は、構成管理装置１００等に対応する。メモリは、主記憶装置１２０、補助記憶装置１３０等に対応する。
【０１２１】
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上記構成に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
【符号の説明】
【０１２２】
１００…構成管理装置、  １１０…プロセッサ、  １２０…主記憶装置、  １３０…補助記憶装置、  １４０…ネットワークインタフェース、  ２００…被管理装置群、  ３００…被管理装置、  ３１０…プロセッサ、  ３２０…主記憶装置、  ３３０…補助記憶装置、  ３４０…ネットワークインタフェース
【図１】
2017221288.tif 000003
【図２】
2017221288.tif 000004
【図３】
2017221288.tif 000005
【図４】
2017221288.tif 000006
【図５】
2017221288.tif 000007
【図６】
2017221288.tif 000008
【図７】
2017221288.tif 000009
【図８】
2017221288.tif 000010
【図９】
2017221288.tif 000011
【図１０】
2017221288.tif 000012
【図１１】
2017221288.tif 000013
【図１２】
2017221288.tif 000014
【図１３】
2017221288.tif 000015
【図１４】
2017221288.tif 000016
【図１５】
2017221288.tif 000017
【国際調査報告】
2017221288.tif 000018
2017221288.tif 000019