説明

ネットワーク管理システム、管理装置、被管理装置、及びネットワーク管理方法

【課題】
管理装置と被管理装置とを有するネットワーク管理システムにおいて、ネットワークへの負荷を必要以上にかけず、また、管理装置の処理負荷を低減させる、SNMPトラップ抜けの防止方法を提供することを課題とする。
【解決手段】
上記課題を解決するために、被管理装置は、トラップ情報に連続したシーケンス番号を付加して管理装置に送信すると共に、送信したトラップを送信トラップ格納手段に格納する。管理装置は、一定期間毎に、受信したトラップ情報から、被管理装置毎に、シーケンス番号が抜けているトラップのシーケンス番号と、最後に受信したトラップのシーケンス番号とを含むトラップリストを作成し、被管理装置に送信する。被管理装置は、受信したトラップリストを用いて再送信する必要があるトラップの有無を判定し、再送信の必要があるトラップ情報を再送信するトラップリスト処理手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置及び被管理装置がネットワークに接続されたネットワーク管理システムに関する。
【背景技術】
【0002】
従来から、サーバシステムやネットワークシステム等における管理システムでは、SNMP(Simple Network Management Protocol)が広く利用されている。SNMPを使用したネットワーク管理システムは、例えば、ネットワークを介して互いに接続された被管理装置と管理装置とを有し、被管理装置におけるイベント発生時には、被管理装置から管理装置に対してイベント情報としてのSNMPトラップを送信することにより、管理装置にイベントを通知する。
【0003】
しかし、SNMPトラップはUDP(User Datagram Protocol)による通信方式で通信されるが、UDPによる通信方式では通信経路の確立を行なわないため、SNMPトラップが損失する可能性がある。すなわち、SNMPトラップの損失によって、管理装置が被管理装置からのイベント通知を確認できないおそれがある。そのため、SNMPトラップの損失を防止する技術が考えられている。
【0004】
図12は、SNMPトラップ抜けを防止する技術の一例を説明する図である。図12の例では、管理装置20と被管理装置40とが通信ネットワーク10を介して接続されている。ここで、通信ネットワーク10は、LAN(Local Area Network)やWAN(Wide Area Network)等の通信回線である(以下、同じ)。
【0005】
図12の例では、被管理装置40が管理装置20へSNMPトラップを送信した場合、管理装置20から被管理装置40へ応答を返すことにより、SNMPトラップ抜けを防止する。被管理装置40がSNMPトラップを管理装置20へ送信した際に、何らかの理由により通信ネットワーク10上で送信したSNMPトラップが損失したものとして説明する。
【0006】
被管理装置40は、SNMPトラップを送信した後、一定時間、管理装置20からの応答を待つ。一定時間が経過しても管理装置20からの応答が返って来ない場合、すなわち、タイムアウトした場合、被管理装置40は、送信済みのSNMPトラップと同じSNMPトラップを再度管理装置20へ送信する。管理装置20が、被管理装置40から再送信されたSNMPトラップを受信すると、SNMPトラップを受信した旨のトラップ応答(SetRequest)を被管理装置40に返送する。そして、トラップ応答を受信した被管理装置40が、管理装置20へトラップ応答に対する応答(GetResponse)を返送して、一連のトラップ送受信処理が完了する。
【0007】
このように、図12に示す例では、SNMPトラップを送信した被管理装置40が、一定時間管理装置20からの応答を待ち、その一定時間内に応答が返らないときにはSNMPトラップを再送信することにより、SNMPトラップ抜けを防止するものである。
【0008】
図13は、図12の例とは異なるSNMPトラップ抜けを防止する技術の例を説明する図である。図13に示す例では、被管理装置40がSNMPトラップを送信する際に、トラップ情報に連続したシーケンス番号を付加し、トラップを受信した管理装置20側でシーケンス番号に抜けがないかを確認する。シーケンス番号に抜けがあった場合には、管理装置20は、被管理装置40に対して損失したトラップを再送信するように要求する。
【0009】
図13の例において、被管理装置40からシーケンス番号1及び2の2つのSNMPトラップを送信した際に、シーケンス番号1のトラップが通信ネットワーク10上で損失したものとする。この場合、管理装置20では、シーケンス番号1のトラップを受信することなくシーケンス番号2のトラップを受信するので、シーケンス番号1のトラップが抜けていることが分かる。従って、管理装置20は、シーケンス番号1のトラップについて、被管理装置40へ再送要求を出し、損失したシーケンス番号1のトラップを再送させる。
【0010】
なお、上記方法だと、あるトラップを受信して、その受信したトラップ以前のトラップの抜けを検出する。そのため、被管理装置40から送信した最終トラップが通信ネットワーク10上で損失してしまった場合(例えば、図13におけるシーケンス番号3のトラップ)、最終トラップの損失を検出することはできない。
【0011】
この問題を解決するための方法としては、管理装置20が最後に受信したトラップの受信時刻から一定期間経過した場合に、管理装置20から被管理装置40に対して、被管理装置40が最後に送信したトラップのシーケンス番号を問い合わせる。そして、管理装置20が受信した最後のトラップのシーケンス番号と、被管理装置40が最後に送信したトラップのシーケンス番号が一致しない場合、管理装置20は、最終トラップの損失が発生したことを知り、損失した最終トラップの再送を被管理装置40へ要求する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平8−331206号公報
【特許文献2】特開平9−247146号公報
【特許文献3】特開2003−244142号公報
【特許文献4】特開2001−160013号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
前述の通り、従来技術では、管理装置20と被管理装置40との間で、トラップの送信が行われる度に、通信ネットワーク10を介してトラップの送受信に関する確認及び応答が行われる。しかし、トラップ抜けが発生するような状況では、通信ネットワーク10に輻輳が発生している場合が多い。このような場合、上述の従来技術では、トラップの送信の度にトラップ応答の送信や再送要求の送信等を行うため、通信ネットワーク10の輻輳状態をさらに悪化させてしまい、さらなるトラップの損失を発生させてしまうという問題がある。
【0014】
また、被管理装置の数が例えば数百台や数千台といった数まで増加してくると、管理装置20でトラップ受信のたびに再送要否の判断や再送要求を行う処理方法では、管理装置20側の負荷が大きく、処理が追いつかなくなってしまうという問題もある。
【0015】
そのため、本発明では、通信ネットワーク10への負荷を必要以上にかけず、かつ、管理装置20の処理負荷も低減できるトラップ抜けの防止を図ることを課題とする。
【課題を解決するための手段】
【0016】
管理装置及び被管理装置がネットワークに接続されたネットワーク管理システムにおいて、前記被管理装置は、連続したシーケンス番号を付加したトラップ情報を前記管理装置に送信する送信手段と、管理装置に送信したトラップ情報を格納する送信トラップ格納手段とを備える。
【0017】
前記管理装置は、前記被管理装置から受信したトラップ情報を格納する受信トラップ格納手段と、前記受信トラップ格納手段に格納されたトラップ情報から、抜けたシーケンス番号に対応するトラップ情報のシーケンス番号である未受信トラップ番号と、最後に被監視装置から受信したトラップ情報のシーケンス番号とを有するトラップリストを被管理装置毎に作成するトラップリスト処理手段と、前記トラップリスト処理手段により作成したトラップリストを対応する被管理装置に送信する、トラップリスト送信手段とを備える。
【0018】
前記管理装置から送信されたトラップリストを受信した被管理装置は、前記送信トラップ格納手段に格納された送信済みのトラップ情報と、管理装置から受信したトラップリストとに基づいて、再送信する必要があるトラップ情報の有無を判定し、再送信の必要があるトラップ情報を管理装置に再送信するトラップリスト処理手段を備える。
【発明の効果】
【0019】
上記課題解決手段により、管理装置と被管理装置とを有する、SNMPを使用したネットワーク管理システムにおいて、通信ネットワークへの負荷を必要以上にかけることなく、被管理装置から送信するSNMPトラップの抜けを防止するための再送信機能が得られる。また、被管理装置の数が増加した場合においても、管理装置の処理負荷を低減することが可能となる。
【図面の簡単な説明】
【0020】
【図1】図1は、実施例に係るシステム構成例を示す。
【図2】図2は、実施例に係る管理装置の構成例を示す。
【図3】図3は、実施例に係る被管理装置の構成例を示す。
【図4】図4は、実施例に係るSNMPトラップの再送シーケンスの例を示す。
【図5】図5は、実施例に係る被管理装置から管理装置へのSNMPトラップ送信処理フローの例を示す。
【図6】図6は、実施例に係るSNMPトラップリストの送受信及びSNMPトラップの再送処理のフローの例を示す。
【図7】図7は、被管理装置のSNMPトラップ送信処理フローの例を示す。
【図8】図8は、管理装置でのSNMPトラップ受信処理フローの例を示す。
【図9】図9は、管理装置のトラップリスト作成処理からトラップリスト送信までのフローの例を示す。
【図10】図10は、図9のフローの続きの部分を示す。
【図11】図11は、被管理装置のトラップリスト受信からSNMPトラップ再送処理までのフローの例を示す。
【図12】図12は、従来技術に係るSNMPトラップ抜けを防止する技術の例を示す。
【図13】図13は、従来技術に係るSNMPトラップ抜けを防止する技術の例を示す。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態について詳細に説明する。
【0022】
図1は、実施例に係るシステム構成例を示す。図1の構成例では、管理装置20と、複数の被管理装置40〜42が通信ネットワーク10を介して接続されている。ここで、被管理装置としては、被管理装置40〜42の3つが描かれているが、被管理装置の数は3つに限られない。
【0023】
図1に示すように、管理装置20は、SNMP処理部30と、トラップ管理部31と、トラップリスト作成部32と、トラップリスト送信部33と、受信トラップデータベース(DB)34とを有する。また、被管理装置40は、SNMP処理部50と、シーケンス番号付加部51と、トラップリスト処理部52と、トラップ管理部53と、送信トラップDB54とを有する。以下、図2を用いて実施例に係る管理装置の構成例を説明し、また、図3を用いて実施例に係る被管理装置の構成例を説明する。
【0024】
図2は、実施例に係る管理装置の構成例を示す。管理装置20は、通信ネットワーク10に接続される被管理装置の管理を行う装置であり、前述の通り、SNMP処理部30と、トラップ管理部31と、トラップリスト作成部32と、トラップリスト送信部33と、受信トラップデータベース(DB)34とを有する。
【0025】
受信トラップDB34は、被管理装置から受信したトラップを被管理装置毎に格納するためのデータベースである。受信トラップDB34には、各被管理装置(40〜42)から送られてきたトラップに関する、発生日時、シーケンス番号、メッセージ内容等のトラップ情報200が格納される。また、これらの情報に加えて、各被管理装置からトラップを受信した時刻を合わせて受信トラップDB34に格納するようにしてもよい。
【0026】
SNMP処理部30は、SNMPトラップの受信又は送信の各処理を行う。トラップ管理部31は、被管理装置から受信したトラップについて、受信トラップDB34への格納、受信トラップDB34からの読み出し、受信トラップDB34に格納されたトラップ情報の検索等を行う。
【0027】
トラップリスト作成部32は、一定期間毎に、受信トラップDB34に格納されたトラップ情報に関するリストであるトラップリスト300を作成する。ここで、トラップリスト300には、被管理装置毎に、一定期間内に管理装置20が受信していないトラップのシーケンス番号、すなわち、受信したトラップのシーケンス番号に抜けがある場合の抜けている番号が記録される。また、トラップリスト300には、最後に受信したトラップのシーケンス番号も記録される。トラップリスト送信部33は、トラップリスト作成部32で作成したトラップリストを被管理装置に送信する。
【0028】
被管理装置40は、図3に示すようにSNMP処理部50と、シーケンス番号付加部51と、トラップリスト処理部52と、トラップ管理部53と、送信トラップDB54とを有する。各被管理装置はほぼ同様の構成を有するので、被管理装置の構成については、被管理装置40を例に説明する。
【0029】
送信トラップDB54は、管理装置へ送信したSNMPトラップの情報である送信済みトラップ情報400を格納しておくデータベースである。送信トラップDB54には、管理装置へ送信したトラップに関する、発生日時、シーケンス番号、メッセージ内容等を有する送信済みトラップ情報400が格納される。
【0030】
SNMP処理部50は、SNMPトラップの送信又は受信の各処理を行う。シーケンス番号付加部51は、管理装置20へ送信するSNMPトラップに連続したシーケンス番号を付加する。トラップ管理部53は、管理装置20へ送信したトラップについて、送信トラップDB54への格納、送信トラップDB54からの読み出し、送信トラップDB54に格納されたトラップ情報の検索等を行う。
【0031】
トラップリスト処理部52は、管理装置20から受信したトラップリスト300から、トラップ抜けによる再送が必要なトラップがあるか否かの判断を行い、必要に応じてSNMP処理部50にトラップの再送を指示する。

