(57)【要約】【課題】通信制御を適切に行ないながら、省電力化を図る。【解決手段】ＡＳＩＣ３０のＣＰＵ４１が動作している時にはネットワークコントローラー５０がパケットを受信した場合に受信パケットをＡＳＩＣ３０に転送しＡＳＩＣ３０で処理させて生成された応答パケットを返信すると共に受信パケットと応答パケットとをパケット監視テーブル６４に登録し、ＣＰＵ４１が停止している時にはパケット監視テーブル６４のデータのうち受信回数Ｎが所定回数Ｎｒｅｆ以上のデータだけを応答データテーブル６２に登録しネットワークコントローラー５０がパケットを受信した場合に受信したパケットに対応する応答データが応答データテーブル６２にあるときには応答データを応答データテーブル６２から読み出して自動応答し、応答データが応答データテーブル６２にないときにはＣＰＵ４１を起動してから受信パケットを転送しＡＳＩＣ３０で応答パケットを生成させる。【選択図】図１
2011147045.tif 000002
【特許請求の範囲】
【請求項１】
主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置であって、
データを記憶する記憶手段と、
前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶手段に記憶する通常時通信制御手段と、
前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行する省電力時通信制御手段と、
を備え、
前記通常時通信制御手段は、所定のタイミングで前記記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶手段に記憶されているデータを更新するデータ更新処理を実行する手段である
通信制御装置。
【請求項２】
前記受信パケットから生成された応答パケットの前記ネットワークへの通過を許可し、前記内部パケットに基づいて生成された応答パケットの前記ネットワークへの通過を遮断する応答パケットゲート部を備える請求項１記載の通信制御装置。
【請求項３】
請求項１または２記載の通信制御装置であって、
前記情報処理装置は、ユーザーにより操作されて前記主制御部の所定の処理を指示する操作部を備え、
前記通常時通信制御手段は、前記所定のタイミングとして、前記操作部の操作に基づいて前記主制御部により前記所定処理が実行された場合に、前記データ更新処理を実行する手段である
通信制御装置。
【請求項４】
前記外部機器からジョブを受け付けて前記所定の処理として画像を形成する画像形成装置に前記情報処理装置が組み込まれてなる請求項３記載の通信制御装置であって、
前記画像形成装置は、前記操作部の操作に基づいて前記外部機器を介さずにジョブを受け付けて画像を形成可能な装置であり、
前記通常時通信制御手段は、前記外部機器を介さずにジョブを受け付けて画像を形成した場合に、前記データ更新処理を実行する手段である
通信制御装置。
【請求項５】
コンピューターを、請求項１ないし４いずれか１項に記載の通信制御装置として機能させるためのプログラム。
【請求項６】
主制御部と該主制御部への給電を管理する電力管理部とデータを記憶する記憶部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御方法であって、
（ａ）前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶部に記憶し、
（ｂ）前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行し、
前記ステップ（ａ）は、所定のタイミングで前記記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶部に記憶されているデータを更新するデータ更新処理を実行する
ことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置およびコンピューターを通信制御装置として機能させるためのプログラム並びに通信制御方法に関する。
【背景技術】
【０００２】
従来、この種の通信制御装置としては、ネットワークを介して受信したパケットの種類に応じてＣＰＵにより処理が必要なパケットか否かを判定し、受信したパケットの廃棄や応答パケットの送信などをＣＰＵを介さずに実行するものが提案されている（例えば、特許文献１参照）。この装置では、受信パケットがＡＲＰ（Address Resolution Protocol）要求やＰＩＮＧ（Packet INternet Groper）要求などの比較的単純で簡単な応答が可能なパケットである場合には、ＣＰＵを介さずにパケットエンジンにより応答パケットを生成して返信することにより、ＣＰＵがスリープモード状態にあるときでもＣＰＵを通常モードに復帰させる必要がなく、省電力化を図ることができるとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１９８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の通信制御装置では、応答することができるパケットは予め指定したものに限られるため、予期しないパケットの受信に対してはＣＰＵを通常モードに復帰せざるを得ず、十分な省電力化を図ることができない場合が生じる。
【０００５】
本発明の通信制御装置およびプログラム並びに通信制御方法は、通信処理を適切に行ないながら、より一層の省電力化を図ることを主目的とする。
【０００６】
本発明の通信制御装置およびプログラム並びに通信制御方法は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【０００７】
本発明の通信制御装置は、
主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置であって、
データを記憶する記憶手段と、
前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶手段に記憶する通常時通信制御手段と、
前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されていない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行する省電力時通信制御手段と、
を備え、
前記通常時通信制御手段は、所定のタイミングで前記記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶手段に記憶されているデータを更新するデータ更新処理を実行する手段である
ことを要旨とする。
【０００８】
この本発明の通信制御装置では、主制御部が給電されている状態で外部機器からパケットを受信したときには、受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信すると共に応答パケットと受信したパケットとを対応付けて記憶手段に記憶し、主制御部が省電力の状態で外部機器からパケットを受信したときには、受信したパケットと同一のパケットが記憶手段に記憶されてない場合に電力管理部に主制御部を通常の状態に復帰させてから受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信する起動応答処理を実行し受信したパケットと同一のパケットが記憶手段に記憶されている場合に受信したパケットに対応する応答パケットを記憶手段から読み出して返信する自動応答処理を実行する。そして、主制御部が給電されている状態で所定のタイミングで記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを主制御部に送信して主制御部に応答パケットを生成させることにより生成させた応答パケットを用いて記憶手段に記憶されているデータを更新するデータ更新処理を実行する。この結果、当初に予期していないパケットが受信されても自動応答処理を実行することができるから、主制御部を省電力の状態により長く維持することができ、より一層の省電力化を図ることができる。また、データ更新処理により記憶手段のデータの内容が新しい状態に更新されるから、記憶手段に記憶されているデータと装置の実状態とに不整合が生じるのを防止することができ、その後の自動応答処理をより適切に行なうことができる。
【０００９】
こうした本発明の通信制御装置において、前記受信パケットから生成された応答パケットの前記ネットワークへの通過を許可し、前記内部パケットに基づいて生成された応答パケットの前記ネットワークへの通過を遮断する応答パケットゲート部を備えるものとすることもできる。こうすれば、不適切なパケットがネットワーク上に流出されるのを抑制することができる。
【００１０】
また、本発明の通信制御装置において、前記情報処理装置は、ユーザーにより操作されて前記主制御部の所定の処理を指示する操作部を備え、前記通常時通信制御手段は、前記所定のタイミングとして、前記操作部の操作に基づいて前記主制御部により前記所定処理が実行された場合に、前記データ更新処理を実行する手段であるものとすることもできる。こうすれば、より適切なタイミングでデータ更新処理を実行することができる。この態様で且つ前記外部機器からジョブを受け付けて画像を形成する画像形成装置に前記情報処理装置が組み込まれてなる本発明の通信制御装置において、前記画像形成装置は、前記操作部の操作に基づいて前記外部機器を介さずにジョブを受け付けて画像を形成可能な装置であり、前記通常時通信制御手段は、前記外部機器を介さずにジョブを受け付けて画像を形成した場合に、前記データ更新処理を実行する手段であるものとすることもできる。
【００１１】
本発明のプログラムは、コンピューターを上述したいずれかの本発明の通信制御装置として機能させるためのものである。このプログラムは、コンピューターが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムをコンピューターに実行させれば、上述した通信制御装置と同様の効果を得ることができる。
【００１２】
本発明の通信制御方法は、
主制御部と該主制御部への給電を管理する電力管理部とデータを記憶する記憶部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御方法であって、
（ａ）前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶部に記憶し、
（ｂ）前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行し、
前記ステップ（ａ）は、所定のタイミングで前記記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶部に記憶されているデータを更新するデータ更新処理を実行する
ことを要旨とする。
【００１３】
この本発明の通信制御方法によれば、主制御部が給電されている状態で外部機器からパケットを受信したときには、受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信すると共に応答パケットと受信したパケットとを対応付けて記憶部に記憶し、主制御部が省電力の状態で外部機器からパケットを受信したときには、受信したパケットと同一のパケットが記憶部に記憶されていない場合に電力管理部に主制御部を通常の状態に復帰させてから受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信する起動応答処理を実行し受信したパケットと同一のパケットが記憶部に記憶されている場合に受信したパケットに対応する応答パケットを記憶部から読み出して返信する自動応答処理を実行する。そして、主制御部が給電されている状態で所定のタイミングで記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを主制御部に送信して主制御部に応答パケットを生成させることにより生成させた応答パケットを用いて記憶部に記憶されているデータを更新するデータ更新処理を実行する。この結果、当初に予期していないパケットが受信されても自動応答処理を実行することができるから、主制御部を省電力の状態により長く維持することができ、より一層の省電力化を図ることができる。また、データ更新処理により記憶部のデータの内容が新しい状態に更新されるから、その後の自動応答処理をより適切に行なうことができる。
【図面の簡単な説明】
【００１４】
【図１】マルチファンクションプリンター２０を備えるシステムの概略構成図。
【図２】自動応答対象パケットの一例を示す説明図。
【図３】通常時通信制御ルーチンの一例を示すフローチャート。
【図４】パケット監視テーブル６４に登録されるデータの一例を示す説明図。
【図５】パケット監視テーブル更新処理ルーチンの一例を示すフローチャート。
【図６】応答データテーブル作成処理ルーチンの一例を示すフローチャート。
【図７】省電力時通信制御ルーチンの一例を示すフローチャート。
【発明を実施するための形態】
【００１５】
次に、本発明の実施の形態を図面を用いて説明する。図１は、本発明の一実施形態であるマルチファンクションプリンター２０を含むシステムの構成の概略を示す構成図である。本実施形態のマルチファンクションプリンター２０は、図１に示すように、ＬＡＮなどのネットワーク１５を介して複数台のユーザーコンピューター（ユーザーＰＣ）１０が接続されており、ユーザーＰＣ１０からのジョブを受け付けて実行したり、ユーザーＰＣ１０からの要求に応じてステータスデータのやり取りを行なう。
【００１６】
マルチファンクションプリンター２０は、プリンターとして機能すると共にスキャナーとしても機能する複合機であり、装置全体の制御を司るコントローラーボード２２と、ユーザーからの各種操作を受け付ける操作部２４と、印刷ヘッドから用紙にインクを吐出することにより印刷を行なう周知のインクジェットプリンター機構として構成されたプリンターエンジン２６と、原稿に光を照射してその反射光をレッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の各色に分解してスキャンデータとして得る周知のイメージスキャナーとして構成されたスキャナーエンジン２８とを備える。
【００１７】
コントローラーボード２２は、集積回路としてのＡＳＩＣ（Application Specific Integrated Circuit）３０と、処理プログラムを記憶するＲＯＭ４２と、ワークメモリーとしてのＳＤＲＡＭ４４と、外部のネットワークと通信するためのネットワークコントローラー５０と、を備える。ＡＳＩＣ３０は、中央演算処理装置としてのＣＰＵ４１と、ＳＤＲＡＭ４４へのデータの読み書きを制御するＳＤＲＡＭコントローラー４３と、ネットワークコントローラー５０に接続されたネットワークコントローラーインターフェース（Ｉ／Ｆ）４５と、操作部２４からの信号を入力する操作インターフェース（Ｉ／Ｆ）３４と、プリンターエンジン２６を制御する印刷制御部３６と、スキャナーエンジン２８を制御するスキャナー制御部３８と、メモリーカードＭＣに対するデータの読み込みと書き込みとを制御するメモリーカードコントローラー３９と、ＣＰＵ４１を含む各部のクロックを生成するクロックジェネレーター３２と、装置全体の電力を管理するパワーマネジメント部４６と、を備え、これらは内部バス４９により互いに電気的に接続されている。
【００１８】
パワーマネジメント部４６は、コントローラーボード２２内の各部（ＣＰＵ４１や各種インターフェースなど）の電力の供給を制御するボード電力制御部４７と、コントローラーボード２２外の各部（プリンターエンジン２６やスキャナーエンジン２８など）の電力の供給を制御する外部電力制御部４８とを備え、ボード電力制御部４７と外部電力制御部４８とを制御することにより、要求される電力モードに応じた電力の管理を行なう。本実施形態では、電力モードとして、マルチファンクションプリンター２０全体（コントローラーボード２２と操作部２４とプリンターエンジン２６とスキャナーエンジン２８）に給電する全給電モードや、コントローラーボード２２内には通常通り給電するがプリンターエンジン２６やスキャナーエンジン２８への給電を遮断するコントローラーモード、コントローラーモードから更に必要に応じてコントローラーボード２２内の一部（各種インターフェース３６，３８，３９）の給電を遮断すると共にＣＰＵ４１のクロック周波数を通常時よりも低減させるクロック低減モード、クロック低減モードから更にＣＰＵ４１のクロックを停止させたり給電を停止させたりすると共にＳＤＲＡＭ４４を省電力のセルフリフレッシュモードに設定するスリープモードなどあり、全給電モードからコントローラーモード，クロック低減モード，スリープモードに移行するほど省電力となる。なお、省電力側への電力モードの切り替えは、操作部２４に所定時間以上（例えば、５分間など）に亘って何らの操作も受け付けられなかったときや、ＡＳＩＣ３０（ＣＰＵ４１）で処理すべきパケットが所定時間（例えば、５分間など）以上に亘って受信されなかったときなどに行なわれる。
【００１９】
ネットワークコントローラー５０は、ＡＳＩＣ３０が外部のネットワーク１５と通信するためのコントローラーであり、ネットワークコントローラー５０全体の制御を司るネットワークコントローラー制御部５４と、ネットワーク物理層を構成するＰＨＹ（Physical Layer）５１と、ＰＨＹ５１に接続されパケットの送受信を制御するＭＡＣ（Media Access Controller）５２と、ＰＨＹ５１とＭＡＣ５２とを介して受信したパケット（受信パケット）のうち必要なパケットを通過させ不要なパケットを廃棄する受信パケットフィルタリング部５６と、ＡＳＩＣ３０にステータスの問い合わせを行なうために受信パケットと同様のパケットを内部的に生成する内部パケット生成部５７と、ネットワークコントローラー５０内を通過する応答パケットをモニターする応答パケットモニタリング部５８と、応答パケットモニタリング部５８からＭＡＣ５２への応答パケットの通過と遮断とを管理する応答パケットゲート部５９とを備える。
【００２０】
ネットワークコントローラー制御部５４は、受信パケットフィルタリング部５６に指令を出力することにより受信パケットフィルタリング部５６を通過した受信パケットをＡＳＩＣ３０（ネットワークコントローラーＩ／Ｆ４５）に転送してＡＳＩＣ３０で処理（応答パケットを生成）させたり、応答パケットモニタリング部５８に指令を出力することにより応答パケットモニタリング部５８で受け付けたＡＳＩＣ３０からの応答パケットをＭＡＣ５２とＰＨＹ５１とを介してネットワーク１５上に返信させたりする。また、ネットワークコントローラー制御部５４は、応答データテーブル６２とパケット監視テーブル６４とを格納する記憶部（ＲＡＭ）６０にアクセス可能に接続されており、受信パケットフィルタリング部５６を通過した受信パケットと応答パケットモニタリング部５８で受け付けた応答パケットとを逐次入力してパケット監視テーブル６４に登録する。このパケット監視テーブル６４に登録した受信パケットと応答パケットの組は、所定のタイミングで応答データとして応答データテーブル６２に登録され、ＣＰＵ４１が停止する省電力時にＡＳＩＣ３０を介さずに受信パケットから応答パケットを自動生成するパケット自動生成処理に用いられる。
【００２１】
受信パケットフィルタリング部５６は、受信パケットを解析することにより、受信パケットが自己宛のパケットではない廃棄対象パケットであるか、ＣＰＵ４１での処理が必要な起動対象パケットであるか、ＣＰＵ４１での処理が不要な自動応答対象パケットであるかを判定し、廃棄対象パケットを廃棄し、起動対象パケットと自動応答対象パケットとを通過させる。本実施形態では、起動対象パケットとしては、印刷要求から印刷完了までにやり取りする印刷データを含むパケットや、ストレージアクセスプロトコル（メモリーカードアクセス），スキャナー起動要求からスキャン完了までにやり取りするパケットなどが該当し、自動応答対象パケットとしては、廃棄対象パケットおよび起動対象パケット以外のパケット、例えば、ＡＲＰ（Address Resolution Protocol）要求やＰＩＮＧ（Packet INternet Groper）要求の他、システムのエラー情報（紙ジャムやインク切れ，用紙切れなど）や，システムの稼働状況（印刷中やスキャン中，待機中、その他の状態など），インク残量情報などのＳＮＭＰ（Simple Network Management Protocol)問い合わせが該当する。ＳＮＭＰ問い合わせの一例を図２に示す。受信パケットフィルタリング部５６を通過したパケットは、ネットワークコントローラー制御部５４からの指令によりネットワークコントローラーＩ／Ｆ４５に転送されたり、ネットワークコントローラー制御部５４に出力されたりする。
【００２２】
内部パケット生成部５７は、ネットワークコントローラー制御部５４の指令を受けて、記憶部６０のパケット監視テーブル６４に記憶されている受信パケットに基づいてＡＳＩＣ３０に対するステータス問い合わせ用のパケット（内部パケット）を内部的に生成する。また、内部パケット生成部５７は、受信パケットフィルタリング部５６に接続されており、生成された内部パケットは受信パケットフィルタリング部５６を介してネットワークコントローラーＩ／Ｆ４５に転送されるようになっている。
【００２３】
応答パケットモニタリング部５８は、ＡＳＩＣ３０からネットワークコントローラーＩ／Ｆ４５を介して送られる応答パケットを監視し、応答パケットが発生すると、ネットワークコントローラー制御部５４の指令により応答パケットをＭＡＣ５２に出力すると共にネットワークコントローラー制御部５４に出力する。受信パケットフィルタリング部５６からＭＡＣ５２に出力された応答パケットは、ＰＨＹ５１を介してネットワーク１５に送信される。
【００２４】
応答パケットゲート部５９は、応答パケットモニタリング部５８に接続されており、応答パケットモニタリング部５８で受け付けた応答パケットのＭＡＣ５２への通過と遮断とを管理する。本実施形態では、受信パケットフィルタリング部５６からの受信パケットによる問い合わせに対する応答として生成された応答パケットを通過させるが、内部パケット生成部５７からの内部パケットによる問い合わせに対する応答として生成された応答パケットの通過を遮断するものとした。
【００２５】
操作部２４は、電源をオンオフするための電源ボタンや、印刷やコピーの開始を指示するスタートボタン、各種印刷設定やコピーの設定を行なうための設定ボタン，各種モードを選択するモード選択ボタン，各種項目や設定を選択するための項目選択ボタンなどがあり、操作Ｉ／Ｆ３４を介してＣＰＵ４１にユーザーの指示を入力できるようになっている。なお、モード選択ボタンにより選択可能なモードとしては、原稿台に載置した原稿をスキャンしてコピーするコピーモードやメモリーカードＭＣに記憶された画像を用いて印刷したり原稿をスキャンしてデータ化してメモリーカードＭＣに保存するメモリーカードモード，写真フィルムをスキャンして印刷したりデータをメモリーカードＭＣに保存したりするフィルムモードなどがある。
【００２６】
メモリーカードコントローラー３９は、メモリーカードスロット３９ａに挿入されたメモリーカードＭＣとの間でデータの入出力を行なうものである。このメモリーカードコントローラー３９は、メモリーカードスロット３９ａにメモリーカードＭＣが挿入されているときに、メモリーカードＭＣに保存されているファイルを読み出したりＣＰＵ４１からの指令に基づいてメモリーカードＭＣにデータを書き込んだりする。
【００２７】
次に、こうして構成された本実施形態のマルチファンクションプリンター２０の動作、特に、ＣＰＵ４１が通常のクロック周波数で動作している通常時のネットワークコントローラー５０の通信制御とＣＰＵ４１への給電が停止されたりＣＰＵ４１のクロック周波数が低減或いは停止されている省電力時のネットワークコントローラー５０の通信制御について説明する。説明の都合上、まず、通常時の通信制御について説明し、その後、省電力時の通信制御について説明する。図３は、ネットワークコントローラー制御部５４により実行される通常時通信制御ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ４１が給電を受けて通常のクロック周波数で動作している場合にネットワーク１５からパケットを受信したときに実行される。なお、本実施形態では、ＣＰＵ４１が給電を受けて通常のクロック周波数で動作している状態を通常の状態として扱うものとしているが、マルチファンクションプリンター２０の仕様によっては、ＣＰＵ４１のクロック周波数が低減されている状態でも通常の状態として扱うものとしてもよい。
【００２８】
通常時通信制御ルーチンが実行されると、ネットワークコントローラー制御部５４は、受信パケットフィルタリング部５６に受信されたパケット（受信パケット）が廃棄対象パケットであるか否かを判定し（ステップＳ１００）、受信パケットが廃棄対象パケットであると判定された場合には、そのまま本ルーチンを終了する。この場合、受信パケットは、受信パケットフィルタリング部５６により廃棄されることになる。一方、受信パケットが廃棄対象パケットでないと判定、すなわち起動対象パケットか自動応答対象パケットであると判定された場合には、受信パケットがＡＳＩＣ３０（ネットワークコントローラーＩ／Ｆ４５）に転送されるよう受信パケットフィルタリング部５６に転送指令を出力し（ステップＳ１１０）、受信パケットフィルタリング部５６から受信パケットを入力すると共に（ステップＳ１２０）、入力した受信パケットをキーとしてパケット監視テーブル６４を検索し（ステップＳ１３０）、受信パケットがパケット監視テーブル６４に登録されていない新規パケットであるか否かを判定する（ステップＳ１４０）。受信パケットが新規パケットであると判定された場合には、受信パケットをパケット監視テーブル６４に新規登録する（ステップＳ１５０）。図４に、パケット監視テーブル６４に登録されるデータの一例を示す。図示するように、パケット監視テーブル６４には、プロトコル種別や受信パケット，受信回数Ｎ，サーチ経過時間（ｓｅｃ），要自動応答、応答データエリアなどが登録される。また、応答データエリアに登録されるデータには、後述する自動応答処理で応答パケットを生成するのに必要なデータ、例えば、ＳＮＭＰプロトコルバージョン（SNMP Version）やエージェントに設定されている認証文字列であるコミュニティ（Community）、ＳＮＭＰコマンドタイプ（PDU Type），コマンドシーケンス番号（Request ID），エラーステータス(Error Status)，エラーインデックス（Error Index），Variable Bindingsなどが含まれる。一方、受信パケットは新規パケットではなく、既にパケット監視テーブル６４に登録されていると判定された場合には、パケット監視テーブル６４の受信回数Ｎを値１だけインクリメントしてデータを更新する（ステップＳ１６０）。そして、ＡＳＩＣ３０から応答パケットが発生するのを待って（ステップＳ１７０）、応答パケットがＭＡＣ５２とＰＨＹ５１とを介してネットワーク１５に返信されるよう応答パケットモニタリング部５８に送信指令を出力すると共に（ステップＳ１８０）、応答パケットモニタリング部５８から応答パケットを入力し（ステップＳ１９０）、入力した応答パケットをパケット監視テーブル６４の対応する応答データエリアに登録して（ステップＳ１９５）、本ルーチンを終了する。ステップＳ１９０の処理は、応答パケットが受信パケットフィルタリング部５６からの受信パケットによる問い合わせに対する応答として生成されたものであるから、出力された応答パケットは応答パケットゲート部５９を通過し、ＭＡＣ５２とＰＨＹ５１とを介してネットワーク１５に返信されることになる。また、ステップＳ１９５の処理は、ステップＳ１４０で受信パケットが新規パケットでない場合には、パケット監視テーブル６４の対応する応答データエリアには既にデータが格納されているため、新たに生成された応答パケットによりデータを上書きするものとなる。
【００２９】
次に、パケット監視テーブル６４を更新する処理について説明する。図５は、ネットワークコントローラー制御部５４により実行されるパケット監視テーブル更新処理ルーチンの一例を示すフローチャートである。このルーチンは、ネットワーク１５からのジョブ以外の操作部２４から受け付けたジョブによりＡＳＩＣ３０でプリンター状態の変更が生じ得る処理（例えば、インク残量の変更が生じる印刷処理など）を実行したとき、行なわれる。本実施形態では、プリンター状態の変更が生じ得る処理が実行されると、その旨を示す信号がＡＳＩＣ３０のＣＰＵ４１からネットワークコントローラー制御部５４に出力されるようになっており、この信号の入力によりパケット監視テーブル更新処理ルーチンの実行を開始するものとした。
【００３０】
パケット監視テーブル更新処理ルーチンが実行されると、ネットワークコントローラー制御部５４は、まず、パケット監視テーブル６４を検索し（ステップＳ２００）、パケット監視テーブル６４内に更新対象のデータが存在するか否かを判定する（ステップＳ２１０）。この処理は、本実施形態では、ＳＮＭＰ問い合わせのうちシステムエラー情報（紙ジャムやインク切れ，用紙切れなど）とインク残量情報とが更新対象のデータとしてパケット監視テーブル６４内に存在するか否かを判定するものとした。更新対象のデータが存在しないと判定された場合には、更新処理を行なうことなく、本ルーチンを終了し、更新対象のデータが存在すると判定された場合には、パケット監視テーブル６４から更新対象のデータの受信パケットを入力し（ステップＳ２２０）、内部パケット生成部５７に指令信号を出力することにより、入力した受信パケットからＡＳＩＣ３０に対する問い合わせのパケットを内部的に生成させると共に内部パケットをＡＳＩＣ３０に送信させる（ステップＳ２３０）。そして、ＡＳＩＣ３０から応答パケットが発生するのを待って（ステップＳ２４０）、応答パケットモニタリング部５８から応答パケットを入力し（ステップＳ２５０）、入力した応答パケットによりパケット監視テーブル６４の対応する応答データエリアを更新登録して（ステップＳ２６０）、本ルーチンを終了する。なお、応答パケットモニタリング部５８に応答パケットが受け付けられると、受け付けた応答パケットはＭＡＣ５２側に出力されるが、応答パケットモニタリング部５８とＭＡＣ５２との間に設けられた応答パケットゲート部５９により、応答パケットのネットワーク１５への流出が遮断される。
【００３１】
図６は、ネットワークコントローラー制御部５４により実行される応答データテーブル作成処理ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎に繰り返し実行される。応答データテーブル作成処理ルーチンが実行されると、ネットワークコントローラー制御部５４は、ＣＰＵ４１が省電力の状態であるか否かを判定する（ステップＳ３００）。なお、ＣＰＵ４１が省電力の状態であるか否かの判定は、本実施形態では、電力モードに応じてＣＰＵ４１から出力される信号を入力することにより行なうものとした。ＣＰＵ４１が省電力の状態でないとき即ち通常の状態であるときには、フラグＦを値０に設定して（ステップＳ３１０）、本ルーチンを終了する。一方、ＣＰＵ４１が省電力の状態と判定された場合には、現在のフラグＦの値を調べ（ステップＳ３２０）、フラグＦが値１である場合には、何もせずに本ルーチンを終了し、フラグＦが値０である場合には、フラグＦを値１に設定すると共に（ステップＳ３３０）、パケット監視テーブル６４を検索し（ステップＳ３４０）、パケット監視テーブル６４の登録データのうち受信回数Ｎが所定回数Ｎｒｅｆ（例えば、３回や５回など）以上のデータだけを応答データテーブル６２に登録し（ステップＳ３５０）、データの登録後にパケット監視テーブル６４をクリアして（ステップＳ３６０）、本ルーチンを終了する。このように、受信回数Ｎが所定回数Ｎｒｅｆ以上のデータだけを応答データテーブル６２に登録するのは、記憶部６０の容量を少なくするものとしても、受信パケットの受信頻度が高いものを登録しておくことにより、効率よく自動応答処理を行なえるようにするためである。
【００３２】
次に、ＣＰＵ４１が省電力状態の時のネットワークコントローラー５０の制御について説明する。図７は、ネットワークコントローラー制御部５４により実行される省電力時通信制御ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ４１が省電力の状態でネットワーク１５からパケットを受信したときに実行される。
【００３３】
省電力時通信制御ルーチンが実行されると、ネットワークコントローラー制御部５４は、まず、受信パケットフィルタリング部５６に受信されたパケット（受信パケット）が廃棄対象パケットであるか否か（ステップＳ４００）、起動対象パケットであるか否か（ステップＳ４１０）、をそれぞれ判定し、受信パケットが廃棄対象パケットであると判定された場合には、そのまま本ルーチンを終了する。一方、起動対称パケットであると判定された場合には、受信パケットをＡＳＩＣ３０のＣＰＵ４１で処理させるためにＣＰＵ４１に給電して通常のクロック周波数で動作させる起動要求をパワーマネジメント部４６に出力し（ステップＳ４２０）、ＣＰＵ４１の起動が完了すると（ステップＳ４３０）、受信パケットがＡＳＩＣ３０（ネットワークコントローラーＩ／Ｆ４５）に転送されるよう受信パケットフィルタリング部５６に転送指令を出力する（ステップＳ４４０）。そして、応答パケットモニタリング部５８にＡＳＩＣ３０から応答パケットが受け付けられるのを待ち（ステップＳ４５０）、応答パケットが受け付けられると、受け付けられた応答パケットがＭＡＣ５２とＰＨＹ５１とを介してネットワーク１５に返信されるよう応答パケットモニタリング部５８に送信指令を出力して（ステップＳ４６０）、本ルーチンを終了する。ステップＳ４００で受信パケットが廃棄対象パケットではないと判定され且つＳ４１０で受信パケットが起動対象パケットではないと判定されると、受信パケットは自動応答対象パケットであると判断し、受信パケットの識別ＩＤをキーとして応答データテーブル６２を検索して（ステップＳ４７０）、受信パケットに対応する応答パケットが応答データテーブル６２に登録されているか否かを判定する（ステップＳ４８０）。受信パケットに対応する応答パケットが応答データテーブル６２に登録されていないと判定された場合には、受信パケットをＡＳＩＣ３０（ＣＰＵ４１）に処理させる必要があると判断し、ステップＳ４２０〜Ｓ４６０の処理を実行する。一方、受信パケットに対応する応答データが応答データテーブル６２に登録されていると判定された場合には、応答データテーブル６２から対応する応答データを読み出し（ステップＳ４９０）、読み出した応答データから応答パケットを生成し（ステップＳ５００）、生成した応答パケットがＭＡＣ５２とＰＨＹ５１とを介してネットワーク１５に返信されるようＭＡＣ５２に出力する自動応答処理を実行して（ステップＳ５１０）、本ルーチンを終了する。
【００３４】
このように、ＣＰＵ４１が通常の状態にある場合にネットワーク１５からパケットを受信したときには、ＡＳＩＣ３０（ＣＰＵ４１）とネットワーク１５との間のパケットのやり取りをモニターすると共に応答データを応答データテーブル６２に登録しておき、次の省電力時にネットワーク１５からパケットを受信したときには、応答データテーブル６２から応答データを読み出して自動応答することにより、ＡＳＩＣ３０（ＣＰＵ４１）を介さずにパケットを処理し、省電力状態をできる限り長く維持できるようにしているのである。
【００３５】
また、ネットワーク１５から受け付けたジョブ以外のジョブ（操作部２４から受け付けたジョブ）でマルチファンクションプリンター２０の状態が変更し得る処理が実行されたときには、パケット監視テーブル６４内に記憶されている受信パケットから内部パケットを生成して再度ＡＳＩＣ３０に問い合わせを行なうことにより、パケット監視テーブル６４内の応答データエリアのデータを更新するから、その後に、ＣＰＵ４１が省電力状態に移行したときに、マルチファンクションプリンター２０の実状態と自動応答処理における応答内容とに不整合が生じるのを抑制することができる。
【００３６】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のＣＰＵ４１が本発明の「主制御部」に相当し、パワーマネジメント部４６が「電力管理部」に相当し、応答データテーブル６２とパケット監視テーブル６４とを有する記憶部６０が「記憶手段」に相当し、図３の通常時通信制御ルーチンや図５のパケット監視テーブル更新処理ルーチンを実行するネットワークコントローラー制御部５４を含むネットワークコントローラー５０が「通常時通信制御手段」に相当し、図７の省電力時通信制御ルーチンを実行するネットワークコントローラー制御部５４を含むネットワークコントローラー５０が「省電力時通信制御手段」に相当する。なお、本実施形態では、ネットワークコントローラー５０の動作を説明することにより本発明の通信制御方法の一例も明らかにしている。
【００３７】
以上説明した本実施形態のマルチファンクションプリンター２０によれば、ＡＳＩＣ３０のＣＰＵ４１が通常の状態にある場合にネットワークコントローラー５０がパケットを受信したときには、受信パケットをＡＳＩＣ３０に転送しＡＳＩＣ３０で処理させて生成された応答パケットを返信すると共に受信パケットと応答パケットとをパケット監視テーブル６４に登録しておき、ＣＰＵ４１が省電力の状態にある場合には、パケット監視テーブル６４のデータから応答データテーブル６２を作成し、ネットワークコントローラー５０がパケットを受信したときに受信したパケットに対応する応答データを応答データテーブル６２から読み出して応答パケットを生成すると共に生成した応答パケットを返信するから、省電力時に頻繁にパケットを受信するものとしても、ＣＰＵ４１を介さずに自動応答することにより省電力の状態をより長く継続することができ、省電力の効果をより向上させることができる。しかも、パケット監視テーブル６４のデータのうち受信回数Ｎが所定回数Ｎｒｅｆ以上のデータだけを用いて応答データテーブル６２を作成するから、記憶部６０の容量に制約があるものとしても、頻繁に受信するパケットに自動応答処理が実行されるものとなり、十分な省電力化を図ることができる。
【００３８】
また、本実施形態のマルチファンクションプリンター２０によれば、ネットワーク１５から受け付けたジョブ以外のジョブ（操作部２４から受け付けたジョブ）によりマルチファンクションプリンター２０の状態が変更し得る処理が実行されたときには、パケット監視テーブル６４内に記憶されている受信パケットから内部パケットを生成して再度ＡＳＩＣ３０に問い合わせを行なうことにより、パケット監視テーブル６４内の応答データエリアのデータを更新するから、その後に、スリープモードに移行したときに、マルチファンクションプリンター２０の実状態と自動応答処理における応答内容とに不整合が生じるのを抑制することができる。しかも、内部パケットによりＡＳＩＣ３０で応答パケットが生成されて応答パケットモニタリング部５８に受け付けられた場合には、応答パケットゲート部５９により応答パケットモニタリング部５８からＭＡＣ５２への通過を遮断するから、不適切なパケットがネットワーク１５上に流れるのを抑制することができる。
【００３９】
上述した実施形態では、パケット監視テーブル６４に登録されたデータのうち受信回数Ｎが所定回数Ｎｒｅｆ以上のデータを応答データテーブル６２に登録するものとしたが、これに限られず、応答データテーブル６２の登録数を所定数（例えば、３つや５つなど）までとし、パケット監視テーブル６４に登録されたデータのうち受信回数Ｎが多いものから順に登録数が所定数となるまで応答データテーブル６２に登録するものとしてもよい。勿論、記憶部６０（応答データテーブル６２）の容量が十分であれば、応答データテーブル６２への登録数を制限しないものとしても構わない。
【００４０】
上述した実施形態では、１回のＣＰＵ４１の通常状態での動作期間（前回の省電力状態の復帰から次の省電力状態への移行までの期間）に亘って受信したパケットをモニターしてパケット監視テーブル６４に登録すると共に同一パケットの受信回数Ｎをカウントするものとしたが、１回のＣＰＵ４１の通常状態での動作期間のうち所定の監視期間に受信したパケットのみをモニターしてパケット監視テーブル６４に登録すると共に同一パケットの受信回数Ｎをカウントするものとしてもよい。この監視期間は、ＣＰＵ４１が通常状態から省電力状態に移行するまでの所要時間などを考慮して、例えば、３分間や５分間などのように定めることができる。
【００４１】
上述した実施形態では、ネットワークコントローラー制御部５４が記憶部６０（応答データテーブル６２やパケット監視テーブル６４）にアクセスしてデータを管理するものとしたが、ＡＳＩＣ３０のＣＰＵ４１も記憶部６０にアクセスしてデータを管理できるようにしてもよい。例えば、ＡＳＩＣ３０のＣＰＵ４１が応答パケットを生成したときには記憶部６０のパケット監視テーブル６４に直接に登録するものとしても構わない。また、ネットワークコントローラー５０によるパケットの監視もＡＳＩＣ３０によりオンオフできるようにしてもよい。
【００４２】
上述した実施形態では、本発明をマルチファンクションプリンター２０に適用して説明したが、これに限られず、主制御部と主制御部への給電を管理する電力管理部を備える情報処理装置にネットワークを介してデータのやり取りが可能な通信制御機器が組み込まれたものであれば、如何なる装置、例えば、スキャナー機能を備えないプリンターに適用するものとしてもよいし、プリンター機能を備えないスキャナーに適用するものとしてもよいし、ＦＡＸ機器に適用するものとしてもよい。
【００４３】
上述した実施形態では、本発明を通信制御装置の形態として説明したが、通信制御方法の形態とするものとしてもよいし、コンピューターを通信制御装置として機能させるためのプログラムの形態とするものとしてもよい。
【００４４】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【符号の説明】
【００４５】
１０  ユーザーＰＣ、１５  ネットワーク、２０  マルチファンクションプリンター、２２  コントローラーボード、２４  操作部、２６  プリンターエンジン、２８  スキャナーエンジン、３０  ＡＳＩＣ、３２  クロックジェネレーター、３４  操作インターフェース（Ｉ／Ｆ）、３６  印刷制御部、３８  スキャナー制御部、３９  メモリーカードコントローラー、３９ａ  メモリーカードスロット、４１  ＣＰＵ、４２  ＲＯＭ、４３  ＳＤＲＡＭコントローラー、４４  ＳＤＲＡＭ、４５  ネットワークコントローラーインターフェース（Ｉ／Ｆ）、４６  パワーマネジメント部、４７  ボード電力制御部、４８  外部電力制御部、４９  内部バス、５０  ネットワークコントローラー、５１  ＰＨＹ、５２  ＭＡＣ、５４  ネットワークコントローラー制御部、５６  受信パケットフィルタリング部、５７  内部パケット生成部、５８  応答パケットモニタリング部、５９  応答パケットゲート部、６０  記憶部、６２  応答データテーブル、６４  パケット監視テーブル、ＭＣ  メモリーカード。
【図１】
2011147045.tif 000003
【図２】
2011147045.tif 000004
【図３】
2011147045.tif 000005
【図４】
2011147045.tif 000006
【図５】
2011147045.tif 000007
【図６】
2011147045.tif 000008
【図７】
2011147045.tif 000009