(57)【要約】【課題】情報処理装置が省電力モード時に外部装置から定期的に要求を受信するような環境下においても、省電力モードを維持することを目的とする。【解決手段】制御部と通信部とを備え、電力モードに応じて各部位の動作を制御する情報処理装置であって、前記通信部は、前記制御部が管理する前記情報処理装置の管理情報の少なくとも一部を保持する保持手段と、第一の電力モードである際に、外部装置からの要求に応じて、前記制御部の代わりに前記保持手段にて保持する管理情報を用いて応答する応答手段とを有し、前記保持手段にて保持される管理情報は、第一の管理項目と当該第一の管理項目の値とが、第二の管理項目に対応づけて保持され、前記応答手段は、前記外部装置からの要求が第一の種別の取得要求であり、かつ、当該取得要求にて指定された管理項目が前記第二の管理項目に一致する場合、前記第一の管理項目と当該第一の管理項目の値とを用いて応答する。【選択図】  図１０
2015220676.tif 000002
【特許請求の範囲】
【請求項１】
制御部と通信部とを備え、電力モードに応じて各部位の動作を制御する情報処理装置であって、
前記通信部は、
前記制御部が管理する前記情報処理装置の管理情報の少なくとも一部を保持する保持手段と、
第一の電力モードである際に、外部装置からの要求に応じて、前記制御部の代わりに前記保持手段にて保持する管理情報を用いて応答する応答手段と
を有し、
前記保持手段にて保持される管理情報は、第一の管理項目と当該第一の管理項目の値とが、第二の管理項目に対応づけて保持され、
前記応答手段は、前記外部装置からの要求が第一の種別の取得要求であり、かつ、当該取得要求にて指定された管理項目が前記第二の管理項目に一致する場合、前記第一の管理項目と当該第一の管理項目の値とを用いて応答することを特徴とする情報処理装置。
【請求項２】
前記応答手段は、前記外部装置からの要求が第二の種別の取得要求であり、かつ、当該取得要求にて指定された管理項目が前記第一の管理項目に一致する場合、前記第一の管理項目と当該第一の管理項目の値とを用いて応答することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通信部は、前記外部装置からの要求にて指定された管理項目が、前記保持手段にて保持されていない場合、第二の電力モードに移行させ、当該要求に対し前記制御部により応答させる制御手段を更に有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第一の電力モードは、前記制御部には電力を供給せず、前記通信部には電力を供給するモードであり、
前記第二の電力モードは、前記制御部および前記通信部に電力を供給するモードである
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第一の電力モードは、消費電力が前記第二の電力モードよりも小さいことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記保持手段は更に、前記第二の電力モードへの移行を要する要求に関する第一の情報を保持し、
前記制御手段は、前記第一の情報に該当する要求を受信した場合、前記第一の電力モードから前記第二の電力モードへ移行させることを特徴とする請求項３乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記保持手段は更に、前記通信部が応答する要求の種別を示す第二の情報を保持し、
前記応答手段は更に、前記外部装置からの要求が前記第一および第二の情報のいずれにも該当しない場合、当該要求を破棄することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記保持手段にて保持される管理情報において、第一の管理項目と当該第一の管理項目の値とに対応づけられる第二の管理項目は、１または複数であることを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記制御部は、前記通信部の保持手段が保持する管理情報を生成する生成手段を更に有することを特徴とする請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記生成手段は、前記情報処理装置が起動された際に生成を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記保持手段にて保持される管理情報は、前記情報処理装置に実装されていない機能に関する管理項目を含み、
前記応答手段は、前記外部装置からの要求が前記情報処理装置に実装されていない機能に関する管理項目の取得要求である場合、実装されていない旨の情報を応答することを特徴とする請求項１乃至１０のいずれか一項に記載の情報処理装置。
【請求項１２】
前記第一の種別の取得要求は、ＳＮＭＰにおけるＧｅｔＮｅｘｔＲｅｑｕｅｓｔであり、
前記第二の種別の取得要求は、ＳＮＭＰにおけるＧｅｔＲｅｑｕｅｓｔである
ことを特徴とする請求項２に記載の情報処理装置。
【請求項１３】
前記管理情報は、ＭＩＢであり、
前記管理情報の管理項目は、ＭＩＢのオブジェクトＩＤであることを特徴とする請求項１乃至１２のいずれか一項に記載の情報処理装置。
【請求項１４】
制御部と通信部とを備え、電力モードに応じて各部位の動作を制御する情報処理装置の制御方法であって、
前記通信部において、
前記制御部が管理する前記情報処理装置の管理情報の少なくとも一部を記憶部に保持する保持工程と、
第一の電力モードである際に、外部装置からの要求に応じて、前記制御部の代わりに前記保持工程にて保持される管理情報を用いて応答する応答工程と
を有し、
前記保持工程にて保持される管理情報は、第一の管理項目と当該第一の管理項目の値とが、第二の管理項目に対応づけて保持され、
前記応答工程において、前記外部装置からの要求が第一の種別の取得要求であり、かつ、当該取得要求にて指定された管理項目が前記第二の管理項目に一致する場合、前記第一の管理項目と当該第一の管理項目の値とを用いて応答することを特徴とする情報処理装置の制御方法。
【請求項１５】
コンピュータを、請求項１乃至１３のいずれか一項に記載の情報処理装置の各手段として実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
プリンタやデジタル複合機などの情報処理装置において、消費電力を低減させたいという要求が高まっている。この要求に対して、例えば情報処理装置が所定時間動作していない場合に、情報処理装置を通常電力モードから省電力モードに移行させる技術が知られている。
【０００３】
省電力モードを維持するための技術として、例えば特許文献１、２が挙げられる。特許文献１では、通常運転時と省電力時の制御部を備える情報処理装置が記載されている。通常電力モードの場合には外部装置からの受信パケットに対して通常運転時の制御部が応答し、省電力モードの場合には受信パケットに対して通常運転時の制御部の代わりに省電力時の制御部が応答（代理応答）する。外部装置が定期的に送信する要求に対して省電力時の制御部が応答するため、情報処理装置は省電力モードを維持することができ、情報処理装置全体の消費電力を低減することができる。
【０００４】
外部装置が定期的に送信する要求のパケットとして、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）によるステータス取得要求が挙げられる。ＳＮＭＰは、外部装置が、ネットワーク上の情報処理装置の情報を取得するために利用される。ＳＮＭＰによる取得要求に応答する側の機器であるＳＮＭＰエージェントは、自装置の機器情報をＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）というツリー構造のデータベースで管理している。ＭＩＢの各エントリはオブジェクトＩＤ（以後、ＯＩＤと呼ぶ）という一意の識別子で管理されている。ＳＮＭＰにおいては、指定したＯＩＤに紐づく情報を要求するＧｅｔＲｅｑｕｅｓｔコマンドや、指定したＯＩＤの次に位置するＯＩＤとそれに紐づく情報とを要求するＧｅｔＮｅｘｔＲｅｑｕｅｓｔコマンドなどがある。特許文献２では、ＧｅｔＲｅｑｕｅｓｔコマンドのステータス要求に対して代理応答すべきＯＩＤを決定し、決定したＯＩＤとそれに紐づく情報を通信部に持たせることで、ＳＮＭＰのＧｅｔＲｅｑｕｅｓｔに対して代理応答することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２５９９０６号公報
【特許文献２】特開２０１２−２２７７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献２の技術では、通信部はＯＩＤとそれに紐づく情報のみを保持しており、そのＯＩＤが情報処理装置の管理するＭＩＢツリー上のどこに位置するかの情報は持っていない。そのため、通信部は予め登録されているＯＩＤに対するＧｅｔＲｅｑｕｅｓｔコマンドにしか応答できず、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔコマンドに対して通信部が応答することができない。また、通信部は、情報処理装置が実装していないＯＩＤの情報を持たないので、そのようなＯＩＤに対するＧｅｔＲｅｑｕｅｓｔコマンドに対して通信部はエラー応答することが出来ない。そのため、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔコマンドによるステータス要求や、情報処理装置が実装していないＯＩＤに対するステータス要求を受けた場合、情報処理装置が省電力モードから通常電力モードに移行しなければならない。その結果、消費電力を低減するという省電力モードの恩恵を十分に得ることができないという課題がある。
【０００７】
本発明は上記の点に鑑み、外部装置から要求を受信した場合でも、情報処理装置の省電力モードを維持することを可能とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、制御部と通信部とを備え、電力モードに応じて各部位の動作を制御する情報処理装置であって、前記通信部は、前記制御部が管理する前記情報処理装置の管理情報の少なくとも一部を保持する保持手段と、第一の電力モードである際に、外部装置からの要求に応じて、前記制御部の代わりに前記保持手段にて保持する管理情報を用いて応答する応答手段とを有し、前記保持手段にて保持される管理情報は、第一の管理項目と当該第一の管理項目の値とが、第二の管理項目に対応づけて保持され、前記応答手段は、前記外部装置からの要求が第一の種別の取得要求であり、かつ、当該取得要求にて指定された管理項目が前記第二の管理項目に一致する場合、前記第一の管理項目と当該第一の管理項目の値とを用いて応答する。
【発明の効果】
【０００９】
本発明によれば、外部装置から要求を受信した場合でも情報処理装置の省電力モードを維持することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの構成例を示す図。
【図２】情報処理装置のハードウェア構成の例を示す図。
【図３】情報処理装置の電源構成の例を示す図。
【図４】ＳＮＭＰメッセージのデータ構造の一例を示す図。
【図５】情報処理装置に実装されるＭＩＢの例を示す図。
【図６】情報処理装置における電力モードの移行処理のフローチャート。
【図７】代理応答パターンおよびＷＯＬパターンの例を示す図。
【図８】第一の実施形態に係るＳＮＭＰ応答情報テーブルを示す図。
【図９】第一の実施形態に係るＳＮＭＰ応答情報テーブルの生成処理のフローチャート。
【図１０】第一の実施形態に係る省電力モード時の通信部の処理を示すフローチャート。
【図１１】第二の実施形態に係るＳＮＭＰ応答情報テーブルを示す図。
【図１２】第二の実施形態に係る省電力モード時の通信部の処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜第一の実施形態＞
［システム構成］
図１を用いて本実施形態に係る情報処理システム１００の構成について説明する。情報処理システム１００は、情報処理装置１０１とＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１０２とを備え、情報処理装置１０１とＰＣ１０２はネットワーク１０３を介して互いに接続されている。ＰＣ１０２は、ＳＮＭＰマネージャとして動作し、情報処理装置１０１はＳＮＭＰエージェントとして動作する。なお、図１において、情報処理装置１０１とＰＣ１０２とはそれぞれ１台ずつ示しているが、これに限定するものではなく複数台の装置が情報処理システム１００に含まれる構成であってもよい。この場合、例えば、ＰＣ１０２は、複数の情報処理装置１０１のステータスを管理する管理装置として機能してもよい。
【００１３】
［ハードウェア構成］
図２を用いて情報処理装置１０１のハードウェア構成の例について説明する。本実施形態において、情報処理装置１０１は、コピー機能、プリント機能、スキャン機能、送信機能等を備えるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などのデジタル複合機を例に挙げて説明する。また、情報処理装置１０１は、上述した機能すべてを備える必要はなく、上述した機能のうち少なくとも１つを備えるものであってもよいし、他の機能を更に備えていてもよい。
【００１４】
情報処理装置１０１は、コントローラ２００、通信部２２０、プリンタ２１１、スキャナ２１２、および操作部２１３を備える。コントローラ２００は、ＣＰＵ２０１、ＲＯＭ２０３、ＲＡＭ２０４、ＨＤＤ２０５、画像処理部２０６、プリンタＩ／Ｆ２０７、スキャナＩ／Ｆ２０８、操作部Ｉ／Ｆ２０９、ＮＶＲＡＭ２１０、および電源制御部３００を備える。通信部２２０を除く各ユニットは、バスを介して互いに通信可能に接続される。通信部２２０は、拡張Ｉ／Ｆ２０２、バスを介してコントローラ２００の各ユニットと互いに通信可能に接続される。
【００１５】
ＣＰＵ２０１は、ＲＯＭ２０３に記憶された制御プログラムを読み出して、情報処理装置１０１全体の動作を制御する。ＲＡＭ２０４は揮発性の記憶部であり、ＣＰＵ２０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０５は、フォントデータ、エミュレーションプログラム、フォームデータ等の様々な情報を記憶するための記憶領域として用いられる。ＮＶＲＡＭ２１０は不揮発性メモリであり、様々な情報を記憶する。なお、情報処理装置１０１のコントローラ２００は、１つのＣＰＵ２０１が１つの記憶部（ＲＡＭ２０４またはＨＤＤ２０５）を用いて後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵや複数のＲＡＭまたはＨＤＤを協働させて後述するフローチャートに示す各処理を実行させてもよい。
【００１６】
画像処理部２０６は、画像処理を行う部位であり、ＲＡＭ２０４に記憶された画像データを読み出し、ＪＰＥＧ、ＪＢＩＧなどの拡大または縮小および、色調整などの画像処理を行う。プリンタＩ／Ｆ２０７は、コントローラ２００とプリンタ２１１とを接続する。プリンタ２１１は、印刷ジョブやスキャナ２１２が生成した画像データに基づいて印刷処理を実行する。プリンタ２１１で印刷される画像データは、プリンタＩ／Ｆ２０７を介してコントローラ２００からプリンタ２１１に転送される。スキャナＩ／Ｆ２０８は、コントローラ２００とスキャナ２１２とを接続する。スキャナ２１２は、原稿を読み取って画像データを生成する。スキャナ２１２が生成した画像データは、スキャナＩ／Ｆ２０８を介してコントローラ２００に転送される。操作部Ｉ／Ｆ２０９は、コントローラ２００と操作部２１３とを接続する。操作部２１３にはタッチパネル機能を有する液晶表示部やキーボードなどが備えられる。操作部２１３を用いてユーザが入力した情報は、操作部Ｉ／Ｆ２０９を介してコントローラ２００に転送される。電源制御部３００は、ＣＰＵ２０１、通信部２２０から受け付けた指示に基づいて、情報処理装置１０１の各部への電力供給を制御する。電源制御部３００の動作の詳細については後述する。なお、図２では、電源制御部３００はコントローラ２００の内部に備えられる構成となっているがこれに限定するものではない。例えば、電源制御部３００はコントローラ２００とは別の構成として情報処理装置１０１に備えられ、コントローラ２００および通信部２２０に接続されて、電源からの供給電力を制御するようにしてもよい。
【００１７】
次に通信部２２０について説明する。通信部２２０は、ＣＰＵ２２１、拡張Ｉ／Ｆ２２２、ＲＯＭ２２３、ＲＡＭ２２４、ネットワークＩ／Ｆ２２５、およびＮＶＲＡＭ２２７を備える。各ユニットは、バスを介して互いに通信可能に接続される。通信部２２０はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）であり、情報処理装置１０１に着脱可能な構成である。コントローラ２００は、通信部２２０を介してＰＣ１０２などの外部装置と通信可能である。
【００１８】
ＣＰＵ２２１は、ＲＯＭ２２３に記憶された制御プログラムを読み出して通信部２２０の動作を制御する。ＲＡＭ２２４は揮発性の記憶部であり、ＣＰＵ２２１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＮＶＲＡＭ２２７は不揮発性メモリであり、様々な情報を記憶する。なお、情報処理装置１０１の通信部２２０の場合は、１つのＣＰＵ２２１が１つのＲＡＭ２２４を用いて後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵや複数のＲＡＭを協働させて後述するフローチャートに示す各処理を実行するようにしてもよい。ネットワークＩ／Ｆ２２５はネットワーク１０３に接続され、ＰＣ１０２などの外部装置との間でデータの送受信を行う。拡張Ｉ／Ｆ２２２は、コントローラ２００の各ユニットとの通信を行う。
【００１９】
［電源構成および電力モード］
図３は、情報処理装置１０１の電源構成の例の図である。情報処理装置１０１の電源制御部３００は、電力供給ライン３０２を介して電源３０１から供給される交流電源を直流電源に変換し、電力供給ライン３０３、３０４、３０５、３０６、３０７を介して、情報処理装置１０１の各部に直流電源を供給する。電力供給ライン３０３は電力供給ライン３０３、３０４、３０５、３０６、３０７上にはそれぞれ、スイッチ３０８、３０９、３１０、３１１、３１２が設けられる。電源制御部３００は、各スイッチのＯＮ状態からＯＦＦ状態、またはＯＦＦ状態からＯＮ状態の切り替えを制御する。
【００２０】
次に、情報処理装置１０１が有する電力モードについて説明する。本実施形態において、情報処理装置１０１は、通常電力モードと省電力モードの２つの電力モードを有するものとして説明する。なお、本明細書において便宜上、省電力モードを「第一の電力モード」と記載し、通常電力モードを「第二の電力モード」とも記載する。
【００２１】
情報処理装置１０１が通常電力モードで動作する場合、情報処理装置１０１が備える各部に電源制御部３００によって電力が供給される。このとき、スイッチ３０８〜３１２は、ＯＮ状態となる。通常電力モードでは、操作部２１３、画像処理部２０６、プリンタ２１１、スキャナ２１２に対しては常に電力が供給されていてもよい。また、通常電力モードにおいて、画像処理部２０６、プリンタ２１１、スキャナ２１２、操作部２１３のいずれかが使用されていない場合には、スイッチ３１０〜３１２をＯＦＦ状態に切り替え、使用されていないユニットに対する電力の供給を遮断してもよい。つまり、通常電力モードとは、少なくともＲＡＭ２０４、ＣＰＵ２０１、ＲＯＭ２０３、ＨＤＤ２０５、ＮＶＲＡＭ２１０、通信部２２０に対し、電源制御部３００によって電力が供給される電力モードである。
【００２２】
一方、情報処理装置１０１が省電力モードで動作する場合、通信部２２０とＲＡＭ２０４には電源制御部３００によって電力が供給される。しかし、ＣＰＵ２０１、ＲＯＭ２０３、ＨＤＤ２０５、ＮＶＲＡＭ２１０、画像処理部２０６、プリンタ２１１、スキャナ２１２、および操作部２１３への電力供給は遮断される。このとき、スイッチ３０８はＯＮ状態となり、その他のスイッチはＯＦＦ状態となる。通信部２２０とＲＡＭ２０４以外への電力供給が遮断されるため、省電力モードは通常電力モードよりも消費電力が小さい電力モードである。
【００２３】
なお、図３に示す各部位へのスイッチおよび電力供給ラインの構成は一例であり、これに限定するものではない。例えば、他の電力モードを用いる場合には、その電力モードに応じてスイッチの切り替えを行えるようにしても良い。また、各部位の電力供給におけるグループを他の構成にしても構わない。本実施形態では、省電力モード時には、通信部２２０およびＲＡＭ２０４のみに電力が供給されることで情報処理装置１０１全体の消費電力を抑えている。
【００２４】
情報処理装置１０１が省電力モードで動作する場合、ＰＣ１０２等の外部装置から送信されたパケットに対する処理を、コントローラ２００の代わりに通信部２２０が実行する。このとき通信部２２０は、後述するＳＮＭＰ応答情報テーブルを含む代理応答パターンと、ＷＯＬ（Ｗａｋｅ  Ｏｎ  ＬＡＮ）パターンとに基づいて、受信パケットに対する処理を決定する。代理応答パターンおよびＷＯＬパターンについては図７、図８を用いて後述する。
【００２５】
［ＳＮＭＰメッセージのデータ構造例］
図４は、ＳＮＭＰメッセージのデータ構造の一例を示す図である。ＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）４００は、ＳＮＭＰの基本的なデータユニットである。ＰＤＵタイプフィールド４０１は、ＳＮＭＰのコマンドの種別を示すＩＤが設定される領域である。例えば、ＳＮＭＰ  Ｖｅｒｓｉｏｎ１（以下、ＳＮＭＰｖ１）では、ＰＤＵタイプとして、“ＧｅｔＲｅｑｕｅｓｔ”、“ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ”、“ＳｅｔＲｅｑｕｅｓｔ”、“ＧｅｔＲｅｓｐｏｎｓｅ”、及び“Ｔｒａｐ”が定義されている。これらのうち“ＳｅｔＲｅｑｕｅｓｔ”及び“Ｔｒａｐ”は本実施形態では扱わないため説明を省略する。ＧｅｔＲｅｑｕｅｓｔおよびＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、ステータスの取得要求を示し、ＧｅｔＲｅｓｐｏｎｓｅは、ステータスの取得要求に対する応答を示す。
【００２６】
リクエストＩＤフィールド４０２は、ＳＮＭＰマネージャからの要求とＳＮＭＰエージェントからの応答とを一意に識別するためのリクエストＩＤが格納される領域である。エラーステータスフィールド４０３は、ＳＮＭＰマネージャからのＳＮＭＰリクエストにＳＮＭＰエージェントが正常に応答を返せない場合、その理由を示すコードを格納する領域である。ＳＮＭＰｖ１における代表的なエラーステータスとしては以下のものがある。なお、ＧｅｔＲｅｓｐｏｎｓｅ以外のＰＤＵでは、エラーステータスフィールド４０３には“ｎｏＥｒｒｏｒ”が設定される。
（１）ｎｏＥｒｒｏｒ：正常終了
（２）ｎｏＳｕｃｈＮａｍｅ：ＳＮＭＰリクエストで要求されたＭＩＢオブジェクトが実装されていない。
【００２７】
エラーインデックスフィールド４０４は、エラーインデックスが格納される領域である。ＳＮＭＰのＰＤＵ４００では、変数バインディングリスト（ＶＢＬ）フィールド４０５において複数のＭＩＢオブジェクトの指定が可能である。エラーインデックスフィールド４０４に格納されるエラーインデックスは、これらのＭＩＢオブジェクトのうち、エラーが発生したＭＩＢオブジェクトを示す最も大きい値が格納される。また、エラーステータスが“ｎｏＥｒｒｏｒ”の場合、本エラーインデックスには“０”が設定される。ＶＢＬフィールド４０５は、１以上のＭＩＢのＯＩＤ、及びその値の情報が格納される。ＯＩＤフィールド４０６、４０８、４１０には、各ＭＩＢオブジェクトに割り当てられた実際のＯＩＤの後にインスタンス識別子を付与した値が格納される。インスタンス識別子は、ＭＩＢオブジェクトが単一の値しか有さない場合は「０」が設定され、ＭＩＢオブジェクトがテーブル形式で複数の値を有する場合はテーブル内の夫々の値に対して「１」以上の連続であるとは限らない数字が設定される。値フィールド４０７、４０９、４１１には、ＳＮＭＰエージェントにおいて、ＭＩＢで管理されているＯＩＤフィールド４０６、４０８、４１０に紐づく値が格納される。取得要求であるＧｅｔＲｅｑｕｅｓｔ、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔでは、値フィールドには「０」が格納される。
【００２８】
［ＭＩＢの例］
図５は、本実施形態における、情報処理装置１０１に実装されるＭＩＢの具体例である。図５（ａ）は、情報処理装置１０１が管理するＭＩＢのツリー情報を示す。ＭＩＢの構成はツリー構造で示され、各ノードはＭＩＢオブジェクトと呼ばれる。各ＭＩＢオブジェクトはそれぞれ、オブジェクトＩＤ（ＯＩＤ）と呼ばれるＩＤ（識別情報）が割り当てられている。ＯＩＤは、各機能に対する設定値の管理項目として扱うことができ、木構造の階層ごとに割り当てられた枝番により表される。例えば、ＭＩＢオブジェクト５０５のＯＩＤは、「１．１．１」のように表される。ＳＮＭＰマネージャは、ＳＮＭＰエージェントに対してＯＩＤを指定して機器の情報を取得及び設定変更を要求する。
【００２９】
図５（ｂ）は、情報処理装置１０１のＭＩＢオブジェクトそれぞれの実装値一覧５２０である。ＭＩＢオブジェクト５０５、５０６、５０７、５１０、５１１、５１２、５１３、５１４、５１５は葉ノードであり、実装値一覧５２０で示す実装値が実装されている。また、根ノードにあたるＭＩＢオブジェクト５０１、および、内部ノードにあたるＭＩＢオブジェクト５０２、５０３、５０４、５０８、５０９については値を持たず、定義上のみ存在するＭＩＢオブジェクトである。本実施形態において、情報処理装置１０１のＭＩＢは、ＣＰＵ２０１が起動時にプリンタＩ／Ｆ２０７などから検知した機器構成やＲＯＭ２０３などのメモリから読み出した設定値などの情報を基に、ツリー構造でＲＡＭ２０４上に展開される。ＭＩＢツリーの葉ノードは情報処理装置１０１の機器構成や設定などにより増減する。例えば、プリンタの給紙段の場合、接続されている給紙段の数だけ葉ノードのＭＩＢオブジェクトが生成される。
【００３０】
ここで、ＳＮＭＰエージェントがＳＮＭＰリクエストを受信した際の動作を、図５で示したＭＩＢを実装した情報処理装置１０１を例に説明する。まず、情報処理装置１０１がＯＩＤ「１．２．１．０」に対するＧｅｔＲｅｑｕｅｓｔを受信した場合について説明する。なお、ＯＩＤにおける最後の「０」はインスタンス識別子にあたるため、ＯＩＤ「１．２．１．０」は、図５（ａ）のＭＩＢオブジェクト５０６を示している。図５（ｂ）に示すように、ＭＩＢオブジェクト５０６には値として「ｂ」が実装されているため、情報処理装置１０１はＧｅｔＲｅｑｕｅｓｔに対して、「１．２．１．０」の値を「ｂ」としてＧｅｔＲｅｓｐｏｎｓｅを返す。
【００３１】
次に、情報処理装置１０１が、ＭＩＢオブジェクト５０９を示すＯＩＤ「１．３．１」に対するＧｅｔＮｅｘｔＲｅｑｕｅｓｔを受信した場合について説明する。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、指定したＭＩＢオブジェクトの次のインスタンスを要求するリクエストである。従って、本実施形態では、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔで指定するＯＩＤにインスタンス識別子である「０」を付けないこととする。情報処理装置１０１は、図５（ｂ）に基づき、ＭＩＢオブジェクト５０８の次の葉ノードであるＭＩＢオブジェクト５１１を示すＯＩＤ「１．３．１．１．０」とその値である「ｄ」をＧｅｔＲｅｓｐｏｎｓｅとして返す。
【００３２】
また、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、ＭＩＢツリー上で指定したＯＩＤの次に位置する、ＳＮＭＰエージェントが実装している葉ノードとその値を要求するリクエストである。そのため、図５に示す例の場合、情報処理装置１０１が応答として、ＯＩＤ「１．３．１．１．０」とその値である「ｄ」を返すべきＧｅｔＮｅｘｔＲｅｑｕｅｓｔで指定されるＯＩＤは「１．２．２」から「１．３．１」までの範囲で複数存在する。例えば、未実装のＯＩＤ「１．２．３」に対するＧｅｔＮｅｘｔＲｅｑｕｅｓｔを受信した場合、情報処理装置１０１は、ＭＩＢのツリー構造で「１．２．３」の次に実装されているＯＩＤ「１．３．１．１．０」とその値「ｄ」をＧｅｔＲｅｓｐｏｎｓｅとして返す。
【００３３】
続いて、情報処理装置１０１がＯＩＤ「１．２．１．０」（ＭＩＢオブジェクト５０６）および「１．３．１．１．０」（ＭＩＢオブジェクト５１２）に対するＧｅｔＲｅｑｕｅｓｔを受信した場合について説明する。情報処理装置１０１には、ＭＩＢオブジェクト５０６、５１１が共に実装されているので、ＯＩＤ「１．２．１．０」および「１．３．１．１．０」とその値である「ｂ」および「ｄ」をＧｅｔＲｅｓｐｏｎｓｅとして返す。
【００３４】
最後に、情報処理装置１０１がＯＩＤ「１．２．３．０」および「１．３．１．２．０」対するＧｅｔＲｅｑｕｅｓｔを受信した場合について説明する。情報処理装置１０１には、ＯＩＤ「１．２．３．０」および「１．３．１．２．０」はどちらも実装されていない。従って、情報処理装置１０１は、エラー（ｎｏＳｕｃｈＮａｍｅ）としてＧｅｔＲｅｓｐｏｎｓｅを返す。
【００３５】
［電力モードの移行］
次に、情報処理装置１０１の省電力モードへの移行について図６を用いて説明する。通常電力モードで動作している情報処理装置１０１が、省電力モードへの移行条件を満たしたことを検知すると、情報処理装置は省電力モードに移行する。図６のフローチャートに示す各ステップは、コントローラ２００のＣＰＵ２０１がＲＯＭ２０３等のメモリに格納されたプログラムをＲＡＭ２０４に展開して実行することによって処理される。図６のフローチャートに示す処理は、情報処理装置１０１が通常電力モードで動作している時に実行される処理である。
【００３６】
Ｓ６０１にて、ＣＰＵ２０１は、通常電力モードから省電力モードに移行するか否かを判定する。本実施形態では、省電力モードへの移行条件を満たしたことをＣＰＵ２０１が検知した場合に（Ｓ６０１にてＹＥＳ）、ＣＰＵ２０１は、通常電力モードから省電力モードに移行すると判定し、Ｓ６０２へ進む。一方、省電力モードへの移行条件を満たしたことをＣＰＵ２０１が検知しない場合は（Ｓ６０１にてＮＯ）、ＣＰＵ２０１は、通常電力モードから省電力モードへ移行しないと判定し、省電力モードへの移行条件を満たしたことを検知するまで待機する。なお、省電力モードへの移行条件は、情報処理装置１０１に所定時間（例えば５分）にわたって印刷ジョブが入力されていない場合や、操作部２１３を介してユーザから省電力モードへの移行指示が入力された場合等が挙げられるがこれに限定するものではない。
【００３７】
Ｓ６０２にて、ＣＰＵ２０１は、ＮＶＲＡＭ２１０に予め記憶されている代理応答パターンとＷＯＬパターンを、拡張Ｉ／Ｆ２０２を介して通信部２２０に通知する。通信部２２０は、通知された代理応答パターンおよびＷＯＬパターンをＮＶＲＡＭ２２７に記憶する。
【００３８】
図７は、本実施形態における代理応答パターンおよびＷＯＬパターンの具体例を示す。図７に示す代理応答パターンおよびＷＯＬパターンは、ＮＶＲＡＭ２１０に予め記憶されている。代理応答パターンは、通信部２２０がコントローラ２００の代わりに各種要求に関する受信パケットに対して応答するパケットのパターンを示す。通信部２２０がコントローラ２００の代わりに受信パケットに対して応答することを、以降では「代理応答」と呼ぶ。この代理応答によって、情報処理装置１０１全体としては省電力な状態、つまりコントローラ２００の起動を行うことなく省電力モードを維持したまま、受信パケットに対して応答することができる。
【００３９】
図７に示す例の場合、代理応答パターンとして３パターンが記憶されている。１つ目のパターンは、特定のＯＩＤに対するＳＮＭＰのＧｅｔＲｅｑｕｅｓｔである。２つ目のパターンは、特定のＯＩＤに対するＳＮＭＰのＧｅｔＮｅｘｔＲｅｑｕｅｓｔである。３つ目のパターンは、自機宛てのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）  Ｒｅｑｕｅｓｔである。ＧｅｔＲｅｑｕｅｓｔは、情報処理装置１０１のステータスを要求するためのリクエストであり、具体的にどのようなステータスを要求するかは、リクエストに含まれるＯＩＤによって指定される。本実施形態では、ＳＮＭＰパケットのＶＢＬフィールド４０５に指定されるＯＩＤ全てが、図８を用いて後述するＳＮＭＰ応答情報テーブル８００のＯＩＤ一覧に存在する場合に代理応答する。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔは、ＧｅｔＲｅｑｕｅｓｔと同様に情報処理装置１０１のステータスを要求するためのリクエストであり、具体的にどのようなステータスを要求するかは、リクエストに含まれるＯＩＤによって指定される。本実施形態では、ＳＮＭＰパケットのＶＢＬフィールド４０５に指定されるＯＩＤ全てが、ＳＮＭＰ応答情報テーブル８００のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲の中に存在する場合に代理応答する。
【００４０】
次にＷＯＬパターンについて説明する。ＷＯＬパターンは、情報処理装置１０１が省電力モードから通常電力モードに移行する必要があるパターンを示す。受信パケットがＷＯＬパターンに一致する場合、通信部２２０は、省電力モードから通常電力モードに移行させるための移行指示を拡張Ｉ／Ｆ２２２を介して電源制御部３００に通知する。そして、電源制御部３００の制御に応じて、情報処理装置１０１が省電力モードから通常電力モードに移行する。通常電力モードに移行すると、受信パケットが通信部２２０からコントローラ２００に転送され、コントローラ２００が受信パケットに対する処理（例えば印刷ジョブに基づく印刷処理）を実行する。図７に示す例の場合、ＷＯＬパターンとして２パターンが記憶されている。１つ目は、「自機ＭＡＣアドレス宛てのパケット」であり、２つ目は「ＷＳＤの探索パケット」である。ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅ）については、周知の技術であり、ここでは説明を省略する。また、上記に示した代理応答パターンやＷＯＬパターンは一例であり、他のパケットを対象として追加してもよい。
【００４１】
［代理応答の処理］
本実施形態に係る情報処理装置１０１におけるＳＮＭＰのＧｅｔＲｅｑｕｅｓｔおよびＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対する代理応答について図８〜図１０を用いて説明する。
【００４２】
（ＳＮＭＰ応答情報テーブル）
図８は、本実施形態に係るＳＮＭＰ応答情報テーブルの構成例を示す。ＳＮＭＰ応答情報テーブル８００には、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ先頭８０１、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ末尾８０２、ＯＩＤ８０４、実装値８０５、実装有無８０６によって構成される応答情報がリストされている。つまり、ＳＮＭＰ応答情報テーブル８００は、コントローラ２００が管理する図５に示すような管理情報の一部を、通信部２２０が管理するテーブルとして構成されたものである。ＯＩＤ８０４は、ＧｅｔＲｅｑｕｅｓｔによってステータス要求された場合に通信部２２０が代理応答を行うＯＩＤ一覧である。実装値８０５には、ＯＩＤ８０４が情報処理装置１０１に実装されている場合は、そのＯＩＤの実装値が格納される。実装有無８０６には、ＯＩＤ８０４が情報処理装置１０１で実装されているか否かを示す情報が格納される。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ先頭８０１は、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔに指定されると、情報処理装置１０１がＯＩＤ８０４と実装値８０５を用いて応答することになるＯＩＤのうち、ＭＩＢツリー上で先頭に位置するＯＩＤの一覧である。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ末尾８０２は、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔに指定されると情報処理装置１０１がＯＩＤ８０４と実装値８０５を用いて応答することになるＯＩＤのうち、ＭＩＢツリー上で末尾に位置するＯＩＤ一覧である。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ先頭８０１とＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ末尾８０２を合わせて、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３とする。
【００４３】
図５の説明で述べたように、情報処理装置１０１が持つＭＩＢは、情報処理装置１０１の機器構成や設定などによって変化する。つまり、情報処理装置１０１の機器構成や設定などによってＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４の実装有無や、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用のＯＩＤ範囲が変化する可能性がある。そのため、ＳＮＭＰ応答情報テーブル８００は、情報処理装置１０１の起動が完了して、機器構成や設定が確定したタイミングで生成する必要がある。本実施形態においては、図８に示すＳＮＭＰ応答情報テーブル８００は、情報処理装置１０１の起動時にＣＰＵ２０１によって生成され、ＲＡＭ２０４に展開される。しかし、このタイミングに限定するものではなく、情報処理装置の構成が変更された際に生成を行うようにしてよい。ＳＮＭＰ応答情報テーブルの生成処理については、図９を用いて後述する。
【００４４】
ここで、情報処理装置１０１が省電力モードで動作している時に、ＳＮＭＰ応答情報テーブル８００に含まれるＯＩＤに対するＳＮＭＰステータス要求への、通信部２２０による代理応答の具体例を説明する。まず、通信部２２０がＯＩＤ「１．２．１．０」に対するＧｅｔＲｅｑｕｅｓｔを受信した場合について説明する。ここで、最後の「０」はインスタンス識別子にあたるため、ＯＩＤ「１．２．１．０」は、ＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４にリストされている「１．２．１」を示す。ＳＮＭＰ応答情報テーブル８００によればＯＩＤ「１．２．１」の実装値は「ｂ」である。よって、通信部２２０は、受信したＧｅｔＲｅｑｕｅｓｔに対し、図４に示すＶＢＬフィールド４０５のＯＩＤフィールドに「１．２．１」を格納し、更に値フィールドに「ｂ」を格納したＧｅｔＲｅｓｐｏｎｓｅを代理応答する。
【００４５】
次に、通信部２２０がＯＩＤ「１．１．２」を指定したＧｅｔＮｅｘｔＲｅｑｕｅｓｔを受信した場合について説明する。ＯＩＤ「１．１．２」は、ＳＮＭＰ応答情報テーブル８００にリストされている応答情報８１０のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３に含まれるＯＩＤである。ＳＮＭＰ応答情報テーブル８００によれば応答情報８１０のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３内のＯＩＤを指定したＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対する応答で使用すべきＯＩＤはＯＩＤ「１．２．１」であり、また、実装値は「ｂ」である。よって、通信部２２０は、受信したＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対して、図４に示すＶＢＬフィールド４０５のＯＩＤフィールドに「１．２．１」を格納し、更に値フィールドに「ｂ」を格納したＧｅｔＲｅｓｐｏｎｓｅを代理応答する。
【００４６】
次に、通信部２２０がＯＩＤ「１．２．３．０」に対するＧｅｔＲｅｑｕｅｓｔを受信した場合について説明する。ここで、最後の「０」はインスタンス識別子にあたるため、ＯＩＤ「１．２．３．０」は、ＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４にリストされている「１．２．３」を示す。ＳＮＭＰ応答情報テーブル８００によればＯＩＤ「１．２．３」は、情報処理装置１０１に未実装である。したがって、通信部２２０は、受信したＧｅｔＲｅｑｕｅｓｔに対して、エラー（ｎｏＳｕｃｈＮａｍｅ）としてＧｅｔＲｅｓｐｏｎｓｅを代理応答する。
【００４７】
（テーブル生成処理）
図９は、本実施形態に係るＳＮＭＰ応答情報テーブルの生成処理を示したフローチャートである。図９の各ステップに示す処理は、コントローラ２００のＣＰＵ２０１がＲＯＭ２０３等のメモリに格納されたプログラムをＲＡＭ２０４に展開して実行することによって処理される。
【００４８】
Ｓ９０１にて、ＣＰＵ２０１は、情報処理装置１０１がＧｅｔＲｅｑｕｅｓｔに代理応答するＯＩＤ一覧からＧｅｔＲｅｑｕｅｓｔに代理応答するべきＯＩＤを取得する。情報処理装置１０１がＧｅｔＲｅｑｕｅｓｔに代理応答するＯＩＤ一覧は、ＮＶＲＡＭ２１０に予め記憶されているものとする。
【００４９】
Ｓ９０２にて、ＣＰＵ２０１は、ＲＡＭ２０４に展開されているＭＩＢツリーからＳ９０１にて取得したＯＩＤに対応する実装値の取得を行う。Ｓ９０３にて、ＣＰＵ２０１は、Ｓ９０２における取得結果を判定する。実装値が取得できた場合（Ｓ９０３にてＹＥＳ）、Ｓ９０４にて、ＣＰＵ２０１は、実装値が取得できたＯＩＤの実装有無８０６の値を「ＹＥＳ」としてＳ９０６へ進む。一方、実装値が取得できない場合（Ｓ９０３にてＮＯ）、Ｓ９０５にて、ＣＰＵ２０１は、実装値が取得できなかったＯＩＤの実装有無８０６の値を「ＮＯ」としてＳ９０７へ進む。本実施形態において、実装有無８０６の値が「ＮＯ」であるＯＩＤのＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤの情報には値を持たせない。
【００５０】
Ｓ９０６にて、ＣＰＵ２０１は、ＲＡＭ２０４に展開されているＭＩＢツリーから、実装値が取得できたＯＩＤに紐づくＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲の先頭ＯＩＤと末尾ＯＩＤを特定する。上述した手順により、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ先頭８０１、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ末尾８０２、ＯＩＤ８０４、実装値８０５、および実装有無８０６によって構成されるＳＮＭＰ応答情報テーブル８００の応答情報が生成される。
【００５１】
Ｓ９０７にて、ＣＰＵ２０１は、ＳＮＭＰ応答情報テーブル８００に応答情報を追加する。Ｓ９０８にて、ＣＰＵ２０１は、代理応答するＯＩＤ一覧に、ＳＮＭＰ応答情報テーブル８００に追加していないＯＩＤがあるか否かを判別する。ＳＮＭＰ応答情報テーブル８００に追加していないＯＩＤがある場合は（Ｓ９０８にてＹＥＳ）、Ｓ９０１に戻り、ＣＰＵ２０１は処理を繰り返す。ＳＮＭＰ応答情報テーブル８００に追加していないＯＩＤが無い場合（Ｓ９０８にてＮＯ）、ＳＮＭＰ応答情報テーブル生成処理を終了する。
【００５２】
（代理応答処理）
図１０は、情報処理装置１０１が省電力モードで動作している際に、通信部２２０が外部装置から送信されたパケットを受信した場合に実行される処理を示すフローチャートである。図１０の各ステップに示す処理は、通信部２２０のＣＰＵ２２１がＲＯＭ２２３等のメモリに格納されたプログラムをＲＡＭ２２４に展開して実行することによって処理される。
【００５３】
ＰＣ１０２等の外部装置から送信されたパケットを通信部２２０が受信すると、Ｓ１００１にて、ＣＰＵ２２１は、受信したパケットを解析する。Ｓ１００２にて、ＣＰＵ２２１は、受信パケットが図７に示す代理応答パターンに一致するか否かを判定する。受信パケットが代理応答パターンに一致する場合（Ｓ１００２にてＹＥＳ）、Ｓ１００３へ進む。一方、受信パケットが代理応答パターンに一致しない場合（Ｓ１００２にてＮＯ）、Ｓ１０１２へ進む。
【００５４】
Ｓ１０１２にて、ＣＰＵ２２１は、受信パケットが図７に示すＷＯＬパターンに一致するか否かを判定する。受信パケットがＷＯＬパターンに一致する場合（Ｓ１０１２にてＹＥＳ）、Ｓ１０１３へ進む。Ｓ１０１３にて、ＣＰＵ２２１は、情報処理装置１０１が省電力モードから通常電力モードに移行するように制御し、Ｓ１０１４へ進む。具体的には、拡張Ｉ／Ｆ２０２を介して通常電力モードに移行するための移行指示が電源制御部３００に通知され、電源制御部３００によって情報処理装置１０１が省電力モードから通常電力モードに移行する。Ｓ１０１４にて、ＣＰＵ２２１は、拡張Ｉ／Ｆ２０２を介して受信パケットをＣＰＵ２０１へ転送する。そして、本処理フローを終了する。なお、転送されたパケットは、ＣＰＵ２０１（コントローラ２００）の制御によって処理される。
【００５５】
一方、受信パケットがＷＯＬパターンに一致しない場合（Ｓ１０１２にてＮＯ）、Ｓ１０１５へ進む。Ｓ１０１５にて、ＣＰＵ２２１は、受信パケットを破棄し、省電力モードを維持する。その後、本処理フローを終了する。
【００５６】
Ｓ１００３にて、ＣＰＵ２２１は、受信パケットがＳＮＭＰパケットか否かを判定する。受信パケットがＳＮＭＰパケットである場合（Ｓ１００３にてＹＥＳ）、Ｓ１００４へ進む。一方、受信パケットがＳＮＭＰパケットでない場合（Ｓ１００３にてＮＯ）、Ｓ１０１０にて、ＣＰＵ２２１は省電力モードを維持したまま、代理応答を実行する。
【００５７】
Ｓ１００４にて、ＣＰＵ２２１は、受信パケットがＧｅｔＲｅｑｕｅｓｔであるか否かを判定する。受信パケットがＧｅｔＲｅｑｕｅｓｔである場合（Ｓ１００４にてＹＥＳ）、Ｓ１００５へ進む。一方、受信パケットがＧｅｔＲｅｑｕｅｓｔでない場合（Ｓ１００４にてＮＯ）、Ｓ１００６へ進む。
【００５８】
Ｓ１００５にて、ＣＰＵ２２１は、受信パケットのＧｅｔＲｅｑｕｅｓｔが要求する全てのＯＩＤが図８に示すＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４の中に存在するか否かを判定する。ＧｅｔＲｅｑｕｅｓｔが要求する全てのＯＩＤがＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４の中に存在する場合（Ｓ１００５にてＹＥＳ）、Ｓ１００８へ進む。一方、ＧｅｔＲｅｑｕｅｓｔが要求する全てのＯＩＤがＳＮＭＰ応答情報テーブル８００のＯＩＤ８０４の中に存在しない場合、Ｓ１０１３に進む。
【００５９】
Ｓ１００６にて、ＣＰＵ２２１は、受信パケットがＧｅｔＮｅｘｔＲｅｑｕｅｓｔであるか否かを判定する。受信パケットがＧｅｔＮｅｘｔＲｅｑｕｅｓｔである場合（Ｓ１００６にてＹＥＳ）、Ｓ１００７へ進む。一方、受信パケットがＧｅｔＮｅｘｔＲｅｑｕｅｓｔでない場合（Ｓ１００６にてＮＯ）、Ｓ１０１３へ進む。
【００６０】
Ｓ１００７にて、ＣＰＵ２２１は、受信パケットのＧｅｔＮｅｘｔＲｅｑｕｅｓｔが要求する全てのＯＩＤがＳＮＭＰ応答情報テーブル８００に含まれる応答情報のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３の中に存在するか否かを判定する。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔが指定する全てのＯＩＤが各応答情報のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３の中に存在する場合（Ｓ１００７にてＹＥＳ）、Ｓ１００８へ進む。一方、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔが指定する全てのＯＩＤが各応答情報のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ範囲８０３の中に存在しない場合（Ｓ１００７にてＮＯ）、Ｓ１０１３へ進む。
【００６１】
Ｓ１００８にて、ＣＰＵ２２１は、ＧｅｔＲｅｑｕｅｓｔまたはＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対して応答を返すべき全てのＯＩＤが情報処理装置１０１で実装されているか否かを、ＳＮＭＰ応答情報テーブル８００の実装有無８０６に基づいて判定する。具体的には、ＣＰＵ２２１は、受信パケットのＧｅｔＲｅｑｕｅｓｔもしくはＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対して応答すべきＯＩＤがＯＩＤ８０４の中に存在しており、かつ、当該ＯＩＤに紐づく実装有無８０６の内容から判定する。応答を返すべき全てのＯＩＤが情報処理装置１０１で実装されている場合（Ｓ１００８にてＹＥＳ）、Ｓ１００９へ進む。一方、応答を返すべき全てのＯＩＤが情報処理装置１０１で実装されていない場合（Ｓ１００８にてＮＯ）、Ｓ１０１１へ進む。
【００６２】
Ｓ１００９にて、ＣＰＵ２２１は、それぞれのＯＩＤとその実装値をＶＢＬフィールド４０５に格納したＧｅｔＲｅｓｐｏｎｓｅパケットを生成し、Ｓ１０１０へ進む。Ｓ１０１０の代理応答処理では、ＣＰＵ２２１は、省電力モードを維持したまま、Ｓ１００９で生成したＧｅｔＲｅｓｐｏｎｓｅパケットを要求元へ送信する。
【００６３】
Ｓ１０１１にて、ＣＰＵ２２１は、受信パケットで指定されたＯＩＤのうち情報処理装置１０１で実装されていないＯＩＤが、受信パケットのＶＢＬフィールド４０５の何番目に指定されていたかを、エラーインデックスフィールド４０４に格納する。更に、ＣＰＵ２２１は、エラー（ｎｏＳｕｃｈＮａｍｅ）のＧｅｔＲｅｓｐｏｎｓｅを生成し、Ｓ１０１０へ進む。Ｓ１０１０の代理応答処理では、ＣＰＵ２２１は、省電力モードを維持したまま、Ｓ１０１１で生成したＧｅｔＲｅｓｐｏｎｓｅパケットを要求元へ送信する。そして、本処理フローを終了する。
【００６４】
以上、本実施形態により、外部装置から要求を受信した場合でも情報処理装置の省電力モードを維持することができる。特に、ＳＮＭＰのＧｅｔＮｅｘｔＲｅｑｕｅｓｔを受信した場合でも、情報処理装置の省電力モードを維持しつつ、応答を返すことが可能となる。
【００６５】
＜第二の実施形態＞
第一の実施形態では、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用のＯＩＤの範囲を応答情報の構成要素とするＳＮＭＰ応答情報テーブルを用いた構成について説明した。これに対して第二の実施形態では、特定のＯＩＤをＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤとして応答情報の構成要素とするＳＮＭＰ応答情報テーブルを用いた構成を説明する。
【００６６】
（ＳＮＭＰ応答情報テーブル）
図１１は、本実施形態に係るＳＮＭＰ応答情報テーブルを具体的に示す。本実施形態において、ＳＮＭＰ応答情報テーブル１１００の構成要素のうち、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１、ＯＩＤ１１０２、および実装有無１１０４は、情報処理装置１０１のＮＶＲＡＭ２１０に予め記憶されているものとする。
【００６７】
ＣＰＵ２０１は、情報処理装置１０１の起動完了時に、ＯＩＤ１１０２の実装値の取得処理を行い、ＳＮＭＰ応答情報テーブル１１００を生成して、ＲＡＭ２０４に展開する。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１は、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔによって指定された場合に通信部２２０が代理応答を行うＯＩＤ一覧である。ＯＩＤ１１０２は、ＧｅｔＲｅｑｕｅｓｔによってステータス要求された場合に、通信部２２０が代理応答を行うＯＩＤ一覧である。また、ＯＩＤ１１０２は、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１にリストされるＯＩＤの次のインスタンスのＯＩＤを指す。つまり、ＯＩＤ１１０２は、ＧｅｔＲｅｑｕｅｓｔに対して応答で返すべきＯＩＤ一覧の役割も兼ねる。実装値１１０３には、ＯＩＤ１１０２が情報処理装置１０１に実装されている場合は、そのＯＩＤの実装値が格納される。実装有無１１０４には、ＯＩＤ１１０２が情報処理装置１０１で実装されているか否かを示す情報が格納される。
【００６８】
ここで、図１１を情報処理装置１０１が省電力モードで動作している時に、ＳＮＭＰ応答情報テーブルに含まれるＯＩＤに対するＳＮＭＰステータス要求への、通信部２２０による代理応答の具体例を説明する。なお、ＧｅｔＲｅｑｕｅｓｔおよび実装していないＯＩＤへの要求に対する応答は、第一の実施形態にて述べた構成と同様であるため、説明は省略する。
【００６９】
通信部２２０がＯＩＤ「１．１」に対するＧｅｔＮｅｘｔＲｅｑｕｅｓｔを受信した場合について説明する。ＯＩＤ「１．１」は、ＳＮＭＰ応答情報テーブル１１００の、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１にリストされている。ＳＮＭＰ応答情報テーブル１１００によればＯＩＤ「１．１」へのＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対する応答で使用すべきＯＩＤは、ＯＩＤ「１．１．１」であり、実装値は「ａ」である。したがって、通信部２２０は、受信したＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対して、ＶＢＬフィールド４０５のＯＩＤフィールドに「１．１．１」を格納し、値フィールドに「ａ」を格納したＧｅｔＲｅｓｐｏｎｓｅを代理応答する。
【００７０】
（代理応答処理）
図１２は、情報処理装置１０１が省電力モードで動作している際に、通信部２２０が外部装置から送信されたパケットを受信した場合に実行される処理を示すフローチャートである。図１２のフローチャートの各ステップに示す処理は、通信部２２０のＣＰＵ２２１がＲＯＭ２２３等のメモリに格納されたプログラムをＲＡＭ２２４に展開して実行することによって処理される。なお、本実施形態に係る図１２の処理フローと、第一の実施形態にて述べた図１０の処理フローとは、Ｓ１２０７とＳ１００７の処理のみが異なる。つまり、図１２のＳ１２０１〜Ｓ１２０６、Ｓ１２０８〜Ｓ１２１５の処理は、図１０のＳ１００１〜Ｓ１００６、Ｓ１００８〜Ｓ１０１５の処理と同等である。よって、ここでは差分のみを説明し、その他の処理については説明を省略する。
【００７１】
受信パケットがＧｅｔＮｅｘｔＲｅｑｕｅｓｔである場合（Ｓ１２０６にてＹＥＳ）、Ｓ１２０７にて、ＣＰＵ２２１は、受信パケットのＧｅｔＮｅｘｔＲｅｑｕｅｓｔが要求する全てのＯＩＤがＳＮＭＰ応答情報テーブル１１００のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１の中に存在するか否かを判定する。ＧｅｔＮｅｘｔＲｅｑｕｅｓｔが指定する全てのＯＩＤがＳＮＭＰ応答情報テーブル１１００のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１の中に存在する場合（Ｓ１２０７にてＹＥＳ）、Ｓ１２０８へ進む。一方、ＧｅｔＮｅｘｔＲｅｑｕｅｓｔが指定する全てのＯＩＤがＳＮＭＰ応答情報テーブル１１００のＧｅｔＮｅｘｔＲｅｑｕｅｓｔ用ＯＩＤ１１０１の中に存在しない場合（Ｓ１２０７にてＮＯ）、Ｓ１２１３へ進む。
【００７２】
以上、本実施形態により、ＳＮＭＰのＧｅｔＮｅｘｔＲｅｑｕｅｓｔに対して、情報処理装置の省電力モードを維持しつつ、応答を返すことができる。また、第一の実施形態に比べ、通信部が保持するＳＮＭＰ情報テーブルのサイズを削減することができる。
【００７３】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７４】
１０１  情報処理装置、１０２  ＰＣ、１０３  ネットワーク、２００  コントローラ、２０１  ＣＰＵ、２２０  通信部、２２１  ＣＰＵ、３００  電源制御部
【図１】
2015220676.tif 000003
【図２】
2015220676.tif 000004
【図３】
2015220676.tif 000005
【図４】
2015220676.tif 000006
【図５】
2015220676.tif 000007
【図６】
2015220676.tif 000008
【図７】
2015220676.tif 000009
【図８】
2015220676.tif 000010
【図９】
2015220676.tif 000011
【図１０】
2015220676.tif 000012
【図１１】
2015220676.tif 000013
【図１２】
2015220676.tif 000014