(57)【特許請求の範囲】
【請求項１】
外部装置と通信してデータを受信する情報処理装置であって、
外部装置からの受信データを処理する、消費電力モードが切り替え可能な第１のデータ処理手段と、
第１のデータ処理手段の消費電力モードを、受信データを処理する通常電力モードと受信データを処理しない省電力モードとに切り替える切替手段と、
第１のデータ処理手段が省電力モードのときに受信データを処理する第２のデータ処理手段とを備え、
第２のデータ処理手段は、外部装置から受信したデータに応じて、第１と第２のデータ処理手段のいずれで受信データを処理するか判定する第１の判定手段と、いずれで処理するか判定できないときに、データ送信元の外部装置と通信のコネクションを確立する手段と、コネクションを確立した後の外部装置から受信したデータに応じて、外部装置からの各受信データを第１と第２のデータ処理手段のいずれで処理するか判定する第２の判定手段とを有し、第２の判定手段が第２のデータ処理手段で処理すると判定したときに各受信データを処理することを特徴とする情報処理装置。
【請求項２】
請求項１に記載された情報処理装置において、
第２のデータ処理手段が処理する受信データが、一連の通信データに含まれるコネクションの確立を要求するパケットであることを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載された情報処理装置において、
第２のデータ処理手段は、外部装置からの各受信データの処理中に、新たに受信したデータが第１の判定手段により第１のデータ処理手段で処理すると判定されたとき、判定に応じて第１のデータ処理手段の通常電力モードへの復帰を要求する手段と、新たな受信データを第１のデータ処理手段へ転送する手段とを有し、
第１と第２のデータ処理手段のそれぞれでデータ処理することを特徴とする情報処理装置。
【請求項４】
請求項１又は２に記載された情報処理装置において、
第２のデータ処理手段は、第２の判定手段が第１のデータ処理手段で処理すると判定したとき、第１のデータ処理手段の通常電力モードへの復帰を要求する手段を有することを特徴とする情報処理装置。
【請求項５】
請求項４に記載された情報処理装置において、
第１のデータ処理手段がアクセス可能な第１の記憶手段と、コネクションを確立した外部装置からの各受信データを記憶する第２のデータ処理手段がアクセス可能な第２の記憶手段とを備え、
第２のデータ処理手段は、第２の判定手段が第１のデータ処理手段で処理すると判定したとき、第２の記憶手段に記憶された各受信データを第１の記憶手段へ転送する手段を有し、
第１の記憶手段へ転送された各受信データを第１のデータ処理手段が処理することを特徴とする情報処理装置。
【請求項６】
請求項５に記載された情報処理装置において、
第２のデータ処理手段は、第１のデータ処理手段がデータ処理中に、外部装置から受信したデータを第１の記憶手段へ転送する手段を有することを特徴とする情報処理装置。
【請求項７】
請求項１ないし６のいずれかに記載された情報処理装置において、
第１のデータ処理手段が通常電力モードで、第２のデータ処理手段が受信データを処理していないとき、第２のデータ処理手段によるデータ処理を無効にする手段を備えたことを特徴とする情報処理装置。
【請求項８】
外部装置と通信してデータを受信する工程を有し、外部装置からの受信データを第１と第２のデータ処理手段により処理する情報処理装置の制御方法であって、
第１のデータ処理手段の消費電力モードを、受信データを処理する通常電力モードから受信データを処理しない省電力モードに切り替える工程と、
第１のデータ処理手段が省電力モードのときに受信データを第２のデータ処理手段で処理する工程とを有し、
第２のデータ処理手段で処理する工程が、外部装置から受信したデータに応じて、第１と第２のデータ処理手段のいずれで受信データを処理するか判定する第１の判定工程と、いずれで処理するか判定できないときに、第２のデータ処理手段とデータ送信元の外部装置との通信のコネクションを確立する工程と、コネクションを確立した後の外部装置から受信したデータに応じて、外部装置からの各受信データを第１と第２のデータ処理手段のいずれで処理するか判定する第２の判定工程と、第２の判定工程で第２のデータ処理手段で処理すると判定されたときに各受信データを処理する工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項９】
請求項８に記載された情報処理装置の制御方法において、
第２のデータ処理手段が処理する受信データが、一連の通信データに含まれるコネクションの確立を要求するパケットであることを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項８又は９に記載された情報処理装置の制御方法において、
第２のデータ処理手段で外部装置からの各受信データを処理中に、新たに受信したデータが第１の判定工程により第１のデータ処理手段で処理すると判定されたとき、判定に応じて第１のデータ処理手段を通常電力モードへ復帰させる工程と、新たな受信データを第１のデータ処理手段で処理する工程とを有し、第１と第２のデータ処理手段のそれぞれでデータ処理することを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項８又は９に記載された情報処理装置の制御方法において、
第２の判定工程で第１のデータ処理手段で処理すると判定されたとき、第１のデータ処理手段を通常電力モードへ復帰させる工程と、外部装置からの各受信データを第１のデータ処理手段で処理する工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
請求項１１に記載された情報処理装置の制御方法において、
第２のデータ処理手段で処理する工程が、コネクションを確立した外部装置からの各受信データを記憶する工程と、第２の判定工程で第１のデータ処理手段で処理すると判定されたとき、記憶された各受信データを第１のデータ処理手段がアクセス可能な記憶手段へ転送する工程とを有し、
第１のデータ処理手段で処理する工程が、転送された各受信データを処理する工程であることを特徴とする情報処理装置の制御方法。
【請求項１３】
請求項１２に記載された情報処理装置の制御方法において、
第１のデータ処理手段がデータ処理中に、第２のデータ処理手段が外部装置から受信したデータを第１のデータ処理手段がアクセス可能な記憶手段へ転送する工程を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
請求項８ないし１３のいずれかに記載された情報処理装置の制御方法において、
第１のデータ処理手段が通常電力モードで、第２のデータ処理手段が受信データを処理していないとき、第２のデータ処理手段によるデータ処理を無効にする工程を有することを特徴とする情報処理装置の制御方法。
【請求項１５】
請求項８ないし１４のいずれかに記載された情報処理装置の制御方法の各工程をコンピュータで実行させるためのプログラム。
【請求項１６】
請求項１５に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク等により外部装置と接続される画像形成装置や画像処理装置、又はスキャナ、プリンタ、ファクシミリ、コピー機、或いは、それらの複合機やコンピュータ等、省電力モード機能を有する情報処理装置と、情報処理装置の制御方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年、コンピュータやプリンタ等の複数の情報処理装置を、イーサネット（登録商標）やＬＡＮ等のネットワークに接続し、それらの間で各種データを送受信するネットワークシステムが普及している。また、このような情報処理装置として、従来、メインとサブの２つのＣＰＵ（Central Processing Unit）を設け、それらにより外部装置から受信したデータを処理しつつ、所定の条件に応じて、一方のＣＰＵ及び装置の一部の電力を一時的に遮断する等して、消費電力を低減させた画像形成装置が知られている（特許文献１参照）。
【０００３】
この従来の画像形成装置では、省電力モードへの移行に伴い、装置全体の制御を司るメインＣＰＵを停止させ、その間、消費電力が相対的に小さいサブＣＰＵにより、予め設定された制御と、外部装置から受信したパケット等のデータ処理とを実行する等して、消費電力を低減させている。ところが、この画像形成装置は、サブＣＰＵで処理できないデータに加えて、ＴＣＰ（Transmission Control Protocol）等の送信元とコネクションを確立する必要があるパケットを受信したときには、メインＣＰＵを復帰させて受信データを処理する。そのため、同様のデータを受信する度に、その種類に関わらず、メインＣＰＵを通常電力モードに切り替えてデータ処理する必要があり、それらを省電力モードに長時間維持できず、消費電力を低減する効果が充分に得られないことがある。
【０００４】
また、近年では、従来は使用が少なかったＷＳＤ（Web Service on Devices）等のＴＣＰによる定期的な問い合わせプロトコルが広く採用された結果、メインＣＰＵを頻繁に復帰させる必要が生じ、それらの省電力モードへの移行が阻害されて通常電力モードにある時間が増加する傾向がある。このように、従来の情報処理装置では、消費電力削減の観点から、外部装置からの受信データを処理するデータ処理手段に省電力モード機能を設けても、その省電力モードを長時間維持できず、消費電力を効果的に低減するのが難しい。
【０００５】
【特許文献１】特開２００５−２６７１００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、前記従来の問題に鑑みなされたものであって、その目的は、情報処理装置が備える消費電力モードが切り替え可能なデータ処理手段を通常電力モードへ復帰させる頻度を低くし、省電力モードに長時間維持できるようにして、情報処理装置の消費電力を低減させることである。
【課題を解決するための手段】
【０００７】
本発明は、外部装置と通信してデータを受信する情報処理装置であって、外部装置からの受信データを処理する、消費電力モードが切り替え可能な第１のデータ処理手段と、第１のデータ処理手段の消費電力モードを、受信データを処理する通常電力モードと受信データを処理しない省電力モードとに切り替える切替手段と、第１のデータ処理手段が省電力モードのときに受信データを処理する第２のデータ処理手段とを備え、第２のデータ処理手段は、外部装置から受信したデータに応じて、第１と第２のデータ処理手段のいずれで受信データを処理するか判定する第１の判定手段と、いずれで処理するか判定できないときに、データ送信元の外部装置と通信のコネクションを確立する手段と、コネクションを確立した後の外部装置から受信したデータに応じて、外部装置からの各受信データを第１と第２のデータ処理手段のいずれで処理するか判定する第２の判定手段とを有し、第２の判定手段が第２のデータ処理手段で処理すると判定したときに各受信データを処理することを特徴とする。
また、本発明は、外部装置と通信してデータを受信する工程を有し、外部装置からの受信データを第１と第２のデータ処理手段により処理する情報処理装置の制御方法であって、第１のデータ処理手段の消費電力モードを、受信データを処理する通常電力モードから受信データを処理しない省電力モードに切り替える工程と、第１のデータ処理手段が省電力モードのときに受信データを第２のデータ処理手段で処理する工程とを有し、第２のデータ処理手段で処理する工程が、外部装置から受信したデータに応じて、第１と第２のデータ処理手段のいずれで受信データを処理するか判定する第１の判定工程と、いずれで処理するか判定できないときに、第２のデータ処理手段とデータ送信元の外部装置との通信のコネクションを確立する工程と、コネクションを確立した後の外部装置から受信したデータに応じて、外部装置からの各受信データを第１と第２のデータ処理手段のいずれで処理するか判定する第２の判定工程と、第２の判定工程で第２のデータ処理手段で処理すると判定されたときに各受信データを処理する工程と、を有することを特徴とする。
更に、本発明は、これら情報処理装置の制御方法の各工程をコンピュータで実行させるためのプログラム、及び、このプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００８】
本発明によれば、情報処理装置が備える消費電力モードが切り替え可能なデータ処理手段を通常電力モードへ復帰させる頻度を低くでき、省電力モードに長時間維持して、情報処理装置の消費電力を低減させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の情報処理装置の一実施形態について、図面を参照して説明する。
本実施形態の情報処理装置は、通信手段を介して接続された外部装置と通信する装置であり、外部装置と互いに通信してデータを送信及び受信する。また、この情報処理装置は、所定条件の成立に伴い、消費電力を低減するための省電力モードに移行する省電力モード機能を有し、消費電力モードを通常電力モード又は省電力モードに切り替え可能になっている。以下、情報処理装置として、イーサネット（登録商標）等のネットワークに接続され、ネットワークを介して複数の外部装置（ネットワーク装置）と通信するプリンタを例に採り説明する。
【００１０】
図１は、本実施形態のプリンタの概略構成を示すブロック図であり、その要部を模式的にブロックで示している。
このプリンタ１は、図示のように、装置全体の制御を司るコントローラボード２と、印刷処理を行うプロッタ３とを備え、外部装置からの印刷要求等に応じて、コントローラボード２により制御してプロッタ３により印刷する。
【００１１】
コントローラボード２は、ＡＳＩＣ（Application Specific Integrated Circuit）２０と、クロックを生成してＡＳＩＣ２０に供給するＡＳＩＣクロック生成部４と、ユーザの操作に使用される操作部５と、各種データを記憶するハードディスク装置（ＨＤＤ）６と、ワークメモリであるＳＤＲＡＭ（Synchronous DRAM）７と、プログラム格納用のメモリであるＲＯＭ８と、を備えている。また、コントローラボード２は、ＡＳＩＣ２０の後述するパワーマネージメントコントローラ１０に各々接続されたボード電力制御部１１及び外部電力制御部１２と、ネットワーク物理層を構成し、ネットワークとの接続部（接続手段）であるＰＨＹ（Physical layer）１５と、ＰＨＹ１５へのクロックを生成するＰＨＹクロック生成部１６と、を備えている。
【００１２】
ＡＳＩＣ２０は、ネットワークを介して外部装置から受信したデータの処理や、プリンタ１の各部の動作等の制御に必要なデータ処理等を実行して、それらを主に制御する装置の主制御手段及びデータ処理手段を構成する。そのため、ＡＳＩＣ２０は、各種データ処理や演算、及び装置全体の制御等を行うメインＣＰＵ２１と、外部とネットワーク通信するためのネットワークコントローラ４０とを有する。また、ＡＳＩＣ２０は、ＡＳＩＣクロック生成部４が接続されたクロックジェネレータ２２、ＳＤＲＡＭ７が接続されたＳＤＲＡＭコントローラ２３、及び装置の電力制御を行う上記したパワーマネージメントコントローラ１０を備えている。更に、ＡＳＩＣ２０は、操作部５と接続するための操作インターフェース（ＯＰＥ・Ｉ／Ｆ）２５、ＨＤＤ６と接続するためのＨＤＤ・Ｉ／Ｆ２６、外部入出力（Ｉ／Ｏ）を制御するためのＩ／Ｏ・Ｉ／Ｆ２７、及びプロッタ３を接続するためのＰＣＩ・Ｉ／Ｆ２８を備えている。加えて、ＡＳＩＣ２０は、以上の各部を接続して互いにデータをやり取りするための内部バス（Internal BUS）３０を備えており、この内部バス３０を介して、内部の全ての制御及びデータ転送を行う。
【００１３】
クロックジェネレータ２２は、ＡＳＩＣクロック生成部４から供給されるクロック信号の周波数（動作周波数）を変更する手段を有し、パワーマネージメントコントローラ１０により制御されてクロックの周波数を変更する。クロックジェネレータ２２は、このようにしてクロックの周波数を複数の周波数に変更し、各周波数のクロックを、データ処理や制御を行うメインＣＰＵ２１を含むＡＳＩＣ２０に供給し、それらの消費電力モードを変更させる。
【００１４】
ＳＤＲＡＭコントローラ２３は、ＳＤＲＡＭ７を制御してデータの読み書きや、その作動状態を変更させ、ＳＤＲＡＭ７をセルフリフレッシュモードへ移行及び、通常電力モード（通常状態）へ復帰させる。また、ＳＤＲＡＭコントローラ２３は、ＳＤＲＡＭ７の状態がセルフリフレッシュモードか、又は通常電力モードかを示す信号をネットワークコントローラ４０へ出力して、ＳＤＲＡＭ７の状態を通知する。
【００１５】
ネットワークコントローラ４０は、ネットワークを介した通信を制御するためのＭＡＣ（Media Access Controller）（図示せず）を有し、ＰＨＹ１５を介して、ＡＳＩＣ２０及びメインＣＰＵ２１と、ネットワークに接続された外部装置とを通信させる。また、ネットワークコントローラ４０は、ＰＨＹ１５と接続されて互いにデータをやり取りし、ＡＳＩＣ２０がＰＨＹ１５及びネットワークを介してパケット（ネットワークパケット）等のデータを送受信するのを仲介する。従って、ネットワークコントローラ４０は、ＰＨＹ１５等とともに、ネットワークに接続された外部装置と通信するための通信手段を構成している。
【００１６】
パワーマネージメントコントローラ１０は、内部バス３０を介したメインＣＰＵ２１からの制御及び、他の接続された各部からの所定の入力信号Ｄ、Ｈに基づき、ＡＳＩＣ２０の内部及び外部を含むプリンタ１の電力供給や停止等の電力制御を行う。このパワーマネージメントコントローラ１０への入力信号Ｄは、ネットワークコントローラ４０から出力される複数の信号であり、例えば、ネットワークコントローラ４０が特定のパケットやデータを受信したときに出力される信号を含む。また、入力信号Ｈは、例えば、プリンタ１が備える省エネルギー（以下、省エネという）復帰／移行キー（図示せず）を押下された場合に出力される信号等、ＡＳＩＣ２０の外部から入力される複数の信号である。
【００１７】
パワーマネージメントコントローラ１０は、これら各信号Ｄ、Ｈ等に基づいて装置各部の電力を制御し、プリンタ１及び、その各部の消費電力モードや稼動状態を切り替えて、省エネ状態（省電力モード）への移行と、その状態から通常状態（通常電力モード）への復帰等を実行させる。従って、これら各信号Ｄ、Ｈには、例えばＡＳＩＣ２０やメインＣＰＵ２１、及びＳＤＲＡＭ７の消費電力モードを切り替えるための信号や、コントローラボード２及びＡＳＩＣ２０の各部への電力を供給／停止させるための信号、或いは、プロッタ３への電力を供給／停止させるための信号等が含まれる。また、本実施形態のプリンタ１は、装置全体としても、複数（ここでは３つ）の省電力モードと１つの通常電力モードを含む、消費電力の異なる複数の消費電力モードを備えており、パワーマネージメントコントローラ１０が、これら各モード間の移行を制御する。即ち、このパワーマネージメントコントローラ１０は、プリンタ１及び装置各部の消費電力モードを、省電力モードと通常電力モード、又は複数の省電力モード間で切り替え制御する電力制御手段を構成している。
【００１８】
次に、プリンタ１が備える、これら４つの消費電力モードについて説明する。
１．通常電力モード
通常電力モードは、プリンタ１内の全部に電力を供給して全ての領域に通電させ、メインＣＰＵ２１及びＡＳＩＣ２０も通常電力モードで稼動する通常動作可能状態のモードであり、最も消費電力が大きい。
【００１９】
２．コントローラモード
コントローラモードは、コントローラボード２内の全部に電力を供給して通電させ、プロッタ３のみ電力を遮断して省電力状態にする第１の省電力モードである。従って、メインＣＰＵ２１及びＡＳＩＣ２０は通常電力モードになっている。
【００２０】
３．ネットワークモード
ネットワークモードでは、プロッタ３に加えて、コントローラボード２の破線で囲まれた操作部５及びＨＤＤ６と、ＡＳＩＣ２０内部の破線で囲まれた各Ｉ／Ｆ２５、２６、２７、２８の電力を遮断する。また、コントローラボード２とＡＳＩＣ２０の他の部分には電力を供給して通電させ、メインＣＰＵ２１とＳＤＲＡＭ７は、省電力モードではなく通常電力モードにする。従って、ネットワークモードは、コントローラモードよりも更に消費電力が小さい第２の省電力モードである。
【００２１】
４．待機モード
待機モードは、メインＣＰＵ２１及びＳＤＲＡＭ７の状態のみがネットワークモードと異なり、それら以外の部分は、上記したネットワークモードと同様の電力モード状態である。一方、この待機モードでは、メインＣＰＵ２１はクロックを停止したスリープモードに、ＳＤＲＡＭ７は省電力モードであるセルフリフレッシュモードに、それぞれ移行させる。これにより、メインＣＰＵ２１を停止状態にして省電力モードへ移行させ、以上の各モードよりも消費電力を小さくし、それらを最も電力の消費が少なくなる最省電力状態の省電力モードにする。従って、待機モードは、４つの電力モードの中で最も消費電力が小さい第３の省電力モードである。
【００２２】
以上のように、このプリンタ１では、メインＣＰＵ２１やＡＳＩＣ２０の消費電力モードを、通常電力モード又は、それよりも消費電力が小さく、かつ消費電力が互いに異なる１以上（ここでは１つ）の省電力モードのいずれかに移行させ、それらの間で切り替えて消費電力を変更可能になっている。これにより、その稼動状態を、プリンタ１全体の消費電力モードに応じて必要な状態に変化させ、例えば、消費電力モードを、ネットワークコントローラ４０を介して外部装置から受信したデータを処理する通常電力モード（通常稼動状態）と、受信データを処理しない省電力モード（稼動制限状態）とに切り替える。
【００２３】
なお、ここでは、メインＣＰＵ２１のクロックを停止することで、メインＣＰＵ２１を停止状態にしてスリープモードに移行させ、メインＣＰＵ２１及びＡＳＩＣ２０を省電力モード（停止状態モード）に切り換えるが、これらは他の方法により省電力モードに切り替えてもよい。その際、例えば、クロックジェネレータ２２により、供給するクロックの周波数を通常電力モード時よりも低くして、メインＣＰＵ２１をスリープモードにし、又は、メインＣＰＵ２１の電源を遮断して停止状態にすることで、省電力モードに移行させてもよい。従って、メインＣＰＵ２１の省電力モードには、供給する電力を遮断して駆動を停止させた状態だけでなく、電力を供給しつつ稼動を制限する等して消費電力を相対的に小さくした各状態を含む。
【００２４】
これらプリンタ１及びメインＣＰＵ２１等の装置各部の消費電力モードの切り替え（移行／復帰）は、メインＣＰＵ２１が内部バス３０を介して、パワーマネージメントコントローラ１０へ消費電力モードの設定を行うか、又はパワーマネージメントコントローラ１０への上記した信号Ｄ、Ｈ等の入力に基づき、パワーマネージメントコントローラ１０により制御されて実行される。その際、パワーマネージメントコントローラ１０は、プリンタ１内の各デバイスやブロック等の各部へ、各々所定の信号Ａ、Ｂ、Ｃ、Ｅ、Ｆ、Ｇを直接又は間接的に出力する。
【００２５】
具体的には、このパワーマネージメントコントローラ１０からの出力信号Ａは、メインＣＰＵ２１に割り込みを発生させ、メインＣＰＵ２１及びＡＳＩＣ２０を可動状態へ、又はスリープ状態（スリープモード）へと遷移させる信号である。これにより、パワーマネージメントコントローラ１０は、メインＣＰＵ２１の消費電力モードの変更（切り替え）を要求し、上記した各モード間で切り替えて、その消費電力を変更制御する。従って、パワーマネージメントコントローラ１０は、メインＣＰＵ２１を含むＡＳＩＣ２０の消費電力モード（稼動状態）の切り替えを要求する手段、及び、その消費電力モードを、通常電力モードと、省電力モードとに切り替える切替手段の一部を構成している。
【００２６】
これに対し、出力信号Ｂは、ＳＤＲＡＭコントローラ２３を介して、ＳＤＲＡＭ７をセルフリフレッシュモードへ、又は通常電力モードへと遷移させるための信号である。また、出力信号Ｃは、ＡＳＩＣ２０内部の破線で囲まれた領域内のＯＰＥ・Ｉ／Ｆ２５、ＨＤＤ・Ｉ／Ｆ２６、Ｉ／Ｏ・Ｉ／Ｆ２７、及びＰＣＩ・Ｉ／Ｆ２８の電力を遮断又は復帰させるための信号である。
【００２７】
出力信号Ｅ、Ｆは、ボード電力制御部１１を介して出力され、一方の出力信号Ｅは、コントローラボード２内の破線で囲まれた領域内の操作部５及びＨＤＤ６の電力を遮断又は復帰させる信号である。また、出力信号Ｆは、コントローラボード２内の他の部分の電力を制御するための信号であり、例えばプルアップ用の電源を遮断又は復帰等するのに使用される。出力信号Ｇは、外部電力制御部１２を介して出力される、コントローラボード２の外部の電力を制御する信号であり、例えばプロッタ３に出力されて、その電力を制御するために使用される。
【００２８】
ここで、本実施形態では、上記したように、ＡＳＩＣ２０のネットワークコントローラ４０とＰＨＹ１５とを接続し、ＰＨＹ１５を介したネットワークとのデータ通信を、ネットワークコントローラ４０により制御して行う。また、プリンタ１が省電力モードであるときにも、これらＰＨＹ１５とネットワークコントローラ４０とに電力を供給し、ネットワークコントローラ４０により、パケット等の外部装置から受信したデータの一部を処理するようになっている。即ち、ネットワークコントローラ４０は、外部装置との通信制御手段であるとともに、ＰＨＹ１５を介して受信した所定データを処理するデータ処理手段でもあり、ＡＳＩＣ２０及びメインＣＰＵ２１が省電力モードであるときに、それらを介さずに受信データを処理する。
【００２９】
図２は、このネットワークコントローラ４０の概略構成を示すブロック図であり、その要部や内部のデータ経路を模式的にブロックや矢印で示している。
ネットワークコントローラ４０は、図示のように、ＰＨＹ１５を介して外部装置と通信するためのメディアアクセスコントローラであるＭＡＣ４１と、受信データの処理やネットワークコントローラ４０の制御等を行うＣＰＵ（サブＣＰＵ）４２と、受信データを一時的に蓄積するメモリである第１バッファ４３及び第２バッファ４４と、を有する。
【００３０】
このネットワークコントローラ４０では、ＰＨＹ１５を介してＭＡＣ４１により受信した外部装置からのデータをサブＣＰＵ４２へ転送し、プリンタ１の消費電力モード等に応じて、サブＣＰＵ４２により受信データを処理する。このように、ネットワークコントローラ４０のサブＣＰＵ４２は、受信したデータを処理する第１のデータ処理手段である上記したＡＳＩＣ２０のメインＣＰＵ２１に対し、同じく受信データを処理する第２のデータ処理手段を構成する。ただし、このサブＣＰＵ４２は、メインＣＰＵ２１が省電力モードで受信データを処理できないときに加えて、メインＣＰＵ２１が通常電力モードで受信データを処理できるときにも、受信データに応じて、所定の処理を実行する。
【００３１】
その際、サブＣＰＵ４２は、パケット等の受信したデータを解析し、その種類等に応じて、受信データの処理の要・不要を判定し、処理不要と判定された受信データを破棄するとともに、処理要と判定されたときは、その受信データのネットワークコントローラ４０での処理の可・不可を判定する。これにより、処理可と判定されたときには、そのデータの種類に応じた応答パケットを作成してＭＡＣ４１及びＰＨＹ１５を介して送信する等、所定のパケット処理を含む送信元への応答処理を実行する。一方、処理不可と判定されたときには、メインＣＰＵ２１及び、必要に応じてＡＳＩＣ２０やコントローラボード２の他の構成、又はプロッタ３の復帰信号を出力する等して、各々で予め設定された処理を実行させる。
【００３２】
具体的には、このネットワークコントローラ４０のサブＣＰＵ４２は、例えば、受信したパケットに含まれる送信元や宛先のＭＡＣアドレス、又は宛先ＩＰアドレスから、そのパケットの種類（自局当て、ブロードキャスト、マルチキャスト等）を判別し、自装置（自局）で処理する必要のないパケットを破棄する。このように、アドレスに基づいてパケット等の受信データを検査し、そのデータを通過させるか否かを判定して、フィルタリング処理を行う。続いて、サブＣＰＵ４２は、破棄されなかった受信データに特定のパターンが含まれるか走査して、含まれていないものは破棄し、処理する必要のあるパケットやデータを選別して、バッファ４３、４４への転送や後述する各処理を実行する。
【００３３】
なお、この処理する必要のあるデータとしては、例えば上記したＷＳＤや、ＭＩＢ（Management Information Base）、ＳＮＭＰ（Simple Network Management Protocol）、及び蓄積画像の読み出し要求、或いは、印刷要求、印刷データ、ＡＲＰ（Address Resolution Protocol）要求、ＰＩＮＧ（Packet INternet Groper）要求、ＷＳＤパケット、その他所定のプロトコルのパケット等がある。加えて、上記したＴＣＰやＵＤＰ（User Datagram Protocol）のパケットも処理を要するデータであり、それらは、付加されるポート番号で識別され、処理の要・不要等が判定される。また、このサブＣＰＵ４２によるフィルタリング処理において、通過可能なアドレスや、走査する特定パターン、又は通過ポート番号等は、メインＣＰＵ２１により設定可能になっており、各フィルタリング処理時に読み出されてレジスタ（図示せず）に設定される等して使用される。
【００３４】
サブＣＰＵ４２は、これら設定された条件に基づき、例えば、処理すべきパケットを受信し、かつ、受信パケットがＡＲＰ要求やＰＩＮＧ要求パケットであるときには、その種類等に応じた応答パケットを生成し、ＭＡＣ４１及びＰＨＹ１５を介してネットワーク上へ送信する。このようにして、ネットワークコントローラ４０は、受信頻度が高く、比較的簡便な応答が可能な所定のパケット等の受信データに対して、メインＣＰＵ２１を介さずに自動応答し、メインＣＰＵ２１を通常電力モードに復帰させることなく省電力モードに維持する。
【００３５】
一方、ネットワークコントローラ４０は、外部装置からの受信データが、ＴＣＰパケットやＵＤＰパケット等の、一連の通信データに含まれる送信元とのコネクションの確立を要求するパケットであるときには、サブＣＰＵ４２により、そのポート番号から実行すべき処理や動作等を判定する。ここでは、サブＣＰＵ４２は、ポート番号と予め設定された条件に基づき、受信データを破棄するか、サブＣＰＵ４２で処理するか、メインＣＰＵ２１で処理するか、サブＣＰＵ４２で送信元とのコネクションを一旦確立するかを判定する。その判定結果に基づき、サブＣＰＵ４２は、受信データの破棄や、処理すべき受信データの第２バッファ４４への転送、又は、サブＣＰＵ４２で処理するパケットに対する応答パケットの生成と、そのＭＡＣ４１及びＰＨＹ１５を介した外部装置への送信等を行う。
【００３６】
このように、サブＣＰＵ４２は、外部装置から受信したデータを解析し、その処理の要・不要に加えて、それぞれに応じて、ＡＳＩＣ２０（メインＣＰＵ２１）とネットワークコントローラ４０（サブＣＰＵ４２）のいずれで受信データを処理するか判定する手段（第１の判定手段）を構成している。また、この判定結果に応じて、サブＣＰＵ４２は、メインＣＰＵ２１を省電力モードに維持したまま、自己で処理すべき所定の受信データを処理するとともに、メインＣＰＵ２１で処理すると判定したときには、その通常電力モードへの復帰を要求する。これにより、メインＣＰＵ２１の消費電力モードを、省電力モードから通常電力モードへ切り替え、受信データを転送してメインＣＰＵ２１により処理させる。
【００３７】
その際、ネットワークコントローラ４０は、メインＣＰＵ２１での処理を要する受信データを第２バッファ４４へ蓄積し、又は、受信データと、それに続く一連の受信データ（例えばＴＣＰパケット）を第１バッファ４３へ一旦蓄積した後、それらをまとめて第２バッファ４４へ転送して蓄積する。続いて、ネットワークコントローラ４０は、ＳＤＲＡＭコントローラ２３から、ＳＤＲＡＭ７が通常電力モードであると通知されているときには、蓄えたデータを、即座に、第２バッファ４４から、内部バス３０及びＳＤＲＡＭコントローラ２３を介してＳＤＲＡＭ７へ転送して蓄積する。また、ＳＤＲＡＭコントローラ２３から、ＳＤＲＡＭ７がセルフリフレッシュモードであると通知されているときには、ＳＤＲＡＭ７が通常電力モードに復帰したことを通知されるまで、第２バッファ４４にデータを保持する。その後、ＳＤＲＡＭ７の通常電力モードへの復帰後に、蓄積したデータを、第２バッファ４４から同様にＳＤＲＡＭ７へ転送して蓄積する。
【００３８】
併せて、ネットワークコントローラ４０は、受信データをＡＳＩＣ２０のメインＣＰＵ２１で処理して、それぞれに応じた処理をプリンタ１に実行させるため、所定の復帰要求信号Ｄをパワーマネージメントコントローラ１０へ出力する。この復帰要求信号Ｄは、メインＣＰＵ２１やＡＳＩＣ２０、コントローラボード２等の省電力モードから通常電力モードへの復帰を含む消費電力モードの移行を要求する信号であり、受信データに応じて、異なるモード移行要求を付加して、サブＣＰＵ４２による出力される。
【００３９】
その際、受信データが、例えばＴＣＰによる印刷要求である場合には、ＴＣＰパケットの宛先ポート番号の解析結果から、メインＣＰＵ２１で処理を要すると判定される。これを受けて、サブＣＰＵ４２は、メインＣＰＵ２１を通常電力モードへ、プロッタ３を印刷可能状態に各々復帰させるため、プロッタ３の復帰要求（プロッタ復帰要求）を含む信号Ｄを出力してパワーマネージメントコントローラ１０へ通知する。この信号Ｄにより、パワーマネージメントコントローラ１０は、プリンタ１の現在の消費電力モードに応じた信号を出力し、例えば上記したコントローラモードであるときには、外部電力制御部１２に信号を出力して、プロッタ３へ信号Ｇ（図１参照）を出力させる。この信号Ｇにより、プロッタ３に電力を供給して省電力モードから通常電力モードに復帰させる。
【００４０】
これに対し、受信データが、例えばＴＣＰによるＨＤＤ６の蓄積画像の読み出し要求である場合には、同じくＴＣＰパケットの宛先ポート番号からメインＣＰＵ２１で処理を要すると判定される。従って、この場合にも、サブＣＰＵ４２により、受信データに応じて、コントローラボード２の復帰要求（コントローラ復帰要求）を含む信号Ｄを出力してパワーマネージメントコントローラ１０へ通知する。この信号Ｄにより、パワーマネージメントコントローラ１０は、例えば上記したネットワークモードであるときには、信号Ｃ及び、ボード電力制御部１１を介して信号Ｅを出力する。この信号Ｃ、Ｅにより、ＡＳＩＣ２０の破線で囲まれた各Ｉ／Ｆ２５、２６、２７、２８及び、コントローラボード２の破線で囲まれた操作部５及びＨＤＤ６に電力を供給して可動状態にし、プロッタ３を省電力モードに維持しつつ、ＨＤＤ・Ｉ／Ｆ２６とＨＤＤ６を省電力モードから通常電力モードに復帰させる。
【００４１】
また、受信データが、例えばＵＤＰによるＭＩＢ要求のパケットである場合には、ＵＤＰパケットの宛先ポート番号から、同じくメインＣＰＵ２１で処理を要すると判定される。これを受けて、サブＣＰＵ４２により、受信データに応じて、メインＣＰＵ２１の復帰要求（メインＣＰＵ復帰要求）を含む信号Ｄを出力してパワーマネージメントコントローラ１０へ通知する。この信号Ｄにより、パワーマネージメントコントローラ１０は、例えば待機モードであるときには、信号Ａ、Ｂを出力し、プロッタ３及び、コントローラボード２とＡＳＩＣ２０の一部を省電力状態に維持しつつ、メインＣＰＵ２１とＳＤＲＡＭ７の消費電力モードを切り替える。これにより、メインＣＰＵ２１が、省電力モードから通常電力モードへ、ＳＤＲＡＭ７がセルフリフレッシュモードから通常電力モードへ復帰し、プリンタ１がネットワークモードに移行して、メインＣＰＵ２１により所定のデータ処理を行う。
【００４２】
ここで、受信データが、例えばＷＳＤのパケットである場合には、そのコネクション確立を要求する最初のパケットのポート番号だけでは、サブＣＰＵ４２で処理可能な定期的な問い合わせなのか、又はメインＣＰＵ２１で処理すべき他の要求なのかを判定できない。そのため、この場合には、要求に応じて通信のコネクションを確立し、その後に続く受信データを解析して、サブＣＰＵ４２で処理可能なデータはサブＣＰＵ４２で、メインＣＰＵ２１での処理を要するデータはメインＣＰＵ２１で、それぞれ処理する必要がある。
【００４３】
このように、外部装置からの受信データによっては、メインＣＰＵ２１とサブＣＰＵ４２のいずれで受信データを処理するか直ちには判定できず、その後の受信データから判定する必要が生じる。その際、このプリンタ１では、ネットワークコントローラ４０のサブＣＰＵ４２により、データ送信元の外部装置と通信のコネクションを確立し、メインＣＰＵ２１は、通常電力モードへ復帰させずに省電力モードに維持するようになっている。また、このようにコネクションを確立した後の外部装置から続いてデータを受信したときに、その受信データを解析し、それぞれに応じて、コネクションを確立した外部装置からの最初及び、それに続く各受信データを、両ＣＰＵ２１、４２のいずれで処理するかを判定する。従って、サブＣＰＵ４２は、コネクション確立後に、一連の各受信データの処理先を判定する手段（第２の判定手段）も構成し、これによりサブＣＰＵ４２で処理すると判定されたときに、各受信データ（その後にコネクション先から受信する各データを含む）を処理する。
【００４４】
加えて、ここでは、ネットワークコントローラ４０は、このようにサブＣＰＵ４２による各受信データの処理中に、コネクションを確立していない他の外部装置等から新たにデータを受信したときには、この新たに受信したデータも、いずれのＣＰＵ２１、４２により処理するか判定する。その結果、新たな受信データはメインＣＰＵ２１で処理すると判定されたときには、判定に応じて、サブＣＰＵ４２により、上記と同様に復帰要求信号Ｄを出力してメインＣＰＵ２１の通常電力モードへの復帰を要求する。また、新たな受信データを、第２バッファ４４等を経由してメインＣＰＵ２１へ転送し、メインＣＰＵ２１により所定の処理を実行させる。このようにして、コネクションを確立済みの通信データはサブＣＰＵ４２で、新たに受信したデータや、そのデータに続く一連の通信データはメインＣＰＵ２１で各々処理し、両ＣＰＵ２１、４２のそれぞれで、判定された各データを処理する。
【００４５】
これに対し、ネットワークコントローラ４０は、前記第２の判定手段が、コネクション確立後に、受信データをメインＣＰＵ２１で処理すると判定したときは、上記と同様に、それらの消費電力モードの通常電力モードへの復帰を要求し、メインＣＰＵ２１により各受信データを処理させる。その際、このプリンタ１では、コネクションを確立した外部装置からの各受信データの全部又は必要な一部を、まず、サブＣＰＵ４２がアクセス可能な記憶手段（バッファ４３、４４）に記憶する。続いて、上記した判定に応じて、記憶された各受信データを、サブＣＰＵ４２により制御して、メインＣＰＵ２１がアクセス可能な記憶手段（ＳＤＲＡＭ７）へ転送し、この転送及び記憶された各受信データをメインＣＰＵ２１が処理する。
【００４６】
その後、サブＣＰＵ４２は、メインＣＰＵ２１がデータ処理中に、ＰＨＹ１５等を介して、一連のデータの続きや新たなデータを受信したときには、これら外部装置から受信したデータをＳＤＲＡＭ７へ転送し、各データをメインＣＰＵ２１により処理させる。このように、メインＣＰＵ２１がデータ処理可能な通常電力モードであり、かつサブＣＰＵ４２が受信データを処理していないときには、ネットワークコントローラ４０は、サブＣＰＵ４２による受信データに対するデータ処理を無効にして停止させ、メインＣＰＵ２１により各データを処理させる。
【００４７】
次に、以上のように、メインＣＰＵ２１の消費電力モードを切り替える等して、外部装置からの受信データをサブＣＰＵ４２とメインＣＰＵ２１とにより処理する処理手順や動作を含む、プリンタ１の制御方法について説明する。
【００４８】
なお、ここでは、外部装置と通信して、コネクション確立要求パケットと他の複数のパケットからなる、一連のＴＣＰパケットを受信し、受信したパケットのデータを、まず、サブＣＰＵ４２により処理する場合を例に採り説明する。従って、以下の各処理の前に、メインＣＰＵ２１の消費電力モードは、通常電力モードから省電力モードに切り替えられている。このように、メインＣＰＵ２１が省電力モードのときに、受信データをサブＣＰＵ４２で処理し、受信データに応じて、メインＣＰＵ２１とサブＣＰＵ４２のいずれで受信データを処理するか判定する。ここでは、パケットのポート番号から、そのコネクションに関する一連の受信データの処理先を判定し、各ＣＰＵ２１、４２により、それぞれ受信データを処理する。以下、この判定結果毎に、処理手順や動作を順に説明する。
【００４９】
１．サブＣＰＵ４２により受信データを処理
図３は、このときの処理の流れの例を示すフロー図（シーケンス図）であり、ホスト等の外部装置６０とサブＣＰＵ４２間のデータの流れを示している。
また、ここでは、送受信するパケットをＴＣＰと表し、その送信方向を矢印で示すとともに、パケットの種類をカッコ内に、それぞれ、ＳＹＮ（コネクションの確立を要求するパケット）、ＦＩＮ（コネクションの終了を要求するパケット）、ＡＣＫ（各要求に対する応答パケット）、データ（処理データを含むデータパケット）と区別して示す。
【００５０】
このように処理するパケットとしては、例えば印刷パケットがあり、図示のように、まず、外部装置６０からコネクション確立を要求するＴＣＰ（ＳＹＮ）がサブＣＰＵ４２に送信される（Ｓ１０１）。そのポートがサブＣＰＵ４２で処理するポートのときには（Ｓ１０２）、サブＣＰＵ４２は、応答とコネクション確立要求とを含むＴＣＰ（ＳＹＮ、ＡＣＫ）を送信し（Ｓ１０３）、外部装置６０からは、これに対する応答のＴＣＰ（ＡＣＫ）が送信される（Ｓ１０４）。
【００５１】
これに応じて、サブＣＰＵ４２により、外部装置６０との間に通信のコネクションを確立し（Ｓ１０５）、以降、それらの間で各種データを含むＴＣＰ（データ）を互いに送受信し（Ｓ１０６、Ｓ１０７）、サブＣＰＵ４２が、例えばパケット返答を含む所定のパケット処理を実行する。その後、外部装置６０から送信されるコネクション終了を要求するＴＣＰ（ＦＩＮ）の受信（Ｓ１０８）に伴い、サブＣＰＵ４２は、応答のＴＣＰ（ＡＣＫ）と（Ｓ１０９）、コネクション終了要求のＴＣＰ（ＦＩＮ）を送信（Ｓ１１０）する。これに応じて、外部装置６０が送信する応答のＴＣＰ（ＡＣＫ）を受信した後に（Ｓ１１１）、サブＣＰＵ４２は、外部装置６０との間のコネクションを切断する（Ｓ１１２）。
【００５２】
２．メインＣＰＵ２１により受信データを処理
図４は、このときの処理の流れの例を示すフロー図であり、外部装置６０とサブＣＰＵ４２及び、メインＣＰＵ２１間のデータの流れを示している。
ここでは、図示のように、まず、外部装置６０からコネクション確立を要求するＴＣＰ（ＳＹＮ）がサブＣＰＵ４２に送信される（Ｓ２０１）。そのポートがメインＣＰＵ２１で処理するポートのときには（Ｓ２０２）、サブＣＰＵ４２により信号Ｄを出力する等して、メインＣＰＵ２１を通常電力モードへ復帰させ（Ｓ２０３）、以降の送受信データは、サブＣＰＵ４２が、メインＣＰＵ２１又は外部装置６０へ転送する。その際、受信データは、第２バッファ４４へ転送された後、復帰したＳＤＲＡＭ７へ転送されて、メインＣＰＵ２１により処理される。
【００５３】
このようにして、外部装置６０からのＴＣＰ（ＳＹＮ）が、サブＣＰＵ４２を介して（以下、同様）、メインＣＰＵ２１へ転送されると（Ｓ２０４）、メインＣＰＵ２１は、応答とコネクション確立要求とを含むＴＣＰ（ＳＹＮ、ＡＣＫ）を送信する（Ｓ２０５）。これに対する外部装置６０からの応答のＴＣＰ（ＡＣＫ）の受信により（Ｓ２０６）、メインＣＰＵ２１と外部装置６０との間に、サブＣＰＵ４２を介した通信のコネクションが確立し（Ｓ２０７）、それらの間でＴＣＰ（データ）を互いに送受信して（Ｓ２０８、Ｓ２０９）、メインＣＰＵ２１により処理する。その後、外部装置６０からのコネクション終了を要求するＴＣＰ（ＦＩＮ）の受信（Ｓ２１０）に伴い、メインＣＰＵ２１は、応答のＴＣＰ（ＡＣＫ）と（Ｓ２１１）、コネクション終了要求のＴＣＰ（ＦＩＮ）を送信（Ｓ２１２）する。これに対する外部装置６０からの応答のＴＣＰ（ＡＣＫ）の受信により（Ｓ２１３）、サブＣＰＵ４２を介して確立されたコネクションを切断する（Ｓ２１４）。
【００５４】
３．いずれのＣＰＵ２１、４２で処理するか判定できないとき
３（１）．サブＣＰＵ４２で受信データを処理
図５は、このときの処理の流れの例を示すフロー図であり、外部装置６０とサブＣＰＵ４２間のデータの流れを示している。
【００５５】
ここでは、図示のように、まず、外部装置６０からコネクション確立を要求するＴＣＰ（ＳＹＮ）がサブＣＰＵ４２に送信される（Ｓ３０１）。そのポートが、いずれで処理するか判定できず、処理するＣＰＵ２１、４２が確定しないポートのときには（Ｓ３０２）、サブＣＰＵ４２は、応答とコネクション確立要求とを含むＴＣＰ（ＳＹＮ、ＡＣＫ）を送信する（Ｓ３０３）。これに対する外部装置６０からの応答のＴＣＰ（ＡＣＫ）の受信により（Ｓ３０４）、サブＣＰＵ４２とデータ送信元の外部装置６０との間に、通信のコネクションを確立する（Ｓ３０５）。
【００５６】
続いて、コネクションを確立した後の外部装置６０からＴＣＰ（データ）が送信され（Ｓ３０６）、そのデータを受信したときに、サブＣＰＵ４２により、受信したデータに応じて、その外部装置６０からの各受信データをＣＰＵ２１、４２のいずれで処理するか判定する。その結果、サブＣＰＵ４２で処理する通信であると判定（Ｓ３０７）されたときには、互いにＴＣＰ（データ）を送受信して（Ｓ３０８）、サブＣＰＵ４２により各受信データを処理する。その後、外部装置６０から送信されるコネクション終了を要求するＴＣＰ（ＦＩＮ）の受信（Ｓ３０９）に伴い、サブＣＰＵ４２は、応答のＴＣＰ（ＡＣＫ）と（Ｓ３１０）、コネクション終了要求のＴＣＰ（ＦＩＮ）を送信（Ｓ３１１）する。これに対する外部装置６０からの応答のＴＣＰ（ＡＣＫ）の受信により（Ｓ３１２）、それらの間のコネクションを切断する（Ｓ３１３）。
【００５７】
また、このように、サブＣＰＵ４２で各受信データを処理中に、新たにデータを受信して、そのデータがメインＣＰＵ２１で処理すると判定されたときには、上記のように、判定に応じて、メインＣＰＵ２１を通常電力モードへ復帰させる。併せて、新たな受信データをメインＣＰＵ２１へ転送して処理し、サブＣＰＵ４２とメインＣＰＵ２１のそれぞれで、判定された各データを処理する。
【００５８】
３（２）．メインＣＰＵ２１で受信データを処理
図６は、このときの処理の流れの例を示すフロー図であり、外部装置６０とサブＣＰＵ４２及び、メインＣＰＵ２１間のデータの流れを示している。
ここでは、まず、図示のように、上記（図５のＳ３０１〜Ｓ３０６）と同様に、外部装置６０とサブＣＰＵ４２との間でデータを送受信して通信のコネクションを確立し、その外部装置６０からのＴＣＰ（データ）をサブＣＰＵ４２により受信する（Ｓ４０１〜Ｓ４０６）。続いて、サブＣＰＵ４２により、メインＣＰＵ２１で処理する通信であると判定（Ｓ４０７）されたときには、メインＣＰＵ２１を通常電力モードに復帰させ（Ｓ４０８）、外部装置６０からの各受信データをメインＣＰＵ２１で処理する。
【００５９】
その際、外部装置６０とのコネクションはサブＣＰＵ４２が確立しており、メインＣＰＵ２１は、ソフトウェア上はＴＣＰのコネクションが確立されていないため、メインＣＰＵ２１と外部装置６０との間にもコネクションを確立する必要がある。そのため、サブＣＰＵ４２は、コネクションを確立した外部装置６０からのコネクションパケットを含む各受信データ（その全部又は必要な一部のデータ）を、第１バッファ４３に一旦記憶し、メインＣＰＵ２１で処理すると判定されたときに、蓄えられた各受信データを第２バッファ４４へ転送する。その状態で、ＳＤＲＡＭコントローラ２３からのＳＤＲＡＭ７の使用可能を通知する信号の受信に伴い、第２バッファ４４に記憶された各受信データを、メインＣＰＵ２１がアクセス可能なＳＤＲＡＭ７へ転送し、転送された各受信データをメインＣＰＵ２１が処理する。この転送されたコネクション確立要求を含むパケットに基づき、メインＣＰＵ２１はコネクション確立を開始し、サブＣＰＵ４２とコネクションを確立して、サブＣＰＵ４２を介して外部装置６０と接続する。その後は、サブＣＰＵ４２が送受信データを各々転送して、正常なＴＣＰ送信を実行させる。
【００６０】
具体的には、ここでは、まず、サブＣＰＵ４２からメインＣＰＵ２１へコネクション確立を要求するＴＣＰ（ＳＹＮ）を送信し（Ｓ４０９）、これに応じたメインＣＰＵ２１からのＴＣＰ（ＳＹＮ、ＡＣＫ）（Ｓ４１０）、及びサブＣＰＵ４２からの応答のＴＣＰ（ＡＣＫ）（Ｓ４１１）の送受信により、ＣＰＵ２１、４２間にコネクションを確立する（Ｓ４１２）。以降、送受信データは、サブＣＰＵ４２が、メインＣＰＵ２１又は外部装置６０へ転送し、まず、それまでの各受信データを含むＴＣＰ（データ）を、サブＣＰＵ４２からメインＣＰＵ２１へ転送（Ｓ４１３）する。その後、サブＣＰＵ４２を介して（以下、同様）、メインＣＰＵ２１と外部装置６０との間でＴＣＰ（データ）を互いに送受信し（Ｓ４１４、Ｓ４１５）、メインＣＰＵ２１により各受信データを処理する。
【００６１】
その後、外部装置６０から送信されるコネクション終了を要求するＴＣＰ（ＦＩＮ）の受信（Ｓ４１６）に伴い、メインＣＰＵ２１は、応答のＴＣＰ（ＡＣＫ）と（Ｓ４１７）、コネクション終了要求のＴＣＰ（ＦＩＮ）を送信（Ｓ４１８）する。これに対する外部装置６０からの応答のＴＣＰ（ＡＣＫ）の受信により（Ｓ４１９）、外部装置６０とサブＣＰＵ４２間及び、サブＣＰＵ４２とメインＣＰＵ２１間のコネクションを各々切断する（Ｓ４２０、Ｓ４２１）。
【００６２】
なお、サブＣＰＵ４２は、メインＣＰＵ２１で各受信データを処理中に、一連のデータの続きや新たなデータを受信したときには、これら外部装置から受信したデータをＳＤＲＡＭ７へ転送し、各データをメインＣＰＵ２１により処理させる。このように、メインＣＰＵ２１がデータ処理可能な通常電力モードであり、かつサブＣＰＵ４２が受信データを処理していないときには、ネットワークコントローラ４０は、サブＣＰＵ４２による受信データに対するデータ処理を無効にし、メインＣＰＵ２１により各データを処理させる。
【００６３】
次に、以上説明したメインＣＰＵ２１の消費電力モードの切り替えを含む、プリンタ１全体としての消費電力モード間の移行について具体的に説明する。
図７は、このプリンタ１の消費電力モードの遷移態様を示す模式図であり、以下、図中に示す番号順に消費電力モードの移行（切り替え）を説明する。
【００６４】
１．通常電力モード−コントローラモード間の移行
１−１．通常電力モードからコントローラモードへの移行要因は、プロッタ３の動作が一定時間ない場合や、上記した省エネ復帰／移行キー（図示せず）が押された場合等が挙げられる。その際、例えばプロッタ３の動作が一定時間ない場合であれば、メインＣＰＵ２１がそれを検知して、パワーマネージメントコントローラ１０にプロッタ３の電源を遮断するように伝達する。これにより、パワーマネージメントコントローラ１０が外部電力制御部１２を介して信号Ｇを出力し、この信号Ｇによりプロッタ３の電源を遮断して、プリンタ１をコントローラモードへ移行させる。
【００６５】
１−２．コントローラモードから通常電力モードへの移行要因は、外部装置６０からの印刷データ、印刷要求の受信、又は省エネ復帰／移行キー（図示せず）が押された場合等が挙げられる。その際、例えば、外部装置６０から印刷データを受信した場合には、ネットワークコントローラ４０のサブＣＰＵ４２からプロッタ復帰要求を含む復帰要求信号Ｄが出力され、パワーマネージメントコントローラ１０へ通知される。これにより、パワーマネージメントコントローラ１０は、外部電力制御部１２を介して信号Ｇを出力し、プロッタ３の電源を復帰させてプロッタ３を通常動作可能状態へ復帰させ、プリンタ１を通常電力モードへ移行させる。同時に、第２バッファ４４に蓄積された印刷データを、ＳＤＲＡＭコントローラ２３を経由してＳＤＲＡＭ７へ転送して蓄積する。この印刷データをメインＣＰＵ２１が加工してプロッタ３へ転送することで、プロッタ３から印刷データを印字した用紙を出力する。
【００６６】
２．コントローラモード−待機モード間の移行
２−１．コントローラモードから待機モードへの移行要因は、メインＣＰＵ２１により処理すべきデータの受信が一定時間なく、省エネ復帰／移行キー（図示せず）も一定時間押されず、かつ操作部５に対する操作も一定時間ないとき等、一定又は所定時間イベントが発生しなかった場合等が挙げられる。このように、例えばメインＣＰＵ２１が一定時間イベントの発生がないことを確認すると、パワーマネージメントコントローラ１０に対して、メインＣＰＵ２１を省電力モード（ここでは、スリープモード）へ、ＳＤＲＡＭ７をセルフリフレッシュモードへ、コントローラボード２の一部、及びＡＳＩＣ２０の一部を省電力状態へ移行するように伝達する。これに応じて、パワーマネージメントコントローラ１０が信号Ａ、Ｂ、Ｃ及び、ボード電力制御部１１を介した信号Ｅ、Ｆを出力する。この各信号で、メインＣＰＵ２１を省電力モードへ、ＳＤＲＡＭ７をセルフリフレッシュモードへ移行させ、コントローラボード２の一部、及びＡＳＩＣ２０の一部（それぞれ図１に示す破線内の各部）を省電力状態へ移行させて、プリンタ１を待機モードへ移行させる。
【００６７】
２−２．待機モードからコントローラモードへの移行要因は、例えばＨＤＤ６に格納された画像データを、外部装置６０が取得するための蓄積画像読み出し要求パケットの受信等が挙げられる。その際、ネットワークコントローラ４０のサブＣＰＵ４２からコントローラ復帰要求を含む復帰要求信号Ｄが出力され、パワーマネージメントコントローラ１０へ通知される。これにより、パワーマネージメントコントローラ１０は、信号Ａ、Ｂ、Ｃ及び、ボード電力制御部１１を介した信号Ｅ、Ｆを出力し、メインＣＰＵ２１を省電力モードから通常電力モードへ、ＳＤＲＡＭ７をセルフリフレッシュモードから通常電力モードへ移行させる。同時に、ＨＤＤ６等のコントローラボード２の一部、及びＡＳＩＣ２０の一部（それぞれ図１に示す破線内の各部）を省電力状態から通常状態へ移行させ、プリンタ１をコントローラモードへ移行させる。この状態で、例えば第２バッファ４４に蓄積された蓄積画像読み出し要求パケットをＳＤＲＡＭ７へ転送し、メインＣＰＵ２１がＨＤＤ６から指定された画像データを読み出して、ネットワーク上の要求元へ転送することで、外部装置６０がＨＤＤ６中の蓄積画像を取得する。
【００６８】
３．待機モード−ネットワークモード間の移行
３−１．待機モードからネットワークモードへの移行要因は、ＭＩＢ要求データを受信した場合等が挙げられる。その際、ネットワークコントローラ４０のサブＣＰＵ４２からメインＣＰＵ復帰要求を含む復帰要求信号Ｄが出力され、パワーマネージメントコントローラ１０へ通知される。この信号に基づき、パワーマネージメントコントローラ１０は、信号Ａ、Ｂを出力し、メインＣＰＵ２１を、省電力モードから通常電力モードへ、ＳＤＲＡＭ７をセルフリフレッシュモードから通常電力モードへ移行させる。これにより、プリンタ１の消費電力モードをネットワークモードに移行させ、第２バッファ４４に蓄積されたＭＩＢ要求等のデータをＳＤＲＡＭ７へ転送し、この受信データを、メインＣＰＵ２１により、通常のネットワークデータと同様に処理する。
【００６９】
３−２．ネットワークモードから待機モードへの移行要因は、待機モードからネットワークモードへ移行した後に、受信データの処理が完了した場合等が挙げられる。その際、例えばメインＣＰＵ２１がデータ処理の完了を確認すると、パワーマネージメントコントローラ１０に対して、メインＣＰＵ２１を省電力モードへ、ＳＤＲＡＭ７をセルフリフレッシュモードへ移行するように伝達する。これに応じて、パワーマネージメントコントローラ１０が信号Ａ、Ｂを出力して、メインＣＰＵ２１を省電力モードへ、ＳＤＲＡＭ７をセルフリフレッシュモードへ移行させ、プリンタ１を待機モードへ移行させる。
【００７０】
４．待機モード−通常電力モード間の移行
４−１．待機モードから通常電力モードへの移行要因は、外部装置６０からの印刷データや印刷要求の受信、又は省エネ復帰／移行キー（図示せず）を押された場合等が挙げられる。その際、例えば外部装置６０から印刷データを受信した場合には、ネットワークコントローラ４０のサブＣＰＵ４２からプロッタ復帰要求を含む復帰要求信号Ｄが出力され、パワーマネージメントコントローラ１０へ通知される。これにより、パワーマネージメントコントローラ１０は、信号Ａにより、メインＣＰＵ２１を省電力モードから通常電力モードへ、信号Ｂにより、ＳＤＲＡＭ７をセルフリフレッシュモードから通常電力モードへ、それぞれ移行させる。また、パワーマネージメントコントローラ１０は、信号Ｃ及び、ボード電力制御部１１を介した信号Ｅ、Ｆにより、コントローラボード２の一部、及びＡＳＩＣ２０の一部（それぞれ図１に示す破線内の各部）を省電力状態から通常状態へ移行させる。更に、外部電力制御部１２を介した信号Ｇにより、プロッタ３の電源を復帰させ、プロッタ３を通常動作可能状態へ復帰させてプリンタ１を通常電力モードへ移行させる。その後、第２バッファ４４に蓄積された印刷データをＳＤＲＡＭ７へ転送し、メインＣＰＵ２１が印刷データを加工してプロッタ３へ転送することで、プロッタ３から印刷データを印字した用紙を出力する。
【００７１】
このように、プリンタ１は、消費電力モードを、受信データや予め設定された条件等に応じて複数の消費電力モード間で切り替え、必要な部分に電力を供給して受信データを処理しつつ、不要な電力を遮断等して消費電力を低減させている。また、メインＣＰＵ２１が省電力モードの待機モードでは、サブＣＰＵ４２により、予め設定された制御と所定の受信データの処理とを実行し、メインＣＰＵ２１を省電力モードに維持して消費電力を更に低減させている。一方、待機モード時に、メインＣＰＵ２１による処理を要するデータを受信したときには、メインＣＰＵ２１を通常電力モードへ復帰させて受信データを処理した後、メインＣＰＵ２１を再び省電力モードに移行させて装置全体の消費電力モードを切り替える。ただし、受信データが、上記した外部装置６０とサブＣＰＵ４２又はメインＣＰＵ２１との間で、コネクションを確立して維持する必要があるデータであるときには、１つの受信データの処理が終了しても各消費電力モードは切り替えず、一連のデータ処理が終了してコネクションの切断後に消費電力モードを切り替える。
【００７２】
このデータ処理時に、本実施形態では、メインＣＰＵ２１が省電力モード時に受信したデータを、サブＣＰＵ４２により、ＣＰＵ２１、４２のいずれで処理するか判定する。その結果、受信済みのデータからでは、いずれで処理するか判定できないときには、メインＣＰＵ２１を省電力モードから復帰させずに、サブＣＰＵ４２により、データ送信元の外部装置６０と通信のコネクションを確立し、続けて、サブＣＰＵ４２により制御してデータを送受信して処理する。そのため、このプリンタ１では、同様のデータを受信する度に、メインＣＰＵ２１を通常電力モードに切り替える必要がなく、それらの消費電力モードを省電力モードに長時間維持でき、消費電力を効果的に低減することができる。
【００７３】
その後は、コネクション確立後の外部装置６０から受信したデータから、サブＣＰＵ４２により、その外部装置６０からの一連の各受信データを処理するＣＰＵ２１、４２を判定し、メインＣＰＵ２１により処理するときには、メインＣＰＵ２１の通常電力モードへの復帰を要求して復帰させて各受信データを処理する。これに対し、サブＣＰＵ４２により処理すると判定されたときには、引き続き、メインＣＰＵ２１を省電力モードに維持しつつ、サブＣＰＵ４２によりデータ処理するため、メインＣＰＵ２１を無駄に通常電力モードに切り替える必要がなく、必要なときだけ復帰させて、プリンタ１全体としての消費電力を低減できる。
【００７４】
従って、本実施形態によれば、プリンタ１が備える消費電力モードが切り替え可能なメインＣＰＵ２１を通常電力モードへ復帰させる頻度を低くでき、省電力モードに長時間維持して、プリンタ１の消費電力を低減させることができる。特に、近年広く使用されているＷＳＤ等の定期的な問い合わせプロトコルに対しても、メインＣＰＵ２１を無駄に復帰させることなく対応でき、メインＣＰＵ２１等を復帰させる回数を少なくして、省電力モードの時間を増加させることができる。同様に、受信データが、一連の通信データに含まれるコネクション確立を要求するパケットのとき等でも、メインＣＰＵ２１の状態やソフトウェアに変更を加えることなく、以降もサブＣＰＵ４２により正常に通信でき、消費電力の削減と併せて、円滑なデータ処理も確保できる。
【００７５】
ここで、このプリンタ１は、サブＣＰＵ４２が各受信データを処理中に、他のコネクションパケット等の新たなデータを受信したときには、同様に、その受信データを処理するＣＰＵ２１、４２を判定する。その結果、新たな受信データはメインＣＰＵ２１で処理すると判定されたときには、メインＣＰＵ２１を通常電力モードに復帰させて受信データを転送し、メインＣＰＵ２１により、この新たな受信データを処理する。このように、両ＣＰＵ２１、４２により、それぞれに応じた各データを処理するため、処理効率を高めることができる。同時に、既に確立したコネクションに関する受信データは、そのままサブＣＰＵ４２で処理するため、そのコネクションでの以前のデータをメインＣＰＵ２１へ転送等することがなく、受信データを全て保持する必要がないため、ネットワークコントローラ４０のバッファ４３、４４の容量を少なくすることができる。
【００７６】
また、コネクション確立後に、受信データをメインＣＰＵ２１で処理すると判定したときには、サブＣＰＵ４２により記憶された各受信データをＳＤＲＡＭ７へ転送し、この各受信データに基づいて、メインＣＰＵ２１が、サブＣＰＵ４２とのコネクション確立とデータ処理とを実行する。その後は、受信データをサブＣＰＵ４２が転送することで、メインＣＰＵ２１と外部装置６０とが互いに通信して各受信データを処理する。従って、このデータ通信の間は、サブＣＰＵ４２は、データ転送処理だけを行うため、処理に必要な電力を抑えて、消費される電力を一層少なくできる。同時に、メインＣＰＵ２１は、外部装置６０と直接コネクションすることなく、サブＣＰＵ４２を介して通信するため、そのソフトウェアをコネクションのために特に変更する必要もなく、ソフトウェア変更に伴う不具合の発生を抑制しつつ、正常かつ正確に通信を行うことができる。
【００７７】
更に、メインＣＰＵ２１がデータ処理中のときには、サブＣＰＵ４２は、受信した各データを、そのままＳＤＲＡＭ７へ転送して転送処理だけを実行する。そのため、通信に伴うオーバーヘッドを少なくでき、かつ、通常は、メインＣＰＵ２１の方がサブＣＰＵ４２よりも処理能力が高いため、その能力を効果的に発揮させて、全体のデータ処理を早くすることもできる。併せて、ここでは、メインＣＰＵ２１がデータ処理可能な通常電力モードで、サブＣＰＵ４２がデータ処理していないときには、サブＣＰＵ４２のデータ処理を無効にして受信データの処理を停止させるため、消費電力をより低減することができる。
【００７８】
なお、本発明は、以上のプリンタ１を例に説明した情報処理装置の制御方法（情報処理方法）の各手順（工程）を、コンピュータで実行させるためのプログラムとして、プログラム言語により記述することでも実現することができる。併せて、このプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、又はＭＯ等、任意のコンピュータ読み取り可能な記録媒体に記録し、これをコンピュータで読み取らせることでも実施できる。
【００７９】
また、以上の説明では、ネットワークを介してデータを受信するプリンタ１を例に採り説明したが、本発明は、ネットワーク以外を介して外部装置６０と接続され、各種データを受信して処理等する他の情報処理装置にも適用できる。
【図面の簡単な説明】
【００８０】
【図１】本実施形態のプリンタの概略構成を示すブロック図である。
【図２】本実施形態のネットワークコントローラの概略構成を示すブロック図である。
【図３】本実施形態の受信データの処理の流れの例を示すフロー図である。
【図４】本実施形態の受信データの処理の流れの例を示すフロー図である。
【図５】本実施形態の受信データの処理の流れの例を示すフロー図である。
【図６】本実施形態の受信データの処理の流れの例を示すフロー図である。
【図７】本実施形態のプリンタの消費電力モードの遷移態様を示す模式図である。
【符号の説明】
【００８１】
１・・・プリンタ、２・・・コントローラボード、３・・・プロッタ、４・・・ＡＳＩＣクロック生成部、５・・・操作部、６・・・ＨＤＤ、７・・・ＳＤＲＡＭ、８・・・ＲＯＭ、１０・・・パワーマネージメントコントローラ、１１・・・ボード電力制御部、１２・・・外部電力制御部、１５・・・ＰＨＹ、１６・・・ＰＨＹクロック生成部、２０・・・ＡＳＩＣ、２１・・・メインＣＰＵ、２２・・・クロックジェネレータ、２３・・・ＳＤＲＡＭコントローラ、２５・・・ＯＰＥ・Ｉ／Ｆ、２６・・・ＨＤＤ・Ｉ／Ｆ、２７・・・Ｉ／Ｏ・Ｉ／Ｆ、２８・・・ＰＣＩ・Ｉ／Ｆ、３０・・・内部バス、４０・・・ネットワークコントローラ、４１・・・ＭＡＣ、４２・・・サブＣＰＵ、４３・・・第１バッファ、４４・・・第２バッファ、６０・・・外部装置。
【図１】
0005061034.tif 000002
【図２】
0005061034.tif 000003
【図３】
0005061034.tif 000004
【図４】
0005061034.tif 000005
【図５】
0005061034.tif 000006
【図６】
0005061034.tif 000007
【図７】
0005061034.tif 000008