説明

監視システム、ネットワーク機器、監視情報提供方法およびプログラム

【課題】装置間の状態同期を効率的に行う監視システムを提供する。
【解決手段】イベントに基づいて管理情報を更新し、イベント情報およびシーケンス番号を含むイベント通知を送出し、イベント通知の情報を保存期間または上限数を設定して記憶部に保存し、シーケンス番号を含むイベント通知要求メッセージを受信すると、シーケンス番号に対応するイベント通知が保存されているか否かを調べ、保存されていれば、イベント通知を要求元に送信し、保存されていなければ、管理情報を読み出して要求元に送信するネットワーク機器と、監視情報をネットワーク機器毎に記憶し、イベント通知をネットワーク機器から受信すると、シーケンス番号が連続しているか否かを調べ、連続していないと、未着のイベント通知についてイベント通知要求メッセージをネットワーク機器に送信し、連続していると、受信したイベント通知に基づいて監視情報を更新する監視装置と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおける通信状態を監視するための監視システム、ネットワーク機器、監視情報提供方法、およびその方法をネットワーク機器に実行させるためのプログラムに関する。
【背景技術】
【0002】
ルータやハブなどのネットワーク機器を監視するシステムでは、一般的に、装置間の通信プロトコルとして機器監視用プロトコルであるSNMP(Simple Network Management Protocol)が使用されている。監視対象となるネットワーク機器と監視側(マネージャ側)となる監視装置の間で、ネットワーク機器の管理に関するデータがSNMPでやり取りされる。ネットワーク機器から監視装置に通知される情報として、ネットワーク機器に発生するイベント(事象)の情報がある。イベントとは、例えば、ネットワーク機器に起こった障害発生や状態変化などである。障害の発生にともなって装置状態が変化することから、以下では、状態変化が障害発生の場合も含むとする。
【0003】
ネットワーク機器は、イベントが発生すると、イベントの内容を示す情報であるイベント情報を通知するためのイベント通知を監視装置に対して行う。このイベント通知は「trap」と呼ばれている。ネットワーク機器にイベントが突発的に発生しても、監視装置は、ネットワーク機器からイベント通知を受け取ることで、ネットワーク機器の現在の状態を確認することが可能となる。
【0004】
しかし、SNMPは非接続型プロトコルのUDP(User Datagram Protocol)の上位プロトコルに相当するため、ネットワーク機器から監視装置宛に出されたイベント通知のデータ紛失が発生しても、ネットワーク機器および監視装置は、その現象を検知することができない。イベント通知が監視装置に届かなければ、監視装置が把握しているネットワーク機器の状態とネットワーク機器の実際の状態とが一致しない「状態不一致」が起きてしまう。
【0005】
この状態不一致の時間をできるだけなくすために、監視装置が、監視対象のネットワークに接続されたネットワーク機器の全ての状態を定期的に確認するためのポーリングを行うシステムの一例が知られている(特許文献1参照)。以下に、ポーリングを行う監視システムの構成例と動作について簡単に説明する。
【0006】
図8は監視システムの一構成例を示すブロック図である。図9は図8に示すネットワーク機器の一構成例を示すブロック図である。図8に示すように、監視装置500はネットワーク50を介して、ルータおよびハブ等のネットワーク機器600と接続される。ネットワーク機器600には、情報処理装置の端末40が接続される。ネットワーク機器600の数は2つに限らない。
【0007】
図9に示すように、ネットワーク機器600は、管理情報(Management Information Base:MIB)−DB(Data Base)を含む記憶部650と、機器制御部610とを有する。機器制御部610は、自装置の状態を監視する状態監視部620と、状態変化があるとMIBの情報を更新するMIB更新部630と、イベント通知を監視装置500に行う状態通知部640とを有する。
【0008】
図10は図8に示した監視システムの動作手順を示すシーケンス図である。ここでは、説明を簡単にするために、監視対象のネットワーク機器600が1つの場合とする。
【0009】
ネットワーク機器600の状態監視部620は、自装置の状態を監視し、イベントが発生すると、イベントによる状態変化をMIB更新部630に通知する(ステップ801)。MIB更新部630は、状態変化の情報を記憶部650のMIB−DBに反映させる(ステップ802)。状態通知部640は、MIB更新部630からCallbackを受けると(ステップ803)、イベント通知を監視装置500に行う(ステップ804)。以下では、説明が重複するので省略するが、ネットワーク機器600は状態変化があると、ステップ801からステップ803を実行し、イベント通知を監視装置500に行う(ステップ805、808、811、814)。
【0010】
また、ネットワーク機器600からのイベント通知とは他に、監視装置500は、次のようにして、定期的にネットワーク機器600の状態を確認する。監視装置500は、監視間隔をNsとすると、Ns時間毎に状態情報をネットワーク機器600に要求するものとする。
【0011】
監視装置500は、現在の状態情報を要求する旨のメッセージを含むGetRequestをネットワーク機器600に送信する(ステップ806)。ネットワーク機器600は、監視装置500からGetRequestを受信すると、現在の状態情報を含むGetResponseを監視装置500に送信する(ステップ807)。
【0012】
図10には、GetRequestの送信を破線で示し、GeResponseの送信を一点鎖線で示している。Ns時間毎に監視装置500とネットワーク機器600との間で、ステップ806およびステップ807と同様にして、要求と応答がやり取りされる(ステップ809、810、812、813)。
【0013】
図10に示す例では、ステップ811でネットワーク機器600から送出されたイベント通知がネットワーク50の途中で消失し、監視装置500に届いていない。そのため、監視装置500およびネットワーク機器600の間で状態不一致が生じる。
【0014】
ステップ812で、監視装置500がネットワーク機器600GetRequestを送信し、その応答としてネットワーク機器600からGetResponseを受信することで、監視装置500およびネットワーク機器600の間で状態が一致する。
【0015】
監視装置500は、ネットワーク機器600から受け取れなかったイベント通知があっても、GetResponseを受信することで、ネットワーク機器600の最新の状態情報を認識することができる。このようにして、不定期のイベント通知で状態情報を入手できなくても、定期のGetResponse受信時に状態情報を受信することで、上記の状態不一致の時間が長くなるのを抑制している。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2001−160013号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
ネットワークの規模が大きくなるにつれて監視対象となるネットワーク機器の数が多くなると、監視装置とネットワーク機器との間で定期的に送受信されるGetRequestおよびGetResponseの数も多くなり、ネットワーク上に流れるパケットの量が増加し、通信帯域を圧迫する。その結果、伝送中のパケットが消失する確率も増え、不定期のイベント通知または定期のGetResponseが監視装置に届かない「通知抜け」が発生しやすくなる。ネットワーク上に流れるパケットの量を低減するために、Ns時間を長くすると、通知抜けがあったとき、ネットワーク機器と監視装置との間で状態不一致になっている時間も長くなってしまう。
【0018】
特許文献1に開示された方法では、監視装置はポーリングにより通知抜けを検出し、通知抜けの再送をネットワーク機器に要求しているが、監視対象となる機器の増加に伴ってパケット量が増えるという上述の問題が解決しないだけでなく、ネットワーク機器はイベント通知の再送に備えて履歴を全て保存しておかなければならない。
【0019】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、装置間の状態同期を効率的に行う監視システム、ネットワーク機器、監視情報提供方法、およびその方法をネットワーク機器に実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0020】
上記目的を達成するための本発明の監視システムは、
監視項目に対応する管理情報が格納される記憶部と、自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、該イベントの情報であるイベント情報およびシーケンス番号を含むイベント通知をネットワークに送出し、送出したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、シーケンス番号の情報を含むイベント通知要求メッセージを受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、要求されたイベント通知が該記憶部に保存されている場合、該イベント通知を要求元に送信し、要求されたイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して要求元に送信する機器制御部とを含むネットワーク機器と、
前記イベント通知に含まれる前記イベント情報の履歴および最後に受信したイベント通知に含まれるシーケンス番号を含む監視情報を前記ネットワーク機器毎に記憶する記憶部と、前記イベント通知を前記ネットワークを介して前記ネットワーク機器から受信すると、該ネットワーク機器について最後に記録したシーケンス番号と該イベント通知に含まれるシーケンス番号とが連続しているか否かを調べ、これらの番号が連続していない場合、未着のイベント通知について前記イベント通知要求メッセージを前記ネットワーク機器に送信し、これらの番号が連続している場合、受信したイベント通知に基づいて前記監視情報を更新する制御部とを含む監視装置と、
を有する構成である。
【0021】
また、本発明のネットワーク機器は、
監視項目に対応する管理情報が格納される記憶部と、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、該イベントの情報であるイベント情報およびシーケンス番号を含むイベント通知をネットワークを介して監視装置に送信し、送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、要求されたイベント通知が該記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する機器制御部と、
を有する構成である。
【0022】
また、本発明の監視情報提供方法は、ネットワーク機器による監視情報提供方法であって、
監視項目に対応する管理情報を記憶部に格納し、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、
発生したイベントの情報であるイベント情報およびシーケンス番号を含むイベント通知を前記ネットワークを介して監視装置に送信し、
送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、
シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、
要求されたイベント通知が前記記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が前記記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信するものである。
【0023】
さらに、本発明のプログラムは、ネットワーク機器に実行させるためのプログラムであって、
監視項目に対応する管理情報を記憶部に格納し、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、
発生したイベントの情報であるイベント情報およびシーケンス番号を含むイベント通知を前記ネットワークを介して監視装置に送信し、
送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、
シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、
要求されたイベント通知が前記記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が前記記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する処理を前記ネットワーク機器に実行させるものである。
【発明の効果】
【0024】
本発明によれば、ネットワークに発生するデータ紛失を抑制するとともに、装置間の状態同期を効率的に行うことができ、通信帯域の有効利用を図れる。
【図面の簡単な説明】
【0025】
【図1】本実施形態の監視システムの一構成例を示すブロック図である。
【図2】図1に示したネットワーク機器の一構成例を示すブロック図である。
【図3】図2に示した機器制御部の動作手順を示すフローチャートである。
【図4】図1に示した監視装置の一構成例を示すブロック図である。
【図5】図4に示した監視装置の動作手順を示すフローチャートである。
【図6】本実施形態の監視システムの動作手順を示すシーケンス図である。
【図7】本実施形態の監視システムによる別の動作手順を示すシーケンス図である。
【図8】関連する監視システムの一構成例を示すブロック図である。
【図9】図8に示すネットワーク機器の一構成例を示すブロック図である。
【図10】図8に示した監視システムの動作手順を示すシーケンス図である。
【発明を実施するための形態】
【0026】
本実施形態の監視システムについて説明する。なお、本実施形態では、本発明に関連する、ネットワーク機器の管理方法について詳しく説明するものとし、ネットワーク機器が通常行うパケット転送処理についての詳細な説明を省略する。
【0027】
図1は本実施形態の監視システムの一構成例を示すブロック図である。図1に示すように、監視装置10とネットワーク機器20はネットワーク60を介して接続される。ネットワーク機器20の状態を監視するための情報として、監視装置10とネットワーク機器20との間で予め監視項目が決められている。監視装置10が、監視項目の情報をネットワーク機器20から入手することで、ネットワーク機器20の状態を把握するためである。監視項に関して、ネットワーク機器20から応答する情報が、イベント情報および状態情報のいずれかに相当する。本実施形態では、監視項目が複数決められているものとする。複数のネットワーク機器20がネットワーク60に接続されていれば、ネットワーク機器毎に異なる監視項目が決められていてもよい。
【0028】
また、監視項目が複数ある場合には、ネットワーク機器20の状態を把握する上で、複数の監視項目が重要度を基準にしてランク付けされていてもよい。例えば、3段階にランク付けする場合、最も重要な監視項目を優先度1とし、次に重要な監視項目を優先度2とし、重要でない監視項目を優先度3とするランク付けを行う。優先度は、複数の監視項目のうちいずれの監視項目に対応する情報を要求するかを示す情報に相当する。優先度1の場合の最も重要な監視項目は、ネットワーク機器のステータスやアラームなど、機器全体を把握する上で重要な項目である。以下では、複数の監視項目が決められているものとして、そのうち最も重要な監視項目を優先度1とする。
【0029】
なお、図1では、監視対象となるネットワーク機器20が1つの場合を示しているが、その数は1つに限らず、2つ以上あってもよい。以下では、説明を簡単にするために、ネットワーク機器20が1つの場合で説明する。また、ネットワーク機器20には、通常、図8に示したように端末40が接続されるが、端末40の動作は本発明に直接関連しないため、図に示すことを省略している。
【0030】
次に、ネットワーク機器20の構成について説明する。図2は図1に示したネットワーク機器の一構成例を示すブロック図である。ネットワーク機器20は、ルータおよびハブなどの通信機器である。
【0031】
図2に示すように、ネットワーク機器20は、記憶部25と、機器制御部21とを有する。記憶部25には、MIB−DBに保存される情報に相当するMIB情報と、イベント通知の履歴の情報であるtrap履歴情報とが格納される。MIB情報は、監視項目に対応して状態情報を含んでいる。
【0032】
trap履歴情報は、イベント通知に対応するシーケンス番号および状態情報を含む情報であり、イベント通知毎に記憶部25に記録される。シーケンス番号は、通知すべきイベント毎に機器制御部21で生成される番号であり、イベント通知毎に異なる番号である。trap履歴情報の保存期間は、監視装置10とネットワーク機器20の仕様により予め決められている。保存期間を監視システムのユーザが設定してもよい。
【0033】
本実施形態では、イベント通知が行われた時刻を基準にした所定の保存期間でtrap履歴情報を管理する。例えば、保存期間が24時間であると、2009年×月×日の午後2時に行われたイベント通知は次の日の午後2時に記憶部25から消去される。イベント通知が行われた時刻を基準にした保存期間で管理する場合、trap履歴情報を記憶部25に格納する際、イベント通知が行われた時刻の情報もイベント通知に対応して記録される。
【0034】
なお、trap履歴情報の保存を時間で管理してもよいが、保存するtrap履歴情報の数に上限を設けて、保存数で管理してもよい。以下では、trap履歴情報を保存期間で管理し、その保存期間を24時間として説明する。
【0035】
機器制御部21は、状態監視部22、MIB管理部23およびSNMP処理部24を有する。また、機器制御部21は、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とを有する。CPUがプログラムを実行することで、状態監視部22、MIB管理部23およびSNMP処理部24がネットワーク機器20に仮想的に構成される。機器制御部21のメモリ(不図示)には、ネットワーク機器毎に異なる識別子である機器識別子が格納されている。
【0036】
以下では説明を省略するが、IPパケットにおけるヘッダのように、ネットワーク機器20から監視装置10宛に送信されるメッセージおよび情報の全てに、送信元となるネットワーク機器の機器識別子が添付されている。監視装置10はこの機器識別子で特定される装置がそれらのメッセージや情報の送信元であることを認識する。また、説明を省略するが、ヘッダと同様に、送信先を示す識別子もメッセージや情報に添付されているものとする。
【0037】
図2に示した機器制御部21の状態監視部22は、装置の状態を監視し、イベントが発生すると、イベント情報をMIB管理部23に通知する。
【0038】
MIB管理部23は、状態監視部22からイベント情報を受け取ると、記憶部25に登録されたMIB情報と異なっているか否かを調べ、登録された状態情報とイベント情報とが異なっている場合、MIB情報を新しい状態情報に更新するとともに、SNMP処理部24にCallbackし、SNMP処理部24から応答があると、通知すべきイベント情報をSNMP処理部24に渡す。一方、登録された状態情報とイベント状態とが異なっていない場合、MIB情報の更新を行わず、SNMP処理部24へのCallbackも行わない。
【0039】
また、MIB管理部23は、SNMP処理部24からイベント通知に関する情報を受け取ると、そのイベント通知に関するtrap履歴情報を記憶部25に格納する。そして、trap履歴情報を管理し、保存期間の過ぎたtrap履歴情報を記憶部25から消去する。
【0040】
また、MIB管理部23は、SNMP処理部24からシーケンス番号の情報を受け取ると、そのシーケンス番号のイベント通知がtrap履歴情報として保存されているか否かを調べる。対象となるイベント通知がtrap履歴情報として保存されている場合、MIB管理部23は、そのイベント通知をSNMP処理部24に渡す。一方、調査対象となるイベント通知がtrap履歴情報として保存されていない場合、MIB管理部23は、MIB情報から監視項目について最新の情報を読み出してSNMP処理部24に渡す。
【0041】
SNMP処理部24は、監視装置10との間でSNMPにしたがってデータをやり取りする。SNMP処理部24は、MIB管理部23からCallbackを受けると、MIB管理部23に応答し、MIB管理部23からイベント情報を受け取ると、イベント通知の連番としてシーケンス番号を生成し、機器識別子、シーケンス番号およびイベント情報を含むイベント通知を監視装置10に対して行う。その際、SNMP処理部24は、1つの監視項目のイベント情報に対して1つのイベント通知を行う。イベント通知後、イベント通知に関する情報をMIB管理部23に通知する。
【0042】
また、SNMP処理部24は、シーケンス番号およびそのシーケンス番号のイベント通知を要求する旨の情報を含むGetRequestを受信すると、シーケンス番号をMIB管理部23に渡す。再送対象のイベント通知をMIB管理部23から受け取ると、再送対象のイベント通知に含まれるイベント情報およびシーケンス番号と新たに生成したシーケンス番号の情報を含むGetResponseを監視装置10に送信する。一方、監視項目の情報をMIB管理部23から受け取ると、新たに生成したシーケンス番号および監視項目の情報を含むGetResponseを監視装置10に送信する。
【0043】
なお、MIB管理部23は、SNMP処理部24から受け取ったシーケンス番号のイベント通知がtrap履歴情報として保存されていない場合、その旨をSNMP処理部24に通知し、SNMP処理部24は、要求されたイベント通知を再送できない旨の情報を含むGetResponseを監視装置10に送信してもよい。この場合、その後に、SNMP処理部24は、優先度の情報を含むGetRequestを監視装置10から受信すると、優先度の情報をMIB管理部23に渡す。MIB管理部23は、SNMP処理部24から優先度に関する情報を受け取ると、優先度に対応する監視項目の情報をMIB情報から読み出してSNMP処理部24に渡す。SNMP処理部24は、優先度に対応する監視項目の情報に新たなシーケンス番号を添付したGetResponseを監視装置10に送信する。
【0044】
図3のフローチャートを参照して、機器制御部21の動作の概略を説明する。機器制御部21は、シーケンス番号を含むGetRequestを監視装置10から受信すると、そのシーケンス番号を読み出し(ステップ301)、そのシーケンス番号のイベント通知に関するtrap履歴情報が記憶部25に保存されているか否かを調べる(ステップ302)。
【0045】
ステップ301で読み出したシーケンス番号のtrap履歴情報が保存されている場合、機器制御部21は、そのイベント通知を監視装置10に再送する(ステップ303)。その際、そのイベント通知に新たなシーケンス番号を付与する。これは、もし再送したイベント通知が監視装置10に届かなかったときに、新たに付与したシーケンス番号を手掛かりにして、再送したイベント通知が監視装置10に届かなかったことを両方の装置が認識できるようにするためである。一方、ステップ301で読み出したシーケンス番号のtrap履歴情報が保存されていない場合、機器制御部21は、MIB情報から監視項目について最新の情報を読み出し、読み出した情報と新たなシーケンス番号を含むGetResponseを監視装置10に送信する(ステップ304)。
【0046】
次に、監視装置10の構成を説明する。図4は図1に示した監視装置の一構成例を示すブロック図である。
【0047】
監視装置10は、記憶部15および制御部11を有する情報処理装置である。監視装置10は、例えば、パーソナルコンピュータ(以下では、PCと表記する)である。制御部11は、プログラムにしたがって処理を実行するCPU(不図示)と、プログラムを格納するためのメモリ(不図示)とを有する。メモリ(不図示)には、監視装置10を特定するための識別子である装置識別子が格納されている。
【0048】
以下では説明を省略するが、IPパケットのヘッダのように、監視装置10からネットワーク機器20宛に送信されるメッセージおよび情報の全てに、送信元の装置を示す情報として監視装置10の装置識別子が添付され、送信先の装置を示す情報としてネットワーク機器20の機器識別子が添付されている。
【0049】
記憶部15には、ネットワーク機器20の監視に関する情報である監視情報の履歴がネットワーク機器毎に格納される。監視情報の履歴には、監視項目に対応する情報の履歴と、ネットワーク機器20の機器識別子と、シーケンス番号の履歴の情報であるシーケンス番号履歴情報とが含まれている。シーケンス番号履歴情報には、最後に受け取ったイベント通知のシーケンス番号の情報が少なくとも含まれている。
【0050】
制御部11の動作を、図5を参照して説明する。制御部11は、ネットワーク機器20からイベント通知を受けると、機器識別子とシーケンス番号をイベント通知から読み出す(ステップ501)。そして、読み出した機器識別子で特定される監視情報の履歴内のシーケンス番号履歴情報を参照し、イベント通知に含まれる番号が連続であるか否かを調べる(ステップ502)。
【0051】
ステップ502で、イベント通知に含まれるシーケンス番号が最後に記録されたシーケンス番号と連続である場合、制御部11は、イベント通知に抜けがないと判断し、受信したイベント通知に含まれるイベント情報を監視情報の履歴内に記録し、監視項目に対応する情報を更新する(ステップ503)。一方、イベント通知に含まれるシーケンス番号が最後に記録されたシーケンス番号と不連続である場合、制御部11は、イベント通知に抜けがあると判断し、未着のイベント通知をその送信元のネットワーク機器20に要求する。具体的には、イベント通知に含まれるシーケンス番号と最後に記録されたシーケンス番号との間のシーケンス番号の情報を含むGetRequestをネットワーク機器20に送信する(ステップ504)。
【0052】
また、ステップ504の後、制御部11は、要求されたイベント通知を再送できない旨の情報を含むGetResponseをネットワーク機器20から受信すると、優先度の情報を含むGetRequestをネットワーク機器20に送信する。
【0053】
制御部11は、再送のイベント通知の情報を含むGetResponseをネットワーク機器20から受け取ると、再送のイベント通知の情報を監視情報の履歴に記録し、監視項目に対応する情報の履歴とシーケンス番号履歴情報を更新する。一方、制御部11は、監視項目に対応する情報を含むGetResponseをネットワーク機器20から受信すると、その情報を監視情報の履歴に記録する。優先度にあてはまる監視項目に対応する情報を受信した場合も同様である。制御部11が、監視項目に対応する情報として最新の情報をネットワーク機器20から入手することで、ネットワーク機器20の状態情報がネットワーク機器20と監視装置10との間で一致する状態同期となる。
【0054】
次に、本実施形態の監視システムの動作を説明する。図6は本実施形態の監視システムの動作手順を示すシーケンス図である。ここでは、イベント通知の抜けに対して、イベント通知の再送を行うことでカバー可能な場合とする。図6に示すSNMP処理部24の時間軸に沿って表示される数字はシーケンス番号である。
【0055】
ネットワーク機器20の状態監視部22は、装置の状態を監視し、イベントが発生すると、イベント情報をMIB管理部23に通知する(ステップ601)。MIB管理部23は、状態監視部22からイベント情報を受け取ると、記憶部25に登録されたMIB情報と異なっているか否かを調べ、登録された状態情報とイベント情報とが異なっていると、MIB情報を新しい状態情報に更新する(ステップ602)。続いて、MIB管理部23は、SNMP処理部24にCallbackし、SNMP処理部24から応答があると、通知すべきイベント情報をSNMP処理部24に渡す(ステップ603)。
【0056】
SNMP処理部24は、MIB管理部23からイベント情報を受け取ると、イベント通知の連番としてシーケンス番号を生成し、機器識別子、シーケンス番号およびイベント情報を含むイベント通知を監視装置10に対して行う(ステップ604)。図6では、イベント通知を「trap(×)」で表記している。( )内の数字はシーケンス番号である。SNMP処理部24は、trap(1)のイベント通知後、イベント通知に関する情報をMIB管理部23に通知する。MIB管理部23は、SNMP処理部24からイベント通知に関する情報を受け取ると、そのイベント通知に関するtrap履歴情報を記憶部25に格納する。
【0057】
その後、ネットワーク機器20は、通知すべきイベントが発生する度に、ステップ601からステップ603と同様の処理を実行し、シーケンス番号2から5のそれぞれのイベント通知を監視装置10に対して行う(ステップ605〜608)。監視装置10は、ネットワーク機器20から受けるイベント通知に対して、シーケンス番号が連続番号であるか否かを判定し、問題がなければ、イベント通知に含まれるイベント情報にしたがって監視情報を更新する。
【0058】
ステップ607で実行されたイベント通知がネットワーク60の途中で消滅し、監視装置10に届かなかった。監視装置10は、trap(5)のイベント通知をネットワーク機器20から受け取ったときに、イベント通知に含まれるシーケンス番号「5」と最後に記録したシーケンス番号「3」とからシーケンス番号が不連続であると判定し、シーケンス番号「4」のイベント通知を受け取っていないと認識する。そして、監視装置10は、シーケンス番号「4」およびそのイベント通知を要求する旨の情報を含むGetRequestをネットワーク機器20に送信する(ステップ609)。
【0059】
ネットワーク機器20のSNMP処理部24は、シーケンス番号の情報を含むGetRequestを監視装置10から受信すると、シーケンス番号をMIB管理部23に渡す(ステップ610)。MIB管理部23は、SNMP処理部24からシーケンス番号の情報を受け取ると、そのシーケンス番号のイベント通知がtrap履歴情報として保存されているか否かを調べる(図3のステップ302)。対象となるイベント通知が記憶部25にtrap履歴情報として保存されていると、MIB管理部23は、そのイベント通知を記憶部25から読み出し(ステップ611)、読み出したイベント通知をSNMP処理部24に渡す(ステップ612)。
【0060】
SNMP処理部24は、再送対象のイベント通知をMIB管理部23から受け取ると、要求されたイベント通知を再送する旨の情報を含むGetResponseを監視装置10に送信する(ステップ613)。続いて、SNMP処理部24は、元のイベント通知trap(4)に新たなシーケンス番号「6」を添付したイベント通知である再送イベント通知を監視装置10に対して行う(ステップ614)。監視装置10は、イベント通知trap(4)の再送イベント通知をネットワーク機器20から受け取ると、イベント通知trap(4)からイベント情報を読み出す。続いて、読み出した情報を監視情報に書き込んで監視情報の履歴を更新することで、ネットワーク機器20と状態合わせを行う(ステップ615)。
【0061】
このようにして、監視装置が再送イベント通知をネットワーク機器から受け取ることで、イベント通知の抜けがカバーされ、監視装置とネットワーク機器とが状態同期になる。
【0062】
次に、本実施形態の監視システムの別の動作を説明する。図7は本実施形態の監視システムの別の動作手順を示すシーケンス図である。ここでは、イベント通知の抜けに対して、イベント通知の再送でカバーできない場合とする。また、監視装置10が優先度1の情報をネットワーク機器20に通知して、監視装置10に通知すべき監視項目を指定する場合とする。優先度1の監視項目は、n(nは1以上の自然数)個あるものとする。図7に示すSNMP処理部24の時間軸に沿って表示される数字はシーケンス番号である。
【0063】
ネットワーク機器20は、通知すべきイベントが発生する度に、図6で説明したステップ601からステップ603と同様の処理を実行し(ステップ701からステップ703)、シーケンス番号1から100のそれぞれのイベント通知を監視装置10に対して行う(ステップ704〜708)。監視装置10は、ネットワーク機器20から受けるイベント通知に対して、シーケンス番号が連続番号であるか否かを判定し、問題がなければ、イベント通知に含まれるイベント情報にしたがって監視情報を更新する。
【0064】
ステップ707で実行された複数のイベント通知(trap(4)〜trap(99))がネットワーク60の途中で消滅し、監視装置10に届かなかった。監視装置10は、trap(100)のイベント通知をネットワーク機器20から受け取ったときに、イベント通知に含まれるシーケンス番号「100」と最後に記録したシーケンス番号「3」とからシーケンス番号が不連続であると判定し、シーケンス番号「4」から「99」のそれぞれのイベント通知を受け取っていないと認識する。そして、監視装置10は、未着のイベント通知の再送を要求するために、4から99までのシーケンス番号およびそのイベント通知を要求する旨の情報を含むGetRequestをネットワーク機器20に送信する(ステップ709)。
【0065】
その際、未着のイベント通知のシーケンス番号をネットワーク機器20に通知するための方法として、通知すべきシーケンス番号の最小値となる「4」と最大値となる「99」の情報をGetRequestに含ませればよいものとする。通知すべきシーケンス番号が3つ以上ある場合には、この方法を用いることで、4から99の全てのシーケンス番号の情報をGetRequestに含ませる必要がない。
【0066】
ネットワーク機器20のSNMP処理部24は、シーケンス番号の情報を含むGetRequestを監視装置10から受信すると、最小値「4」と最大値「99」のシーケンス番号をMIB管理部23に渡す(ステップ710)。MIB管理部23は、SNMP処理部24からシーケンス番号の情報を受け取ると、最小値「4」のシーケンス番号のイベント通知がtrap履歴情報として保存されているか否かを調べる(図3のステップ302に相当)。複数のイベント通知について保存されているか否かを調べる際、最小値のシーケンス番号について調べるのは、それより大きい番号のイベント通知を再送できるか否かをすぐに判定できるからである。
【0067】
MIB管理部23は、シーケンス番号「4」のイベント通知trap(4)が履歴に保存されていないと認識すると(ステップ711)、要求されたイベント通知を再送できない旨をSNMP処理部24に通知する(ステップ712)。SNMP処理部24は、イベント通知を再送できない旨をMIB管理部23から通知されると、その旨の情報を含むGetResponseを監視装置10に送信する(ステップ713)。
【0068】
監視装置10は、要求されたイベント通知を再送できない旨の情報を含むGetResponseをネットワーク機器20から受信すると、優先度1の情報を含むGetRequestをネットワーク機器20に送信する(ステップ714)。ネットワーク機器20のSNMP処理部24は、GetRequestを監視装置10から受信すると、優先度1の情報をGetRequestから読み出してMIB管理部23に渡す(ステップ715)。MIB管理部23は、優先度1の情報をSNMP処理部24から受け取ると、優先度1のn個の監視項目のそれぞれに対応する情報をMIB情報から読み出し(ステップ716)、読み出した情報をSNMP処理部24に渡す(ステップ717)。
【0069】
SNMP処理部24は、優先度1のn個の監視項目のそれぞれに対応する情報をMIB管理部23から受け取ると、優先度1に関する情報を送信する旨の情報を含むGetResponseを監視装置10に送信する(ステップ718)。続いて、SNMP処理部24は、1番目からn番目の監視項目のそれぞれに対応する情報に対して、新たなシーケンス番号101から(100+n)のそれぞれを添付したイベント通知(trap(101)〜trap(100+n))を生成して監視装置10に順に送信する(ステップ719)。監視装置10は、イベント通知(trap(101)〜trap(100+n))をネットワーク機器20から順に受信すると、それぞれのイベント通知から監視項目に対応する情報を読み出す。続いて、読み出した情報を監視情報に書き込んで監視情報の履歴を更新することで、ネットワーク機器20と状態合わせを行う(ステップ720)。
【0070】
このようにして、監視装置が所定の監視項目に対応する情報について最新の情報をネットワーク機器から受け取ることで、イベント通知の抜けがカバーされ、監視装置とネットワーク機器とが状態同期になる。
【0071】
なお、本実施形態では、シーケンス番号4のイベント通知の履歴が記憶部25に残っていない場合を説明したが、シーケンス番号4からから99のイベント通知の全てが記憶部25に残っている場合、96(=99−4+1)の値がnより大きいと、再送イベント通知の数が優先度1の監視項目に対応する情報を送出するイベント通知の数を上回ることになる。この場合、再送イベント通知を行わずに、優先度1に関するイベント通知を行ってもよい。このようにすることで、ネットワーク60に伝送されるパケットの量を抑制することができる。つまり、再送イベント通知の数に再送すべきか否かの基準となる閾値を予め設け、再送イベント通知の数が閾値を越える場合、ネットワーク機器は再送イベント通知を行わず、MIB情報から読み出した情報を監視装置に送信する。
【0072】
本実施形態では、ポーリングを行わず、イベント発生時にイベント通知を行うだけなので、ネットワーク上に流れるパケットの量を低減でき、通信帯域の圧迫によるデータ紛失が抑制される。たとえイベント通知の抜けがあっても、監視装置は、シーケンス番号の履歴から通知抜けを検出し、イベント通知の再送をネットワーク機器に要求することが可能となる。ネットワーク機器側では、再送要求のイベント通知がイベント通知履歴情報として保存されていれば、そのイベント通知を監視装置に再送し、再送要求のイベント通知が保存されていなければ、監視項目の情報をMIB情報から読み出して監視装置に送信する。イベント通知履歴情報の保存量を制限することで、ネットワーク機器側の負荷が軽減する。その結果、監視装置と監視対象となるネットワーク機器との間の状態同期を効率的に行うことができ、通信帯域の有効利用を図れる。
【符号の説明】
【0073】
10 監視装置
20 ネットワーク機器
11 制御部
21 機器制御部
15、25 記憶部
60 ネットワーク