図1〜図3に示すような構成を有するネットワーク管理システムでは、管理装置20に一定期間毎に、被管理装置ごとにトラップリスト作成部32によりトラップリスト300を作成し、作成したトラップリスト300を対応する被管理装置へ送信する。被管理装置毎に作成されるトラップリスト300には、所定の期間内に管理装置20が受信できなかったトラップのシーケンス番号、及び、最後に被管理装置から受信したトラップのシーケンス番号に関する情報が含まれる。被管理装置40〜42は、トラップリスト処理部52により、管理装置から受信したトラップリスト300の情報と送信トラップDB54に格納された情報とに基づいて、管理装置に再送信する必要があるトラップがあるか否かを判断する。そして、被管理装置40〜42は、再送信する必要があるトラップを管理装置20へ再送信する。
【0032】
このような方式を採ることにより、従来行われていたような、SNMPトラップを送信する度に行われていた管理装置と被管理装置との間のSNMPトラップ受信に関する応答や、最終トラップのシーケンス番号通知要求・応答等の処理が不要となる。言い換えれば、図1〜図3のネットワーク管理システムでは、通信ネットワーク10への負荷を減らすことができる。また、従来技術では、SNMPトラップの再送信が必要か否かを管理装置で判断していたが、実施例ではこの判断を各々の被管理装置に行わせることにより、被管理装置の台数が増加した場合の管理装置の負荷低減を図ることが可能となる。

