(57)【要約】【課題】  ＳＮＭＰ機能の拡張が容易なように改良された機器管理装置を提供する。【解決手段】  本発明にかかる機器管理を実現する被管理プログラム３０は、通信処理部２１０、代理タスク３００−１〜３００−ｎ、ＳＮＭＰエージェント３２、ＭＩＢ３８および代理タスク実行管理部４０から構成される。被管理プログラム３０は、管理装置から管理メッセージ（あるＭＩＢ情報（管理情報）に対する"Get Request", "Set Request"など）を受信する。被管理プログラム３０は、さらに、受信した管理メッセージに対応する機能の内、ＳＮＭＰエージェント３２において処理可能な機能を、ＳＮＭＰエージェント３２により実行し、ＳＮＭＰエージェント３２において処理できない機能を、ＳＮＭＰエージェント３２を代理する代理タスク３００により実行する。【選択図】図４
2006304030.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の第１の管理メッセージに応じて、前記第１の管理メッセージに対応する簡易ネットワーク管理プロトコル（ＳＮＭＰ）の機器管理機能を実現する第１の機器管理機能実現手段と、
前記第１の管理メッセージ以外の第２の管理メッセージに応じて、前記第２の管理メッセージに対応する第２の機器管理機能を実現する第２の機器管理機能実現手段と、
外部から受信された管理メッセージが、前記第１の管理メッセージであるときに、前記第１の機器管理機能実現手段が、前記受信された第１の管理メッセージに対応する機器管理機能を実現するように制御する第１の機器管理制御手段と、
外部から受信された管理メッセージが、前記第２の機器管理メッセージであるときに、前記第２の機器管理機能実現手段が、前記受信された第２の管理メッセージに対応する第２の機器管理機能を実現するように制御する第２の機器管理制御手段と
を有する機器管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、簡易ネットワーク管理プロトコル（ＳＮＭＰ; Simple Network Management Protocol）により管理対象機器を管理する機器管理装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、簡易ネットワーク管理プロトコル（ＳＮＭＰ）を用いた機器管理方法を開示する。
ＩＥＴＦ(Internet Engineering Task Force)によって、ＲＦＣ(Request For Comments)として標準化されたＳＮＭＰによる機器管理方法は、管理装置側に置かれたＳＮＭＰマネージャと、被管理機器側にＳＮＭＰエージェントとにより実現される。
このＳＮＭＰによる機器管理方法において、ＲＦＣ１２１３により定義されたＳＮＭＰマネージャおよびＳＮＭＰエージェントの管理情報（ＭＩＢ; Management Information Base）の拡張が必要とされることがあり、この拡張は、通常、ＭＩＢ情報に不整合が生じないように、ＳＮＭＰマネージャおよびＳＮＭＰエージェントの動作を停止して行われる。
【０００３】
一般に、ＳＮＭＰマネージャは、十分なハードウエア資源と、高い処理能力とを有する高性能なコンピュータ上で実行されるために、ＳＮＭＰマネージャのＭＩＢの拡張は、比較的、簡単に行われうる。
しかしながら、一方、ＳＮＭＰエージェントを実行する被管理機器は、その機能の実現のために最小限のハードウエア資源およびソフトウエア資源しか持たないことが多く、また、その処理能力が高いとは限らないので、ＳＮＭＰエージェントのＭＩＢの拡張は、被管理機器側のハードウエア資源（ディスクサイズなど）および処理能力などにより制限を受けることがある。
【特許文献１】特開２００１−２３１０７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上述した背景からなされたものであって、ＳＮＭＰ機能の拡張が容易なように改良された機器管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明にかかる機器管理装置は、１つ以上の第１の管理メッセージに応じて、前記第１の管理メッセージに対応する簡易ネットワーク管理プロトコル（ＳＮＭＰ）の機器管理機能を実現する第１の機器管理機能実現手段と、前記第１の管理メッセージ以外の第２の管理メッセージに応じて、前記第２の管理メッセージに対応する第２の機器管理機能を実現する第２の機器管理機能実現手段と、外部から受信された管理メッセージが、前記第１の管理メッセージであるときに、前記第１の機器管理機能実現手段が、前記受信された第１の管理メッセージに対応する機器管理機能を実現するように制御する第１の機器管理制御手段と、外部から受信された管理メッセージが、前記第２の機器管理メッセージであるときに、前記第２の機器管理機能実現手段が、前記受信された第２の管理メッセージに対応する第２の機器管理機能を実現するように制御する第２の機器管理制御手段とを有する。
【発明の効果】
【０００６】
本発明にかかる機器管理装置によれば、ＳＮＭＰ機能の拡張を容易に行うことができる。
【発明を実施するための最良の形態】
【０００７】
［本発明がなされるに至った経緯］
本発明の実施形態の説明に先立ち、その理解を容易にするために、本発明がなされるに至った経緯を説明する。
既に述べたように、ＳＮＭＰによる機器管理において用いられるＳＮＭＰエージェントのＭＩＢ情報の拡張は、被管理機器側のハードウエア資源、ソフトウエア資源および処理能力により、制限を受けることがある。
【０００８】
また、ＳＮＭＰによる機器管理の対象は、ネットワーク装置の他に、様々な小型の組み込み機器にまで及ぶようになってきており、このような小型機器上で動作するＳＮＭＰエージェントの機能拡張のためには、機器の小型化と高機能化という相反する事項が解決されなくてはならない。
さらに、被管理装置が多岐にわたると、その構成も様々であり、例えば、被管理装置において、ＭＩＢ情報が、書き換え不可能な記憶領域に置かれているようなときには、標準的なＭＩＢ情報の拡張方法が適用できないことがある。
本発明は、このような事柄をふまえてなされ、ＭＩＢ情報の変更による一般的なＳＮＭＰエージェントの機能拡張に代えて、ＭＩＢ情報の変更によらないＳＮＭＰエージェントの機能拡張を達成できるように構成されている。
【０００９】
［第１のネットワークシステム１］
以下、本発明の実施形態を説明する。
図１は、本発明にかかる機器管理が適用される第１のネットワークシステム１を例示する図である。
図１に示すように、ネットワークシステム１は、コンピュータなどの管理装置２と、ネットワーク機器・組み込み機器などの複数の被管理装置３−１〜３−ｍ（ｍは１以上の整数）が、ＬＡＮ，ＷＡＮなどのネットワーク１００を介して接続されて構成される。
ネットワークシステム１においては、これらの構成部分により、ＳＮＭＰによる機器管理が実現される。
【００１０】
なお、以下、被管理装置３−１〜３−ｍなど、複数あり得る構成部分のいずれかを特定せずに示すときには、単に被管理装置３などと略記することがある。
また、ネットワークシステム１において、各種処理および通信の主体となりうる管理装置２および被管理装置３は、ノードと総称されることがある。
また、以下の各図において、実質的に同じ構成部分には、同じ符号が付されている。
【００１１】
［ハードウエア］
以下、ネットワークシステム１の各ノードのハードウエアを説明する。
【００１２】
図２は、図１に示した管理装置２および被管理装置３のハードウエア構成を例示する図である。
図２に示すように、ネットワークシステム１の各ノードは、ＣＰＵ１２２・メモリ１２４などを含む本体１２０、キーボード・表示装置などを含む入出力装置１２６、ＣＤ装置・ＨＤＤ装置などの記録装置１２８、および、ネットワーク１００を介した他のノードとの通信を行う通信装置１３２から構成される。
但し、被管理装置３は、その用途などに応じて、本体１２０および通信装置１３２以外を、選択的に含むように構成される。
つまり、ネットワークシステム１の各ノードは、ネットワーク１００を介して他のノードと通信可能なコンピュータとしての構成部分を有している。
【００１３】
［ソフトウエア］
以下、ネットワークシステム１上で動作する各ノードのソフトウエアを説明する。
【００１４】
図３は、図１，図２に示した管理装置２において実行される管理プログラム２０の構成を示す図である。
図３に示すように、管理プログラム２０は、ＳＮＭＰマネージャ２００、ＭＩＢ２０２および通信処理部２１０から構成される。
管理プログラム２０は、例えば、記録媒体１３０（図２）あるいはＲＯＭ（図示せず）などを介して管理装置２に供給され、メモリ１２４にロードされ、管理装置２にインストールされたＯＳ上で、管理装置２のハードウエア資源を具体的に利用して実行される（以下の各プログラムに同じ）。
また、管理プログラム２０の各構成部分は、同等の機能を有するハードウエアがあれば、それにより置換されうる（以下の各プログラムについて同じ）。
管理プログラム２０は、これらの構成部分により、被管理装置３に対するＳＮＭＰによる機器管理を行う。
【００１５】
管理プログラム２０において、通信処理部２１０は、ＴＣＰ／ＩＰによる通信のために用いられるネットワークプロトコルスタック（ネットワーク上である機能を実現するために必要なプロトコルを選び、階層状に積み上げたソフトウェア群）であって、通信装置１３２（図２）を制御するデバイスドライバ、データ伝送用のフレームなどを制御するデータリンク層、ＩＰ・ＩＰＸなどのネットワーク層およびＴＣＰ・ＵＤＰのトランスポート層のソフトウエアを含む。
通信処理部２１０は、被管理装置３と管理装置２との間の通信のために必要な処理を行う。
ＳＮＭＰマネージャ２００は、被管理装置３に対するＳＮＭＰによる機器管理のために必要な処理を実現する。
ＭＩＢ２０２は、ＭＩＢ情報を記憶し、記憶したＭＩＢ情報を、ＳＮＭＰマネージャ２００に対して提供する。
【００１６】
［第１の被管理プログラム３０］
図４は、図１，図２に示した被管理装置３において実行される第１の被管理プログラム３０の構成を示す図である。
図４に示すように、第１の被管理プログラム３０は、通信処理部２１０（図３）、１つ以上の代理タスク３００−１〜３００−ｎ（ｎは１以上の整数）、ＳＮＭＰエージェント３２、ＭＩＢ３８および代理タスク実行管理部４０から構成される。
ＳＮＭＰエージェント３２は、ディスパッチャ部３２０、メッセージ処理部３３０、セキュリティ処理部３４０、コマンドレスポンスアプリケーション部３５０、アクセス制御部３５２、通知発生アプリケーション部３５４、プロキシ転送アプリケーション部３５６およびＭＩＢアクセス部３６０から構成される。
ディスパッチャ部３２０は、トランスポートマッピング部３２２、メッセージディスパッチャ部３２４およびＰＤＵディスパッチャ部３２６を含む。
メッセージ処理部３３０は、ｖ１処理部３３２−１、ｖ２処理部３３２−１およびｖ３処理部３３２−３を含む。
【００１７】
［被管理プログラム３０の処理の概要］
被管理プログラム３０は、これらの構成部分により、管理装置２（管理プログラム２０；図１〜図３）から管理メッセージ（あるＭＩＢ情報（管理情報）に対する"Get Request", "Set Request"など）を受信する。
被管理プログラム３０は、さらに、受信した管理メッセージに対応する機能の内、ＳＮＭＰエージェント３２において処理可能な機能を、ＳＮＭＰエージェント３２により実行し、ＳＮＭＰエージェント３２において処理できない機能を、ＳＮＭＰエージェント３２を代理する代理タスク３００により実行する。
【００１８】
［被管理プログラム３０の各構成部分］
以下、被管理プログラム３０の各構成部分を説明する。
【００１９】
［代理タスク３００・ＭＩＢ３８］
被管理プログラム３０において、代理タスク３００は、代理タスク実行管理部４０の制御に従って、ＳＮＭＰエージェント３２により実行され得ない機器管理のための処理（後述する拡張メッセージに対応する処理）を実行し、処理の結果を代理タスク実行管理部４０に通知する。
ＭＩＢ３８は、ＳＮＭＰエージェント３２から入力されるＭＩＢ情報を記憶し、記憶したＭＩＢ情報を、ＳＮＭＰエージェント３２に対して提供する。
【００２０】
［ＳＮＭＰエージェント３２］
被管理プログラム３０において、ＳＮＭＰエージェント３２のディスパッチャ部３２０は、管理装置２（管理プログラム２０）から通信処理部２１０を介して受信した管理メッセージを、代理タスク実行管理部４０を介して、メッセージ処理部３３０に対して出力する。
ディスパッチャ部３２０のトランスポートマッピング部３２２は、通信処理部２１０との間の伝送フォーマットなどを制御する。
【００２１】
メッセージディスパッチャ部３２４は、メッセージ処理部３３０との間の管理メッセージの伝送処理を行う。
ＰＤＵディスパッチャ部３２６は、ＳＮＭＰのＰＤＵ(Protocol Data Unit)の内容に応じて、被管理装置３に対する機器管理のための処理を、メッセージ処理部３３０に割り振る。
【００２２】
メッセージ処理部３３０は、ディスパッチャ部３２０から代理タスク実行管理部４０を介して入力される管理メッセージを解析し、解析結果を、セキュリティ処理部３４０に対して出力する。
また、メッセージ処理部３３０は、管理メッセージの解析結果に従って、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４の処理を制御し、この管理メッセージに対応する機器管理のための処理を、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４に実行させる。
【００２３】
なお、メッセージ処理部３３０による解析処理は、ＳＮＭＰのバージョンに応じてさらに細分化されることがあり、細分化された解析処理は、ｖ１処理部３３２−１、ｖ２処理部３３２−２およびｖ３処理部３３２−３（ｖ１〜ｖ３は、ＳＮＭＰのプロトコルバージョンがバージョン１〜３であることを示す）により分担されて実行される。
さらに、メッセージ処理部３３０は、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４から、処理が成功に終わったか、不成功に終わったかの通知を受け、代理タスク実行管理部４０に対して通知する。
【００２４】
セキュリティ処理部３４０は、メッセージ処理部３３０の制御に従って、管理プログラム２０による機器管理のセキュリティを保護するための処理を行う。
コマンドレスポンスアプリケーション部３５０は、メッセージ処理部３３０の管理メッセージの解析結果に従って、この管理メッセージに対応する機器管理のために必要とされる処理を実行し、その結果をメッセージ処理部３３０に通知する。
【００２５】
通知発生アプリケーション部３５４は、メッセージ処理部３３０の制御に従って、機器管理処理のために実行されるトラップ（Ｔｒａｐ）命令を実行し、その結果をメッセージ処理部３３０に通知する。
アクセス制御部３５２は、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４の実行権限を管理する。
【００２６】
プロキシ転送アプリケーション部３５６は、ＳＮＭＰエージェント３２が、ＳＮＭＰプロキシとして動作するときに行われるプロキシ転送を制御する。
ＭＩＢアクセス部３６０は、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４が、ＭＩＢ３８に記憶されているＭＩＢ情報へアクセスするために必要とされる処理を行う。
【００２７】
［代理タスク実行管理部４０］
図５は、図４に示したメッセージ記憶部４０４に記憶される管理メッセージテーブルを例示する図である。
図５においては、番号２の管理メッセージに対応するＳＮＭＰエージェント３２による処理が、前回、不成功に終わり、この処理をＳＮＭＰエージェント３２の代わりに代行しうる代理タスク３００の番号が５であり、その他の管理メッセージに対応する処理が、前回、成功に終わった場合が例示されている。
【００２８】
被管理プログラム３０（図４）において、代理タスク実行管理部４０のメッセージ記憶部４０４は、インターセプト部４０２から入力される管理メッセージ情報を、図５に示すテーブルの各エントリとして記憶し、記憶した管理メッセージ情報を、インターセプト部４０２に対して提供する。
図５に示すように、管理メッセージテーブルの各エントリには、エントリの番号（番号）と、管理メッセージと、管理される単位（オブジェクト）に割り振られた識別子（ＩＤ）、つまり、ある特定の管理対象情報を示すオブジェクトＩＤと、この管理メッセージに対応するＳＮＭＰエージェント３２による前回の処理の結果が、成功だったか不成功だったかを示す情報（成功／不成功）と、この管理メッセージに対応する処理を、ＳＮＭＰエージェント３２の代わりに代行しうる代理タスク３００を示す代行タスク番号とが、対応付けられて含まれる。
なお、被管理装置３のメモリ１２４（図２）の使用量を節約したいときには、管理メッセージテーブルに、処理結果が不成功となっているエントリのみを残すようにしてもよい。
【００２９】
インターセプト部４０２（図４）は、ＳＮＭＰエージェント３２のディスパッチャ部３２０から、メッセージ処理部３３０に対して出力される管理メッセージを受ける。
さらに、インターセプト部４０２は、メッセージ記憶部４０４に記憶された管理メッセージ情報を検索し、受けた管理メッセージが、それに対応する処理が、ＳＮＭＰエージェント３２により実行されうる正常メッセージであるか、それに対応する処理が、ＳＮＭＰエージェント３２の代わりに代理タスク３００により代行される拡張メッセージであるかを判断する。
【００３０】
インターセプト部４０２は、正常メッセージを受けたときには、受けた正常メッセージをＳＮＭＰエージェント３２のメッセージ処理部３３０に対して出力する。
また、インターセプト部４０２は、拡張メッセージを受けたときには、受けた拡張メッセージをインターセプトし、インターセプトした拡張メッセージ、および、この拡張メッセージを実行しうる代理タスク３００の番号などを、代理タスクディスパッチャ部４００に対して出力する。
また、インターセプト部４０２は、代理タスクディスパッチャ部４００およびＳＮＭＰエージェント３２のメッセージ処理部３３０から通知される処理結果を受けて、メッセージ記憶部４０４に記憶された管理メッセージテーブルの内容を更新する。
【００３１】
代理タスクディスパッチャ部４００は、インターセプト部４０２から拡張メッセージおよび代理タスク３００の番号を受けて、その番号が示す代理タスク３００を制御し、受けた拡張メッセージに対応する処理を実行させる。
また、代理タスクディスパッチャ部４００は、代理タスク３００から処理の結果の通知を受け、インターセプト部４０２に対して出力する。
【００３２】
以上説明した代理タスクディスパッチャ部４００、インターセプト部４０２およびメッセージ記憶部４０４の処理を、図６〜図８を参照してさらに説明する。
図６は、図４に示したインターセプト部４０２の処理（Ｓ３０）を示すフローチャートである。
図６に示すように、ステップ３００（Ｓ３００）において、インターセプト部４０２（図４）は、管理メッセージなどのデータを受信する。
ステップ３０２（Ｓ３０２）において、インターセプト部４０２は、Ｓ３００の処理において受信したデータが、いずれの構成部分を出力元とするかを識別する。
【００３３】
ステップ３１０（Ｓ３１０）において、インターセプト部４０２は、識別された出力元がディスパッチャ部３２０であるか否かを判断する。
インターセプト部４０２は、出力元がディスパッチャ部３２０であるときにはＳ３１２の処理に進み、これ以外のときにはＳ３２０の処理に進む。
ステップ３１２（Ｓ３１２）において、インターセプト部４０２は、受けたデータ（管理メッセージ）を記憶（キャッシュ）する。
ステップ３１４（Ｓ３１４）において、インターセプト部４０２は、受けたデータ（管理メッセージ）を、メッセージ処理部３３０に対して出力する。
【００３４】
ステップ３２０（Ｓ３２０）において、インターセプト部４０２は、識別された出力元がメッセージ処理部３３０であるか否かを判断する。
出力元がメッセージ処理部３３０であるときには、インターセプト部４０２はＳ３２０の処理に進み、これ以外のときにはＳ３２２の処理に進む。
ステップ３２２（Ｓ３２２）において、インターセプト部４０２は、受けたデータ（処理結果）を記憶（キャッシュ）する。
ステップ３２４（Ｓ３２４）において、インターセプト部４０２は、Ｓ３１２の処理により記憶され、受けた処理結果に対応する管理メッセージと、処理結果とを対応付けて、メッセージ記憶部４０４に対して出力し、管理メッセージテーブル（図５）の内容を更新させる。
【００３５】
ステップ３４０（Ｓ３４０）において、インターセプト部４０２は、識別された出力元がメッセージ記憶部４０４であるか否かを判断する。
出力元がメッセージ記憶部４０４であるときにはＳ３４２の処理に進み、これ以外のときにはＳ３５０の処理に進む。
ステップ３４２（Ｓ３４２）において、インターセプト部４０２は、受けたデータ（管理メッセージ情報）に含まれる処理結果（成功／不成功）が、成功であるか不成功である可を判断する。
処理結果が成功であるときには、インターセプト部４０２はＳ３４４の処理に進み、これ以外のときにはＳ３４６の処理に進む。
つまり、Ｓ３４２の処理において、処理結果が成功であると判定されたときには、前回成功したメッセージおよび未処理のメッセージがメッセージ処理部３３０に対して出力される。
一方、処理結果が失敗であると判定されたときには、失敗したメッセージは、代理タスクディスパッチャ部４００に対して出力される。
【００３６】
ステップ３４４（Ｓ３４４）において、インターセプト部４０２は、メッセージ記憶部４０４から受けたたデータ（管理メッセージ情報）に対応し、Ｓ３２２の処理において記憶された処理結果を、メッセージ記憶部４０４に対して出力し、この管理メッセージに対応するエントリの処理結果を「成功」に更新させる。
ステップ３４６（Ｓ３４６）において、インターセプト部４０２は、管理メッセージと、受けたデータ（管理メッセージ情報）に対応する管理メッセージと、この管理メッセージに対応する処理を代行する代理タスク３００の番号とをメッセージ記憶部４０４に対して出力し、この管理メッセージに対応するエントリの代理タスク番号を、この番号とするように更新させる。
【００３７】
ステップ３５０（Ｓ３５０）において、インターセプト部４０２は、出力元が代理タスクディスパッチャ部４００であるか否かを判断する。
出力元が代理タスクディスパッチャ部４００であるときには、インターセプト部４０２はＳ３５２の処理に進み、これ以外のときには例外処理（Ｓ３７０）を行って処理を終了する。
ステップ３５２（Ｓ３５２）において、インターセプト部４０２は、受けたデータ（代理タスク３００による処理の結果）が成功であるか不成功であるかを判断する。
処理の結果が成功であるときには、インターセプト部４０２はＳ３４４の処理に進み、これ以外のときにはＳ３５６の処理に進む。
【００３８】
ステップ３５４（Ｓ３５４）において、インターセプト部４０２は、受けた処理結果に対応し、Ｓ３２２の処理において記憶した処理結果を破棄する。
ステップ３５６（Ｓ３５６）において、インターセプト部４０２は、代理タスク３００の処理結果を、メッセージ処理部３３０に対して出力する。
ステップ３５８（Ｓ３５８）において、インターセプト部４０２は、受けた処理結果に対応する管理メッセージと、代理タスク３００の番号とをメッセージ記憶部４０４に対して出力し、この管理メッセージのエントリの代理タスク３００の番号を、この番号に更新させる。
【００３９】
図７は、図４に示したメッセージ記憶部４０４の処理（Ｓ４０）を示すフローチャートである。
また、図７に示すように、ステップ４００（Ｓ４００）において、メッセージ記憶部４０４は、データを受信する。
ステップ４０２（Ｓ４０２）において、メッセージ記憶部４０４は、受けたデータの種別を識別する。
【００４０】
ステップ４１０（Ｓ４１０）において、メッセージ記憶部４０４は、受けたデータが、管理メッセージおよび処理結果であるか否かを判断する。
メッセージ記憶部４０４は、受けたデータが管理メッセージおよび処理結果であるときにはＳ４１２の処理に進み、これ以外のときにはＳ４３０の処理に進む。
ステップ４１２（Ｓ４１２）において、メッセージ記憶部４０４は、管理メッセージテーブル（図５）を検索する。
ステップ４１４（Ｓ４１４）において、受けたデータ（管理メッセージおよび処理結果）が、既に管理メッセージテーブル内にあるときには、メッセージ記憶部４０４はＳ４１８の処理に進み、これ以外のときにはＳ４１６の処理に進む。
【００４１】
ステップ４１６（Ｓ４１６）において、メッセージ記憶部４０４は、受けたデータ（管理メッセージおよび処理結果）に対応する新たなエントリを、管理メッセージテーブル（図５）に追加し、データを記憶する。
ステップ４１８（Ｓ４１８）において、メッセージ記憶部４０４は、受けたデータ（管理メッセージおよび処理結果）に対応する管理メッセージテーブルのエントリの内容を、このデータに合わせるように更新する。
ステップ４２０（Ｓ４２０）において、メッセージ記憶部４０４は、インターセプト部４０２に対して、検索の結果として得られた管理メッセージテーブル（図５）のエントリに含まれる処理結果と代理タスク３００の番号（オブジェクトＩＤと代理タスク番号を合成した値）を出力する。
【００４２】
ステップ４３０（Ｓ４３０）において、メッセージ記憶部４０４は、受けたデータが、管理メッセージおよび代理タスク３００の番号であるか否かを判断する。
受けたデータが管理メッセージおよび処理結果であるときには、メッセージ記憶部４０４はＳ４３２の処理に進み、これ以外のときには例外処理（Ｓ４４０）を行って処理を終了する。
ステップ４３２（Ｓ４３２）において、メッセージ記憶部４０４は、受けたデータ（管理メッセージおよび処理結果）に対応する管理メッセージテーブルのエントリの内容（代理タスク３００の番号）を、このデータに合わせるように更新する。
【００４３】
図８は、図４に示した代理タスクディスパッチャ部４００の処理（Ｓ４６）を示すフローチャートである。
図８に示すように、ステップ４６０（Ｓ４６０）において、代理タスクディスパッチャ部４００は、データを受信する。
ステップ４６２（Ｓ４６２）において、代理タスクディスパッチャ部４００は、受けたデータの出力元を識別する。
【００４４】
ステップ４７０（Ｓ４７０）において、データの出力元がインターセプト部４０２であるときには、代理タスクディスパッチャ部４００はＳ４７２の処理に進み、これ以外のときにはＳ４８０の処理に進む。
ステップ４７２（Ｓ４７２）において、代理タスクディスパッチャ部４００は、受けたデータに含まれる代理タスク３００の番号に従って、処理を行わせる代理タスク３００を決定する。
ステップ４７４（Ｓ４７４）において、代理タスクディスパッチャ部４００は、Ｓ４７２の処理において決定された代理タスク３００に対して管理メッセージを出力し、この代理タスク３００を制御して、拡張メッセージに対応する機器管理のための処理を実行させる。
【００４５】
ステップ４８０（Ｓ４８０）において、代理タスクディスパッチャ部４００は、代理タスクを受けたときにはＳ４８２の処理に進み、これ以外のときには例外処理（Ｓ４９０）に進む。
ステップ４８２（Ｓ４８２）において、代理タスクディスパッチャ部４００は、オブジェクトＩＤと代理タスク番号とを合成した値を、インターセプト部４０２に対して出力する。
【００４６】
［ネットワークシステム１の全体的な動作］
以下、図９，図１０を参照して、被管理装置３（被管理プログラム３０；図１，図２，図４）の処理を中心としたネットワークシステム１の全体的な動作を説明する。
図９は、図１に示したネットワークシステム１において、管理装置２が被管理装置３に対して、ＳＮＭＰエージェント３２が実行可能な正常メッセージを送ったときの処理（Ｓ１０）を示すシーケンス図である。
図９に示すように、ステップ１００（Ｓ１００）において、管理装置２（図１，図２）は、被管理装置３に対して正常メッセージを送信し、被管理装置３上で実行される被管理プログラム３０（図４）のディスパッチャ部３２０は、この正常メッセージを受ける。
【００４７】
ステップ１０２（Ｓ１０２）において、ディスパッチャ部３２０は、受けた管理メッセージ（正常メッセージ）を、インターセプト部４０２に対して出力する。
ステップ１０４（Ｓ１０４）において、インターセプト部４０２は、受けた管理メッセージ（正常メッセージ）を、メッセージ処理部３３０に対して出力する。
メッセージ処理部３３０は、コマンドレスポンスアプリケーション部３５０および通知発生アプリケーション部３５４（図４）を制御して、インターセプト部４０２から受けた管理メッセージに対応する機器管理のための処理を実行させる。
【００４８】
ステップ１０６（Ｓ１０６）において、メッセージ処理部３３０は、機器管理処理の結果を、インターセプト部４０２に通知する。
ステップ１０８（Ｓ１０８）において、メッセージ処理部３３０は、メッセージ記憶部４０４に、管理メッセージ（正常メッセージ）とその処理結果とを出力する。
ステップ１１０（Ｓ１１０）において、メッセージ記憶部４０４は、処理結果を、インターセプト部４０２に対して出力する。
ステップ１１２（Ｓ１１２）において、メッセージ記憶部４０４は、処理結果をメッセージディスパッチャ部３２４に対して通知する。
【００４９】
図１０は、図１に示したネットワークシステム１において、管理装置２が被管理装置３に対して、ＳＮＭＰエージェント３２に代わって代理タスク３００が実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
図１０に示すように、ステップ１００（Ｓ１００）において、ネットワークシステム１（図１）において、管理装置２が被管理装置３に、ＳＮＭＰエージェント３２（図４）の代わりに、代理タスク３００によって代行されるべき機器管理処理のための管理メッセージ（拡張メッセージ）を送信すると、被管理プログラム３０は、図９に示したＳ１０２〜Ｓ１１０の処理を行う。
【００５０】
ステップ２００（Ｓ２００）において、インターセプト部４０２は、管理メッセージと、代理タスク３００の番号とを、代理タスクディスパッチャ部４００に対して出力する。
ステップ２０２（Ｓ２０２）において、代理タスクディスパッチャ部４００は、代理タスク３００を制御して、管理装置２からの管理メッセージ（拡張メッセージ）に対応する機器管理処理を実行させる。
【００５１】
ステップ２０４（Ｓ２０４）において、代理タスク３００は、管理装置２からの管理メッセージ（拡張メッセージ）に対応する機器管理処理の結果を、代理タスクディスパッチャ部４００に対して出力する。
ステップ２０６（Ｓ２０６）において、代理タスクディスパッチャ部４００は、インターセプト部４０２に対して、管理メッセージと、代理タスク番号とを出力する。
ステップ２０８（Ｓ２０８）において、インターセプト部４０２は、メッセージ記憶部４０４に対して、代理タスク番号を出力し、さらに、Ｓ１１２の処理を行う。
【００５２】
以上説明したように、本発明にかかる機器管理によれば、被管理装置３に、ＳＮＭＰの機能を追加しようとするときに、順次、代理タスク３００を追加すればよく、機能追加に伴うＭＩＢ３８の内容変更が不要である。
ある被管理装置３（被管理プログラム３０）の代理タスク３００の一部を、ネットワークシステム１内の他のノードに委譲して、ＳＮＭＰエージェントとしての機能を分散させることもできる。
ＳＮＭＰエージェントとしての機能を分散させるためには、例えば、ＳＮＭＰのマスタエージェントとサブエージェントとを用いるＳＮＭＰプロキシ方式があるが、本発明にかかる方法は、ＭＩＢ３８に外部エージェントを追加しないという点で、この方式と異なっている。
【００５３】
［変形例］
図１１は、本発明にかかる機器管理の変形例が適用される第２のネットワークシステム５を例示する図である。
図１２は、図１１に示した変形例において、第１の被管理プログラム３０（図４）の代わりに、被管理装置３により実行される第２の被管理プログラム４２の構成を示す図である。
図１１に示すように、第２のネットワークシステム５は、第１のネットワークシステム１に、代理サーバ５０と、ネーミングサービスサーバ５２とを付加した構成を採る。
また、ネットワークシステム５において、管理装置２により実行される第２の管理プログラム４２は、第１の被管理プログラム３２に、代理タスククライアント部４２０を追加した構成を採る。
【００５４】
ネットワークシステム５は、これらの構成部分により、分散オブジェクトを利用するための標準的な技術として用いられているＣＯＲＢＡ(Common Object Request Broker)を利用した分散処理環境を提供する。
第２のネットワークシステム５において、被管理装置３（被管理プログラム４２）は、図１２に示すように、ＣＯＲＢＡクライアントとしての機能を、代理タスククライアント部４２０として含む。
代理サーバ５０は、ＣＯＲＢＡサーバント機能を有し、ネーミングサービスサーバ５２に、管理メッセージ名でサーバロケーションを登録する。
【００５５】
被管理装置３（被管理プログラム４２）は、ネーミングサービスサーバ５２に対して、管理メッセージ名で代理サーバ５０のサーバロケーションを問い合わせ、さらに、このサーバロケーションを用いて、代理サーバ５０に、拡張メッセージに対応する機器管理機能のための処理を依頼する。
このようにネットワークシステム５を構成することにより、被管理装置３は、代理タスククライアント部４２０により、代理タスク実行管理部４０（図４）がインターセプトした管理メッセージを、代理サーバ５０において実行される代理タスクのＯＲＢ(Object Request Broker)のスタブに伝送して、機器管理機能を分担させることができる。
【産業上の利用可能性】
【００５６】
本発明は、ＳＮＭＰを用いた機器管理のために利用することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明にかかる機器管理が適用される第１のネットワークシステムを例示する図である。
【図２】図１に示した管理装置および被管理装置のハードウエア構成を例示する図である。
【図３】図１，図２に示した管理装置において実行される管理プログラムの構成を示す図である。
【図４】図１，図２に示した被管理装置において実行される第１の被管理プログラムの構成を示す図である。
【図５】図４に示したメッセージ記憶部に記憶される管理メッセージテーブルを例示する図である。
【図６】図４に示したインターセプト部の処理（Ｓ３０）を示すフローチャートである。
【図７】図４に示したメッセージ記憶部の処理（Ｓ４０）を示すフローチャートである。
【図８】図４に示した代理タスクディスパッチャ部の処理（Ｓ４６）を示すフローチャートである。
【図９】図１に示したネットワークシステムにおいて、管理装置が被管理装置に対して、ＳＮＭＰエージェントが実行可能な正常メッセージを送ったときの処理（Ｓ１０）を示すシーケンス図である。
【図１０】図１に示したネットワークシステムにおいて、管理装置が被管理装置に対して、ＳＮＭＰエージェントに代わって代理タスクが実行すべき拡張メッセージを送ったときの処理を示すシーケンス図である。
【図１１】本発明にかかる機器管理の変形例が適用される第２のネットワークシステムを例示する図である。
【図１２】図１１に示した変形例において、第１の被管理プログラム（図４）の代わりに、被管理装置により実行される第２の被管理プログラムの構成を示す図である。
【符号の説明】
【００５８】
１・・・ネットワークシステム、
１００・・・ネットワーク、
２・・・管理装置、
１２０・・・本体、
１２２・・・ＣＰＵ、
１２４・・・メモリ、
１２６・・・入出力装置、
１２８・・・記録装置、
１３０・・・記録媒体、
１３２・・・通信装置、
２０・・・管理プログラム、
２００・・・ＳＮＭＰマネージャ、
２０２・・・ＭＩＢ、
２１０・・・通信処理部、
３・・・被管理装置、
３０・・・被管理プログラム、
３００・・・代理タスク、
３２・・・ＳＮＭＰエージェント、
３２０・・・ディスパッチャ部、
３３０・・・メッセージ処理部、
３４０・・・セキュリティ処理部、
３５０・・・コマンドレスポンスアプリケーション部、
３５２・・・アクセス制御部、
３５４・・・通知発生アプリケーション部、
３５６・・・プロキシ転送アプリケーション部、
３６０・・・ＭＩＢアクセス部、
３８・・・ＭＩＢ、
【図１】
2006304030.tif 000003
【図２】
2006304030.tif 000004
【図３】
2006304030.tif 000005
【図４】
2006304030.tif 000006
【図５】
2006304030.tif 000007
【図６】
2006304030.tif 000008
【図７】
2006304030.tif 000009
【図８】
2006304030.tif 000010
【図９】
2006304030.tif 000011
【図１０】
2006304030.tif 000012
【図１１】
2006304030.tif 000013
【図１２】
2006304030.tif 000014