(57)【特許請求の範囲】
【請求項１】
複数のネットワークインターフェイスを備える通信装置において、
ＭＩＢ情報を格納する格納手段と、
外部装置からＭＩＢ情報の取得要求を受信する受信手段と、
前記取得要求に含まれるifIndexの値が１であるか否かを判定する判定手段と、
前記判定手段によって前記ifIndexの値が１ではないと判定された場合に、前記ifIndexの値が示すＭＩＢ情報を前記外部装置に返信し、前記判定手段によって前記ifIndexの値が１であると判定された場合に、前記取得要求を受信したネットワークインターフェイスを前記複数のネットワークインターフェイスの中から特定し、当該特定したネットワークインターフェイスに対応するＭＩＢ情報を前記外部装置に返信する返信手段とを備えることを特徴とする通信装置。
【請求項２】
前記格納手段は、オブジェクトＩＤとＩｎｄｅｘにより前記ＭＩＢ情報を識別可能に格納し、
前記ＭＩＢ情報の取得要求には前記オブジェクトＩＤと前記Ｉｎｄｅｘが指定されることを特徴とする請求項１記載の通信装置。
【請求項３】
複数のネットワークインターフェイスを備える通信装置の通信方法において、
ＭＩＢ情報を格納する格納工程と、
外部装置からＭＩＢ情報の取得要求を受信する受信工程と、
前記取得要求に含まれるifIndexの値が１であるか否かを判定する判定工程と、
前記判定工程によって前記ifIndexの値が１ではないと判定された場合に、前記ifIndexの値が示すＭＩＢ情報を前記外部装置に返信し、前記判定工程によって前記ifIndexの値が１であると判定された場合に、前記取得要求を受信したネットワークインターフェイスを前記複数のネットワークインターフェイスの中から特定し、当該特定したネットワークインターフェイスに対応するＭＩＢ情報を前記外部装置に返信する返信工程とを備えることを特徴とする通信装置の通信方法。
【請求項４】
請求項３記載の通信装置の通信方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信装置の通信方法並びにプログラムに関し、特に、外部装置からのＭＩＢ（Management Information Base）情報の取得要求に対応することができる通信装置及び通信装置の通信方法並びにプログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上の通信機器の管理を行なうためには、ＳＮＭＰ（Simple Network Management Protocol）を使用することが多い。ＳＮＭＰは、ＵＤＰ／ＩＰ（User Datagram Protocol／Internet Protocol）上で動作するプロトコルであり、通信機器の情報を取得したり設定したりすることによって通信機器の監視や制御を行なうためのプロトコルである。
【０００３】
ＳＮＭＰを利用した通信機器の制御において、制御される側の通信機器（ＳＮＭＰ−Ａｇｅｎｔ）は、ＭＩＢ（Managemanet Information Base）と呼ばれるデータベースを持っている。一方、制御する側の外部装置（ＳＮＭＰ−Ｍａｎａｇｅｒ）は、ＳＮＭＰを利用して通信機器からＭＩＢの情報を取得したり、設定を行なう。ＭＩＢには、通信機器の様々な状態情報が定義されており、一般的情報としてＲＦＣ（Reference For Comment）に定義されている標準ＭＩＢと、各ベンダーによって定義されるプライベートＭＩＢに分類される。
【０００４】
ＳＮＭＰ−ＭａｎａｇｅｒがＳＮＭＰ−ＡｇｅｎｔからＳＮＭＰを使用してＭＩＢの取得または設定を行なう場合、対象となるＭＩＢを一意に特定するためにオブジェクトＩＤを使用する。標準ＭＩＢやプライベートＭＩＢの全てのＭＩＢオブジェクトには、固有のオブジェクトＩＤが割り当てられている。例えば、ＭＩＢオブジェクトであるｓｙｓＤｅｓｃｒのオブジェクトＩＤは1.3.6.1.2.1.1.1である。
【０００５】
ＭＩＢには、１つのＭＩＢに１つの情報しかないものと、複数の情報があるものがある。例えば、ネットワークＩ／Ｆ（インターフェイス）の物理アドレスを表すＭＩＢ（ｉｆＰｈｙｓＡｄｄｒｅｓｓ）では、通信機器のネットワークＩ／Ｆが複数存在するときは、ＭＡＣアドレスもその個数分存在する。その結果、ｉｆＰｈｙｓＡｄｄｒｅｓｓは複数の情報を持つ。それゆえ、オブジェクトＩＤによりＭＩＢを一意に特定しても、ＭＩＢの中に複数の情報が含まれている場合には、それぞれの情報を特定することができない。
【０００６】
そこで、各ＭＩＢの中の複数の情報を特定する方法の一例としてインデックス（Ｉｎｄｅｘ）がある。Ｉｎｄｅｘは、ＭＩＢの中の何番目の情報であるかを特定するために用いられる。任意のＭＩＢが１つの情報しか持たないＭＩＢである場合、そのＭＩＢのオブジェクトＩＤの後ろに「．０」を付けて表す。例えば、ｓｙｓＤｅｓｃｒの場合には1.3.6.1.2.1.1.1.0となる。
【０００７】
任意のＭＩＢが複数の情報を持つＭＩＢである場合、ＭＩＢのオブジェクトＩＤの後ろにＩｎｄｅｘ値を付けて何番目の情報であるかを表す。例えば、ネットワークＩ／Ｆのタイプを表すＭＩＢであるｉｆＴｙｐｅというＭＩＢオブジェクトがある。ｉｆＴｙｐｅのＭＩＢオブジェクトＩＤは1.3.6.1.2.1.2.2.1.3である。この場合、通信機器が複数のネットワークＩ／Ｆを有している場合には、何番目のネットワークＩ／Ｆであるかを示すために、オブジェクトＩＤの後ろにＩｎｄｅｘを付けることによって情報を一意に特定する。例えば、３番目のネットワークＩ／Ｆを指定する場合には、1.3.6.1.2.1.2.2.1.3.3となる。
【０００８】
ＳＮＭＰ−Ｍａｎａｇｅｒは、ＳＮＭＰ−Ａｇｅｎｔから情報の取得・設定を行なう際には、上述したオブジェクトＩＤとＩｎｄｅｘを組み合わせたＩＤを指定することにより、所定のオブジェクトの情報を扱うことが可能となる。
【０００９】
また、複数の通信機器の情報を集めてＭＩＢを構築する場合にも、各ＭＩＢの中の複数の情報を特定するためにＩｎｄｅｘが用いられる。例えば、ＳＮＭＰ−ＭａｎａｇｅｒとＳＮＭＰ−Ａｇｅｎｔの中間に位置するゲートウェイ装置が、ＳＮＭＰの取得要求を転送する場合には、取得要求に含まれるオブジェクトＩＤに付いているＩｎｄｅｘを削除して個別のＳＮＭＰ−Ａｇｅｎｔに転送する。そして、ＳＮＭＰの取得応答をＳＮＭＰ−Ｍａｎａｇｅｒに転送する場合、Ｉｎｄｅｘ値を付けて転送することで、ＳＮＭＰ−Ａｇｅｎｔが複数設置された環境でもＩｎｄｅｘ値に矛盾がないようにする仕組みが提案されている（例えば、特許文献１参照）。
【００１０】
また、Ｉｎｄｅｘの構成は、一般的には、Ｉｎｄｅｘ自身がＭＩＢオブジェクトになっている。例えば、前述したｉｆＴｙｐｅのＩｎｄｅｘは、ネットワークＩ／Ｆを一意に特定する値の意味を持つＭＩＢであるｉｆＩｎｄｅｘの値がそのままｉｆＴｙｐｅのＩｎｄｅｘになっている。このように、ＭＩＢが複数の情報を持つ場合に、何番目の情報であるか識別するための仕組みがＩｎｄｅｘである。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００５−１３０２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ＳＮＭＰ−Ｍａｎａｇｅｒの中には、ネットワークＩ／Ｆを特定するＭＩＢであり、ネットワークＩ／Ｆと特定するＩｎｄｅｘとして使用されるｉｆＩｎｄｅｘを「１」固定で指定してＭＩＢの取得要求を行なうものが存在する。これは、複数のネットワークＩ／Ｆを有する通信機器が少なく、ｉｆＩｎｄｅｘの値に「１」を指定すれば、１番目（単一）のネットワークＩ／Ｆを指定することが可能であったためと考えられる。このようなＳＮＭＰ−Ｍａｎａｇｅｒが、複数のネットワークＩ／Ｆを有するＳＮＭＰ−Ａｇｅｎｔに対してＭＩＢ情報を取得する場合には、以下の問題が発生する。
【００１３】
例えば、１番目のネットワークＩ／ＦのｉｆＩｎｄｅｘが１、２番目のネットワークＩ／ＦのｉｆＩｎｄｅｘが２の通信機器（ＳＮＭＰ−Ａｇｅｎｔ）から、ｉｆＩｎｄｅｘを１固定で指定する外部装置（ＳＮＭＰ−Ｍａｎａｇｅｒ）が情報を取得する場合がある。この場合、外部装置が希望しないＭＩＢ情報を取得するおそれがある。これは、外部装置と通信を行っている通信機器のネットワークＩ／Ｆが２番目であっても、当該外部装置がｉｆＩｎｄｅｘを１固定で指定するために、当該通信機器が１番目のネットワークＩ／ＦのＭＩＢ情報を応答してしまうためである。
【００１４】
本来は、外部装置と通信を行っている通信機器のネットワークＩ／Ｆが２番目ならば、当該外部装置が取得を希望するＭＩＢ情報は２番目のネットワークＩ／Ｆの情報と考えられる。そのため、通信機器が実際に通信しているネットワークＩ／Ｆとは異なるネットワークＩ／Ｆの情報を応答してしまうと、ＳＮＭＰ−Ｍａｎａｇｅｒである外部装置としては意図しない情報を取得してしまうことになる。
【００１５】
本発明は、実際に外部装置と通信を行っているネットワークＩ／Ｆと外部装置に指定されたネットワークＩ／Ｆとが異なる場合でも、外部装置が要求するＭＩＢ情報を適切に返信することができる通信装置及び通信装置の通信方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、請求項１記載の通信装置は、複数のネットワークインターフェイスを備える通信装置において、ＭＩＢ情報を格納する格納手段と、外部装置からＭＩＢ情報の取得要求を受信する受信手段と、前記取得要求に含まれるifIndexの値が１であるか否かを判定する判定手段と、前記判定手段によって前記ifIndexの値が１ではないと判定された場合に、前記ifIndexの値が示すＭＩＢ情報を前記外部装置に返信し、前記判定手段によって前記ifIndexの値が１であると判定された場合に、前記取得要求を受信したネットワークインターフェイスを前記複数のネットワークインターフェイスの中から特定し、当該特定したネットワークインターフェイスに対応するＭＩＢ情報を前記外部装置に返信する返信手段とを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、実際に外部装置と通信を行っているネットワークＩ／Ｆと外部装置に指定されたネットワークＩ／Ｆとが異なる場合でも、外部装置が要求するＭＩＢ情報を適切に返信することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態の一例である画像形成装置が接続されたネットワーク環境の一例を示す図である。
【図２】図１のＭＦＰの主要部の概略構成を示すブロック図である。
【図３】第１の実施形態におけるＭＦＰの通信機能に関するソフトウェア構成を示すブロック図である。
【図４】第１の実施形態におけるＭＦＰのＳＮＭＰリクエスト受信時の動作処理の一例を示すフローチャートである。
【図５】ＭＦＰがネットワークＩ／Ｆ−Ａで受信したＳＮＭＰの取得要求のネットワークパケットの一例を示す図である。
【図６】ＭＦＰが要求先に返信したＳＮＭＰの取得応答のネットワークパケットの一例を示す図である。
【図７】ＭＦＰがネットワークＩ／Ｆ−Ｂで受信したＳＮＭＰの取得要求のネットワークパケットの一例を示す図である。
【図８】ＭＦＰが要求先に返信したＳＮＭＰの取得応答のネットワークパケットの一例を示す図である。
【図９】第２の実施形態におけるＭＦＰの通信機能に関するソフトウェア構成を示すブロック図である。
【図１０】第１のＭＩＢ及び第２のＭＩＢのＭＩＢ情報の構成を可視化した図である。
【図１１】第２の実施形態におけるＭＦＰ１０１のＳＮＭＰリクエスト受信時の動作処理の一例を示すフローチャートである。
【図１２】ＭＦＰがネットワークＩ／Ｆ−Ａで受信したＳＮＭＰの取得要求のネットワークパケットの一例を示す図である。
【図１３】ＭＦＰが要求先に返信したＳＮＭＰの取得応答のネットワークパケットの一例を示す図である。
【図１４】ＭＦＰがネットワークＩ／Ｆ−Ｂで受信したＳＮＭＰの取得要求のネットワークパケットの一例を示す図である。
【図１５】ＭＦＰが要求先に返信したＳＮＭＰ応答のネットワークパケットの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００２０】
［第１の実施形態］
図１は、本発明の実施形態の一例である画像形成装置が接続されたネットワーク環境の一例を示す図である。
【００２１】
図１において、ＭＦＰ１０１は、２つのネットワークＩ／Ｆ（インターフェイス）を備えたマルチファンクションデバイス（ＭＦＰ）である。ネットワークＩ／Ｆのうち、片方はＬＡＮ−Ａ１１０に接続されており、もう片方はＬＡＮ−Ｂ１２０に接続されている。ＬＡＮ−Ａ１１０及びＬＡＮ−Ｂ１２０は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）である。
【００２２】
ＬＡＮ−Ａ１１０にはＳＮＭＰ−Ｍａｎａｇｅｒ１１１が接続されており、ＭＦＰ１０１と互いにＳＮＭＰプロトコルによる通信が可能な状態になっている。ＬＡＮ−Ｂ１２０にはＳＮＭＰ−Ｍａｎａｇｅｒ１２１が接続されており、ＭＦＰ１０１と互いにＳＮＭＰプロトコルによる通信が可能な状態になっている。ＳＮＭＰ−Ｍａｎａｇｅｒ１１１，１２１は、例えば、サーバ等の情報処理装置で構成される。
【００２３】
図２は、図１のＭＦＰ１０１の主要部の概略構成を示すブロック図である。
【００２４】
コントローラユニット２０００は、ＭＦＰ１０１の装置全体を制御する制御部である。コントローラユニット２０００は、画像入力デバイスであるスキャナ部２０７０や画像出力デバイスであるプリンタ部２０９５に接続し、スキャナ部２０７０で読み取られた画像データをプリンタ部２０９５により印刷出力するコピー機能を実現するための制御を行う。
【００２５】
コントローラユニット２０００は、以下に説明する構成要素を備える。ＣＰＵ２００１は、ＲＯＭ２００３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。そして、このＯＳ上でＨＤＤ（ハードディスクドライブ）２００４に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。ＣＰＵ２００１の作業領域としてはＲＡＭ２００２が用いられる。また、ＲＡＭ２００２は、画像データを一時記憶するための画像メモリとして利用される。
【００２６】
ＨＤＤ２００４は、上記アプリケーションプログラムと共に、画像データを格納する。ＣＰＵ２００１には、システムバス２００７を介して、操作部Ｉ／Ｆ２００６、ネットワークＩ／Ｆ−Ａ２０１０、ネットワークＩ／Ｆ−Ｂ２０１１、モデム２０５０及びイメージバスＩ／Ｆ２００５が接続されている。
【００２７】
操作部Ｉ／Ｆ２００６は、タッチパネルを有する操作部２０１２とのインターフェイスであり、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部Ｉ／Ｆ２００６は、操作部２０１２においてユーザにより入力された情報をＣＰＵ２００１に送出する。
【００２８】
ネットワークＩ／Ｆ−Ａ２０１０（第１のネットワークインターフェイス）は、ネットワークインターフェイスカード（ＮＩＣ）をＡＳＩＣ化（Application Specific Integrated Circuit化）したものであり、ＬＡＮ−Ａ１１０に接続する。ネットワークＩ／Ｆ−Ｂ２０１１（第２のネットワークインターフェイス）も同様にＮＩＣをＡＳＩＣ化したものであり、ＬＡＮ−Ｂ１２０に接続する。モデム２０５０は、公衆回線（ＷＡＮ）１００７に接続され、情報の入出力を行う。
【００２９】
イメージバスＩ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８に接続され、データ構造を変換するためのバスブリッジである。画像バス２００８は、ＰＣＩバスまたはＩＥＥＥ１３９４から構成される。画像バス２００８には、ラスタイメージプロセッサ（ＲＩＰ）２０６０、デバイスＩ／Ｆ２０２０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０、サムネイル作成部２０３５及び画像圧縮部２０４０が接続されている。
【００３０】
ＲＩＰ２０６０は、ＰＤＬコードをビットマップイメージに展開するプロセッサである。デバイスＩ／Ｆ２０２０は、スキャナ部２０７０とプリンタ部２０９５に接続され、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対して補正、加工、編集を行う。プリンタ画像処理部２０９０は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部２０３０は、画像データの回転を行う。画像圧縮部２０４０は、多値画像データをＪＰＥＧデータに、２値画像データをＪＢＩＧ、ＭＭＲ、ＭＨなどのデータに圧縮するとともに、その伸張処理を行う。
【００３１】
図３は、第１の実施形態におけるＭＦＰ１０１の通信機能に関するソフトウェア構成を示すブロック図である。なお、同図では、本発明に関わる主要部分のみを例示しており、一部にハードウェアを含むものとする。
【００３２】
ＭＩＢ３０１は、ＭＦＰ１０１の状態情報を識別情報により識別可能に格納するＭＩＢ（Management Information Base）であり、ＭＩＢのデータベース本体と、当該データベース本体を構築するためのソフトウェアとの集合体を指す。ＭＩＢ３０１は、ＭＦＰ１０１の各種情報を収集することで内部的にデータベースを構築し、後述のＳＮＭＰ３０２から指定されたオブジェクトＩＤとインデックス（Ｉｎｄｅｘ）の値に対応したＭＩＢの値を応答する。オブジェクトＩＤは、ＭＩＢを一意に特定するための識別情報である。Ｉｎｄｅｘは、ＭＩＢの中の何番目の情報であるかを特定するための識別情報である。
【００３３】
また、ＭＩＢ３０１は、標準ＭＩＢ（ＭＩＢ２）を持っているものとする。ｉｆＩｎｄｅｘの値は、ネットワークＩ／Ｆ―Ａ２０１０が１であり、ネットワークＩ／Ｆ−Ｂ２０１１が２であるものとする。
【００３４】
ＳＮＭＰ３０２は、ＳＮＭＰプロトコルのＡｇｅｎｔである。ＳＮＭＰ３０２は、ネットワークＩ／Ｆ−Ａ２０１０又はネットワークＩ／Ｆ−Ｂ２０１１が受信したＳＮＭＰのリクエストパケットに基づいて、指定されたオブジェクトＩＤとＩｎｄｅｘの値に対応したＭＩＢの値をＭＩＢ３０１に問い合わせる。そして、ＳＮＭＰ３０２は、ＭＩＢ３０１からのＭＩＢ値の応答を受信し、ＳＮＭＰパケットを作成してネットワーク上の外部装置に送信する。外部装置は、ＭＩＢ情報の取得要求を行った装置であり、例えば、ＳＮＭＰ−Ｍａｎａｇｅｒ１１１，１２１である。
【００３５】
プロトコルスタック３０３は、ＩＰプロトコルの通信機能を司るプロトコルスタックであり、ＯＳに標準的に備わっているものである。ネットワークドライバＡ３０４は、ネットワークＩ／Ｆ−Ａ２０１０を制御するデバイスドライバである。ネットワークドライバＢ３０５は、ネットワークＩ／Ｆ−Ｂ２０１１を制御するためのデバイスドライバである。
【００３６】
上述したＭＩＢ３０１〜ネットワークドライバＢ３０５及びネットワークＩ／Ｆ−Ａ２０１０、ネットワークＩ／Ｆ−Ｂ２０１１のソフトウェア群は、通常はＨＤＤ２００４に格納されており、ＲＡＭ２００２に適宜ロードされ、ＣＰＵ２００１によって実行される。また、ＭＩＢ３０１、ＳＮＭＰ３０２は、ＯＳ上のアプリケーションスペースで動作する。プロトコルスタック３０３〜ネットワークドライバＢ３０５及びネットワークＩ／Ｆ−Ａ２０１０、ネットワークＩ／Ｆ−Ｂ２０１１は、カーネルスペースで動作している。
【００３７】
なお、上述したソフトウェアが動作するためのＯＳや、その他の複合機の機能を実現するソフトウェア群も、ＨＤＤ２００４に格納されており、必要に応じてロード及び実行される構成となっている。
【００３８】
また、本実施形態では、ネットワークＩ／Ｆ−Ａ２０１０に対応付けられるＩＰアドレスを172.24.176.168とし、ハードウェアアドレスを000085D6E2B1とする。また、ネットワークＩ／Ｆ−Ｂ２０１１に対応付けられるＩＰアドレスを192.168.1.100とし、ハードウェアアドレスを000085112233とする。
【００３９】
次に、第１の実施形態における、ＳＮＭＰのリクエストを受信した場合のＭＦＰ１０１の動作について図４を用いて説明する。
【００４０】
図４は、第１の実施形態におけるＭＦＰ１０１のＳＮＭＰリクエスト受信時の動作処理の一例を示すフローチャートである。
【００４１】
最初に、ネットワークＩ／Ｆ−Ａ２０１０にＳＮＭＰのＭＩＢ情報の取得要求を受信した場合の動作について説明する。
【００４２】
ステップＳ４０１では、ＳＮＭＰ３０２は、外部装置からのＳＮＭＰの取得要求を待ち受ける。ＳＮＭＰの取得要求とは、Ｇｅｔ−ＲｅｑｕｅｓｔメッセージやＧｅｔＮｅｘｔメッセージなどの、ＳＮＭＰ−ＭａｎａｇｅｒがＳＮＭＰ−Ａｇｅｎｔに対してＭＩＢ値の取得を要求するためのＳＮＭＰメッセージのことである。
【００４３】
ステップＳ４０１において、ＳＮＭＰ３０２がＳＮＭＰのＭＩＢ情報の取得要求を受信した場合、ステップＳ４０２へと移行する。ＭＦＰ１０１がネットワークＩ／Ｆ−Ａ２０１０で受信したＳＮＭＰの取得要求のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図５に示す。
【００４４】
図５において、値５０１はデータリンク層の送信先ハードウェアアドレスを示している。この値はネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスである。値５０２はインターネット層に含まれる送信先ＩＰアドレスを示している。この値はネットワークＩ／Ｆ−Ａ２０１０に対応付けられたＩＰアドレスである。値５０３は、ＳＮＭＰプロトコルに含まれる、取得要求の対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。本オブジェクトＩＤの意味についてはステップＳ４０３で説明する。ここでは、このようなパケットを受信したものとする。
【００４５】
図４に戻り、ステップＳ４０２では、ＳＮＭＰ３０２は、ＳＮＭＰ取得要求で指定されたＭＩＢ値をＭＩＢ３０１に要求する処理を行なう。具体的には、ＳＮＭＰ３０２は、ＭＩＢ３０１に対して、ステップＳ４０１で受信したＳＮＭＰ取得要求で指定されたオブジェクトＩＤ及びＩｎｄｅｘ値をＭＩＢ３０１に渡し、対応するＭＩＢ値を要求する。その際に、ＳＮＭＰ３０２は、ステップＳ４０１で受信したＳＮＭＰ取得要求のインターフェイス情報もＭＩＢ３０１に渡す。ここでのインターフェイス情報とは、ネットワークＩ／Ｆ−Ａ２０１０とネットワークＩ／Ｆ−Ｂ２０１１とを識別する情報のことである。
【００４６】
次に、ステップＳ４０３では、ＭＩＢ３０１は、ステップＳ４０２でＳＮＭＰ３０２から受信したＭＩＢ値の取得要求について、ＩｎｄｅｘとしてｉｆＩｎｄｅｘが含まれているか否かを判定する。具体的には、ＭＩＢ３０１は、ＳＮＭＰ３０２から要求を受けたオブジェクトＩＤ及び末尾のＩｎｄｅｘ値を参照して、指定されたＭＩＢ値にｉｆＩｎｄｅｘが含まれているか否かを、自身のデータベースと照らし合わせることによって確認する。例えば、指定されたオブジェクトＩＤ及び末尾のＩｎｄｅｘ値の組み合わせが、1.3.6.1.2.1.2.2.1.6.1であったとする。ここで左側の1.3.6.1.2.1.2.2.1.6は、ｉｆＰｈｙｓＡｄｄｒｅｓｓを表すオブジェクトＩＤである。ｉｆＰｈｙｓＡｄｄｒｅｓｓのＩｎｄｅｘはｉｆＩｎｄｅｘであるので、ステップＳ４０３でＹＥＳとなり、ステップＳ４０４へと移行する。なお、ステップＳ４０３において、指定されたＭＩＢがｉｆＩｎｄｅｘを含まないものであった場合には、ステップＳ４０７へと移行する。
【００４７】
ステップＳ４０４では、ＭＩＢ３０１は、ステップＳ４０２でＳＮＭＰ３０２から受信したＭＩＢ値の取得要求について、ｉｆＩｎｄｅｘの値が１であるか否かを判定する。このステップＳ４０４は、ｉｆＩｎｄｅｘ判定手段の一例である。前述したように、例えば、指定されたオブジェクトＩＤ及び末尾のＩｎｄｅｘ値の組み合わせが、1.3.6.1.2.1.2.2.1.2.1であったとする。ここでＩｎｄｅｘ値は一番右側の値になるので、ｉｆＩｎｄｅｘの値は１となり、ステップＳ４０４でＹＥＳとなって、ステップＳ４０５へと移行する。一方、ステップＳ４０４において、ｉｆＩｎｄｅｘの値が１でなかった場合には、ステップＳ４０７へと移行する。
【００４８】
ステップＳ４０５では、ＭＩＢ３０１は、ステップＳ４０１で外部装置からＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／Ｆを確認する。具体的には、ＭＩＢ３０１が、ＳＮＭＰ３０２から受け取ったインターフェイス情報に基づき、ＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０か、ネットワークＩ／Ｆ−Ｂ２０１１かを判断する。ここではネットワークＩ／Ｆ−Ａ２０１０と判断される。
【００４９】
次に、ステップＳ４０６では、ＭＩＢ３０１は、ステップＳ４０５で判断したネットワークＩ／Ｆに対応するｉｆＩｎｄｅｘの値が１であるものとして、ＭＩＢ値を生成する。ステップＳ４０５でＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０であることから、取得対象のＭＩＢオブジェクトはｉｆＰｈｙｓＡｄｄｒｅｓｓである。それゆえ、ＭＩＢ３０１は、ネットワークＩ／Ｆ−Ａ２０１０に対応するｉｆＰｈｙｓＡｄｄｒｅｓｓの値、即ちネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスの値をネットワークドライバＡ３０４から取得する。そして、ネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスの値を、ＳＮＭＰ３０２から問い合わせを受けたＭＩＢ（1.3.6.1.2.1.2.2.1.6.1）の値としてＳＮＭＰ３０２に返信する。ここで返信したＳＮＭＰ応答のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図６に示す。
【００５０】
図６において、値６０１はパケットの送信元ハードウェアアドレスである。ここでは、ネットワークＩ／Ｆ−Ａ２０１０からパケットが送出されているため、ネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスになっている。値６０２は送信元ＩＰアドレスであり、ネットワークＩ／Ｆ−Ａ２０１０に対応付けられているＩＰアドレスである。値６０３は、応答したＳＮＭＰプロトコルに含まれる、応答対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。この値は取得要求を受けた値と同値であり、図５に示す値５０３と同値である。
【００５１】
値６０４は値６０３のＭＩＢの値である。このＭＩＢはｉｆＰｈｙｓＡｄｄｒｅｓｓである。ここでは、ステップＳ４０１にてｉｆＩｎｄｅｘが１で指定されているため、ハードウェアアドレスの値はステップＳ４０１でＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦであるネットワークＩ／Ｆ−Ａ２０１０の値である。これにより、ＭＦＰ１０１が受けたＭＩＢ取得要求の中で、ＭＩＢがｉｆＩｎｄｅｘの値として１を含むものであった場合、取得要求を受けたネットワークＩ／Ｆの情報をｉｆＩｎｄｅｘの値を１として返信することが可能になる。
【００５２】
ステップＳ４０７では、ＭＩＢ３０１は、ｉｆＩｎｄｅｘの加工を考慮しないＭＩＢ値の生成を行なう。ステップＳ４０７を行なう条件は次の２つのいずれかであった場合である。１）指定されたオブジェクトＩＤとＩｎｄｅｘの組み合わせがｉｆＩｎｄｅｘを含まない場合、即ちステップＳ４０３でＮＯであった場合である。２）指定されたオブジェクトＩＤとＩｎｄｅｘの組み合わせがｉｆＩｎｄｅｘを含むが、ｉｆＩｎｄｅｘの値が１以外であった場合、即ちステップＳ４０４でＮＯであった場合である。この２つの場合には、指定された本来のＭＩＢ値を返す。ＭＩＢ３０１は、ステップＳ４０２でＳＮＭＰ３０２から受信したオブジェクトＩＤとＩｎｄｅｘに対応するＭＩＢ値をＳＮＭＰ３０２に返信する。
【００５３】
ステップＳ４０８では、ＳＮＭＰ３０２は、ＭＩＢ３０１から返信されたＭＩＢ値をＳＮＭＰプロトコルを利用して要求元の外部装置に送信して、ステップＳ４０１へ戻る。
【００５４】
次に、ネットワークＩ／Ｆ−Ｂ２０１１にＳＮＭＰのＭＩＢ情報の取得要求を受信した場合の動作について説明する。なお、上述したステップＳ４０１〜Ｓ４０８と同様の処理を行う場合には、その説明の一部を省略する。
【００５５】
ステップＳ４０１では、上述したステップＳ４０１と同様に、ＳＮＭＰ３０２は、外部装置からのＳＮＭＰの取得要求を待ち受ける。ＳＮＭＰ３０２がＳＮＭＰのＭＩＢ情報の取得要求を受信した場合、ステップＳ４０２へと移行する。ＭＦＰ１０１がネットワークＩ／Ｆ−Ｂ２０１１で受信したＳＮＭＰの取得要求のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図７に示す。
【００５６】
図７において、値７０１はデータリンク層の送信先ハードウェアアドレスを示している。この値はネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスである。値７０２はインターネット層に含まれる送信先ＩＰアドレスを示している。この値はネットワークＩ／Ｆ−Ｂ２０１１に対応付けられたＩＰアドレスである。値５０３は、ＳＮＭＰプロトコルに含まれる、取得要求の対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。本オブジェクトＩＤの意味についてはステップＳ４０３で説明する。ここでは、このようなパケットを受信したものとする。
【００５７】
図４に戻り、ステップＳ４０２では、上述したステップＳ４０２と同様に、ＳＮＭＰ３０２は、ＳＮＭＰ取得要求で指定されたＭＩＢ値をＭＩＢ３０１に要求する処理を行なう。
【００５８】
次に、ステップＳ４０３では、上述したステップＳ４０３と同様に、ＭＩＢ３０１は、ステップＳ４０２で受信したＭＩＢ値の取得要求について、ＩｎｄｅｘとしてｉｆＩｎｄｅｘが含まれているか否かを判定する。指定されたＭＩＢがｉｆＩｎｄｅｘを含まないものであった場合には、ステップＳ４０７へと移行する。一方、指定されたＭＩＢがｉｆＩｎｄｅｘを含むものであった場合には、ステップＳ４０４へ移行する。
【００５９】
ステップＳ４０４では、上述したステップＳ４０４と同様に、ＭＩＢ３０１は、ステップＳ４０２で受信したＭＩＢ値の取得要求について、ｉｆＩｎｄｅｘの値が１であるか否かを判定する。ｉｆＩｎｄｅｘの値が１でなかった場合は、ステップＳ４０７へ移行する一方、ｉｆＩｎｄｅｘの値が１であった場合は、ステップＳ４０５へ移行する。
【００６０】
ステップＳ４０５では、ＭＩＢ３０１は、ステップＳ４０１で外部装置からＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／Ｆを確認する。ここでは、上述と同様に、ＭＩＢ３０１が、ステップＳ４０２にてＳＮＭＰ３０２から受け取ったインターフェイス情報に基づいて、ネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０か、ネットワークＩ／Ｆ−Ｂ２０１１かを判断する。ここではネットワークＩ／Ｆ−Ｂ２０１１と判断される。
【００６１】
次に、ステップＳ４０６では、上述したステップＳ４０６と同様に、ＭＩＢ３０１は、ステップＳ４０５で判断したネットワークＩ／Ｆに対応するｉｆＩｎｄｅｘの値が１であるものとして、ＭＩＢ値を生成する。ステップＳ４０５でＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ｂ２０１１であることから、取得対象のＭＩＢオブジェクトはｉｆＰｈｙｓＡｄｄｒｅｓｓである。それゆえ、ＭＩＢ３０１は、ネットワークＩ／Ｆ−Ｂ２０１１に対応するｉｆＰｈｙｓＡｄｄｒｅｓｓの値、即ちネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスの値をネットワークドライバＢ３０５から取得する。そして、ネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスの値を、ＳＮＭＰ３０２から問い合わせを受けたＭＩＢ（1.3.6.1.2.1.2.2.1.6.1）の値としてＳＮＭＰ３０２に返信する。ここで返信したＳＮＭＰ応答のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図８に示す。
【００６２】
図８において、値８０１はパケットの送信元ハードウェアアドレスである。ここでは、ネットワークＩ／Ｆ−Ｂ２０１１からパケットが送出されているため、ネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスになっている。値８０２は送信元ＩＰアドレスであり、ネットワークＩ／Ｆ−Ｂ２０１１に対応付けられているＩＰアドレスである。値８０３は、応答したＳＮＭＰプロトコルに含まれる、応答対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。この値は取得要求を受けた値と同値であり、図７に示す値７０３と同値である。
【００６３】
値８０４は値８０３のＭＩＢの値である。このＭＩＢはｉｆＰｈｙｓＡｄｄｒｅｓｓである。ここでは、ステップＳ４０１にてｉｆＩｎｄｅｘが１で指定されているため、ハードウェアアドレスの値はステップＳ４０１でＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦであるネットワークＩ／Ｆ−Ｂ２０１１の値である。このようにすることにより、ＭＦＰ１０１が受けたＭＩＢ取得要求の中で、ＭＩＢがｉｆＩｎｄｅｘの値として１を含むものであった場合、取得要求を受けたネットワークＩ／Ｆの情報をｉｆＩｎｄｅｘの値を１として返信することが可能になる。
【００６４】
ステップＳ４０７では、上述したステップＳ４０７と同様に、ＭＩＢ３０１は、ｉｆＩｎｄｅｘの加工を考慮しないＭＩＢ値の生成を行なう。
【００６５】
ステップＳ４０８では、ＳＮＭＰ３０２は、ＭＩＢ３０１から返信されたＭＩＢ値をＳＮＭＰプロトコルを利用して要求元の外部装置に送信して、ステップＳ４０１に戻る。
【００６６】
上記処理により、ＭＦＰ１０１は、外部装置から受信したＳＮＭＰプロトコルによるＭＩＢの情報取得要求に対して情報の応答を行う。
【００６７】
上記第１の実施形態によれば、ＭＦＰ１０１が外部装置から受信したＭＩＢ取得要求にＩｆＩｎｄｅｘが含まれ、且つその値が１として指定されている場合、受信したネットワークＩ／ＦのｉｆＩｎｄｅｘが１であるものとして応答することが可能となる。例えば、ＭＩＢが1.3.6.1.2.1.2.2.1.6.1で、ＭＩＢ取得要求をネットワークＩ／Ｆ−Ａ２０１０で受信した場合には、ネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスを返信する。一方、ネットワークＩ／Ｆ−Ｂ２０１１で受信した場合にはネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスを返信する。これにより、外部装置が期待しているネットワークＩ／Ｆの情報、即ち外部装置とＭＦＰ１０１とが実際に通信しているＭＦＰ１０１のネットワークＩ／Ｆの情報を返すことが可能になる。その結果、ｉｆＩｎｄｅｘの値を１固定で取得するＳＮＭＰ−Ｍａｎａｇｅｒに対して好ましい情報を返信することが可能となる。実際に外部装置と通信を行っているネットワークＩ／Ｆと外部装置に指定されたネットワークＩ／Ｆとが異なる場合でも、外部装置が要求するＭＩＢ情報を適切に返信することができる。
【００６８】
［第２の実施の形態］
本発明の第２の実施形態の画像形成装置は、その構成（図１及び図２）が上記第１の実施形態における画像形成装置と同じであり、それらの説明については省略する。
【００６９】
第２の実施形態における画像形成装置は、ＭＩＢを、ネットワークＩ／Ｆ−Ａ２０１０に対応する第１のＭＩＢとネットワークＩ／Ｆ−Ｂ２０１１に対応する第２のＭＩＢとに分けて構成している点が第１の実施形態における画像形成装置と異なる。
【００７０】
図９は、第２の実施形態におけるＭＦＰ１０１の通信機能に関するソフトウェア構成を示すブロック図である。なお、同図では、本発明に関わる主要部分のみを例示しており、一部にハードウェアを含むものとする。
【００７１】
第１のＭＩＢ９０１と第２のＭＩＢ９１１は、それぞれが、ＭＩＢのデータベース本体と、当該データベース本体を構築するためのソフトウェアとの集合体を指す。第１のＭＩＢ９０１と第２のＭＩＢ９１１は、それぞれが、ＭＦＰ１０１の各種情報を収集することで内部的にデータベースを構築し、後述のＳＮＭＰ９０２から指定されたオブジェクトＩＤとＩｎｄｅｘの値に対応したＭＩＢの値を応答する。第１のＭＩＢ９０１と第２のＭＩＢ９１１は、それぞれが標準ＭＩＢ（ＭＩＢ２）を持っているものとする。
【００７２】
第１のＭＩＢ９０１及び第２のＭＩＢ９１１の役割と両者の差異は次の通りである。第１のＭＩＢ９０１は、ネットワークＩ／Ｆ−Ａ２０１０によって受信したＭＩＢ取得要求に応答するためのＭＩＢのデータベースである。第２のＭＩＢ９１１は、ネットワークＩ／Ｆ−Ｂ２０１１によって受信したＭＩＢ取得要求に応答するためのＭＩＢのデータベースである。
【００７３】
両者の差異としては、第１のＭＩＢ９０１は、ｉｆＩｎｄｅｘの１番目がネットワークＩ／Ｆ−Ａであり、２番目がネットワークＩ／Ｆ−Ｂ２０１１である。一方、第２のＭＩＢ９１１は、ｉｆＩｎｄｅｘの１番目がネットワークＩ／Ｆ−Ｂ２０１１であり、２番目がネットワークＩ／Ｆ−Ａ２０１１である。両者のＭＩＢの構成を可視化したものを図１０に示す。図１０は、第１のＭＩＢ９０１及び第２のＭＩＢ９１１のＭＩＢ情報の構成を可視化したものであり、標準ＭＩＢ（ＭＩＢ２）の一部のＭＩＢ値を示したものである。
【００７４】
図１０において、部位１００１は、第１のＭＩＢ９０１のＭＩＢ値を表している。また、部位１００２は、第２のＭＩＢ９１１のＭＩＢ値を表している。ここで部位１００１と部位１００２とを比較することによって、第１のＭＩＢ９０１と第２のＭＩＢ９１１とでｉｆＩｎｄｅｘの順序が逆であることが分かる。
【００７５】
図９に戻り、ＳＮＭＰ９０２は、ＳＮＭＰプロトコルのＡｇｅｎｔである。ＳＮＭＰ９０２は、ネットワークＩ／Ｆ−Ａ２０１０又はネットワークＩ／Ｆ−Ｂ２０１１が受信したＳＮＭＰのリクエストパケットに基づき、オブジェクトＩＤとＩｎｄｅｘの値に対応したＭＩＢの値を第１のＭＩＢ９０１又は第２のＭＩＢ９１１に問い合わせる。問い合わせ先となるＭＩＢは、ネットワークＩ／Ｆ−Ａ２０１０で受信したリクエストであれば第１のＭＩＢ９０１に問い合わせ、ネットワークＩ／Ｆ−Ｂ２０１１で受信したリクエストであれば第２のＭＩＢ９１１に問い合わせる。そして、第１のＭＩＢ９０１又は第２のＭＩＢ９１１からのＭＩＢ値の応答を受信し、ＳＮＭＰパケットを作成して要求元の外部装置に送信する。
【００７６】
プロトコルスタック９０３は、ＩＰプロトコルの通信機能を司るプロトコルスタックであり、ＯＳに標準的に備わっているものである。ネットワークドライバＡ９０４は、ネットワークＩ／Ｆ−Ａ２０１０を制御するデバイスドライバである。ネットワークドライバＢ９０５は、ネットワークＩ／Ｆ−Ｂ２０１１を制御するためのデバイスドライバである。
【００７７】
上述した第１のＭＩＢ９０１〜第２のＭＩＢ９１１及びネットワークＩ／Ｆ−Ａ２０１０、ネットワークＩ／Ｆ−Ｂ２０１１のソフトウェア群は、通常はＨＤＤ２００４に格納されており、ＲＡＭ２００２に適宜ロードされ、ＣＰＵ２００１によって実行される。また、第１のＭＩＢ９０１〜ＳＮＭＰ９０２及び第２のＭＩＢ９１１は、ＯＳ上のアプリケーションスペースで動作する。プロトコルスタック９０３〜ネットワークドライバＢ９０５及びネットワークＩ／Ｆ−Ａ２０１０、ネットワークＩ／Ｆ−Ｂ２０１１は、カーネルスペースで動作している。
【００７８】
なお、上述したソフトウェアが動作するためのＯＳや、その他の複合機の機能を実現するソフトウェア群も、ＨＤＤ２００４に格納されており、必要に応じてロード及び実行される構成となっている。
【００７９】
また、本実施形態では、ネットワークＩ／Ｆ−Ａ２０１０に対応付けられるＩＰアドレスを172.24.176.168とし、ハードウェアアドレスを000085D6E2B1とする。また、ネットワークＩ／Ｆ−Ｂ２０１１に対応付けられるＩＰアドレスを192.168.1.100とし、ハードウェアアドレスを000085112233とする。
【００８０】
次に、第２の実施形態における、ＳＮＭＰのリクエストを受信した場合のＭＦＰ１０１の動作について図１１を用いて説明する。
【００８１】
図１１は、第２の実施形態におけるＭＦＰ１０１のＳＮＭＰリクエスト受信時の動作処理の一例を示すフローチャートである。
【００８２】
最初に、ネットワークＩ／Ｆ−Ａ２０１０にＳＮＭＰのＭＩＢ情報の取得要求を受信した場合の動作について説明する。
【００８３】
ステップＳ１１０１では、ＳＮＭＰ９０２は、外部装置からのＳＮＭＰの取得要求を待ち受ける。ＳＮＭＰの取得要求とは、Ｇｅｔ−ＲｅｑｕｅｓｔメッセージやＧｅｔＮｅｘｔメッセージなどの、ＳＮＭＰ−ＭａｎａｇｅｒがＳＮＭＰ−Ａｇｅｎｔに対してＭＩＢ値の取得を要求するためのＳＮＭＰメッセージのことである。
【００８４】
ステップＳ１１０１において、ＳＮＭＰ９０２がＳＮＭＰのＭＩＢ情報の取得要求を受信した場合、ステップＳ１１０２へと移行する。ＭＦＰ１０１がネットワークＩ／Ｆ−Ａ２０１０で受信したＳＮＭＰの取得要求のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図１２に示す。
【００８５】
図１２において、値１２０１はデータリンク層の送信先ハードウェアアドレスを示している。この値はネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスである。値１２０２はインターネット層に含まれる送信先ＩＰアドレスを示している。この値はネットワークＩ／Ｆ−Ａ２０１０に対応付けられたＩＰアドレスである。値１２０３は、ＳＮＭＰプロトコルに含まれる、取得要求の対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6（ifPhysAddress）であり、Ｉｎｄｅｘが１である。ここでは、このようなパケットを受信したものとする。
【００８６】
図１１に戻り、ステップＳ１１０２では、ＳＮＭＰ９０２は、ステップＳ１１０１で受信したＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａか否かを判定する。ここでは、ＳＮＭＰ９０２が、上述したインターフェイス情報に基づいて、ＳＮＭＰのＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０か、ネットワークＩ／Ｆ−Ｂ２０１１かを判断する。この判定の結果、ＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０であった場合には、ステップＳ１１０３に移行する。一方、ネットワークＩ／ＦがネットワークＩ／Ｆ−Ｂ２０１１であった場合には、ステップＳ１１０５へと移行する。ここでは、ネットワークＩ／Ｆ−Ａ２０１０から取得要求を受信しているので、ステップＳ１１０３に移行する。
【００８７】
ステップＳ１１０３では、ＳＮＭＰ９０２は、第１のＭＩＢ９０１に対して取得要求で指定されたＭＩＢ値を要求する処理を行なう。ＳＮＭＰ９０２は第１のＭＩＢ９０１に対して、ステップＳ１１０１で受信したＳＮＭＰ取得要求で指定されたオブジェクトＩＤ及びＩｎｄｅｘ値を第１のＭＩＢ９０１に渡し、対応するＭＩＢ値を要求する。
【００８８】
次に、ステップＳ１１０４では、第１のＭＩＢ９０１は、指定されたＭＩＢに対応する値を生成し、ＳＮＭＰ９０２に返信する処理を行なう。ここでは、指定されたＭＩＢは1.3.6.1.2.1.2.2.1.6.1である。第１のＭＩＢ９０１で定義された1.3.6.1.2.1.2.2.1.6.1の値は、図１０に示す部位１００１に示されているように、000085D6E2B1である。即ち、ＭＩＢ情報の取得要求を受信したネットワークＩ／Ｆ−Ａ２０１０である。
【００８９】
ステップＳ１１０７では、ＳＮＭＰ９０２は、第１のＭＩＢ９０１から返信されたＭＩＢ値をＳＮＭＰプロトコルとして要求元の外部装置に送信する。
【００９０】
上記処理によって、ＭＦＰ１０１は、外部装置から受信したＳＮＭＰプロトコルによるＭＩＢの情報取得要求に対して情報の応答を行う。ここで返信したＳＮＭＰ応答のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図１３に示す。
【００９１】
図１３において、値１３０１はパケットの送信元ハードウェアアドレスである。ここではネットワークＩ／Ｆ−Ａ２０１０からパケットが送出されているため、ネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスになっている。値１３０２は送信元ＩＰアドレスであり、ネットワークＩ／Ｆ−Ａ２０１０に対応付けられているＩＰアドレスである。値１３０３は、応答したＳＮＭＰプロトコルに含まれる、応答対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。この値は取得要求を受けた値と同値であり、図１２に示す値１２０３と同値である。
【００９２】
値１３０４は値１３０３のＭＩＢの値である。このＭＩＢはｉｆＰｈｙｓＡｄｄｒｅｓｓ．１であり、ここでは参照したＭＩＢが第１のＭＩＢ９０１でありＭＩＢのｉｆＰｈｙｓＡｄｄｒｅｓｓ．１はネットワークＩ／Ｆ−Ａ２０１０のハードウェアアドレスの値である。
【００９３】
次に、ネットワークＩ／Ｆ−Ｂ２０１１にＳＮＭＰのＭＩＢ情報の取得要求を受信した場合の動作について説明する。なお、上述したステップＳ１１０１〜Ｓ１１０７と同様の処理を行う場合には、その説明の一部を省略する。
【００９４】
ステップＳ１１０１では、ＳＮＭＰ９０２は、外部装置からのＳＮＭＰの取得要求を待ち受ける。ＳＮＭＰ９０２がＳＮＭＰのＭＩＢ情報の取得要求を受信した場合、ステップＳ１１０２へと移行する。ＭＦＰ１０１がネットワークＩ／Ｆ−Ｂ２０１１で受信したＳＮＭＰの取得要求のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図１４に示す。
【００９５】
図１４において、値１４０１はデータリンク層の送信先ハードウェアアドレスを示している。この値はネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスである。値１４０２はインターネット層に含まれる送信先ＩＰアドレスを示している。この値はネットワークＩ／Ｆ−Ｂ２０１１に対応付けられたＩＰアドレスである。値１４０３は、ＳＮＭＰプロトコルに含まれる、取得要求の対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6（ifPhysAddress）であり、Ｉｎｄｅｘが１である。ここでは、このようなパケットを受信したものとする。
【００９６】
図１１に戻り、ステップＳ１１０２では、上述したステップＳ１１０２と同様に、ＳＮＭＰ９０２は、ステップＳ１１０１で受信したＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａか否かを判定する。この判定の結果、ＭＩＢ情報の取得要求を受信したネットワークＩ／ＦがネットワークＩ／Ｆ−Ａ２０１０であった場合には、ステップＳ１１０３に移行する。一方、ネットワークＩ／ＦがネットワークＩ／Ｆ−Ｂ２０１１であった場合には、ステップＳ１１０５へと移行する。ここでは、ネットワークＩ／Ｆ−Ｂ２０１１から取得要求を受信しているので、ステップＳ１１０５に移行する。
【００９７】
ステップＳ１１０５では、ＳＮＭＰ９０２は、第２のＭＩＢ９１１に対して取得要求で指定されたＭＩＢ値を要求する処理を行なう。ＳＮＭＰ９０２は第２のＭＩＢ９１１に対して、ステップＳ１１０１で受信したＳＮＭＰ取得要求で指定されたオブジェクトＩＤ及びＩｎｄｅｘ値を第２のＭＩＢ９１１に渡し、対応するＭＩＢ値を要求する。
【００９８】
ステップＳ１１０６では、第２のＭＩＢ９１１は、指定されたＭＩＢに対応する値を生成し、ＳＮＭＰ９０２に返信する処理を行なう。ここでは、指定されたＭＩＢは1.3.6.1.2.1.2.2.1.6.1である。第２のＭＩＢ９１１で定義された1.3.6.1.2.1.2.2.1.6.1の値は、図１０に示す部位１００２に示されているように、000085112233である。即ち、ＭＩＢ情報の取得要求を受信したネットワークＩ／Ｆ−Ｂ２０１１である。
【００９９】
ステップＳ１１０７では、ＳＮＭＰ９０２は、第２のＭＩＢ９１１から返信されたＭＩＢ値をＳＮＭＰプロトコルとして要求元の外部装置に送信する。
【０１００】
上記処理によって、ＭＦＰ１０１は、外部装置から受信したＳＮＭＰプロトコルによるＭＩＢの情報取得要求に対して情報の応答を行う。ここで返信したＳＮＭＰ応答のネットワークパケットの内容をプロトコル階層の観点で可視化したものを図１５に示す。
【０１０１】
図１５において、値１５０１はパケットの送信元ハードウェアアドレスである。ここではネットワークＩ／Ｆ−Ｂ２０１１からパケットが送出されているため、ネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスになっている。値１５０２は送信元ＩＰアドレスであり、ネットワークＩ／Ｆ−Ｂ２０１１に対応付けられているＩＰアドレスである。値１５０３は、応答したＳＮＭＰプロトコルに含まれる、応答対象となるＭＩＢのオブジェクトＩＤ及びＩｎｄｅｘを示している。ここでは、オブジェクトＩＤが1.3.6.1.2.1.2.2.1.6であり、Ｉｎｄｅｘが１である。この値は取得要求を受けた値と同値であり、図１４に示す値１４０３と同値である。
【０１０２】
値１５０４は値１５０３のＭＩＢの値である。このＭＩＢはｉｆＰｈｙｓＡｄｄｒｅｓｓ．１であり、ここでは参照したＭＩＢが第２のＭＩＢ９１１でありＭＩＢのｉｆＰｈｙｓＡｄｄｒｅｓｓ．１はネットワークＩ／Ｆ−Ｂ２０１１のハードウェアアドレスの値である。
【０１０３】
第２の実施形態では、ネットワークＩ／Ｆ−Ａ２０１０でＭＩＢの取得要求を受けた場合に参照する第１のＭＩＢ９０１と、ネットワークＩ／Ｆ−Ｂ２０１１でＭＩＢの取得要求を受けた場合に参照する第２のＭＩＢ９１１の２つをＭＦＰ１０１に用意する。そして、ｉｆＩｎｄｅｘの１番目の情報がネットワークＩ／Ｆ−Ａ２０１０の情報になるように第１のＭＩＢ９０１を構成し、ｉｆＩｎｄｅｘの１番目の情報がネットワークＩ／Ｆ−Ｂ２０１１の情報になるように第２のＭＩＢ９１１を構成している。そうすることによって、ネットワークＩ／Ｆ−Ａ２０１０でＭＩＢの取得要求を受けた場合にはｉｆＩｎｄｅｘとして１が指定された場合にネットワークＩ／Ｆ−Ａ２０１０の情報を返すことが可能になる。加えてネットワークＩ／Ｆ−Ｂ２０１１でＭＩＢの取得要求を受けた場合にはｉｆＩｎｄｅｘとして１が指定された場合にネットワークＩ／Ｆ−Ｂ２０１１の情報を返すことが可能になる。それゆえ、ｉｆＩｎｄｅｘの値を１固定で取得するＳＮＭＰ-Ｍａｎａｇｅｒに対して好ましい情報を返信することが可能となる。実際に外部装置と通信を行っているネットワークＩ／Ｆと外部装置に指定されたネットワークＩ／Ｆとが異なる場合でも、外部装置が要求するＭＩＢ情報を適切に返信することができる。
【０１０４】
上記第１及び第２の実施形態では、本発明を画像形成装置であるＭＦＰ１０１に適用した形態について説明したが、これに限定されるものではなく、通信装置や通信機能を有する情報処理装置、端末等であってもよいことは云うまでもない。
【０１０５】
また、ＭＦＰ１０１は、ＬＡＮ−Ａ１１０やＬＡＮ−Ｂ１２０の有線ネットワークに接続されていたが、無線通信機能を備え、異なる無線通信方式により複数のネットワークに接続可能な構成であっても、本発明を実現可能である。
【０１０６】
本発明の実施の形態は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【符号の説明】
【０１０７】
１０１  ＭＦＰ
１１０  ＬＡＮ−Ａ
１２０  ＬＡＮ−Ｂ
１１１，１２１  ＳＮＭＰ−Ｍａｎａｇｅｒ
３０１  ＭＩＢ
３０２  ＳＮＭＰ
３０３  プロトコルスタック
３０４  ネットワークドライバＡ
３０５  ネットワークドライバＢ
【図１】
0005383415.tif 000002
【図２】
0005383415.tif 000003
【図３】
0005383415.tif 000004
【図４】
0005383415.tif 000005
【図５】
0005383415.tif 000006
【図６】
0005383415.tif 000007
【図７】
0005383415.tif 000008
【図８】
0005383415.tif 000009
【図９】
0005383415.tif 000010
【図１０】
0005383415.tif 000011
【図１１】
0005383415.tif 000012
【図１２】
0005383415.tif 000013
【図１３】
0005383415.tif 000014
【図１４】
0005383415.tif 000015
【図１５】
0005383415.tif 000016