以下、図4に実施例に係るSNMPトラップの再送シーケンス図の例を示し、この例における被管理装置40及び管理装置20の各処理について図5及び図6を用いて説明する。
【0033】
図4は、実施例に係るSNMPトラップの再送シーケンスの例を示した図である。具体的には、図4は、被管理装置40から、シーケンス番号1〜10の10個のSNMPトラップを管理装置20へ送信しようとした場合に、シーケンス番号2とシーケンス番号10のSNMPトラップが通信ネットワーク10上で損失した場合の例を示す。
【0034】
被管理装置40がシーケンス番号10までのSNMPトラップを送信したものとする。管理装置20は、前回被管理装置40に対するトラップリスト300の作成を行なって一定期間が経過した特定のタイミングで、被管理装置40に対するトラップリスト300の作成を行う。管理装置20は、前回のトラップリスト300の作成時点以降に被管理装置40から受信したSNMPトラップの情報に基づいてトラップリスト300を作成し、被管理装置40に送信する。被管理装置40は、管理装置20から送信されたトラップリスト300の内容を確認し、シーケンス番号が2と10のSNMPトラップが管理装置20に到達しなかったことを認識し、これら管理装置に到達しなかったSNMPトラップを再送する。

図5は、図4の例における被管理装置40から管理装置20へのSNMPトラップ送信処理、及び管理装置20でのSNMPトラップの受信処理の流れを示す。
【0035】
被管理装置40では、何らかのエラー、ハードウェアに対するリセット等の制御、あるいは、装置状態の変化等によってトラップ送信要因が発生する。被管理装置40でトラップ送信要因が発生すると(図5(A))、シーケンス番号付加部51は、発生した要因に応じて生成されたトラップに対して一連のシーケンス番号を付加する。シーケンス番号付加部51によりシーケンス番号が付加されたトラップは、SNMP処理部50により管理装置20へ送信される(図5(B))。また、SNMP処理部50により管理装置20に送信されたトラップは、トラップ管理部53により、被管理装置40の送信トラップDB54に格納される(図5(C))。
【0036】
管理装置20では、SNMP処理部30が被管理装置40から送信されたSNMPトラップを受信する。被管理装置40から受信したトラップは、トラップ管理部31により、被管理装置毎に受信トラップDB34に格納される(図5(D))。
【0037】
このようにして、被管理装置40の送信トラップDB54や管理装置20の受信トラップDB34に、被管理装置毎のトラップ情報が記録されていく。しかし、被管理装置40が送信したSNMPトラップが通信ネットワーク10の輻輳などにより管理装置20まで到達しなかった場合には、管理装置20側の受信トラップDB34には、該当するトラップ情報が記録されないことになる(図5(E)の「Trap(No.2)」)。

