(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0016】
図1は、本発明の一実施形態におけるネットワーク監視システムの構成を示すブロック図である。
【0017】
本実施形態におけるネットワーク監視システムは、ネットワーク管理システム100と、監視対象ネットワーク200とを備えている。
ネットワーク管理システム100は、SNMPマネージャ120と、経路取得手段130と、管理エージェント選択手段140とを備えている。
【0018】
監視対象ネットワーク200は、1以上のルータ300等(300、301、302、303)と、1以上のサーバ500等(500、501、502、503)と、図示されないその他のネットワークノードとを備えている。ここでは、一例として、ルータとサーバとをそれぞれ4個ずつ図示している。
【0019】
ルータ300等の各々は、SNMP(Simple Network Management Protocol)エージェント310等(310、311、312、313)を備えている。又、図示されないその他のネットワークノードもSNMPエージェントを備えている。
【0020】
サーバ500等の各々は、SNMPエージェント510等(510、511、512、513)と、SNMPマネージャ520等(520、521、522、523)とを備えている。
【0021】
SNMPマネージャ120及び520等は、SNMPエージェントへの管理操作の要求の送信や、SNMPエージェントからのトラップの受信等を行う手段である。
【0022】
SNMPエージェント310等及び510等は、SNMPマネージャへの管理操作の応答の送信や、SNMPマネージャへのトラップの送信等を行う手段である。
【0023】
サーバ500等は、SNMPエージェントやSNMPマネージャとして動作するのと同時に、それ以外のサービスを提供するサーバコンピュータである。サーバ500等は、管理エージェントとして動作できる。尚、管理エージェントとは、下位のSNMPエージェントに対してはSNMPマネージャとして動作し、上位のSNMPマネージャに対しては下位のSNMPエージェントを代理するSNMPエージェントとしても動作するネットワークノードである。サーバ500等は、管理エージェントとして動作できるので、管理エージェント候補である。
【0024】
ここでは、例として、サーバ500及びサーバ502が、管理エージェントに選択された場合を図示している。尚、以降、図において、波線で囲ったサーバは、管理エージェントに選択されたサーバを示している。
【0025】
サーバ500の上位のSNMPマネージャは、ネットワーク管理システム100のSNMPマネージャ120である。サーバ500の下位のSNMPエージェントは、サーバ501のSNMPエージェント511、並びに、ルータ300のSNMPエージェント310、及び、ルータ301のSNMPエージェント311である。サーバ502の上位のSNMPマネージャは、ネットワーク管理システム100のSNMPマネージャ120である。サーバ502の下位のSNMPエージェントは、サーバ503のSNMPエージェント513、並びに、ルータ302のSNMPエージェント312、及び、ルータ303のSNMPエージェント313である。
【0026】
管理エージェント選択手段140は、管理エージェント候補から管理エージェントを選択する手段である。
【0027】
経路取得手段130は、あるネットワークノードから別のネットワークノードへ至るネットワークパス上の通過ノード(ルータ)の識別子(例えば、IPアドレス、ホスト名、FQDN(Fully Qualified Domain Name)等を含む。以下、IPアドレス等と呼ぶ)のリストを取得する手段である。経路取得手段130には、例えば、経路情報取得ツールであるtraceroute等が含まれる。
【0028】
ルータ300は、2以上の異なるネットワークセグメント間を相互接続する通信機器である。
【0030】
図2は、本発明の実施形態におけるネットワーク管理システムの経路取得手段130の動作を説明するフローチャートである。
【0031】
まず、経路取得手段130は、空の経路テーブルを作成する(ステップS110)。なお、経路テーブルは、出発点であるネットワークノードから到達点であるネットワークノードへの経路毎に1個のレコードを持つ。経路テーブルの各レコードは、1列目に到達点であるネットワークノードの識別子(IPアドレス等)を、2列目にそのレコードが選択されているか否かを示す値(0:未選択状態、0以外:選択状態)を、3列目以降に経路上の各ネットワークノードの識別子(IPアドレス等)を持つ。
【0032】
経路取得手段130は、すべての管理エージェント候補について、以下の処理を実行する(ステップS120からステップS170)。
【0033】
経路取得手段130は、ある管理エージェント候補について、ネットワーク管理システム100からその管理エージェント候補への経路を検索する(ステップS130)。
【0034】
経路があった場合(ステップS140のYes)、経路取得手段130は、経路テーブルに行を追加し、その1列目に管理エージェント候補の識別子を、2列目に0(未選択状態)を設定する(ステップS150)。経路があった場合、経路取得手段130は、続いて、経路テーブルのその行の3列目以降各列に検索結果における通過順に各ネットワークノード(ルータ)の識別子を設定する(ステップS160)。経路が無かった場合(ステップS140のNo)、経路取得手段130は、その管理エージェント候補については、何もしない。
【0035】
図3は、本発明の実施形態におけるネットワーク接続状態の一例を示す図である。
図4は、本発明の実施形態における経路テーブルの一例を示す図である。
【0036】
例えば、
図3に示したネットワーク接続状態において、
図2のフローチャートに示した手順を実施すると、
図4に示した経路テーブルが得られる。
【0037】
図5は、本発明の実施形態におけるネットワーク管理システムの管理エージェント選択手段の動作を説明するフローチャートである。
【0038】
まず、ネットワーク監視システムの構成や通信トラフィック等を考慮して、監視対象にすべき好適な管理エージェント数(以下、「指定数」と呼ぶ)が、予め指定されているものとする(ステップS205)。
【0039】
次に、管理エージェント選択手段140は、経路取得手段130が作成した経路テーブルに対し、3列目から最後の列まで、以下の処理を実行する(ステップS210からステップS250)。尚、以下では、現在処理中の列をJ列として参照する。
【0040】
まず、管理エージェント選択手段140は、経路テーブルの行をJ列の値が等しいものでグループ化する(ステップS215)。
【0041】
次に、管理エージェント選択手段140は、すべてのグループについて、グループ内で最も多くの列(ルータ)を含む経路テーブルの未選択行(2列目が0の行)を選択する(2列目の値をJにする)(ステップS220からS230)。
【0042】
経路テーブルの全選択行(2列目が0以外の行)数が指定数より大きいならば(ステップS235のYes)、管理エージェント選択手段140は、J列の処理で新規に選択された行(2列目の値がJ)のうち、最も多くの列(ルータ)を含む行から順に、指定数から前列までの選択行数を引算した個数(3≦2列目の値<Jである行数)の行を再選択(再選択されなかった行の2列目を0に設定)する(ステップS240)。一方、経路テーブルの全選択行数が指定数以下ならば(ステップS235のNo)、管理エージェント選択手段140は、その列については、何もしない。
【0043】
全選択行数が指定数に等しくなったら(ステップS245のYes)、管理エージェント選択手段140は、処理を終了する。
【0044】
図6は、本発明の実施形態における経路テーブルの一例を示す図である。
【0045】
例えば、
図4に示した経路テーブルに対して、
図5のフローチャートに示した手順を実施すると、
図6に示した経路テーブルが得られる。尚、ここでは、指定数は4とした。その結果、
図3のネットワーク接続状態を示す図において、破線で囲ったサーバが、管理エージェントとして選択される。
【0046】
図1に示したブロック図において、ネットワーク管理システム100は、各ネットワークノード(ルータ300、301、302、303、サーバ500、501、502、503、又は、その他のネットワークノード)に対し、そのネットワークノードを管理する管理エージェント500、502(以降、「代表エージェント」と呼ぶ)を決定する。
【0047】
まず、ネットワーク管理システム100は、管理対象である全てのネットワークノードを指定数個のグループに分割する(ここでは、指定数が2個の場合を例に図示した)。ここでは、一点鎖線で囲ったネットワークノードが一つのグループをあらわしている。尚、各グループに属するネットワークノードに対する処理負荷の合計が、1個の管理エージェントの利用可能な処理能力に収まるようにグループ分割する。
【0048】
次に、ネットワーク管理システム100は、それぞれのグループに一対一に対応する管理エージェント500、502を代表エージェントとして選択する。ここで、ネットワーク管理システム100は、管理エージェントの処理能力と各グループに属するネットワークノードの処理負荷の合計とを考慮して代表エージェントを対応付けても良いし、ランダムに対応付けても良い。
【0049】
SNMPマネージャ120は、あるネットワークノードの管理操作を行う際には、管理エージェントをSNMPエージェントとして管理操作を行う。
【0050】
まず、障害情報以外の管理情報(性能情報等)については、ネットワーク管理システム100は、管理対象であるネットワークノードの代表エージェントに対してのみ収集を行う。
【0051】
ただし、ネットワーク管理システム100は、その代表エージェントと通信できない場合には、
図2及び
図5で説明した動作に従い、改めて管理エージェントを選択し、代表エージェントの決定をやり直す。尚、ネットワーク管理システム100が、ある管理エージェントと通信できなくなった場合には、その通信復旧後に、ネットワーク管理システム100は、その管理エージェントが収集・蓄積していた障害情報以外の管理情報(性能情報等)を補完できる。ただし、ある代表エージェントが、その管理対象であるネットワークノードと通信できなくなった場合には、その通信復旧後に、ネットワーク管理システム100は、通信障害発生から復旧までの障害情報以外の管理情報(性能情報等)を補完できない。
【0052】
一方、障害情報(運用状態情報等)については、ネットワーク管理システム100は、すべての管理エージェント500、502に対して、すべてのネットワークノードについて収集を行う。
【0053】
ネットワーク管理システム100は、SNMPマネージャ120により、それぞれの代表エージェント500、502に対し、その代表エージェントが管理するネットワークノードのリストと、全ての管理対象であるネットワークノードのリストとを設定する。
【0054】
各代表エージェント500、502は、その管理対象であるネットワークノードの管理情報を収集・蓄積する。ただし、各代表エージェント500、502は、障害情報以外の管理情報(性能情報等)については、その管理対象であるネットワークノードに対してのみ収集・蓄積を行う。一方、各代表エージェント500、502は、障害情報(運用状態情報等)については、管理対象ネットワーク200のすべてのネットワークノードに対して収集・蓄積を行う。又、管理対象である各ネットワークノードは、SNMP Trapを送信する際には、管理エージェント500、502を経由せずに、ネットワーク管理システム100のSNMPマネージャ120をSNMPマネージャとして動作する。
【0055】
図7は、本発明の実施形態におけるネットワーク接続状態の一例を示す図である。
【0056】
ある1個のルータで故障が発生した際に、管理エージェントによる監視を継続できなくなるネットワークノードの数について説明する。
【0057】
あるネットワークノードの監視を継続できなくなるのは、あるルータの故障により、そのネットワークノードが、管理エージェントとの接続の無いネットワークセグメントに位置することになる場合である。なぜなら、あるルータで故障が発生した後に、あるネットワークノードが、少なくとも1個の管理エージェントとのネットワーク接続を持つならば、そのネットワークノードは、その管理エージェントによる障害情報(運用状態情報等)の収集・蓄積により、監視が継続されるからである。
【0058】
例えば、
図7のネットワーク接続状態を示す図において、管理エージェントとして、サーバ1、2、6、7の4個が選択されていた場合を考える。この場合、あるルータで故障が発生すると、故障したルータ自体以外のネットワークノードの監視を継続できなくなるルータは、ルータ3、7、8、9、10、13、14の7個である。
【0059】
一方、例えば、
図3のネットワーク接続状態を示す図において、管理エージェントとして、サーバ1、3、4、7の4個が選択されていた場合を考える。この場合、あるルータで故障が発生すると、故障したルータ自体以外のネットワークノードの監視を継続できなくなるルータは、ルータ5、6、10、11の4個だけであり、より好適な管理エージェントが選択されている。
【0060】
これは、ネットワーク管理システム100が、管理エージェントをネットワークの各分岐先にある管理エージェント候補から優先して選択し(
図5のステップS215)、管理エージェントをネットワークのより遠くにある管理エージェント候補から優先して選択する(
図5のステップS225)ことにより、あるルータで故障が発生した際に、その故障箇所で分離された各ネットワークセグメントに管理エージェントが存在する可能性を高めているからである。
【0061】
図8は、本発明の実施形態におけるネットワーク接続状態の一例を示す図である。
図9は、本発明の実施形態における経路テーブルの一例を示す図である。
【0062】
ネットワーク管理システム100は、ネットワークの障害や構成変更を検知することができる。例えば、監視対象のネットワークノードは、自身に障害や構成変更が発生すると、ネットワーク管理システム100にSNMP Trapを送信する。又、管理エージェントは、その監視対象であるネットワークノードの障害情報(運用状態情報等)を収集して、障害や構成変更を検出した場合には、ネットワーク管理システム100にSNMP Trapを送信しても良い。又、ネットワーク管理システム100は、管理エージェントを経由して、監視対象のネットワークノードの障害情報(運用状態情報等)を監視しても良い。ネットワーク管理システム100は、ネットワークの障害や構成変更を検知すると、
図2及び
図5で説明した動作に従い、改めて管理エージェントを選択する。
【0063】
図8に示したネットワーク接続状態において、ルータ9が故障した場合を説明する。
図8に示したネットワーク接続状態において、
図2及び
図5のフローチャートに示した手順を実施すると、
図9に示した経路テーブルが得られる。尚、ここでは、指定数は4であったものとする。その結果、
図8のネットワーク接続状態を示す図において、破線で囲ったサーバが、管理エージェントとして選択される。
【0064】
図10は、本発明の実施形態におけるネットワーク接続状態の一例を示す図である。
図11は、本発明の実施形態における経路テーブルの一例を示す図である。
【0065】
図10に示したネットワーク接続状態において、ルータ9が故障しており、ルータ8とルータ14間の代替経路が有効になった場合を説明する。
図10に示したネットワーク接続状態において、
図2及び
図5のフローチャートに示した手順を実施すると、
図11に示した経路テーブルが得られる。尚、ここでは、指定数は4であったものとする。その結果、
図10のネットワーク接続状態を示す図において、破線で囲ったサーバが、管理エージェントとして選択される。
【0066】
図12は、本発明の実施形態におけるネットワーク接続状態の一例を示す図である。
図13は、本発明の実施形態における経路テーブルの一例を示す図である。
【0067】
図12に示したネットワーク接続状態において、
図3に示したネットワーク接続状態にルータ15を追加し、サーバ6への経路をルータ15を経由するように変更した場合を説明する。
【0068】
図12に示したネットワーク接続状態において、
図2及び
図5のフローチャートに示した手順を実施すると、
図11に示した経路テーブルが得られる。尚、ここでは、ルータ15を追加したので処理負荷が増加するため、指定数は5であったものとする。その結果、
図10のネットワーク接続状態を示す図において、破線で囲ったサーバが、管理エージェントとして選択される。ここで、各ノードの処理負荷が全て一定で、各サーバの処理能力も全て一定と仮定すれば、変更前の処理負荷が4サーバあたり21ノードであったのに対し、変更後の処理負荷が5サーバあたり22ノードに減少している。
【0069】
以上説明したように、本発明の実施形態におけるネットワーク管理システムは、管理エージェント専用の機器が不要であり、通信機器が増加した場合にも管理エージェントの処理負荷を動的に調整することができる。
【0070】
尚、ここでは、ネットワーク管理プロトコルとしてSNMPを用いた例を挙げたが、本実施の形態はこれに限らず、CMIP(Common Management Information Protocol)、WS−Management(Web Service for Management)等のネットワーク管理プロトコルを利用するネットワーク管理システムであっても良い。
【0071】
尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。