(57)【要約】【課題】EEE機能を備えた印刷装置において、省電力モードからの復帰時におけるプリンタエンジンの起動制御を効率よく行う。【解決手段】印刷装置であって、プリンタエンジンと、第１リンク速度で外部装置と通信する通常動作状態、前記第１リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第１スリープ状態、及び、前記第１リンク速度より低速の第２リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第２スリープ状態に移行可能なネットワークインタフェースと、前記ネットワークインタフェースと通信可能なプロセッサと、前記印刷装置を省電力状態に移行させる条件を満たしたことに基づいて、前記プリンタエンジン及び前記プロセッサへの電力供給を停止する電力制御部と、を備え、前記プロセッサは、前記印刷装置が前記省電力状態に移行するときに、前記ネットワークインタフェースを前記通常動作状態から前記第１スリープ状態又は前記第２スリープ状態にする、ことを特徴とする。【選択図】図８
2018089854.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置であって、
プリンタエンジンと、
第１リンク速度で外部装置と通信する通常動作状態、前記第１リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第１スリープ状態、及び、前記第１リンク速度より低速の第２リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第２スリープ状態に移行可能なネットワークインタフェースと、
前記ネットワークインタフェースと通信可能なプロセッサと、
前記印刷装置を省電力状態に移行させる条件を満たしたことに基づいて、前記プリンタエンジン及び前記プロセッサへの電力供給を停止する電力制御部と、
を備え、
前記プロセッサは、前記印刷装置が前記省電力状態に移行するときに、前記ネットワークインタフェースを前記通常動作状態から前記第１スリープ状態又は前記第２スリープ状態にする、
ことを特徴とする印刷装置。
【請求項２】
前記ネットワークインタフェースは、前記第１スリープ状態のときに前記外部装置から受信したデータを前記プロセッサに転送し、
前記プロセッサは、受信した前記データに基づいて前記プリンタエンジンに電力を供給するべきか否かを決定する、
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記ネットワークインタフェースは、前記第２スリープ状態のときに前記外部装置から受信したデータに基づいて、前記プリンタエンジンに電力を供給するべきか否かを決定する、ことを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記ネットワークインタフェースは、前記外部装置から受信した前記データの宛先ポート番号に基づいて、前記プリンタエンジンに電力を供給するべきか否かを決定する、ことを特徴とする請求項３に記載の印刷装置。
【請求項５】
前記ネットワークインタフェースは、リンク速度を前記第２リンク速度から前記第１リンク速度に変更した後に、前記外部装置から受信したデータを前記プロセッサに転送する、ことを特徴とする請求項３に記載の印刷装置。
【請求項６】
前記ネットワークインタフェースは、前記第１スリープ状態のときに前記外部装置から受信したデータを解析し、解析結果に基づいて前記プリンタエンジンに電力を供給するべきか否かを決定する、
ことを特徴とする請求項１に記載の印刷装置。
【請求項７】
前記ネットワークインタフェースは、前記第２スリープ状態のときに前記外部装置からデータを受信したことに応答して、前記プリンタエンジンに電力を供給するよう前記電力制御部に指示する、ことを特徴とする請求項１に記載の印刷装置。
【請求項８】
印刷装置の制御方法であって、
前記印刷装置は、
プリンタエンジンと、
第１リンク速度で外部装置と通信する通常動作状態、前記第１リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第１スリープ状態、及び、前記第１リンク速度より低速の第２リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第２スリープ状態に移行可能なネットワークインタフェースと、
前記ネットワークインタフェースと通信可能なプロセッサと、
前記印刷装置を省電力状態に移行させる条件を満たしたことに基づいて、前記プリンタエンジン及び前記プロセッサへの電力供給を停止する電力制御部と、
を備え、
前記プロセッサによって、前記印刷装置が前記省電力状態に移行するときに、前記ネットワークインタフェースを前記通常動作状態から前記第１スリープ状態又は前記第２スリープ状態にする、
ことを特徴とする印刷装置の制御方法。
【請求項９】
コンピュータに請求項８に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークと接続される印刷装置の省電力モードからの復帰制御に関する。
【背景技術】
【０００２】
プリンタや複合機（MFP：Multi Function Peripheral）といったネットワークに接続される印刷装置では、待機時の消費電力の削減が進められている。近年の印刷装置は、アクセスや操作が一定時間なかった場合に、ネットワークインタフェースなど一部のみに通電する省電力モードを備えるのが一般的である。そして、省電力モードでの消費電力を小さくするため、省電力モード移行時にネットワークの通信速度を低速にする技術が知られている。さらに、IEEE802.3azとして標準化された省電力技術であるEEE（Energy Efficient Ethernet）の下、PHYとハブとの間で通信が所定時間行われないとPHYとMAC間のクロック信号を停止させる技術が知られている（特許文献１）。また、パケット受信時にプリンタエンジンをより早く起動させるため、ネットワークコントローラが受信パケットの一部のデータに基づいてプリンタエンジンを起動させる技術が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２１２９４６号公報
【特許文献２】特開２００８−１８１４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
パケット受信時のポート番号に基づいて判断する特許文献２の技術の場合、受信パケットがプリント処理を伴わないジョブに関するものである場合にもプリンタエンジンが起動されてしまうという問題があった。この点、EEEを採用する場合、復帰に要する時間が短いため、受信パケットを解析してプリント処理を伴うジョブであることを確認してからプリンタエンジンを起動するようにしても全体時間への影響は少ない。そして、特許文献１はEEEに基づいてPHYとMAC間のクロック信号を停止させることで大きな節電効果を得ることを目的としており、省電力モードから復帰する際のプリンタエンジンの速やかな起動については考慮されていない。
【０００５】
本発明は、EEE機能を備えた印刷装置において、省電力モードからの復帰時におけるプリンタエンジンの起動制御を効率よく行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る印刷装置は、プリンタエンジンと、第１リンク速度で外部装置と通信する通常動作状態、前記第１リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第１スリープ状態、及び、前記第１リンク速度より低速の第２リンク速度で外部装置と通信しつつ前記通常動作状態より省電力の第２スリープ状態に移行可能なネットワークインタフェースと、前記ネットワークインタフェースと通信可能なプロセッサと、前記印刷装置を省電力状態に移行させる条件を満たしたことに基づいて、前記プリンタエンジン及び前記プロセッサへの電力供給を停止する電力制御部と、を備え、前記プロセッサは、前記印刷装置が前記省電力状態に移行するときに、前記ネットワークインタフェースを前記通常動作状態から前記第１スリープ状態又は前記第２スリープ状態にする、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、EEE機能を備えた印刷装置において、省電力モードからの復帰時におけるプリンタエンジンの起動制御を効率よく行うことができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムの概略構成を示すブロック図である。
【図２】MFPの電力制御系のハードウェア構成を示すブロック図である。
【図３】主制御部のハードウェア構成を示すブロック図である。
【図４】ネットワークインタフェースの内部構成を示すブロック図である。
【図５】主制御部のソフトウェア構成を示すブロック図である。
【図６】MFPにおける4つの動作モードとACPIのステートとの関係を示す図である。
【図７】電力制御アプリによるモード移行制御の流れを示すフローチャートである。
【図８】ネットワークインタフェースにおけるスリープモードへの移行制御の詳細を示すフローチャートである。
【図９】実施例１に係るパケット受信処理の詳細を示すフローチャートである。
【図１０】実施例２に係るパケット受信処理の詳細を示すフローチャートである。
【図１１】実施例３に係るパケット受信処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１０】
図１は、本実施例に係る、印刷システムの概略構成を示すブロック図である。印刷システム１０は、MFP１００とPC１１０とが、ネットワーク１１１とハブ（HUB）１２０を介して接続されている。ネットワーク１１１、１１２は、例えばイーサネット（登録商標）（Ethernet）である。外部装置としてのPC１１０は、MFP１００に対して文書等の印刷指示が可能な情報処理装置であって、MFP１００と通信可能に接続されている。印刷装置としてのMFP１００は、コピー機能、プリント機能、スキャン機能、FAX機能などの複数の機能を実行可能な複合機である。MFP１００は、主制御部１０１、操作部１０２、スキャナ部１０３、プリンタ部１０４及び電源部１０５で構成される。操作部１０２、スキャナ部１０３、プリンタ部１０４は、MFP１００の各機能を実行する機能ユニットであり、主制御部１０１は、機能ユニットを制御する制御ユニットである。主制御部１０１は、ネットワーク１１２を介してHUB１２０と接続され、データの送受信を行う。
【００１１】
操作部１０２は、ユーザが印刷部数などを入力するためのテンキー、印刷開始の実行指示を行うためのスタートキー、MFP１００をスリープモードにするための節電キーなどのハードキーを有する。また、操作部１０２は、各種情報を表示する表示部（不図示）を有する。この表示部は、例えばタッチパネルタイプの液晶ディスプレイである。スキャナ部１０３は、不図示の原稿台にセットされた原稿をスキャンして、得られた画像をデジタルデータに変換し、主制御部１０１に出力する。プリンタ部１０４は、電子写真方式やインクジェット方式といった所定の印刷方式のプリンタエンジンを有し、主制御部１０１で所定の画像処理がなされた画像データに基づき、プリンタエンジンで紙等の記録媒体上に画像を形成する。電源部１０５は、不図示の電源プラグを介して入力された交流電圧を直流電圧に変換し、MFP１００の各ユニットに供給する。
【００１２】
続いて、MFP１００における電力制御系について説明する。図２は、MFP１００の電力制御系のハードウェア構成を示すブロック図である。電源部１０５には、電源プラグ２０８を介して交流電圧が入力される。電源プラグ２０８を介して入力された交流電圧は、メインスイッチ２０７を介して第１電源部２０５及び第２電源部２０６のそれぞれに供給される。メインスイッチ２０７は、例えばロッカースイッチであって、ユーザ操作に従ってオフ状態又はオン状態になる。第１電源部２０５は、入力された交流電圧から例えば5.0Vの直流電圧を生成する。また、第２電源部２０６は、入力された交流電圧から例えば24.0Vの直流電圧を生成する。第１電源部２０５によって生成された直流電圧は、主制御部１０１に供給される。また、第２電源部２０６によって生成された直流電圧は、操作部１０２、スキャナ部１０３、プリンタ部１０４に供給される。
【００１３】
第２電源部２０６と各機能ユニット（操作部１０２、スキャナ部１０３、プリンタ部１０４）との間にはリレースイッチ２０２〜２０４が設けられる。これらリレースイッチ２０２〜２０４は、主制御部１０１内の電力制御部２０１によって、個別にオン又はオフが制御される。また、電力制御部２０１は、不図示のソレノイドを駆動することによって、メインスイッチ２０７をオン／オフを切り替えることができる。
【００１４】
次に、主制御部１０１の詳細について説明する。図３は、主制御部１０１のハードウェア構成を示すブロック図である。主制御部１０１は、メインCPU３０１、プログラムメモリ３０２、汎用メモリ３０３、画像処理部３０４、ネットワークインタフェース３０５、操作部インタフェース３０６、及び、上述の電力制御部２０１で構成される。
【００１５】
メインCPU３０１は、PCIバス（データ転送路）３１０を介して画像処理部３０４と接続される。また、メインCPU３０１は、PCIバス（データ転送路）３２０を介してネットワークインタフェース３０５と接続される。PCIバス３１０及び３２０は、PCI Express規格に従うバスであって、画像処理部３０４及びネットワークインタフェース３０５は、PCI Express規格に対応したPCIデバイスである。
【００１６】
メインCPU３０１は、周辺デバイスと通信するためのインタフェース回路を備えたプロセッサであり、MFP１００を統括的に制御する。プログラムメモリ３０２は、例えばフラッシュメモリであり、MFP１００を制御するプログラムや制御データを格納する。メインCPU３０１は、プログラムメモリ３０２からロードしたプログラムを、汎用メモリ３０３に展開して実行する。汎用メモリ３０３は、メインCPU３０１のワークメモリとして使用される他、コピージョブやプリントジョブに係る画像データ等を一時的に格納する。
【００１７】
画像処理部３０４は、スキャナ部１０３やプリンタ部１０４と通信可能に接続され、スキャナ部１０３によって読み取られたスキャン画像データに対する画像処理や、プリンタ部１０４でプリント処理される画像データの画像処理を行う。ネットワークインタフェース３０５は、例えばNIC（Network Interface Card）などの拡張基板で、PC１１０との間でパケットなどのデータをやり取りするための通信制御を担う。操作部インタフェース３０６は、操作部１０２とメインCPU３０１とを接続するためのインタフェースであり、操作部１０２のキー操作やタッチパネル操作に関わる情報をメインCPU３０１に送信する。また、操作部インタフェース３０６は、表示部に表示するための画面データを操作部１０２に送信する。
【００１８】
電力制御部２０１は、MFP１００内各ユニットへの電力供給を制御するロジック回路である。電力制御部２０１は、操作部１０２を介したユーザ入力や、ネットワークインタフェース３０５を介してPC１１０からのパケットデータの受信などに起因する割り込み信号に基づいて、MFP１００をスリープモードから復帰させる。なお、電力制御部２０１に入力される割り込み信号には、上記の他、プリンタ部１０４からの記録紙の検知信号、スキャナ部１０３からの原稿の検知信号、不図示の人体センサ部からの人体の検知信号などがある。
【００１９】
次に、ネットワークインタフェース３０５について詳しく説明する。図４は、ネットワークインタフェース３０５の内部構成を示すブロック図である。ネットワークインタフェース３０５は、サブCPU４０１、ROM４０２、汎用メモリ４０３、PHY４０４、MAC４０５、PCIバスコントローラ４０６で構成され、これらがシステムバス４０７を介して相互に接続されている。なお、ネットワークインタフェース３０５は、主制御部１０１の基板と同じ基板上に設けられていてもよいし、異なる基板上に設けられてもよい。
【００２０】
サブCPU４０１は、ネットワークインタフェース３０５を制御するプロセッサである。ROM４０２は、ネットワークインタフェース３０５を制御するための各種プログラムを格納する。汎用メモリ４０３は、読み書き可能なメモリであり、サブCPU４０１が各種プログラムを実行するのに使用する。PHY４０４は、ネットワーク１１２に接続するにあたり、接続先との電気的な信号のやり取りを行う物理層である。MAC４０５を介してPHY４０４は、ネットワークインタフェースとして代表的な規格であるEthernetに接続される。MAC（Media Access Control）４０５は、PHY４０４を介して受信した信号を、装置内のデバイスが取り扱うフレームに変換する。また、ネットワークインタフェース３０５は、不図示のDMA回路を含んでおり、ネットワーク１１２から受信したデータを汎用メモリ４０３内にDMA転送することが可能である。また、汎用メモリ４０３内に存在するデータをDMA転送によって、ネットワーク１１２に送信することも可能である。 
【００２１】
本実施例では、PHY４０４が、EEEのLPI（Low Power Idle）に対応しているものとする。LPIは、PHY４０４においてパケットの送受信が一定時間なかった場合、PHY４０４及びMAC４０５の一部機能を停止し、電力消費を抑える機能である。LPIでは、PHY４０４の通信速度を変更せずにネットワークのリンクを維持できる上、復帰時間が短い（約10usec）という利点がある。なお、LPIが有効になる条件としては、PHY４０４の接続先であるHUB１２０内部のPHY４１１も同様にEEEに対応しており、かつ双方で、EEEの機能を使用可能に設定していることが条件となる。
【００２２】
PCIバスコントローラ４０６は、システムバス４０７を介して、汎用メモリ４０３及びROM４０２にアクセスする。なお、本実施例のネットワークインタフェース３０５は、PCIバスコントローラ４０６を有し、PCIバス３２０に接続する構成としたが、PCIバス以外の規格のバスに接続する構成であってもよい。
【００２３】
ここで、ネットワークインタフェース３０５内のPHY４０４とHUB１２０内のPHY４１１とのやりとりについて説明する。MFP１００が起動すると、PHY４０４とPHY４１１がFLP（Fast Link Pulse）の送受信を開始する。FLPとは、最大通信速度などPHYのリンク確立後の通信モードを決めるために必要な設定情報を接続先のPHYに知らせるための信号である。また、PHYがEEEに対応している場合には、EEE設定の有効／無効に関する情報もFLPでやり取りされる。次に、PHY４０４とPHY４１１は、送受信したFLPを基にオートネゴシエーションを実行する。その後、通信速度や、EEE設定の有効／無効を含むPHYの設定を決定してリンクを確立する。このときの通信速度は、通常、交換したFLPに示される通信速度の中から、共通かつ最大となる通信速度に設定される。なお、本実施例では、PHY４０４の通信速度は、1000Mbps、100Mbps、10Mbpsの中から設定されるものとする。一般に、PHY４０４に設定される通信速度に応じて、PHY４０４及びMAC４０５の消費電力が変化する。消費電力は、PHY４０４に対する通信速度の設定が1000Mbpsの場合に最も大きくなり、10Mbpsの場合に最も小さくなる。
【００２４】
上述の通り、EEEが使用可能な設定であるかどうかの情報もFLPに含まれる。そのため、PHY４０４とPHY４１１の両方でEEEが使用可能な設定になっている場合は、オートネゴシエーションの結果、EEEの機能が有効となる。PHY４０４又はPHY４１１のいずれかでEEEが使用可能な設定でない場合には、EEEの機能は無効となる。こうしてPHY４０４とPHY４１１との間でリンクが確立すると、両者の間でパケットの送受信が可能となる。なお、FLPを送受信する際には、通常であればそのPHYにおいて設定可能な通信速度がすべて通知されるが、通知する通信速度をPHYに事前に設定しておくことも可能である。例えば、サブCPU４０１の管理情報によりPHY４０４における設定可能な通信速度として例えば1000Mbpsを無効にしておく。これにより、設定可能な通信速度として有効なもののみ（例えば100Mbpsや10Mbps）がFLPで相手に通知されることになる。 
【００２５】
続いて、主制御部１０１のソフトウェア構成について説明する。図５は、主制御部１０１のソフトウェア構成を示すブロック図である。本ブロック図において、アプリ層の各制御アプリとOS層の各デバイスドライバはメインCPU３０１が、ネットワークコントローラソフトウェアはサブCPU４０１が、それぞれ所定のプログラムを実行することによりその機能が実現される。
【００２６】
電力制御アプリ５０１は、MFP１００の電力制御を行うアプリケーションソフトウェアであり、アプリ層で動作している。電力制御アプリ５０１は、同じくアプリ層で動作するプリンタ制御アプリ５０２やスキャン制御アプリ５０３などに対して定期的にジョブの実行状況などを問い合わせ、その結果に基づいて、MFP１００の動作モードを制御する。具体的には、メインCPU３０１又はサブCPU４０１が電力制御部２０１に対して各ユニットへの電力の供給又は停止を指示し、MFP１００の動作モードを変更する。さらに、電力制御アプリ５０１は、OS層で動作するIOドライバ５１１及びネットワークドライバ５１２に対して、MFP１００の動作モードの情報を通知する。
【００２７】
ネットワークドライバ５１２は、ネットワークインタフェース３０５を制御するネットワークI/Fソフトウェア５２０と電力制御アプリ５０１との間の通信を、ネットワークインタフェース３０５の通信インタフェース仕様で中継する。
なお、アプリ層やOS層で実行されるソフトウェアは、図示されるものに限定されない。例えば操作部１０２の表示部の表示を制御するグラフィックドライバなど、他にも様々なソフトウェアが動作する。
【００２８】
OS層のデバイスドライバは、電力制御アプリ５０１から通知された動作モードの情報に基づき、MFP１００内の各ユニットへの電力供給を制御する。例えば、IOドライバ５１１は、通知された動作モードがスタンバイモードであるならば、電力制御部２０１を介してスキャナ部１０３とプリンタ部１０４への電力供給を継続してスタンバイモードに維持する。また、通知された動作モードが待機応答モードであるならば、電力制御部２０１を介してスキャナ部１０３とプリンタ部１０４への電力供給を停止させる。なお、本実施例において動作モードには、スタンバイモード、待機応答モード、スリープモード、電源オフモードの4つがある。これら各モードの詳細やモード間の移行については後述する。
【００２９】
次に、MFP１００の動作モードと電源管理の規格であるACPI（Advanced Configuration and Power Interface）のステートとの関係について説明する。図６は、MFP１００における4つの動作モードとACPIのステートとの関係を示す図である。本実施例のMFP１００は、ACPI規格で定められたS0ステート、S3ステート及びS5ステートのいずれかのステートを有する。S0ステートは、主制御部１０１のメインCPU３０１をはじめとするMFP１００内の主要ユニットに電力が供給されている状態である。S3ステートは、サスペンド状態とも呼ばれ、主制御部１０１のメインCPU３０１の状態情報を汎用メモリ３０３に退避させた上でメインCPU３０１への電力供給が停止され、汎用メモリ３０３など再起動に必要な一部に対する電力のみ維持されている状態である。S5ステートは、メインCPU３０１をはじめとするMFP１００内の全主要ユニットへの電力供給が停止されている状態である。つまり、本実施例において各ステートは、以下のように定義される。
【００３０】
・S0ステート：メインCPU３０１を含むMFP１００の主要ユニットに電力が供給されている状態（通常動作状態）
・S3ステート：メインCPU３０１への電力供給が停止され、メインメモリ（汎用メモリ３０３）など一部への電力供給のみが維持されている状態（スリープ状態）
・S5ステート：メインCPU３０１やメインメモリを含むMFP１００全体への電力供給が停止されている状態（停止状態）
そして、MFP１００の電力状態は、スタンバイモードがフル供給、待機応答モードとスリープモードが省電力、電源オフモードが供給停止となる。以下、各ステートにおけるMFP１００の動作モードと電力状態について詳しく説明する。
【００３１】
＜S0ステート（通常動作状態）＞
MFP１００は、メインCPU３０１に電力が供給されるS0ステート下で、所定の機能ユニットへの電力供給を停止するモードを持つ。例えば、コピージョブやプリントジョブを実行する場合には、メインCPU３０１に加え、スキャナ部１０３とプリンタ部１０４へ電力供給を行う必要がある。その一方で、PC１１０からの問合せジョブに対して応答する場合には、メインCPU３０１が起動していればよく、スキャナ部１０３とプリンタ部１０４を起動させる必要はない。そこで、本実施例のMFP１００は、S0ステート下の動作モードとして、スキャナ部１０３及びプリンタ部１０４へ電力供給を行うスタンバイモードと、スキャナ部１０６及びプリンタ部１０４への電力供給を停止する待機応答モードの2種類のモードを有する。スタンバイモードの場合は、MFP１００のすべての主要ユニット、すなわち、主制御部１０１、操作部１０２、スキャナ部１０３、プリンタ部１０４に電力が供給される。これに対し待機応答モードの場合は、主制御部１０１と操作部１０２には電力が供給されるが、スキャナ部１０３やプリンタ部１０４には電力が供給されない。なお、待機応答モード下での操作部１０２への電力供給は必須ではなく停止してもよい。
【００３２】
＜S3ステート（スリープ状態）＞
メインCPU３０１への電力供給を停止するS3ステートでは、上述の通りメインCPU３０１の状態情報などが汎用メモリ３０３に退避されている。このとき汎用メモリ３０３はいわゆるセルフリフレッシュモードになる。S3ステートから復帰する場合には、汎用メモリ３０３に退避させた状態情報を使ってレジュームすることによって、ブートロムから起動を行う場合に比べて高速に復帰することができる。S3ステート下では、メインCPU３０１に加え、操作部１０２、スキャナ部１０３、プリンタ部１０４への電力供給も停止される。これにより、操作部１０２の表示部における表示が消え、起動信号の入力を待つ省電力状態となる。このS3ステートにおいても、ネットワークインタフェース３０５への電力供給は継続され、EEE設定の有効／無効に応じた制御がなされる。
【００３３】
＜S5ステート（停止状態）＞
スタンバイモードや待機応答モードにおいてメインスイッチ２０７がオフされると電源オフモードに移行する。この状態がS5ステートであり、MFP１００全体への電力供給が停止される。
【００３４】
MFP１００の主要ユニットのオン／オフと、動作モード、電力状態、ACPIの各ステートとの関係をまとめると以下の表１のようになる。
【００３５】
【表１】
2018089854.tif 000003
【００３６】
ここで、MFP１００における動作モード（電力状態）の遷移について、図６を参照して説明する。
【００３７】
＜電源オフモード⇒スタンバイモード＞
メインスイッチ２０７がオンになると、矢印６０１が示すように、ステートS5の電源オフモードからステートS0のスタンバイモードに移行する。
【００３８】
＜スタンバイモード⇒待機応答モード＞
スタンバイモード下で所定時間の経過、所定スイッチの押下、時計設定の何れかの条件を満たすと、矢印６０２が示すように、待機応答モードへ移行する。ここで、所定時間の経過とは、操作部１０２でのユーザ操作が終了してからの経過時間、あるいはコピージョブの処理が終了してからの経過時間が、ユーザが予め定めた時間（数分〜数時間）を超えた場合である。ここでの所定スイッチは、操作部１０２に設けられた節電キー（不図示）であり、これをユーザが押下したことを検知すると、待機応答モードへと移行する。時計設定は、時計部（不図示）によって計時される現在時刻が予めユーザが設定した時刻（例えば20時）になった場合である。
【００３９】
＜待機応答モード⇒スリープモード＞
待機応答モード下で所定時間の経過、問合せジョブの処理終了の何れかの条件を満たすと、矢印６０３が示すように、スリープモードへ移行する。ここで、所定時間の経過とは、プリンタ部１０４を使用するジョブ処理が終了してからの経過時間が、ユーザが予め定めた時間（数分〜数時間）を超えた場合である。問合せジョブの処理終了は、PC１１０からの問い合わせに対する応答が終了した場合である。
【００４０】
＜待機応答モード⇒スタンバイモード＞
待機応答モード下で所定スイッチの押下、プリントジョブの受信、時計設定といった条件を満たすと、矢印６０４が示すように、スタンバイモードへ移行する。この場合の所定スイッチは、前述の節電キーを含む操作部１０２上の任意のキーであり、ユーザのキー操作を検知すると、スタンバイモードへと移行する。さらに、ユーザが例えばIDカードを用いた認証操作を行った場合や、コピー操作の設定を行った場合なども含む。また、プリントジョブの受信は、PC１１０からネットワーク１１１、１１２を介してプリントジョブを受信した場合である。時計設定は前述の通りである。待機応答モードからスタンバイモードへの復帰条件は、上記した内容に限らず、例えばスキャナ部１０３の原稿検知センサが原稿台に置かれた原稿を検知した場合や、プリンタ部１０４の手差し用紙トレイに置かれた用紙を検知した場合を含み得る。
【００４１】
＜スリープモード⇒待機応答モード／スタンバイモード＞
スリープモード下で所定スイッチの押下、プリントジョブの受信、特定の問合せジョブの受信、及び、時計設定の何れかの条件を満たすと、矢印６０５が示すように、待機応答モード又はスタンバイモードに移行（復帰）する。例えば、操作部１０２に設けられた節電キー（不図示）が押下されると、待機応答モードへ移行する。また、PC１１０からネットワーク１１１、１１２を介してプリントジョブを受信すると、スタンバイモードへ移行する。特定の問合せジョブとは、PC１１０からMFP１００の情報（以下、デバイス情報）を問い合わせるジョブであって、ネットワークインタフェース３０５が応答できない問合せジョブを指す。時計設定は前述の通りである。スリープモード下で上述の復帰条件を満たすと、電力制御部２０１に割込信号が入力される。電力制御部２０１は、割込信号が入力されると割込み信号の種類に応じて各機能ユニット、具体的には、メインCPU３０１、プログラムメモリ３０２、プリンタ部１０４等に電力が供給される。電力供給を受けてメインCPU３０１は、汎用メモリ３０３に退避された情報を用いてレジューム処理を行う。さらにネットワークインタフェース３０５から電力制御部２０１に対して、プリントジョブ受信に伴う割込信号が入力されると、メインCPU３０１や汎用メモリ３０３に加えて、プリンタ部１０４に電力が供給されるようリレースイッチ２０４が制御され、スタンバイモードへ移行する。
【００４２】
＜スリープモード⇒電源オフモード＞
スリープモード下でメインスイッチ２０７の押下、及び、所定時間の経過の何れかの条件を満たすと、矢印６０６が示すように、電源オフモードに移行する。メインスイッチ２０７の押下とは、ユーザがメインスイッチ２０７をオンからオフに操作した場合である。また、所定時間の経過とは、スリープモードの状態で、ユーザが予め定めた時間（数分〜数時間）が経過した場合である。
【００４３】
＜待機応答モード／スタンバイモード⇒電源オフモード＞
待機応答モード又はスタンバイモード下でユーザがメインスイッチ２０７をオフに操作すると、矢印６０７が示すように電源オフモードに移行する。なお、電源オフモードは、サスペンド状態（ACPI規格のS3ステート）であってもよいし、ハイバネーション状態（ACPI規格のS4ステート）であってもよい。
【００４４】
続いて、電力制御アプリ５０１による電力制御（モード移行制御）について説明する。図７（ａ）〜（ｃ）は、電力制御アプリ５０１によるモード移行制御の流れを示すフローチャートである。以下、各フローについて説明する。
【００４５】
図７（ａ）はスタンバイモードから待機応答モードへの移行制御の流れを示すフローチャートである。ステップ７０１では、前述した待機応答モードへの移行条件を満たすかどうかが判定される。待機応答モードへの移行条件を満たす場合は、ステップ７０２に進む。一方、待機応答モードへの移行条件を満たさない場合は、監視が続行される。ステップ７０２では、IOドライバ５１１とネットワークドライバ５１２に対し、待機応答モードへの移行が通知される。この通知を受けてネットワークドライバ５１２はネットワークI/Fソフトウェア５２０に対し、同内容の通知を行う。そして、ステップ７０３で、CPU３０１によって電力制御部２０１に対してスキャナ部１０３やプリンタ部１０４への電力供給の停止が指示される。これによって、スキャナ部１０３やプリンタ部１０４への電力供給が遮断され、待機応答モードへの移行が完了する。
【００４６】
図７（ｂ）は待機応答モードからスタンバイモード又はスリープモードへの移行制御の流れを示すフローチャートである。ステップ７１１では、前述したスタンバイモードへの移行条件を満たすかどうかが判定される。スタンバイモードへの移行条件を満たす場合は、ステップ７１２に進む。一方、スタンバイモードへの移行条件を満たさない場合は、ステップ７１４に進む。ステップ７１２では、IOドライバ５１１とネットワークドライバ５１２に対し、スタンバイモードへの移行が通知される。この通知を受けてネットワークドライバ５１２はネットワークI/Fソフトウェア５２０に対し、同内容の通知を行う。そして、ステップ７１３で、電力制御部２０１に対してスキャナ部１０３やプリンタ部１０４への電力供給が指示される。この際の指示は、節電キーの押下が検知された時はメインCPU３０１によって、ネットワーク１１２からプリントジョブ等を受信した時はネットワークインタフェース３０５によってなされる。これによって、スキャナ部１０３やプリンタ部１０４への電力供給が再開され、スタンバイモードへの移行が完了する。ステップ７１４では、前述したスリープモードへの移行条件を満たすかどうかが判定される。スリープモードへの移行条件の何れかを満たす場合は、ステップ７１５に進む。一方、スリープモードへの移行条件を満たさない場合は、ステップ７１１に戻って処理が繰り返される。ステップ７１５では、IOドライバ５１１とネットワークドライバ５１２に対し、スリープモードへの移行が通知される。この通知をうけてネットワークドライバ５１２はネットワークI/Fソフトウェア５２０に対し、同内容の通知を行う。そして、ステップ７１６で、メインCPU３０１によって、電力制御部２０１に対しメインCPU３０１自身への電力供給の停止が指示される。これによって、メインCPU３０１への電力供給が遮断され、スリープモードへの移行が完了する。
【００４７】
図７（ｃ）はスリープモードから待機応答モード又はスタンバイモードへの移行制御の流れを示すフローチャートである。ステップ７２１では、スリープモードからの復帰が検知されたかどうかが判定される。具体的には、操作部１０２或いはネットワークインタフェース３０５から電力制御部２０１に起動信号が入力されたかどうかが判定される。起動信号が入力されると電力制御部２０１に復帰要因がラッチされ、メインCPU３０１に電力が供給される。ステップ７２２では、ラッチされた復帰要因が前述した待機応答モードへの移行条件なのかスタンバイモードへの移行条件なのかが判定される。ラッチされた復帰要因が待機応答モードへの移行条件である場合はステップ７２３に進む。一方、ラッチされた復帰要因がスタンバイモードへの移行条件である場合はステップ７２５に進む。ステップ７２３では、IOドライバ５１１とネットワークドライバ５１２に対し、待機応答モードへの移行が通知される。この通知を受けてネットワークドライバ５１２はネットワークI/Fソフトウェア５２０に対し、同内容の通知を行う。そして、ステップ７２４で、メインCPU３０１によって電力制御部２０１に対しスキャナ部１０３やプリンタ部１０４を除く各ユニットへの電力供給が指示される。これによって、スキャナ部１０３やプリンタ部１０４を除く主要ユニットへの電力供給が再開され、待機応答モードへの移行が完了する。ステップ７２５では、IOドライバ５１１とネットワークドライバ５１２に対し、スタンバイモードへの移行が通知される。この通知を受けてネットワークドライバ５１２はネットワークI/Fソフトウェア５２０に対し、同内容の通知を行う。そして、ステップ７２６で、メインCPU３０１によって電力制御部２０１に対しスキャナ部１０３やプリンタ部１０４を含む主要ユニットへの電力供給が指示される。これによって、スキャナ部１０３やプリンタ部１０４を含む主要ユニットへの電力供給が再開され、スタンバイモードへの移行が完了する。
【００４８】
以上が、電力制御アプリ５０１によるモード移行制御の内容である。
【００４９】
続いて、ネットワークコントローラ３０５における制御の詳細について説明する。ネットワークインタフェース３０５が行う処理には主に2種類ある。1つはMFP１００の動作モード移行処理であり、もう1つはネットワーク１１２からのパケット受信処理である。
【００５０】
まず、動作モード移行処理について説明する。この処理は、前述の図７（ａ）〜（ｃ）のフローにおけるステップ７０２等において、メインCPU３０１からネットワークドライバ５１２を介してモード移行の通知を受け取った時に行う処理である。ここでは、本実施例において重要なスリープモードへの移行通知を受け取った場合のモード移行制御について説明し、他のモード間の移行制御については説明を省く。図８は、ネットワークインタフェース３０５におけるスリープモードへの移行制御の詳細を示すフローチャートである。
【００５１】
メインCPU３０１からネットワークドライバ５１２を介して受け取った動作モードの移行通知がスリープモードへの移行を示すものであると、ステップ８０１において、MFP１００におけるEEE設定が有効であるかどうかが判定される。EEE設定は、操作部１０２を介してユーザがEEE機能を使用する（有効）ないしは使用しない（無効）を選択可能で、ユーザ選択に応じた設定情報が汎用メモリ４０３内に保持されている。この設定情報を参照することでEEE設定の有効／無効の判定が可能である。EEE設定が有効であればステップ８０２に進む。一方、EEE設定が無効であればステップ８０４に進む。
【００５２】
ステップ８０２では、ネットワーク１１２によって接続される対抗機としてのHUB１２０におけるEEE設定が有効であるかどうかが判定される。対抗機におけるEEE設定の有効／無効については、オートネゴシエーションを実施する毎に状態の更新が行われる。HUB１２０においてEEE設定が無効である場合や、そもそもEEEに対応していないケースでは、EEE設定が有効でないと判定されることになる。本ステップでは、汎用メモリ４０３に保持されている更新後のHUB１２０のEEE設定の情報に基づいてこの判定がなされる。判定の結果、HUB１２０のEEE設定が有効であれば、ステップ８０３に進む。一方、HUB１２０のEEE設定が有効でなければステップ８０４に進む。
【００５３】
ステップ８０３では、MAC４０５を介してPHY４０４にLPIへの移行が設定される。そして、ネットワーク１１２を介したパケット送信が一定時間実施されないとLPIに移行する。すなわち、通信速度を高速（第1リンク速度）に維持したままPHY４０４及びMAC４０５の一部機能を停止して、通常動作状態（S0）よりも省電力のスリープ状態（S3）に移行する。以降、このLPIの状態を「第1スリープ状態」と呼ぶこととする。LPIにおいて、PHY４０４は“Sleep”、“Quiet”、“Refresh”、“Wake”の4つの状態を遷移する。“Sleep”はLPIへの移行開始を表す。“Refresh”はリンク維持のための動作を表し、ネットワーク１１２を介した所定のデータ送信がなされる。“Quiet”は休止を表し、リンク維持のための上記所定のデータ送信も停止される。そして、“Quiet”と“Refresh”を周期的（例えば“Quiet”が約20ms、“Refresh”が約200us）に繰り返すことで、省電力とリンク維持の両立が図られる。“Wake”はLPIから通常動作状態（S0）への復帰を表す。LPIに移行すると上記4状態を遷移することになるが、時間比率からほぼ“Quiet”の状態にあるといえる。そして、“Quiet”の状態では、PHY４０４及びMAC４０５のほとんどの回路が停止される。その中には動作時消費電力の大きいデータ送受信を担う回路も含まれるので、“Quiet”の状態ではより高い電力削減効果を得ることができる。さらに、遷移状態に応じて動作回路を制御すればより多くの電力を削減できる。具体的には遷移状態監視回路、各遷移での時間を計測する回路、次の遷移状態への移行を検知する回路だけを動作させ、それ以外の回路については停止する用にこまめに制御することで更なる節電を実現することができる。
【００５４】
ネットワークインタフェース３０５自身又はHUB１２０においてEEE設定が有効でないと判定されると、ステップ８０４において、ネットワーク１１２での通信速度が、通信に伴う消費電力が一番小さくなる最低速に設定される。その後、ステップ８０５において、PHY４０４によってオートネゴシエーションが実行される。オートネゴシエーションが完了すると、ステップ８０６においてPHY４０４は、オートネゴシエーションによって決まった通信速度（低速）でPHY４１１との間でリンクを確立する。このように、EEE設定が双方のPHYで有効でない場合には、通信速度を低速（第2リンク速度）に変更したスリープ状態（S3）に移行する。以降、この低速でリンクが維持された省電力のスリープ状態（S3）を「第2スリープ状態」と呼ぶこととする。
【００５５】
以上が、ネットワークインタフェース３０５におけるスリープモードへの移行制御の内容である。なお、LPIへの移行には2種類の方法がある。1つは対抗機へのEEE設定が有効である旨の通知（EEE対応通知）とLPIへの移行許可を同時に行う方法（同時実施）であり、もう1つは対抗機へのEEE対応通知とLPIへの移行許可を個別に行う方法（個別実施）である。以下、それぞれの方法の概要である。
【００５６】
まず、同時実施では、オートネゴシエーションでEEE対応通知を対抗機に対して行う時にLPIへの移行を許可する。そのため、MFP１００起動時の最初のオートネゴシエーションでは、EEEに非対応である旨を対抗機に通知しておく。そして、スリープモードに移行する時（すなわちLPIに移行することが決まった後）にEEE設定を有効にして対抗機と再度オートネゴシエーションを実施し、リンク先にEEEに対応している旨を通知して、LPIへ移行する。
【００５７】
次に、個別実施では、オートネゴシエーションでEEE対応通知を対抗機に対して行うが、その時点ではPHY４０４にLPIへの移行を許可せず、スリープモードに移行する時に、PHY４０４に対して移行許可を行う。PHY４０４は一定時間、処理の実施されないアイドル状態を検知するとLPIに移行することになる。この方法の場合には、再度オートネゴシエーションを実施する必要がない。本実施例では、個別実施を例に説明したが、同時実施でも構わない。
【００５８】
続いて、ネットワークインタフェース３０５がネットワーク１１２からパケットを受信した時のパケット受信処理について説明する。本実施例のパケット受信処理の場合、処理負荷の高いプリント処理に関するパケット解析はCPU３０１で行うように制御する。一方で、スリープモード下でも電力供給が継続されるサブCPU４０１によってパケットに含まれる宛先ポート番号の検出を行って、受信パケットがプリント処理を要するジョブの場合に早期にプリンタエンジンを起動させるように制御する。すなわち、処理性能は高くないが待機時電力の低いサブCPU４０１と処理性能は高いが待機時電力の高いメインCPU３０１それぞれの特徴を踏まえ、待機時電力削減と処理時間短縮とのバランスが取れた効率のよい復帰制御を行うものである。図９は、本実施例に係るパケット受信処理の詳細を示すフローチャートである。以下、図９のフローに沿って詳しく説明する。
【００５９】
まず、ステップ９０１では、パケットを受信した時点の動作モードがスリープモード（S3ステート）であるかどうかが判定される。動作モードがスリープモードであれば、ステップ９０２に進む。一方、動作モードがスリープモード以外の待機応答モード或いはスタンバイモード（S0ステート）であれば、ステップ９１７に進む。
【００６０】
ステップ９０２では、EEEのLPIからの復帰であるかどうかが判定される。具体的には、EEE設定が有効であるかどうかを確認し、EEE設定が有効であればLPIからの復帰と判断してステップ９０３に進む。一方、EEE設定が有効でなければ（EEE設定が無効の場合、或いは、対抗機であるHUB１２０がEEEに非対応である場合）、ステップ９０８に進む。
LPIからの復帰の場合、まずステップ９０３で受信パケットについてパケットパターンの検出処理がなされる。このパターン検出処理では、ROM４０２に予め記憶されている起動信号を示すパターン（以下、「WOLパターン」）とネットワーク１１２から受信したパケットのパターンとを比較し、一致するかどうかがチェックされる。PC１１０とMFP１００との間のトランスポートプロトコルとしてはTCP（Transmission Control Protocol）が一般的である。TCPは、Ethernetヘッダ、IPヘッダ、TCPヘッダ、TCPペイロードという構造になっている。パターン検出処理は、TCPヘッダ内の情報を利用して行なわれる。
【００６１】
ステップ９０４では、受信パケットのパターンがWOLパターンと一致したかどうかによる処理の切り分けがなされる。受信パケットのパターンがWOLパターンと一致した場合には、ステップ９０５に進む。一方、受信パケットのパターンがWOLパターンと一致しなかった場合には、自身の処理とは無関係のパケットであるとして本処理を抜ける。
【００６２】
ステップ９０５では、電力制御部２０１に対しメインCPU３０１の起動が指示される。これにより、メインCPU３０１に電力が供給され、メインCPU３０１が起動する。その後、ステップ９０６で受信パケットがメインCPU３０１に転送される。転送された受信パケットはメインCPU３０１によって解析され、プリントジョブであればメインCPU３０１から電力制御部２０１対しプリンタ部１０４への電力供給が指示される。そして、電力制御部２０１によってプリンタ部１０４へ電力が供給されてプリンタエンジンが起動し、スタンバイモードへ移行することになる。また、プリント処理を伴わない問合せジョブなどであれば、プリンタエンジンの起動を伴わない待機応答モードへ移行することになる。そして、ステップ９０７で、MAC４０５に対してLPIを終了させる設定がなされる。これによりMFP１００はS3ステートからS0ステートに遷移する。
【００６３】
LPIからの復帰ではないと判定された場合のステップ９０８では、上記ステップ９０３と同様、受信パケットについてのパターン検出処理が実行される。そして、ステップ９０９では、受信パケットのパターンがWOLパターンと一致したかどうかによる処理の切り分けがなされる。受信パケットのパターンがWOLパターンと一致した場合には、ステップ９１０に進む。一方、受信パケットのパターンがWOLパターンと一致しなかった場合には、自身の処理とは無関係のパケットであるとして本処理を抜ける。
【００６４】
ステップ９１０では、受信パケットの宛先ポート番号が、プリントジョブを意味する“9100”であるかどうかが判定される。この判定もTCPヘッダに基づいてなされる。TCPヘッダは、送信元（始点）ポート番号、宛先（終点）ポート番号、シーケンス番号、確認応答番号・・・のように構成される。ここで、送信元ポート番号はパケットを送信する側（ここではPC１１０側）のポート番号を示し、宛先ポート番号はパケットを受信する側（ここではMFP１００側）のポート番号を示す。送信元ポート番号と宛先ポート番号はいずれも2バイトの情報である。そして、宛先ポート番号はアプリケーション等において定義されており、プリント処理を表す番号として“9100”が割り当てられている。そのため、受信したパケットがプリントジョブに係るものであるかどうかを、宛先ポート番号を確認することで判別することができる。受信パケットのTCPヘッダの宛先ポート番号が“9100”であれば、ステップ９１１に進む。一方、受信パケットのTCPヘッダの宛先ポート番号が“9100”でなければ、ステップ９１５に進む。
【００６５】
ステップ９１１では、電力制御部２０１に対し、メインCPU３０１とプリンタ部１０４の起動が指示される。これによりメインCPU３０１及びプリンタ部１０４に対して電力が供給され、双方の起動処理が実行される。続くステップ９１２では、PHY４０４の通信速度設定がスリープモード中の最低速から最高速に変更される。例えばPHY４０４が1000Mbps、100Mbps、10Mbpsの3種類の通信速度に対応している場合には、最低速の10Mbpsから最高速の1000Mbpsへと設定が変更される。その後、オートネゴシエーションが実行され（ステップ９１３）、オートネゴシエーションが完了すると、受信パケットのデータが、PHY４０４とPHY４１１の共通の最高速度でメインCPU３０１に転送される（ステップ９１４）。PHY４１１も1000Mbps、100Mbps、10Mbpsの3種類の通信速度に対応している場合には、通信速度を1000Mbpsに戻してネットワーク１１２の通信帯域を確保し、PC１１０からのパケットを十分受信した後、受信パケットがメインCPU３０１に送られる。転送された受信パケットはメインCPU３０１によって解析される。以上のように受信パケットの宛先ポート番号が“9100”である場合は、メインCPU３０１でのパケット解析に先立ってプリンタエンジンの起動処理が始まるように制御される。
【００６６】
ステップ９１５では、ステップ９０５と同様、電力制御部２０１に対しメインCPU３０１の起動が指示される。これによりメインCPU３０１に電力が供給されメインCPU３０１が起動する。その後、ステップ９１６で受信パケットのデータがメインCPU３０１に転送される。転送された受信パケットはメインCPU３０１によって解析され、プリントジョブであればメインCPU３０１からの指示を受けた電力制御部２０１によってプリンタ部１０４に電力が供給される。これによってプリンタエンジンの起動処理が開始されることになる。
【００６７】
待機応答モード或いはスタンバイモード（S0ステート）と判定された場合のステップ９１７では、受信パケットがメインCPU３０１に転送され、メインCPU３０１によって処理される。
【００６８】
以上の通り本実施例に係るパケット受信処理では、EEEが有効のときは、まずメインCPU３０１が起動され、メインCPU３０１において、受信パケットの解析と解析結果に従ったプリンタ部１０４の起動制御を含む一連のジョブ処理がなされる。一方、EEEが無効の時には、サブCPU４０１が受信パケットに含まれるポート番号に基づきプリンタ部１０４の起動の要否を判断し必要があれば起動指示までを行い、その後にメインCPU３０１にて受信パケットの解析が行われる。スリープモードからの復帰時において、このように受信パケットを処理することによって、待機時電力削減と復帰処理時間短縮とのバランスを最適化することができる。
【００６９】
なお、本実施例ではMFPを例に説明を行ったがこれに限定されるものではなく、ネットワーク上で利用される印刷装置（画像形成装置）については広く適用可能である。
【実施例２】
【００７０】
実施例１のパケット受信処理では、処理負荷の高いパケット解析をネットワークインタフェース３０５内で行わずにメインCPU３０１に行わせるようにしていた。次に、パケット解析までをネットワークインタフェース３０５内で行う態様について実施例２として説明する。なお、実施例１と共通する内容については説明を省略し、以下では差異点であるパケット受信処理を中心に説明を行うものとする。
【００７１】
図１０は、本実施例に係るパケット受信処理の詳細を示すフローチャートである。以下、図１０のフローに沿って詳しく説明する。
【００７２】
まず、ステップ１００１では、動作モードがスリープモード（S3ステート）であるかどうかが判定される。動作モードがスリープモードであれば、ステップ１００２に進む。一方、動作モードがスリープモード以外の待機応答モード或いはスタンバイモード（S0ステート）であれば、ステップ１０１３に進む。
【００７３】
ステップ１００２では、LPIからの復帰であるかどうか（EEE設定が有効であるかどうか）が判定される。EEE設定が有効であればステップ１００３に進む。一方、EEE設定が有効でなければステップ１００８に進む。
【００７４】
ステップ１００３では、受信したパケットの解析が実行される。すなわち、受信パケットはメインCPU３０１に転送されることなく、ネットワークインタフェース３０５内のサブCPU４０１によって解析される。そして、ステップ１００４において、解析結果に基づく処理の切り分けがなされる。パケット解析の結果、プリント処理を含む（プリンタエンジンの起動を要する）ジョブであればステップ１００５に進み、電力制御部２０１に対してメインCPU３０１とプリンタ部１０４の起動が指示される。これによりメインCPU３０１及びプリンタ部１０４に対して電力供給され、双方の起動処理が実行される。そして、ステップ１００６で、MAC４０５に対してLPIを終了させる設定がなされる。これによりMFP１００はS3ステートからS0ステートに遷移する。一方、パケット解析の結果、プリント処理を含まない（プリンタエンジンの起動を要しない）ジョブであれば（ステップ１００４でNo）、ステップ１００７に進み、ジョブ内容に応じた処理が実行される。すなわち、サブCPU４０１により応答を返すか、或いは、メインCPU３０１に受信パケットのデータを転送し、続く処理を依頼する。
【００７５】
LPIからの復帰ではないと判定された場合のステップ１００８では、パケットの受信をトリガーにして、電力制御部２０１に対しメインCPU３０１とプリンタ部１０４の起動が指示される。これによりメインCPU３０１及びプリンタ部１０４に対して電力が供給され、双方の起動処理が実行される。続くステップ１００９では、PHY４０４の通信速度設定がスリープモード中の最低速から最高速に変更される。その後、オートネゴシエーションを経て（ステップ１０１０）、受信したパケットの解析が実行される（ステップ１０１１）。そして、ステップ１００７と同様、ジョブ内容に応じた処理が実行される（ステップ１０１２）。
【００７６】
スリープモードではないと判定された場合のステップ１０１３では、動作モードが待機応答モードとスタンバイモードのいずれであるかが判定される。動作モードが待機応答モードであれば、ステップ１０１４に進む。一方、動作モードがスタンバイモードであれば、ステップ１０１８に進む。
【００７７】
まず、待機応答モードの場合のステップ１０１４では、受信パケットの解析が実行される。そして、ステップ１０１５において、解析結果に基づく処理の切り分けがなされる。すなわち、受信パケットがプリント処理を含むジョブであればステップ１０１６に進み、電力制御部２０１に対してメインCPU３０１とプリンタ部１０４の起動が指示される。これによりメインCPU３０１及びプリンタ部１０４に対して電力供給され、双方の起動処理が実行される。一方、パケット解析の結果、プリント処理を含まないジョブであれば、ステップ１０１７に進み、ステップ１００７及び１０１２と同様、ジョブ内容に応じた処理が実行される。また、スタンバイモードの場合（ステップ１０１３でNo）のステップ１０１８では、受信パケットのデータがメインCPU３０１に転送される。転送された受信パケットはメインCPU３０１によって解析され、解析結果に応じた処理がなされる。
【００７８】
以上の通り本実施例のパケット受信処理では、EEE設定が有効である場合はLPIからの復帰に要する時間が短いことを考慮し、ネットワークインタフェース３０５において受信パケットを解析し、その結果に基づきプリンタ部１０４の起動制御を行う。一方、EEE設定が有効でない場合には復帰に数秒程度要することを考慮し、パケットの受信をトリガーにしてプリンタ部１０４を先行して起動させ、その後にパケット解析を行う。これにより、実施例１と同様に、スリープモード時の待機時電力削減と復帰処理時間短縮とのバランスが取れた制御が可能となる。
【実施例３】
【００７９】
実施例２は、パケット解析までをネットワークインタフェース３０５内で行うことを前提に、スリープモードからの復帰時にEEE設定が有効かどうかに応じてプリンタエンジンの起動とパケット解析の順序を動的に変更する態様であった。特にEEE設定が有効でない時にはプリンタ部１０４を起動させた後でパケット解析を行うように制御することで、全体の処理時間が長くなることを回避していた。次に、実施例２と同様にパケット解析までをネットワークインタフェース３０５内で行い、EEE設定が有効でない場合は実施例１と同様に受信パケットの宛先ポート番号に基づいて以降の処理順を変更する態様について、実施例３として説明する。なお、実施例１及び２と共通する内容については説明を省略し、以下では差異点であるパケット受信処理を中心に説明を行うものとする。
【００８０】
図１１は、本実施例に係るパケット受信処理の詳細を示すフローチャートである。本実施例では、スリープモードからの復帰時にEEE設定が有効でない場合、受信パケットの宛先ポート番号が“9100”であれば、先ずプリンタ部１０４を起動させ、次に通信速度を戻してパケット解析を行って解析結果に応じた処理を行う。そして、受信パケットの宛先ポート番号が“9100”でなければ、先ず通信速度を戻し、それからパケット解析を行って、解析結果からプリント処理を必要とするジョブであればプリンタ部１０４を起動させる。以下、図１１のフローに沿って詳しく説明する。
【００８１】
ステップ１１０１〜ステップ１１０７は、実施例２の図１０のフローにおけるステップ１００１〜１００７と同じであるので説明を省く。
【００８２】
LPIからの復帰ではないと判定された場合（ステップ１１０２でNo）のステップ１１０８では、実施例１の図９のフローにおけるステップ９０８と同様、受信パケットについてのパターン検出処理が実行される。続くステップ１１０９では、実施例１の図９のフローにおけるステップ９１０と同様、受信パケットの宛先ポート番号が、プリントジョブを意味する“9100”であるかどうかが判定される。受信パケットの宛先ポート番号が“9100”であれば、ステップ１１１０に進む。一方、受信パケットの宛先ポート番号が“9100”でなければ、ステップ１１１５に進む。
【００８３】
宛先ポート番号が“9100”であった場合のステップ１１１０〜ステップ１１１４の各処理は、実施例２の図１０のフローにおけるステップ１００８〜ステップ１０１２にそれぞれ対応する。すなわち、電力制御部２０１に対しメインCPU３０１とプリンタ部１０４の起動が指示されて双方の起動処理が実行され（ステップ１１１０）、次にPHY４０４の通信速度設定が最高速に変更される（ステップ１１１１）。その後、オートネゴシエーションを経て（ステップ１１１２）、受信したパケットの解析処理が実行され（ステップ１１１３）、ジョブ内容に応じた処理が実行される（ステップ１１１４）。
【００８４】
宛先ポート番号が“9100”でなかった場合は、まず、PHY４０４の通信速度設定が最高速に変更され（ステップ１１１５）、続いてオートネゴシエーションが実行される（ステップ１１１６）。その後のステップ１１１７〜ステップ１１２０の各処理は、実施例２の図１０のフローにおけるステップ１０１４〜ステップ１０１７にそれぞれ対応する。すなわち、受信パケットの解析が実施され（ステップ１１１７）、受信パケットがプリント処理を含むジョブであれば電力制御部２０１に対してメインCPU３０１とプリンタ部１０４の起動が指示され、双方の起動処理が実行される（ステップ１１１９）。一方、パケット解析の結果、プリント処理を含まないジョブであれば、ジョブ内容に応じた処理が実行される（ステップ１１２０）。
【００８５】
また、動作モードが待機応答モードであった場合（ステップ１１２１でYes）も、上記ステップ１１１７〜ステップ１１２０の各処理が実行される。そして、スリープモードでも待機応答モードでもなく（ステップ１１０１及び１１２１で共にNo）、スタンバイモードであった場合は、実施例２のステップ１０１８と同様、受信パケットのデータがメインCPU３０１に転送される（ステップ１１２２）。
【００８６】
以上の通り本実施例のパケット受信処理では、EEE設定が有効でない場合、宛先ポート番号に基づき印刷エンジンの起動の要否を判断する。これにより、プリンタエンジンの起動が必要なプリント処理を要するジョブのときのみプリンタエンジンを早期に起動させることができ、実施例２よりもより緻密な制御が可能になる。
【００８７】
＜その他の実施例＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018089854.tif 000004
【図２】
2018089854.tif 000005
【図３】
2018089854.tif 000006
【図４】
2018089854.tif 000007
【図５】
2018089854.tif 000008
【図６】
2018089854.tif 000009
【図７】
2018089854.tif 000010
【図８】
2018089854.tif 000011
【図９】
2018089854.tif 000012
【図１０】
2018089854.tif 000013
【図１１】
2018089854.tif 000014