JP4942435B2 - Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置 - Google Patents

Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置 Download PDF

Info

Publication number
JP4942435B2
JP4942435B2 JP2006250047A JP2006250047A JP4942435B2 JP 4942435 B2 JP4942435 B2 JP 4942435B2 JP 2006250047 A JP2006250047 A JP 2006250047A JP 2006250047 A JP2006250047 A JP 2006250047A JP 4942435 B2 JP4942435 B2 JP 4942435B2
Authority
JP
Japan
Prior art keywords
information
acquisition
acquired
snmp message
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006250047A
Other languages
English (en)
Other versions
JP2008071197A (ja
Inventor
大樹 星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006250047A priority Critical patent/JP4942435B2/ja
Publication of JP2008071197A publication Critical patent/JP2008071197A/ja
Application granted granted Critical
Publication of JP4942435B2 publication Critical patent/JP4942435B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、SNMPメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置に関する。
インターネット及びイントラネット等のネットワークシステムの普及に伴って、近年、ネットワーク管理の重要性が認知されてきている。SNMP(Simple Network Manegement Protocol)は、ネットワークに接続された機器をネットワーク経由で監視することによってネットワークシステムを管理するプロトコルであって、質の高いネットワークシステム管理を低コストで実現する監視ツールとして広く普及している。
図1は、SNMPによって管理されるネットワークシステムの一例を示す。図1のネットワークシステム10は、ローカルエリアネットワーク(LAN)等のネットワーク140を介して相互に接続された1台の端末装置100と、3台の機器110、120及び130とを有する。
端末装置100は、機器110、120及び130の夫々をネットワーク140経由で監視するパーソナルコンピュータ(PC)等の情報処理装置であって、一般的にマネージャと呼ばれるソフトウェア102を組み込まれている。
機器110、120及び130は、端末装置100により管理されるネットワーク140上で監視対象となるネットワークプリンタ、インテリジェントハブ及びルータ等のデジタル機器であって、夫々、一般的にエージェントと呼ばれるインターフェース112、122及び132を組み込まれている。また、機器110、120及び130の夫々には、その機器の情報を保持する管理情報領域114、124及び134が設けられている。この管理情報領域は、一般にMIB(Management Information Base)と呼ばれる。
夫々の機器のエージェント112、122及び132は、端末装置100に組み込まれたマネージャ102の要求に応じて、MIB114、124及び134を参照して機器の情報を取得する。マネージャ102は、エージェント112、122及び132が取得したMIB114、124及び134の内容から、現在の機器の状態を判断する。
図2は、MIBの構造を示す概念図である。MIBには、オブジェクトと呼ばれる情報が格納されている。オブジェクトは、情報の要素によって木構造で管理され、夫々、オブジェクトID(OID)と呼ばれる識別子を割り当てられている。OIDは、木構造の階層ごとに割り当てられた枝番により表される。例えば、オブジェクト210のOIDは、「1.3.6.1.2.1.1」のように表される。マネージャは、エージェントに対して、OIDを指定して機器の情報の取得及び設定変更を要求する。
また、SNMPでは、監視対象である機器の情報の取得及び設定変更を行うためにSNMPメッセージを用いる。SNMPメッセージは、バージョン情報、コミュニティ名及びPDU(Protcol Data Units)を有する。PDUは、SNMPのコマンドに相当するデータであり、最も一般的であるSNMPv1(バージョン1)では以下の種類がある。
(1)マネージャからエージェントへ送信するSNMPメッセージのPDU
(1−1)GetRequest:指定したOIDのオブジェクトの情報取得を要求
(1−2)GetNextRequest:指定したOIDの階層的に次のオブジェクトの情報取得を要求
(1−3)SetRequest:指定したOIDのオブジェクトの情報変更を要求
(2)エージェントからマネージャへ送信するSNMPメッセージのPDU
(2−1)GetResponse:マネージャからの要求に対する応答
(2−2)Trap:自発的に機器の状態を通知
これらのPDUによって、SNMPは、情報の要求及びその応答、情報設定要求及びその応答、並びに、機器の状態変化の通知という3つの動作モードを有する。また、SNMPv2(バージョン2)及びv3(バージョン3)のような他のバージョンでは、GetNextRequestに加え、GetBulkRequestが追加されている。これにより、マネージャは、複数の連続するオブジェクトの情報を所定の数だけ取得することができる。この場合に、エージェント側で一度に送信可能なデータサイズの上限を超えているときは、送信可能なデータサイズ内に収まる情報のみが正常に取得される。
図3は、SNMPメッセージのデータ構造の一例を示す。図3に示されるように、SNMPは、基本的に、UDP(User Datagram Protcol)により実現される。SNMPメッセージ301は、IPヘッダ及びUDPヘッダの後に続き、バージョン情報、コミュニティ名及びPDUの夫々が格納される領域302、303及び304を有する。コミュニティ名は、マネージャとエージェントとの間のパスワードとして利用され、エージェントは、そのエージェントが属するコミュニティの名前とマネージャから送信されたSNMPメッセージに含まれるコミュニティ名とを比較して、一致する場合にのみマネージャからの要求を受け付ける。
PDUには、上述したように、GetRequest、GetNextRequest若しくはGetBulkRequest、SetRequest、GetResponse及びTrapがあるが、これらのうちTrapのみがその用途から異なるデータ構造を有する。図3では、Trap以外のPDUデータ構造を示す。
PDU領域304は、PDUタイプ、リクエストID、エラーステータス、エラーインデックス及び変数バインディングリストの夫々が格納される領域305、306、307、308及び309を有する。PDUタイプ領域305には、上述したPDUの種類に応じた値が格納される。リクエストID領域306には、マネージャからの要求とエージェントからの応答とを関連付けるためリクエストIDを示す値が格納される。エラーステータス領域307は、マネージャが要求したSNMPメッセージの中にエラーがあった場合に、エージェントからマネージャへ通知されるエラーステータスを示す値が格納される。エラーステータスには、以下の種類がある。
(1)noError:エラーなし
(2)tooBig:PDUのサイズが制限を超える場合
(3)noSuchName:要求されたオブジェクトが存在しない場合
(4)badValue:SetRequestに矛盾する値が含まれる場合
(5)readOnly:読み出ししかできないオブジェクトに対してSetRequestが要求された場合
(6)genError:上記以外のエラー
なお、マネージャからエージェントへの要求時のPDUでは、エラーステータスはnoErrorを設定される。エラーインデックス領域308には、エラーが発生した場合に、PDUに含まれるどのデータにエラーが発生したのかを表すエラーインデックスを示す値が格納される。
変数バインディングリスト領域309には、1以上のオブジェクトの情報が格納されており、夫々の情報は、OID310及びその値312から成る。OID310は、夫々のオブジェクトに割り当てられた実際のOIDの後にインスタンス識別子を付け加えた値で表される。インスタンス識別子は、オブジェクトが単一の値しか有さない場合には「0」を設定される。一方、オブジェクトがテーブル形式で複数の値を有する場合には、テーブル内の夫々の値に対して「1」以上の連続であるとは限られない数字により表されるインスタンス識別子が付与される。この場合に、従来、PDUとしてGetNextRequestを用い、これを繰り返し呼び出すことにより、テーブル内の全ての情報を取得することが可能である。
図4は、テーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のシーケンス図である。情報取得の対象となるオブジェクトのOIDは「1.2.3.4」であり、そのテーブルには1番目から8番目までの8つの値が収められているとする。また、このオブジェクトが格納されている変数バインディングリスト領域において次に格納されているオブジェクトのOIDは、「1.2.3.5」であるとする。
最初に、ステップS401で、マネージャ102は、エージェント112に対して、OIDが「1.2.3.4」であるオブジェクトの階層的に次のオブジェクトの情報を取得するよう要求するためにGetNextRequestを送る。これを受けて、ステップS402で、エージェント112は、GetNextRequestにより指定されたOID「1.2.3.4」の辞書順に見て次のOID「1.2.3.4.1」が指定するオブジェクトの情報、即ち、OIDが「1.2.3.4」であるオブジェクトがテーブル形式で有する1番目の値をMIB114(図1参照。)から取得して、そのOID「1.2.3.4.1」とともにGetResponseによりマネージャ102へ通知する。
マネージャ102とエージェント112との間でこのようなやり取りが全部で9回繰り替えされると、9回目で、即ち、ステップS418で、マネージャ102は、OIDが「1.2.3.5」であるオブジェクトの情報を取得する。これにより、マネージャ102は、OIDの先頭が「1.2.3.4」ではなくなったので、OIDが「1.2.3.4」であるオブジェクトの全ての値を取得したと判断し、情報要求動作を完了する。
次に、図5は、マネージャが1つのSNMPメッセージにより複数のオブジェクトの情報の取得要求を行った場合のシーケンス図である。取得要求は、不連続なOID「1.1.5.0」、「1.1.20.0」、「1.1.2.0」、「1.3.8.0」、「1.1.13.0」、「1.8.12.0」、「1.1.9.0」、「1.1.29.0」及び「1.9.1.0」を夫々有する9個のオブジェクトの情報に対してなされるとする。
最初に、ステップS501で、マネージャ102は、エージェント112に対して、OIDが「1.1.5.0」であるオブジェクトの情報を取得するよう要求するためにGetRequestを送る。これを受けて、ステップS502で、エージェント112は、GetRequestにより指定されたOID「1.1.5.0」を割り当てられたオブジェクトの情報をMIB114(図1参照。)から取得して、そのOID「1.1.5.0」とともにGetResponseによりマネージャ102へ通知する。
以降、同様に、マネージャ102は、情報を取得したいオブジェクトのOIDを指定してGetRequestをエージェント112に送り、一方、これを受けて、エージェント112は、GetRequestにより指定されたOIDを割り当てられたオブジェクトの情報をGetResponseとしてマネージャ102へ返す。マネージャ102が全ての情報を取得するために、マネージャ102とエージェント112との間でこのようなやり取りが全部で9回繰り替えされる。
図3を再び参照すると、明らかであるように、SNMPメッセージ301は、複数のオブジェクトに対する要求を1つのメッセージとして格納することができる。即ち、1つのSNMPメッセージにより、複数のオブジェクトに対して情報の取得及び設定変更を要求することができる。従って、図5に示されるように複数のオブジェクトの夫々に対して情報の取得を要求するのではなく、一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能である。ただし、1度に無制限に大量のオブジェクトに対して情報の取得を要求した場合、その応答時に1度に送信可能なデータサイズの制限を超えてしまい、その結果エラーが発生するという問題があった。また、要求されたオブジェクトの一部がエージェント側で処理できない状態にある場合、他のオブジェクトに対する処理も実行されず、マネージャ側からのデータ取得及び設定に著しい障害となるという問題があった。
これらの問題を解決するために、特開平11−296457号公報(特許文献1)は、SNMPメッセージがエラーである場合に、SNMPメッセージに複数のオブジェクトが含まれているかどうかを判断するオブジェクト解析ステップと、複数と判断された場合、単一のオブジェクトに分割する単一オブジェクト分割ステップと、単一のオブジェクトごとに、SNMPメッセージを生成し、送信するSNMPメッセージ分割送信ステップとを備えることにより、最低限処理可能なオブジェクトに対しては正常にデータの取得及び設定を可能とする方法及び装置を開示する。
特開平11−296457号公報
しかし、特許文献1では、SNMPメッセージがエラーである場合に1パケットで送信するオブジェクトを単一オブジェクトに分割するので、データ取得開始から取得終了までに要する時間が長くなるという問題がある。
また、SNMPv2及びSNMPv3で用いられるGetBulkRequestは、図4で示されるように、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合には利用されないという問題がある。
本発明は、上記問題を鑑みて、機器からの効率的な情報取得を可能とする機器情報取得方法及び情報処理装置を提供することを目的とする。
上記問題を解決するために、本発明の機器情報取得方法は、SNMPメッセージにより機器から情報を取得する機器情報取得方法であって、前記情報にテーブルとして含まれる複数の値の全てをGetBulkRequestを用いて取得する場合に、前記情報の範囲を示すOIDと、前記機器から1度に取得する情報の個数とを前記GetBulkRequestに設定する設定ステップと、前記OIDから前記個数ずつ前記情報の値を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信するメッセージ送信ステップと、該メッセージ送信ステップにおいて送信された第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信するメッセージ受信ステップとを有することができる。
これにより、SNMPv2及びSNMPv3で用いられるGetBulkRequestは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となり、機器からの効率的な情報取得を可能とする機器情報取得方法を提供することができる。
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第2のSNMPメッセージの情報が、前記第1のSNMPメッセージの情報の範囲を示す前記OIDの範囲内か否かを判定する判定ステップを更に有し、該判定ステップにおいて、前記第2のSNMPメッセージの情報に前記OIDの範囲内にない情報が存在する場合に、前記機器からの情報の取得が完了したと判定し、前記第2のSNMPメッセージの情報のうち前記OIDの範囲内にある情報のみを取り出すことができる。
これにより、必要とされる適切な情報のみを取得することが可能となる。
また、上記目的を達成するために、本発明の機器情報取得方法は、SNMPメッセージにより機器から情報を取得する機器情報取得方法であって、複数の情報をGetRequest又はGetNextRequest若しくはGetBulkRequestを用いて取得する場合に、前記機器から1度に取得する情報の個数を前記GetRequest又はGetNextRequest若しくはGetBulkRequestに設定する設定ステップと、該設定ステップにおいて設定された個数を前記複数の情報のうち未取得である情報の個数と比較する比較ステップと、該比較ステップにおいて、前記個数が前記未取得である情報の個数より大きい場合に、前記未取得である情報の全てを取得するよう要求し、前記個数が前記未取得である情報の個数より小さい場合に、前記未取得である情報のうち前記個数だけ取得するよう要求する第1のSNMPメッセージを送信するメッセージ送信ステップと、該メッセージ送信ステップにおいて送信された第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信するメッセージ受信ステップとを有することができる。
従来、GetRequest又はGetNextRequest若しくはGetBulkRequestを用いて一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能であることが知られるが、このように機器から取得する情報の個数を設定することにより、機器からの応答時にデータサイズの制限を超えることに起因するエラーの発生確率を低減し、且つ、情報の取得開始から終了までに要する時間をも低減することが可能であって、機器からの効率的な情報取得を可能とする機器情報取得方法を提供することができる。
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第2のSNMPメッセージがエラーである場合に、前記機器から情報を分割して取得するよう要求する第3のSNMPメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することができる。
従来、複数の情報を取得する際にエラーが発生した場合には、1パケットで送信する情報を単一の情報に分割していたが、このように、単一の情報に限定せずに情報を複数に分割して要求し、1度に送信するデータサイズを低減することにより、低減されたデータサイズが送信可能な上限を超えていない限り正常に情報を取得することが可能であり、データ取得開始から取得終了までに要する時間が長くなるという問題を回避することができる。
更に望ましく、前記メッセージ再送ステップにおいて再送される第3のSNMPメッセージは、前記機器から情報を1つずつ分割して取得するよう要求することができる。
複数の情報を取得する際にエラーが発生した場合に、このように単一の情報を取得する方法に切り替えることにより、例えば、機器が複数の情報を取得するよう構成されていない等の何らかの理由によって1度に複数の情報を取得できない環境下であっても、正常に情報を取得することができる。
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第2のSNMPメッセージがエラーである場合に、前記設定ステップにおいて設定された個数を減じて、前記機器に対して情報の取得を要求する第3のSNMPメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することができる。
1度に取得する情報の個数が大きすぎてエラーが発生した場合に、このように、その個数を減じることにより、1度に取得することができる個数だけ情報を機器から正常に取得することができる。
望ましくは、本発明の機器情報取得方法は、前記メッセージ送信ステップにおいて、GetBulkRequestを用いて情報を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信した場合に、前記メッセージ受信ステップにおいて受信された第2のSNMPメッセージに前記メッセージ送信ステップにおいて取得を要求した情報の一部しか含まれないときは、前記メッセージ送信ステップにおいて取得を要求した残りの情報についてのみ再度取得を要求する第3のメッセージを送信する再取得メッセージ送信ステップを有することができる。
従来、GetBulkRequestを用いた場合に、一度に送信可能なデータサイズの上限を超えているときは、送信可能なデータサイズ内に収まる情報のみが正常に取得されることが知られるが、このように、更に、正常に取得されなかったものについてのみ再取得を要求することにより無駄な処理を省くことができ、機器からの情報取得をより効率的とすることができる。
更に望ましくは、前記第3のメッセージは、前記設定ステップにおいて設定された個数を減じて、前記残りの情報について前記機器に対して再度取得を要求することができる。
1度に取得する情報の個数が大きすぎてエラーが発生した場合に、このように、その個数を減じることにより、次回の情報取得において、より確実に、1度に取得することができる個数だけ情報を機器から正常に取得することができる。
望ましくは、本発明の機器情報取得方法は、前記メッセージ送信ステップにおいて、GetRequest又はGetNextRequestを用いて情報を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信し、前記メッセージ受信ステップにおいて受信された第2のSNMPメッセージがエラーである場合に、GetBulkRequestを利用可能なSNMPのバージョンに対応する場合には、前記メッセージ送信ステップにおいて取得を要求した情報について前記GetBulkRequestにより再度取得を要求する第3のメッセージを送信する再取得メッセージ送信ステップを有し、前記バージョンに対応しない場合には、前記機器から情報を1つずつ分割して取得する取得するよう要求する第4のSNMPメッセージを前記機器に対して再送するメッセージ再送ステップを有することができる。
これにより、SNMPのバージョンに対応して最適な処理を行うことが可能となり、無駄な処理を省くことができ、機器からの情報取得をより効率的とすることができる。
また、上記目的を達成するために、本発明の機器情報取得方法により取得要求を送信される機器は、前記取得要求に応じて情報を送信する。
これにより、情報の取得対象となる機器の負荷と、取得を要求する側の装置と機器との間のネットワークの負荷とを低減させることができる。
また、上記目的を達成するために、本発明の情報処理装置は、SNMPメッセージにより機器から情報を取得する情報処理装置であって、前記情報にテーブルとして含まれる複数の値の全てをGetBulkRequestを用いて取得する場合に、前記情報の範囲を示すOIDを前記GetBulkRequestに設定するOID設定手段と、前記機器から1度に取得する情報の個数を前記GetBulkRequestに設定する取得個数設定手段と、前記OIDから前記個数ずつ前記情報の値を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信し、前記第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信する送受信手段とを有することができる。
これにより、SNMPv2及びSNMPv3で用いられるGetBulkRequestは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となり、機器からの効率的な情報取得を可能とする情報処理装置を提供することができる。
また、上記目的を達成するために、本発明の情報処理装置は、SNMPメッセージにより機器から情報を取得する情報処理装置であって、複数の情報をGetRequest又はGetNextRequest若しくはGetBulkRequestを用いて取得する場合に、前記機器から取得する予定の未取得情報をリスト化する未取得リストと、前記機器から1度に取得する情報の個数を前記GetRequest又はGetNextRequest若しくはGetBulkRequestに設定し、前記個数を前記未取得リストにリスト化された未取得情報の個数と比較する取得個数設定手段と、該取得個数設定手段により前記個数が前記未取得情報の個数より大きいと決定される場合に、前記未取得情報の全てを取得するよう要求し、前記取得個数設定手段により前記個数が前記未取得情報の個数より小さいと決定される場合に、前記未取得情報のうち前記個数だけ取得するよう要求する第1のSNMPメッセージを送信し、該第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信する送受信手段とを有することができる。
従来、GetRequest又はGetNextRequest若しくはGetBulkRequestを用いて一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能であることが知られるが、このように、機器から取得する情報の個数を未取得情報の個数に適応するよう設定することにより、機器からの応答時にデータサイズの制限を超えることに起因するエラーの発生確率を低減し、機器からの効率的な情報取得を可能とする情報処理装置を提供することができる。
本発明により、機器からの効率的な情報取得を可能とする機器情報取得方法及び情報処理装置を提供することが可能となる。
以下、本発明の実施形態について添付の図面を参照して説明する。
図6は、本実施形態における情報処理装置のハードウェア構成の一例を表す図である。
図6の情報処理装置600は、本発明によるネットワーク管理プログラムを実行可能な情報処理装置であって、バス66によって相互に接続されたドライブ装置61と、補助記憶装置62と、メモリ装置63と、演算処理装置64と、インターフェース装置65とを有する。情報処理装置600により実行されるプログラムは、CD−ROM等の記録媒体67によって提供される。
ドライブ装置61は、記録媒体67を読み取るための装置である。プログラムを記録した記録媒体67がドライブ装置61にセットされると、プログラムが記録媒体67からドライブ装置61を介して補助記憶装置62にインストールされる。補助記憶装置62は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する装置である。メモリ装置63は、プログラムの起動指示があった場合に、補助記憶装置62からプログラムを読み出して格納する装置である。演算処理装置64は、メモリ装置63に格納されたプログラムに従って、情報処理装置600を作動させる装置である。インターフェース装置65は、情報処理装置600を外部のネットワーク又は公衆回線へ接続するための装置である。
情報処理装置600は、記録媒体67に格納されたプログラムを実行することにより、図1に示したようなネットワークシステムに置かれ、SNMPエージェントが組み込まれた機器をネットワーク経由で監視する。
図7は、図6の情報処理装置において本発明に係る機能構成の一例を表す図である。
図7において、情報処理装置は、SNMPマネージャ602と、入力手段603とを有する。
SNMPマネージャ602は、SNMPエージェントが組み込まれた機器をネットワーク経由で監視するためのソフトウェアモジュールであって、エージェントと通信してSNMPメッセージを送受信する送受信手段604と、送受信手段604がエージェントと通信することにより得られたオブジェクトの情報を格納する取得情報データベース(DB)606と、エージェントから取得するオブジェクトの情報のOIDを設定するOID設定手段608と、1度の通信によりエージェントから取得するオブジェクトの情報の個数を設定する個数設定手段610とを有する。
取得情報DB605は、取得予定であるが、未だ取得されていない情報をリスト化して格納する未取得リスト612と、エージェントに対して取得要求を行う情報をリスト化して格納する取得要求リスト614と、取得した情報をリスト化して格納する最終結果リスト616とを有する。
入力手段603は、キーボード及びマウス等の入力装置(図示せず。)を介してユーザにより入力された設定値を受け、それをSNMPマネージャ602へ送るためのインターフェースとして機能する。
あるオブジェクトの情報をエージェントから取得する場合、入力手段603は、ユーザにより入力された情報取得の要求を、取得するオブジェクトの情報の個数及びそれらのOIDとともにSNMPマネージャ602へ送る。SNMPマネージャ602は、ユーザにより情報取得を要求された情報をリスト化して、取得情報DB606内の未取得リスト612に格納する。また、SNMPマネージャ602は、取得するオブジェクトの情報の個数及びそれらのOID等のユーザ入力に基づき、エージェントに対して取得要求を行う情報をリスト化して、取得情報DB606内の取得要求リスト614に格納する。送受信手段604は、OID設定手段608及び取得回数設定手段610の夫々の設定と、取得要求リスト614とを参照して、エージェントへ情報取得の要求に係るSNMPメッセージを送信する。また、送受信手段604は、エージェントから送られた応答に係るSNMPメッセージを受信する。エージェントから送られたSNMPメッセージに含まれるオブジェクトの情報は、リスト化されて取得情報DB606内の最終結果リスト616に格納され、同時に、未取得リスト612から削除される。最終的に未取得リスト612に格納されている情報がなくなるまで、SNMPマネージャ602は上記のような動作を繰り返す。
以下、図7の情報処理装置による情報取得の動作について、具体的な例を挙げて説明する。
図8は、本発明においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のフローチャートである。
テーブルとして複数の情報を有するオブジェクトに対して情報の取得要求を行うようユーザから入力手段603を介してマネージャ602へ伝えられると、最初に、ステップS801で、取得情報DB606は、その内容をクリアし、何も格納されていない状態とする。次に、ステップS802で、ユーザから入力手段603を介して入力された値に基づいて、OID設定手段608及び取得個数設定手段610は、夫々、取得開始OID及び取得個数を設定する。取得開始OIDは、複数の情報を1度に取得する場合に、そのOIDの辞書順で次のOID以降の情報を取得することを表す。取得個数は、複数の情報を取得する場合に、1度に取得できる情報の個数を表す。
ステップS803で、送受信手段604は、OID設定手段608及び取得回数設定手段810の夫々で設定された取得開始OID及び取得個数に基づいてSNMPメッセージを作成し、それをエージェントへ送信する。即ち、送受信手段604は、エージェントに対して、取得開始OIDから所定の個数の情報の取得要求を行うようGetBulkRequestを送る。その後、ステップS804で、送受信手段604は、エージェントから応答(GetResponse)として送られたSNMPメッセージを受信する。これにより、送受信手段604は、前のステップで取得要求を行った情報を取得することができる。
情報取得後、ステップS805で、OID設定手段608は、取得した情報のOIDの先頭部が取得開始OIDの先頭部を超えているか否かを判定する。ここで、OIDの先頭部とは、OIDの接尾に付与されたインスタンス識別子を除いた部分のことである。
取得した情報のOIDの先頭部が取得開始OIDの先頭部を超えていなかった場合には、ステップS806で、送受信手段604は、取得した情報の全てをリスト化して、取得情報DB606内の最終結果リスト616に格納する。次に、ステップS807で、OID設定手段608は、取得した情報のうち順序が最後のもののOIDを取得し、これを取得開始OIDに再設定する。その後、ステップS803に戻り、以降のステップが繰り返される。
一方、取得した情報のOIDの先頭部が取得開始OIDの先頭部を超えていた場合には、ステップS808で、送受信手段604は、取得した情報のうち、そのOIDの先頭部が取得開始OIDの先頭部を超えていないものだけをリスト化して、取得情報DB606内の最終結果リスト616に格納する。
最後に、ステップS809で、送受信手段604は、最終結果リスト616の内容、即ち、取得した情報のリストを取得結果としてユーザへ返す。
このように、本発明により、SNMPv2及びSNMPv3で用いられるGetBulkRequestは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となる。
本発明の効果をより明確にするために、図4を参照して説明した従来技術による動作に本発明を適用した場合について説明する。
図9は、図4に示される従来技術による動作に本発明を適用した場合のシーケンス図である。図4の動作と同じく、情報取得の対象となるオブジェクトのOIDは「1.2.3.4」であり、そのテーブルには1番目から8番目までの8つの値が収められているとする。また、このオブジェクトが格納されている変数バインディングリスト領域において次に格納されているオブジェクトのOIDは、「1.2.3.5」であるとする。ただし、本実施例では、更に、1度に取得できる取得個数が5個と設定されるとする。
最初に、ステップS901で、マネージャ602は、エージェント112に対して、取得開始OID及び取得個数を夫々「1.2.3.4」及び「5」と指定してGetBulkRequestにより情報取得を要求する。これを受けて、S902で、エージェント112は、GetBulkRequestにより指定された取得開始OID「1.2.3.4」の辞書順に見て次のOID「1.2.3.4.1」以降の5個の情報をMIB114(図1参照。)から取得して、それらのOID「1.2.3.4.1」、「1.2.3.4.2」、「1.2.3.4.3」、「1.2.3.4.4」及び「1.2.3.4.5」とともにGetResponseによりマネージャ602へ通知する。
次に、ステップS903で、マネージャ602は、先に取得した情報のOIDのうち辞書順で最後となる「1.2.3.4.5」を新たに取得開始OIDとして指定し、再び取得個数を「5」と指定して、エージェント112に対してGetBulkRequestにより情報取得を要求する。これを受けて、S904で、エージェント112は、GetBulkRequestにより指定された取得開始OID「1.2.3.4.5」の辞書順に見て次のOID「1.2.3.4.6」以降の5個の情報をMIB114から取得して、それらのOID「1.2.3.4.6」、「1.2.3.4.7」、「1.2.3.4.8」、「1.2.3.5」及び「1.2.3.5.1」とともにGetResponseによりマネージャ602へ通知する。
この時点で、マネージャ602は、OID「1.2.3.4.1」以降の10個の情報を取得しているが、取得した情報の中には、本来取得する必要のない情報も含まれている場合がある。本実施例では、OIDからインスタンス識別子を除いた先頭部分が「1.2.3.4」ではないOIDの情報は、取得対象ではない。従って、先頭部分が「1.2.3.5」である情報を除く8個の情報が、最終的に取得結果としてユーザに返される。
従って、マネージャとエージェントとの間で発生する通信は、従来技術では全部で18回であったが、本実施例では4回に低減されている。
図10は、本発明においてマネージャが1つのSNMPメッセージにより複数のオブジェクトの情報の取得要求を行った場合のフローチャートである。
不連続なOIDを夫々有する複数のオブジェクトに対して情報の取得要求を行うようユーザから入力手段603を介してマネージャ602へ伝えられると、最初に、ステップS1001で、取得情報DB606は、ユーザが情報を取得するよう要求した複数の情報をリスト化して、未取得リスト612に格納する。ステップS1002で、取得個数設定手段610は、ユーザから入力手段603を介して入力された値に基づいて、取得個数を設定する。また、ステップS1003で、取得情報DB606は、取得要求リスト614及び最終結果リスト616の内容をクリアし、何も格納されていない状態とする。
次に、ステップS1004で、取得個数設定手段610は、先に設定した取得個数が未取得リスト612にリスト化された情報の数よりも多いか否かを判定する。
取得個数の方が多い場合には、ステップS1005で、取得情報DB606は、未取得リスト612にリスト化された全ての情報を、取得要求リスト614にもリスト化して格納する。一方、取得個数の方が少ない場合には、ステップS1006で、取得情報DB606は、未取得リスト612にリスト化された情報のうち取得個数分だけ、取得要求リスト614にもリスト化して格納する。
ステップS1006で、送受信手段604は、取得要求リスト614にリスト化された情報の取得を要求するSNMPメッセージを作成し、それをエージェントへ送信する。即ち、送受信手段604は、エージェントに対して、取得したい情報のうち所定の個数だけ取得要求を行うようGetRequest又はGetNextRequest若しくはGetBulkRequestを送る。その後、ステップS1007で、送受信手段604は、エージェントから応答(GetResponse)として送られたSNMPメッセージを受信する。
メッセージ受信後、ステップS1009で、送受信手段604は、SNMPメッセージに取得要求を行った情報が含まれるか否か、即ち、情報の取得に成功したか否かを判定する。
要求した全ての情報の取得に成功した場合には、ステップ1011で、送受信手段604は、取得した情報の全てをリスト化して、取得情報DB606内の最終結果リスト616に格納する。また、要求した情報のうち一部の取得に成功した場合には、ステップS1010で、取得個数設定手段610は、取得個数を現在の値から減じて再設定し、その後、ステップS1011で、取得した情報の全てをリスト化して、取得情報DB606内の最終結果リスト616に格納する。
取得した情報が最終結果リスト616でリスト化された後、又は同時に、取得情報DB606は、取得した情報を未取得リスト612から削除する。次に、ステップS1013で、取得情報DB606は、未取得リスト612にリスト化された情報が存在するか否かを判定する。
未取得リスト612にリスト化された情報が存在した場合には、ステップS1003に戻り、以降のステップが繰り返される。一方、存在しなかった場合には、ステップS1014で、送受信手段604は、最終結果リスト616の内容、即ち、取得した情報のリストを取得結果としてユーザへ返す。
また、先のステップS1008で情報の取得に失敗したと判定された場合には、送受信手段604は、情報の取得ができなかった旨を取得結果としてユーザへ返す。
このように、複数のオブジェクトの情報を取得する場合に、次に要求する取得個数を再設定することにより情報取得の成否に対応しており、効率的な情報取得が可能となる。また、情報取得に失敗した場合には、取得できなかった情報対してのみ再度取得要求を行うので、更に効率的な情報取得が可能となる。
本発明の効果をより明確にするために、図5を参照して説明した従来技術による動作に本発明を適用した場合について説明する。
図11は、図5に示される従来技術による動作に本発明を適用した場合のシーケンス図である。図5の動作と同じく、取得要求は、不連続なOID「1.1.5.0」、「1.1.20.0」、「1.1.2.0」、「1.3.8.0」、「1.1.13.0」、「1.8.12.0」、「1.1.9.0」、「1.1.29.0」及び「1.9.1.0」を夫々有する9個のオブジェクトの情報に対してなされるとする。ただし、本実施例では、更に、1度に取得できる取得個数が5個と設定されるとする。
最初に、S1101で、マネージャ602は、エージェント112に対して、取得したい9個の情報のうちOIDが「1.1.5.0」、「1.1.20.0」、「1.1.2.0」及び「1.3.8.0」、「1.1.13.0」である5個のオブジェクトの情報を取得するよう要求するために、GetRequestを送る。これを受けて、S1102で、エージェント112は、GetRequestにより指定されたOID「1.1.5.0」、「1.1.20.0」、「1.1.2.0」及び「1.3.8.0」、「1.1.13.0」を夫々割り当てられたオブジェクトの情報をMIB114(図1参照。)から取得して、それらのOIDとともにGetResponseによりマネージャ602へ通知する。
次に、S1103で、マネージャ602は、取得したい残りの4個の情報に対して取得要求を行うために取得個数を5個から4個に変更した後、OIDが「1.8.12.0」、「1.1.9.0」、「1.1.29.0」及び「1.9.1.0」である4個のオブジェクトの情報を取得するよう要求するために、GetRequestを送る。これを受けて、S1103で、エージェント112は、GetRequestにより指定されたOID「1.8.12.0」、「1.1.9.0」、「1.1.29.0」及び「1.9.1.0」を夫々割り当てられたオブジェクトの情報をMIB114から取得して、それらのOIDとともにGetResponseによりマネージャ602へ通知する。
従って、マネージャとエージェントとの間で発生する通信は、従来技術では全部で18回であったが、本実施例では4回に低減されている。更に、本発明では、情報取得の成否に限らず、未だ取得されていない情報の個数に応じて次に要求する取得個数を再設定することができるので、余分な情報を取得してしまうといった無駄も除かれている。
[変形例]
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
例えば、本発明の実施形態では、本発明は、情報処理装置のハードディスク(HDD)及び読出し専用メモリ(ROM)等のメモリに格納されたプログラムによって実現されるとしたが、あるいは、情報処理装置においてハードウェアとして実現されても良い。
また、上記実施例において、情報取得の全て又は一部にエラーであった場合には、予め設定された取得個数を減じることにより、次回以降は機器から正常に情報を取得できるよう対応していたが、あるいは、情報を分割して取得するよう機器に対して要求することにより対応しても良い。また、例えば、機器が複数の情報を取得するよう構成されていない等の何らかの理由によって1度に複数の情報を取得できない環境下では、単一の情報ごとに分割して取得するよう機器に対して要求しても良い。
また、上記実施例の夫々を組み合わせることも可能であり、情報取得の全て又は一部にエラーであった場合に、SNMPのバージョンに応じて最適なエラー処理を行うことができる。
SNMPによって管理されるネットワークシステムの一例を示す。 MIBの構造を示す概念図である。 SNMPメッセージのデータ構造の一例を示す。 従来技術においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のシーケンス図である。 従来技術においてマネージャが1つのSNMPメッセージにより複数のオブジェクトの情報の取得要求を行った場合のシーケンス図である。 本実施形態における情報処理装置のハードウェア構成の一例を表す図である。 図6の情報処理装置において本発明に係る機能構成の一例を表す図である。 本発明においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のフローチャートである。 図4に示される従来技術による動作に本発明を適用した場合のシーケンス図である。 本発明においてマネージャが1つのSNMPメッセージにより複数のオブジェクトの情報の取得要求を行った場合のフローチャートである。 図5に示される従来技術による動作に本発明を適用した場合のシーケンス図である。
符号の説明
102、602 マネージャ
112、122、132 エージェント
114、124、134 MIB
301 SNMPメッセージ
304 PDU
310 OID
600 情報処理装置
603 入力手段
604 送受信手段
606 取得情報DB
608 OID設定手段
610 取得個数設定手段
612 未取得リスト
614 取得要求リスト
616 最終結果リスト
67 記憶媒体

Claims (6)

  1. SNMPメッセージにより機器から情報を取得する機器情報取得方法であって、
    複数の情報をGetRequest又はGetNextRequest若しくはGetBulkRequestを用いて取得する場合に、
    前記機器から1度に取得する情報の個数を設定する設定ステップと、
    該設定ステップにおいて設定された個数を前記複数の情報のうち未取得である情報の個数と比較する比較ステップと、
    該比較ステップにおいて、前記個数が前記未取得である情報の個数より大きい場合に、前記未取得である情報の全てを取得するよう要求し、前記個数が前記未取得である情報の個数より小さい場合に、前記未取得である情報のうち前記個数の情報を取得するよう要求する、前記GetRequest又はGetNextRequest若しくはGetBulkRequestに基づく第1のSNMPメッセージを送信するメッセージ送信ステップと、
    該メッセージ送信ステップにおいて送信された第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信するメッセージ受信ステップと、
    前記第1のSNMPメッセージにおいて取得要求を行った情報が前記第2のSNMPメッセージに含まれているかどうかを判断し、該情報の一部取得に成功した場合には、前記1度に取得する情報の個数が前記機器で1度に送信可能なデータサイズに収まるように前記設定ステップで設定された個数を減らして前記1度に取得する情報の個数として再設定する再設定ステップと
    を有することを特徴とする機器情報取得方法。
  2. 前記メッセージ送信ステップにおいて、GetBulkRequestを用いて情報を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信した場合に、
    前記再設定ステップは、前記第1のSNMPメッセージにおいて取得要求を行った情報のうち前記第2のSNMPメッセージに含まれていなかった残りの情報についてのみ再度取得を要求するよう前記GetBulkRequestを再設定するステップを有することを特徴とする請求項1記載の機器情報取得方法。
  3. 前記1又は2記載の機器情報取得方法により取得要求を送信される機器において、前記取得要求に応じて情報を送信する方法。
  4. SNMPメッセージにより機器から情報を取得する情報処理装置であって、
    複数の情報をGetRequest又はGetNextRequest若しくはGetBulkRequestを用いて取得する場合に、
    前記機器から取得する予定の未取得情報をリスト化する未取得リストと、
    前記機器から1度に取得する情報の個数を設定し、前記個数を前記未取得リストにリスト化された未取得情報の個数と比較する取得個数設定手段と、
    該取得個数設定手段により前記個数が前記未取得情報の個数より大きいと決定される場合に、前記未取得情報の全てを取得するよう要求し、前記取得個数設定手段により前記個数が前記未取得情報の個数より小さいと決定される場合に、前記未取得である情報のうち前記個数の情報を取得するよう要求する、前記GetRequest又はGetNextRequest若しくはGetBulkRequestに基づく第1のSNMPメッセージを送信し、該第1のSNMPメッセージの応答としての第2のSNMPメッセージを前記機器から受信する送受信手段とを有し、
    前記送受信手段は、前記第1のSNMPメッセージにおいて取得要求を行った情報が前記第2のSNMPメッセージに含まれているかどうかを判断し、
    前記取得個数設定手段は、前記送受信手段において前記情報の一部取得に成功したと判断された場合に、前記1度に取得する情報の個数が前記機器で1度に送信可能なデータサイズに収まるように前記個数を減らして前記1度に取得する情報の個数として再設定する
    ことを特徴とする情報処理装置。
  5. 前記送受信手段が、GetBulkRequestを用いて情報を取得するよう要求する第1のSNMPメッセージを前記機器に対して送信した場合に、
    前記取得個数設定手段は、前記第1のSNMPメッセージにおいて取得要求を行った情報のうち前記第2のSNMPメッセージに含まれていなかった残りの情報についてのみ再度取得を要求するよう前記GetBulkRequestを再設定することを特徴とする請求項記載の情報処理装置。
  6. 前記4又は5記載の情報処理装置によって送信された取得要求を受信し、該取得要求に応じて情報を送信する機器。
JP2006250047A 2006-09-14 2006-09-14 Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置 Expired - Fee Related JP4942435B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006250047A JP4942435B2 (ja) 2006-09-14 2006-09-14 Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006250047A JP4942435B2 (ja) 2006-09-14 2006-09-14 Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2008071197A JP2008071197A (ja) 2008-03-27
JP4942435B2 true JP4942435B2 (ja) 2012-05-30

Family

ID=39292714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006250047A Expired - Fee Related JP4942435B2 (ja) 2006-09-14 2006-09-14 Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JP4942435B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5434493B2 (ja) * 2009-11-10 2014-03-05 日本電気株式会社 ネットワーク管理サーバ装置、管理対象装置、ネットワークシステム、管理対象情報要求方法および管理対象情報送信方法
KR101425699B1 (ko) * 2010-05-07 2014-08-01 엘에스산전 주식회사 디지털 보호 계전기의 원방 통신 방법
JP5919887B2 (ja) * 2012-02-29 2016-05-18 ブラザー工業株式会社 管理デバイス
JP5862417B2 (ja) * 2012-03-29 2016-02-16 ブラザー工業株式会社 管理デバイス
CN105512134A (zh) * 2014-09-25 2016-04-20 中兴通讯股份有限公司 基于snmp协议的数据查询方法及***
JP7090786B1 (ja) * 2021-12-01 2022-06-24 Kddi株式会社 ネットワークの管理装置、当該管理装置における方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004054657A (ja) * 2002-07-22 2004-02-19 Canon Inc ネットワークデバイス管理装置

Also Published As

Publication number Publication date
JP2008071197A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
US7065588B2 (en) Method and system for data transformation in a heterogeneous computer system
US8260899B2 (en) Network attached storage SNMP single system image
US7484222B1 (en) Method and system for setting expressions in network management notifications
JP4942435B2 (ja) Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置
JPWO2004071014A1 (ja) Snmpプロキシエージェント、及び管理情報中継方法
US8392548B1 (en) Method and apparatus for generating diagnostic information for errors detected in a network management protocol
KR100429894B1 (ko) 멀티 에이전트간 통신에 의한 네트워크 장애 관리 장치 및방법
EP2747341B1 (en) Connecting computer management systems via cellular digital telecommunication networks
US8055746B2 (en) Method and system for improved management of a communication network by extending the simple network management protocol
KR100484492B1 (ko) 라우터 시스템의 장애 및 상태 관리를 위한 망 관리시스템 및 그 방법
Cisco Chapter 5, SNMP
Cisco Chapter 5, SNMP
JP4167260B2 (ja) 情報取得装置およびその方法
KR100489941B1 (ko) 망관리장치 대리인과 교환기간의 알람상태 동기화 방법
KR100455871B1 (ko) 망관리시스템에서 고속 패킷 데이터 망을 이용한 망 관리방법
JP3763140B2 (ja) Snmpプロトコルにおけるエラー伝達方法、エラー伝達プログラム及びエラー伝達システム
JP4111973B2 (ja) 情報取得装置およびその方法
JP2007188298A (ja) Snmpエージェント装置
JP4882942B2 (ja) 管理情報提供装置、ノード及び管理情報提供プログラム
JP3229265B2 (ja) アドレス変換装置及びアドレス変換プログラムを記録した記録媒体
KR100474358B1 (ko) 고속 라우터 시스템의 원격 망 모니터링 기능 구현방법 및장치, 이를 수행하는 프로그램을 기록한 기록매체
KR100534619B1 (ko) 네트워크 관리 장치 및 방법
JP6669382B2 (ja) デバイス装置、情報処理方法及びプログラム
CN113992732A (zh) 终端管理控制方法、装置、服务器及存储介质
JPH11296457A (ja) Snmpプロトコルを用いたネットワーク管理ソフトウェアを含むネットワークデバイス制御方法及び装置、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120228

R150 Certificate of patent or registration of utility model

Ref document number: 4942435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees