機器管理装置
【課題】 SNMP機能の拡張が容易なように改良された機器管理装置を提供する。
【解決手段】 本発明にかかる機器管理を実現する被管理プログラム30は、通信処理部210、代理タスク300−1〜300−n、SNMPエージェント32、MIB38および代理タスク実行管理部40から構成される。被管理プログラム30は、管理装置から管理メッセージ(あるMIB情報(管理情報)に対する"Get Request", "Set Request"など)を受信する。被管理プログラム30は、さらに、受信した管理メッセージに対応する機能の内、SNMPエージェント32において処理可能な機能を、SNMPエージェント32により実行し、SNMPエージェント32において処理できない機能を、SNMPエージェント32を代理する代理タスク300により実行する。
【解決手段】 本発明にかかる機器管理を実現する被管理プログラム30は、通信処理部210、代理タスク300−1〜300−n、SNMPエージェント32、MIB38および代理タスク実行管理部40から構成される。被管理プログラム30は、管理装置から管理メッセージ(あるMIB情報(管理情報)に対する"Get Request", "Set Request"など)を受信する。被管理プログラム30は、さらに、受信した管理メッセージに対応する機能の内、SNMPエージェント32において処理可能な機能を、SNMPエージェント32により実行し、SNMPエージェント32において処理できない機能を、SNMPエージェント32を代理する代理タスク300により実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、簡易ネットワーク管理プロトコル(SNMP; Simple Network Management Protocol)により管理対象機器を管理する機器管理装置に関する。
【背景技術】
【0002】
例えば、特許文献1は、簡易ネットワーク管理プロトコル(SNMP)を用いた機器管理方法を開示する。
IETF(Internet Engineering Task Force)によって、RFC(Request For Comments)として標準化されたSNMPによる機器管理方法は、管理装置側に置かれたSNMPマネージャと、被管理機器側にSNMPエージェントとにより実現される。
このSNMPによる機器管理方法において、RFC1213により定義されたSNMPマネージャおよびSNMPエージェントの管理情報(MIB; Management Information Base)の拡張が必要とされることがあり、この拡張は、通常、MIB情報に不整合が生じないように、SNMPマネージャおよびSNMPエージェントの動作を停止して行われる。
【0003】
一般に、SNMPマネージャは、十分なハードウエア資源と、高い処理能力とを有する高性能なコンピュータ上で実行されるために、SNMPマネージャのMIBの拡張は、比較的、簡単に行われうる。
しかしながら、一方、SNMPエージェントを実行する被管理機器は、その機能の実現のために最小限のハードウエア資源およびソフトウエア資源しか持たないことが多く、また、その処理能力が高いとは限らないので、SNMPエージェントのMIBの拡張は、被管理機器側のハードウエア資源(ディスクサイズなど)および処理能力などにより制限を受けることがある。
【特許文献1】特開2001−231070号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、上述した背景からなされたものであって、SNMP機能の拡張が容易なように改良された機器管理装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明にかかる機器管理装置は、1つ以上の第1の管理メッセージに応じて、前記第1の管理メッセージに対応する簡易ネットワーク管理プロトコル(SNMP)の機器管理機能を実現する第1の機器管理機能実現手段と、前記第1の管理メッセージ以外の第2の管理メッセージに応じて、前記第2の管理メッセージに対応する第2の機器管理機能を実現する第2の機器管理機能実現手段と、外部から受信された管理メッセージが、前記第1の管理メッセージであるときに、前記第1の機器管理機能実現手段が、前記受信された第1の管理メッセージに対応する機器管理機能を実現するように制御する第1の機器管理制御手段と、外部から受信された管理メッセージが、前記第2の機器管理メッセージであるときに、前記第2の機器管理機能実現手段が、前記受信された第2の管理メッセージに対応する第2の機器管理機能を実現するように制御する第2の機器管理制御手段とを有する。
【発明の効果】
【0006】
本発明にかかる機器管理装置によれば、SNMP機能の拡張を容易に行うことができる。
【発明を実施するための最良の形態】
【0007】
[本発明がなされるに至った経緯]
本発明の実施形態の説明に先立ち、その理解を容易にするために、本発明がなされるに至った経緯を説明する。
既に述べたように、SNMPによる機器管理において用いられるSNMPエージェントのMIB情報の拡張は、被管理機器側のハードウエア資源、ソフトウエア資源および処理能力により、制限を受けることがある。
【0008】
また、SNMPによる機器管理の対象は、ネットワーク装置の他に、様々な小型の組み込み機器にまで及ぶようになってきており、このような小型機器上で動作するSNMPエージェントの機能拡張のためには、機器の小型化と高機能化という相反する事項が解決されなくてはならない。
さらに、被管理装置が多岐にわたると、その構成も様々であり、例えば、被管理装置において、MIB情報が、書き換え不可能な記憶領域に置かれているようなときには、標準的なMIB情報の拡張方法が適用できないことがある。
本発明は、このような事柄をふまえてなされ、MIB情報の変更による一般的なSNMPエージェントの機能拡張に代えて、MIB情報の変更によらないSNMPエージェントの機能拡張を達成できるように構成されている。
【0009】
[第1のネットワークシステム1]
以下、本発明の実施形態を説明する。
図1は、本発明にかかる機器管理が適用される第1のネットワークシステム1を例示する図である。
図1に示すように、ネットワークシステム1は、コンピュータなどの管理装置2と、ネットワーク機器・組み込み機器などの複数の被管理装置3−1〜3−m(mは1以上の整数)が、LAN,WANなどのネットワーク100を介して接続されて構成される。
ネットワークシステム1においては、これらの構成部分により、SNMPによる機器管理が実現される。
【0010】
なお、以下、被管理装置3−1〜3−mなど、複数あり得る構成部分のいずれかを特定せずに示すときには、単に被管理装置3などと略記することがある。
また、ネットワークシステム1において、各種処理および通信の主体となりうる管理装置2および被管理装置3は、ノードと総称されることがある。
また、以下の各図において、実質的に同じ構成部分には、同じ符号が付されている。
【0011】
[ハードウエア]
以下、ネットワークシステム1の各ノードのハードウエアを説明する。
【0012】
図2は、図1に示した管理装置2および被管理装置3のハードウエア構成を例示する図である。
図2に示すように、ネットワークシステム1の各ノードは、CPU122・メモリ124などを含む本体120、キーボード・表示装置などを含む入出力装置126、CD装置・HDD装置などの記録装置128、および、ネットワーク100を介した他のノードとの通信を行う通信装置132から構成される。
但し、被管理装置3は、その用途などに応じて、本体120および通信装置132以外を、選択的に含むように構成される。
つまり、ネットワークシステム1の各ノードは、ネットワーク100を介して他のノードと通信可能なコンピュータとしての構成部分を有している。
【0013】
[ソフトウエア]
以下、ネットワークシステム1上で動作する各ノードのソフトウエアを説明する。
【0014】
図3は、図1,図2に示した管理装置2において実行される管理プログラム20の構成を示す図である。
図3に示すように、管理プログラム20は、SNMPマネージャ200、MIB202および通信処理部210から構成される。
管理プログラム20は、例えば、記録媒体130(図2)あるいはROM(図示せず)などを介して管理装置2に供給され、メモリ124にロードされ、管理装置2にインストールされたOS上で、管理装置2のハードウエア資源を具体的に利用して実行される(以下の各プログラムに同じ)。
また、管理プログラム20の各構成部分は、同等の機能を有するハードウエアがあれば、それにより置換されうる(以下の各プログラムについて同じ)。
管理プログラム20は、これらの構成部分により、被管理装置3に対するSNMPによる機器管理を行う。
【0015】
管理プログラム20において、通信処理部210は、TCP/IPによる通信のために用いられるネットワークプロトコルスタック(ネットワーク上である機能を実現するために必要なプロトコルを選び、階層状に積み上げたソフトウェア群)であって、通信装置132(図2)を制御するデバイスドライバ、データ伝送用のフレームなどを制御するデータリンク層、IP・IPXなどのネットワーク層およびTCP・UDPのトランスポート層のソフトウエアを含む。
通信処理部210は、被管理装置3と管理装置2との間の通信のために必要な処理を行う。
SNMPマネージャ200は、被管理装置3に対するSNMPによる機器管理のために必要な処理を実現する。
MIB202は、MIB情報を記憶し、記憶したMIB情報を、SNMPマネージャ200に対して提供する。
【0016】
[第1の被管理プログラム30]
図4は、図1,図2に示した被管理装置3において実行される第1の被管理プログラム30の構成を示す図である。
図4に示すように、第1の被管理プログラム30は、通信処理部210(図3)、1つ以上の代理タスク300−1〜300−n(nは1以上の整数)、SNMPエージェント32、MIB38および代理タスク実行管理部40から構成される。
SNMPエージェント32は、ディスパッチャ部320、メッセージ処理部330、セキュリティ処理部340、コマンドレスポンスアプリケーション部350、アクセス制御部352、通知発生アプリケーション部354、プロキシ転送アプリケーション部356およびMIBアクセス部360から構成される。
ディスパッチャ部320は、トランスポートマッピング部322、メッセージディスパッチャ部324およびPDUディスパッチャ部326を含む。
メッセージ処理部330は、v1処理部332−1、v2処理部332−1およびv3処理部332−3を含む。
【0017】
[被管理プログラム30の処理の概要]
被管理プログラム30は、これらの構成部分により、管理装置2(管理プログラム20;図1〜図3)から管理メッセージ(あるMIB情報(管理情報)に対する"Get Request", "Set Request"など)を受信する。
被管理プログラム30は、さらに、受信した管理メッセージに対応する機能の内、SNMPエージェント32において処理可能な機能を、SNMPエージェント32により実行し、SNMPエージェント32において処理できない機能を、SNMPエージェント32を代理する代理タスク300により実行する。
【0018】
[被管理プログラム30の各構成部分]
以下、被管理プログラム30の各構成部分を説明する。
【0019】
[代理タスク300・MIB38]
被管理プログラム30において、代理タスク300は、代理タスク実行管理部40の制御に従って、SNMPエージェント32により実行され得ない機器管理のための処理(後述する拡張メッセージに対応する処理)を実行し、処理の結果を代理タスク実行管理部40に通知する。
MIB38は、SNMPエージェント32から入力されるMIB情報を記憶し、記憶したMIB情報を、SNMPエージェント32に対して提供する。
【0020】
[SNMPエージェント32]
被管理プログラム30において、SNMPエージェント32のディスパッチャ部320は、管理装置2(管理プログラム20)から通信処理部210を介して受信した管理メッセージを、代理タスク実行管理部40を介して、メッセージ処理部330に対して出力する。
ディスパッチャ部320のトランスポートマッピング部322は、通信処理部210との間の伝送フォーマットなどを制御する。
【0021】
メッセージディスパッチャ部324は、メッセージ処理部330との間の管理メッセージの伝送処理を行う。
PDUディスパッチャ部326は、SNMPのPDU(Protocol Data Unit)の内容に応じて、被管理装置3に対する機器管理のための処理を、メッセージ処理部330に割り振る。
【0022】
メッセージ処理部330は、ディスパッチャ部320から代理タスク実行管理部40を介して入力される管理メッセージを解析し、解析結果を、セキュリティ処理部340に対して出力する。
また、メッセージ処理部330は、管理メッセージの解析結果に従って、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354の処理を制御し、この管理メッセージに対応する機器管理のための処理を、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354に実行させる。
【0023】
なお、メッセージ処理部330による解析処理は、SNMPのバージョンに応じてさらに細分化されることがあり、細分化された解析処理は、v1処理部332−1、v2処理部332−2およびv3処理部332−3(v1〜v3は、SNMPのプロトコルバージョンがバージョン1〜3であることを示す)により分担されて実行される。
さらに、メッセージ処理部330は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354から、処理が成功に終わったか、不成功に終わったかの通知を受け、代理タスク実行管理部40に対して通知する。
【0024】
セキュリティ処理部340は、メッセージ処理部330の制御に従って、管理プログラム20による機器管理のセキュリティを保護するための処理を行う。
コマンドレスポンスアプリケーション部350は、メッセージ処理部330の管理メッセージの解析結果に従って、この管理メッセージに対応する機器管理のために必要とされる処理を実行し、その結果をメッセージ処理部330に通知する。
【0025】
通知発生アプリケーション部354は、メッセージ処理部330の制御に従って、機器管理処理のために実行されるトラップ(Trap)命令を実行し、その結果をメッセージ処理部330に通知する。
アクセス制御部352は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354の実行権限を管理する。
【0026】
プロキシ転送アプリケーション部356は、SNMPエージェント32が、SNMPプロキシとして動作するときに行われるプロキシ転送を制御する。
MIBアクセス部360は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354が、MIB38に記憶されているMIB情報へアクセスするために必要とされる処理を行う。
【0027】
[代理タスク実行管理部40]
図5は、図4に示したメッセージ記憶部404に記憶される管理メッセージテーブルを例示する図である。
図5においては、番号2の管理メッセージに対応するSNMPエージェント32による処理が、前回、不成功に終わり、この処理をSNMPエージェント32の代わりに代行しうる代理タスク300の番号が5であり、その他の管理メッセージに対応する処理が、前回、成功に終わった場合が例示されている。
【0028】
被管理プログラム30(図4)において、代理タスク実行管理部40のメッセージ記憶部404は、インターセプト部402から入力される管理メッセージ情報を、図5に示すテーブルの各エントリとして記憶し、記憶した管理メッセージ情報を、インターセプト部402に対して提供する。
図5に示すように、管理メッセージテーブルの各エントリには、エントリの番号(番号)と、管理メッセージと、管理される単位(オブジェクト)に割り振られた識別子(ID)、つまり、ある特定の管理対象情報を示すオブジェクトIDと、この管理メッセージに対応するSNMPエージェント32による前回の処理の結果が、成功だったか不成功だったかを示す情報(成功/不成功)と、この管理メッセージに対応する処理を、SNMPエージェント32の代わりに代行しうる代理タスク300を示す代行タスク番号とが、対応付けられて含まれる。
なお、被管理装置3のメモリ124(図2)の使用量を節約したいときには、管理メッセージテーブルに、処理結果が不成功となっているエントリのみを残すようにしてもよい。
【0029】
インターセプト部402(図4)は、SNMPエージェント32のディスパッチャ部320から、メッセージ処理部330に対して出力される管理メッセージを受ける。
さらに、インターセプト部402は、メッセージ記憶部404に記憶された管理メッセージ情報を検索し、受けた管理メッセージが、それに対応する処理が、SNMPエージェント32により実行されうる正常メッセージであるか、それに対応する処理が、SNMPエージェント32の代わりに代理タスク300により代行される拡張メッセージであるかを判断する。
【0030】
インターセプト部402は、正常メッセージを受けたときには、受けた正常メッセージをSNMPエージェント32のメッセージ処理部330に対して出力する。
また、インターセプト部402は、拡張メッセージを受けたときには、受けた拡張メッセージをインターセプトし、インターセプトした拡張メッセージ、および、この拡張メッセージを実行しうる代理タスク300の番号などを、代理タスクディスパッチャ部400に対して出力する。
また、インターセプト部402は、代理タスクディスパッチャ部400およびSNMPエージェント32のメッセージ処理部330から通知される処理結果を受けて、メッセージ記憶部404に記憶された管理メッセージテーブルの内容を更新する。
【0031】
代理タスクディスパッチャ部400は、インターセプト部402から拡張メッセージおよび代理タスク300の番号を受けて、その番号が示す代理タスク300を制御し、受けた拡張メッセージに対応する処理を実行させる。
また、代理タスクディスパッチャ部400は、代理タスク300から処理の結果の通知を受け、インターセプト部402に対して出力する。
【0032】
以上説明した代理タスクディスパッチャ部400、インターセプト部402およびメッセージ記憶部404の処理を、図6〜図8を参照してさらに説明する。
図6は、図4に示したインターセプト部402の処理(S30)を示すフローチャートである。
図6に示すように、ステップ300(S300)において、インターセプト部402(図4)は、管理メッセージなどのデータを受信する。
ステップ302(S302)において、インターセプト部402は、S300の処理において受信したデータが、いずれの構成部分を出力元とするかを識別する。
【0033】
ステップ310(S310)において、インターセプト部402は、識別された出力元がディスパッチャ部320であるか否かを判断する。
インターセプト部402は、出力元がディスパッチャ部320であるときにはS312の処理に進み、これ以外のときにはS320の処理に進む。
ステップ312(S312)において、インターセプト部402は、受けたデータ(管理メッセージ)を記憶(キャッシュ)する。
ステップ314(S314)において、インターセプト部402は、受けたデータ(管理メッセージ)を、メッセージ処理部330に対して出力する。
【0034】
ステップ320(S320)において、インターセプト部402は、識別された出力元がメッセージ処理部330であるか否かを判断する。
出力元がメッセージ処理部330であるときには、インターセプト部402はS320の処理に進み、これ以外のときにはS322の処理に進む。
ステップ322(S322)において、インターセプト部402は、受けたデータ(処理結果)を記憶(キャッシュ)する。
ステップ324(S324)において、インターセプト部402は、S312の処理により記憶され、受けた処理結果に対応する管理メッセージと、処理結果とを対応付けて、メッセージ記憶部404に対して出力し、管理メッセージテーブル(図5)の内容を更新させる。
【0035】
ステップ340(S340)において、インターセプト部402は、識別された出力元がメッセージ記憶部404であるか否かを判断する。
出力元がメッセージ記憶部404であるときにはS342の処理に進み、これ以外のときにはS350の処理に進む。
ステップ342(S342)において、インターセプト部402は、受けたデータ(管理メッセージ情報)に含まれる処理結果(成功/不成功)が、成功であるか不成功である可を判断する。
処理結果が成功であるときには、インターセプト部402はS344の処理に進み、これ以外のときにはS346の処理に進む。
つまり、S342の処理において、処理結果が成功であると判定されたときには、前回成功したメッセージおよび未処理のメッセージがメッセージ処理部330に対して出力される。
一方、処理結果が失敗であると判定されたときには、失敗したメッセージは、代理タスクディスパッチャ部400に対して出力される。
【0036】
ステップ344(S344)において、インターセプト部402は、メッセージ記憶部404から受けたたデータ(管理メッセージ情報)に対応し、S322の処理において記憶された処理結果を、メッセージ記憶部404に対して出力し、この管理メッセージに対応するエントリの処理結果を「成功」に更新させる。
ステップ346(S346)において、インターセプト部402は、管理メッセージと、受けたデータ(管理メッセージ情報)に対応する管理メッセージと、この管理メッセージに対応する処理を代行する代理タスク300の番号とをメッセージ記憶部404に対して出力し、この管理メッセージに対応するエントリの代理タスク番号を、この番号とするように更新させる。
【0037】
ステップ350(S350)において、インターセプト部402は、出力元が代理タスクディスパッチャ部400であるか否かを判断する。
出力元が代理タスクディスパッチャ部400であるときには、インターセプト部402はS352の処理に進み、これ以外のときには例外処理(S370)を行って処理を終了する。
ステップ352(S352)において、インターセプト部402は、受けたデータ(代理タスク300による処理の結果)が成功であるか不成功であるかを判断する。
処理の結果が成功であるときには、インターセプト部402はS344の処理に進み、これ以外のときにはS356の処理に進む。
【0038】
ステップ354(S354)において、インターセプト部402は、受けた処理結果に対応し、S322の処理において記憶した処理結果を破棄する。
ステップ356(S356)において、インターセプト部402は、代理タスク300の処理結果を、メッセージ処理部330に対して出力する。
ステップ358(S358)において、インターセプト部402は、受けた処理結果に対応する管理メッセージと、代理タスク300の番号とをメッセージ記憶部404に対して出力し、この管理メッセージのエントリの代理タスク300の番号を、この番号に更新させる。
【0039】
図7は、図4に示したメッセージ記憶部404の処理(S40)を示すフローチャートである。
また、図7に示すように、ステップ400(S400)において、メッセージ記憶部404は、データを受信する。
ステップ402(S402)において、メッセージ記憶部404は、受けたデータの種別を識別する。
【0040】
ステップ410(S410)において、メッセージ記憶部404は、受けたデータが、管理メッセージおよび処理結果であるか否かを判断する。
メッセージ記憶部404は、受けたデータが管理メッセージおよび処理結果であるときにはS412の処理に進み、これ以外のときにはS430の処理に進む。
ステップ412(S412)において、メッセージ記憶部404は、管理メッセージテーブル(図5)を検索する。
ステップ414(S414)において、受けたデータ(管理メッセージおよび処理結果)が、既に管理メッセージテーブル内にあるときには、メッセージ記憶部404はS418の処理に進み、これ以外のときにはS416の処理に進む。
【0041】
ステップ416(S416)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する新たなエントリを、管理メッセージテーブル(図5)に追加し、データを記憶する。
ステップ418(S418)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する管理メッセージテーブルのエントリの内容を、このデータに合わせるように更新する。
ステップ420(S420)において、メッセージ記憶部404は、インターセプト部402に対して、検索の結果として得られた管理メッセージテーブル(図5)のエントリに含まれる処理結果と代理タスク300の番号(オブジェクトIDと代理タスク番号を合成した値)を出力する。
【0042】
ステップ430(S430)において、メッセージ記憶部404は、受けたデータが、管理メッセージおよび代理タスク300の番号であるか否かを判断する。
受けたデータが管理メッセージおよび処理結果であるときには、メッセージ記憶部404はS432の処理に進み、これ以外のときには例外処理(S440)を行って処理を終了する。
ステップ432(S432)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する管理メッセージテーブルのエントリの内容(代理タスク300の番号)を、このデータに合わせるように更新する。
【0043】
図8は、図4に示した代理タスクディスパッチャ部400の処理(S46)を示すフローチャートである。
図8に示すように、ステップ460(S460)において、代理タスクディスパッチャ部400は、データを受信する。
ステップ462(S462)において、代理タスクディスパッチャ部400は、受けたデータの出力元を識別する。
【0044】
ステップ470(S470)において、データの出力元がインターセプト部402であるときには、代理タスクディスパッチャ部400はS472の処理に進み、これ以外のときにはS480の処理に進む。
ステップ472(S472)において、代理タスクディスパッチャ部400は、受けたデータに含まれる代理タスク300の番号に従って、処理を行わせる代理タスク300を決定する。
ステップ474(S474)において、代理タスクディスパッチャ部400は、S472の処理において決定された代理タスク300に対して管理メッセージを出力し、この代理タスク300を制御して、拡張メッセージに対応する機器管理のための処理を実行させる。
【0045】
ステップ480(S480)において、代理タスクディスパッチャ部400は、代理タスクを受けたときにはS482の処理に進み、これ以外のときには例外処理(S490)に進む。
ステップ482(S482)において、代理タスクディスパッチャ部400は、オブジェクトIDと代理タスク番号とを合成した値を、インターセプト部402に対して出力する。
【0046】
[ネットワークシステム1の全体的な動作]
以下、図9,図10を参照して、被管理装置3(被管理プログラム30;図1,図2,図4)の処理を中心としたネットワークシステム1の全体的な動作を説明する。
図9は、図1に示したネットワークシステム1において、管理装置2が被管理装置3に対して、SNMPエージェント32が実行可能な正常メッセージを送ったときの処理(S10)を示すシーケンス図である。
図9に示すように、ステップ100(S100)において、管理装置2(図1,図2)は、被管理装置3に対して正常メッセージを送信し、被管理装置3上で実行される被管理プログラム30(図4)のディスパッチャ部320は、この正常メッセージを受ける。
【0047】
ステップ102(S102)において、ディスパッチャ部320は、受けた管理メッセージ(正常メッセージ)を、インターセプト部402に対して出力する。
ステップ104(S104)において、インターセプト部402は、受けた管理メッセージ(正常メッセージ)を、メッセージ処理部330に対して出力する。
メッセージ処理部330は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354(図4)を制御して、インターセプト部402から受けた管理メッセージに対応する機器管理のための処理を実行させる。
【0048】
ステップ106(S106)において、メッセージ処理部330は、機器管理処理の結果を、インターセプト部402に通知する。
ステップ108(S108)において、メッセージ処理部330は、メッセージ記憶部404に、管理メッセージ(正常メッセージ)とその処理結果とを出力する。
ステップ110(S110)において、メッセージ記憶部404は、処理結果を、インターセプト部402に対して出力する。
ステップ112(S112)において、メッセージ記憶部404は、処理結果をメッセージディスパッチャ部324に対して通知する。
【0049】
図10は、図1に示したネットワークシステム1において、管理装置2が被管理装置3に対して、SNMPエージェント32に代わって代理タスク300が実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
図10に示すように、ステップ100(S100)において、ネットワークシステム1(図1)において、管理装置2が被管理装置3に、SNMPエージェント32(図4)の代わりに、代理タスク300によって代行されるべき機器管理処理のための管理メッセージ(拡張メッセージ)を送信すると、被管理プログラム30は、図9に示したS102〜S110の処理を行う。
【0050】
ステップ200(S200)において、インターセプト部402は、管理メッセージと、代理タスク300の番号とを、代理タスクディスパッチャ部400に対して出力する。
ステップ202(S202)において、代理タスクディスパッチャ部400は、代理タスク300を制御して、管理装置2からの管理メッセージ(拡張メッセージ)に対応する機器管理処理を実行させる。
【0051】
ステップ204(S204)において、代理タスク300は、管理装置2からの管理メッセージ(拡張メッセージ)に対応する機器管理処理の結果を、代理タスクディスパッチャ部400に対して出力する。
ステップ206(S206)において、代理タスクディスパッチャ部400は、インターセプト部402に対して、管理メッセージと、代理タスク番号とを出力する。
ステップ208(S208)において、インターセプト部402は、メッセージ記憶部404に対して、代理タスク番号を出力し、さらに、S112の処理を行う。
【0052】
以上説明したように、本発明にかかる機器管理によれば、被管理装置3に、SNMPの機能を追加しようとするときに、順次、代理タスク300を追加すればよく、機能追加に伴うMIB38の内容変更が不要である。
ある被管理装置3(被管理プログラム30)の代理タスク300の一部を、ネットワークシステム1内の他のノードに委譲して、SNMPエージェントとしての機能を分散させることもできる。
SNMPエージェントとしての機能を分散させるためには、例えば、SNMPのマスタエージェントとサブエージェントとを用いるSNMPプロキシ方式があるが、本発明にかかる方法は、MIB38に外部エージェントを追加しないという点で、この方式と異なっている。
【0053】
[変形例]
図11は、本発明にかかる機器管理の変形例が適用される第2のネットワークシステム5を例示する図である。
図12は、図11に示した変形例において、第1の被管理プログラム30(図4)の代わりに、被管理装置3により実行される第2の被管理プログラム42の構成を示す図である。
図11に示すように、第2のネットワークシステム5は、第1のネットワークシステム1に、代理サーバ50と、ネーミングサービスサーバ52とを付加した構成を採る。
また、ネットワークシステム5において、管理装置2により実行される第2の管理プログラム42は、第1の被管理プログラム32に、代理タスククライアント部420を追加した構成を採る。
【0054】
ネットワークシステム5は、これらの構成部分により、分散オブジェクトを利用するための標準的な技術として用いられているCORBA(Common Object Request Broker)を利用した分散処理環境を提供する。
第2のネットワークシステム5において、被管理装置3(被管理プログラム42)は、図12に示すように、CORBAクライアントとしての機能を、代理タスククライアント部420として含む。
代理サーバ50は、CORBAサーバント機能を有し、ネーミングサービスサーバ52に、管理メッセージ名でサーバロケーションを登録する。
【0055】
被管理装置3(被管理プログラム42)は、ネーミングサービスサーバ52に対して、管理メッセージ名で代理サーバ50のサーバロケーションを問い合わせ、さらに、このサーバロケーションを用いて、代理サーバ50に、拡張メッセージに対応する機器管理機能のための処理を依頼する。
このようにネットワークシステム5を構成することにより、被管理装置3は、代理タスククライアント部420により、代理タスク実行管理部40(図4)がインターセプトした管理メッセージを、代理サーバ50において実行される代理タスクのORB(Object Request Broker)のスタブに伝送して、機器管理機能を分担させることができる。
【産業上の利用可能性】
【0056】
本発明は、SNMPを用いた機器管理のために利用することができる。
【図面の簡単な説明】
【0057】
【図1】本発明にかかる機器管理が適用される第1のネットワークシステムを例示する図である。
【図2】図1に示した管理装置および被管理装置のハードウエア構成を例示する図である。
【図3】図1,図2に示した管理装置において実行される管理プログラムの構成を示す図である。
【図4】図1,図2に示した被管理装置において実行される第1の被管理プログラムの構成を示す図である。
【図5】図4に示したメッセージ記憶部に記憶される管理メッセージテーブルを例示する図である。
【図6】図4に示したインターセプト部の処理(S30)を示すフローチャートである。
【図7】図4に示したメッセージ記憶部の処理(S40)を示すフローチャートである。
【図8】図4に示した代理タスクディスパッチャ部の処理(S46)を示すフローチャートである。
【図9】図1に示したネットワークシステムにおいて、管理装置が被管理装置に対して、SNMPエージェントが実行可能な正常メッセージを送ったときの処理(S10)を示すシーケンス図である。
【図10】図1に示したネットワークシステムにおいて、管理装置が被管理装置に対して、SNMPエージェントに代わって代理タスクが実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
【図11】本発明にかかる機器管理の変形例が適用される第2のネットワークシステムを例示する図である。
【図12】図11に示した変形例において、第1の被管理プログラム(図4)の代わりに、被管理装置により実行される第2の被管理プログラムの構成を示す図である。
【符号の説明】
【0058】
1・・・ネットワークシステム、
100・・・ネットワーク、
2・・・管理装置、
120・・・本体、
122・・・CPU、
124・・・メモリ、
126・・・入出力装置、
128・・・記録装置、
130・・・記録媒体、
132・・・通信装置、
20・・・管理プログラム、
200・・・SNMPマネージャ、
202・・・MIB、
210・・・通信処理部、
3・・・被管理装置、
30・・・被管理プログラム、
300・・・代理タスク、
32・・・SNMPエージェント、
320・・・ディスパッチャ部、
330・・・メッセージ処理部、
340・・・セキュリティ処理部、
350・・・コマンドレスポンスアプリケーション部、
352・・・アクセス制御部、
354・・・通知発生アプリケーション部、
356・・・プロキシ転送アプリケーション部、
360・・・MIBアクセス部、
38・・・MIB、
【技術分野】
【0001】
本発明は、簡易ネットワーク管理プロトコル(SNMP; Simple Network Management Protocol)により管理対象機器を管理する機器管理装置に関する。
【背景技術】
【0002】
例えば、特許文献1は、簡易ネットワーク管理プロトコル(SNMP)を用いた機器管理方法を開示する。
IETF(Internet Engineering Task Force)によって、RFC(Request For Comments)として標準化されたSNMPによる機器管理方法は、管理装置側に置かれたSNMPマネージャと、被管理機器側にSNMPエージェントとにより実現される。
このSNMPによる機器管理方法において、RFC1213により定義されたSNMPマネージャおよびSNMPエージェントの管理情報(MIB; Management Information Base)の拡張が必要とされることがあり、この拡張は、通常、MIB情報に不整合が生じないように、SNMPマネージャおよびSNMPエージェントの動作を停止して行われる。
【0003】
一般に、SNMPマネージャは、十分なハードウエア資源と、高い処理能力とを有する高性能なコンピュータ上で実行されるために、SNMPマネージャのMIBの拡張は、比較的、簡単に行われうる。
しかしながら、一方、SNMPエージェントを実行する被管理機器は、その機能の実現のために最小限のハードウエア資源およびソフトウエア資源しか持たないことが多く、また、その処理能力が高いとは限らないので、SNMPエージェントのMIBの拡張は、被管理機器側のハードウエア資源(ディスクサイズなど)および処理能力などにより制限を受けることがある。
【特許文献1】特開2001−231070号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、上述した背景からなされたものであって、SNMP機能の拡張が容易なように改良された機器管理装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明にかかる機器管理装置は、1つ以上の第1の管理メッセージに応じて、前記第1の管理メッセージに対応する簡易ネットワーク管理プロトコル(SNMP)の機器管理機能を実現する第1の機器管理機能実現手段と、前記第1の管理メッセージ以外の第2の管理メッセージに応じて、前記第2の管理メッセージに対応する第2の機器管理機能を実現する第2の機器管理機能実現手段と、外部から受信された管理メッセージが、前記第1の管理メッセージであるときに、前記第1の機器管理機能実現手段が、前記受信された第1の管理メッセージに対応する機器管理機能を実現するように制御する第1の機器管理制御手段と、外部から受信された管理メッセージが、前記第2の機器管理メッセージであるときに、前記第2の機器管理機能実現手段が、前記受信された第2の管理メッセージに対応する第2の機器管理機能を実現するように制御する第2の機器管理制御手段とを有する。
【発明の効果】
【0006】
本発明にかかる機器管理装置によれば、SNMP機能の拡張を容易に行うことができる。
【発明を実施するための最良の形態】
【0007】
[本発明がなされるに至った経緯]
本発明の実施形態の説明に先立ち、その理解を容易にするために、本発明がなされるに至った経緯を説明する。
既に述べたように、SNMPによる機器管理において用いられるSNMPエージェントのMIB情報の拡張は、被管理機器側のハードウエア資源、ソフトウエア資源および処理能力により、制限を受けることがある。
【0008】
また、SNMPによる機器管理の対象は、ネットワーク装置の他に、様々な小型の組み込み機器にまで及ぶようになってきており、このような小型機器上で動作するSNMPエージェントの機能拡張のためには、機器の小型化と高機能化という相反する事項が解決されなくてはならない。
さらに、被管理装置が多岐にわたると、その構成も様々であり、例えば、被管理装置において、MIB情報が、書き換え不可能な記憶領域に置かれているようなときには、標準的なMIB情報の拡張方法が適用できないことがある。
本発明は、このような事柄をふまえてなされ、MIB情報の変更による一般的なSNMPエージェントの機能拡張に代えて、MIB情報の変更によらないSNMPエージェントの機能拡張を達成できるように構成されている。
【0009】
[第1のネットワークシステム1]
以下、本発明の実施形態を説明する。
図1は、本発明にかかる機器管理が適用される第1のネットワークシステム1を例示する図である。
図1に示すように、ネットワークシステム1は、コンピュータなどの管理装置2と、ネットワーク機器・組み込み機器などの複数の被管理装置3−1〜3−m(mは1以上の整数)が、LAN,WANなどのネットワーク100を介して接続されて構成される。
ネットワークシステム1においては、これらの構成部分により、SNMPによる機器管理が実現される。
【0010】
なお、以下、被管理装置3−1〜3−mなど、複数あり得る構成部分のいずれかを特定せずに示すときには、単に被管理装置3などと略記することがある。
また、ネットワークシステム1において、各種処理および通信の主体となりうる管理装置2および被管理装置3は、ノードと総称されることがある。
また、以下の各図において、実質的に同じ構成部分には、同じ符号が付されている。
【0011】
[ハードウエア]
以下、ネットワークシステム1の各ノードのハードウエアを説明する。
【0012】
図2は、図1に示した管理装置2および被管理装置3のハードウエア構成を例示する図である。
図2に示すように、ネットワークシステム1の各ノードは、CPU122・メモリ124などを含む本体120、キーボード・表示装置などを含む入出力装置126、CD装置・HDD装置などの記録装置128、および、ネットワーク100を介した他のノードとの通信を行う通信装置132から構成される。
但し、被管理装置3は、その用途などに応じて、本体120および通信装置132以外を、選択的に含むように構成される。
つまり、ネットワークシステム1の各ノードは、ネットワーク100を介して他のノードと通信可能なコンピュータとしての構成部分を有している。
【0013】
[ソフトウエア]
以下、ネットワークシステム1上で動作する各ノードのソフトウエアを説明する。
【0014】
図3は、図1,図2に示した管理装置2において実行される管理プログラム20の構成を示す図である。
図3に示すように、管理プログラム20は、SNMPマネージャ200、MIB202および通信処理部210から構成される。
管理プログラム20は、例えば、記録媒体130(図2)あるいはROM(図示せず)などを介して管理装置2に供給され、メモリ124にロードされ、管理装置2にインストールされたOS上で、管理装置2のハードウエア資源を具体的に利用して実行される(以下の各プログラムに同じ)。
また、管理プログラム20の各構成部分は、同等の機能を有するハードウエアがあれば、それにより置換されうる(以下の各プログラムについて同じ)。
管理プログラム20は、これらの構成部分により、被管理装置3に対するSNMPによる機器管理を行う。
【0015】
管理プログラム20において、通信処理部210は、TCP/IPによる通信のために用いられるネットワークプロトコルスタック(ネットワーク上である機能を実現するために必要なプロトコルを選び、階層状に積み上げたソフトウェア群)であって、通信装置132(図2)を制御するデバイスドライバ、データ伝送用のフレームなどを制御するデータリンク層、IP・IPXなどのネットワーク層およびTCP・UDPのトランスポート層のソフトウエアを含む。
通信処理部210は、被管理装置3と管理装置2との間の通信のために必要な処理を行う。
SNMPマネージャ200は、被管理装置3に対するSNMPによる機器管理のために必要な処理を実現する。
MIB202は、MIB情報を記憶し、記憶したMIB情報を、SNMPマネージャ200に対して提供する。
【0016】
[第1の被管理プログラム30]
図4は、図1,図2に示した被管理装置3において実行される第1の被管理プログラム30の構成を示す図である。
図4に示すように、第1の被管理プログラム30は、通信処理部210(図3)、1つ以上の代理タスク300−1〜300−n(nは1以上の整数)、SNMPエージェント32、MIB38および代理タスク実行管理部40から構成される。
SNMPエージェント32は、ディスパッチャ部320、メッセージ処理部330、セキュリティ処理部340、コマンドレスポンスアプリケーション部350、アクセス制御部352、通知発生アプリケーション部354、プロキシ転送アプリケーション部356およびMIBアクセス部360から構成される。
ディスパッチャ部320は、トランスポートマッピング部322、メッセージディスパッチャ部324およびPDUディスパッチャ部326を含む。
メッセージ処理部330は、v1処理部332−1、v2処理部332−1およびv3処理部332−3を含む。
【0017】
[被管理プログラム30の処理の概要]
被管理プログラム30は、これらの構成部分により、管理装置2(管理プログラム20;図1〜図3)から管理メッセージ(あるMIB情報(管理情報)に対する"Get Request", "Set Request"など)を受信する。
被管理プログラム30は、さらに、受信した管理メッセージに対応する機能の内、SNMPエージェント32において処理可能な機能を、SNMPエージェント32により実行し、SNMPエージェント32において処理できない機能を、SNMPエージェント32を代理する代理タスク300により実行する。
【0018】
[被管理プログラム30の各構成部分]
以下、被管理プログラム30の各構成部分を説明する。
【0019】
[代理タスク300・MIB38]
被管理プログラム30において、代理タスク300は、代理タスク実行管理部40の制御に従って、SNMPエージェント32により実行され得ない機器管理のための処理(後述する拡張メッセージに対応する処理)を実行し、処理の結果を代理タスク実行管理部40に通知する。
MIB38は、SNMPエージェント32から入力されるMIB情報を記憶し、記憶したMIB情報を、SNMPエージェント32に対して提供する。
【0020】
[SNMPエージェント32]
被管理プログラム30において、SNMPエージェント32のディスパッチャ部320は、管理装置2(管理プログラム20)から通信処理部210を介して受信した管理メッセージを、代理タスク実行管理部40を介して、メッセージ処理部330に対して出力する。
ディスパッチャ部320のトランスポートマッピング部322は、通信処理部210との間の伝送フォーマットなどを制御する。
【0021】
メッセージディスパッチャ部324は、メッセージ処理部330との間の管理メッセージの伝送処理を行う。
PDUディスパッチャ部326は、SNMPのPDU(Protocol Data Unit)の内容に応じて、被管理装置3に対する機器管理のための処理を、メッセージ処理部330に割り振る。
【0022】
メッセージ処理部330は、ディスパッチャ部320から代理タスク実行管理部40を介して入力される管理メッセージを解析し、解析結果を、セキュリティ処理部340に対して出力する。
また、メッセージ処理部330は、管理メッセージの解析結果に従って、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354の処理を制御し、この管理メッセージに対応する機器管理のための処理を、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354に実行させる。
【0023】
なお、メッセージ処理部330による解析処理は、SNMPのバージョンに応じてさらに細分化されることがあり、細分化された解析処理は、v1処理部332−1、v2処理部332−2およびv3処理部332−3(v1〜v3は、SNMPのプロトコルバージョンがバージョン1〜3であることを示す)により分担されて実行される。
さらに、メッセージ処理部330は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354から、処理が成功に終わったか、不成功に終わったかの通知を受け、代理タスク実行管理部40に対して通知する。
【0024】
セキュリティ処理部340は、メッセージ処理部330の制御に従って、管理プログラム20による機器管理のセキュリティを保護するための処理を行う。
コマンドレスポンスアプリケーション部350は、メッセージ処理部330の管理メッセージの解析結果に従って、この管理メッセージに対応する機器管理のために必要とされる処理を実行し、その結果をメッセージ処理部330に通知する。
【0025】
通知発生アプリケーション部354は、メッセージ処理部330の制御に従って、機器管理処理のために実行されるトラップ(Trap)命令を実行し、その結果をメッセージ処理部330に通知する。
アクセス制御部352は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354の実行権限を管理する。
【0026】
プロキシ転送アプリケーション部356は、SNMPエージェント32が、SNMPプロキシとして動作するときに行われるプロキシ転送を制御する。
MIBアクセス部360は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354が、MIB38に記憶されているMIB情報へアクセスするために必要とされる処理を行う。
【0027】
[代理タスク実行管理部40]
図5は、図4に示したメッセージ記憶部404に記憶される管理メッセージテーブルを例示する図である。
図5においては、番号2の管理メッセージに対応するSNMPエージェント32による処理が、前回、不成功に終わり、この処理をSNMPエージェント32の代わりに代行しうる代理タスク300の番号が5であり、その他の管理メッセージに対応する処理が、前回、成功に終わった場合が例示されている。
【0028】
被管理プログラム30(図4)において、代理タスク実行管理部40のメッセージ記憶部404は、インターセプト部402から入力される管理メッセージ情報を、図5に示すテーブルの各エントリとして記憶し、記憶した管理メッセージ情報を、インターセプト部402に対して提供する。
図5に示すように、管理メッセージテーブルの各エントリには、エントリの番号(番号)と、管理メッセージと、管理される単位(オブジェクト)に割り振られた識別子(ID)、つまり、ある特定の管理対象情報を示すオブジェクトIDと、この管理メッセージに対応するSNMPエージェント32による前回の処理の結果が、成功だったか不成功だったかを示す情報(成功/不成功)と、この管理メッセージに対応する処理を、SNMPエージェント32の代わりに代行しうる代理タスク300を示す代行タスク番号とが、対応付けられて含まれる。
なお、被管理装置3のメモリ124(図2)の使用量を節約したいときには、管理メッセージテーブルに、処理結果が不成功となっているエントリのみを残すようにしてもよい。
【0029】
インターセプト部402(図4)は、SNMPエージェント32のディスパッチャ部320から、メッセージ処理部330に対して出力される管理メッセージを受ける。
さらに、インターセプト部402は、メッセージ記憶部404に記憶された管理メッセージ情報を検索し、受けた管理メッセージが、それに対応する処理が、SNMPエージェント32により実行されうる正常メッセージであるか、それに対応する処理が、SNMPエージェント32の代わりに代理タスク300により代行される拡張メッセージであるかを判断する。
【0030】
インターセプト部402は、正常メッセージを受けたときには、受けた正常メッセージをSNMPエージェント32のメッセージ処理部330に対して出力する。
また、インターセプト部402は、拡張メッセージを受けたときには、受けた拡張メッセージをインターセプトし、インターセプトした拡張メッセージ、および、この拡張メッセージを実行しうる代理タスク300の番号などを、代理タスクディスパッチャ部400に対して出力する。
また、インターセプト部402は、代理タスクディスパッチャ部400およびSNMPエージェント32のメッセージ処理部330から通知される処理結果を受けて、メッセージ記憶部404に記憶された管理メッセージテーブルの内容を更新する。
【0031】
代理タスクディスパッチャ部400は、インターセプト部402から拡張メッセージおよび代理タスク300の番号を受けて、その番号が示す代理タスク300を制御し、受けた拡張メッセージに対応する処理を実行させる。
また、代理タスクディスパッチャ部400は、代理タスク300から処理の結果の通知を受け、インターセプト部402に対して出力する。
【0032】
以上説明した代理タスクディスパッチャ部400、インターセプト部402およびメッセージ記憶部404の処理を、図6〜図8を参照してさらに説明する。
図6は、図4に示したインターセプト部402の処理(S30)を示すフローチャートである。
図6に示すように、ステップ300(S300)において、インターセプト部402(図4)は、管理メッセージなどのデータを受信する。
ステップ302(S302)において、インターセプト部402は、S300の処理において受信したデータが、いずれの構成部分を出力元とするかを識別する。
【0033】
ステップ310(S310)において、インターセプト部402は、識別された出力元がディスパッチャ部320であるか否かを判断する。
インターセプト部402は、出力元がディスパッチャ部320であるときにはS312の処理に進み、これ以外のときにはS320の処理に進む。
ステップ312(S312)において、インターセプト部402は、受けたデータ(管理メッセージ)を記憶(キャッシュ)する。
ステップ314(S314)において、インターセプト部402は、受けたデータ(管理メッセージ)を、メッセージ処理部330に対して出力する。
【0034】
ステップ320(S320)において、インターセプト部402は、識別された出力元がメッセージ処理部330であるか否かを判断する。
出力元がメッセージ処理部330であるときには、インターセプト部402はS320の処理に進み、これ以外のときにはS322の処理に進む。
ステップ322(S322)において、インターセプト部402は、受けたデータ(処理結果)を記憶(キャッシュ)する。
ステップ324(S324)において、インターセプト部402は、S312の処理により記憶され、受けた処理結果に対応する管理メッセージと、処理結果とを対応付けて、メッセージ記憶部404に対して出力し、管理メッセージテーブル(図5)の内容を更新させる。
【0035】
ステップ340(S340)において、インターセプト部402は、識別された出力元がメッセージ記憶部404であるか否かを判断する。
出力元がメッセージ記憶部404であるときにはS342の処理に進み、これ以外のときにはS350の処理に進む。
ステップ342(S342)において、インターセプト部402は、受けたデータ(管理メッセージ情報)に含まれる処理結果(成功/不成功)が、成功であるか不成功である可を判断する。
処理結果が成功であるときには、インターセプト部402はS344の処理に進み、これ以外のときにはS346の処理に進む。
つまり、S342の処理において、処理結果が成功であると判定されたときには、前回成功したメッセージおよび未処理のメッセージがメッセージ処理部330に対して出力される。
一方、処理結果が失敗であると判定されたときには、失敗したメッセージは、代理タスクディスパッチャ部400に対して出力される。
【0036】
ステップ344(S344)において、インターセプト部402は、メッセージ記憶部404から受けたたデータ(管理メッセージ情報)に対応し、S322の処理において記憶された処理結果を、メッセージ記憶部404に対して出力し、この管理メッセージに対応するエントリの処理結果を「成功」に更新させる。
ステップ346(S346)において、インターセプト部402は、管理メッセージと、受けたデータ(管理メッセージ情報)に対応する管理メッセージと、この管理メッセージに対応する処理を代行する代理タスク300の番号とをメッセージ記憶部404に対して出力し、この管理メッセージに対応するエントリの代理タスク番号を、この番号とするように更新させる。
【0037】
ステップ350(S350)において、インターセプト部402は、出力元が代理タスクディスパッチャ部400であるか否かを判断する。
出力元が代理タスクディスパッチャ部400であるときには、インターセプト部402はS352の処理に進み、これ以外のときには例外処理(S370)を行って処理を終了する。
ステップ352(S352)において、インターセプト部402は、受けたデータ(代理タスク300による処理の結果)が成功であるか不成功であるかを判断する。
処理の結果が成功であるときには、インターセプト部402はS344の処理に進み、これ以外のときにはS356の処理に進む。
【0038】
ステップ354(S354)において、インターセプト部402は、受けた処理結果に対応し、S322の処理において記憶した処理結果を破棄する。
ステップ356(S356)において、インターセプト部402は、代理タスク300の処理結果を、メッセージ処理部330に対して出力する。
ステップ358(S358)において、インターセプト部402は、受けた処理結果に対応する管理メッセージと、代理タスク300の番号とをメッセージ記憶部404に対して出力し、この管理メッセージのエントリの代理タスク300の番号を、この番号に更新させる。
【0039】
図7は、図4に示したメッセージ記憶部404の処理(S40)を示すフローチャートである。
また、図7に示すように、ステップ400(S400)において、メッセージ記憶部404は、データを受信する。
ステップ402(S402)において、メッセージ記憶部404は、受けたデータの種別を識別する。
【0040】
ステップ410(S410)において、メッセージ記憶部404は、受けたデータが、管理メッセージおよび処理結果であるか否かを判断する。
メッセージ記憶部404は、受けたデータが管理メッセージおよび処理結果であるときにはS412の処理に進み、これ以外のときにはS430の処理に進む。
ステップ412(S412)において、メッセージ記憶部404は、管理メッセージテーブル(図5)を検索する。
ステップ414(S414)において、受けたデータ(管理メッセージおよび処理結果)が、既に管理メッセージテーブル内にあるときには、メッセージ記憶部404はS418の処理に進み、これ以外のときにはS416の処理に進む。
【0041】
ステップ416(S416)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する新たなエントリを、管理メッセージテーブル(図5)に追加し、データを記憶する。
ステップ418(S418)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する管理メッセージテーブルのエントリの内容を、このデータに合わせるように更新する。
ステップ420(S420)において、メッセージ記憶部404は、インターセプト部402に対して、検索の結果として得られた管理メッセージテーブル(図5)のエントリに含まれる処理結果と代理タスク300の番号(オブジェクトIDと代理タスク番号を合成した値)を出力する。
【0042】
ステップ430(S430)において、メッセージ記憶部404は、受けたデータが、管理メッセージおよび代理タスク300の番号であるか否かを判断する。
受けたデータが管理メッセージおよび処理結果であるときには、メッセージ記憶部404はS432の処理に進み、これ以外のときには例外処理(S440)を行って処理を終了する。
ステップ432(S432)において、メッセージ記憶部404は、受けたデータ(管理メッセージおよび処理結果)に対応する管理メッセージテーブルのエントリの内容(代理タスク300の番号)を、このデータに合わせるように更新する。
【0043】
図8は、図4に示した代理タスクディスパッチャ部400の処理(S46)を示すフローチャートである。
図8に示すように、ステップ460(S460)において、代理タスクディスパッチャ部400は、データを受信する。
ステップ462(S462)において、代理タスクディスパッチャ部400は、受けたデータの出力元を識別する。
【0044】
ステップ470(S470)において、データの出力元がインターセプト部402であるときには、代理タスクディスパッチャ部400はS472の処理に進み、これ以外のときにはS480の処理に進む。
ステップ472(S472)において、代理タスクディスパッチャ部400は、受けたデータに含まれる代理タスク300の番号に従って、処理を行わせる代理タスク300を決定する。
ステップ474(S474)において、代理タスクディスパッチャ部400は、S472の処理において決定された代理タスク300に対して管理メッセージを出力し、この代理タスク300を制御して、拡張メッセージに対応する機器管理のための処理を実行させる。
【0045】
ステップ480(S480)において、代理タスクディスパッチャ部400は、代理タスクを受けたときにはS482の処理に進み、これ以外のときには例外処理(S490)に進む。
ステップ482(S482)において、代理タスクディスパッチャ部400は、オブジェクトIDと代理タスク番号とを合成した値を、インターセプト部402に対して出力する。
【0046】
[ネットワークシステム1の全体的な動作]
以下、図9,図10を参照して、被管理装置3(被管理プログラム30;図1,図2,図4)の処理を中心としたネットワークシステム1の全体的な動作を説明する。
図9は、図1に示したネットワークシステム1において、管理装置2が被管理装置3に対して、SNMPエージェント32が実行可能な正常メッセージを送ったときの処理(S10)を示すシーケンス図である。
図9に示すように、ステップ100(S100)において、管理装置2(図1,図2)は、被管理装置3に対して正常メッセージを送信し、被管理装置3上で実行される被管理プログラム30(図4)のディスパッチャ部320は、この正常メッセージを受ける。
【0047】
ステップ102(S102)において、ディスパッチャ部320は、受けた管理メッセージ(正常メッセージ)を、インターセプト部402に対して出力する。
ステップ104(S104)において、インターセプト部402は、受けた管理メッセージ(正常メッセージ)を、メッセージ処理部330に対して出力する。
メッセージ処理部330は、コマンドレスポンスアプリケーション部350および通知発生アプリケーション部354(図4)を制御して、インターセプト部402から受けた管理メッセージに対応する機器管理のための処理を実行させる。
【0048】
ステップ106(S106)において、メッセージ処理部330は、機器管理処理の結果を、インターセプト部402に通知する。
ステップ108(S108)において、メッセージ処理部330は、メッセージ記憶部404に、管理メッセージ(正常メッセージ)とその処理結果とを出力する。
ステップ110(S110)において、メッセージ記憶部404は、処理結果を、インターセプト部402に対して出力する。
ステップ112(S112)において、メッセージ記憶部404は、処理結果をメッセージディスパッチャ部324に対して通知する。
【0049】
図10は、図1に示したネットワークシステム1において、管理装置2が被管理装置3に対して、SNMPエージェント32に代わって代理タスク300が実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
図10に示すように、ステップ100(S100)において、ネットワークシステム1(図1)において、管理装置2が被管理装置3に、SNMPエージェント32(図4)の代わりに、代理タスク300によって代行されるべき機器管理処理のための管理メッセージ(拡張メッセージ)を送信すると、被管理プログラム30は、図9に示したS102〜S110の処理を行う。
【0050】
ステップ200(S200)において、インターセプト部402は、管理メッセージと、代理タスク300の番号とを、代理タスクディスパッチャ部400に対して出力する。
ステップ202(S202)において、代理タスクディスパッチャ部400は、代理タスク300を制御して、管理装置2からの管理メッセージ(拡張メッセージ)に対応する機器管理処理を実行させる。
【0051】
ステップ204(S204)において、代理タスク300は、管理装置2からの管理メッセージ(拡張メッセージ)に対応する機器管理処理の結果を、代理タスクディスパッチャ部400に対して出力する。
ステップ206(S206)において、代理タスクディスパッチャ部400は、インターセプト部402に対して、管理メッセージと、代理タスク番号とを出力する。
ステップ208(S208)において、インターセプト部402は、メッセージ記憶部404に対して、代理タスク番号を出力し、さらに、S112の処理を行う。
【0052】
以上説明したように、本発明にかかる機器管理によれば、被管理装置3に、SNMPの機能を追加しようとするときに、順次、代理タスク300を追加すればよく、機能追加に伴うMIB38の内容変更が不要である。
ある被管理装置3(被管理プログラム30)の代理タスク300の一部を、ネットワークシステム1内の他のノードに委譲して、SNMPエージェントとしての機能を分散させることもできる。
SNMPエージェントとしての機能を分散させるためには、例えば、SNMPのマスタエージェントとサブエージェントとを用いるSNMPプロキシ方式があるが、本発明にかかる方法は、MIB38に外部エージェントを追加しないという点で、この方式と異なっている。
【0053】
[変形例]
図11は、本発明にかかる機器管理の変形例が適用される第2のネットワークシステム5を例示する図である。
図12は、図11に示した変形例において、第1の被管理プログラム30(図4)の代わりに、被管理装置3により実行される第2の被管理プログラム42の構成を示す図である。
図11に示すように、第2のネットワークシステム5は、第1のネットワークシステム1に、代理サーバ50と、ネーミングサービスサーバ52とを付加した構成を採る。
また、ネットワークシステム5において、管理装置2により実行される第2の管理プログラム42は、第1の被管理プログラム32に、代理タスククライアント部420を追加した構成を採る。
【0054】
ネットワークシステム5は、これらの構成部分により、分散オブジェクトを利用するための標準的な技術として用いられているCORBA(Common Object Request Broker)を利用した分散処理環境を提供する。
第2のネットワークシステム5において、被管理装置3(被管理プログラム42)は、図12に示すように、CORBAクライアントとしての機能を、代理タスククライアント部420として含む。
代理サーバ50は、CORBAサーバント機能を有し、ネーミングサービスサーバ52に、管理メッセージ名でサーバロケーションを登録する。
【0055】
被管理装置3(被管理プログラム42)は、ネーミングサービスサーバ52に対して、管理メッセージ名で代理サーバ50のサーバロケーションを問い合わせ、さらに、このサーバロケーションを用いて、代理サーバ50に、拡張メッセージに対応する機器管理機能のための処理を依頼する。
このようにネットワークシステム5を構成することにより、被管理装置3は、代理タスククライアント部420により、代理タスク実行管理部40(図4)がインターセプトした管理メッセージを、代理サーバ50において実行される代理タスクのORB(Object Request Broker)のスタブに伝送して、機器管理機能を分担させることができる。
【産業上の利用可能性】
【0056】
本発明は、SNMPを用いた機器管理のために利用することができる。
【図面の簡単な説明】
【0057】
【図1】本発明にかかる機器管理が適用される第1のネットワークシステムを例示する図である。
【図2】図1に示した管理装置および被管理装置のハードウエア構成を例示する図である。
【図3】図1,図2に示した管理装置において実行される管理プログラムの構成を示す図である。
【図4】図1,図2に示した被管理装置において実行される第1の被管理プログラムの構成を示す図である。
【図5】図4に示したメッセージ記憶部に記憶される管理メッセージテーブルを例示する図である。
【図6】図4に示したインターセプト部の処理(S30)を示すフローチャートである。
【図7】図4に示したメッセージ記憶部の処理(S40)を示すフローチャートである。
【図8】図4に示した代理タスクディスパッチャ部の処理(S46)を示すフローチャートである。
【図9】図1に示したネットワークシステムにおいて、管理装置が被管理装置に対して、SNMPエージェントが実行可能な正常メッセージを送ったときの処理(S10)を示すシーケンス図である。
【図10】図1に示したネットワークシステムにおいて、管理装置が被管理装置に対して、SNMPエージェントに代わって代理タスクが実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
【図11】本発明にかかる機器管理の変形例が適用される第2のネットワークシステムを例示する図である。
【図12】図11に示した変形例において、第1の被管理プログラム(図4)の代わりに、被管理装置により実行される第2の被管理プログラムの構成を示す図である。
【符号の説明】
【0058】
1・・・ネットワークシステム、
100・・・ネットワーク、
2・・・管理装置、
120・・・本体、
122・・・CPU、
124・・・メモリ、
126・・・入出力装置、
128・・・記録装置、
130・・・記録媒体、
132・・・通信装置、
20・・・管理プログラム、
200・・・SNMPマネージャ、
202・・・MIB、
210・・・通信処理部、
3・・・被管理装置、
30・・・被管理プログラム、
300・・・代理タスク、
32・・・SNMPエージェント、
320・・・ディスパッチャ部、
330・・・メッセージ処理部、
340・・・セキュリティ処理部、
350・・・コマンドレスポンスアプリケーション部、
352・・・アクセス制御部、
354・・・通知発生アプリケーション部、
356・・・プロキシ転送アプリケーション部、
360・・・MIBアクセス部、
38・・・MIB、
【特許請求の範囲】
【請求項1】
1つ以上の第1の管理メッセージに応じて、前記第1の管理メッセージに対応する簡易ネットワーク管理プロトコル(SNMP)の機器管理機能を実現する第1の機器管理機能実現手段と、
前記第1の管理メッセージ以外の第2の管理メッセージに応じて、前記第2の管理メッセージに対応する第2の機器管理機能を実現する第2の機器管理機能実現手段と、
外部から受信された管理メッセージが、前記第1の管理メッセージであるときに、前記第1の機器管理機能実現手段が、前記受信された第1の管理メッセージに対応する機器管理機能を実現するように制御する第1の機器管理制御手段と、
外部から受信された管理メッセージが、前記第2の機器管理メッセージであるときに、前記第2の機器管理機能実現手段が、前記受信された第2の管理メッセージに対応する第2の機器管理機能を実現するように制御する第2の機器管理制御手段と
を有する機器管理装置。
【請求項1】
1つ以上の第1の管理メッセージに応じて、前記第1の管理メッセージに対応する簡易ネットワーク管理プロトコル(SNMP)の機器管理機能を実現する第1の機器管理機能実現手段と、
前記第1の管理メッセージ以外の第2の管理メッセージに応じて、前記第2の管理メッセージに対応する第2の機器管理機能を実現する第2の機器管理機能実現手段と、
外部から受信された管理メッセージが、前記第1の管理メッセージであるときに、前記第1の機器管理機能実現手段が、前記受信された第1の管理メッセージに対応する機器管理機能を実現するように制御する第1の機器管理制御手段と、
外部から受信された管理メッセージが、前記第2の機器管理メッセージであるときに、前記第2の機器管理機能実現手段が、前記受信された第2の管理メッセージに対応する第2の機器管理機能を実現するように制御する第2の機器管理制御手段と
を有する機器管理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−304030(P2006−304030A)
【公開日】平成18年11月2日(2006.11.2)
【国際特許分類】
【出願番号】特願2005−124519(P2005−124519)
【出願日】平成17年4月22日(2005.4.22)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】
【公開日】平成18年11月2日(2006.11.2)
【国際特許分類】
【出願日】平成17年4月22日(2005.4.22)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】
[ Back to top ]