(57)【要約】【課題】外部装置が要求するＭＩＢの情報を適切に送信することを目的とする。【解決手段】複数のネットワークインターフェースを備える通信装置において、複数のネットワークインターフェースそれぞれと外部装置との間のＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）処理を行う処理手段と、ＳＮＭＰ処理において利用するＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報であって、各ネットワークインターフェースを示す仮想的なインデックスが割り当てられたＭＩＢ情報を格納する格納手段と、ＭＩＢ情報の取得要求を受信する受信手段と、取得要求にネットワークインターフェースの情報が含まれる場合に、取得要求を受信したネットワークインターフェースに対応したインデックスの値を１に更新する更新手段とを有する。【選択図】図４
2020177408.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークインターフェースを備える通信装置において、
前記複数のネットワークインターフェースそれぞれと外部装置との間のＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）処理を行う処理手段と、
ＳＮＭＰ処理において利用するＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報であって、各ネットワークインターフェースを示す仮想的なインデックスが割り当てられたＭＩＢ情報を格納する格納手段と、
ＭＩＢ情報の取得要求を受信する受信手段と、
前記取得要求に、ネットワークインターフェースの情報が含まれる場合に、前記取得要求を受信したネットワークインターフェースに対応したインデックスの値を１に更新する更新手段と、
前記取得要求に応じた応答を送信する送信手段と
を有することを特徴とする通信装置。
【請求項２】
前記更新手段は、前記取得要求に、前記ネットワークインターフェースの情報が含まれる場合に、前記取得要求を受信したネットワークインターフェースに対応したインデックスを１に更新し、かつ取得要求を受信したネットワークインターフェース以外の他のネットワークインターフェースのインデックスを更新しないよう制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記更新手段は、前記取得要求に、前記ネットワークインターフェースの情報が含まれる場合に、前記取得要求を受信したネットワークインターフェースに対応したインデックスを１に更新し、さらに、取得要求を受信したネットワークインターフェース以外の他のネットワークインターフェースのインデックスを連番に更新することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記更新手段による更新を行うか否かを設定する設定手段を更に備え、
前記設定手段で更新を行わないと設定されていることに従って、前記更新手段により処理を行うことなしに、前記送信手段は前記取得要求に対応するネットワークインターフェースの情報を示す応答を送信することを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項５】
複数のネットワークインターフェースを備える通信装置が実行する通信方法であって、
前記複数のネットワークインターフェースそれぞれと外部装置との間のＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）処理を行う処理ステップと、
ＭＩＢ情報の取得要求を受信する受信ステップと、
前記取得要求に、ネットワークインターフェースの情報が含まれる場合に、ＳＮＭＰ処理において利用するＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報であって、各ネットワークインターフェースを示す仮想的なインデックスが割り当てられたＭＩＢ情報を格納する格納手段に格納されている、前記取得要求を受信したネットワークインターフェースに対応したインデックスの値を１に更新する更新ステップと、
前記取得要求に応じた応答を送信する送信ステップと
を含むことを特徴とする通信方法。
【請求項６】
複数のネットワークインターフェースを備える通信装置のコンピュータに、請求項５に記載の通信方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上の通信機器の管理を行なうために、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  ＭａｎａｇｅｍｅｎｔＰｒｏｔｏｃｏｌ）を使用する場合がある。ＳＮＭＰは、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）上で動作するプロトコルである。ＳＮＭＰは、通信機器の情報を取得したり設定したりすることによって通信機器の監視や制御を行なうためのプロトコルである。
【０００３】
ＳＮＭＰを利用した通信機器の制御において、制御される側の通信機器（ＳＮＭＰ−Ａｇｅｎｔ）は、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）と呼ばれるデータベースを有している。一方、制御する側の外部装置（ＳＮＭＰ−Ｍａｎａｇｅｒ）は、ＳＮＭＰを利用して通信機器からＭＩＢの情報取得、情報設定を行う。ＭＩＢには、通信機器の様々な状態情報が定義されており、一般的情報としてＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔ）に定義されている標準ＭＩＢと、各ベンダーによって定義されるプライベートＭＩＢに分類される。
【０００４】
ＳＮＭＰ−ＭａｎａｇｅｒがＳＮＭＰ−ＡｇｅｎｔからＳＮＭＰを使用してＭＩＢの取得または設定を行なう場合、対象となるＭＩＢを一意に特定するためにオブジェクトＩＤを使用する。標準ＭＩＢやプライベートＭＩＢの全てのＭＩＢオブジェクトには、固有のオブジェクトＩＤが割り当てられている。例えば、ＭＩＢオブジェクトであるｓｙｓＤｅｓｃｒのオブジェクトＩＤは１．３．６．１．２．１．１．１である。
【０００５】
ＭＩＢには、１つのＭＩＢに１つの情報しかないものと、複数の情報があるものがある。例えば、ネットワークＩ／Ｆ（インターフェース）の物理アドレスを表すＭＩＢ（ｉｆＰｈｙｓＡｄｄｒｅｓｓ）では、通信機器のネットワークＩ／Ｆが複数存在するときは、ＭＡＣアドレスもその個数分存在する。その結果、ｉｆＰｈｙｓＡｄｄｒｅｓｓは、複数の情報が存在する。それゆえ、オブジェクトＩＤによりＭＩＢを一意に特定しても、ＭＩＢの中に複数の情報が含まれている場合には、それぞれの情報を特定することができない。そこで、各ＭＩＢの中の複数の情報を特定する方法の一例としてインデックス（Ｉｎｄｅｘ）がある。Ｉｎｄｅｘは、ＭＩＢの中の何番目の情報であるかを特定するために用いられる。任意のＭＩＢが１つの情報しか持たないＭＩＢである場合、そのＭＩＢのオブジェクトＩＤの後ろに「．０」を付けて表す。例えば、ｓｙｓＤｅｓｃｒの場合には１．３．６．１．２．１．１．１．０となる。
【０００６】
任意のＭＩＢが複数の情報を持つＭＩＢである場合、ＭＩＢのオブジェクトＩＤの後ろにＩｎｄｅｘ値を付けて何番目の情報であるかを表す。例えば、ネットワークＩ／Ｆのタイプを表すＭＩＢであるｉｆＴｙｐｅというＭＩＢオブジェクトがある。ｉｆＴｙｐｅのＭＩＢオブジェクトＩＤは１．３．６．１．２．１．２．２．１．３である。この場合、通信機器が複数のネットワークＩ／Ｆを有している場合には、何番目のネットワークＩ／Ｆであるかを示すために、オブジェクトＩＤの後ろにＩｎｄｅｘを付けることによって情報を一意に特定する。例えば、３番目のネットワークＩ／Ｆを指定する場合には、１．３．６．１．２．１．２．２．１．３．３となる。
【０００７】
ＳＮＭＰ−Ｍａｎａｇｅｒは、ＳＮＭＰ−Ａｇｅｎｔから情報の取得・設定を行なう際には、上述したオブジェクトＩＤとＩｎｄｅｘを組み合わせたＩＤを指定することにより、所定のオブジェクトの情報を扱うことが可能となる。また、複数の通信機器の情報を集めてＭＩＢを構築する場合にも、各ＭＩＢの中の複数の情報を特定するためにＩｎｄｅｘが用いられる。例えば、ＳＮＭＰ−ＭａｎａｇｅｒとＳＮＭＰ−Ａｇｅｎｔの中間に位置するゲートウェイ装置が、ＳＮＭＰの取得要求を転送する場合には、取得要求に含まれるオブジェクトＩＤに付いているＩｎｄｅｘを削除して個別のＳＮＭＰ−Ａｇｅｎｔに転送する。特許文献１には、ＳＮＭＰの取得応答をＳＮＭＰ−Ｍａｎａｇｅｒに転送する場合、Ｉｎｄｅｘ値を付けて転送することで、ＳＮＭＰ−Ａｇｅｎｔが複数設置された環境でもＩｎｄｅｘ値に矛盾がないようにする仕組みが開示されている。
【０００８】
また、Ｉｎｄｅｘの構成は、一般的には、Ｉｎｄｅｘ自身がＭＩＢオブジェクトになっている。例えば、前述したｉｆＴｙｐｅのＩｎｄｅｘは、ネットワークＩ／Ｆを一意に特定する値の意味を持つＭＩＢであるｉｆＩｎｄｅｘの値がそのままｉｆＴｙｐｅのＩｎｄｅｘになっている。このように、ＭＩＢが複数の情報を持つ場合に、何番目の情報であるか識別するための仕組みがＩｎｄｅｘである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１３０２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＳＮＭＰ−Ｍａｎａｇｅｒの中には、ネットワークＩ／Ｆを特定するＭＩＢであり、ネットワークＩ／Ｆと特定するＩｎｄｅｘとして使用されるｉｆＩｎｄｅｘを「１」固定で指定してＭＩＢの取得要求を行なうものが存在する。これは、複数のネットワークＩ／Ｆを有する通信機器が少なく、ｉｆＩｎｄｅｘの値に「１」を指定すれば、１番目（単一）のネットワークＩ／Ｆを指定することが可能であったためと考えられる。
【００１１】
このようなＳＮＭＰ−Ｍａｎａｇｅｒが、複数のネットワークＩ／Ｆを有するＳＮＭＰ−Ａｇｅｎｔに対してＭＩＢ情報を取得する場合には、問題が発生する。図１４を参照しつつ、この問題について説明する。例えば、１番目のネットワークＩ／ＦのｉｆＩｎｄｅｘが１、２番目のネットワークＩ／ＦのｉｆＩｎｄｅｘが２の通信機器がＳＮＭＰ−Ａｇｅｎｔとして機能するとする。また、ｉｆＩｎｄｅｘを１固定で指定する外部装置がＳＮＭＰ−Ｍａｎａｇｅｒとして、先のＳＮＭＰ−Ａｇｅｎｔから情報を取得するとする。この場合、外部装置が希望しないＭＩＢ情報を取得するおそれがある。これは、外部装置と通信を行っている通信機器のネットワークＩ／Ｆが２番目であっても、当該外部装置がｉｆＩｎｄｅｘを１固定で指定するために、当該通信機器が１番目のネットワークＩ／ＦのＭＩＢ情報を応答してしまうためである。
【００１２】
図１４は、ｉｆＩｎｄｅｘ＝１が有線ＬＡＮ、そしてｉｆＩｎｄｅｘ＝２が無線ＬＡＮの場合において、無線ＬＡＮ経由にて情報取得を行った場合を示している。図１４では無線ＬＡＮホスト上でＳＮＭＰユーティリティ（Ｍａｎａｇｅｒ）が動作しており、デバイスＡとＢではＡｇｅｎｔが動作している場合を想定している。従来のアプリケーション群では、監視対象のデバイスが１つのインタフェースしか有していないと考え設計されていることがありこの場合、ｉｆＩｎｄｅｘ＝１のみを想定したアクセスが行われることがある。この場合、本来は、外部装置と通信を行っている通信機器のネットワークＩ／Ｆが２番目ならば、当該外部装置が取得を希望するＭＩＢ情報は２番目のネットワークＩ／Ｆの情報と考えられる。そのため、通信機器が実際に通信しているネットワークＩ／Ｆとは異なるネットワークＩ／Ｆの情報を応答してしまうと、ＳＮＭＰ−Ｍａｎａｇｅｒである外部装置としては意図しない情報を取得してしまうことになる。
【００１３】
本発明はこのような問題点に鑑みなされたもので、外部装置が要求するＭＩＢの情報を適切に送信することを目的とする。
【課題を解決するための手段】
【００１４】
そこで、本発明は、複数のネットワークインターフェースを備える通信装置において、前記複数のネットワークインターフェースそれぞれと外部装置との間のＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）処理を行う処理手段と、ＳＮＭＰ処理において利用するＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報であって、各ネットワークインターフェースを示す仮想的なインデックスが割り当てられたＭＩＢ情報を格納する格納手段と、ＭＩＢ情報の取得要求を受信する受信手段と、前記取得要求に、ネットワークインターフェースの情報が含まれる場合に、前記取得要求を受信したネットワークインターフェースに対応したインデックスの値を１に更新する更新手段と、前記取得要求に応じた応答を送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、外部装置が要求するＭＩＢの情報を適切に送信することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る通信システムの全体図である。
【図２】ＭＦＰのハードウェア構成を示すブロック図である。
【図３】ＭＦＰの機能構成図である。
【図４】ＭＦＰによる処理を示すフローチャートである。
【図５】ＳＮＭＰの取得要求のネットワークパケットを示す図である。
【図６】仮想情報テーブルのデータ構成例を示す図である。
【図７】ｉｆＩｎｄｅｘの値を変更した後の仮想情報テーブルを示す図である。
【図８】ｉｆＩｎｄｅｘの値を変更した後の仮想情報テーブルを示す図である。
【図９】ｉｆＩｎｄｅｘをオブジェクトＩＤに含んだＭＩＢを示す図である。
【図１０】従来のＭＩＢの応答例を示す図である。
【図１１】実施形態に係るＭＩＢの応答例を示す図である。
【図１２】実施形態に係るＭＩＢの応答例を示す図である。
【図１３】第２の実施形態に係るＭＦＰの機能構成図である。
【図１４】従来例の説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面に基づいて説明する。
【００１８】
（第１の実施形態）
図１は、第１の実施形態に係る通信システムの全体図である。通信システムにおいて、ＭＦＰ１０１は、２つのネットワークＩ／Ｆ（ネットワークインターフェース）を備えたマルチファンクションデバイス（ＭＦＰ：複合機能を持つ画像形成装置）である。ネットワークＩ／Ｆのうち、一方はＬＡＮ−Ａ１１０に接続されており、もう一方はＬＡＮ−Ｂ１２０に接続されている。ＬＡＮ−Ａ１１０及びＬＡＮ−Ｂ１２０は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）への接続であり、例えば無線ＬＡＮインフラストラクチャ接続などである。
【００１９】
ＬＡＮ−Ａ１１０にはＳＮＭＰ−Ｍａｎａｇｅｒ１１１が接続されている。これにより、ＭＦＰ１０１とＳＮＭＰ−Ｍａｎａｇｅｒ１１１は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  ＭａｎａｇｅｍｅｎｔＰｒｏｔｏｃｏｌ）プロトコルによる通信が可能な状態になっている。ＬＡＮ−Ｂ１２０にはＳＮＭＰ−Ｍａｎａｇｅｒ１２１が接続されている。これにより、ＭＦＰ１０１とＳＮＭＰ−Ｍａｎａｇｅｒ１２１は、ＳＮＭＰプロトコルによる通信が可能な状態になっている。ＳＮＭＰ−Ｍａｎａｇｅｒ１１１，１２１は、例えば、サーバ等の情報処理装置で構成される。Ｍａｎａｇｅｒからネットワーク上のＵＤＰプロトコルのＳＮＭＰプロトコルアプリケーションによって、ＭＦＰ１０１へアクセスが行われる。
【００２０】
図２は、ＭＦＰ１０１のハードウェア構成を示すブロック図である。コントローラユニット２０１は、ＭＦＰ１０１の装置全体を制御する制御部である。例えばコントローラユニット２０１は、画像入力デバイスであるスキャナ部２０９や画像出力デバイスであるプリンタ部２０７に接続する。そしてスキャナ部２０９で読み取られた画像データをプリンタ部２０７により印刷出力するコピー機能を実現するための制御が行われる。
【００２１】
コントローラユニット２０１は、以下に説明する構成要素を備える。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。そして、このＯＳ上でＨＤＤ（ハードディスクドライブ）２１５に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。ＣＰＵ２０２の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３が用いられる。また、ＲＡＭ２０３は、画像データを一時記憶するための画像メモリとして利用される。
【００２２】
ＨＤＤ２１５は、上記アプリケーションプログラムと共に、画像データを格納する。ＣＰＵ２０２には、システムバス２０５を介して、操作パネルＩ／Ｆ２１０、ネットワーク無線ＬＡＮＩ／Ｆ２１２、ネットワークＬＡＮＩ／Ｆ−Ａ２１３、ネットワークＬＡＮＩ／Ｆ−Ｂ２１４が接続されている。
【００２３】
操作パネルＩ／Ｆ２１０は、タッチパネルを有する操作パネル２１１とのインターフェースである。操作パネル２１１に表示する画像データを出力する。また、操作パネルＩ／Ｆ２１０は、操作パネル２１１においてユーザにより入力された情報をＣＰＵ２０２に送出する。
【００２４】
ネットワーク無線ＬＡＮＩ／Ｆは、無線ＬＡＮイーサネットＷＬＡＮに接続を行う。ネットワークＩ／Ｆ−Ａ２１３（第１のネットワークＬＡＮＩ／Ｆ）は、ネットワークインターフェイスカード（ＮＩＣ）であり、ＬＡＮ−ＡへのＬＡＮ接続を行う。ネットワークＩ／Ｆ−Ｂ２１４（第２のネットワークＬＡＮインターフェース）も同様にＮＩＣや、もしくはＵＳＢＩ／Ｆに接続されたＬＡＮＩ／Ｆ装置であり、ＬＡＮ−Ｂに接続され、情報の入出力を行う。
【００２５】
図３は、ＭＦＰ１０１の機能構成図である。なお、説明のため一部に本機能に関連するハードウェアも併せて図示している。図２においては無線ＬＡＮＩ／Ｆ２１２も存在しているが図３においては図示を省略している。ＭＩＢ３０１は、ＭＦＰ１０１の状態情報を識別情報により識別可能に格納するＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）であり、ＭＩＢのデータベース本体と、当該データベース本体を構築するためのソフトウェアとの集合体である。ＭＩＢ３０１は、ＭＦＰ１０１に関する各種の情報を収集することで内部的にデータベースを構築し、後述のＳＮＭＰ３０２から指定されたオブジェクトＩＤとネットワークＩ／Ｆのインデックス（ｉｆＩｎｄｅｘ）の値に対応したＭＩＢの値を応答する。オブジェクトＩＤは、ＭＩＢを一意に特定するための識別情報である。ｉｆＩｎｄｅｘは、ＭＩＢの中の何番目のＩ／Ｆの情報であるかを特定するための識別情報である。
【００２６】
また、ＭＩＢ３０１は、標準ＭＩＢ（ＭＩＢ２）を有している。ｉｆＩｎｄｅｘの値は、ここではネットワークＩ／Ｆ−Ａ２１３が１であり、ネットワークＩ／Ｆ−Ｂ２１４が２の場合であるものとする。さらにＭＦＰにおいて、無線ＬＡＮが有効な場合には、無線ＬＡＮの状態情報をＭＩＢに格納することもできる。この場合、例えば、無線ＬＡＮのＩ／Ｆに対応するｉｆＩｎｄｅｘには３が割り当てられる。
【００２７】
ＳＮＭＰ３０２は、ＳＮＭＰプロトコルのＡｇｅｎｔである。ＳＮＭＰ３０２は、複数存在するネットワークＩ／Ｆから受信したＳＮＭＰのリクエストパケットに基づき、指定されたオブジェクトＩＤとＩｎｄｅｘの値に対応したＭＩＢの値をＭＩＢ３０１に問い合わせる。そして、ＳＮＭＰ３０２は、ＭＩＢ３０１からのＭＩＢ値の応答を受信し、ＳＮＭＰパケットを作成してネットワーク上の外部装置に送信する。外部装置は、ＭＩＢ情報の取得要求を行った装置であり、例えば、ＳＮＭＰ−Ｍａｎａｇｅｒ１１１，１２１である。
【００２８】
プロトコルスタック３０３は、ＩＰプロトコルの通信機能を司るプロトコルスタックであり、ＯＳのネットワーク機能上で標準的に備わっているものである。より具体的にはＴＣＰ／ＩＰやＵＤＰ／ＩＰといったネットワークプロトコルである。ネットワークドライバＡ３０４は、ネットワークＩ／Ｆ−Ａ２１３を制御するデバイスドライバである。ネットワークドライバＢ３０５は、ネットワークＩ／Ｆ−Ｂ２１４を制御するためのデバイスドライバである。
【００２９】
上述したＭＩＢ３０１〜ネットワークドライバＢ３０５及びネットワークＩ／Ｆ−Ａ２１３、ネットワークＩ／Ｆ−Ｂ２１４のソフトウェア群は、通常はＨＤＤ２１５に格納されており、ＲＡＭ２０３に適宜ロードされ、ＣＰＵ２０２によって実行される。また、ＭＩＢ３０１及びＳＮＭＰ３０２は、ＯＳ上のアプリケーションスペースで動作する。プロトコルスタック３０３〜ネットワークドライバＢ３０５及びネットワークＩ／Ｆ−Ａ２１３、ネットワークＩ／Ｆ−Ｂ２１４は、カーネルスペースで動作している。なお、上述したソフトウェアが動作するためのＯＳや、その他の複合機の機能を実現するソフトウェア群も、ＨＤＤ２１５に格納されており、必要に応じてロード及び実行される構成となっている。
【００３０】
また、本実施形態では、ネットワークＩ／Ｆ−Ａ２１３に対応付けられるＩＰアドレスを１７２．２４．１７６．１６８とし、ハードウェアアドレスを"００００８５Ｄ６Ｅ２Ｂ１"とする。また、ネットワークＩ／Ｆ−Ｂ２１４に対応付けられるＩＰアドレスを１９２．１６８．１．１００とし、ハードウェアアドレスを"００００８５１１２２３３"とする。これらＩＰアドレスやハードウェアアドレスについては、ＭＦＰ１０１対してそれぞれネットワーク上で固有の値が割り振られるものである。
【００３１】
図４は、第１の実施形態におけるＭＦＰ１０１による処理を示すフローチャートである。まず、ＭＦＰ１０１の起動時、Ｓ４０１において、ＳＮＭＰ３０２は、ＭＦＰ１０１のネットワークＩ／Ｆの装着認識を行う。これにより、ＳＮＭＰ３０２は、ＭＦＰ１０１のシステムとして認識されるネットワークＩ／Ｆについて、ＯＳからその管理リストを獲得する。システムの起動とともにシステムに接続されたネットワークＩ／Ｆがシステムに認識され利用可能となったものが、このリストに含まれる。
【００３２】
次に、Ｓ４０２において、ＳＮＭＰ３０２は、そのＩ／Ｆの総数からＭＩＢとして応答すべきものをカウントし、総数を算出する。そして、ＳＮＭＰ３０２は、そのＩ／Ｆとして応答すべき情報を保持しておくメモリ領域を確保する。この情報領域を仮想Ｉ／Ｆ情報領域と呼ぶ。次に、Ｓ４０３において、ＳＮＭＰ３０２は、この仮想用に確保した領域に、ＳＮＭＰ処理で利用するＩ／Ｆ情報の初期値設定を行う。なお、システムに認識されたＩ／ＦにおいてＳＮＭＰ処理として有用でないものは、この管理対象から外される。
【００３３】
続く、Ｓ４０４以降の処理は、ＳＮＭＰ処理である。Ｓ４０４において、ＭＦＰ１０１は、複数のネットワークＩ／Ｆから様々なネットワークのプロトコルを受信する。ＭＦＰ１０１は装置が受信すべきプロトコルについては受信を行い、必要であれば応答を行う。ＭＦＰ１０１は、非サポートのプロトコル等に対しては受信後に即座に破棄を行う。図４ではＳＮＭＰプロトコル処理のみ例示しているが、他にサポートしているプロトコルに対しても不図示であるが応答は行われる。ＳＮＭＰ３０２は、Ｓ４０４において、外部装置からのＳＮＭＰの取得要求を待ち受けており、Ｓ４０５において、ＳＮＭＰのプロトコルの受信を検知しない場合には、Ｓ４０４へ戻り、ネットワークプロトコルを待ち合わせる。ＳＮＭＰの取得要求とは、ＳＮＭＰにおけるＧｅｔ−ＲｅｑｕｅｓｔメッセージやＧｅｔＮｅｘｔメッセージなどの、ＳＮＭＰ−ＭａｎａｇｅｒがＳＮＭＰ−Ａｇｅｎｔに対してＭＩＢ値の取得を要求するためのＳＮＭＰメッセージのことである。Ｓ４０５において、ＳＮＭＰ３０２がＳＮＭＰのＭＩＢ情報の取得要求を受信した場合、Ｓ４０６へと移行する。ＭＦＰ１０１がネットワークＩ／Ｆ−Ａ２１３で受信したＳＮＭＰの取得要求のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図５に示す。
【００３４】
図５において、値５０１はデータリンク層の送信先ハードウェアアドレスを示している。値５０１は、ネットワークＩ／Ｆ−Ａ２１３のハードウェアアドレスである。値５０２はインターネット層に含まれる送信先ＩＰアドレスを示している。値５０２は、ネットワークＩ／Ｆ−Ａ２１３に対応付けられたＩＰアドレスである。値５０３は、ＳＮＭＰプロトコルに含まれる、取得要求の対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。図５の例では、オブジェクトＩＤが１．３．６．１．２．１．２．２．１．６であり、Ｉｎｄｅｘが１である。本オブジェクトＩＤの意味については、このオブジェクトＩＤに対応するＭＩＢに対して、前述したＳＮＭＰメッセージ（コマンド）のアクセスを行う、ということである。ＭＦＰ１０１がこのようなパケットを受信したものとする。
【００３５】
図４に戻り、Ｓ４０６では、ＳＮＭＰ３０２は、ＳＮＭＰ取得要求で指定されたＭＩＢ値をＭＩＢ３０１に要求する処理を行なう前に、そのＳＮＭＰプロトコルをどのネットワークＩ／Ｆから受信したのかを判断する。そして、ＳＮＭＰ３０２は、そのＳＮＭＰプロトコル中のオブジェクトＩＤに基づいて、応答を行うべきオブジェクトＩＤを決定する。前述のＳＮＭＰのＧｅｔＲｅｑｕｅｓｔであれば、受信したオブジェクトＩＤと応答するオブジェクトＩＤは同じである。しかしＧｅｔＮｅｘｔであれば、応答すべきオブジェクトＩＤは受信したＩＤの次のＩＤとなる。したがって、この場合には、ＳＮＭＰ３０２は、応答するＩＤが異なる場合の判断を行う。ＳＮＭＰ３０２は、ＭＩＢ３０１に対して、Ｓ４０１で受信したＳＮＭＰ取得要求で指定されたオブジェクトＩＤ及びＩｎｄｅｘ値をＭＩＢ３０１に渡し、対応するＭＩＢ値を要求する。
【００３６】
次に、Ｓ４０７において、ＳＮＭＰ３０２は、応答すべきオブジェクトＩＤにｉｆＩｎｄｅｘが含まれるか否かを判断する。すなわち、ＳＮＭＰ３０２は、受信したＭＩＢ値の取得要求および応答オブジェクトＩＤについて、Ｉｎｄｅｘとして所定のｉｆＩｎｄｅｘが含まれているか否かを判定する。ここでは、Ｉｎｄｅｘに「１」が指定されている場合に、所定のｉｆＩｎｄｅｘが含まれていると判定する。Ｉｎｄｅｘが指定されていない場合や、「１」以外が指定されている場合は、所定のｉｆＩｎｄｅｘが含まれていないと判定する。具体的には、ＳＮＭＰ３０２は、要求を受けたオブジェクトＩＤ及び末尾のＩｎｄｅｘ値を参照して、指定するＭＩＢ値にｉｆＩｎｄｅｘが含まれているか否かとそのｉｆＩｎｄｅｘの値を、自身の情報と照らし合わせることによって確認する。例えば、指定されたオブジェクトＩＤ及び末尾のＩｎｄｅｘ値の組み合わせが、１．３．６．１．２．１．２．２．１．６．１であったとする。ここで左側の１．３．６．１．２．１．２．２．１．６は、ｉｆＰｈｙｓＡｄｄｒｅｓｓを表すオブジェクトＩＤである。ｉｆＰｈｙｓＡｄｄｒｅｓｓのＩｎｄｅｘはｉｆＩｎｄｅｘが１であることを示しているので、Ｓ４０７でＹＥＳと判断される。
【００３７】
ＳＮＭＰ３０２は、所定のｉｆＩｎｄｅｘが含まれると判断した場合には、処理をＳ４０８へ進める。ＳＮＭＰ３０２は、所定のｉｆＩｎｄｅｘが含まれないと判断した場合には、処理をＳ４１０へ進める。Ｓ４１０において、ＳＮＭＰ３０２は、ＭＩＢ３０１のＤＢにそのままアクセスしてＭＩＢ値を得て、その後処理をＳ４１１へ進める。
【００３８】
Ｓ４０８において、ＳＮＭＰ３０２は、仮想Ｉ／Ｆ情報にアクセスし、該当するＩ／Ｆのインデックスを獲得する。次に、Ｓ４０９において、ＳＮＭＰ３０２は、受信したインターフェースに対応するＭＩＢの情報をインデックス＝１として応答するように、仮装情報から、ＭＩＢ情報を再構成する。次に、Ｓ４１１において、ＳＮＭＰ３０２は、獲得したＭＩＢ値をＳＮＭＰプロトコルにて応答を行う。ＳＮＭＰ３０２は、その後、処理をＳ４０４へ進め、プロトコルの待ち受けとなる。
【００３９】
図６は、仮想情報テーブルのデータ構成例を示す図である。仮想情報テーブルは、ＲＯＭ２０４等の記憶部に記憶されている。図６には、ネットワークＩ／Ｆとしては、有線ＬＡＮ、ループバックＩ／Ｆ、ＷＬＡＮ、ＵＡＰの４つがＭＦＰ１０１にて認識された場合のテーブル例を示している。テーブルとしての数は４であるが、ｉｆＩｎｄｅｘとしてはそれぞれ１０００１から１０００４と仮想的な番号にてシステム内部で定義されている。ＭＦＰ１０１は、上記のようなｉｆＩｎｄｅｘで管理している。但し、ＳＮＭＰ３０２は、ＳＮＭＰ処理時において、受信したインターフェースを特定し、そのインターフェースへ応答を行う場合には、仮想Ｉ／Ｆ情報を変更し、ＳＮＭＰに応答を行う。例えば、有線ＬＡＮＩ／ＦからＭＩＢの取得要求を受信したとする。また、有線ＬＡＮＩ／Ｆの仮想Ｉ／Ｆ情報は１０００１であるとする。この場合、ＳＮＭＰ３０２は、図７に示すように、受信されたＩ／ＦのｉｆＩｎｄｅｘを１０００１と判定し、そのｉｆＩｎｄｅｘの値を１に更新する。
【００４０】
これにより、前述した旧態のままの課題を持つ、Ｉｎｄｅｘ＝１を想定して動作を行うＳＮＭＰユーティリティからのアクセスに応えられる。なお、ＳＮＭＰ３０２は、他のインデックスについては変更を行わず、１０００２〜１０００４のままとしている。ここを連番とする必要はないが、もし連番を必要としてしまうような旧態動作を行うユーティリティに対応する場合には、ＳＮＭＰ３０２は、１０００２〜１０００４を２〜４に変更してもよい。
【００４１】
図８は、ＭＦＰ１０１が、ＭＩＢ情報の取得要求をＷＬＡＮＩ／Ｆから受信した場合の仮想インデックスの適用例を示す図である。この例では、ＳＮＭＰ３０２は、ＷＬＡＮＩ／ＦのｉｆＩｎｄｅｘを１に変更、他のＩ／Ｆについてはそのままとしている。
【００４２】
図９は、ｉｆＩｎｄｅｘをインデックスにするＭＩＢ：ｉｆＲｃｖＡｄｄｒｅｓｓＴａｂｌｅを示す図である。このテーブル形式のＭＩＢについては、テーブルのインデックスを特定するのにｉｆＩｎｄｅｘを含むことが決められている。つまり、前記したようなｉｆＩｎｄｅｘの変更（内部処理のＩ／Ｆ番号の変更）を行う場合には、このようにｉｆＩｎｄｅｘを利用する他のＭＩＢについても反映が必要となることがある。ＳＮＭＰのコマンドに対応してこのようなＭＩＢオブジェクトを応答する場合には、この反映が必要である。よって、ｉｆＩｎｄｅｘを含んで指定されるオブジェクトを含むことの判断とその判断に基づいた前記した変更方法にそって、対応が行われる。
【００４３】
図１１〜図１３は、上記のようなｉｆＩｎｄｅｘの仮想インデックスからの変換を対応することによって、応答されるＭＩＢを示す図である。なお、図１０は、仮想インデックスからの変換に対応していない場合のＭＩＢ、すなわち、従来のＭＦＰによる応答例を示す図である。
【００４４】
図１０の場合、ＷＬＡＮＩＦ（インデックス＝３）からのＳＮＭＰ受信があっても、旧態のユーティリティにてｉｆＩｎｄｅｘ＝１の値が利用されてしまう事態が発生する。すると、有線ＬＡＮ（ＦａｓｔＥｔｈｅｒｎｅｔ）のテーブルの値が参照されてしまう。この一例ではｉｆＰｈｙｓＡｄｄｒｅｓｓ．１を獲得しそのＭａｃアドレスにてアクセスを行ったとしてもそのネットワーク上にはそのＩ／Ｆは実はネットワーク上に存在していない結果となる。またＭａｃアドレスを用いて双方で計算を行わせ、その結果で正しく動くような制御ができなくなる。これはセキュリティ等の機能にてよく行われる制御である。
【００４５】
一方、図１１は、図７での仮想Ｉ／Ｆ番号の変換を行った結果でのＭＩＢ応答の例である。インデックス＝１に対して、仮想インデックス＝１０００１の値を適用したものである。同様に図１２は、図８での仮想Ｉ／Ｆ番号の変換を行った結果の例である。無線ＬＡＮから受信した場合であってもインデックス＝１にて仮想インデックス１０００３の値を適用している。どちらの適用例でも、旧態のインデックス＝１を固定としてアクセスを行うようなＳＮＭＰユーティリティの動作に対しても問題が無く、他のＩ／Ｆの情報について正常に応答することができる。
【００４６】
以下では、図８などにおいて、例示されているＭＩＢについて説明を行う。ｉｆＩｎｄｅｘはこれまで説明を行ってきたように、ネットワークのＩ／Ｆを特定するためのインデックス番号である。前述したようにこのｉｆＩｎｄｅｘをテーブルに指定してアクセスを行わせるＭＩＢが存在する。ｉｆＤｅｓｃｒは、のネットワークＩ／Ｆの名称を表す文字列であり、より人間に判りやすい名称となっている。ｉｆＭｔｕは、通信パケットのサイズを示している。ｉｆＳｐｅｅｄは理論的な通信速度を表す。ｉｆＰｈｙｓＡｄｄｒｅｓｓは、前述のように、そのＩ／Ｆの物理的なＭａｃアドレスを示す。ｉｆＡｄｍｉｎＳｔａｔｕｓは、そのＩ／Ｆの管理状態を表したものである。同様にｉｆＯｐｅｒＳｔａｔｕｓは、そのＩ／Ｆの運転状態を表したものである。ｉｆＬａｓｔＣｈａｎｇｅは、通信を行うインターフェースの現在の運転状態になったときのｓｙｓＵｐｔｉｍｅ値（システムが起動してからの時間情報）である。ｉｆＩｎＯｃｔｅｔｓは、そのＩ／Ｆから受信したパケットのオクテット総数を示している。この他にもＩ／Ｆの情報を表すＭＩＢは数多く存在する。
【００４７】
上記説明してきた仮想Ｉ／Ｆ番号から応答処理時にＩ／Ｆ番号の変換制御を行うことで、ＭＦＰ１０１は、外部装置から受信したＳＮＭＰプロトコルによるＭＩＢの情報取得要求に対して情報の応答を正しく行うことが可能である。さらに従来のＳＮＭＰユーティリティへも正しく応答を行うことが可能となる。つまりＭＦＰ１０１が外部装置から受信したＭＩＢ取得要求にＩｆＩｎｄｅｘが含まれ、且つその値が１として指定されている場合、受信したネットワークＩ／ＦのｉｆＩｎｄｅｘが１であるものとして応答することが可能となる。
【００４８】
例えば、ＭＩＢが１．３．６．１．２．１．２．２．１．６．１で、ＭＩＢ取得要求をネットワークＩ／Ｆ−Ａ２１３で受信した場合には、ＭＦＰ１０１は、ネットワークＩ／Ｆ−Ａ２１３のハードウェアアドレスを返信する。一方、別のネットワークＩ／Ｆ−Ｂ２１４で受信した場合には、ＭＦＰ１０１は、ネットワークＩ／Ｆ−Ｂ２１４のハードウェアアドレスを返信する。これにより、外部装置が期待しているネットワークＩ／Ｆの情報、即ち外部装置と実際に通信しているＭＦＰ１０１のネットワークＩ／Ｆの情報を返すことが可能になる。その結果、ＭＦＰ１０１は、ｉｆＩｎｄｅｘの値を１固定で取得するＳＮＭＰ−Ｍａｎａｇｅｒに対して好ましい情報を返信することが可能となる。ＭＦＰ１０１は、実際に外部装置と通信を行っているネットワークＩ／Ｆと外部装置に指定されたネットワークＩ／Ｆとが異なる場合でも、外部装置が要求するＭＩＢ情報を適切に返信することができる。
【００４９】
なお、本実施形態では、旧態のユーティリティでも正しく動作を行えるように、従来のＭＦＰ１０１が外部装置から受信したＭＩＢ取得要求にＩｆＩｎｄｅｘが含まれ、且つその値が１として指定されている場合に常に変換処理を行う場合について例示した。一方で旧態のユーティリティが存在しない運用環境ではこれらの変換処理を行う必要がない。これを鑑み、変換処理を行うか否かの動作設定を設けるようにしてもよい。例えば、図示省略の設定画面に「旧ユーティリティとの互換性を優先する」などの設定項目を設け、ユーザ操作で当該設定のＯＮ／ＯＦＦを設定できるようにしてもよい。これらのユーザ操作により変更された当該動作設定は、ＲＡＭ２０３又はＨＤＤ２１５に記憶される。この場合、ＭＦＰ１０１は、起動時にどちらのモードで動作をするかを当該動作設定値に基づき決定する。例えば、ＭＦＰ１０１は、当該動作設定がＯＮに設定されている場合は、図４の制御を行い、当該動作設定がＯＦＦに設定されている場合は、変換処理を行うことなく取得要求に対応する値を応答するように構成すればよい。
【００５０】
（第２の実施形態）
次に、第２の実施形態に過且つ通信システムについて、第１の実施形態に係る通信システムと異なる点を主に説明する。第２の実施形態におけるＭＦＰ１０１は、ＭＩＢを、ネットワークＩ／Ｆ−Ａ２１３に対応する第１のＭＩＢとネットワークＩ／Ｆ−Ｂ２１４に対応する第２のＭＩＢとに分けて構成している。この点が、第１の実施形態と異なる。Ｉ／Ｆによって、ＭＩＢのサポート範囲を変える構成をとる場合にＭＩＢ側だけを変更することで対応可能となる。
【００５１】
図１３は、第２の実施形態におけるＭＦＰ１０１の機能構成図である。なお、一部にハードウェアを含むものとする。第１のＭＩＢ１３０１は、ネットワークＩ／Ｆ−Ａ２１３によって受信したＭＩＢ取得要求に応答するためのＭＩＢのデータベースである。第２のＭＩＢ１３０２は、ネットワークＩ／Ｆ−Ｂ２１４によって受信したＭＩＢ取得要求に応答するためのＭＩＢのデータベースである。本実施形態においても、ＳＮＭＰ１３０３は、これに関しても仮想Ｉ／Ｆ番号による制御を行うことで適切にＭＩＢ応答を行うことが可能である。
【００５２】
第１の実施形態においては、受信したＩ／ＦをｉｆＩｎｄｅｘ＝１として応答を行わせるように制御し、他のＩ／Ｆの情報については変更を行わない、又は連番に変更するという運用について説明した。しかし、受信したＩ／Ｆのみが装着されたものとして応答（つまりインデックスは１しか存在させない）する運用を行っても、旧態ユーティリティに対しては問題がない。そこで、そのように制御させてもよい。
【００５３】
実施形態においては、通信装置を画像形成装置であるＭＦＰ１０１に適用した形態について説明したが、これに限定されるものではなく、通信装置は、通信機能を有する情報処理装置、端末等であってもよい。
【００５４】
また、ＭＦＰ１０１の説明としては、ＬＡＮ−Ａ１１０やＬＡＮ−Ｂ１２０の有線ネットワークに接続されている例にて説明を行った。しかし、図２の無線ＬＡＮＩ／Ｆ２１２を備え、異なる無線通信方式により複数のネットワークに接続可能な構成においても、上記実施形態を適用可能である。また、ＵＳＢ方式の通信方式上にネットワークを構築するような場合、またＢｌｕｅＴｏｏｔｈ（登録商標）通信方式上にネットワークを構築するような場合に対しても、上記実施形態を適用可能である。
【００５５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５６】
以上、上述した各実施形態によれば、外部装置が要求するＭＩＢの情報を適切に送信することができる。
【００５７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１０１  ＭＦＰ
３０２  ＳＮＭＰ
３０３  ＭＩＢ
【図１】
2020177408.tif 000003
【図２】
2020177408.tif 000004
【図３】
2020177408.tif 000005
【図４】
2020177408.tif 000006
【図５】
2020177408.tif 000007
【図６】
2020177408.tif 000008
【図７】
2020177408.tif 000009
【図８】
2020177408.tif 000010
【図９】
2020177408.tif 000011
【図１０】
2020177408.tif 000012
【図１１】
2020177408.tif 000013
【図１２】
2020177408.tif 000014
【図１３】
2020177408.tif 000015
【図１４】
2020177408.tif 000016