【特許請求の範囲】
【請求項1】
監視項目に対応する管理情報が格納される記憶部と、自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、該イベントの情報であるイベント情報およびシーケンス番号を含むイベント通知をネットワークに送出し、送出したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、シーケンス番号の情報を含むイベント通知要求メッセージを受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、要求されたイベント通知が該記憶部に保存されている場合、該イベント通知を要求元に送信し、要求されたイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して要求元に送信する機器制御部とを含むネットワーク機器と、
前記イベント通知に含まれる前記イベント情報の履歴および最後に受信したイベント通知に含まれるシーケンス番号を含む監視情報を前記ネットワーク機器毎に記憶する記憶部と、前記イベント通知を前記ネットワークを介して前記ネットワーク機器から受信すると、該ネットワーク機器について最後に記録したシーケンス番号と該イベント通知に含まれるシーケンス番号とが連続しているか否かを調べ、これらの番号が連続していない場合、未着のイベント通知について前記イベント通知要求メッセージを前記ネットワーク機器に送信し、これらの番号が連続している場合、受信したイベント通知に基づいて前記監視情報を更新する制御部とを含む監視装置と、
を有する監視システム。
【請求項2】
前記制御部は、
未着のイベント通知が複数あることを認識すると、複数の未着のイベント通知のうちシーケンス番号の最小値および最大値の情報を含む第1のイベント通知要求メッセージを前記ネットワーク機器に送信し、
前記機器制御部は、
前記第1のイベント通知要求メッセージを前記監視装置から受信すると、該メッセージに含まれる2つのシーケンス番号のうち小さいシーケンス番号のイベント通知が前記ネットワーク機器の記憶部に保存されているか否かを判定し、判定対象のイベント通知が該記憶部に保存されている場合、前記小さいシーケンス番号からもう一方のシーケンス番号までのそれぞれのイベント通知を前記監視装置に再送し、前記判定対象のイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する、請求項1記載の監視システム。
【請求項3】
前記ネットワーク機器の記憶部に複数の監視項目のそれぞれに対応する管理情報が格納され、
前記制御部は、
前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記ネットワーク機器に送信し、
前記機器制御部は、
前記第2のイベント通知要求メッセージを前記監視装置から受信すると、前記管理情報を該監視装置に送信する際、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項1または2記載の監視システム。
【請求項4】
前記ネットワーク機器の記憶部に複数の監視項目のそれぞれに対応する管理情報が格納され、
前記制御部は、
前記第1のイベント通知要求メッセージの他に、前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記ネットワーク機器に送信し、
前記機器制御部は、
前記第1および第2のイベント通知要求メッセージを前記監視装置から受信し、前記第1のイベント通知要求メッセージによって要求される複数のイベント通知が前記ネットワーク機器の記憶部に保存されていると、前記第2のイベント通知要求メッセージに含まれる優先度が示す監視項目の数と前記第1のイベント通知要求メッセージに応答する再送対象のイベント通知の数とを比較し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも大きい場合、該再送対象のイベント通知を前記監視装置に再送し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも小さい場合、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項2記載の監視システム。
【請求項5】
監視項目に対応する管理情報が格納される記憶部と、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、該イベントの情報であるイベント情報およびシーケンス番号を含むイベント通知をネットワークを介して監視装置に送信し、送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、要求されたイベント通知が該記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する機器制御部と、
を有するネットワーク機器。
【請求項6】
前記機器制御部は、
2つのシーケンス番号の情報を含む第1のイベント通知要求メッセージを前記監視装置から受信すると、該2つのシーケンス番号のうち小さいシーケンス番号のイベント通知が前記記憶部に保存されているか否かを判定し、判定対象のイベント通知が該記憶部に保存されている場合、前記小さいシーケンス番号からもう一方のシーケンス番号までのそれぞれのイベント通知を前記監視装置に再送し、前記判定対象のイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する、請求項5記載のネットワーク機器。
【請求項7】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報が格納され、
前記機器制御部は、
前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信すると、前記管理情報を該監視装置に送信する際、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項5または6記載のネットワーク機器。
【請求項8】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報が格納され、
前記機器制御部は、
前記第1のイベント通知要求メッセージ、および前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信し、前記第1のイベント通知要求メッセージによって要求される複数のイベント通知が前記記憶部に保存されていると、前記第2のイベント通知要求メッセージに含まれる優先度が示す監視項目の数と前記第1のイベント通知要求メッセージに応答する再送対象のイベント通知の数とを比較し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも大きい場合、該再送対象のイベント通知を前記監視装置に送信し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも小さい場合、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項6記載のネットワーク機器。
【請求項9】
ネットワーク機器による監視情報提供方法であって、
監視項目に対応する管理情報を記憶部に格納し、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、
発生したイベントの情報であるイベント情報およびシーケンス番号を含むイベント通知を前記ネットワークを介して監視装置に送信し、
送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、
シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、
要求されたイベント通知が前記記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が前記記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する、監視情報提供方法。
【請求項10】
2つのシーケンス番号の情報を含む第1のイベント通知要求メッセージを前記監視装置から受信すると、該2つのシーケンス番号のうち小さいシーケンス番号のイベント通知が前記記憶部に保存されているか否かを判定し、
判定対象のイベント通知が前記記憶部に保存されている場合、前記小さいシーケンス番号からもう一方のシーケンス番号までのそれぞれのイベント通知を前記監視装置に再送し、前記判定対象のイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する、請求項9記載の監視情報提供方法。
【請求項11】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報を格納し、
前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信すると、前記管理情報を該監視装置に送信する際、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項9または10記載の監視情報提供方法。
【請求項12】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報を格納し、
前記第1のイベント通知要求メッセージ、および前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信し、前記第1のイベント通知要求メッセージによって要求される複数のイベント通知が前記記憶部に保存されていると、前記第2のイベント通知要求メッセージに含まれる優先度が示す監視項目の数と前記第1のイベント通知要求メッセージに応答する再送対象のイベント通知の数とを比較し、
比較の結果、前記優先度が示す監視項目の数が前記再送対象のイベント通知の数よりも大きい場合、該再送対象のイベント通知を前記監視装置に送信し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも小さい場合、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項10記載の監視情報提供方法。
【請求項13】
ネットワーク機器に実行させるためのプログラムであって、
監視項目に対応する管理情報を記憶部に格納し、
自装置にイベントが発生すると、該イベントに基づいて前記管理情報を更新し、
発生したイベントの情報であるイベント情報およびシーケンス番号を含むイベント通知を前記ネットワークを介して監視装置に送信し、
送信したイベント通知の情報を保存期間または上限数を設定して前記記憶部に保存し、
シーケンス番号の情報を含むイベント通知要求メッセージを前記監視装置から受信すると、該シーケンス番号で特定されるイベント通知が前記記憶部に保存されているか否かを調べ、
要求されたイベント通知が前記記憶部に保存されている場合、該イベント通知を前記監視装置に再送し、要求されたイベント通知が前記記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する処理を前記ネットワーク機器に実行させるためのプログラム。
【請求項14】
2つのシーケンス番号の情報を含む第1のイベント通知要求メッセージを前記監視装置から受信すると、該2つのシーケンス番号のうち小さいシーケンス番号のイベント通知が前記記憶部に保存されているか否かを判定し、
判定対象のイベント通知が前記記憶部に保存されている場合、前記小さいシーケンス番号からもう一方のシーケンス番号までのそれぞれのイベント通知を前記監視装置に再送し、前記判定対象のイベント通知が該記憶部に保存されていない場合、前記管理情報を読み出して前記監視装置に送信する、請求項13記載のプログラム。
【請求項15】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報を格納し、
前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信すると、前記管理情報を該監視装置に送信する際、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項13または14記載のプログラム。
【請求項16】
前記記憶部に複数の監視項目のそれぞれに対応する管理情報を格納し、
前記第1のイベント通知要求メッセージ、および前記複数の監視項目のうちいずれの監視項目の管理情報を要求するかを示す優先度の情報を含む第2のイベント通知要求メッセージを前記監視装置から受信し、前記第1のイベント通知要求メッセージによって要求される複数のイベント通知が前記記憶部に保存されていると、前記第2のイベント通知要求メッセージに含まれる優先度が示す監視項目の数と前記第1のイベント通知要求メッセージに応答する再送対象のイベント通知の数とを比較し、
比較の結果、前記優先度が示す監視項目の数が前記再送対象のイベント通知の数よりも大きい場合、該再送対象のイベント通知を前記監視装置に送信し、該優先度が示す監視項目の数が該再送対象のイベント通知の数よりも小さい場合、該優先度が示す監視項目の前記管理情報を該監視装置に送信する、請求項14記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−205234(P2010−205234A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−53176(P2009−53176)
【出願日】平成21年3月6日(2009.3.6)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】