説明

通信制御装置およびプログラム並びに通信制御方法

【課題】通信制御を適切に行ないながら、省電力化を図る。
【解決手段】ASIC30のCPU41が動作している時にはネットワークコントローラー50がパケットを受信した場合に受信パケットをASIC30に転送しASIC30で処理させて生成された応答パケットを返信すると共に受信パケットと応答パケットとをパケット監視テーブル64に登録し、CPU41が停止している時にはパケット監視テーブル64のデータのうち受信回数Nが所定回数Nref以上のデータだけを応答データテーブル62に登録しネットワークコントローラー50がパケットを受信した場合に受信したパケットに対応する応答データが応答データテーブル62にあるときには応答データを応答データテーブル62から読み出して自動応答し、応答データが応答データテーブル62にないときにはCPU41を起動してから受信パケットを転送しASIC30で応答パケットを生成させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置およびコンピューターを通信制御装置として機能させるためのプログラム並びに通信制御方法に関する。
【背景技術】
【0002】
従来、この種の通信制御装置としては、ネットワークを介して受信したパケットの種類に応じてCPUにより処理が必要なパケットか否かを判定し、受信したパケットの廃棄や応答パケットの送信などをCPUを介さずに実行するものが提案されている(例えば、特許文献1参照)。この装置では、受信パケットがARP(Address Resolution Protocol)要求やPING(Packet INternet Groper)要求などの比較的単純で簡単な応答が可能なパケットである場合には、CPUを介さずにパケットエンジンにより応答パケットを生成して返信することにより、CPUがスリープモード状態にあるときでもCPUを通常モードに復帰させる必要がなく、省電力化を図ることができるとしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−119849号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の通信制御装置では、応答することができるパケットは予め指定したものに限られるため、予期しないパケットの受信に対してはCPUを通常モードに復帰せざるを得ず、十分な省電力化を図ることができない場合が生じる。
【0005】
本発明の通信制御装置およびプログラム並びに通信制御方法は、通信処理を適切に行ないながら、より一層の省電力化を図ることを主目的とする。
【0006】
本発明の通信制御装置およびプログラム並びに通信制御方法は、上述の主目的を達成するために以下の手段を採った。
【課題を解決するための手段】
【0007】
本発明の通信制御装置は、
主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置であって、
データを記憶する記憶手段と、
前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶手段に記憶する通常時通信制御手段と、
前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されていない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行する省電力時通信制御手段と、
を備え、
前記通常時通信制御手段は、所定のタイミングで前記記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶手段に記憶されているデータを更新するデータ更新処理を実行する手段である
ことを要旨とする。
【0008】
この本発明の通信制御装置では、主制御部が給電されている状態で外部機器からパケットを受信したときには、受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信すると共に応答パケットと受信したパケットとを対応付けて記憶手段に記憶し、主制御部が省電力の状態で外部機器からパケットを受信したときには、受信したパケットと同一のパケットが記憶手段に記憶されてない場合に電力管理部に主制御部を通常の状態に復帰させてから受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信する起動応答処理を実行し受信したパケットと同一のパケットが記憶手段に記憶されている場合に受信したパケットに対応する応答パケットを記憶手段から読み出して返信する自動応答処理を実行する。そして、主制御部が給電されている状態で所定のタイミングで記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを主制御部に送信して主制御部に応答パケットを生成させることにより生成させた応答パケットを用いて記憶手段に記憶されているデータを更新するデータ更新処理を実行する。この結果、当初に予期していないパケットが受信されても自動応答処理を実行することができるから、主制御部を省電力の状態により長く維持することができ、より一層の省電力化を図ることができる。また、データ更新処理により記憶手段のデータの内容が新しい状態に更新されるから、記憶手段に記憶されているデータと装置の実状態とに不整合が生じるのを防止することができ、その後の自動応答処理をより適切に行なうことができる。
【0009】
こうした本発明の通信制御装置において、前記受信パケットから生成された応答パケットの前記ネットワークへの通過を許可し、前記内部パケットに基づいて生成された応答パケットの前記ネットワークへの通過を遮断する応答パケットゲート部を備えるものとすることもできる。こうすれば、不適切なパケットがネットワーク上に流出されるのを抑制することができる。
【0010】
また、本発明の通信制御装置において、前記情報処理装置は、ユーザーにより操作されて前記主制御部の所定の処理を指示する操作部を備え、前記通常時通信制御手段は、前記所定のタイミングとして、前記操作部の操作に基づいて前記主制御部により前記所定処理が実行された場合に、前記データ更新処理を実行する手段であるものとすることもできる。こうすれば、より適切なタイミングでデータ更新処理を実行することができる。この態様で且つ前記外部機器からジョブを受け付けて画像を形成する画像形成装置に前記情報処理装置が組み込まれてなる本発明の通信制御装置において、前記画像形成装置は、前記操作部の操作に基づいて前記外部機器を介さずにジョブを受け付けて画像を形成可能な装置であり、前記通常時通信制御手段は、前記外部機器を介さずにジョブを受け付けて画像を形成した場合に、前記データ更新処理を実行する手段であるものとすることもできる。
【0011】
本発明のプログラムは、コンピューターを上述したいずれかの本発明の通信制御装置として機能させるためのものである。このプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムをコンピューターに実行させれば、上述した通信制御装置と同様の効果を得ることができる。
【0012】
本発明の通信制御方法は、
主制御部と該主制御部への給電を管理する電力管理部とデータを記憶する記憶部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御方法であって、
(a)前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶部に記憶し、
(b)前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行し、
前記ステップ(a)は、所定のタイミングで前記記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶部に記憶されているデータを更新するデータ更新処理を実行する
ことを要旨とする。
【0013】
この本発明の通信制御方法によれば、主制御部が給電されている状態で外部機器からパケットを受信したときには、受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信すると共に応答パケットと受信したパケットとを対応付けて記憶部に記憶し、主制御部が省電力の状態で外部機器からパケットを受信したときには、受信したパケットと同一のパケットが記憶部に記憶されていない場合に電力管理部に主制御部を通常の状態に復帰させてから受信したパケットを主制御部に転送し主制御部に応答パケットを生成させて応答パケットを外部機器に返信する起動応答処理を実行し受信したパケットと同一のパケットが記憶部に記憶されている場合に受信したパケットに対応する応答パケットを記憶部から読み出して返信する自動応答処理を実行する。そして、主制御部が給電されている状態で所定のタイミングで記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを主制御部に送信して主制御部に応答パケットを生成させることにより生成させた応答パケットを用いて記憶部に記憶されているデータを更新するデータ更新処理を実行する。この結果、当初に予期していないパケットが受信されても自動応答処理を実行することができるから、主制御部を省電力の状態により長く維持することができ、より一層の省電力化を図ることができる。また、データ更新処理により記憶部のデータの内容が新しい状態に更新されるから、その後の自動応答処理をより適切に行なうことができる。
【図面の簡単な説明】
【0014】
【図1】マルチファンクションプリンター20を備えるシステムの概略構成図。
【図2】自動応答対象パケットの一例を示す説明図。
【図3】通常時通信制御ルーチンの一例を示すフローチャート。
【図4】パケット監視テーブル64に登録されるデータの一例を示す説明図。
【図5】パケット監視テーブル更新処理ルーチンの一例を示すフローチャート。
【図6】応答データテーブル作成処理ルーチンの一例を示すフローチャート。
【図7】省電力時通信制御ルーチンの一例を示すフローチャート。
【発明を実施するための形態】
【0015】
次に、本発明の実施の形態を図面を用いて説明する。図1は、本発明の一実施形態であるマルチファンクションプリンター20を含むシステムの構成の概略を示す構成図である。本実施形態のマルチファンクションプリンター20は、図1に示すように、LANなどのネットワーク15を介して複数台のユーザーコンピューター(ユーザーPC)10が接続されており、ユーザーPC10からのジョブを受け付けて実行したり、ユーザーPC10からの要求に応じてステータスデータのやり取りを行なう。
【0016】
マルチファンクションプリンター20は、プリンターとして機能すると共にスキャナーとしても機能する複合機であり、装置全体の制御を司るコントローラーボード22と、ユーザーからの各種操作を受け付ける操作部24と、印刷ヘッドから用紙にインクを吐出することにより印刷を行なう周知のインクジェットプリンター機構として構成されたプリンターエンジン26と、原稿に光を照射してその反射光をレッド(R),グリーン(G),ブルー(B)の各色に分解してスキャンデータとして得る周知のイメージスキャナーとして構成されたスキャナーエンジン28とを備える。
【0017】
コントローラーボード22は、集積回路としてのASIC(Application Specific Integrated Circuit)30と、処理プログラムを記憶するROM42と、ワークメモリーとしてのSDRAM44と、外部のネットワークと通信するためのネットワークコントローラー50と、を備える。ASIC30は、中央演算処理装置としてのCPU41と、SDRAM44へのデータの読み書きを制御するSDRAMコントローラー43と、ネットワークコントローラー50に接続されたネットワークコントローラーインターフェース(I/F)45と、操作部24からの信号を入力する操作インターフェース(I/F)34と、プリンターエンジン26を制御する印刷制御部36と、スキャナーエンジン28を制御するスキャナー制御部38と、メモリーカードMCに対するデータの読み込みと書き込みとを制御するメモリーカードコントローラー39と、CPU41を含む各部のクロックを生成するクロックジェネレーター32と、装置全体の電力を管理するパワーマネジメント部46と、を備え、これらは内部バス49により互いに電気的に接続されている。
【0018】
パワーマネジメント部46は、コントローラーボード22内の各部(CPU41や各種インターフェースなど)の電力の供給を制御するボード電力制御部47と、コントローラーボード22外の各部(プリンターエンジン26やスキャナーエンジン28など)の電力の供給を制御する外部電力制御部48とを備え、ボード電力制御部47と外部電力制御部48とを制御することにより、要求される電力モードに応じた電力の管理を行なう。本実施形態では、電力モードとして、マルチファンクションプリンター20全体(コントローラーボード22と操作部24とプリンターエンジン26とスキャナーエンジン28)に給電する全給電モードや、コントローラーボード22内には通常通り給電するがプリンターエンジン26やスキャナーエンジン28への給電を遮断するコントローラーモード、コントローラーモードから更に必要に応じてコントローラーボード22内の一部(各種インターフェース36,38,39)の給電を遮断すると共にCPU41のクロック周波数を通常時よりも低減させるクロック低減モード、クロック低減モードから更にCPU41のクロックを停止させたり給電を停止させたりすると共にSDRAM44を省電力のセルフリフレッシュモードに設定するスリープモードなどあり、全給電モードからコントローラーモード,クロック低減モード,スリープモードに移行するほど省電力となる。なお、省電力側への電力モードの切り替えは、操作部24に所定時間以上(例えば、5分間など)に亘って何らの操作も受け付けられなかったときや、ASIC30(CPU41)で処理すべきパケットが所定時間(例えば、5分間など)以上に亘って受信されなかったときなどに行なわれる。
【0019】
ネットワークコントローラー50は、ASIC30が外部のネットワーク15と通信するためのコントローラーであり、ネットワークコントローラー50全体の制御を司るネットワークコントローラー制御部54と、ネットワーク物理層を構成するPHY(Physical Layer)51と、PHY51に接続されパケットの送受信を制御するMAC(Media Access Controller)52と、PHY51とMAC52とを介して受信したパケット(受信パケット)のうち必要なパケットを通過させ不要なパケットを廃棄する受信パケットフィルタリング部56と、ASIC30にステータスの問い合わせを行なうために受信パケットと同様のパケットを内部的に生成する内部パケット生成部57と、ネットワークコントローラー50内を通過する応答パケットをモニターする応答パケットモニタリング部58と、応答パケットモニタリング部58からMAC52への応答パケットの通過と遮断とを管理する応答パケットゲート部59とを備える。
【0020】
ネットワークコントローラー制御部54は、受信パケットフィルタリング部56に指令を出力することにより受信パケットフィルタリング部56を通過した受信パケットをASIC30(ネットワークコントローラーI/F45)に転送してASIC30で処理(応答パケットを生成)させたり、応答パケットモニタリング部58に指令を出力することにより応答パケットモニタリング部58で受け付けたASIC30からの応答パケットをMAC52とPHY51とを介してネットワーク15上に返信させたりする。また、ネットワークコントローラー制御部54は、応答データテーブル62とパケット監視テーブル64とを格納する記憶部(RAM)60にアクセス可能に接続されており、受信パケットフィルタリング部56を通過した受信パケットと応答パケットモニタリング部58で受け付けた応答パケットとを逐次入力してパケット監視テーブル64に登録する。このパケット監視テーブル64に登録した受信パケットと応答パケットの組は、所定のタイミングで応答データとして応答データテーブル62に登録され、CPU41が停止する省電力時にASIC30を介さずに受信パケットから応答パケットを自動生成するパケット自動生成処理に用いられる。
【0021】
受信パケットフィルタリング部56は、受信パケットを解析することにより、受信パケットが自己宛のパケットではない廃棄対象パケットであるか、CPU41での処理が必要な起動対象パケットであるか、CPU41での処理が不要な自動応答対象パケットであるかを判定し、廃棄対象パケットを廃棄し、起動対象パケットと自動応答対象パケットとを通過させる。本実施形態では、起動対象パケットとしては、印刷要求から印刷完了までにやり取りする印刷データを含むパケットや、ストレージアクセスプロトコル(メモリーカードアクセス),スキャナー起動要求からスキャン完了までにやり取りするパケットなどが該当し、自動応答対象パケットとしては、廃棄対象パケットおよび起動対象パケット以外のパケット、例えば、ARP(Address Resolution Protocol)要求やPING(Packet INternet Groper)要求の他、システムのエラー情報(紙ジャムやインク切れ,用紙切れなど)や,システムの稼働状況(印刷中やスキャン中,待機中、その他の状態など),インク残量情報などのSNMP(Simple Network Management Protocol)問い合わせが該当する。SNMP問い合わせの一例を図2に示す。受信パケットフィルタリング部56を通過したパケットは、ネットワークコントローラー制御部54からの指令によりネットワークコントローラーI/F45に転送されたり、ネットワークコントローラー制御部54に出力されたりする。
【0022】
内部パケット生成部57は、ネットワークコントローラー制御部54の指令を受けて、記憶部60のパケット監視テーブル64に記憶されている受信パケットに基づいてASIC30に対するステータス問い合わせ用のパケット(内部パケット)を内部的に生成する。また、内部パケット生成部57は、受信パケットフィルタリング部56に接続されており、生成された内部パケットは受信パケットフィルタリング部56を介してネットワークコントローラーI/F45に転送されるようになっている。
【0023】
応答パケットモニタリング部58は、ASIC30からネットワークコントローラーI/F45を介して送られる応答パケットを監視し、応答パケットが発生すると、ネットワークコントローラー制御部54の指令により応答パケットをMAC52に出力すると共にネットワークコントローラー制御部54に出力する。受信パケットフィルタリング部56からMAC52に出力された応答パケットは、PHY51を介してネットワーク15に送信される。
【0024】
応答パケットゲート部59は、応答パケットモニタリング部58に接続されており、応答パケットモニタリング部58で受け付けた応答パケットのMAC52への通過と遮断とを管理する。本実施形態では、受信パケットフィルタリング部56からの受信パケットによる問い合わせに対する応答として生成された応答パケットを通過させるが、内部パケット生成部57からの内部パケットによる問い合わせに対する応答として生成された応答パケットの通過を遮断するものとした。
【0025】
操作部24は、電源をオンオフするための電源ボタンや、印刷やコピーの開始を指示するスタートボタン、各種印刷設定やコピーの設定を行なうための設定ボタン,各種モードを選択するモード選択ボタン,各種項目や設定を選択するための項目選択ボタンなどがあり、操作I/F34を介してCPU41にユーザーの指示を入力できるようになっている。なお、モード選択ボタンにより選択可能なモードとしては、原稿台に載置した原稿をスキャンしてコピーするコピーモードやメモリーカードMCに記憶された画像を用いて印刷したり原稿をスキャンしてデータ化してメモリーカードMCに保存するメモリーカードモード,写真フィルムをスキャンして印刷したりデータをメモリーカードMCに保存したりするフィルムモードなどがある。
【0026】
メモリーカードコントローラー39は、メモリーカードスロット39aに挿入されたメモリーカードMCとの間でデータの入出力を行なうものである。このメモリーカードコントローラー39は、メモリーカードスロット39aにメモリーカードMCが挿入されているときに、メモリーカードMCに保存されているファイルを読み出したりCPU41からの指令に基づいてメモリーカードMCにデータを書き込んだりする。
【0027】
次に、こうして構成された本実施形態のマルチファンクションプリンター20の動作、特に、CPU41が通常のクロック周波数で動作している通常時のネットワークコントローラー50の通信制御とCPU41への給電が停止されたりCPU41のクロック周波数が低減或いは停止されている省電力時のネットワークコントローラー50の通信制御について説明する。説明の都合上、まず、通常時の通信制御について説明し、その後、省電力時の通信制御について説明する。図3は、ネットワークコントローラー制御部54により実行される通常時通信制御ルーチンの一例を示すフローチャートである。このルーチンは、CPU41が給電を受けて通常のクロック周波数で動作している場合にネットワーク15からパケットを受信したときに実行される。なお、本実施形態では、CPU41が給電を受けて通常のクロック周波数で動作している状態を通常の状態として扱うものとしているが、マルチファンクションプリンター20の仕様によっては、CPU41のクロック周波数が低減されている状態でも通常の状態として扱うものとしてもよい。
【0028】
通常時通信制御ルーチンが実行されると、ネットワークコントローラー制御部54は、受信パケットフィルタリング部56に受信されたパケット(受信パケット)が廃棄対象パケットであるか否かを判定し(ステップS100)、受信パケットが廃棄対象パケットであると判定された場合には、そのまま本ルーチンを終了する。この場合、受信パケットは、受信パケットフィルタリング部56により廃棄されることになる。一方、受信パケットが廃棄対象パケットでないと判定、すなわち起動対象パケットか自動応答対象パケットであると判定された場合には、受信パケットがASIC30(ネットワークコントローラーI/F45)に転送されるよう受信パケットフィルタリング部56に転送指令を出力し(ステップS110)、受信パケットフィルタリング部56から受信パケットを入力すると共に(ステップS120)、入力した受信パケットをキーとしてパケット監視テーブル64を検索し(ステップS130)、受信パケットがパケット監視テーブル64に登録されていない新規パケットであるか否かを判定する(ステップS140)。受信パケットが新規パケットであると判定された場合には、受信パケットをパケット監視テーブル64に新規登録する(ステップS150)。図4に、パケット監視テーブル64に登録されるデータの一例を示す。図示するように、パケット監視テーブル64には、プロトコル種別や受信パケット,受信回数N,サーチ経過時間(sec),要自動応答、応答データエリアなどが登録される。また、応答データエリアに登録されるデータには、後述する自動応答処理で応答パケットを生成するのに必要なデータ、例えば、SNMPプロトコルバージョン(SNMP Version)やエージェントに設定されている認証文字列であるコミュニティ(Community)、SNMPコマンドタイプ(PDU Type),コマンドシーケンス番号(Request ID),エラーステータス(Error Status),エラーインデックス(Error Index),Variable Bindingsなどが含まれる。一方、受信パケットは新規パケットではなく、既にパケット監視テーブル64に登録されていると判定された場合には、パケット監視テーブル64の受信回数Nを値1だけインクリメントしてデータを更新する(ステップS160)。そして、ASIC30から応答パケットが発生するのを待って(ステップS170)、応答パケットがMAC52とPHY51とを介してネットワーク15に返信されるよう応答パケットモニタリング部58に送信指令を出力すると共に(ステップS180)、応答パケットモニタリング部58から応答パケットを入力し(ステップS190)、入力した応答パケットをパケット監視テーブル64の対応する応答データエリアに登録して(ステップS195)、本ルーチンを終了する。ステップS190の処理は、応答パケットが受信パケットフィルタリング部56からの受信パケットによる問い合わせに対する応答として生成されたものであるから、出力された応答パケットは応答パケットゲート部59を通過し、MAC52とPHY51とを介してネットワーク15に返信されることになる。また、ステップS195の処理は、ステップS140で受信パケットが新規パケットでない場合には、パケット監視テーブル64の対応する応答データエリアには既にデータが格納されているため、新たに生成された応答パケットによりデータを上書きするものとなる。
【0029】
次に、パケット監視テーブル64を更新する処理について説明する。図5は、ネットワークコントローラー制御部54により実行されるパケット監視テーブル更新処理ルーチンの一例を示すフローチャートである。このルーチンは、ネットワーク15からのジョブ以外の操作部24から受け付けたジョブによりASIC30でプリンター状態の変更が生じ得る処理(例えば、インク残量の変更が生じる印刷処理など)を実行したとき、行なわれる。本実施形態では、プリンター状態の変更が生じ得る処理が実行されると、その旨を示す信号がASIC30のCPU41からネットワークコントローラー制御部54に出力されるようになっており、この信号の入力によりパケット監視テーブル更新処理ルーチンの実行を開始するものとした。
【0030】
パケット監視テーブル更新処理ルーチンが実行されると、ネットワークコントローラー制御部54は、まず、パケット監視テーブル64を検索し(ステップS200)、パケット監視テーブル64内に更新対象のデータが存在するか否かを判定する(ステップS210)。この処理は、本実施形態では、SNMP問い合わせのうちシステムエラー情報(紙ジャムやインク切れ,用紙切れなど)とインク残量情報とが更新対象のデータとしてパケット監視テーブル64内に存在するか否かを判定するものとした。更新対象のデータが存在しないと判定された場合には、更新処理を行なうことなく、本ルーチンを終了し、更新対象のデータが存在すると判定された場合には、パケット監視テーブル64から更新対象のデータの受信パケットを入力し(ステップS220)、内部パケット生成部57に指令信号を出力することにより、入力した受信パケットからASIC30に対する問い合わせのパケットを内部的に生成させると共に内部パケットをASIC30に送信させる(ステップS230)。そして、ASIC30から応答パケットが発生するのを待って(ステップS240)、応答パケットモニタリング部58から応答パケットを入力し(ステップS250)、入力した応答パケットによりパケット監視テーブル64の対応する応答データエリアを更新登録して(ステップS260)、本ルーチンを終了する。なお、応答パケットモニタリング部58に応答パケットが受け付けられると、受け付けた応答パケットはMAC52側に出力されるが、応答パケットモニタリング部58とMAC52との間に設けられた応答パケットゲート部59により、応答パケットのネットワーク15への流出が遮断される。
【0031】
図6は、ネットワークコントローラー制御部54により実行される応答データテーブル作成処理ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎に繰り返し実行される。応答データテーブル作成処理ルーチンが実行されると、ネットワークコントローラー制御部54は、CPU41が省電力の状態であるか否かを判定する(ステップS300)。なお、CPU41が省電力の状態であるか否かの判定は、本実施形態では、電力モードに応じてCPU41から出力される信号を入力することにより行なうものとした。CPU41が省電力の状態でないとき即ち通常の状態であるときには、フラグFを値0に設定して(ステップS310)、本ルーチンを終了する。一方、CPU41が省電力の状態と判定された場合には、現在のフラグFの値を調べ(ステップS320)、フラグFが値1である場合には、何もせずに本ルーチンを終了し、フラグFが値0である場合には、フラグFを値1に設定すると共に(ステップS330)、パケット監視テーブル64を検索し(ステップS340)、パケット監視テーブル64の登録データのうち受信回数Nが所定回数Nref(例えば、3回や5回など)以上のデータだけを応答データテーブル62に登録し(ステップS350)、データの登録後にパケット監視テーブル64をクリアして(ステップS360)、本ルーチンを終了する。このように、受信回数Nが所定回数Nref以上のデータだけを応答データテーブル62に登録するのは、記憶部60の容量を少なくするものとしても、受信パケットの受信頻度が高いものを登録しておくことにより、効率よく自動応答処理を行なえるようにするためである。
【0032】
次に、CPU41が省電力状態の時のネットワークコントローラー50の制御について説明する。図7は、ネットワークコントローラー制御部54により実行される省電力時通信制御ルーチンの一例を示すフローチャートである。このルーチンは、CPU41が省電力の状態でネットワーク15からパケットを受信したときに実行される。
【0033】
省電力時通信制御ルーチンが実行されると、ネットワークコントローラー制御部54は、まず、受信パケットフィルタリング部56に受信されたパケット(受信パケット)が廃棄対象パケットであるか否か(ステップS400)、起動対象パケットであるか否か(ステップS410)、をそれぞれ判定し、受信パケットが廃棄対象パケットであると判定された場合には、そのまま本ルーチンを終了する。一方、起動対称パケットであると判定された場合には、受信パケットをASIC30のCPU41で処理させるためにCPU41に給電して通常のクロック周波数で動作させる起動要求をパワーマネジメント部46に出力し(ステップS420)、CPU41の起動が完了すると(ステップS430)、受信パケットがASIC30(ネットワークコントローラーI/F45)に転送されるよう受信パケットフィルタリング部56に転送指令を出力する(ステップS440)。そして、応答パケットモニタリング部58にASIC30から応答パケットが受け付けられるのを待ち(ステップS450)、応答パケットが受け付けられると、受け付けられた応答パケットがMAC52とPHY51とを介してネットワーク15に返信されるよう応答パケットモニタリング部58に送信指令を出力して(ステップS460)、本ルーチンを終了する。ステップS400で受信パケットが廃棄対象パケットではないと判定され且つS410で受信パケットが起動対象パケットではないと判定されると、受信パケットは自動応答対象パケットであると判断し、受信パケットの識別IDをキーとして応答データテーブル62を検索して(ステップS470)、受信パケットに対応する応答パケットが応答データテーブル62に登録されているか否かを判定する(ステップS480)。受信パケットに対応する応答パケットが応答データテーブル62に登録されていないと判定された場合には、受信パケットをASIC30(CPU41)に処理させる必要があると判断し、ステップS420〜S460の処理を実行する。一方、受信パケットに対応する応答データが応答データテーブル62に登録されていると判定された場合には、応答データテーブル62から対応する応答データを読み出し(ステップS490)、読み出した応答データから応答パケットを生成し(ステップS500)、生成した応答パケットがMAC52とPHY51とを介してネットワーク15に返信されるようMAC52に出力する自動応答処理を実行して(ステップS510)、本ルーチンを終了する。
【0034】
このように、CPU41が通常の状態にある場合にネットワーク15からパケットを受信したときには、ASIC30(CPU41)とネットワーク15との間のパケットのやり取りをモニターすると共に応答データを応答データテーブル62に登録しておき、次の省電力時にネットワーク15からパケットを受信したときには、応答データテーブル62から応答データを読み出して自動応答することにより、ASIC30(CPU41)を介さずにパケットを処理し、省電力状態をできる限り長く維持できるようにしているのである。
【0035】
また、ネットワーク15から受け付けたジョブ以外のジョブ(操作部24から受け付けたジョブ)でマルチファンクションプリンター20の状態が変更し得る処理が実行されたときには、パケット監視テーブル64内に記憶されている受信パケットから内部パケットを生成して再度ASIC30に問い合わせを行なうことにより、パケット監視テーブル64内の応答データエリアのデータを更新するから、その後に、CPU41が省電力状態に移行したときに、マルチファンクションプリンター20の実状態と自動応答処理における応答内容とに不整合が生じるのを抑制することができる。
【0036】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のCPU41が本発明の「主制御部」に相当し、パワーマネジメント部46が「電力管理部」に相当し、応答データテーブル62とパケット監視テーブル64とを有する記憶部60が「記憶手段」に相当し、図3の通常時通信制御ルーチンや図5のパケット監視テーブル更新処理ルーチンを実行するネットワークコントローラー制御部54を含むネットワークコントローラー50が「通常時通信制御手段」に相当し、図7の省電力時通信制御ルーチンを実行するネットワークコントローラー制御部54を含むネットワークコントローラー50が「省電力時通信制御手段」に相当する。なお、本実施形態では、ネットワークコントローラー50の動作を説明することにより本発明の通信制御方法の一例も明らかにしている。
【0037】
以上説明した本実施形態のマルチファンクションプリンター20によれば、ASIC30のCPU41が通常の状態にある場合にネットワークコントローラー50がパケットを受信したときには、受信パケットをASIC30に転送しASIC30で処理させて生成された応答パケットを返信すると共に受信パケットと応答パケットとをパケット監視テーブル64に登録しておき、CPU41が省電力の状態にある場合には、パケット監視テーブル64のデータから応答データテーブル62を作成し、ネットワークコントローラー50がパケットを受信したときに受信したパケットに対応する応答データを応答データテーブル62から読み出して応答パケットを生成すると共に生成した応答パケットを返信するから、省電力時に頻繁にパケットを受信するものとしても、CPU41を介さずに自動応答することにより省電力の状態をより長く継続することができ、省電力の効果をより向上させることができる。しかも、パケット監視テーブル64のデータのうち受信回数Nが所定回数Nref以上のデータだけを用いて応答データテーブル62を作成するから、記憶部60の容量に制約があるものとしても、頻繁に受信するパケットに自動応答処理が実行されるものとなり、十分な省電力化を図ることができる。
【0038】
また、本実施形態のマルチファンクションプリンター20によれば、ネットワーク15から受け付けたジョブ以外のジョブ(操作部24から受け付けたジョブ)によりマルチファンクションプリンター20の状態が変更し得る処理が実行されたときには、パケット監視テーブル64内に記憶されている受信パケットから内部パケットを生成して再度ASIC30に問い合わせを行なうことにより、パケット監視テーブル64内の応答データエリアのデータを更新するから、その後に、スリープモードに移行したときに、マルチファンクションプリンター20の実状態と自動応答処理における応答内容とに不整合が生じるのを抑制することができる。しかも、内部パケットによりASIC30で応答パケットが生成されて応答パケットモニタリング部58に受け付けられた場合には、応答パケットゲート部59により応答パケットモニタリング部58からMAC52への通過を遮断するから、不適切なパケットがネットワーク15上に流れるのを抑制することができる。
【0039】
上述した実施形態では、パケット監視テーブル64に登録されたデータのうち受信回数Nが所定回数Nref以上のデータを応答データテーブル62に登録するものとしたが、これに限られず、応答データテーブル62の登録数を所定数(例えば、3つや5つなど)までとし、パケット監視テーブル64に登録されたデータのうち受信回数Nが多いものから順に登録数が所定数となるまで応答データテーブル62に登録するものとしてもよい。勿論、記憶部60(応答データテーブル62)の容量が十分であれば、応答データテーブル62への登録数を制限しないものとしても構わない。
【0040】
上述した実施形態では、1回のCPU41の通常状態での動作期間(前回の省電力状態の復帰から次の省電力状態への移行までの期間)に亘って受信したパケットをモニターしてパケット監視テーブル64に登録すると共に同一パケットの受信回数Nをカウントするものとしたが、1回のCPU41の通常状態での動作期間のうち所定の監視期間に受信したパケットのみをモニターしてパケット監視テーブル64に登録すると共に同一パケットの受信回数Nをカウントするものとしてもよい。この監視期間は、CPU41が通常状態から省電力状態に移行するまでの所要時間などを考慮して、例えば、3分間や5分間などのように定めることができる。
【0041】
上述した実施形態では、ネットワークコントローラー制御部54が記憶部60(応答データテーブル62やパケット監視テーブル64)にアクセスしてデータを管理するものとしたが、ASIC30のCPU41も記憶部60にアクセスしてデータを管理できるようにしてもよい。例えば、ASIC30のCPU41が応答パケットを生成したときには記憶部60のパケット監視テーブル64に直接に登録するものとしても構わない。また、ネットワークコントローラー50によるパケットの監視もASIC30によりオンオフできるようにしてもよい。
【0042】
上述した実施形態では、本発明をマルチファンクションプリンター20に適用して説明したが、これに限られず、主制御部と主制御部への給電を管理する電力管理部を備える情報処理装置にネットワークを介してデータのやり取りが可能な通信制御機器が組み込まれたものであれば、如何なる装置、例えば、スキャナー機能を備えないプリンターに適用するものとしてもよいし、プリンター機能を備えないスキャナーに適用するものとしてもよいし、FAX機器に適用するものとしてもよい。
【0043】
上述した実施形態では、本発明を通信制御装置の形態として説明したが、通信制御方法の形態とするものとしてもよいし、コンピューターを通信制御装置として機能させるためのプログラムの形態とするものとしてもよい。
【0044】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【符号の説明】
【0045】
10 ユーザーPC、15 ネットワーク、20 マルチファンクションプリンター、22 コントローラーボード、24 操作部、26 プリンターエンジン、28 スキャナーエンジン、30 ASIC、32 クロックジェネレーター、34 操作インターフェース(I/F)、36 印刷制御部、38 スキャナー制御部、39 メモリーカードコントローラー、39a メモリーカードスロット、41 CPU、42 ROM、43 SDRAMコントローラー、44 SDRAM、45 ネットワークコントローラーインターフェース(I/F)、46 パワーマネジメント部、47 ボード電力制御部、48 外部電力制御部、49 内部バス、50 ネットワークコントローラー、51 PHY、52 MAC、54 ネットワークコントローラー制御部、56 受信パケットフィルタリング部、57 内部パケット生成部、58 応答パケットモニタリング部、59 応答パケットゲート部、60 記憶部、62 応答データテーブル、64 パケット監視テーブル、MC メモリーカード。

