説明

SNMPエージェント通信装置

【課題】SNMPマネージャ通信装置とSNMPエージェント通信装置と間におけるMIB不整合を確実に防止する。
【解決手段】SNMPエージェント通信装置13a(〜13n)は、SNMPマネージャ通信装置11から送られてくる要求パケットを解析し、上位アプリケーション31へ通知する。上位アプリケーション31は、要求パケットの解析結果に基づき、指定されたオブジェクトIDに従って所定の処理を実行し、その後、MIB325、326に対するSET/GETの要求処理を実施する。上位アプリケーション31は、要求パケットがGET(取得)要求であった場合は、MIB325、326をアクセスして現在の情報を取得し、SNMP321へ送る。SNMP321は、上位アプリケーション31を経由して取得した情報を応答パケットとして通信回線25を経由してSNMPマネージャ通信装置11へ送る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SNMP(Simple Network Management Protocol)エージェント機能を有するルータ(Router)やハブ(HUB)等の通信装置に係り、特にSNMPマネージャ機能を有する通信装置とエージェント機能を有する通信装置間で管理するオブジェクト(MIB:Management Information Base)定義の整合性をSNMPエージェント側で保持するSNMPエージェント通信装置に関する。
【背景技術】
【0002】
SNMPに基づいて通信を行なうネットワークは、従来から一般に知られている(例えば、特許文献1参照。)。
図1は、本発明の対象とするネットワークシステムの全体の概略構成を示すシステム構成図である。図1において、11はマネージャ機能を有するSNMPマネージャ通信装置(管理ステーション)で、このSNMPマネージャ通信装置11には、ネットワーク12を介してエージェント機能を有する複数のSNMPエージェント通信装置(被管理対象)13a〜13nが接続される。上記SNMPエージェント通信装置13a〜13nは、例えばルータ(Router)やハブ(HUB)等の通信装置を指すが、SNMPを用いて管理される通信装置であれば、特に限定されるものではない。
【0003】
上記SNMPエージェント通信装置13a〜13nは、SNMPマネージャ通信装置11によりMIB(Management Information base)定義に基づき遠隔管理されるものであり、SNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)処理及びGET(取得)処理を実行する。
【0004】
図6は、従来のSNMPエージェント通信装置13a′(〜13n′)におけるSNMPパケットフロー図であり、(1)〜(11)の破線矢印で示した流れが実際のSNMPパケットの流れを示している。
【0005】
従来のSNMPマネージャ通信装置11′は、図6に示すように上位アプリケーション(上位AP)21、プロトコル(Protocol)スタック部22、ドライバ/OS部23からなっている。上記プロトコルスタック部22は、SNMP221、UDP(User Datagram Protocol)222、TCP(Transmission Control Protocol)223、IP(Internet Protocol)224を備えると共に、揮発RAMからなる第1のMIB(Management Information base:データベース)225、及び不揮発RAMからなる第2のMIB226を備えている。
【0006】
また、上記ドライバ/OS部23は、ドライバ(Driver)231及びOS(Operating System)232を備えている。
また、従来のSNMPエージェント通信装置13a′(〜13n′)は、上位アプリケーション(上位AP)31、プロトコル(Protocol)スタック部32、ドライバ/OS部33からなっている。上記プロトコルスタック部32は、SNMP321、UDP(User Datagram Protocol)322、TCP(Transmission Control Protocol)323、IP(Internet Protocol)324を備えると共に、揮発RAMからなる第1のMIB(Management Information base)325、及び不揮発RAMからなる第2のMIB326を備えている。また、ドライバ/OS部33は、ドライバ(Driver)331及びOS(Operating System)332を備えている。
【0007】
そして、上記SNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)との間は、通信回線25により接続される。
【0008】
以下、従来のSNMPエージェント通信装置13a′(〜13n′)がSNMPマネージャ通信装置11′から要求されるMIB定義情報のSET(更新)及びGET(取得)処理を行なう場合のSNMPパケットフローについて、図6を参照して説明する。
【0009】
(1)SNMPマネージャ通信装置11′は、SNMP221の管理に基づいて、SNMPエージェント通信装置13a′(〜13n′)が持っている現在の機器の情報を取得するためのSET(更新)/GET(取得)処理の要求パケットをドライバ/OS部23から送信する。
【0010】
(2)SNMPマネージャ通信装置11′から出力される要求パケットは、通信回線25を経由してSNMPエージェント通信装置13a′(〜13n′)へ送られる。
【0011】
(3)SNMPエージェント通信装置13a′(〜13n′)は、受信した要求パケットをSNMP321に入力して解析を実施する。
【0012】
(4)SNMP321は、解析結果に基づき、SNMPマネージャ通信装置11′で指定されたオブジェクトIDに従って、MIB325、326におけるMIBを更新する。
【0013】
(5)また、上記要求パケットがGET(取得)要求であった場合は、MIB325、326をアクセスして現在の情報を取得し、この取得した情報によりSNMPマネージャ通信装置11′からの要求パケットのデータエリアを更新する。
【0014】
(6)SNMP321は、取得した情報を応答パケットとしてドライバ/OS部33から送信する。
【0015】
(7)また、上記SNMP321は、上記応答パケットを送信した後、上位アプリケーション31に対し、SNMPマネージャ通信装置11′へ情報を送信した旨の通知を行なう。上位アプリケーション31は、上記SNMP321からの通知を受けて所定の処理を実行する。
【0016】
(8)上記SNMPエージェント通信装置13a′(〜13n′)から出力される応答パケットは、通信回線25を経由してSNMPマネージャ通信装置11′へ送られる。
【0017】
(9)SNMPマネージャ通信装置11′は、受信した応答パケットをSNMP221に入力して解析を実施する。
【0018】
(10)SNMP221は、上記応答パケットの解析結果に基づいてMIB225、226をアクセスして情報を更新する。
【0019】
(11)また、SNMP221は、MIB225、226の更新情報に基づいて処理が必要な場合、その処理を実施する。
【0020】
図7は、上記SNMPエージェント通信装置13a′(〜13n′)のソフトウェア制御図である。
SNMPエージェント通信装置13a′(〜13n′)は、起動すると同時にSNMPエージェントメインタスクが生成され、SNMPマネージャ通信装置11′から送られてくるSET(更新)/GET(取得)要求パケットの入力待ちの状態となる(ステップA1)。この状態で、SNMPマネージャ通信装置11′からのSET/GETの要求パケットを受信すると、SNMPにて規定されているパラメタチェックを行ない(ステップA2)、正常であればオブジェクトID毎の処理関数CALLを行ない、対象のオブジェクトIDでのMIB情報の更新/取得、応答パケットの作成を行なう(ステップA3)。そして、上記作成した応答パケットをSNMPマネージャ通信装置11′へ送信する(ステップA4)。その後、上位アプリケーション31に対し、SNMPマネージャ通信装置11′へ情報を送信した旨の通知を行なって所定の処理を実行する(ステップA5)。上記上位アプリケーション31への通知を行なった後は、ステップA1に戻り、再びSNMPパケットの入力待ちの状態となる。
【特許文献1】特開2000−181827号公報
【発明の開示】
【発明が解決しようとする課題】
【0021】
上記従来のSNMPエージェント通信装置13a′(〜13n′)では、上記(6)のステップで応答パケットをSNMPマネージャ通信装置11′へ送信した後、(7)のステップにて上位アプリケーション31に対する通知を行なっているので、上位アプリケーション31の処理結果における可否については、SNMPマネージャ通信装置11′へ送信する応答パケットに反映されないという問題がある。
【0022】
SNMPマネージャ通信装置11′においては、応答パケットに含まれる制御結果に応じてMIB225、226のMIB情報を更新するが、SNMPエージェント通信装置13a′(〜13n′)にて上記(7)のステップで発生する上位アプリケーション31の処理が異常終了した場合、SNMPマネージャ通信装置11′で保持/管理しているMIB情報を別の値にて更新あるいは制御前の状態に戻す場合が発生する。このような状況が発生した場合、SNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)でのMIB値が異なってしまう可能性がある。
【0023】
上記のようにSNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)との間でMIB不整合が発生した場合の対処の一つとして、SNMPエージェント通信装置13a′(〜13n′)の状態変化をSNMPマネージャ通信装置11′へ通知するTRAPパケットによる処理がSNMPでサポートされている。
【0024】
しかし、上記TRAPパケット通知により、SNMPエージェント通信装置13a′(〜13n′)の状態変化をSNMPマネージャ通信装置11′に通知した場合でも、SNMPマネージャ通信装置11′では応答パケットをトリガとして該当処理を開始するため、TRAPパケットによる通知で該当処理を中断若しくは終了させたとしても、システムとして一時的にMIB情報の不整合による不安定な状況になると考えられる。
【0025】
また、SNMPマネージャ通信装置11′によって複数のSNMPエージェント通信装置13a′(〜13n′)を管理及び制御するシステムにおいては、SNMPマネージャ通信装置11′からSNMPエージェント通信装置13a′(〜13n′)に対する要求パケット(SET/GET処理の要求パケット)が応答パケットとは非同期で、且つバースト的に発生する可能性がある。例えばSNMPマネージャ通信装置11′に該当するプリンタサーバからSNMPエージェント通信装置13a′(〜13n′)に該当するプリンタ本体へのインク残量の問い合わせがプリンタサーバを利用しているユーザから一斉に行なわれた場合等が考えられる。
【0026】
上記のような状況が発生した場合、図7で示したようなソフトウェア制御構造では、その処理性能上、上記要求パケットに対する応答パケットが破棄されるか大幅に遅延する恐れがある。このため上記したようにシステムとして一時的にMIBの不整合による不安定な状況が発生し、若しくはSNMPマネージャ通信装置11′からの要求パケット再送処理に伴う通信トラフィックの増大が懸念される。
【0027】
本発明は上記の課題を解決するためになされたもので、SNMPマネージャ通信装置からSNMPエージェント通信装置に対する要求パケットが応答パケットとは非同期で、且つバースト的に発生した場合であっても、上記両通信装置間におけるMIB不整合を確実に防止し得るSNMPエージェント通信装置を提供することを目的とする。
【課題を解決するための手段】
【0028】
第1の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットを上位アプリケーションへ通知し、該上位アプリケーションからMIBにアクセスしてMIB定義情報の更新/取得処理を実行し、前記要求パケットが取得要求であった場合に前記上位アプリケーションがMIBから取得した情報を応答パケットとして前記SNMPマネージャ通信装置へ送信することを特徴とする。
【0029】
第2の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットに対する処理を行なうタスクを処理パケット毎に分散させ、選択されたタスクにおいて前記要求パケットに対する処理要求メッセージを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段と、前記要求パケットを上位アプリケーションへ通知した際、該上位アプリケーションから応答メッセージが出力されるまでの時間を監視タイマにより監視し、前記応答メッセージが規定時間以上出力されなかった場合に前記要求パケットを異常処理し、待ち状態となっている新規の更新/取得処理の要求パケットを動作させる手段とを具備することを特徴とする。
【0030】
第3の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、該要求パケットを解析して軽負荷の要求パケットの優先度を高く設定する優先度設定手段と、前記優先度設定手段により設定された優先度の高い要求パケットを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段とを具備することを特徴とする。
【発明の効果】
【0031】
本発明によれば、SNMPエージェント通信装置側で受信したMIB定義情報の更新/取得処理の要求パケットを上位アプリケーションへ通知し、上位アプリケーションからMIBへのアクセスを行なわせることにより、上位アプリケーションでの処理結果を反映した情報をSNMPマネージャ通信装置へ送信することが可能となり、SNMPマネージャ通信装置とSNMPエージェント通信装置との間におけるMIB不整合を確実に防止することができる。
【0032】
また、SNMPマネージャ通信装置からのバースト的なパケット入力に対しても、複数のタスクに分散して処理することにより、過負荷に対する処理正常性の向上を図ることができる。更に、要求パケットに処理優先度を設定し、軽負荷のパケット処理を優先させることで、負荷に対する処理性能を更に向上することができる。
【発明を実施するための最良の形態】
【0033】
以下、図面を参照して本発明の一実施形態を説明する。
本発明は、上記図1で説明したようにマネージャ機能を有するSNMPマネージャ通信装置(管理ステーション)11と、このSNMPマネージャ通信装置11にネットワーク12を介して接続されるエージェント機能を有する複数のSNMPエージェント通信装置(被管理対象)13a〜13nからなるネットワークシステムを対象としている。
【0034】
上記SNMPエージェント通信装置13a〜13nは、SNMPマネージャ通信装置11によりMIB(Management Information base)定義に基づき遠隔管理されるものであり、SNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)処理及びGET(取得)処理を実行する。
【0035】
図2は、本発明の一実施形態に係るSNMPエージェント通信装置13a〜13nにおけるSNMPパケットフロー図であり、(1)〜(12)の破線矢印で示した流れが実際のSNMPパケットの流れを示している。
【0036】
上記SNMPマネージャ通信装置11は、従来のSNMPマネージャ通信装置11′と同様の構成であり、上位アプリケーション21、プロトコル(Protocol)スタック部22、ドライバ/OS部23からなっている。
【0037】
また、SNMPエージェント通信装置13a〜13nは、従来のSNMPエージェント通信装置13a′(〜13n′)と同様の構成であり、上位アプリケーション31、プロトコル(Protocol)スタック部32、ドライバ/OS部33からなっている。
【0038】
以下、上記SNMPエージェント通信装置13a(〜13n)がSNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)/GET(取得)を行なう場合のSNMPパケットフローについて、図2を参照して説明する。
【0039】
(1)SNMPマネージャ通信装置11は、SNMP221の管理に基づいて、SNMPエージェント通信装置13a(〜13n)が持っている現在の機器の情報を取得するためのSET/GETの要求パケットをドライバ/OS部23から出力する。
【0040】
(2)SNMPマネージャ通信装置11から出力される要求パケットは、通信回線25を経由してSNMPエージェント通信装置13a(〜13n)へ送られる。
【0041】
(3)SNMPエージェント通信装置13a(〜13n)は、受信した要求パケットをSNMP321に入力して解析を実施する。
【0042】
(4)SNMP321は、受信したSET/GETの要求パケットを上位アプリケーション31へ通知する。
【0043】
(5)上位アプリケーション31は、要求パケットの解析結果に基づき、SNMPマネージャ通信装置11で指定されたオブジェクトIDに従って所定の処理を実行し、その後、MIB325、326に対するSET/GETの要求処理を実施する。
【0044】
(6)上位アプリケーション31は、上記要求パケットがGET(取得)要求であった場合は、MIB325、326をアクセスして現在の情報を取得する。
【0045】
(7)上記上位アプリケーション31がMIB325、326から取得した情報は、SNMP321へ送られる。
【0046】
(8)SNMP321は、上位アプリケーション31を経由して取得した情報を応答パケットとしてドライバ/OS部33から出力する。
【0047】
(9)上記SNMPエージェント通信装置13a(〜13n)から出力される応答パケットは、通信回線25を経由してSNMPマネージャ通信装置11へ送られる。
【0048】
(10)SNMPマネージャ通信装置11は、受信した応答パケットをドライバ/OS部23からSNMP221に入力して解析を実施する。
【0049】
(11)SNMP221は、上記応答パケットの解析結果に基づいてMIB225、226をアクセスして情報を更新する。
【0050】
(12)また、SNMP221は、MIB225、226の更新情報に基づいて処理が必要な場合は、その処理を実施する。
【0051】
上記のようにSNMPエージェント通信装置13a(〜13n)側で受信したMIB定義情報の更新/取得処理の要求パケットを上位アプリケーション31へ通知し、上位アプリケーション31からMIB325,326へのアクセスを行なわせることにより、上位アプリケーション31での処理結果を反映した情報をSNMPマネージャ通信装置11へ送信することが可能となり、SNMPマネージャ通信装置11とSNMPエージェント通信装置13a(〜13n)との間におけるMIB不整合を確実に防止することができる。
【0052】
図3は、上記SNMPエージェント通信装置13a(〜13n)のソフトウェア制御図である。
まず、ソフトウェア全体の構成として、従来ではSNMPエージェントメインタスクのみによって行なっていた処理を、本実施形態ではSNMPエージェント子タスクにて処理することを特徴としている。また、SNMPエージェント子タスクは、システムで規定する制限値まで、受信するSNMP要求パケットの負荷に応じて生成することが可能である。つまり、SNMPエージェントメインタスクでは、SNMPマネージャ通信装置11からのSET/GET要求パケット受信とパラメタチェック、SNMPエージェント子タスクの生成が主な機能となり、SNMPエージェント子タスクでは実際のSET/GET要求パケット処理が主な機能となる。
【0053】
以下、図3に従って詳細な処理シーケンスを説明する。
SNMPエージェントメインタスクは、SNMPエージェント通信装置13a(〜13n)が起動すると同時に生成/動作し、SNMPマネージャ通信装置11からのSET/GET要求パケット入力待ちの状態となる(ステップB1)。SNMPエージェントメインタスクは、SNMPマネージャ通信装置11からのSET/GET要求パケットを受信すると、SNMPにて規定されているパラメタチェックを行ない(ステップB2)、正常であればSNMPエージェント子タスクを起動させるための前処理として受信したSET/GET要求パケットに対して、SNMPエージェント子タスクにて処理中である旨のフラグを設定する(ステップB3)。その後、SNMPエージェント子タスクを生成し、SNMPエージェントメインタスクは無限ループにて、SNMPマネージャ通信装置11からのSET/GET要求パケットの入力待ちの状態となる。
【0054】
SNMPエージェント子タスクは、タスク生成後に既に起動している他のSNMPエージェント子タスクの起動総数が、システムにて規定される子タスク生成の制限値を超えていないかをチェックする(ステップC1)。本チェックにて、システムにて規定されている子タスク生成の制限値を超えている場合には、SNMPエージェント通信装置13a(〜13n)の処理性能以上の負荷が発生しているか、あるいはSNMPエージェント通信装置13a(〜13n)に重大な問題が発生し、処理が不可能な状態であるかのどちらかである。しかし、何れの場合でもSNMPマネージャ通信装置11に対して、応答パケットを送信しなければならないため、制御NGにて応答パケットを送信する。なお、SNMPエージェント通信装置13a(〜13n)に重大な欠陥が発生しているか否かについては、SNMPマネージャ通信装置11からのSET/GET要求パケットを一時中断して再開した場合、正常な応答パケットが送信されるかどうかで判定可能である。また、このような重大な問題が発生する可能性を低減させるため、詳細を後述するように上位アプリケーション31側でタイマ監視による制御を導入している。
【0055】
一方、SNMPエージェント子タスク起動時に、システムに規定される子タスク生成の制限値を超えていない場合は、子タスク生成数をインクリメントし、SET/GET要求パケット情報テーブルのセマフォ(以下、PKTテーブルセマフォと略称する)を取得する(ステップC2)。上記SET/GET要求パケット情報テーブルは、SNMPエージェント子タスク群にて共有するリソースであるため、あるSNMPエージェント子タスクがPKTテーブルセマフォを取得している間は、他のSNMPエージェント子タスクにてPKTテーブルセマフォを取得しようとした場合でも待ち行列につながれ、タスク状態としてはセマフォ待ちの状態となる。
【0056】
従って、本実施形態では、一つのSNMPエージェント子タスクがPKTテーブルセマフォを取得している場合の新規SNMPエージェント子タスクの生成は制限値まで可能であるが、生成されたSNMPエージェント子タスクが動作できるのは、1タスクのみとなる。PKTテーブルセマフォを取得したSNMPエージェント子タスクは、SNMPマネージャ通信装置11から発生したSET/GET要求パケットに含まれる制御対象のオブジェクトIDが複数含まれていた場合でも、上位アプリケーション31とI/F(インターフェイス)との要求/応答回数を最低限に抑えるため1メッセージで上位アプリケーション31にSET/GET要求メッセージを送信するための処理、すなわちIPDU化処理を行なう(ステップC3)。その後、上位アプリケーション31へ要求メッセージを送信し、応答メッセージ待ちの状態となる(ステップC4)。
【0057】
上位アプリケーション31は、SET/GET要求メッセージに従ってMIB225、226に対する処理を行ない、応答メッセージを出力する。
【0058】
上記ステップC4の応答メッセージ待ちの状態において、上位アプリケーション31からの応答メッセージを受信すると、受信メッセージの整合性をチェックし、上位アプリケーション31から通知された制御内容を応答パケットに反映させる処理、すなわちオブジェクトID毎の処理関数CALLを行なう(ステップC5)。全てのオブジェクトIDに関して、反映する処理が終了した場合、SNMPマネージャ通信装置11に対する応答パケットを送信する(ステップC6)。
【0059】
その後、動作中取得していたPKTテーブルセマフォを解放し(ステップC7)、タスク処理を終了する(ステップC8)。このタスク処理の終了と同時に子タスク生成数をデクリメントする。そして、PKTテーブルセマフォ待ち状態となっているSNMPエージェント子タスクは、待ち行列状態となっている最古のSNMPエージェント子タスクの待ち状態が解除され、以上で示した同様の手順にて処理が行なわれる。
【0060】
上記のようにSNMPエージェント通信装置13a(〜13n)に入力される要求パケットに対し、要求パケットを処理するタスクを処理パケット毎に分散させ、一時的に処理できない状態が発生する場合にはキューイングすることにより、SNMPマネージャ通信装置11からバースト的な要求パケットが入力された場合でも、過負荷に対する処理正常性の向上を図ることができる。
【0061】
次に、上述したソフトウェア制御方法により発生する懸念のある重大な問題に対しての改善方法を説明する。
上記図3で説明したように、本実施形態におけるソフトウェア制御方法では、PKTテーブル情報のセマフォ解放のトリガを上位アプリケーション31からの応答メッセージとしている。このため上位アプリケーション31からの応答メッセージがSNMPエージェント子タスクにて受信されない限り、その他全ての待ち状態となっているSET/GET要求パケットが解消されない。このため一旦本状態に陥った場合には、SNMPエージェント通信装置13a(〜13n)全体のリセットを行なわなければ復旧不可能な状態となる。
【0062】
上記のような状態に陥るのを可能な限り避けるため、上位アプリケーション31に対して応答メッセージに対するタイマによる監視制御を行ない、規定時間以上、上位アプリケーション31からの応答メッセージが到着しない場合には、タイムアウト処理の中で、SNMPマネージャ通信装置11に対する応答パケットを送信し、待ち状態となっている新規のSET/GET要求パケットを動作させる異常処理を行なう。
【0063】
すなわち、図4のソフトウェア制御図に示すように、上記図3で説明したSNMPエージェント子タスク処理において、ステップC3でIPDU化処理を行なった際、上位アプリケーション(上位AP)31へ要求メッセージを送出する(ステップD1)。このとき監視タイマをセットし(ステップD2)、応答メッセージ待ちの状態となる(ステップC4)。この応答メッセージ待ちの状態では、上位アプリケーション31からの応答メッセージの有無を判定し(ステップD3)、応答メッセージがなければ上記監視タイマによる計測時間が予め設定した規定時間を経過したかどうかを判定する(ステップD4)。上記監視タイマによる計測時間が規定時間を経過していなければステップC4へ戻り、応答メッセージ待ちの状態となる。
【0064】
そして、上記規定時間を経過する前に上位アプリケーション31から応答メッセージが送られてきた場合は、上記監視タイマをリセットし(ステップD5)、上記図3に示したステップC5の処理(オブジェクトID毎の処理関数CALL)に進む。
【0065】
また、上記ステップD4で監視タイマによる計測時間が規定時間を経過したと判定された場合には、当該SET/GET要求パケットをエラー処理し(ステップD6)、待ち状態となっている新規のSET/GET要求パケットを動作させる(ステップD7)。
【0066】
上記の異常処理により、上位アプリケーション31からの応答メッセージが送信されない場合でも、SNMPエージェント通信装置13a(〜13n)全体を異常状態とさせずに、当該SET/GET要求パケットのみをエラーとすることで、システム全体の安定性を向上させることが可能となる。
【0067】
次に、上述したソフトウェア制御方法により発生する懸念のある重大な問題に対しての他の改善方法について説明する。
この改善方法は、ソフトウェア制御アルゴリズムの一つとして受信したSET/GET要求パケットに処理優先度を設け、軽負荷のSET/GET要求パケット処理を優先させることで、待ち行列につながれるSNMPエージェント子タスク数を低減し、処理優先度を設けない場合よりも応答パケットがエラーとなる可能性を低減したものである。
【0068】
本発明におけるソフトウェア制御方法のクリティカルセクション(上位アプリケーション31へ要求メッセージを送出してから応答メッセージを受信するまで)を如何に短縮できるかが、本ソフトウェア制御方法を導入したSNMPエージェント通信装置13a(〜13n)の性能を大きく左右する要素となっている。SNMPエージェント通信装置13a(〜13n)は、その性質上、SET/GET要求パケットに対して処理負荷に差が生じる。例えばSET/GET要求パケットについてあるGET要求パケットは、MIB325、326で管理している一つの情報を取得するだけの場合もあり、装置状態や条件によって、その都度計算や上位アプリケーション31間で問い合わせが必要な場合もある。これらSET/GET要求パケットの種類と組み合わせについては、SNMPマネージャ通信装置11間で既に規定されているので、SET/GET要求パケットの内容を解析することによって、処理負荷の大きさを判定することが可能である。
【0069】
図5は、上記のように処理優先度を考慮したSNMPエージェント通信装置13a(〜13n)のソフトウェア制御図(SNMPエージェント子タスク)の一例を示したものである。
【0070】
SNMPエージェント子タスクは、図3で説明したようにタスク生成後に既に起動している他のSNMPエージェント子タスクの起動総数が、システムにて規定される子タスク生成の制限値を超えていないかをチェックする(ステップC1)。
【0071】
次いで、受信した要求パケットを解析し、処理負荷が高い要求パケットは、別領域にキューイングする(ステップE1)。その後は、上記図3で説明したように、子タスク生成数のインクリメント及びPKTテーブルセマフォの取得処理(ステップC2)、IPDU化処理(ステップC3)、上位アプリケーション31への要求メッセージ送信、上位アプリケーション31からの応答メッセージ待ち(ステップC4)、オブジェクトID毎の処理関数CALL(ステップC5)、SNMPマネージャ通信装置11に対する応答パケットの送信(ステップC6)、PKTテーブルセマフォ解除(ステップC7)、等の処理を行なう。
【0072】
以上の処理を行ない、子タスク生成数が「0」であれば、上記ステップE1で別領域にキューイングしていた要求パケットを解放する(ステップE2)。以上でタスク処理を終了し(ステップC8)、タスク終了と同時に子タスク生成数をデクリメントする。
【0073】
上記したようにSNMPマネージャ通信装置11から送られてきたSET/GET要求パケットに処理優先度を設け、軽負荷のSET/GET要求パケット処理を優先させることで、待ち行列につながれるSNMPエージェント子タスク数を低減し、処理優先度を設けない場合よりも応答パケットがエラーとなる可能性を低減することができる。
【0074】
なお、上述したシステムにて規定される子タスク生成の制限値、上位アプリケーション31における応答メッセージの応答時間を監視するタイマの値、更には要求パケットの処理優先度を考慮する際の判定条件については、SNMPエージェント通信装置13a(〜13n)の性能に大きな影響があるため、個々の通信装置において性能に合わせて設定する。
【図面の簡単な説明】
【0075】
【図1】本発明の対象とするネットワークシステムの全体の概略構成を示すシステム構成図である。
【図2】本発明の一実施形態に係るSNMPエージェント通信装置のSNMPパケットフロー図である。
【図3】同実施形態におけるSNMPエージェント通信装置のソフトウェア制御図である。
【図4】本発明のタイマによる監視制御機能を備えたSNMPエージェント通信装置のソフトウェア制御図である。
【図5】本発明の処理優先度を考慮したSNMPエージェント通信装置のソフトウェア制御図である。
【図6】従来のSNMPエージェント通信装置におけるSNMPパケットフロー図である。
【図7】従来のSNMPエージェント通信装置におけるSNMPエージェント通信装置のソフトウェア制御図である。
【符号の説明】
【0076】
11…SNMPマネージャ通信装置、12…ネットワーク、13a〜13n…SNMPエージェント通信装置、21…上位アプリケーション(上位AP)、22…プロトコルスタック部、221…SNMP、222…UDP、223…TCP、224…IP、225、226…MIB、23…ドライバ/OS部、231…ドライバ、232…OS、25…通信回線、31…上位アプリケーション(上位AP)、32…プロトコルスタック部、321、322…SNMP、323…TCP、324…IP、325、326…MIB、33…ドライバ/OS部、331…ドライバ、332…OS。

