(57)【要約】【課題】  ＳＮＭＰに従ってコマンドを処理する機能を有する通信装置において、外部装置からの設定変更を可能にしながら、高いセキュリティを維持できるようにする。【解決手段】  通信装置に、ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行うＳＮＭＰデーモン１３０と、ＰＣ２０から受信したコマンドをＳＮＭＰデーモン１３０が処理可能なＳＮＭＰコマンドに変換するＳＮＭＰライブラリ１２１，１４２とを設けると共に、ＳＮＭＰデーモン１３０が受け取ったコマンドがＳＮＭＰライブラリ１２１又は１４２によって生成されたものか否かを識別する要求元判断部１３１を設け、権限確認部１３２により、要求元判断部１３１の判断結果に基づいてＳＮＭＰデーモン１３０による処理の内容を変更するようにした。【選択図】        図２
2006059011.tif 000002
【特許請求の範囲】
【請求項１】
ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、
外部装置から受信したコマンドを前記処理手段が処理可能なコマンドに変換する内部ＳＮＭＰマネージャと、
前記処理手段が処理すべきコマンドが前記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手段と、
該手段の判断結果に基づいて前記処理手段による処理の内容を変更するアクセス制御手段とを設けたことを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置であって、
前記アクセス制御手段が、前記内部ＳＮＭＰマネージャによって生成されたものでないコマンドに応じた設定変更処理を前記処理手段に実行させないようにする手段を有することを特徴とする通信装置。
【請求項３】
請求項１又は２記載の通信装置であって、
前記識別手段が、処理すべきコマンドを前記処理手段が受け取った際に用いたソケットの情報によって該コマンドが前記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する手段を有することを特徴とする通信装置。
【請求項４】
ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、
外部装置から受信したコマンドを前記処理手段が処理可能なコマンドに変更する内部ＳＮＭＰマネージャとを有する通信装置を制御する通信装置の制御方法であって、
前記通信装置に、
前記処理手段が処理すべきコマンドが前記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手順と、
該手順における判断結果に基づいて前記処理手段による処理の内容を変更するアクセス制御手順とを実行させることを特徴とする通信装置の制御方法。
【請求項５】
コンピュータを、
ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、
外部装置から受信したコマンドを前記処理手段が処理可能なコマンドに変更する内部ＳＮＭＰマネージャと、
前記処理手段が処理すべきコマンドが前記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手段と、
該手段の判断結果に基づいて前記処理手段による処理の内容を変更するアクセス制御手段として機能させるためのプログラム。
【請求項６】
請求項５記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＳＮＭＰ（シンプル・ネットワーク・マネジメント・プロトコル：Simple Network Management Protocol）に従ってコマンドを処理する機能を有する通信装置、このような通信装置を制御する通信装置の制御方法、コンピュータをこのような通信装置として機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読取可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、ネットワークを介した通信が可能な通信装置において、ネットワーク機器管理プロトコルであるＳＮＭＰに対応させるようにすることが行われている。このような通信装置としては、例えば、プリンタやデジタル複合機といったオフィス機器が挙げられる。そして、このＳＮＭＰに対応している機器は、ＳＮＭＰマネージャと呼ばれる管理ツールにより、外部装置からでもネットワークを介して設定の参照や変更を行うことが可能である。
このようなＳＮＭＰ対応機器に関する技術は、例えば特許文献１や特許文献２に記載されている。
【特許文献１】特開２０００−２８５０６６号公報
【特許文献２】特開２００３−３１６６７２号公報
【０００３】
また、近年では、装置の内部にＳＮＭＰマネージャと同等な機能を有するアプリケーションを搭載し、ウェブブラウザやｔｅｌｎｅｔ（テルネット）クライアント等を利用して外部のＰＣ（パーソナルコンピュータ）からアクセスして設定の参照や更新等を行うことができるようにした通信装置も開発されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、現在広く用いられているＳＮＭＰであるバージョン１（ｖ１）やバージョン２（ｖ２）では、ユーザ認証用の機能が特に設けられていない。そこで、コミュニティと呼ばれる文字列を実質的なパスワードとして利用し、アクセス時に使用するコミュニティに応じてアクセス可能な情報を制限することにより、セキュリティを確保するようにするといった対応を行うことが考えられる。
【０００５】
しかし、このような状況では、コミュニティ名さえ合致すれば、管理者用の権限で機器の設定を参照、変更することが可能となってしまう等、セキュリティの強度が低いと言わざるを得ないという問題があった。
特許文献２には、動的に生成したコミュニティ名を使用して設定変更の際のアクセス権限を確認するようにすることが記載されているが、特定のコミュニティ名を利用すればこの動的に生成したコミュニティ名を取得できてしまうため、やはりセキュリティ強度が十分とは言えない。
【０００６】
このような状況下であっても、全てのコミュニティ名について機器の設定の変更を許可しないようにしてしまえば、不正に設定を変更されてしまうような事態を防止することはできる。設定の参照についても同様である。しかし、このようにしてしまうと、ネットワークを介して機器の設定を参照したり変更したりすることが一切できなくなってしまい、機器の利便性が低下してしまうという問題があった。
この発明は、このような問題を解決し、ＳＮＭＰに従ってコマンドを処理する機能を有する通信装置において、外部装置からの設定変更を可能にしながら、高いセキュリティを維持できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、この発明の通信装置は、ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、外部装置から受信したコマンドを上記処理手段が処理可能なコマンドに変換する内部ＳＮＭＰマネージャと、上記処理手段が処理すべきコマンドが上記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手段と、その手段の判断結果に基づいて上記処理手段による処理の内容を変更するアクセス制御手段とを設けたものである。
【０００８】
このような通信装置において、上記アクセス制御手段に、上記内部ＳＮＭＰマネージャによって生成されたものでないコマンドに応じた設定変更処理を上記処理手段に実行させないようにする手段を設けるとよい。
さらに、上記識別手段に、処理すべきコマンドを上記処理手段が受け取った際に用いたソケットの情報によってそのコマンドが上記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する手段を設けるとよい。
【０００９】
また、この発明の通信装置の制御方法は、ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、外部装置から受信したコマンドを上記処理手段が処理可能なコマンドに変更する内部ＳＮＭＰマネージャとを有する通信装置を制御する通信装置の制御方法において、上記通信装置に、上記処理手段が処理すべきコマンドが上記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手順と、その手順における判断結果に基づいて上記処理手段による処理の内容を変更するアクセス制御手順とを実行させるようにしたものである。
【００１０】
また、この発明のプログラムは、コンピュータを、ＳＮＭＰに従って、受け取ったコマンドに応じた処理を行う処理手段と、外部装置から受信したコマンドを上記処理手段が処理可能なコマンドに変更する内部ＳＮＭＰマネージャと、上記処理手段が処理すべきコマンドが上記内部ＳＮＭＰマネージャによって生成されたものか否かを識別する識別手段と、その手段の判断結果に基づいて上記処理手段による処理の内容を変更するアクセス制御手段として機能させるためのプログラムである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００１１】
以上のようなこの発明の通信装置又は通信装置の制御方法によれば、ＳＮＭＰに従ってコマンドを処理する機能を有する通信装置において、外部装置からの設定変更を可能にしながら、高いセキュリティを維持できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記の通信装置として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明の通信装置の実施形態であるネットワーク機器の構成について説明する。図１は、そのネットワーク機器の構成を、そのネットワーク機器にアクセス可能なＰＣ（パーソナルコンピュータ）と共に示したブロック図である。
図１に示したネットワーク機器１０は、コピー、プリンタ、スキャナ、ファクシミリ通信等の種々の機能を有する画像処理装置であるデジタル複合機であり、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，不揮発性メモリ（ＮＶＲＡＭ）１４，ネットワークＩ／Ｆ１５，エンジン部１６を備えている。
【００１３】
ＣＰＵ１１は、ネットワーク機器１０全体を統括制御する制御手段であり、ＲＯＭ１２や不揮発性メモリ１４に記録された種々のプログラムを実行することにより、処理手段，識別手段，アクセス制御手段等の各手段として機能し、後述するようにこの実施形態の特徴に係る種々の機能を実現する。
ＲＯＭ１２は、不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００１４】
ＲＡＭ１３は、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ１４は、フラッシュメモリやＨＤＤ（ハードディスクドライブ）等による書き換え可能な不揮発性記憶手段であり、ＣＰＵ１１が実行するプログラムや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。ＳＮＭＰコマンドを用いて参照及び変更するＭＩＢ（Management Information Base）ツリー形式のデータには、この不揮発性メモリ１４に記憶させるものもある。
【００１５】
ネットワークインタフェース（Ｉ／Ｆ）１５は、ネットワーク機器１０をネットワーク３０に接続するためのインタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのインタフェースである。そして、ネットワーク３０を介して他の装置と通信を行う場合、このネットワークＩ／Ｆ１５とＣＰＵ１１とが通信手段として機能する。なお、ネットワーク３０は、有線、無線を問わず種々の方式のものが使用可能であり、ネットワークＩ／Ｆ１５は、ネットワーク３０の規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数のネットワークＩ／Ｆ１５を設けることも当然可能である。
【００１６】
エンジン部１６は、画像形成部、画像読取部、ファクシミリ通信ユニット等であり、ＣＰＵ１１がこれらの動作を適切に制御することにより、ネットワーク機器１０にコピー、プリンタ、スキャナ、ファクシミリ通信等の種々の動作を実行させることができる。なお、この部分は、この実施形態の特徴とはあまり関係ないため、図示は簡単なものに留めている。
【００１７】
以上のようなネットワーク機器１０は、ここでは、ネットワーク３０を介してＰＣ２０と通信可能としている。また、このネットワーク機器１０は、後述するようにＳＮＭＰに対応しており、ＰＣ２０から種々のクライアントを用いてアクセスすることにより、設定されているパラメータの値の参照や変更が可能である。
【００１８】
次に、図２に、ネットワーク機器１０及びＰＣ２０における、この実施形態の特徴に関連する部分のソフトウェア構成を示す。なお、以下の説明において、説明を簡単にするため、ＣＰＵがソフトウェアを実行することによって実現される機能について、ソフトウェアがその機能を有する、あるいはソフトウェアによってその機能が実現される、等の表現を用いることもある。
【００１９】
図２に示すように、ネットワーク機器１０においてこの実施形態の特徴に関連する機能を実現するためのソフトウェアは、主としてネットワークモジュール１００とウェブモジュール１４０である。
そして、ネットワークモジュール１００は、ネットワークを介した通信に関する機能を提供するためのプログラムモジュールであり、ネットワーク機器１０が利用可能な通信プロトコル毎に、そのプロトコルによる通信を行う機能を提供するためのデーモンと呼ばれるプログラムを含む。
【００２０】
ここでは、ネットワークモジュールはＨＴＴＰ（Hypertext Transfer Protocol）デーモン１１０，Ｔｅｌｎｅｔ（テルネット）デーモン１２０，ＳＮＭＰデーモン１３０の３種のデーモンを含む。
そして、ＨＴＴＰデーモン１１０は、ＨＴＴＰによる通信を可能とし、ウェブ（Ｗｅｂ）サーバ機能を提供するプロトコルデーモンである。ウェブモジュール１４０は、このＨＴＴＰデーモン１１０を利用してウェブページを提供する機能を有している。
【００２１】
また、Ｔｅｌｎｅｔデーモン１２０は、Ｔｅｌｎｅｔプロトコルによる通信を可能とし、Ｔｅｌｎｅｔサーバ機能を提供するプロトコルデーモンである。また、Ｔｅｌｎｅｔデーモン１２０は、ＳＮＭＰライブラリ１２１とリンクしており、このＳＮＭＰライブラリ１２１を利用することにより、Ｔｅｌｎｅｔプロトコルで受信したＰＣ２０等の外部装置からのＴｅｌｎｅｔコマンドを、ＳＮＭＰデーモン１３０が処理可能なＳＮＭＰコマンドに変換し、そのコマンドをＳＮＭＰデーモン１３０に渡して処理させる機能も有する。なお、ＳＮＭＰライブラリ１２１は、内部ＳＮＭＰマネージャの機能を提供するためのモジュールである。
【００２２】
また、ＳＮＭＰデーモン１３０は、ＳＮＭＰによる通信（ＳＮＭＰコマンドの受信とそれに対する応答の送信）を可能とするためのプロトコルデーモンであり、ＳＮＭＰマスターエージェントの機能を提供する。そして、ＳＮＭＰコマンドは、ＳＮＭＰリクエストに記載された状態で受信するが、ＰＣ２０のような外部装置に備えたＳＮＭＰマネージャから受信することもできるし、ネットワーク機器１０内部のＳＮＭＰライブラリ１２１，１４２から受信することもできる。また、どちらから受信したコマンドでも同じように処理することは可能であるが、ここでは、機器内部からのコマンドと外部からのコマンドとで異なる取扱いをするようにしている。そしてこのため、ＳＮＭＰデーモン１３０には要求元判断部１３１と権限確認部１３２の機能を提供するためのモジュールを設けている。
【００２３】
そして、要求元判断部１３１は、ＳＮＭＰデーモン１３０がＳＮＭＰリクエストを受け取った際に用いたソケットの情報を用いて、そのＳＮＭＰリクエストが機器内部からのものか外部からのものかを識別する機能を有する。また、その判断結果に応じたファミリータイプ（familytype）の情報を、ＳＮＭＰリクエストに追加する機能も有し、ここでは識別手順の処理を実行する識別手段に該当する。
【００２４】
ここで、上記のソケットとは、プロセス間通信を行うための通信のエンドポイントのことである。そして、機器内部で通信を行う場合と機器の外部との通信を行う場合とで使用するソケットが異なる。従って、ＳＮＭＰデーモン１３０がＳＮＭＰリクエストを受け取る際にどのソケットを使用したかがわかれば、特に送信元を認証するような処理を行わなくても、その送信元が機器の内部であるか外部であるかを識別することができるのである。
【００２５】
なお、同じ外部との通信であっても、ＳＮＭＰデーモン１３０に係るプロセスが、他のプロセスとの通信を複数種類の下位プロトコルを用いて行う場合、例えばＩＰ（Internet Protocol）とＩＰＸ（Internetwork Packet eXchange）を用いる場合、使用するプロトコル毎に異なるソケットを設ける場合もある。そして、このような場合には、ソケットの情報により通信に使用した下位プロトコルも識別することができる。しかし、ここまで識別することは必須ではなく、最低限機器の内部か外部かが識別できればよい。ファミリータイプとして記載する情報についても、同様である。
【００２６】
また、権限確認部１３２は、要求元判断部１３１が取得した、ＳＮＭＰリクエストの送信元の情報と、そのリクエストに記載されているコミュニティ（Community）の情報を用い、受信したＳＮＭＰリクエストに記載されているＳＮＭＰコマンドの実行を許可してよいか否かを判断する機能を有し、ここではアクセス制御手順の処理を実行するアクセス制御手段に該当する。そして、この判断は、内部用コミュニティ情報管理テーブル１３３，外部用コミュニティ情報管理テーブル１３４，ＭＩＢビューテーブル１３５を参照して行う。
これら各テーブルの内容及び、権限確認部１３２によるコマンド実行可否確認に係る処理の内容は後述するが、権限確認部１３２がコマンドを実行してよいと判断した場合には、ＳＮＭＰデーモン１３０はそのコマンドをＳＮＭＰサブエージェント１６０に渡し、コマンドに係る処理を実行させる。
【００２７】
なお、ＳＮＭＰサブエージェント１６０は、ＳＮＭＰマスターエージェントであるＳＮＭＰデーモン１３０からのコマンドを受け付け、そのコマンドに係る処理、例えば不揮発性メモリ１４に記憶しているＭＩＢ情報の参照や変更等を行って、適切な応答を返す機能を実現するプログラムである。またここでは、ＦＡＸサブエージェント、コピーサブエージェント等、ネットワーク機器１０が備えるひとまとまりの機能毎にＳＮＭＰサブエージェント１６０を設けるようにしている。また、ＳＮＭＰデーモン１３０とＳＮＭＰサブエージェント１６０とで処理手段の機能を実現する。
また、ＳＮＭＰデーモン１３０は、ＳＮＭＰサブエージェント１６０からコマンドに対する応答を受け取ると、この応答を、必要であれば適当な形式に変換して、ＳＮＭＰリクエストの送信元に返す機能も有する。
【００２８】
次に、ウェブモジュール１４０は、ウェブのＧＵＩ（グラフィカル・ユーザ・インタフェース）を用いてネットワーク機器１０における設定の参照や変更等を行う機能を提供するモジュールである。
そして、ＨＴＴＰデーモン１１０を介してＨＴＴＰリクエストを受信し、ＷＷＷライブラリ（ワールド・ワイド・ウェブ・ライブラリ：libwww）１４１によってＨＴＴＰリクエストによる要求の内容を解釈し、その要求がウェブページの表示であれば、ＨＴＴＰレスポンスにそのページのデータを記載して返す等の動作を行う。このウェブページには、ネットワーク機器１０における設定の参照や変更を指示するためのＧＵＩを含むページや、内容が動的に生成されるページも含む。
【００２９】
また、ウェブモジュール１４０は、ＳＮＭＰライブラリ１４２とリンクしており、ＨＴＴＰリクエストによる要求の内容が、ネットワーク機器１０における設定の参照や変更であった場合には、その内容をＳＮＭＰライブラリ１４２に渡してＳＮＭＰデーモン１３０が処理可能なＳＮＭＰコマンドを含むＳＮＭＰリクエストに変換させる。そして、ＳＮＭＰデーモン１３０にそのＳＮＭＰリクエストを渡してコマンドに係る処理を実行させ、その結果をＨＴＴＰレスポンスに記載してＨＴＴＰリクエストの送信元に返す機能も有する。この結果は、結果を記載したウェブページのデータとして返すこともできる。
なお、ＳＮＭＰライブラリ１４２は、図２にはＳＮＭＰライブラリ１２１と別々に示しているが、これらを共通のモジュールとし、Ｔｅｌｎｅｔデーモン１２０とウェブモジュール１４０から共通にリンクされるような構成としてもよい。
【００３０】
一方、ＰＣ２０は、ネットワーク機器１０にアクセスするためのプログラムとして、ＨＴＴＰクライアント２１，Ｔｅｌｎｅｔクライアント２２，ＳＮＭＰマネージャ２３を備えている。
ＨＴＴＰクライアント２１としては、例えばウェブブラウザを用いることができ、ＨＴＴＰリクエストをネットワーク機器１０に送信することができる。そして、ネットワーク機器１０の設定の参照や変更を行うためのＧＵＩを含むウェブページのデータをネットワーク機器１０から取得して表示したり、そのＧＵＩから設定の参照や変更を指示したりすることができる。
【００３１】
図３に、このＨＴＴＰクライアント２１に表示させるＧＵＩの例を示す。
このＧＵＩ画面２１０は、ネットワーク機器１０の名前を始めとするいくつかの設定を指示する画面である。そして、ＧＵＩ画面２１０を表示する際には、（ネットワーク機器１０が情報の参照を許可すれば、）画面上の各項目に、表示時点での設定内容を表示するようにしている。
そして、例えば名前設定欄２１１にネットワーク機器１０に設定したい名前を入力して適用ボタン２１３を押下すると、ネットワーク機器１０に名前の設定を要求するコマンドを送信することができる。この場合のデータの流れは、図２では実線の矢印で示している。そして、このコマンドは、ＨＴＴＰリクエストに記載されてネットワーク機器１０に送信され（図２のＳ１１）、ＨＴＴＰデーモン１１０を介してウェブモジュール１４０のＷＷＷライブラリ１４１に渡され（Ｓ１２）、ＳＮＭＰライブラリ１４２によってＳＮＭＰコマンドに変換されてＳＮＭＰデーモン１３０に渡される（Ｓ１３）。
【００３２】
そして、権限確認部１３２がその実行を許可した場合、ＳＮＭＰデーモン１３０がコマンドをＳＮＭＰサブエージェント１６０に渡して実行させて結果を取得し（Ｓ１５，Ｓ１６）、ＳＮＭＰライブラリ１４２に返す（Ｓ１７）。権限確認部１３２が実行を許可しなかった場合には、その旨の応答をＳＮＭＰライブラリ１４２に返す。そして、ＳＮＭＰライブラリ１４２はこの結果をＷＷＷライブラリ１４１に渡し、ＷＷＷライブラリが設定処理の結果を含むＨＴＴＰレスポンスを生成し、ＨＴＴＰデーモン１１０を介してＨＴＴＰクライアント２１に返す（Ｓ１７，Ｓ１８）。ＨＴＴＰクライアント２１は、受け取ったＨＴＴＰレスポンスの情報に基づいて設定結果を示すウェブページを表示する。
また、ＧＵＩ画面２１０において表示更新ボタン２１２を押下すると、ネットワーク機器１０に上記の場合と同様に設定内容を参照するコマンドを送信し、その実行が許可されれば、ＧＵＩ画面２１０を最新の設定内容を反映させた表示に更新することができる。
【００３３】
また、Ｔｅｌｎｅｔクライアント２２は、Ｔｅｌｎｅｔプロトコルを用いてネットワーク機器１０にアクセスするためのプログラムである。そして、Ｔｅｌｎｅｔクライアント２２を用いてネットワーク機器１０にログインした後所定のコマンドを入力することにより、ネットワーク機器１０に設定の参照、変更等を指示することができる。
【００３４】
図４に、Ｔｅｌｎｅｔクライアント２２を用いて設定の変更を指示する場合の動作画面の例を示す。
この例において、動作画面２２０中の符号２２１で示す部分は、ＩＰアドレスを指定してネットワーク機器１０にアクセスする処理に対応する部分、符号２２２で示す部分は、パスワードを入力してネットワーク機器１０にログインする処理に対応する部分、符号２２３で示す部分が、コマンドラインからネットワーク機器１０の名称を「test」に変更するコマンドを入力してネットワーク機器１０に実行させる処理に対応する部分の表示である。
【００３５】
この場合のデータの流れは、図２では一点鎖線の矢印で示している。この場合、Ｔｅｌｎｅｔクライアント２２からネットワーク機器１０へは、コマンドはＴｅｌｎｅｔコマンドとして送信され、ネットワーク機器１０側ではＴｅｌｎｅｔデーモン１２０がこのコマンドを受け取ってＳＮＭＰライブラリ１２１に渡し（図２のＳ２１）、ＳＮＭＰライブラリ１２１がこのコマンドをＳＮＭＰコマンドに変換してＳＮＭＰデーモン１３０に渡す（Ｓ２２）。
【００３６】
ＳＮＭＰデーモン１３０における処理は、上記のＨＴＴＰクライアント２１の場合と同様であるので説明を省略するが、ＳＮＭＰデーモン１３０はコマンドの実行結果あるいは実行を許可できない旨の結果をＳＮＭＰライブラリ１２１に返し（Ｓ２８）、Ｔｅｌｎｅｔデーモン１２０がこれを受け取ってＴｅｌｎｅｔコマンドに対する応答に変換し、Ｔｅｌｎｅｔクライアント２２に返す（Ｓ２９）。
そして、Ｔｅｌｎｅｔクライアント２２は受け取った応答に基づいてコマンドの実行結果を表示する。
【００３７】
また、ＳＮＭＰマネージャ２３は、ＰＣ２０からＳＮＭＰに対応した機器を管理するためのプログラムであり、ＳＮＭＰコマンドを生成してネットワーク機器１０に送信する機能を有する。
【００３８】
図５にＳＮＭＰマネージャ２３を用いて設定の変更を指示する場合の動作画面の例を示す。
この図に示すように、ここで用いるＳＮＭＰマネージャ２３においては、ウィザード形式のユーザインタフェースを用意しており、ユーザがプログラムからの質問に対して必要や回答を入力や選択することにより、ネットワーク機器１０の設定を行うことができるようにしている。そして、図５に示す設定画面２３０は、ネットワーク機器１０に設定する名前を入力する画面であり、例えば、名前入力部２３１に名前を入力し、次画面キー２３２を押下してその後の指示に従うことにより、ネットワーク機器１０に名前の変更を要求するコマンドを含むＳＮＭＰリクエストを送信することができる。
【００３９】
この場合のデータの流れは、図２では破線の矢印で示している。この場合において、ＳＮＭＰマネージャ２３からネットワーク機器１０へは、ＳＮＭＰコマンドを直接送信することができる。そして、ネットワーク機器１０側ではＳＮＭＰデーモン１３０がこれを受け取る（図２のＳ３１）。
ＳＮＭＰデーモン１３０における処理は、権限確認部１３２におけるコマンド実行可否の判断に係る後述の処理を除けば上記のＨＴＴＰクライアント２１の場合と同様であるので、説明を省略するが、ＳＮＭＰデーモン１３０はコマンドの実行結果あるいは実行を許可できない旨の結果をＳＮＭＰマネージャ２３に返すことができる（Ｓ３４）。
そして、ＳＮＭＰマネージャ２３は、受け取った結果に基づいて、ユーザにその内容を通知する画面を表示させることができる。
【００４０】
このように、ユーザは、ＨＴＴＰクライアント２１，Ｔｅｌｎｅｔクライアント２２，ＳＮＭＰマネージャ２３のいずれのプログラムを利用しても、ＰＣ２０からネットワーク３０を介してネットワーク機器１０にアクセスし、設定の参照や変更を指示することができる。ただし、その実行が許可されるか否かは、ネットワーク機器１０側の設定内容に依存する。
【００４１】
次に、権限確認部１３２によるコマンド実行可否確認に係る処理について、この処理に使用する各テーブルの内容と併せて説明する。
まず、図６に、内部用コミュニティ情報管理テーブル１３３の例を示す。
このテーブルは、権限確認部１３２が、対象のＳＮＭＰリクエストがネットワーク機器１０の内部から受け取ったものであると判断した場合に参照するテーブルである。そして、内部から受信するＳＮＭＰリクエストに記載されていることが想定されるコミュニティ名（「コミュニティ名」の項目）毎に、ＭＩＢツリーのうちリードアクセス（参照）を許可してよい範囲（「read」の項目）とライトアクセス（変更）を許可してよい範囲とを示す情報（「write」の項目）を記載しておく。
【００４２】
なお、read及びwriteの項目には、アクセスを許可する範囲をビュー（View）という情報を用いて記載し、ここで使用したビューの内容は、ＭＩＢビューテーブル１３５で定義するようにしている。
図６に示した例では、コミュニティ名が「internal」であった場合に、参照も変更も、ＭＩＢツリーのうち「View1」で定義される範囲について許可してよいことを示している。
【００４３】
また、図７に、外部用コミュニティ情報管理テーブル１３４の例を示す。
このテーブルは、権限確認部１３２が、対象のＳＮＭＰリクエストがネットワーク機器１０の外部から受け取ったものであると判断した場合に参照するテーブルである。そして、このテーブルには、外部から受信するＳＮＭＰリクエストに記載されていることが想定されるコミュニティ名毎に、上記の内部用コミュニティ情報管理テーブル１３３の場合と同様、ＭＩＢツリーのうちリードアクセス（参照）を許可してよい範囲（「read」の項目）とライトアクセス（変更）を許可してよい範囲とを示す情報（「write」の項目）を記載しておく。
【００４４】
図７に示した例では、コミュニティ名が「public」であった場合に、参照はＭＩＢツリーのうち「View1」で定義される範囲について、変更は同じく「View0」で定義される範囲について許可してよいことを示している。また、コミュニティ名が「admin」であった場合に、参照はＭＩＢツリーのうち「View1」で定義される範囲について、変更は同じく「View2」で定義される範囲について許可してよいことを示している。
【００４５】
また、図８に、ＭＩＢビューテーブル１３５の例を示す。
このテーブルは、上述したとおり、各コミュニティ情報管理テーブルでアクセスを許可してよいＭＩＢツリーの範囲を定めるビューの定義を記載したテーブルである。そして、ビューの種類（「ビュー名」の項目）毎に、アクセスを許可する範囲を指定するかアクセスを許可しない範囲を指定するかを示す情報と（「指定モード」の項目）、ＭＩＢツリーのうちアクセスを許可する範囲あるいは許可しない範囲の内容を示す情報（「対象ツリー」の項目）を記載しておく。
【００４６】
なお、アクセスを許可する範囲を指定する場合には、「対象ツリー」の項目に記載された範囲のみに対するアクセスを許可し、アクセスを許可しない範囲を指定する場合には、「対象ツリー」の項目に記載された範囲以外の範囲のみに対するアクセスを許可するような指定が可能である。また、「対象ツリー」には、不連続な複数の範囲を記載することも可能である。
図８に示した例では、「View1」のビューについては、ＭＩＢツリーの「1.3.6.1」で示される範囲、すなわち全ての範囲についてアクセスを許可する旨を定義している。また、「Viwe2」のビューについては、ＭＩＢツリーの「1.3.6.1.2.1.1」で示される範囲、すなわちシステム設定に係る範囲についてのみアクセスを許可する旨を定義している。また、「View0」のビューについては、ＭＩＢツリーの全ての範囲についてアクセスを許可しない旨を定義している。
【００４７】
権限確認部１３２は、あるＳＮＭＰリクエストに記載されたＳＮＭＰコマンドの実行可否を判断する場合、まずＳＮＭＰリクエストに記載されたfamilytypeの情報（要求元判断部１３１が付加するものである）を参照し、そのＳＮＭＰリクエストがネットワーク機器１０の内部から受信したものか外部から受信したものかを判断する。
例えば、familytypeがＳＮＭＰライブラリ１２１又は１４２を示す「AF_SNMPLIB」であれば、内部から受信したと判断できるし、ＩＰを用いて受信したことを示す「AF_INET」であれば、外部から受信したと判断できる。
【００４８】
そして、内部から受信したものであった場合には内部用コミュニティ情報管理テーブル１３３を参照して、外部から受信したものであった場合には外部用コミュニティ情報管理テーブル１３４を参照して、ＳＮＭＰリクエストに記載されているコミュニティ名と、コマンドの内容が設定の参照か変更かという情報とに基づいて、アクセスを許可してよい範囲を示すビューの情報を取得し、ＭＩＢビューテーブル１３５を参照してそのビューの定義を取得する。
そして、コマンドによる参照や変更の対象がアクセスを許可できる範囲内であれば、コマンドの実行を許可し、そうでない場合にはコマンドの実行を拒否するようにしている。
【００４９】
なお、ＳＮＭＰデーモン１３０がＰＣ２０等の外部装置のプロセスとの間で複数の下位プロトコルを用いて通信する場合に、プロトコルに応じてソケットが異なり、それに応じてfamilytypeも異なる場合がある。例えばfamilytypeはＩＰを使用した場合には「AF_INET」であるが、ＩＰＸを使用した場合には「AF_IPX」となる。
この場合において、familytype毎に別々に外部用コミュニティ情報管理テーブルを用意するようにすることも考えられるが、familytypeが外部からの受信であることを示すものであった場合には、その内容によらず共通の外部用コミュニティ情報管理テーブルを使用するようにしてもよい。
また、familytypeが内部からの受信であることを示すものであった場合、コミュニティ名が内部用コミュニティ情報管理テーブル１３３に記載されているものと合っていなくても、デフォルトのビュー（例えば図６に示した「internal」の内容）に従ってアクセスを許可するようにしてもよい。
【００５０】
次に、以上に説明た要求元判断部１３１及び権限確認部１３２の動作について、より具体的に説明する。
図９は、内部のＳＮＭＰライブラリ及び外部装置のＳＮＭＰマネージャからＳＮＭＰリクエストを受信した場合の処理について説明するための図である。この図において、各テーブル１３３−１３５の内容は、図６−８に示したものであるとする。
また、ここではネットワーク機器１０の名前を「test」に設定するコマンドを例として説明するが、このコマンドは、ＭＩＢツリーの「1.3.6.1.2.1.1.1」の位置の情報を「test」という値に「SET（変更）」するコマンドとして、ＳＮＭＰリクエスト３０１又は３１１の末尾３行のように記載される。
【００５１】
まず、内部のＳＮＭＰライブラリ１２１又は１４２が、コミュニティとして「internal」を記載したＳＮＭＰリクエスト３０１をＳＮＭＰデーモン１３０に送信してきた場合について説明する。この場合の処理の流れは、図９では実線の矢印で示す。
この場合、ＳＮＭＰデーモン１３０がＳＮＭＰリクエスト３０１を受け取ると、まず要求元判断部１３１が受信時に用いたソケットの情報をもとに、受信したＳＮＭＰリクエストはネットワーク機器１０内部からのものであると判断し、falimytypeとして「AF_SNMPLIB」を記載したＳＮＭＰリクエスト３０２として権限確認部１３２に渡す。
【００５２】
そして、権限確認部１３２は、familytypeの情報からＳＮＭＰリクエスト３０２が機器内部からのものであることがわかるので、内部用コミュニティ情報管理テーブル１３３を参照してアクセスを許可できる範囲を示すビューの情報を取得する。この場合、コミュニティが「internal」で、設定の変更を行うので、図６からビューは「View1」であることがわかる。
するとその後、権限確認部１３２はＭＩＢビューテーブル１３５にアクセスし、「View1」の内容を取得する。そしてこの場合、図８から「View1」は全情報にアクセス可であることを示す情報であることがわかる。従って、ＳＮＭＰリクエスト３０２の実行を許可してよいことがわかるので、そのＳＮＭＰリクエストをＳＮＭＰリクエスト３０３としてＳＮＭＰサブエージェント１６０に渡して実行させる。
【００５３】
次に、外部のＳＮＭＰマネージャ２３が、コミュニティとして「admin」を記載したＳＮＭＰリクエスト２１１をＳＮＭＰデーモン１３０にコマンドを送信してきた場合について説明する。この場合の処理の流れは、図９では破線の矢印で示す。
この場合、ＳＮＭＰデーモン１３０がＳＮＭＰリクエスト３１１を受け取ると、まず要求元判断部１３１が受信時に用いたソケットの情報をもとに、受信したＳＮＭＰリクエストはネットワーク機器１０外部からのものであると判断し、falimytypeとして「AF_INET」を記載したＳＮＭＰリクエスト３１２として権限確認部１３２に渡す。
【００５４】
そして、権限確認部１３２は、familytypeの情報からＳＮＭＰリクエスト３１２が機器外部からのものであることがわかるので、外部用コミュニティ情報管理テーブル１３４を参照してアクセスを許可できる範囲を示すビューの情報を取得する。この場合、コミュニティが「admin」で、設定の変更を行うので、図７からビューは「View2」であることがわかる。
【００５５】
するとその後、権限確認部１３２はＭＩＢビューテーブル１３５にアクセスし、「View2」の内容を取得する。そしてこの場合、図８から「View2」は1.3.6.1.2.1.1以下の情報にアクセス可であることを示す情報であることがわかる。そして、ＳＮＭＰリクエスト２１２においてアクセスしようとしているのは1.3.6.1.2.1.1.1であり、アクセスが許可されている範囲内に含まれるため、ＳＮＭＰリクエスト３１２の実行を許可してよいことがわかる。そこで、そのＳＮＭＰリクエストをＳＮＭＰリクエスト３１３としてＳＮＭＰサブエージェント１６０に渡して実行させる。
なお、コマンドが、1.3.6.1.2.1.2.1のように、アクセスが許可されている範囲外にアクセスしようとするものであった場合には、権限確認部１３２がコマンドの実行を拒否し、その旨を示すエラーをＳＮＭＰリクエスト３１１の送信元に返すようにする。
【００５６】
ところで、内部用コミュニティ情報管理テーブル１３３、外部用コミュニティ情報管理テーブル１３４、およびＭＩＢビューテーブル１３５は、図２ではＳＮＭＰデーモン１３０の内部に記載したが、これらのテーブルの内容もネットワーク機器１０の設定の一部であり、内容を不揮発性メモリ１４に記憶させておき、ウェブモジュール１４０から参照及び変更できるようにしている。この場合、ユーザはＨＴＴＰクライアント２１上に表示されるＧＵＩからこの参照及び変更の指示を行い、ウェブモジュール１４０がこの指示を受け取ると、指示に従って各テーブルの内容の取得や変更を行う。
【００５７】
また、ネットワーク機器１０においては、テーブル内容の設定とは別に、外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードを用意しており、設定の変更によりネットワーク機器１０をこのようなモードに移行させることが可能である。
このような設定も、やはりＨＴＴＰクライアント２１上に表示されるＧＵＩ上から可能である。なお、この場合のＧＵＩを含むページデータは、ウェブモジュール１４０により供給されるものである。
【００５８】
図１０に、このような設定を行うためのＧＵＩの例を示す。
このＧＵＩ画面２４０においては、外部設定禁止モード設定欄２４１において「有効」を選択し、適用キー２４２を押下することにより、ネットワーク機器１０を外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードに移行させる指示を行うことができる。この指示は、ＨＴＴＰリクエストに記載されてネットワーク機器１０に送信される。
ネットワーク機器１０側では、この指示はＨＴＴＰデーモン１１０を介してウェブモジュール１４０に伝達される。そして、ＷＷＷライブラリ１４１が受信したＨＴＴＰリクエストの内容を解釈し、外部設定禁止禁止モードの設定指示であると判断すると、ウェブモジュール１４０がその設定に係る処理を実行する。
【００５９】
図１１にこの処理のフローチャートを示すが、この処理は、不揮発性メモリ１４の「外部からの設定禁止」を示すフラグをＯＮにすると共に（Ｓ１０１）、ＳＮＭＰデーモン１３０を再起動（Ｓ１０２）する処理である。実行結果を応答として返す処理は、この処理とは別に、一般的な処理の流れに従って行う。
【００６０】
また、図１２に、ＳＮＭＰデーモン１３０の起動処理のうち、「外部からの設定禁止」設定に関連する部分のフローチャートを示す。
この起動処理は、上記の再起動時だけでなく、ネットワーク機器１０の電源投入時やリセット時等にも行うものであり、不揮発性メモリ１４から外部用コミュニティ情報管理テーブル１３４の内容を読み出して権限確認部１３２から参照できるようにする処理（Ｓ１１１）を含むものである。しかし、ステップＳ１１２で不揮発性メモリ１４の「外部からの設定禁止」を示すフラグがＯＮであれば、ステップＳ１１３で外部用コミュニティ情報管理テーブル１３４のうち、「Ｗｒｉｔｅ」の項目を全てのコミュニティについてアクセス禁止を示すＶｉｅｗ（ここでは「View0」）に変更する処理を行うようにしている。なお、「外部からの設定禁止」を示すフラグがＯＦＦであれば、外部用コミュニティ情報管理テーブル１３４に特に変更を加えない。
なお、ＳＮＭＰデーモン１３０の起動処理は、図１２に示した部分以外にも、不揮発性メモリ１４から内部用コミュニティ情報管理テーブル１３３の内容を読み出す処理等を含むものであるが、これらの図示は省略している。
【００６１】
このような起動処理を行うことにより、「外部からの設定禁止」を示すフラグがＯＮになっている場合には、例えば不揮発メモリに図７に示したような情報が記憶されていたとしても、起動終了時には、図１３に示したような情報が権限確認部１３２によって参照される状態になる。
従って、権限確認部１３２は、もともとの外部用コミュニティ情報管理テーブル１３４の内容によらず、ネットワーク機器１０の外部から受信したＳＮＭＰリクエスト、すなわち内部のＳＮＭＰマネージャ（ここではＳＮＭＰライブラリ１２１，１４２）によって生成されたもの以外のＳＮＭＰリクエストに記載されていたＳＮＭＰコマンドついては、設定変更を行うコマンドの実行を許可しないような動作を行うことになる。
また、「外部からの設定禁止」を示すフラグをＯＮからＯＦＦに変更することも可能であり、この場合も変更後にＳＮＭＰデーモン１３０を再起動する。そしてこの場合、不揮発メモリに記憶されている外部用コミュニティ情報管理テーブル１３４の内容がそのまま動作に反映されるようになる。
【００６２】
図１４は、「外部からの設定禁止」を示すフラグがＯＮになっている場合の要求元判断部１３１及び権限確認部１３２の動作を示す、図９と対応する図である。この場合において、外部用コミュニティ情報管理テーブル１３４の内容は、上述の通り図１３に示すような内容になる。内部用コミュニティ情報管理テーブル１３３及びＭＩＢビューテーブル１３５の内容については、それぞれ図６及び図８に示した内容であり、図９の場合と同様である。
【００６３】
この図に示す通り、「外部からの設定禁止」を示すフラグがＯＮであっても、ネットワーク機器１０内部から受け取ったＳＮＭＰリクエストに関する動作は、図９の場合、すなわち「外部からの設定禁止」を示すフラグがＯＦＦである場合と変わらない。
また、外部から受け取ったものであっても、要求元判断部１３１の動作は図９の場合と変わらない。しかし、この場合、権限確認部１３２が参照する外部用コミュニティ情報管理テーブル１３４において、「write」のアクセスを許可しないような設定がなされているため、権限確認部１３２はＳＮＭＰリクエスト３１２に記載されているコマンドの実行を許可せず、エラーの応答を返す。
【００６４】
また、図１５及び図１６に、図２，図９及び図１４を用いて説明したような、ネットワーク機器１０の設定変更処理の処理シーケンスを示す。
図１５は、Ｔｅｌｎｅｔクライアント２２から変更を指示した場合の処理、すなわちＳＮＭＰデーモン１３０にネットワーク機器１０内部で生成されたＳＮＭＰコマンドが渡される場合の処理を示す図である。
図１５に記載した各ステップの処理のうち、図２に対応する番号があるものは、図２において説明した処理と対応する処理を示す。また、ステップＳ２３は、要求元判断部１３１においてＳＮＭＰリクエストにfamilytypeの情報を追加して権限確認部１３２に渡す処理、ステップＳ２４は権限確認部１３２が内部用コミュニティ情報管理テーブル１３３を参照して適用するビューの情報を取得する処理、ステップＳ２５は同じくＭＩＢビューテーブル１３５を参照してステップＳ２４で取得したビューの内容を取得する処理を示す。
【００６５】
一方、図１６は、ＳＮＭＰマネージャ２３から変更を指示した場合の処理、すなわちすなわちＳＮＭＰデーモン１３０にネットワーク機器１０の外部で生成されたＳＮＭＰコマンドが渡される場合の処理を示す図である。
図１６に記載した各ステップの処理のうち、図２に対応する番号があるものは、図２において説明した処理と対応する処理を示す。また、ステップＳ３２は、要求元判断部１３１においてＳＮＭＰリクエストにfamilytypeの情報を追加して権限確認部１３２に渡す処理、ステップＳ３３は権限確認部１３２が外部用コミュニティ情報管理テーブル１３４を参照して適用するビューの情報を取得する処理、ステップＳ３４は同じくＭＩＢビューテーブル１３５を参照してステップＳ３３で取得したビューの内容を取得する処理を示す。
また、破線の上側のステップＳ３７は、コマンドの実行が許可されずにエラー応答が返される場合の処理、破線の下側のステップＳ３５−Ｓ３７は、破線の上側のステップＳ３４の処理の続きであり、コマンドの実行が許可される場合の処理を示す。
【００６６】
以上説明してきたように、ネットワーク機器１０においては、要求元判断部１３１と権限確認部１３２とを設けたことにより、機器内部のＳＮＭＰマネージャが生成したＳＮＭＰリクエストと機器外部のＳＮＭＰマネージャが生成したＳＮＭＰリクエストに対して、異なる対応を行うことが可能となっている。
一般に、機器内部に搭載しているＳＮＭＰマネージャについては、機器のメーカーが内容を把握できることから、特定の設定については変更コマンドを出力する機能を設けない等、機能を制限し、誤って致命的な設定変更がなされてしまうことを防止するような対応が可能である。また、外部からこのＳＮＭＰマネージャにアクセスする際には、他のプロトコルに対応したクライアントを用いて機器にアクセスした上でＳＮＭＰマネージャに要求を伝達する必要があることから、そのアクセスの際に、パスワードや証明書を用いてユーザを認証することも可能である。
【００６７】
一方で、機器外部のＳＮＭＰマネージャについては、機器のメーカー側でどのような機能を有するかを必ずしも把握することができないため、誤って致命的な設定変更がなされてしまう恐れがある。また、ＳＮＭＰには十分な認証機能が備えられていないため、不正なアクセスも比較的容易に可能になってしまう。従って、機器外部のＳＮＭＰマネージャからのアクセスを広範囲で許可すると、セキュリティの面で問題があるといえる。
そこで、上述したようにＳＮＭＰリクエストの送信元が機器の内部であるか外部（内部以外）であるかによって異なる対応を可能とし、外部からのＳＮＭＰリクエストに係るコマンドの実行を制限するようにすれば、セキュリティを向上させることができる。
【００６８】
この場合において、外部からのＳＮＭＰリクエストについては、設定を変更するコマンドの実行を一切許可しないようにすれば、さらにセキュリティを向上させることができる。また、このようにしたとしても、内部にＳＮＭＰマネージャを設ければ、ＨＴＴＰクライアント２１やＴｅｌｎｅｔクライアント２２等からネットワーク機器１０にアクセスすることにより、外部からネットワークを介してネットワーク機器１０の設定を参照や変更することが可能であり、利便性はさほど低下しない。
また、「外部からの設定禁止」を示すフラグを設け、外部からのＳＮＭＰリクエストについて設定を変更するコマンドの実行を一切許可しないようにする動作を、１項目の設定で行わせることができるようにしているので、状況に応じてコマンドの実行を許可するか否か変更する必要がある場合であっても、簡単な操作で変更が可能である。
【００６９】
また、上述のネットワーク機器１０においては、要求元判断部１３１が、ＳＮＭＰデーモン１３０がＳＮＭＰリクエストを受信したソケットの情報を用いて識別を行うようにしたことにより、ＳＮＭＰリクエストの送信元が機器の内部か外部かを容易かつ確実に識別することができる。このようにすることは必須ではないが、ここで説明した用途においては、送信元を特定することまでは必ずしも必要ないため、このような識別法を採用することが、偽装防止の観点からも好ましい。
また、上述した実施形態では、外部からのＳＮＭＰリクエストによる設定変更を拒否するようにする場合であっても、設定の参照の場合にはもともとの設定に従うようにする例について説明した。しかし、参照についても全て拒否するようにしてもよい。
【００７０】
また、ソフトウェアの構成や使用する通信プロトコル、データの形式、内容等が上述の実施形態で説明したものに限られないことはもちろんである。例えば、ビューを用いず、コミュニティ情報管理テーブルにアクセスを許可するＭＩＢツリーの範囲を直接記載するようにしてもよい。特に、「View0」のように全範囲についてアクセスを許可しない旨の情報は、「none」等の特殊なコードによって表現するようにすることも考えられる。また、要求元判断部１３１や権限確認部１３２の機能を実現するためのプログラムをＳＮＭＰデーモン１３０の外部に設け、ＳＮＭＰデーモン１３０が必要な場合にこれらのプログラムをコールするようにすることも考えられる。
【００７１】
また、この発明が、ネットワークを介して他の通信装置と適用可能な通信装置であれば、どのような通信装置にも適用可能であることはもちろんである。適用対象としては、例えば、プリンタ，ＦＡＸ装置，デジタル複写機，スキャナ装置，デジタル複合機等の画像処理装置のほか、汎用コンピュータ，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等に通信機能を持たせた通信装置が考えられる。
【００７２】
また、この発明によるプログラムは、コンピュータを、上述したネットワーク機器１０のような通信装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００７３】
以上説明してきたように、この発明の通信装置、通信装置の制御方法、プログラムあるいは記録媒体によれば、ＳＮＭＰに従ってコマンドを処理する機能を有する通信装置において、外部装置からの設定変更を可能にしながら、高いセキュリティを維持できるようにすることができる。
従って、この発明を利用することにより、高いセキュリティと利便性を両立した通信装置を構成することができる。
【図面の簡単な説明】
【００７４】
【図１】この発明の通信装置の実施形態であるネットワーク機器の構成を、そのネットワーク機器にアクセス可能なＰＣと共に示したブロック図である。
【図２】図１に示したネットワーク機器及びＰＣにおける、実施形態の特徴に関連する部分のソフトウェア構成を示す図である。
【図３】図２に示したＨＴＴＰクライアントに表示させるＧＵＩの例を示す図である。
【図４】同じくＴｅｌｎｅｔクライアントを用いて設定の変更を指示する場合の動作画面の例を示す図である。
【図５】同じくＳＮＭＰマネージャを用いて設定の変更を指示する場合の動作画面の例を示す図である。
【図６】図２に示した内部用コミュニティ情報管理テーブルの例を示す図である。
【図７】同じく外部用コミュニティ情報管理テーブルの例を示す図である。
【図８】同じくＭＩＢビューテーブルの例を示す図である。
【図９】図２に示したＳＮＭＰデーモンが内部のＳＮＭＰライブラリ及び外部装置のＳＮＭＰマネージャからＳＮＭＰリクエストを受信した場合の処理について説明するための図である。
【図１０】外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードに関する設定を行うためのＧＵＩの例を示す図である。
【００７５】
【図１１】外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードに移行する指示を受けた場合に実行する処理を示すフローチャートである。
【図１２】ＳＮＭＰデーモンの起動処理の一部を示すフローチャートである。
【図１３】外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードでの外部用コミュニティ情報管理テーブルの例を示す図である。
【図１４】外部のＳＮＭＰマネージャからの設定変更指示を一切受け付けないようにするモードでのＳＮＭＰデーモンの動作について説明するための、図９と対応する図である。
【図１５】図２に示したＴｅｌｎｅｔクライアントからネットワーク機器の設定の変更を指示した場合の処理の流れを示すシーケンス図である。
【図１６】同じくＳＮＭＰマネージャからネットワーク機器の設定の変更を指示した場合の処理の流れを示すシーケンス図である。
【符号の説明】
【００７６】
１０：ネットワーク機器、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、
１４：不揮発性メモリ、１５：ネットワークＩ／Ｆ、１６：エンジン部、
１７：システムバス、２０：ＰＣ、２１：ＨＴＴＰクライアント、
２２：Ｔｅｌｎｅｔクライアント、２３：ＳＮＭＰマネージャ、３０：ネットワーク、
１００：ネットワークモジュール、１１０：ＨＴＴＰデーモン、
１２０：Ｔｅｌｎｅｔデーモン、１２１，１４２：ＳＮＭＰライブラリ、
１３０：ＳＮＭＰデーモン、１３１：要求元判断部、１３２：権限確認部、
１３３：内部用コミュニティ情報管理テーブル、
１３４：外部用コミュニティ情報管理テーブル、１３５：ＭＩＢビューテーブル、
１４０：ウェブモジュール、１４１：ＷＷＷライブラリ、
１６０：ＳＮＭＰサブエージェント
【図１】
2006059011.tif 000003
【図２】
2006059011.tif 000004
【図３】
2006059011.tif 000005
【図４】
2006059011.tif 000006
【図５】
2006059011.tif 000007
【図６】
2006059011.tif 000008
【図７】
2006059011.tif 000009
【図８】
2006059011.tif 000010
【図９】
2006059011.tif 000011
【図１０】
2006059011.tif 000012
【図１１】
2006059011.tif 000013
【図１２】
2006059011.tif 000014
【図１３】
2006059011.tif 000015
【図１４】
2006059011.tif 000016
【図１５】
2006059011.tif 000017
【図１６】
2006059011.tif 000018