図6は、管理装置20でのトラップリスト300の作成、送信処理、及び、被管理装置40でのトラップリスト300の受信ならびにトラップの再送処理の流れを示す。
【0038】
管理装置20は、定期的に、例えば1時間毎に、トラップリスト作成処理を実行する。トラップリスト作成処理が開始されると、トラップリスト作成部32は、トラップ管理部31を通して受信トラップDB34を検索し、一定期間内(ここでは、1時間以内)に受信したトラップのうち、受信していないトラップ、すなわち、シーケンス番号が抜けているトラップのシーケンス番号を抽出する。トラップリスト作成部32はまた、被管理装置40から最後に受信したトラップのシーケンス番号を抽出する。そして、これらの抽出したシーケンス番号の情報から、トラップリスト300を作成する(図6(A))。図6の例では、被管理装置40がNo.10のシーケンス番号までのトラップを送信している状態で、トラップリスト作成部32が、未受信トラップ番号No.2及び最終トラップ番号No.9をトラップリスト300に記録する。作成したトラップリスト300は、トラップリスト送信部33により、対応する被管理装置、この場合、被管理装置40に送信される(図6(B))。
【0039】
被管理装置40では、トラップリスト処理部52によりトラップリスト300を受信する(図6(C))。受信したトラップリスト300には、管理装置20で未受信のトラップがある場合には、その未受信のトラップのシーケンス番号が記載される。そのため、トラップリスト300の未受信トラップ番号の欄に、シーケンス番号2が記載されている場合には、トラップリスト処理部52は、SNMP処理部50に、シーケンス番号2のトラップを再送するように指示し(図6(C))、管理装置20に未到達となったトラップNo.2を再送する(図6(D))。
【0040】
また、トラップリスト処理部52は、トラップ管理部53を通して送信トラップDB54から被管理装置40が送信した最終トラップのシーケンス番号を取得する(図6(E))。送信トラップDB54から取得した送信済み最終トラップのシーケンス番号と、管理装置20から受信したトラップリスト300に含まれている最終トラップのシーケンス番号とを比較する。これらのシーケンス番号を比較した結果、トラップリスト300の最終トラップのシーケンス番号の方が小さい場合には、「トラップリスト300の最終トラップのシーケンス番号+1」のシーケンス番号から管理装置20に送信した最終のシーケンス番号までのトラップを再送するようSNMP処理部50に指示し、再送処理を行う(図6(F))。図6では、トラップリスト300の最終トラップのシーケンス番号に1を加えた番号(No.9+1)で、かつ、被管理装置40が最後に送信した番号であるNo.10が再送処理の対象となる。

ところで、上述のように管理装置20が、定期的にトラップリスト300を作成する場合、管理装置20がトラップリストを作成中、あるいは作成直後に、被管理装置40からSNMPトラップが送信される場合があり得る。このような場合、被管理装置40から最後に送信されたSNMPトラップのシーケンス番号が、トラップリスト300の最終トラップ番号として反映されないことになる。そうすると、被管理装置40がトラップリスト300を受信した際に、トラップリスト300に記録された最終トラップ番号と、被管理装置40が送信した最後のトラップのシーケンス番号とが一致しないので、被管理装置40は、最後のトラップを再送信することになる。すなわち、被管理装置40が最後に送信したトラップと同じ内容のトラップが2つ管理装置に送信されることになる。
【0041】
しかし、管理装置20が同じ内容のトラップを2つ受信したとしても、被管理装置40から送信されたトラップが損失する訳ではないので、特に問題とはならない。管理装置20が同じシーケンス番号のトラップを2通受信した場合、管理装置20は、例えば、最初に受信した方のトラップを削除してもよいし、2つのトラップを受信トラップDB34に残しておいて、いずれか一方のトラップを使用するようにしてもよい。
【0042】
また、上述のように管理装置20が定期的にトラップリスト300を作成して、各被管理装置に送信する際、SNMPトラップと同様にUDPによる通信方式で送信すると、トラップリスト300自体も通信ネットワーク10上で損失してしまう可能性が出てくる。管理装置20から送信されたトラップリスト300が通信ネットワーク10上で損失して、被管理装置40に到達しない場合には、被管理装置から送信したSNMPトラップに抜けがあっても、この抜けを被管理装置が検出することができなくなってしまう。従って、管理装置20から被管理装置40へ送信するトラップリスト300については、確実に送信できるプロトコル、例えば、TCP(Transmission Control Protocol)を用いて送信するとよい。TCPを用いると、送信データを確実に送信するための確認応答及び再送を行うので、確実にトラップリスト300を送信することが可能となる。TCPを用いずにUDPによる通信方式を用いてトラップリスト300を送信する場合には、管理装置20から送信したトラップリスト300が被管理装置40に届いたか否かを確認するための確認応答及び再送の処理を行うようにすればよい(不図示)。