【特許請求の範囲】
【請求項1】
SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットを上位アプリケーションへ通知し、該上位アプリケーションからMIBにアクセスしてMIB定義情報の更新/取得処理を実行し、前記要求パケットが取得要求であった場合に前記上位アプリケーションがMIBから取得した情報を応答パケットとして前記SNMPマネージャ通信装置へ送信することを特徴とするSNMPエージェント通信装置。
【請求項2】
SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットに対する処理を行なうタスクを処理パケット毎に分散させ、選択されたタスクにおいて前記要求パケットに対する処理要求メッセージを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段と、前記要求パケットを上位アプリケーションへ通知した際、該上位アプリケーションから応答メッセージが出力されるまでの時間を監視タイマにより監視し、前記応答メッセージが規定時間以上出力されなかった場合に前記要求パケットを異常処理し、待ち状態となっている新規の更新/取得処理の要求パケットを動作させる手段とを具備することを特徴とするSNMPエージェント通信装置。
【請求項3】
SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、該要求パケットを解析して軽負荷の要求パケットの優先度を高く設定する優先度設定手段と、前記優先度設定手段により設定された優先度の高い要求パケットを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段とを具備することを特徴とするSNMPエージェント通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−60282(P2007−60282A)
【公開日】平成19年3月8日(2007.3.8)
【国際特許分類】
【出願番号】特願2005−243043(P2005−243043)
【出願日】平成17年8月24日(2005.8.24)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】