【特許請求の範囲】
【請求項1】
主制御部と該主制御部への給電を管理する電力管理部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御装置であって、
データを記憶する記憶手段と、
前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶手段に記憶する通常時通信制御手段と、
前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶手段に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行する省電力時通信制御手段と、
を備え、
前記通常時通信制御手段は、所定のタイミングで前記記憶手段に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶手段に記憶されているデータを更新するデータ更新処理を実行する手段である
通信制御装置。
【請求項2】
前記受信パケットから生成された応答パケットの前記ネットワークへの通過を許可し、前記内部パケットに基づいて生成された応答パケットの前記ネットワークへの通過を遮断する応答パケットゲート部を備える請求項1記載の通信制御装置。
【請求項3】
請求項1または2記載の通信制御装置であって、
前記情報処理装置は、ユーザーにより操作されて前記主制御部の所定の処理を指示する操作部を備え、
前記通常時通信制御手段は、前記所定のタイミングとして、前記操作部の操作に基づいて前記主制御部により前記所定処理が実行された場合に、前記データ更新処理を実行する手段である
通信制御装置。
【請求項4】
前記外部機器からジョブを受け付けて前記所定の処理として画像を形成する画像形成装置に前記情報処理装置が組み込まれてなる請求項3記載の通信制御装置であって、
前記画像形成装置は、前記操作部の操作に基づいて前記外部機器を介さずにジョブを受け付けて画像を形成可能な装置であり、
前記通常時通信制御手段は、前記外部機器を介さずにジョブを受け付けて画像を形成した場合に、前記データ更新処理を実行する手段である
通信制御装置。
【請求項5】
コンピューターを、請求項1ないし4いずれか1項に記載の通信制御装置として機能させるためのプログラム。
【請求項6】
主制御部と該主制御部への給電を管理する電力管理部とデータを記憶する記憶部とを備える情報処理装置に組み込まれ、ネットワークを介して接続された外部機器との通信を制御する通信制御方法であって、
(a)前記主制御部が通常の状態で前記外部機器からパケットを受信したときには、該受信した受信パケットを前記主制御部に転送し該主制御部に応答パケットを生成させて該応答パケットを前記外部機器に返信すると共に前記応答パケットと前記受信パケットとを対応付けて前記記憶部に記憶し、
(b)前記主制御部が省電力の状態で前記外部機器からパケットを受信したときには、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されてない場合に前記電力管理部に前記主制御部を前記通常の状態に復帰させてから前記受信パケットを該主制御部に転送し該主制御部に応答パケットを生成させて前記応答パケットを前記外部機器に返信する起動応答処理を実行し、前記受信した受信パケットと同一の受信パケットが前記記憶部に記憶されている場合に該受信パケットに対応する応答パケットを前記記憶手段から読み出して返信する自動応答処理を実行し、
前記ステップ(a)は、所定のタイミングで前記記憶部に記憶されているデータに基づいて内部パケットを生成すると共に該生成した内部パケットを前記主制御部に送信して該主制御部に応答パケットを生成させることにより該生成させた応答パケットを用いて前記記憶部に記憶されているデータを更新するデータ更新処理を実行する
ことを特徴とする通信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−147045(P2011−147045A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−7765(P2010−7765)
【出願日】平成22年1月18日(2010.1.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】