以下、被管理装置40及び管理装置20における各処理のフローについて図7〜図11を用いて説明する。
【0043】
図7は、被管理装置40におけるSNMPトラップ送信処理フローの例を示す。被管理装置40は、装置内の何らかの要因によりトラップ送信要因の発生を検知すると(S100)、発生した要因に応じて生成されたトラップに対してシーケンス番号付加部51によりシーケンス番号を付加する(S101)。そして、被管理装置40のSNMP処理部50は、シーケンス番号を付加したSNMPトラップを管理装置20へ送信し(S102)、送信したSNMPトラップの情報(発生日時、シーケンス番号、メッセージ内容等)をトラップ管理部53を通して送信トラップDB54に格納する(S103)。
【0044】
図8は、管理装置20でのSNMPトラップ受信処理フローの例を示す。管理装置20は、被管理装置40から送信されたSNMPトラップを受信すると(S110)、受信したトラップを、送信元の被管理装置ごとに受信トラップDB34に格納して記録する(S111)。

図9及び図10は、管理装置20のトラップリスト300の作成処理からトラップリスト300の送信までのフローの例を2つの図面に分けて示した図である。図9の“A”の部分と図10の“A”の部分はフローにおける同じ箇所であるものとする。
【0045】
管理装置20は、定期的に、図9及び図10に示すフロー例のように、被管理装置ごとにトラップリスト300を作成する。具体的には、まず、図9のS120と図10のS145で囲まれたループ1において、1から被管理装置の台数分まで順にループ変数"X"(“X”は正の整数)に値を設定して、順次、被管理装置を選択する。
【0046】
ループ変数“X”に特定の値が設定されて被管理装置が選択されると、選択された被管理装置に対応する未受信トラップのシーケンス番号のうち最小の番号である「最小未受信トラップ番号」を、受信トラップDB34に格納された情報から取得する。そして、取得した“X”番目の被管理装置の最小未受信トラップ番号を、変数“MinTrapNo”に設定する(S121)。ここで、変数“MinTrapNo”は、トラップリスト300の作成において用いる受信トラップDB34に格納されたトラップ情報のシーケンス番号のうち、最も小さい値のシーケンス番号である。
【0047】
なお、各被管理装置に対する最小未受信トラップ番号は、あらかじめ適切な値に初期化しておく。ここでいう適切な値とは、管理装置が稼動を開始する時点において各被管理装置が次に使用するトラップのシーケンス番号をいい、管理装置及び被管理装置が同時に稼動開始するような場合には、通常は1を設定する。最小未受信トラップ番号は、図2の受信トラップDB34の所定の領域に、被管理装置ごとに格納するようにしてもよいし、その他の特定のメモリやレジスタ等に格納してもよい。
【0048】
変数“MinTrapNo”への最小未受信トラップ番号の設定(S121)が行われた後、受信トラップDB34に格納された受信トラップ情報の中から、変数“MinTrapNo”の値に対応したシーケンス番号以上の受信トラップ情報を抽出する(S122)。S122で抽出した受信トラップ情報が0件である場合(S123 Yes)、すなわち、“X”番目の被管理装置からまだトラップを受信していない場合、変数“LastNo”に(MinTrapNo−1)の値(ここでは、“0”)を設定する(S124)。ここで、変数“LastNo”は、トラップリスト300の作成において用いる受信トラップDB34に格納されたトラップ情報のシーケンス番号のうち、最も大きい値のシーケンス番号である。そして、トラップリスト300を初期化し(S125)、図10のS140の処理へ進む。
【0049】
S122で抽出した最小未受信トラップ番号よりもシーケンス番号が大きい受信トラップ情報が0件でない場合(S123 No)、すなわち、“X”番目の被管理装置から受信したトラップが存在する場合、S126以降の処理に進む。S126の処理では、S122で抽出した受信トラップ情報に含まれるシーケンス番号で昇順に受信トラップ情報をソートしたソート済みリストを作成する(S126)。ソート済みリストの内容としては、受信トラップ情報に含まれる情報のうち、シーケンス番号に関する情報のみを抜き出して昇順にソートした内容とすることができる。
【0050】
S126でソート済みリストが作成されると、ソート済みリストの最後のシーケンス番号を、変数“LastNo”に設定する(S127)。そして、S121で設定した“MinTrapNo”の値を、変数“CurrentNo”に設定し(S128)、トラップリスト300の内容を初期化する(S129)。ここで、変数“CurrentNo”は、S126で作成したソート済みリストに含まれるシーケンス番号に抜けがないか否かを確認するために用いる変数である。
【0051】
次に、S130とS138で囲まれたループ2において、ループ変数“i”を1からソート済みリストの最後まで、すなわち、ソート済みリストに含まれるリスト数まで、順次、1ずつ増加させながらS131〜S137の処理を実行していく。S131〜S137の処理では、以下に説明するように、S126で作成したソート済みリストに含まれる一連のシーケンス番号に抜けがないかを確認していく。
【0052】
S131の処理では、ループ変数“i”の値の分だけ、すなわち、S130でのループ回数の増加分だけ、ソート済みリストの最初から数えた位置にあるリストのシーケンス番号を、変数“SortNo”に設定する(S131)。そして、S131で設定したシーケンス番号の値と、“CurrentNo”に設定されたシーケンス番号の値が一致するか否かを判断する(S132)。ここで、被管理装置から受信したSNMPトラップに抜けがあった場合、すなわち、通信ネットワーク10等においてSNMPトラップが損失してしまった場合には、S132での比較結果は一致しないことになる。
【0053】
S132で比較した結果が一致していた場合には(S132 Yes)、S133の処理に進んで、変数“CurrentNo”の値を1だけ増加させる。そして、S138のループ2の最後に進み、再度S130に戻ってループ変数“i”を1増加させて、ソート済みリストの次のシーケンス番号の抜けを確認する。
【0054】
S132で比較した結果が不一致、すなわち、未受信トラップが存在する場合(S132 No)、S134以降の処理へ進む。S134とS136で囲まれたループ3では、未受信トラップのシーケンス番号、すなわち、ソート済みリストから抜けているシーケンス番号を未受信トラップ番号としてトラップリスト300に記録する。具体的には、ループ3のループ変数“n”を“CurrentNo”から(SortNo−1)まで順に増加させつつ(S134)、変数“n”の値を未受信トラップ番号として、トラップリスト300に追加していく(S135)。
【0055】
抜けているシーケンス番号をトラップリスト300に追加した後(S134〜S136)、“CurrentNo”に(SortNo+1)を設定し(S137)、S138を介して再度ループ2の初め(S130)に戻って、現状のSortNoの次のシーケンス番号に抜けがないかを確認していく。
【0056】
S130〜S138でソート済みリストに含まれる全てのシーケンス番号に抜けがないか否かを確認した後は、図10のS140の処理に進む。S140では、変数“LastNo”をソート済みリストに含まれる最終トラップのシーケンス番号としてトラップリスト300に記録する。S140の処理が完了すると、ループ変数“X”の値により特定される被管理装置へ送信すべきトラップリスト300の作成が完了するので、作成したトラップリスト300をループ変数“X”の値により特定される被管理装置へ送信する(S141)。
【0057】
ところで、S122で最小未受信トラップ番号のシーケンス番号まで遡って、受信トラップ情報を抽出した理由としては、過去に被管理装置が再送信したトラップ情報がある場合に、その再送信したトラップ情報が正しく受信されたか否かを確認するためである。すなわち、被管理装置から送信されたトラップのうち、通信ネットワーク10等で損失したトラップがある場合に、管理装置20から送信したトラップリスト300により、被管理装置が損失したトラップを正しく再送信したか否かを確認するためである。
【0058】
そのため、作成したトラップリスト300内に未受信トラップ番号が無い場合には、「最小未受信トラップ番号」に、現時点以降に受信するトラップに対応するシーケンス番号に設定しておけばよい。具体的には、作成したトラップリスト300内に未受信トラップ番号がない場合には(S143 No)、(LastNo+1)を“X”番目の被管理装置の最小未受信トラップ番号として、受信トラップDB34等の所定の格納場所に記録する(S143)。また、作成したトラップリスト300内に未受信トラップ番号が存在する場合には(S143 Yes)、作成したトラップリスト300内の未受信トラップ番号のうち、一番小さい番号を“X”番目の被管理装置の最小未受信トラップ番号として、所定の格納場所に記録する(S144)。S143又はS144で記録した最小未受信トラップ番号は、次にトラップリスト300を作成する際のMinTrapNoとして使用される。このようにトラップリスト300を作成する度に、未受信トラップ番号を更新していくようにすることで、管理装置20が定期的に調査すべき受信トラップ情報を最小限に抑えることができ、管理装置20の処理負荷を軽減することが可能となる。
【0059】
尚、被管理装置から受信するトラップの数が多くないことが予め分かっているような場合等においては、S142〜S144での最小未受信トラップ番号の更新処理を省略して、最小未受信トラップ番号を初期値のままにしておき、管理装置20の処理を簡略化してもよい。
【0060】
S143又はS144の処理で最小未受信トラップ番号が更新されると、“X”番目の被管理装置に対するトラップリスト300の作成及び送信処理が完了する。その後、S145を介して再度S120のループ1の初めに戻り、ループ変数“X”の値を1増加させて、次の被管理装置に関するトラップリスト300の作成及び送信を行う。そして、全ての被管理装置についてのトラップリスト300の作成及び送信が完了すると、図9及び図10の一連の処理が完了する。

