(57)【要約】【課題】機器からの効率的な情報取得を可能とする機器情報取得等を提供する。【解決手段】ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法であって、情報にテーブルとして含まれる複数の値の全てをＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、情報の範囲を示すＯＩＤと、機器から１度に取得する情報の個数とをＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する設定ステップＳ８０２と、ＯＩＤから所定の個数ずつ情報の値を取得するよう要求する第１のＳＮＭＰメッセージを機器に対して送信するメッセージ送信ステップＳ８０３と、メッセージ送信ステップＳ８０３において送信された第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを機器から受信するメッセージ受信ステップＳ８０４とを有する。【選択図】図８
2008071197.tif 000002
【特許請求の範囲】
【請求項１】
ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法であって、
前記情報にテーブルとして含まれる複数の値の全てをＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、
前記情報の範囲を示すＯＩＤと、前記機器から１度に取得する情報の個数とを前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する設定ステップと、
前記ＯＩＤから前記個数ずつ前記情報の値を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信するメッセージ送信ステップと、
該メッセージ送信ステップにおいて送信された第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信するメッセージ受信ステップとを有することを特徴とする機器情報取得方法。
【請求項２】
前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージの情報が、前記第１のＳＮＭＰメッセージの情報の範囲を示す前記ＯＩＤの範囲内か否かを判定する判定ステップを更に有し、
該判定ステップにおいて、前記第２のＳＮＭＰメッセージの情報に前記ＯＩＤの範囲内にない情報が存在する場合に、前記機器からの情報の取得が完了したと判定し、前記第２のＳＮＭＰメッセージの情報のうち前記ＯＩＤの範囲内にある情報のみを取り出すことを特徴とする請求項１記載の機器情報取得方法。
【請求項３】
ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法であって、
複数の情報をＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、
前記機器から１度に取得する情報の個数を前記ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する設定ステップと、
該設定ステップにおいて設定された個数を前記複数の情報のうち未取得である情報の個数と比較する比較ステップと、
該比較ステップにおいて、前記個数が前記未取得である情報の個数より大きい場合に、前記未取得である情報の全てを取得するよう要求し、前記個数が前記未取得である情報の個数より小さい場合に、前記未取得である情報のうち前記個数だけ取得するよう要求する第１のＳＮＭＰメッセージを送信するメッセージ送信ステップと、
該メッセージ送信ステップにおいて送信された第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信するメッセージ受信ステップとを有することを特徴とする機器情報取得方法。
【請求項４】
前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、
前記機器から情報を分割して取得するよう要求する第３のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することを特徴とする請求項１又は２記載の機器情報取得方法。
【請求項５】
前記メッセージ再送ステップにおいて再送される第３のＳＮＭＰメッセージは、前記機器から情報を１つずつ分割して取得するよう要求することを特徴とする請求項４記載の機器情報取得方法。
【請求項６】
前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、
前記設定ステップにおいて設定された個数を減じて、前記機器に対して情報の取得を要求する第３のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することを特徴とする請求項１又は３記載の機器情報取得方法。
【請求項７】
前記メッセージ送信ステップにおいて、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて情報を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信した場合に、
前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージに前記メッセージ送信ステップにおいて取得を要求した情報の一部しか含まれないときは、前記メッセージ送信ステップにおいて取得を要求した残りの情報についてのみ再度取得を要求する第３のメッセージを送信する再取得メッセージ送信ステップを有することを特徴とする請求項３記載の機器情報取得方法。
【請求項８】
前記第３のメッセージは、前記設定ステップにおいて設定された個数を減じて、前記残りの情報について前記機器に対して再度取得を要求することを特徴とする請求項７記載の機器情報取得方法。
【請求項９】
前記メッセージ送信ステップにおいて、ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔを用いて情報を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信し、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、
ＧｅｔＢｕｌｋＲｅｑｕｅｓｔを利用可能なＳＮＭＰのバージョンに対応する場合には、前記メッセージ送信ステップにおいて取得を要求した情報について前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより再度取得を要求する第３のメッセージを送信する再取得メッセージ送信ステップを有し、
前記バージョンに対応しない場合には、前記機器から情報を１つずつ分割して取得する取得するよう要求する第４のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを有することを特徴とする請求項３記載の機器情報取得方法。
【請求項１０】
前記１乃至９のうちいずれか一項記載の機器情報取得方法により取得要求を送信される機器において、前記取得要求に応じて情報を送信する方法。
【請求項１１】
ＳＮＭＰメッセージにより機器から情報を取得する情報処理装置であって、
前記情報にテーブルとして含まれる複数の値の全てをＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、
前記情報の範囲を示すＯＩＤを前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定するＯＩＤ設定手段と、
前記機器から１度に取得する情報の個数を前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する取得個数設定手段と、
前記ＯＩＤから前記個数ずつ前記情報の値を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信し、前記第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信する送受信手段とを有することを特徴とする情報処理装置。
【請求項１２】
ＳＮＭＰメッセージにより機器から情報を取得する情報処理装置であって、
複数の情報をＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、
前記機器から取得する予定の未取得情報をリスト化する未取得リストと、
前記機器から１度に取得する情報の個数を前記ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定し、前記個数を前記未取得リストにリスト化された未取得情報の個数と比較する取得個数設定手段と、
該取得個数設定手段により前記個数が前記未取得情報の個数より大きいと決定される場合に、前記未取得情報の全てを取得するよう要求し、前記取得個数設定手段により前記個数が前記未取得情報の個数より小さいと決定される場合に、前記未取得情報のうち前記個数だけ取得するよう要求する第１のＳＮＭＰメッセージを送信し、該第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信する送受信手段とを有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置に関する。
【背景技術】
【０００２】
インターネット及びイントラネット等のネットワークシステムの普及に伴って、近年、ネットワーク管理の重要性が認知されてきている。ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎｅｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）は、ネットワークに接続された機器をネットワーク経由で監視することによってネットワークシステムを管理するプロトコルであって、質の高いネットワークシステム管理を低コストで実現する監視ツールとして広く普及している。
【０００３】
図１は、ＳＮＭＰによって管理されるネットワークシステムの一例を示す。図１のネットワークシステム１０は、ローカルエリアネットワーク（ＬＡＮ）等のネットワーク１４０を介して相互に接続された１台の端末装置１００と、３台の機器１１０、１２０及び１３０とを有する。
【０００４】
端末装置１００は、機器１１０、１２０及び１３０の夫々をネットワーク１４０経由で監視するパーソナルコンピュータ（ＰＣ）等の情報処理装置であって、一般的にマネージャと呼ばれるソフトウェア１０２を組み込まれている。
【０００５】
機器１１０、１２０及び１３０は、端末装置１００により管理されるネットワーク１４０上で監視対象となるネットワークプリンタ、インテリジェントハブ及びルータ等のデジタル機器であって、夫々、一般的にエージェントと呼ばれるインターフェース１１２、１２２及び１３２を組み込まれている。また、機器１１０、１２０及び１３０の夫々には、その機器の情報を保持する管理情報領域１１４、１２４及び１３４が設けられている。この管理情報領域は、一般にＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）と呼ばれる。
【０００６】
夫々の機器のエージェント１１２、１２２及び１３２は、端末装置１００に組み込まれたマネージャ１０２の要求に応じて、ＭＩＢ１１４、１２４及び１３４を参照して機器の情報を取得する。マネージャ１０２は、エージェント１１２、１２２及び１３２が取得したＭＩＢ１１４、１２４及び１３４の内容から、現在の機器の状態を判断する。
【０００７】
図２は、ＭＩＢの構造を示す概念図である。ＭＩＢには、オブジェクトと呼ばれる情報が格納されている。オブジェクトは、情報の要素によって木構造で管理され、夫々、オブジェクトＩＤ（ＯＩＤ）と呼ばれる識別子を割り当てられている。ＯＩＤは、木構造の階層ごとに割り当てられた枝番により表される。例えば、オブジェクト２１０のＯＩＤは、「１．３．６．１．２．１．１」のように表される。マネージャは、エージェントに対して、ＯＩＤを指定して機器の情報の取得及び設定変更を要求する。
【０００８】
また、ＳＮＭＰでは、監視対象である機器の情報の取得及び設定変更を行うためにＳＮＭＰメッセージを用いる。ＳＮＭＰメッセージは、バージョン情報、コミュニティ名及びＰＤＵ（Ｐｒｏｔｃｏｌ  Ｄａｔａ  Ｕｎｉｔｓ）を有する。ＰＤＵは、ＳＮＭＰのコマンドに相当するデータであり、最も一般的であるＳＮＭＰｖ１（バージョン１）では以下の種類がある。
（１）マネージャからエージェントへ送信するＳＮＭＰメッセージのＰＤＵ
（１−１）ＧｅｔＲｅｑｕｅｓｔ：指定したＯＩＤのオブジェクトの情報取得を要求
（１−２）ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ：指定したＯＩＤの階層的に次のオブジェクトの情報取得を要求
（１−３）ＳｅｔＲｅｑｕｅｓｔ：指定したＯＩＤのオブジェクトの情報変更を要求
（２）エージェントからマネージャへ送信するＳＮＭＰメッセージのＰＤＵ
（２−１）ＧｅｔＲｅｓｐｏｎｓｅ：マネージャからの要求に対する応答
（２−２）Ｔｒａｐ：自発的に機器の状態を通知
これらのＰＤＵによって、ＳＮＭＰは、情報の要求及びその応答、情報設定要求及びその応答、並びに、機器の状態変化の通知という３つの動作モードを有する。また、ＳＮＭＰｖ２（バージョン２）及びｖ３（バージョン３）のような他のバージョンでは、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔに加え、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔが追加されている。これにより、マネージャは、複数の連続するオブジェクトの情報を所定の数だけ取得することができる。この場合に、エージェント側で一度に送信可能なデータサイズの上限を超えているときは、送信可能なデータサイズ内に収まる情報のみが正常に取得される。
【０００９】
図３は、ＳＮＭＰメッセージのデータ構造の一例を示す。図３に示されるように、ＳＮＭＰは、基本的に、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｃｏｌ）により実現される。ＳＮＭＰメッセージ３０１は、ＩＰヘッダ及びＵＤＰヘッダの後に続き、バージョン情報、コミュニティ名及びＰＤＵの夫々が格納される領域３０２、３０３及び３０４を有する。コミュニティ名は、マネージャとエージェントとの間のパスワードとして利用され、エージェントは、そのエージェントが属するコミュニティの名前とマネージャから送信されたＳＮＭＰメッセージに含まれるコミュニティ名とを比較して、一致する場合にのみマネージャからの要求を受け付ける。
【００１０】
ＰＤＵには、上述したように、ＧｅｔＲｅｑｕｅｓｔ、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔ、ＳｅｔＲｅｑｕｅｓｔ、ＧｅｔＲｅｓｐｏｎｓｅ及びＴｒａｐがあるが、これらのうちＴｒａｐのみがその用途から異なるデータ構造を有する。図３では、Ｔｒａｐ以外のＰＤＵデータ構造を示す。
【００１１】
ＰＤＵ領域３０４は、ＰＤＵタイプ、リクエストＩＤ、エラーステータス、エラーインデックス及び変数バインディングリストの夫々が格納される領域３０５、３０６、３０７、３０８及び３０９を有する。ＰＤＵタイプ領域３０５には、上述したＰＤＵの種類に応じた値が格納される。リクエストＩＤ領域３０６には、マネージャからの要求とエージェントからの応答とを関連付けるためリクエストＩＤを示す値が格納される。エラーステータス領域３０７は、マネージャが要求したＳＮＭＰメッセージの中にエラーがあった場合に、エージェントからマネージャへ通知されるエラーステータスを示す値が格納される。エラーステータスには、以下の種類がある。
（１）ｎｏＥｒｒｏｒ：エラーなし
（２）ｔｏｏＢｉｇ：ＰＤＵのサイズが制限を超える場合
（３）ｎｏＳｕｃｈＮａｍｅ：要求されたオブジェクトが存在しない場合
（４）ｂａｄＶａｌｕｅ：ＳｅｔＲｅｑｕｅｓｔに矛盾する値が含まれる場合
（５）ｒｅａｄＯｎｌｙ：読み出ししかできないオブジェクトに対してＳｅｔＲｅｑｕｅｓｔが要求された場合
（６）ｇｅｎＥｒｒｏｒ：上記以外のエラー
なお、マネージャからエージェントへの要求時のＰＤＵでは、エラーステータスはｎｏＥｒｒｏｒを設定される。エラーインデックス領域３０８には、エラーが発生した場合に、ＰＤＵに含まれるどのデータにエラーが発生したのかを表すエラーインデックスを示す値が格納される。
【００１２】
変数バインディングリスト領域３０９には、１以上のオブジェクトの情報が格納されており、夫々の情報は、ＯＩＤ３１０及びその値３１２から成る。ＯＩＤ３１０は、夫々のオブジェクトに割り当てられた実際のＯＩＤの後にインスタンス識別子を付け加えた値で表される。インスタンス識別子は、オブジェクトが単一の値しか有さない場合には「０」を設定される。一方、オブジェクトがテーブル形式で複数の値を有する場合には、テーブル内の夫々の値に対して「１」以上の連続であるとは限られない数字により表されるインスタンス識別子が付与される。この場合に、従来、ＰＤＵとしてＧｅｔＮｅｘｔＲｅｑｕｅｓｔを用い、これを繰り返し呼び出すことにより、テーブル内の全ての情報を取得することが可能である。
【００１３】
図４は、テーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のシーケンス図である。情報取得の対象となるオブジェクトのＯＩＤは「１．２．３．４」であり、そのテーブルには１番目から８番目までの８つの値が収められているとする。また、このオブジェクトが格納されている変数バインディングリスト領域において次に格納されているオブジェクトのＯＩＤは、「１．２．３．５」であるとする。
【００１４】
最初に、ステップＳ４０１で、マネージャ１０２は、エージェント１１２に対して、ＯＩＤが「１．２．３．４」であるオブジェクトの階層的に次のオブジェクトの情報を取得するよう要求するためにＧｅｔＮｅｘｔＲｅｑｕｅｓｔを送る。これを受けて、ステップＳ４０２で、エージェント１１２は、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔにより指定されたＯＩＤ「１．２．３．４」の辞書順に見て次のＯＩＤ「１．２．３．４．１」が指定するオブジェクトの情報、即ち、ＯＩＤが「１．２．３．４」であるオブジェクトがテーブル形式で有する１番目の値をＭＩＢ１１４（図１参照。）から取得して、そのＯＩＤ「１．２．３．４．１」とともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ１０２へ通知する。
【００１５】
マネージャ１０２とエージェント１１２との間でこのようなやり取りが全部で９回繰り替えされると、９回目で、即ち、ステップＳ４１８で、マネージャ１０２は、ＯＩＤが「１．２．３．５」であるオブジェクトの情報を取得する。これにより、マネージャ１０２は、ＯＩＤの先頭が「１．２．３．４」ではなくなったので、ＯＩＤが「１．２．３．４」であるオブジェクトの全ての値を取得したと判断し、情報要求動作を完了する。
【００１６】
次に、図５は、マネージャが１つのＳＮＭＰメッセージにより複数のオブジェクトの情報の取得要求を行った場合のシーケンス図である。取得要求は、不連続なＯＩＤ「１．１．５．０」、「１．１．２０．０」、「１．１．２．０」、「１．３．８．０」、「１．１．１３．０」、「１．８．１２．０」、「１．１．９．０」、「１．１．２９．０」及び「１．９．１．０」を夫々有する９個のオブジェクトの情報に対してなされるとする。
【００１７】
最初に、ステップＳ５０１で、マネージャ１０２は、エージェント１１２に対して、ＯＩＤが「１．１．５．０」であるオブジェクトの情報を取得するよう要求するためにＧｅｔＲｅｑｕｅｓｔを送る。これを受けて、ステップＳ５０２で、エージェント１１２は、ＧｅｔＲｅｑｕｅｓｔにより指定されたＯＩＤ「１．１．５．０」を割り当てられたオブジェクトの情報をＭＩＢ１１４（図１参照。）から取得して、そのＯＩＤ「１．１．５．０」とともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ１０２へ通知する。
【００１８】
以降、同様に、マネージャ１０２は、情報を取得したいオブジェクトのＯＩＤを指定してＧｅｔＲｅｑｕｅｓｔをエージェント１１２に送り、一方、これを受けて、エージェント１１２は、ＧｅｔＲｅｑｕｅｓｔにより指定されたＯＩＤを割り当てられたオブジェクトの情報をＧｅｔＲｅｓｐｏｎｓｅとしてマネージャ１０２へ返す。マネージャ１０２が全ての情報を取得するために、マネージャ１０２とエージェント１１２との間でこのようなやり取りが全部で９回繰り替えされる。
【００１９】
図３を再び参照すると、明らかであるように、ＳＮＭＰメッセージ３０１は、複数のオブジェクトに対する要求を１つのメッセージとして格納することができる。即ち、１つのＳＮＭＰメッセージにより、複数のオブジェクトに対して情報の取得及び設定変更を要求することができる。従って、図５に示されるように複数のオブジェクトの夫々に対して情報の取得を要求するのではなく、一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能である。ただし、１度に無制限に大量のオブジェクトに対して情報の取得を要求した場合、その応答時に１度に送信可能なデータサイズの制限を超えてしまい、その結果エラーが発生するという問題があった。また、要求されたオブジェクトの一部がエージェント側で処理できない状態にある場合、他のオブジェクトに対する処理も実行されず、マネージャ側からのデータ取得及び設定に著しい障害となるという問題があった。
【００２０】
これらの問題を解決するために、特開平１１−２９６４５７号公報（特許文献１）は、ＳＮＭＰメッセージがエラーである場合に、ＳＮＭＰメッセージに複数のオブジェクトが含まれているかどうかを判断するオブジェクト解析ステップと、複数と判断された場合、単一のオブジェクトに分割する単一オブジェクト分割ステップと、単一のオブジェクトごとに、ＳＮＭＰメッセージを生成し、送信するＳＮＭＰメッセージ分割送信ステップとを備えることにより、最低限処理可能なオブジェクトに対しては正常にデータの取得及び設定を可能とする方法及び装置を開示する。
【特許文献１】特開平１１−２９６４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかし、特許文献１では、ＳＮＭＰメッセージがエラーである場合に１パケットで送信するオブジェクトを単一オブジェクトに分割するので、データ取得開始から取得終了までに要する時間が長くなるという問題がある。
【００２２】
また、ＳＮＭＰｖ２及びＳＮＭＰｖ３で用いられるＧｅｔＢｕｌｋＲｅｑｕｅｓｔは、図４で示されるように、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合には利用されないという問題がある。
【００２３】
本発明は、上記問題を鑑みて、機器からの効率的な情報取得を可能とする機器情報取得方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２４】
上記問題を解決するために、本発明の機器情報取得方法は、ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法であって、前記情報にテーブルとして含まれる複数の値の全てをＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、前記情報の範囲を示すＯＩＤと、前記機器から１度に取得する情報の個数とを前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する設定ステップと、前記ＯＩＤから前記個数ずつ前記情報の値を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信するメッセージ送信ステップと、該メッセージ送信ステップにおいて送信された第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信するメッセージ受信ステップとを有することができる。
【００２５】
これにより、ＳＮＭＰｖ２及びＳＮＭＰｖ３で用いられるＧｅｔＢｕｌｋＲｅｑｕｅｓｔは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となり、機器からの効率的な情報取得を可能とする機器情報取得方法を提供することができる。
【００２６】
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージの情報が、前記第１のＳＮＭＰメッセージの情報の範囲を示す前記ＯＩＤの範囲内か否かを判定する判定ステップを更に有し、該判定ステップにおいて、前記第２のＳＮＭＰメッセージの情報に前記ＯＩＤの範囲内にない情報が存在する場合に、前記機器からの情報の取得が完了したと判定し、前記第２のＳＮＭＰメッセージの情報のうち前記ＯＩＤの範囲内にある情報のみを取り出すことができる。
【００２７】
これにより、必要とされる適切な情報のみを取得することが可能となる。
【００２８】
また、上記目的を達成するために、本発明の機器情報取得方法は、ＳＮＭＰメッセージにより機器から情報を取得する機器情報取得方法であって、複数の情報をＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、前記機器から１度に取得する情報の個数を前記ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する設定ステップと、該設定ステップにおいて設定された個数を前記複数の情報のうち未取得である情報の個数と比較する比較ステップと、該比較ステップにおいて、前記個数が前記未取得である情報の個数より大きい場合に、前記未取得である情報の全てを取得するよう要求し、前記個数が前記未取得である情報の個数より小さい場合に、前記未取得である情報のうち前記個数だけ取得するよう要求する第１のＳＮＭＰメッセージを送信するメッセージ送信ステップと、該メッセージ送信ステップにおいて送信された第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信するメッセージ受信ステップとを有することができる。
【００２９】
従来、ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能であることが知られるが、このように機器から取得する情報の個数を設定することにより、機器からの応答時にデータサイズの制限を超えることに起因するエラーの発生確率を低減し、且つ、情報の取得開始から終了までに要する時間をも低減することが可能であって、機器からの効率的な情報取得を可能とする機器情報取得方法を提供することができる。
【００３０】
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、前記機器から情報を分割して取得するよう要求する第３のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することができる。
【００３１】
従来、複数の情報を取得する際にエラーが発生した場合には、１パケットで送信する情報を単一の情報に分割していたが、このように、単一の情報に限定せずに情報を複数に分割して要求し、１度に送信するデータサイズを低減することにより、低減されたデータサイズが送信可能な上限を超えていない限り正常に情報を取得することが可能であり、データ取得開始から取得終了までに要する時間が長くなるという問題を回避することができる。
【００３２】
更に望ましく、前記メッセージ再送ステップにおいて再送される第３のＳＮＭＰメッセージは、前記機器から情報を１つずつ分割して取得するよう要求することができる。
【００３３】
複数の情報を取得する際にエラーが発生した場合に、このように単一の情報を取得する方法に切り替えることにより、例えば、機器が複数の情報を取得するよう構成されていない等の何らかの理由によって１度に複数の情報を取得できない環境下であっても、正常に情報を取得することができる。
【００３４】
望ましくは、本発明の機器情報取得方法は、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、前記設定ステップにおいて設定された個数を減じて、前記機器に対して情報の取得を要求する第３のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを更に有することができる。
【００３５】
１度に取得する情報の個数が大きすぎてエラーが発生した場合に、このように、その個数を減じることにより、１度に取得することができる個数だけ情報を機器から正常に取得することができる。
【００３６】
望ましくは、本発明の機器情報取得方法は、前記メッセージ送信ステップにおいて、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて情報を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信した場合に、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージに前記メッセージ送信ステップにおいて取得を要求した情報の一部しか含まれないときは、前記メッセージ送信ステップにおいて取得を要求した残りの情報についてのみ再度取得を要求する第３のメッセージを送信する再取得メッセージ送信ステップを有することができる。
【００３７】
従来、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いた場合に、一度に送信可能なデータサイズの上限を超えているときは、送信可能なデータサイズ内に収まる情報のみが正常に取得されることが知られるが、このように、更に、正常に取得されなかったものについてのみ再取得を要求することにより無駄な処理を省くことができ、機器からの情報取得をより効率的とすることができる。
【００３８】
更に望ましくは、前記第３のメッセージは、前記設定ステップにおいて設定された個数を減じて、前記残りの情報について前記機器に対して再度取得を要求することができる。
【００３９】
１度に取得する情報の個数が大きすぎてエラーが発生した場合に、このように、その個数を減じることにより、次回の情報取得において、より確実に、１度に取得することができる個数だけ情報を機器から正常に取得することができる。
【００４０】
望ましくは、本発明の機器情報取得方法は、前記メッセージ送信ステップにおいて、ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔを用いて情報を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信し、前記メッセージ受信ステップにおいて受信された第２のＳＮＭＰメッセージがエラーである場合に、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔを利用可能なＳＮＭＰのバージョンに対応する場合には、前記メッセージ送信ステップにおいて取得を要求した情報について前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより再度取得を要求する第３のメッセージを送信する再取得メッセージ送信ステップを有し、前記バージョンに対応しない場合には、前記機器から情報を１つずつ分割して取得する取得するよう要求する第４のＳＮＭＰメッセージを前記機器に対して再送するメッセージ再送ステップを有することができる。
【００４１】
これにより、ＳＮＭＰのバージョンに対応して最適な処理を行うことが可能となり、無駄な処理を省くことができ、機器からの情報取得をより効率的とすることができる。
【００４２】
また、上記目的を達成するために、本発明の機器情報取得方法により取得要求を送信される機器は、前記取得要求に応じて情報を送信する。
【００４３】
これにより、情報の取得対象となる機器の負荷と、取得を要求する側の装置と機器との間のネットワークの負荷とを低減させることができる。
【００４４】
また、上記目的を達成するために、本発明の情報処理装置は、ＳＮＭＰメッセージにより機器から情報を取得する情報処理装置であって、前記情報にテーブルとして含まれる複数の値の全てをＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、前記情報の範囲を示すＯＩＤを前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定するＯＩＤ設定手段と、前記機器から１度に取得する情報の個数を前記ＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定する取得個数設定手段と、前記ＯＩＤから前記個数ずつ前記情報の値を取得するよう要求する第１のＳＮＭＰメッセージを前記機器に対して送信し、前記第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信する送受信手段とを有することができる。
【００４５】
これにより、ＳＮＭＰｖ２及びＳＮＭＰｖ３で用いられるＧｅｔＢｕｌｋＲｅｑｕｅｓｔは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となり、機器からの効率的な情報取得を可能とする情報処理装置を提供することができる。
【００４６】
また、上記目的を達成するために、本発明の情報処理装置は、ＳＮＭＰメッセージにより機器から情報を取得する情報処理装置であって、複数の情報をＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて取得する場合に、前記機器から取得する予定の未取得情報をリスト化する未取得リストと、前記機器から１度に取得する情報の個数を前記ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔに設定し、前記個数を前記未取得リストにリスト化された未取得情報の個数と比較する取得個数設定手段と、該取得個数設定手段により前記個数が前記未取得情報の個数より大きいと決定される場合に、前記未取得情報の全てを取得するよう要求し、前記取得個数設定手段により前記個数が前記未取得情報の個数より小さいと決定される場合に、前記未取得情報のうち前記個数だけ取得するよう要求する第１のＳＮＭＰメッセージを送信し、該第１のＳＮＭＰメッセージの応答としての第２のＳＮＭＰメッセージを前記機器から受信する送受信手段とを有することができる。
【００４７】
従来、ＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを用いて一度にまとめて複数のオブジェクトに対して情報の取得を要求することが可能であることが知られるが、このように、機器から取得する情報の個数を未取得情報の個数に適応するよう設定することにより、機器からの応答時にデータサイズの制限を超えることに起因するエラーの発生確率を低減し、機器からの効率的な情報取得を可能とする情報処理装置を提供することができる。
【発明の効果】
【００４８】
本発明により、機器からの効率的な情報取得を可能とする機器情報取得方法及び情報処理装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明の実施形態について添付の図面を参照して説明する。
【００５０】
図６は、本実施形態における情報処理装置のハードウェア構成の一例を表す図である。
【００５１】
図６の情報処理装置６００は、本発明によるネットワーク管理プログラムを実行可能な情報処理装置であって、バス６６によって相互に接続されたドライブ装置６１と、補助記憶装置６２と、メモリ装置６３と、演算処理装置６４と、インターフェース装置６５とを有する。情報処理装置６００により実行されるプログラムは、ＣＤ−ＲＯＭ等の記録媒体６７によって提供される。
【００５２】
ドライブ装置６１は、記録媒体６７を読み取るための装置である。プログラムを記録した記録媒体６７がドライブ装置６１にセットされると、プログラムが記録媒体６７からドライブ装置６１を介して補助記憶装置６２にインストールされる。補助記憶装置６２は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する装置である。メモリ装置６３は、プログラムの起動指示があった場合に、補助記憶装置６２からプログラムを読み出して格納する装置である。演算処理装置６４は、メモリ装置６３に格納されたプログラムに従って、情報処理装置６００を作動させる装置である。インターフェース装置６５は、情報処理装置６００を外部のネットワーク又は公衆回線へ接続するための装置である。
【００５３】
情報処理装置６００は、記録媒体６７に格納されたプログラムを実行することにより、図１に示したようなネットワークシステムに置かれ、ＳＮＭＰエージェントが組み込まれた機器をネットワーク経由で監視する。
【００５４】
図７は、図６の情報処理装置において本発明に係る機能構成の一例を表す図である。
【００５５】
図７において、情報処理装置は、ＳＮＭＰマネージャ６０２と、入力手段６０３とを有する。
【００５６】
ＳＮＭＰマネージャ６０２は、ＳＮＭＰエージェントが組み込まれた機器をネットワーク経由で監視するためのソフトウェアモジュールであって、エージェントと通信してＳＮＭＰメッセージを送受信する送受信手段６０４と、送受信手段６０４がエージェントと通信することにより得られたオブジェクトの情報を格納する取得情報データベース（ＤＢ）６０６と、エージェントから取得するオブジェクトの情報のＯＩＤを設定するＯＩＤ設定手段６０８と、１度の通信によりエージェントから取得するオブジェクトの情報の個数を設定する個数設定手段６１０とを有する。
【００５７】
取得情報ＤＢ６０５は、取得予定であるが、未だ取得されていない情報をリスト化して格納する未取得リスト６１２と、エージェントに対して取得要求を行う情報をリスト化して格納する取得要求リスト６１４と、取得した情報をリスト化して格納する最終結果リスト６１６とを有する。
【００５８】
入力手段６０３は、キーボード及びマウス等の入力装置（図示せず。）を介してユーザにより入力された設定値を受け、それをＳＮＭＰマネージャ６０２へ送るためのインターフェースとして機能する。
【００５９】
あるオブジェクトの情報をエージェントから取得する場合、入力手段６０３は、ユーザにより入力された情報取得の要求を、取得するオブジェクトの情報の個数及びそれらのＯＩＤとともにＳＮＭＰマネージャ６０２へ送る。ＳＮＭＰマネージャ６０２は、ユーザにより情報取得を要求された情報をリスト化して、取得情報ＤＢ６０６内の未取得リスト６１２に格納する。また、ＳＮＭＰマネージャ６０２は、取得するオブジェクトの情報の個数及びそれらのＯＩＤ等のユーザ入力に基づき、エージェントに対して取得要求を行う情報をリスト化して、取得情報ＤＢ６０６内の取得要求リスト６１４に格納する。送受信手段６０４は、ＯＩＤ設定手段６０８及び取得回数設定手段６１０の夫々の設定と、取得要求リスト６１４とを参照して、エージェントへ情報取得の要求に係るＳＮＭＰメッセージを送信する。また、送受信手段６０４は、エージェントから送られた応答に係るＳＮＭＰメッセージを受信する。エージェントから送られたＳＮＭＰメッセージに含まれるオブジェクトの情報は、リスト化されて取得情報ＤＢ６０６内の最終結果リスト６１６に格納され、同時に、未取得リスト６１２から削除される。最終的に未取得リスト６１２に格納されている情報がなくなるまで、ＳＮＭＰマネージャ６０２は上記のような動作を繰り返す。
【００６０】
以下、図７の情報処理装置による情報取得の動作について、具体的な例を挙げて説明する。
【実施例１】
【００６１】
図８は、本発明においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のフローチャートである。
【００６２】
テーブルとして複数の情報を有するオブジェクトに対して情報の取得要求を行うようユーザから入力手段６０３を介してマネージャ６０２へ伝えられると、最初に、ステップＳ８０１で、取得情報ＤＢ６０６は、その内容をクリアし、何も格納されていない状態とする。次に、ステップＳ８０２で、ユーザから入力手段６０３を介して入力された値に基づいて、ＯＩＤ設定手段６０８及び取得個数設定手段６１０は、夫々、取得開始ＯＩＤ及び取得個数を設定する。取得開始ＯＩＤは、複数の情報を１度に取得する場合に、そのＯＩＤの辞書順で次のＯＩＤ以降の情報を取得することを表す。取得個数は、複数の情報を取得する場合に、１度に取得できる情報の個数を表す。
【００６３】
ステップＳ８０３で、送受信手段６０４は、ＯＩＤ設定手段６０８及び取得回数設定手段８１０の夫々で設定された取得開始ＯＩＤ及び取得個数に基づいてＳＮＭＰメッセージを作成し、それをエージェントへ送信する。即ち、送受信手段６０４は、エージェントに対して、取得開始ＯＩＤから所定の個数の情報の取得要求を行うようＧｅｔＢｕｌｋＲｅｑｕｅｓｔを送る。その後、ステップＳ８０４で、送受信手段６０４は、エージェントから応答（ＧｅｔＲｅｓｐｏｎｓｅ）として送られたＳＮＭＰメッセージを受信する。これにより、送受信手段６０４は、前のステップで取得要求を行った情報を取得することができる。
【００６４】
情報取得後、ステップＳ８０５で、ＯＩＤ設定手段６０８は、取得した情報のＯＩＤの先頭部が取得開始ＯＩＤの先頭部を超えているか否かを判定する。ここで、ＯＩＤの先頭部とは、ＯＩＤの接尾に付与されたインスタンス識別子を除いた部分のことである。
【００６５】
取得した情報のＯＩＤの先頭部が取得開始ＯＩＤの先頭部を超えていなかった場合には、ステップＳ８０６で、送受信手段６０４は、取得した情報の全てをリスト化して、取得情報ＤＢ６０６内の最終結果リスト６１６に格納する。次に、ステップＳ８０７で、ＯＩＤ設定手段６０８は、取得した情報のうち順序が最後のもののＯＩＤを取得し、これを取得開始ＯＩＤに再設定する。その後、ステップＳ８０３に戻り、以降のステップが繰り返される。
【００６６】
一方、取得した情報のＯＩＤの先頭部が取得開始ＯＩＤの先頭部を超えていた場合には、ステップＳ８０８で、送受信手段６０４は、取得した情報のうち、そのＯＩＤの先頭部が取得開始ＯＩＤの先頭部を超えていないものだけをリスト化して、取得情報ＤＢ６０６内の最終結果リスト６１６に格納する。
【００６７】
最後に、ステップＳ８０９で、送受信手段６０４は、最終結果リスト６１６の内容、即ち、取得した情報のリストを取得結果としてユーザへ返す。
【００６８】
このように、本発明により、ＳＮＭＰｖ２及びＳＮＭＰｖ３で用いられるＧｅｔＢｕｌｋＲｅｑｕｅｓｔは、テーブルとして複数の値を有するオブジェクトに対してその値の全てを連続して取得する場合にも利用可能となる。
【００６９】
本発明の効果をより明確にするために、図４を参照して説明した従来技術による動作に本発明を適用した場合について説明する。
【００７０】
図９は、図４に示される従来技術による動作に本発明を適用した場合のシーケンス図である。図４の動作と同じく、情報取得の対象となるオブジェクトのＯＩＤは「１．２．３．４」であり、そのテーブルには１番目から８番目までの８つの値が収められているとする。また、このオブジェクトが格納されている変数バインディングリスト領域において次に格納されているオブジェクトのＯＩＤは、「１．２．３．５」であるとする。ただし、本実施例では、更に、１度に取得できる取得個数が５個と設定されるとする。
【００７１】
最初に、ステップＳ９０１で、マネージャ６０２は、エージェント１１２に対して、取得開始ＯＩＤ及び取得個数を夫々「１．２．３．４」及び「５」と指定してＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより情報取得を要求する。これを受けて、Ｓ９０２で、エージェント１１２は、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより指定された取得開始ＯＩＤ「１．２．３．４」の辞書順に見て次のＯＩＤ「１．２．３．４．１」以降の５個の情報をＭＩＢ１１４（図１参照。）から取得して、それらのＯＩＤ「１．２．３．４．１」、「１．２．３．４．２」、「１．２．３．４．３」、「１．２．３．４．４」及び「１．２．３．４．５」とともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ６０２へ通知する。
【００７２】
次に、ステップＳ９０３で、マネージャ６０２は、先に取得した情報のＯＩＤのうち辞書順で最後となる「１．２．３．４．５」を新たに取得開始ＯＩＤとして指定し、再び取得個数を「５」と指定して、エージェント１１２に対してＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより情報取得を要求する。これを受けて、Ｓ９０４で、エージェント１１２は、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔにより指定された取得開始ＯＩＤ「１．２．３．４．５」の辞書順に見て次のＯＩＤ「１．２．３．４．６」以降の５個の情報をＭＩＢ１１４から取得して、それらのＯＩＤ「１．２．３．４．６」、「１．２．３．４．７」、「１．２．３．４．８」、「１．２．３．５」及び「１．２．３．５．１」とともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ６０２へ通知する。
【００７３】
この時点で、マネージャ６０２は、ＯＩＤ「１．２．３．４．１」以降の１０個の情報を取得しているが、取得した情報の中には、本来取得する必要のない情報も含まれている場合がある。本実施例では、ＯＩＤからインスタンス識別子を除いた先頭部分が「１．２．３．４」ではないＯＩＤの情報は、取得対象ではない。従って、先頭部分が「１．２．３．５」である情報を除く８個の情報が、最終的に取得結果としてユーザに返される。
【００７４】
従って、マネージャとエージェントとの間で発生する通信は、従来技術では全部で１８回であったが、本実施例では４回に低減されている。
【実施例２】
【００７５】
図１０は、本発明においてマネージャが１つのＳＮＭＰメッセージにより複数のオブジェクトの情報の取得要求を行った場合のフローチャートである。
【００７６】
不連続なＯＩＤを夫々有する複数のオブジェクトに対して情報の取得要求を行うようユーザから入力手段６０３を介してマネージャ６０２へ伝えられると、最初に、ステップＳ１００１で、取得情報ＤＢ６０６は、ユーザが情報を取得するよう要求した複数の情報をリスト化して、未取得リスト６１２に格納する。ステップＳ１００２で、取得個数設定手段６１０は、ユーザから入力手段６０３を介して入力された値に基づいて、取得個数を設定する。また、ステップＳ１００３で、取得情報ＤＢ６０６は、取得要求リスト６１４及び最終結果リスト６１６の内容をクリアし、何も格納されていない状態とする。
【００７７】
次に、ステップＳ１００４で、取得個数設定手段６１０は、先に設定した取得個数が未取得リスト６１２にリスト化された情報の数よりも多いか否かを判定する。
【００７８】
取得個数の方が多い場合には、ステップＳ１００５で、取得情報ＤＢ６０６は、未取得リスト６１２にリスト化された全ての情報を、取得要求リスト６１４にもリスト化して格納する。一方、取得個数の方が少ない場合には、ステップＳ１００６で、取得情報ＤＢ６０６は、未取得リスト６１２にリスト化された情報のうち取得個数分だけ、取得要求リスト６１４にもリスト化して格納する。
【００７９】
ステップＳ１００６で、送受信手段６０４は、取得要求リスト６１４にリスト化された情報の取得を要求するＳＮＭＰメッセージを作成し、それをエージェントへ送信する。即ち、送受信手段６０４は、エージェントに対して、取得したい情報のうち所定の個数だけ取得要求を行うようＧｅｔＲｅｑｕｅｓｔ又はＧｅｔＮｅｘｔＲｅｑｕｅｓｔ若しくはＧｅｔＢｕｌｋＲｅｑｕｅｓｔを送る。その後、ステップＳ１００７で、送受信手段６０４は、エージェントから応答（ＧｅｔＲｅｓｐｏｎｓｅ）として送られたＳＮＭＰメッセージを受信する。
【００８０】
メッセージ受信後、ステップＳ１００９で、送受信手段６０４は、ＳＮＭＰメッセージに取得要求を行った情報が含まれるか否か、即ち、情報の取得に成功したか否かを判定する。
【００８１】
要求した全ての情報の取得に成功した場合には、ステップ１０１１で、送受信手段６０４は、取得した情報の全てをリスト化して、取得情報ＤＢ６０６内の最終結果リスト６１６に格納する。また、要求した情報のうち一部の取得に成功した場合には、ステップＳ１０１０で、取得個数設定手段６１０は、取得個数を現在の値から減じて再設定し、その後、ステップＳ１０１１で、取得した情報の全てをリスト化して、取得情報ＤＢ６０６内の最終結果リスト６１６に格納する。
【００８２】
取得した情報が最終結果リスト６１６でリスト化された後、又は同時に、取得情報ＤＢ６０６は、取得した情報を未取得リスト６１２から削除する。次に、ステップＳ１０１３で、取得情報ＤＢ６０６は、未取得リスト６１２にリスト化された情報が存在するか否かを判定する。
【００８３】
未取得リスト６１２にリスト化された情報が存在した場合には、ステップＳ１００３に戻り、以降のステップが繰り返される。一方、存在しなかった場合には、ステップＳ１０１４で、送受信手段６０４は、最終結果リスト６１６の内容、即ち、取得した情報のリストを取得結果としてユーザへ返す。
【００８４】
また、先のステップＳ１００８で情報の取得に失敗したと判定された場合には、送受信手段６０４は、情報の取得ができなかった旨を取得結果としてユーザへ返す。
【００８５】
このように、複数のオブジェクトの情報を取得する場合に、次に要求する取得個数を再設定することにより情報取得の成否に対応しており、効率的な情報取得が可能となる。また、情報取得に失敗した場合には、取得できなかった情報対してのみ再度取得要求を行うので、更に効率的な情報取得が可能となる。
【００８６】
本発明の効果をより明確にするために、図５を参照して説明した従来技術による動作に本発明を適用した場合について説明する。
【００８７】
図１１は、図５に示される従来技術による動作に本発明を適用した場合のシーケンス図である。図５の動作と同じく、取得要求は、不連続なＯＩＤ「１．１．５．０」、「１．１．２０．０」、「１．１．２．０」、「１．３．８．０」、「１．１．１３．０」、「１．８．１２．０」、「１．１．９．０」、「１．１．２９．０」及び「１．９．１．０」を夫々有する９個のオブジェクトの情報に対してなされるとする。ただし、本実施例では、更に、１度に取得できる取得個数が５個と設定されるとする。
【００８８】
最初に、Ｓ１１０１で、マネージャ６０２は、エージェント１１２に対して、取得したい９個の情報のうちＯＩＤが「１．１．５．０」、「１．１．２０．０」、「１．１．２．０」及び「１．３．８．０」、「１．１．１３．０」である５個のオブジェクトの情報を取得するよう要求するために、ＧｅｔＲｅｑｕｅｓｔを送る。これを受けて、Ｓ１１０２で、エージェント１１２は、ＧｅｔＲｅｑｕｅｓｔにより指定されたＯＩＤ「１．１．５．０」、「１．１．２０．０」、「１．１．２．０」及び「１．３．８．０」、「１．１．１３．０」を夫々割り当てられたオブジェクトの情報をＭＩＢ１１４（図１参照。）から取得して、それらのＯＩＤとともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ６０２へ通知する。
【００８９】
次に、Ｓ１１０３で、マネージャ６０２は、取得したい残りの４個の情報に対して取得要求を行うために取得個数を５個から４個に変更した後、ＯＩＤが「１．８．１２．０」、「１．１．９．０」、「１．１．２９．０」及び「１．９．１．０」である４個のオブジェクトの情報を取得するよう要求するために、ＧｅｔＲｅｑｕｅｓｔを送る。これを受けて、Ｓ１１０３で、エージェント１１２は、ＧｅｔＲｅｑｕｅｓｔにより指定されたＯＩＤ「１．８．１２．０」、「１．１．９．０」、「１．１．２９．０」及び「１．９．１．０」を夫々割り当てられたオブジェクトの情報をＭＩＢ１１４から取得して、それらのＯＩＤとともにＧｅｔＲｅｓｐｏｎｓｅによりマネージャ６０２へ通知する。
【００９０】
従って、マネージャとエージェントとの間で発生する通信は、従来技術では全部で１８回であったが、本実施例では４回に低減されている。更に、本発明では、情報取得の成否に限らず、未だ取得されていない情報の個数に応じて次に要求する取得個数を再設定することができるので、余分な情報を取得してしまうといった無駄も除かれている。
【００９１】
［変形例］
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
【００９２】
例えば、本発明の実施形態では、本発明は、情報処理装置のハードディスク（ＨＤＤ）及び読出し専用メモリ（ＲＯＭ）等のメモリに格納されたプログラムによって実現されるとしたが、あるいは、情報処理装置においてハードウェアとして実現されても良い。
【００９３】
また、上記実施例において、情報取得の全て又は一部にエラーであった場合には、予め設定された取得個数を減じることにより、次回以降は機器から正常に情報を取得できるよう対応していたが、あるいは、情報を分割して取得するよう機器に対して要求することにより対応しても良い。また、例えば、機器が複数の情報を取得するよう構成されていない等の何らかの理由によって１度に複数の情報を取得できない環境下では、単一の情報ごとに分割して取得するよう機器に対して要求しても良い。
【００９４】
また、上記実施例の夫々を組み合わせることも可能であり、情報取得の全て又は一部にエラーであった場合に、ＳＮＭＰのバージョンに応じて最適なエラー処理を行うことができる。
【図面の簡単な説明】
【００９５】
【図１】ＳＮＭＰによって管理されるネットワークシステムの一例を示す。
【図２】ＭＩＢの構造を示す概念図である。
【図３】ＳＮＭＰメッセージのデータ構造の一例を示す。
【図４】従来技術においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のシーケンス図である。
【図５】従来技術においてマネージャが１つのＳＮＭＰメッセージにより複数のオブジェクトの情報の取得要求を行った場合のシーケンス図である。
【図６】本実施形態における情報処理装置のハードウェア構成の一例を表す図である。
【図７】図６の情報処理装置において本発明に係る機能構成の一例を表す図である。
【図８】本発明においてテーブルとして複数の情報を有するオブジェクトの全ての値を取得する場合のフローチャートである。
【図９】図４に示される従来技術による動作に本発明を適用した場合のシーケンス図である。
【図１０】本発明においてマネージャが１つのＳＮＭＰメッセージにより複数のオブジェクトの情報の取得要求を行った場合のフローチャートである。
【図１１】図５に示される従来技術による動作に本発明を適用した場合のシーケンス図である。
【符号の説明】
【００９６】
１０２、６０２  マネージャ
１１２、１２２、１３２  エージェント
１１４、１２４、１３４  ＭＩＢ
３０１  ＳＮＭＰメッセージ
３０４  ＰＤＵ
３１０  ＯＩＤ
６００  情報処理装置
６０３  入力手段
６０４  送受信手段
６０６  取得情報ＤＢ
６０８  ＯＩＤ設定手段
６１０  取得個数設定手段
６１２  未取得リスト
６１４  取得要求リスト
６１６  最終結果リスト
６７  記憶媒体
【図１】
2008071197.tif 000003
【図２】
2008071197.tif 000004
【図３】
2008071197.tif 000005
【図４】
2008071197.tif 000006
【図５】
2008071197.tif 000007
【図６】
2008071197.tif 000008
【図７】
2008071197.tif 000009
【図８】
2008071197.tif 000010
【図９】
2008071197.tif 000011
【図１０】
2008071197.tif 000012
【図１１】
2008071197.tif 000013