(57)【特許請求の範囲】
【請求項１】
省電力モードで動作可能な情報処理装置であって、
パケットを受信する受信手段と、
前記受信手段で受信した受信パケットを受信バッファに格納する格納手段と、
前記格納手段によって受信バッファに格納されたパケットに対する処理を実行する処理手段とを備え、
前記省電力モードから通常電力モードに移行する要因となる特定のパケットを前記受信手段で受信した場合、前記格納手段は、第１の受信バッファ群に含まれるいずれかの受信バッファに前記特定のパケットを格納し、
前記特定のパケットに対して前記処理手段で実行する処理が完了するまでの間に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の受信バッファ群とは異なる第２の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納し、
前記特定のパケットに対して前記処理手段で実行する処理が完了した後に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納することを特徴とする情報処理装置。
【請求項２】
前記格納手段が受信パケットを格納する格納先を切り替える切替手段を更に備え、
前記第１の受信バッファ群に含まれるいずれかの受信バッファに前記格納手段が前記特定のパケットを格納した場合に、前記切替手段は、前記格納先を前記第１の受信バッファ群から前記第２の受信バッファ群に切り替え、
前記特定のパケットに対して前記処理手段が実行する処理が完了した場合に、前記切替手段は、格納先を前記第２の受信バッファ群から前記第１の受信バッファ群に切り替えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
少なくともインタフェース部とコントローラとを含み、
前記受信手段と前記格納手段とは前記インタフェース部に備えられ、
前記第１の受信バッファ群及び前記第２の受信バッファ群は、前記コントローラに備えられたメモリに配置されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記インタフェース部と前記コントローラに加えて、更に印刷部を含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
省電力モードで動作可能な情報処理装置であって、
パケットを受信する受信手段と、
前記受信手段が受信した受信パケットを記憶手段に格納する格納手段と、
前記格納手段によって記憶手段に格納されたパケットに対する処理を実行する処理手段とを備え、
前記省電力モードから通常電力モードに移行する要因となる特定のパケットを前記受信手段で受信した場合、前記格納手段は、第１の記憶手段に前記特定のパケットを格納し、  前記特定のパケットに対して前記処理手段で実行する処理が完了するまでの間に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の記憶手段とは異なる第２の記憶手段に前記新たなパケットを格納し、
前記特定のパケットに対して前記処理手段で実行する処理が完了した後に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の記憶手段に前記新たなパケットを格納することを特徴とする情報処理装置。
【請求項６】
前記格納手段が受信パケットを格納する格納先を切り替える切替手段を更に備え、
前記第１の記憶手段に前記格納手段が前記特定のパケットを格納した場合に、前記切替手段は、前記格納先を前記第１の記憶手段から前記第２の記憶手段に切り替え、
前記特定のパケットに対して前記処理手段が実行する処理が完了した場合に、前記切替手段は、前記格納先を前記第２の記憶手段から前記第１の記憶手段に切り替えることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記処理手段は、前記格納手段によって格納されたパケットに対する応答パケットをネットワークに送信することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
省電力モードで動作可能な情報処理装置の制御方法であって、
パケットを受信する受信ステップと、
前記受信ステップで受信した受信パケットを受信バッファに格納する格納ステップと、
前記格納ステップによって受信バッファに格納されたパケットに対する処理を実行する処理ステップとを備え、
前記省電力モードから通常電力モードに移行する要因となる特定のパケットを前記受信ステップで受信した場合、前記格納ステップでは、第１の受信バッファ群に含まれるいずれかの受信バッファに前記特定のパケットを格納し、
前記特定のパケットに対して前記処理ステップで実行する処理が完了するまでの間に前記受信ステップで新たなパケットを受信した場合、前記格納ステップでは、前記第１の受信バッファ群とは異なる第２の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納し、
前記特定のパケットに対して前記処理ステップで実行する処理が完了した後に前記受信ステップで新たなパケットを受信した場合、前記格納ステップでは、前記第１の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納することを特徴とする制御方法。
【請求項９】
省電力モードで動作可能な情報処理装置の制御方法であって、
パケットを受信する受信ステップと、
前記受信ステップで受信した受信パケットを記憶手段に格納する格納ステップと、
前記格納ステップによって記憶手段に格納されたパケットに対する処理を実行する処理ステップとを備え、
前記省電力モードから通常電力モードに移行する要因となる特定のパケットを前記受信ステップで受信した場合、前記格納ステップでは、第１の記憶手段に前記特定のパケットを格納し、
前記特定のパケットに対して前記処理ステップで実行する処理が完了するまでの間に前記受信ステップで新たなパケットを受信した場合、前記格納ステップでは、前記第１の記憶手段とは異なる第２の記憶手段に前記新たなパケットを格納し、
前記特定のパケットに対して前記処理ステップで実行する処理が完了した後に前記受信ステップで新たなパケットを受信した場合、前記格納ステップでは、前記第１の記憶手段に前記新たなパケットを格納することを特徴とする制御方法。
【請求項１０】
請求項８又は９に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して受信情報を受信して、当該受信情報に対する応答処理を実行する情報処理装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置において、所謂省電力モードを備えたものが普及している。例えば、主制御部と副制御部とを有する情報処理装置であって、省電力モードでは、主制御部に対する電力供給を通常状態より低減（あるいは遮断）した状態にして、主制御部に対する電力供給を通常状態に戻すことなく、副制御部によってネットワーク応答を実行するようにしたものがある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１５１５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１においては、省電力モードになると、副制御部に対するクロックの供給を最小限としている。ところが、クロック供給を低減してしまうと、副制御部は、ネットワークを介して受信した全ての受信パケット（受信データ又は受信情報）に対して応答することが困難となってしまう。
【０００５】
このため、副制御部において対応困難な受信パケットを受信すると、主制御部に対する電力供給を、通常状態（通常電力モード）に復帰させて、その後、主制御部がネットワーク応答を行うようにしている。
【０００６】
そして、主制御部が通常電力モードに復帰する際、副制御部では対応困難な受信パケットが副制御部から主制御部に渡される。これによって、パケット送信元がパケットを再送するのを待つことなく、主制御部は通常電力モードに復帰すると直ちに受信パケットに対する応答を行うことができる。
【０００７】
この際、主制御部に渡した受信パケットを後続の受信パケットで上書きしないように、通常電力モードへの復帰が完了するまで、副制御部による受信バッファへの受信パケットの書き込みを停止する必要がある。このため、ネットワーク接続を一旦切断して、通常電力モードへの復帰が行われると、ネットワーク接続（リンク）を確立するようにしている。
【０００８】
この結果、通常電力モードに復帰しても、再度リンクが確立されるまでの間、主制御部は一切ネットワーク通信を行うことができず、ネットワーク応答が遅延してしまという問題がある。
【０００９】
従って、本発明の目的は、ネットワーク接続を切断することなく受信パケットの上書きを防ぎ、ネットワーク応答が遅延することのない情報処理装置、その制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明による情報処理装置は、省電力モードで動作可能な情報処理装置であって、パケットを受信する受信手段と、前記受信手段で受信した受信パケットを受信バッファに格納する格納手段と、前記格納手段によって受信バッファに格納されたパケットに対する処理を実行する処理手段とを備え、前記省電力モードから通常電力モードに移行する要因となる特定のパケットを前記受信手段で受信した場合、前記格納手段は、第１の受信バッファ群に含まれるいずれかの受信バッファに前記特定のパケットを格納し、前記特定のパケットに対して前記処理手段で実行する処理が完了するまでの間に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の受信バッファ群とは異なる第２の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納し、前記特定のパケットに対して前記処理手段で実行する処理が完了した後に前記受信手段で新たなパケットを受信した場合、前記格納手段は、前記第１の受信バッファ群に含まれるいずれかの受信バッファに前記新たなパケットを格納することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ネットワーク接続を切断することなく受信パケットの上書きを防ぎ、しかもネットワーク応答が遅延することがないという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態による情報処理装置の１つである画像形成装置の一例を示すブロック図である。
【図２】図１に示すコントローラの構成の一例を示すブロック図である。
【図３】図１および図２に示すＬＡＮ  Ｉ／Ｆの構成を示すブロック図である。
【図４】図１に示すメモリに配置された受信ディスクリプタおよび受信バッファの一例を示す図である。
【図５】省電力モードから通常電力モードへの復帰処理の一例を説明するためのフローチャートである。
【図６】本発明が適用された画像形成装置における、図１に示すメモリに配置された受信ディスクリプタおよび受信バッファの例を示す図である。
【図７】本発明が適用された画像処理装置における、省電力モードから通常電力モードへの復帰処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。なお、ここでは、情報処理装置の１つである画像形成装置を例に挙げて説明するが、画像形成装置以外の情報処理装置においても、ネットワークに接続可能で、省電力モードと通常電力モードとの切替が可能なものであれば、同様にして適用することができる。
【００１４】
図１は、本発明の実施の形態による情報処理装置の１つである画像形成装置の一例を示すブロック図である。
【００１５】
図１を参照して、画像形成装置１は、コントローラ（制御装置）３、スキャナ装置２、およびプリンタ装置４を有している。そして、コントローラ３には、走査部５およびハードディスク装置などの補助記憶装置６が接続されるとともに、ＦＡＸ装置７およびネットワークインタフェース（ＬＡＮ  Ｉ／Ｆ）８（インタフェース部）が接続されている。
【００１６】
図示の例では、ＬＡＮ  Ｉ／Ｆ８はＬＡＮ１０を介してコンピュータ（ＰＣ）９（外部機器）に接続され、ＦＡＸ装置７は電話回線に接続されている。なお、図１にはおいては、説明の便宜上ＰＣ９は一台のみ示されているが、実際には、複数のＰＣ９がｌＡＮ１０に接続されている。
【００１７】
図示のように、スキャナ装置２は原稿給紙ユニット（ＤＦユニット）２１およびスキャナユニット２２を有している。原稿給紙ユニット２１は原稿束がセットされ、原稿給紙ユニット２１からスキャナユニット２２に原稿が送られる。スキャナユニット２２は原稿を光学的に走査して、画像信号を得る。そして、この画像信号はスキャナユニット２２からコントローラ３に送られ、コントローラ３は画像信号に対して所定の画像処理が行って、画像データを得る。
【００１８】
プリンタ装置４はマーキングユニット４１、給紙ユニット４２、および排紙ユニット４３を有している。画像形成（印刷）を行う際には、給紙ユニット４２から記録紙がマーキングユニット４１に送られる。マーキングユニット４１は、コントローラ３の制御下で、画像データに応じて記録紙に画像を印刷する。そして、印刷後の記録紙は排紙ユニット４３によって画像形成装置１の外部に排紙される。
【００１９】
なお、操作部５は、ユーザがコントローラ３に各種入力を行うために用いられるとともに、コントローラ３から与えられる各種情報を表示する。また、補助記憶装置６には画像データおよびコントローラ３で実行される制御プログラム等が記憶される。図示の画像形成装置１は、ＰＣ９からＬＡＮ１０を介して受信した画像データに応じた印刷を行う。
【００２０】
図２は、図１に示すコントローラ３の構成の一例を示すブロック図である。
【００２１】
図２を参照すると、コントローラ３は、メインボード２００およびサブボード２２０を備えている。メインボード２００は、所謂汎用的なＣＰＵシステムである。
【００２２】
メインボード２００はＣＰＵ２０１を有しており、ＣＰＵ２０１はメインボード全体の制御を司る。ブートＲＯＭ２０２にはブートプログラムが格納され、メモリ２０３はＣＰＵ２０１によってワークメモリとして使用される。図示のように、ＣＰＵ２０１には、バスコントローラ２０４、不揮発性メモリ２０５、ディスクコントローラ２０６、およびＵＳＢコントローラ２０８が接続されている。なお、前述の操作部５およびＬＡＮ  Ｉ／Ｆ８はＣＰＵ２０１に接続されている。
【００２３】
バスコントローラ２０４は外部バスとのブリッジ機能を有しており、バスコントローラ２０４によってＣＰＵ２０１はサブボード２２０に接続される。ディスクコントローラ２０６には前述の補助記憶装置６が接続されるとともに、小容量のストレージ装置であるフラッシュディスク（ＳＳＤ等）２０７が接続される。また、ＵＳＢコントローラ２０８には必要に応じてＵＳＢメモリ２０９が接続される。
【００２４】
サブボード２２０は小さな汎用ＣＰＵシステムと画像処理ハードウェアとによって構成される。サブボード２２０はＣＰＵ２２１を有しており、ＣＰＵ２２１はサブボード全体の制御を司る。メモリ２２３はＣＰＵ２０１によってワークメモリとして使用される。図示のように、ＣＰＵ２０１には、バスコントローラ２２４、不揮発性メモリ２２５、イメージプロセッサ２２７接続されるとともに、前述のＦＡＸ装置７が接続される。
【００２５】
バスコントローラ２２４は外部バスとのブリッジ機能を有しており、バスコントローラ２２４によってＣＰＵ２２１はメインボード２００に接続される。画像処理を行うためのイメージプロセッサ２２７はデバイスコントローラ２０６を介して前述のプリンタ装置４に接続されるとともに、デバイスコントローラ２２８を介してスキャナ装置２に接続されている。
【００２６】
なお、図２に示す例は簡略化されており、例えば、ＣＰＵ２０１および２２１等にはチップセット、バスブリッジ、およびクロックジェネレータ等のＣＰＵ周辺ハードウェアが含まれているが、本実施の形態の説明の便宜上省略されている。
【００２７】
ここで、記録紙に画像複写する際のコントローラ３の動作について説明する。
【００２８】
いま、ユーザが操作部５から画像複写を指示すると、ＣＰＵ２０１はバスコントローラ２０４および２２４を介してＣＰＵ２２１に画像複写指示を送る。これによって、ＣＰＵ２２１は、イメージプロセッサ２２７およびデバイスコントローラ２２８を介してスキャナ装置２に対して画像読み取り命令を与える。
【００２９】
画像読み取り命令に応じて、スキャナ装置２は原稿を光学的にスキャンし、スキャンによって得られた画像信号を、デバイスコントローラ２２８を介してイメージプロセッサ２２７に入力する。そして、イメージプロセッサ２２７は所定の画像処理を行って画像信号を画像データとし、ＣＰＵ２２１を介してメモリ２２３に画像データをＤＭＡ転送する。これによって、メモリ２２３に画像データが一時的に保存される。
【００３０】
ＣＰＵ２０１は、メモリ２２３に所定量の画像データが記録されるか又は全ての画像データが記録されたことを確認すると、ＣＰＵ２２１に対して画像出力指示を送る。これによって、ＣＰＵ２２１はイメージプロセッサ２２７およびデバイスコントローラ２２６を介してプリンタ装置４に画像出力命令を送る。
【００３１】
この際、ＣＰＵ２２１はイメージプロセッサ２２７に対してメモリ２２３上の画像データの位置を教示する。そして、ＣＰＵ２２１はプリンタ装置４から送られる同期信号に従ってメモリ２２３上の画像データをイメージプロセッサ２２７およびデバイスコントローラ２２６を介してプリンタ装置４に送信する。これによって、プリンタ装置４は、画像データに応じて画像を記録紙に印刷する。
【００３２】
なお、複数部の印刷を行う場合には、ＣＰＵ２０１はメモリ２２３上の画像データを補助記憶装置６に保存する。そして、２部目以降の印刷においては、ＣＰＵ２０１は補助記憶装置６から画像データを読み出して、プリンタ装置４に当該画像データを送る。
【００３３】
ところで、図１に示す画像形成装置１は、省電力モードおよび通常電力モードを有し、省電力モードと通常電力モードとが切り替えられる。通常電力モードにおいては、少なくともコントローラ３およびＬＡＮ  Ｉ／Ｆ８の双方に電力が供給される。通常電力モードは、コントローラ３が受信パケットに対する応答処理を実行可能な状態である。一方、省電力モードにおいては、コントローラ３に対する電力供給は少なくとも通常電力モードよりも低減される。よって、画像処理装置１００の消費電力は低減する。つまり、省電力モードは、通常電力モードよりも消費電力を低減するモードである。省電力モードは、コントローラ３が受信パケットに対する応答処理を実行できない省電力状態である。
【００３４】
図３は、図１および図２に示すＬＡＮ  Ｉ／Ｆ８の構成を示すブロック図である。
【００３５】
図３を参照すると、ＬＡＮ  Ｉ／Ｆ８は、Ｉ／Ｆ部８０１を有しており、このＩ／Ｆ部８０１によって、ＬＡＮ  Ｉ／Ｆ２０８はコントローラ３（つまり、ＣＰＵ２０１）に接続される。通常電力モードにおいて、ＬＡＮ１０から受信パケット（受信情報）を受信する際には、ＬＡＮ１０から物理層部（ＰＨＹ）８１０を介してＭＡＣ（メディアアクセス制御部又はネットワークパケット受信部）８０９が受信パケット（受信情報）を受ける。ＭＡＣ８０９は、受信パケットを受信先入れ先出しメモリ（Ｒｘ  ＦＩＦＯ）８０４にセットする。そして、Ｒｘ  ＦＩＦＯ８０４にセットされた受信パケットは、Ｉ／Ｆ部８０１を介して、コントローラ３に送られる。
【００３６】
通常電力モードにおいて、送信パケット又は応答パケットをＬＡＮ１０に送信する際には、コントローラ３からＩ／Ｆ部８０１を介して送信先入れ先出しメモリ（Ｔｘ  ＦＩＦＯ）８０５に送信パケット又は応答パケットがセットされる。ＭＡＣ３０９は送信パケット又は応答パケットをＴｘ  ＦＩＦＯ８０５にからＰＨＹ８１０に渡して、当該送信パケット又は応答パケットをＬＡＮ１０に送出する。
【００３７】
省電力モードの場合には、ＬＡＮ１０からＰＨＹ８１０を介してＭＡＣ８０９が受信パケット（受信情報）を受ける。ＭＡＣ８０９は、当該受信パケットをＲｘ  ＦＩＦＯ８０６（第３の記憶手段）にセットする。そして、マイクロプロセッサ８０８は省電力モードを維持した状態で当該受信パケットに対する応答が可能であるか否かについて判断する。
【００３８】
省電力モードを維持した状態で応答可能であると判断すると、マイクロプロセッサ８０８は受信パケットに対応する応答パケット（応答情報）を生成し、当該応答パケットをＴｘ  ＦＩＦＯ８０７にセットする。Ｔｘ  ＦＩＦＯ８０７にセットされた応答パケット（応答情報）は、ＭＡＣ８０９によってＰＨＹ８１０を介してＬＡＮ１０に送出される。
【００３９】
一方、省電力モードを維持した状態で応答不可能であると判断すると、マイクロプロセッサ８０８は、後述するように、省電力モードから通常電力モードへの変更を行う。これによって、コントローラ３のハードウェアリソースによって受信パケットの応答が行われる。
【００４０】
フラッシュメモリ（Ｆｌａｓｈ）８０２は不揮発メモリであり、Ｉ／Ｆ部８０１を介してコントローラ３と情報の送受が行われる。コントローラ３は、マイクロプロセッサ８０８に情報を通知するために、その情報をＦｌａｓｈ８０２に格納する。レジスタ群（Ｒｅｇｉｓｔｅｒｓ）８０３は、ＬＡＮ  Ｉ／Ｆ８の制御の際のステータスを反映するためのレジスタ群である。マイクロプロセッサ８０８は、ＭＡＣ８０９の設定を変更するために、レジスタ群８０３に記憶されている値を変更する。
【００４１】
ここで、本実施の形態による画像処理装置１における省電力モードから通常電力モードへの復帰処理の理解を容易にするため、省電力モードから通常電力モードへの復帰処理の一例を説明する。
【００４２】
図４は、図１に示すメモリ２０３に配置された受信ディスクリプタおよび受信バッファの一例を示す図である。
【００４３】
いま、メモリ２０３において、受信ディスクリプタ（受信記述子）Ａ３００がアドレス”０ｘ１０００＿００００”、受信ディスクリプタＢ３０１がアドレス”０ｘ１０００＿０００４”、受信ディスクリプタＣ３０２がアドレス”０ｘ１０００＿０００８”にそれぞれマッピングされているものとする。
【００４４】
図２には示されていないが、メインボード２００には複数の受信バッファが備えられている。例えば、これら受信バッファはメモリ２０３上に配置される。図４において、受信ディスクリプタＡ３００には、受信バッファＡ３１０に対するアドレス”０ｘ１０００＿１０００”が格納されている。また、受信ディスクリプタＢ３０１には、受信バッファＢ３１１に対するアドレス”０ｘ１０００＿１８００”が格納されており、受信ディスクリプタＣ３０２には、受信バッファＣ３１２に対するアドレス”０ｘ１０００＿２０００”が格納されているものとする。
【００４５】
図５は、省電力モードから通常電力モードへの復帰処理の一例を説明するためのフローチャートである。
【００４６】
ＬＡＮ  Ｉ／Ｆ８が応答不能な受信パケット（ネットワークパケットともいう：受信情報）をＬＡＮ１０から受信すると、マイクロプロセッサ８０８は、省電力モードから通常電力モードへの復帰を指示する信号を電力制御部（図１において不図示）に送信する（ステップＳ４０１）。電力制御部はその信号に従って、コントローラ３が通常電力モードへ復帰するよう、コントローラ３への電力供給を制御する。そして、マイクロプロセッサ８０８は、ＬＡＮ１０とのリンクを一旦切断する（ステップＳ４０２）。その後、マイクロプロセッサ８０８は、Ｉ／Ｆ部８０１を介して受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに、通常電力モードへ復帰する要因となった受信パケット（以下、復帰要因パケットと呼ぶ）を格納する（ステップＳ４０３）。続いて、マイクロプロセッサ８０８は、ＬＡＮ１０とのリンクを確立するためのリンク確立処理を行う（ステップＳ４０４）。
【００４７】
次に、ＣＰＵ２０１は、ＬＡＮ１０とのリンクが確立されたか否かを確認する（ステップＳ４０５）。リンクが確立しないと（ステップＳ４０５において、ＮＯ）、ＣＰＵ２０１は再度、ＬＡＮ１０とのリンクが確立された否かを確認する。
【００４８】
一方、リンクが確立すると（ステップＳ４０５において、ＹＥＳ）、ＣＰＵ２０１はメモリ２０３上の受信ディスクリプタを参照して、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のメモリ２０３上の位置を確認し、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに格納された復帰要因パケットに対する応答パケットを生成して、この応答パケットをＬＡＮ  Ｉ／Ｆ８を介してＬＡＮ１０に送出する（ステップＳ４０６）。そして、ＣＰＵ２０１は通常のネットワーク処理を開始する（ステップＳ４０７）。これによって、通常電力モードへの復帰が完了する。
【００４９】
なお、復帰処理の際に、復帰要因パケットを受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに格納することによって、ＣＰＵ２０１は通常電力モードに復帰後、復帰要因パケットに対する応答を素早く行うことができる。つまり、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに復帰要因パケットを一旦格納しないと、復帰処理の際、ＣＰＵ２０１は復帰要因パケットが存在したか否か分からない。仮に復帰要因パケットを受信バッファに格納しないと、パケット送信元が復帰要因パケットを再度送信した場合にのみ、ＣＰＵ２０１は復帰要因パケットに対する応答を行う。このことは、ＣＰＵ２０１における応答処理がパケット送信元のリトライの間隔に依存することになり、パケット送信元がリトライを行わなければ、応答自体が行われないことになる。
【００５０】
上述のステップＳ４０２において、リンク切断処理を行わないと、復帰処理の過程で受信バッファＡ３１０、受信バッファ３１１、および受信バッファＣ３１２に、復帰要因パケット以外の別の受信パケットが格納されることがある。この場合、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに格納された復帰要因パケットに別の受信パケットが上書きされてしまう可能性があり、ＣＰＵ２０１は復帰要因パケットに対する応答処理を実行できなくなる。このため、ステップＳ４０２において、リンク切断処理を行う必要がある。
【００５１】
ところが、図５の通常電力モードへの復帰処理においては、リンク切断処理とリンク確立処理を行わなければならず、その分、復帰要因パケットに対する応答が遅延することになる。
【００５２】
図６は、本発明が適用された画像形成装置における、図１に示すメモリ２０３に配置された受信ディスクリプタおよび受信バッファの例を示す図である。
【００５３】
図６に示す例では、図４で説明した受信ディスクリプタおよび受信バッファに加えて、受信ディスクリプタＤ３２０、受信ディスクリプタＥ３２１、および受信ディスクリプタＦ３２２と、受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２がメモリ２０３に配置される。
【００５４】
図６において、受信ディスクリプタＤ３２０はアドレス”０ｘ２０００＿００００”に、受信ディスクリプタＥ３２１はアドレス”０ｘ２０００＿０００４”に、そして、受信ディスクリプタＦ３２２はアドレス”０ｘ１０００＿０００８”にそれぞれマッピングされているものとする。
【００５５】
また、受信ディスクリプタＤ３２０には、受信バッファＤ３３０に対するアドレス”０ｘ２０００＿１０００”が格納されている。また、受信ディスクリプタＥ３２１には、受信バッファＢ３３１に対するアドレス”０ｘ２０００＿１８００”が格納されており、受信ディスクリプタＦ３２２には、受信バッファＦ３３２に対するアドレス”０ｘ２０００＿２０００”が格納されているものとする。
【００５６】
図６に示す例では、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２が、受信情報を格納する第１の記憶手段（又は第１のメモリ）として用いられ、受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２が、受信情報を格納する第２の記憶手段（又は第２のメモリ）として用いられる。なお、この例では、３つの受信バッファを１組として配置する場合について説明するが、受信バッファは各組に少なくとも１つあればよい。
【００５７】
各受信ディスクリプタは各受信バッファに対応付けられていて、各受信バッファが配置されているメモリ上のアドレスを格納する第１のアドレス記憶手段又は第２のアドレス記憶手段として機能する。
【００５８】
ここで、受信ディスクリプタＤ３２０、受信ディスクリプタＥ３２１、および受信ディスクリプタＦ３２２と、受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２とは、後述のように、省電力モードから通常電力モードに復帰する際にのみ使用される。
【００５９】
一方、受信ディスクリプタＡ３００、受信ディスクリプタＢ３０１、および受信ディスクリプタＣ３０２と、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２とは、通常電力モードの際に使用される。
【００６０】
図７は、本発明が適用された画像形成装置における、省電力モードから通常電力モードへの復帰処理を説明するためのフローチャートである。
【００６１】
ＬＡＮ  Ｉ／Ｆ８が応答不能な受信パケット（つまり、復帰要因パケット）をＬＡＮ１０から受信すると、マイクロプロセッサ８０８は省電力モードから通常電力モードへの復帰を指示する信号を電力制御部に送信する（ステップＳ５０１）。これによって、コントローラ３の状態は省電力モードから通常電力モードに移行する。そして、マイクロプロセッサ８０８は、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれか（つまり、第１の記憶手段）に、復帰要因パケットを格納する（ステップＳ５０２）。この際、マイクロプロセッサ８０８は、復帰要因パケットを格納した受信バッファに対応する受信ディスクリプタに当該受信バッファのアドレスを格納する。
【００６２】
なお、復帰要因パケットが格納されていない受信バッファに対応する受信ディスクリプタにはアドレスは格納されない。
【００６３】
その後、マイクロプロセッサ８０８は、ＭＡＣ８０９の設定を変更して、使用する受信ディスクリプタを受信ディスクリプタＤ３２０、受信ディスクリプタＥ３２１、および受信ディスクリプタＦ３２２に切り替える処理を行う（ステップＳ５０３）。つまり、復帰処理の際には、受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２（つまり、第２の記憶手段）のいずれかに受信パケットが書き込まれる（受信ディスクリプタの切り替えを行う）。つまり、ＭＡＣ８０９は、受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２のいずれかに、受信パケットを格納するようＩ／Ｆ部８０１を制御する。この際、ＭＡＣ８０９は、受信パケットを格納した受信バッファに対応する受信ディスクリプタに当該受信バッファのアドレスを格納する。
【００６４】
次に、復帰処理の際には、ＣＰＵ２０１はメモリ２０３上の受信ディスクリプタを参照して、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のメモリ２０３上の位置を確認し、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに格納された復帰要因パケットに対する応答パケット（応答情報）を生成して、この応答パケットをＬＡＮ  Ｉ／Ｆ８を介してＬＡＮ１０に送出する（ステップＳ５０４）。
【００６５】
復帰要因パケットに対する応答が完了すると、ＣＰＵ２０１は、使用する受信ディスクリプタを受信ディスクリプタＡ３００、受信ディスクリプタＢ３０１、および受信ディスクリプタＣ３０２に切り替える処理を行う（ステップＳ５０５）。このとき、ＣＰＵ２０１は、使用する受信ディスクリプタを受信ディスクリプタＡ３００、受信ディスクリプタＢ３０１、および受信ディスクリプタＣ３０２に切り替えるよう、マイクロプロセッサ８０８に通知する。マイクロプロセッサ８０８は、ＭＡＣ８０９の設定を変更して、使用する受信ディスクリプタを受信ディスクリプタＡ３００、受信ディスクリプタＢ３０１、および受信ディスクリプタＣ３０２に切り替える処理を行う。これ以降は、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに受信パケットが書き込まれる。そして、ＣＰＵ２０１は通常のネットワーク処理を開始する（ステップＳ５０６）。これによって、通常電力モードへの復帰が完了する。
【００６６】
このようにして、省電力モードから通常電力モードへの切り替えを行う際、復帰要因パケットを通常電力モードで用いられる受信バッファに格納した後、復帰用に用いられる受信バッファに切り替える。さらに、復帰要因パケットに応答をした後、通常電力モードで用いられる受信バッファに切り替える。これによって、復帰途中で受信パケットを受信すれば、復帰用の受信バッファに受信パケットが格納されることになる。
【００６７】
従って、復帰処理の過程で受信パケットを受信したとしても、当該受信パケットは受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２のいずれかに格納されることになる。受信バッファＤ３３０、受信バッファＥ３３１、および受信バッファＦ３３２のいずれかに受信パケットが格納されていれば、ＣＰＵ２０１はその受信パケットも処理する。
【００６８】
この結果、受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２のいずれかに格納された復帰要因パケットが失われることがない。よって、ＣＰＵ２０１は受信バッファＡ３１０、受信バッファＢ３１１、および受信バッファＣ３１２に格納された復帰要因パケットに対する応答を直ちに行うことができる。
【００６９】
さらに、リンク切断処理およびリンク確立処理を行う必要がないから、復帰要因パケットに対する応答が遅延することがない。
【００７０】
以上のように、本実施の形態によれば、省電力モードから通常電力モードに復帰の際、リンク切断処理およびリンク確立処理を行うことなく、復帰要因パケットに対して確実に応答を行うことができ、しかも受信パケットが失われることがないからその整合性を保つこともできる。
【００７２】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００７３】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを、情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００７５】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００７６】
２  スキャナ装置
３  コントローラ（制御装置）
４  プリンタ装置
８  ＬＡＮ  Ｉ／Ｆ（ネットワークインタフェース部）
２０１，２２１  ＣＰＵ
２０３  メモリ
８０１  Ｉ／Ｆ部
８０８  マイクロプロセッサ
８０４〜８０７  ＦＩＦＯ
８０９  ＭＡＣ（メディアアクセス制御部）
【図１】
0005780768.tif 000002
【図２】
0005780768.tif 000003
【図３】
0005780768.tif 000004
【図４】
0005780768.tif 000005
【図５】
0005780768.tif 000006
【図６】
0005780768.tif 000007
【図７】
0005780768.tif 000008