図11は、被管理装置のトラップリスト300の受信からSNMPトラップ再送処理までのフローの例を示す。すなわち、図11は、図9の一連の処理により作成されたトラップリスト300が被管理装置へ送信された後の、被管理装置側での処理フローの例を示した図である。
【0061】
管理装置20から被管理装置にトラップリスト300が送信されると、被管理装置内のトラップリスト処理部52が、管理装置20から送られてきたトラップリスト300を受信する(S150)。そして、トラップリスト処理部52は、受信したトラップリスト300に記録された未受信トラップ番号の情報から、未受信トラップ番号の一覧を作成する(S151)。
【0062】
次に、S152とS155で囲まれたループ1において、S151で作成した未受信トラップ番号の一覧の先頭から最後までのそれぞれのシーケンス番号に関して、S153及びS154の処理を行う。具体的には、未受信トラップ番号ごとに、送信トラップDB54から、未受信トラップ番号に対応したトラップ情報を取り出し(S153)、取り出したトラップ情報をSNMP処理部50により管理装置20へ再送信する(S154)。
【0063】
S151で作成した未受信トラップ番号の一覧に含まれる全てのシーケンス番号について、対応するトラップを管理装置20へ再送信した後は、被管理装置から送信した最終トラップを含む一連のトラップについて再送する必要があるか否かを判定する(S156〜S162)。
【0064】
具体的には、変数“LastNo”にトラップリスト300に含まれる最終トラップのシーケンス番号を設定する(S156)。また、変数“SendNo”に、被管理装置が最後に送信したトラップのシーケンス番号を設定する(S157)。そして、これらの変数“LastNo”と“SendNo”に設定されたシーケンス番号どうしを比較し(S158)、比較した結果が一致すれば(S158 Yes)、被管理装置が最後に送信したトラップが管理装置に到達していることになるので、図11の一連の処理を終了する。
【0065】
S158の比較結果が不一致の場合(S158 No)、被管理装置から送信した最終トラップを含む一連のトラップが管理装置20に到達していないと考えられるため、S159〜S162の処理によって、未到達となっているトラップを再送信する。すなわち、S159とS162で囲まれたループ2において、ループ変数“k”を(LastNo+1)からSendNoまで順に「1」増加させながら、S160及びS161の処理を行う。具体的には、変数“k”で示されるシーケンス番号に対応したトラップについて、送信トラップDB54から取り出し(S160)、S160で取り出したトラップ情報を管理装置へ再送信する(S161)。
【0066】
S162において、ループ2のループ変数“k”の値がSendNoに一致すると、全ての再送信すべきトラップを送信し終えたことになるので、図11の一連の処理が完了する。

以上に述べた管理装置及び被管理装置の機能、構成により、SNMPを使用したネットワーク管理システムにおいて、通信ネットワークへの負荷を必要以上にかけることなく、通信ネットワークを介して送信されるSNMPトラップの抜けを防止することが可能となる。また、被管理装置の数が増加した場合においても、管理装置の処理負荷を低減することが可能となる。
【0067】
尚、管理装置及び被管理装置の各々は、CPU、メモリ、記憶装置、通信ネットワークのインターフェース回路等を有し、上記図7〜図11の各フローに示される処理は、管理装置及び被管理装置内のCPUにより実行される。尚、これら各処理は、管理装置及び被管理装置内のCPUに替えて、各処理を実行するためのハードウェア回路により行うようにしてもよい。
【0068】
前記受信トラップ情報200、トラップリスト300、送信済みトラップ情報400、及び上記各処理を行うためのプログラムは、管理装置及び被管理装置内の記憶装置やメモリ等に格納され、各々の装置内のCPUにより実行される。これらの情報やプログラムは、コンピュータが読み取り可能な記録媒体に格納するようにしてもよい。
【産業上の利用可能性】
【0069】
本発明は、ネットワークに接続された管理装置及び被管理装置をSNMPを利用して管理するネットワーク管理システムに利用することができる。
【符号の説明】
【0070】
10 通信ネットワーク
20 管理装置
30 SNMP処理部
31 トラップ管理部
32 トラップリスト作成部
33 トラップリスト送信部
34 受信トラップDB
40〜42 被管理装置
50 SNMP処理部
51 シーケンス番号付加部
52 トラップリスト処理部
53 トラップ管理部
54 送信トラップDB
200 被管理装置から受信したトラップ情報
300 トラップリスト
400 送信済みトラップ情報



【特許請求の範囲】
【請求項1】
管理装置及び被管理装置がネットワークに接続されたネットワーク管理システムであって、
前記被管理装置は、連続したシーケンス番号を付加したトラップ情報を前記管理装置に送信する送信手段と、
管理装置に送信したトラップ情報を格納する送信トラップ格納手段とを備え、
前記管理装置は、
前記被管理装置から受信したトラップ情報を格納する受信トラップ格納手段と、
前記受信トラップ格納手段に格納されたトラップ情報から、抜けたシーケンス番号に対応するトラップ情報のシーケンス番号である未受信トラップ番号と、最後に被監視装置から受信したトラップ情報のシーケンス番号とを有するトラップリストを被管理装置毎に作成するトラップリスト処理手段と、前記トラップリスト処理手段により作成したトラップリストを対応する被管理装置に送信する、トラップリスト送信手段とを備え、
前記管理装置から送信されたトラップリストを受信した被管理装置が、前記送信トラップ格納手段に格納された送信済みのトラップ情報と、管理装置から受信したトラップリストとに基づいて、再送信する必要があるトラップ情報の有無を判定し、再送信の必要があるトラップ情報を管理装置に再送信するトラップリスト処理手段を備える
ことを特徴とするネットワーク管理システム。
【請求項2】
前記トラップリスト処理手段は、一定期間毎に前記トラップリストを作成することを特徴とする請求項1記載のネットワーク管理システム。
【請求項3】
前記管理装置は、被管理装置毎に、抜けたシーケンス番号に対応するトラップ情報のシーケンス番号のうち、最小のシーケンス番号である最小未受信トラップ番号を記録する記録手段を備え、
前記管理装置のトラップリスト処理手段は、前記記録手段に記録された被管理装置の最小未受信トラップ番号に係るシーケンス番号以上のシーケンス番号を有するトラップ情報に対して、シーケンス番号の抜けがあるか否かを判定してトラップリストを作成することを特徴とする請求項1又は2のいずれか一つに記載のネットワーク管理システム。
【請求項4】
前記管理装置のトラップリスト処理手段は、
被管理装置毎に作成するトラップリストに含まれる未受信トラップ番号のうち最も小さい未受信トラップ番号を、該トラップリストに対応する被管理装置についての新たな最小未受信トラップ番号として前記記録手段に記録する
ことを特徴とする請求項3記載のネットワーク管理システム。
【請求項5】
前記管理装置のトラップリスト処理手段は、
被管理装置毎に作成するトラップリストに未受信トラップ番号がない場合に、被管理装置から受信したトラップ情報のシーケンス番号のうち、一番大きいシーケンス番号に続くシーケンス番号を、該トラップリストに対応する被管理装置についての新たな最小未受信トラップ番号として前記記録手段に記録する
ことを特徴とする請求項3記載のネットワーク管理システム。
【請求項6】
ネットワークに接続された被管理装置を管理する管理装置であって、
前記被管理装置から受信したトラップ情報を格納する受信トラップ格納手段と、
前記受信トラップ格納手段に格納されたトラップ情報から、抜けたシーケンス番号に対応するトラップ情報のシーケンス番号である未受信トラップ番号と、最後に被監視装置から受信したトラップ情報のシーケンス番号とを有するトラップリストを被管理装置毎に作成するトラップリスト処理手段と、
前記トラップリスト処理手段により作成したトラップリストを対応する被管理装置に送信する、トラップリスト送信手段とを備え、
前記トラップリスト送信手段により被管理装置毎に送信したトラップリストにより、前記被管理装置に再送信する必要があるトラップ情報があるか否かを判定させ、再送信の必要があるトラップ情報を再送信させる
ことを特徴とする管理装置。
【請求項7】
ネットワークに接続された管理装置にトラップ情報を送信する被管理装置であって、
連続したシーケンス番号を付加したトラップ情報を前記管理装置に送信する送信手段と、
送信したトラップ情報を格納する送信トラップ格納手段と、
前記管理装置から送信された、前記管理装置が受信したトラップ情報の中で抜けたシーケンス番号に対応するトラップ情報のシーケンス番号である未受信トラップ番号と前記管理装置が最後に被管理装置から受信したトラップ情報のシーケンス番号とを有するトラップリストを受信し、前記送信トラップ格納手段に格納された送信済みのトラップ情報と受信したトラップリストとに基づいて再送信する必要があるトラップ情報の有無を判定し、再送信の必要があるトラップ情報を管理装置に再送信するトラップリスト処理手段と
を有することを特徴とする被管理装置。
【請求項8】
ネットワークに接続された被管理装置を管理装置により管理するネットワーク管理方法であって、
前記被管理装置に、連続したシーケンス番号を付加したトラップ情報を前記管理装置に送信する送信工程と、送信したトラップ情報を送信トラップ格納手段に格納する送信トラップ格納工程とを実行させ、
前記管理装置に、前記被管理装置から受信したトラップ情報を格納する受信トラップ格納工程と、前記受信トラップ格納手段に格納された受信したトラップ情報から、抜けたシーケンス番号に対応するトラップ情報のシーケンス番号である未受信トラップ番号と、最後に被管理装置から受信したトラップ情報のシーケンス番号とを有するトラップリストを被管理装置毎に作成するトラップリスト処理工程と、前記トラップリスト処理工程により作成したトラップリストを被管理装置に送信する、トラップリスト送信工程とを実行させ、
前記管理装置から送信されたトラップリストを受信した被管理装置に、前記送信トラップ格納手段に格納された送信済みのトラップ情報と、管理装置から受信したトラップリストとに基づいて再送信する必要があるトラップ情報の有無を判定し、再送信の必要があるトラップ情報を管理装置に再送信するトラップリスト処理工程を実行させる
ことを特徴とするネットワーク管理方法。



【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−19336(P2012−19336A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154918(P2010−154918)
【出願日】平成22年7月7日(2010.7.7)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】