(57)【要約】【課題】省電力状態になっているメイン処理部を復帰させて、外部からの受信データを用いた処理を適切且つ効率よく実行できるようにする。【解決手段】サブＣＰＵ１５は、パケットを受信するドライバー部１５ｃと、パケットをＳＲＡＭ１４に格納し、メインＣＰＵ１１の処理のパケットであるか否かを判定するサブ実行部１５ａと、メインＣＰＵ１１の処理のパケットである場合に、起動を開始する電力制御部１５ｂとを有し、メインＣＰＵ１１は、メイン実行部１１ａがパケットを受付可能になったか否かを確認し、確認された後に、パケットを取り出してメイン実行部１１ａに渡し、ドライバー部１５ｂによるパケットの受信を停止させる省電力マネージャー部１１ｂと、受信を停止させた後に、パケットを受信してメイン実行部１１ａに渡すドライバー部１１ｃとを備えるようにする。【選択図】図１
2011235504.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行するメイン処理部と、前記メイン処理部よりも低電力で処理を実行可能なサブ処理部と、前記メイン処理部と前記サブ処理部との両方がアクセス可能な共有メモリとを有する通信装置において、
前記サブ処理部は、
ネットワークからの通信パケットを受信するサブ受信手段と、
前記サブ受信手段により受信された前記通信パケットを前記共有メモリに格納するパケット格納手段と、
受信した前記通信パケットが前記メイン処理部の処理により利用される通信パケットであるか否かを判定するパケット判定手段と、
前記メイン処理部による処理に利用される通信パケットであると判定された場合に、前記メイン処理部の起動を開始するメイン起動手段と、
を有し、
前記メイン処理部は、
前記通信パケットを利用する処理を実行するメイン処理実行手段と、
前記メイン処理部の起動が開始された後に、前記メイン処理実行手段が前記通信パケットを受付可能になったか否かを確認する確認手段と、
前記メイン処理実行手段が前記通信パケットを受付可能になったと確認された後に、前記共有メモリから前記通信パケットを取り出して、前記メイン処理実行手段に渡すパケット受渡手段と、
前記メイン処理実行手段が前記通信パケットを受付可能になったと確認された後に、前記サブ受信手段による前記通信パケットの受信を停止させる受信停止手段と、
前記サブ受信手段による前記通信パケットの受信を停止させた後に、前記ネットワークからの前記通信パケットを受信して前記メイン処理実行手段に渡すメイン受信手段と
を有する通信装置。
【請求項２】
前記パケット受渡手段は、前記サブ受信手段による前記通信パケットの受信を停止させた後に、前記共有メモリから前記通信パケットを取り出して、前記メイン処理実行手段に渡す
請求項１に記載の通信装置。
【請求項３】
前記メイン処理実行手段は、複数のネットワークアプリケーション処理を実行し、
前記確認手段は、前記メイン処理実行手段が実行する全てのネットワークアプリケーション処理が通信パケットを受付可能になったか否かを確認し、
前記パケット受渡手段は、前記メイン処理実行手段が実行する全てのネットワークアプリケーション処理が通信パケットを受付可能になったと確認された後に、前記共有メモリから前記通信パケットを取り出して、前記メイン処理実行手段に渡す
請求項１又は請求項２に記載の通信装置。
【請求項４】
前記パケット受渡手段は、前記パケット格納手段による、前記サブ受信手段の受信した全ての前記通信パケットの前記共有メモリへの格納が終了した後に、前記通信パケットを前記メイン処理実行手段に渡す
請求項１乃至請求項３のいずれか一項に記載の通信装置。
【請求項５】
前記サブ処理部は、
所定の種類の通信パケットを利用した処理を実行可能なサブ処理実行手段を有し、
前記パケット判定手段は、前記サブ受信手段が受信した通信パケットが、前記サブ処理実行手段により実行可能な種類の通信パケットであるか否かを判定し、前記サブ処理実行手段により実行可能な種類の通信パケットである場合に、前記メイン処理部による処理に利用される通信パケットでないと判定し、
前記サブ処理実行手段は、前記サブ受信手段が受信した通信パケットが、パケット判定手段により、前記サブ処理実行手段により実行可能な種類の通信パケットであると判定された場合に、前記通信パケットを利用した処理を実行する
請求項１乃至請求項４のいずれか一項に記載の通信装置。
【請求項６】
所定の処理を実行するメイン処理部と、前記メイン処理部よりも低電力で処理を実行可能なサブ処理部と、前記メイン処理部と前記サブ処理部との両方がアクセス可能な共有メモリとを有する通信装置における処理制御方法において、
前記サブ処理部において、前記メイン処理部が省電力状態になった以降において、ネットワークからの通信パケットを受信するサブ受信ステップと、
前記受信された前記通信パケットを前記共有メモリに格納するパケット格納ステップと、
受信した前記通信パケットが前記メイン処理部の処理により利用される通信パケットであるか否かを判定するパケット判定ステップと、
前記メイン処理部による処理に利用される通信パケットであると判定された場合に、前記メイン処理部の起動を開始するメイン起動ステップと、
前記メイン処理部の起動が開始された後に、通信パケットを利用する処理を実行するメイン処理実行手段が前記通信パケットを受付可能になったか否かを確認する確認ステップと、
前記メイン処理実行手段が前記通信パケットを受付可能になったと確認された場合に、前記サブ処理部による前記通信パケットの受信を停止させる受信停止ステップと、
前記メイン処理実行手段が前記通信パケットを受付可能になったと確認された場合に、前記共有メモリから前記通信パケットを取り出して、前記メイン処理実行手段に渡すパケット受渡ステップと、
前記サブ処理部による前記通信パケットの受信を停止させた後に、前記ネットワークからの前記通信パケットを受信して前記メイン処理実行手段に渡すメイン受信ステップと
を有する処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理を実行可能なメイン処理部と、メイン処理部よりも低電力で処理を実行可能なサブ処理部と、メイン処理部とサブ処理部との両方がアクセス可能な共有メモリとを有する通信装置等に関する。
【背景技術】
【０００２】
従来、プリンター等の通信装置においては、メイン処理部と、メイン処理部よりも低電力で動作するサブ処理部とを備え、所定の条件に合致した際に、メイン処理部への電力の供給を停止することにより、電力の消費を低減させることが行われている。
【０００３】
このような通信装置においては、サブ処理部（副装置部）がメイン処理部（主装置部）での処理が必要なデータ等を受信すると、メイン処理部への電力の供給を再開して、メイン処理部でデータ処理を実行させることが行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２７１５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、特許文献１の技術では、メイン処理部に実行させる必要のある特定のパケットを、サブ処理部が受信した際に、通信処理を停止し、メイン処理部を起動させて、メイン処理部により受信したパケットに対する後続の通信処理を開始するようにしている。この技術によると、パケットを受信してから、メイン処理部が通信を開始するまでの間においては、通信が停止されており、処理の効率が悪いという問題がある。
【０００６】
本発明は、上記課題に鑑みなされたものであり、その目的は、省電力状態になっているメイン処理部を復帰させて、外部からの受信データを用いた処理を実行させる際に、適切且つ効率よく処理を実行させることのできる技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的達成のため、本発明の第１の観点に係る通信装置は、所定の処理を実行するメイン処理部と、メイン処理部よりも低電力で処理を実行可能なサブ処理部と、メイン処理部とサブ処理部との両方がアクセス可能な共有メモリとを有する通信装置において、サブ処理部は、ネットワークからの通信パケットを受信するサブ受信手段と、サブ受信手段により受信された通信パケットを共有メモリに格納するパケット格納手段と、受信した通信パケットがメイン処理部による処理により利用される通信パケットであるか否かを判定するパケット判定手段と、メイン処理部による処理に利用される通信パケットであると判定された場合に、メイン処理部の起動を開始するメイン起動手段と、を有し、メイン処理部は、通信パケットを利用する処理を実行するメイン処理実行手段と、メイン処理部の起動が開始された後に、メイン処理実行手段が通信パケットを受付可能になったか否かを確認する確認手段と、メイン処理実行手段が通信パケットを受付可能になったと確認された後に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡すパケット受渡手段と、メイン処理実行手段が通信パケットを受付可能になったと確認された後に、サブ受信手段による通信パケットの受信を停止させる受信停止手段と、サブ受信手段による通信パケットの受信を停止させた後に、ネットワークからの通信パケットを受信してメイン処理実行手段に渡すメイン受信手段とを有する。
【０００８】
係る通信装置によると、サブ処理部において、受信された通信パケットを共有メモリに格納し、受信した通信パケットがメイン処理部による処理により利用される通信パケットであると判定された場合に、メイン処理部の起動を開始する。そして、メイン処理部においては、メイン処理部の起動が開始された後に、通信パケットを受付可能になったか否かを確認し、受付可能になったと確認された後に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡す。また、通信パケットを受付可能になったと確認された後に、サブ受信手段による通信パケットの受信を停止させた後に、ネットワークからの通信パケットを受信する。これによって、メイン処理部の起動時に送信される通信パケットを適切に受信して記憶しておき、メイン処理部に対して受信した通信パケットを適切に渡すことができ、メイン処理部の処理を迅速に行うことができるようになる。
【０００９】
上記通信装置において、パケット受渡手段は、サブ受信手段による通信パケットの受信を停止させた後に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡すようにしてもよい。係る通信装置によると、共有メモリから通信パケットを取り出す際には、サブ処理部による通信パケットの受信が停止されているので、共有メモリにおける通信パケットの管理が容易である。
【００１０】
また、上記通信装置において、メイン処理実行手段は、複数のネットワークアプリケーション処理を実行し、確認手段は、メイン処理実行手段が実行する全てのネットワークアプリケーション処理が通信パケットを受付可能になったか否かを確認し、パケット受渡手段は、メイン処理実行手段が実行する全てのネットワークアプリケーション処理が通信パケットを受付可能になったと確認された後に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡すようにしてもよい。係る通信装置によると、全てのネットワークアプリケーション処理が通信パケットを受付可能であるので、共有メモリの通信パケットを確実にネットワークアプリケーション処理に渡して利用させることができる。
【００１１】
また、上記通信装置において、パケット受渡手段は、パケット格納手段による、サブ受信手段の受信した全ての通信パケットの共有メモリへの格納が終了した後に、通信パケットをメイン処理実行手段に渡すようにしてもよい。係る通信装置によると、受信した通信パケットを確実に共有メモリに格納させ、メイン処理実行手段に適切に受け渡すことができる。
【００１２】
また、上記通信装置において、サブ処理部は、所定の種類の通信パケットを利用した処理を実行可能なサブ処理実行手段を有し、パケット判定手段は、サブ受信手段が受信した通信パケットが、サブ処理実行手段により実行可能な種類の通信パケットであるか否かを判定し、サブ処理実行手段により実行可能な種類の通信パケットである場合に、メイン処理部による処理に利用される通信パケットでないと判定し、サブ処理実行手段は、サブ受信手段が受信した通信パケットが、パケット判定手段により、サブ処理実行手段により実行可能な種類の通信パケットであると判定された場合に、通信パケットを利用した処理を実行するようにしてもよい。係る通信装置においては、サブ処理実行手段により実行可能な種類の通信パケットを受信した場合には、メイン処理部を起動させることなく、処理を実行することができる。
【００１３】
また、上記目的達成のため、本発明の第２の観点に係る処理制御方法は、所定の処理を実行するメイン処理部と、メイン処理部よりも低電力で処理を実行可能なサブ処理部と、メイン処理部とサブ処理部との両方がアクセス可能な共有メモリとを有する通信装置における処理制御方法において、サブ処理部において、メイン処理部が省電力状態になった以降において、ネットワークからの通信パケットを受信するサブ受信ステップと、受信された通信パケットを共有メモリに格納するパケット格納ステップと、受信した通信パケットがメイン処理部による処理により利用される通信パケットであるか否かを判定するパケット判定ステップと、メイン処理部による処理に利用される通信パケットであると判定された場合に、メイン処理部の起動を開始するメイン起動ステップと、メイン処理部の起動が開始された後に、通信パケットを利用する処理を実行するメイン処理実行手段が通信パケットを受付可能になったか否かを確認する確認ステップと、メイン処理実行手段が通信パケットを受付可能になったと確認された場合に、サブ処理部による通信パケットの受信を停止させる受信停止ステップと、メイン処理実行手段が通信パケットを受付可能になったと確認された場合に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡すパケット受渡ステップと、サブ処理部による通信パケットの受信を停止させた後に、ネットワークからの通信パケットを受信してメイン処理実行手段に渡すメイン受信ステップとを有する。
【００１４】
係る処理制御方法によると、サブ処理部において、受信された通信パケットを共有メモリに格納し、受信した通信パケットがメイン処理部による処理により利用される通信パケットであると判定された場合に、メイン処理部の起動を開始する。そして、メイン処理部においては、メイン処理部の起動が開始された後に、通信パケットを受付可能になったか否かを確認し、受付可能になったと確認された後に、共有メモリから通信パケットを取り出して、メイン処理実行手段に渡す。また、通信パケットを受付可能になったと確認された後に、サブ処理部による通信パケットの受信を停止させた後に、ネットワークからの通信パケットを受信する。これによって、メイン処理部の起動時に送信される通信パケットを適切に受信して記憶しておき、メイン処理部に対して受信した通信パケットを適切に渡すことができ、メイン処理部の処理を迅速に行うことができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るプリンターの構成図である。
【図２】本発明の一実施形態に係るメインＣＰＵによる制御処理のフローチャートである。
【図３】本発明の一実施形態に係るサブＣＰＵによる制御処理のフローチャートである。
【図４】本発明の一実施形態に係る受信可能タイミングを説明する図である。
【発明を実施するための形態】
【００１６】
本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１７】
まず、本発明の一実施形態に係る通信装置の一例としてのプリンターについて説明する。
【００１８】
図１は、本発明の一実施形態に係るプリンターの構成図である。
【００１９】
プリンター１は、大別するとコントローラー部１０と、プリント機能部２０と、電力供給部２１とを有する。プリント機能部２０は、コントローラー部１０の制御に基づいて、所定の画像形成媒体（紙やＯＨＰシート等）に、画像を形成させる。電力供給部２１は、コントローラー部１０の制御に基づいてプリンター１の各機能部（例えば、メインＣＰＵ１１、ＤＲＡＭ１２等）に、図示しない商業電源からの電力を供給したり、各機能部への電力の供給を停止したりする。
【００２０】
コントローラー部１０は、メイン処理部の一例としてのメインＣＰＵ（Central Processing Unit）１１と、ＤＲＡＭ（Dynamic Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、共有メモリの一例としてのＳＲＡＭ（Static Random Access Memory）１４と、サブ処理部の一例としてのサブＣＰＵ１５と、通信処理部１６と、通信インターフェース１７と、これら各部を接続するバス１８とを有する。本実施形態では、ＳＲＡＭ１４、サブＣＰＵ１５、及び通信処理部１６は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）により構成されている。
【００２１】
ＤＲＡＭ１２は、プログラムやデータを記憶する領域として、或いは、メインＣＰＵ１１による処理に使用しているデータを格納する作業領域として利用される。ＲＯＭ１３は、ブートプログラム、メインＣＰＵ１１及びサブＣＰＵ１５により実行される各種処理のプログラム等を記憶する。
【００２２】
ＳＲＡＭ１４は、ＤＲＡＭ１２よりは、少ない記憶容量のメモリであり、各種情報を記憶する。ＳＲＡＭ１４は、メインＣＰＵ１１と、サブＣＰＵ１５とのいずれもから読み出し、書き込みできるようになっている。本実施形態では、ＳＲＡＭ１４は、サブＣＰＵ１５がネットワークから受信した通信パケットを記憶する。
【００２３】
通信処理部１６は、メインＣＰＵ１１、又はサブＣＰＵ１５から渡された通信パケットをネットワークへ送信する。また、通信処理部１６は、ネットワークから通信パケットを受信し、メインＣＰＵ１１、又はサブＣＰＵ１５に渡す。通信インターフェース１７は、メインＣＰＵ１１とプリント機能部２０との間の通信を仲介する。
【００２４】
メインＣＰＵ１１は、メイン処理実行手段の一例としてのメイン実行部１１ａと、確認手段、パケット受渡手段及び受信停止手段の一例としての省電力マネージャー部１１ｂと、メイン受信手段の一例としてのネットワークドライバー部１１ｃと、プリント制御部１１ｄとを有する。
【００２５】
メイン実行部１１ａは、通信用パケットの送受信を行うＵＤＰ（User Datagram Protocol）サーバー、ＴＣＰ（Transmission Control Protocol）サーバー等のネットワークアプリーションを実行する。本実施形態では、メイン実行部１１ａは、ネットワークアプリケーションの実行を開始した後に、このネットワークアプリケーションによる処理において通信パケットを受付可能になったことを省電力マネージャー部１１ｂに通知する。なお、メイン実行部１１ａは、複数のネットワークアプリケーションを並行して実行することができるようになっている。
【００２６】
省電力マネージャー部１１ｂは、所定の省電力移行条件を満たしたか否かを判定し、省電力移行条件を満たした場合には、サブＣＰＵ１５の電力制御部１５ｂに省電力移行通知を送信する。ここで、省電力移行条件としては、例えば、プリンター１が外部の装置からメインＣＰＵ１１で利用する通信パケット（例えば、印刷データ等）を所定時間以上受信していないこと等がある。
【００２７】
また、省電力マネージャー部１１ｂは、１以上のネットワークアプリケーションを実行しているメイン実行部１１ａから、実行している全てのネットワークアプリケーションについて通信パケットを受付可能になったとの通知を受けとったか否か、すなわち、通信パケットを受付可能になったか否かを確認する。
【００２８】
また、省電力マネージャー部１１ｂは、全てのネットワークアプリケーションで通信パケットを受付可能になったと確認した場合には、後述するサブＣＰＵ１５のネットワークドライバー部１５ｃによる通信パケットの送受信を停止させる。また、省電力マネージャー部１１ｂは、通信パケットを受付可能になったと確認した場合には、ネットワークドライバー部１１ｃを起動させ、ＳＲＡＭ１４に格納されている通信パケットを取り出して、ネットワークドライバー部１１ｃに渡す。
【００２９】
ネットワークドライバー部１１ｃは、メイン実行部１１ａと、通信処理部１６との間の通信パケットの受渡を行う。また、ネットワークドライバー部１１ｃは、省電力マネージャー部１１ｂから受け取った通信パケットをメイン実行部１１ａに渡す。
【００３０】
プリント制御部１１ｄは、通信処理部１６がネットワークを介して受信した通信パケット（印刷データ）に従って、プリント機能部２０を制御して、画像形成媒体に所定の画像を形成させる。
【００３１】
サブＣＰＵ１５は、パケット判定手段及びパケット格納手段の一例としてのサブ実行部１５ａと、メイン起動手段の一例としての電力制御部１５ｂと、サブ受信手段の一例としてのネットワークドライバー部１５ｃとを有する。サブＣＰＵ１５は、メインＣＰＵ１１よりも通常動作時に消費する電力が少ない。
【００３２】
サブ実行部１５ａは、ネットワークドライバー部１５ｃから通信パケットを受け取った場合には、当該通信パケットが、自身が応答可能な通信パケットであるか否かを判定し、応答可能である場合には、そのデータを利用する所定の処理を実行し、応答可能でない場合には、受信した通信パケットをＳＲＡＭ１４に格納するとともに、省電力解除条件に合致したとの通知を電力制御部１５ｂに通知する。本実施形態では、サブ実行部１５ａは、ＳＮＭＰ（Simple Network Management Protocol）、ＳＬＰ（Service Location Protocol）、ＡＲＰ（Address
Resolution Protocol）等のネットワークプロトコル処理が実行可能であり、メイン処理部１１が省電力状態の場合（電力供給がされていない場合）にこれら処理を実行する。
【００３３】
また、サブ実行部１５ａは、ネットワークドライバー部１５ｃから通信を終了した通知を受け取った場合には、ネットワークドライバー部１５ｃから受け取った全ての通信パケットをＳＲＡＭ１４に格納した後に、通信が終了したことを示す通知（通信終了通知）を省電力マネージャー部１１ｂに送信する。
【００３４】
電力制御部１５ｂは、省電力移行通知をメインＣＰＵ１１から受け取った場合には、電力供給部２１を制御して、メインＣＰＵ１１及びＤＲＡＭ１２への電力供給を停止させる。また、電力制御部１５ｂは、省電力条件解除条件に合致したとの通知を受け取った場合には、電力供給部２１を制御して、メインＣＰＵ１１及びＤＲＡＭ１２への電力供給を再開させるとともに、ＳＲＡＭ１４に格納されている復帰起動であることを示すフラグをオンに設定する。
【００３５】
ネットワークドライバー部１５ｃは、サブ実行部１５ａと、通信処理部１６との間の通信パケットの受渡を行う。ネットワークドライバー部１５ｃは、省電力マネージャー部１１ｂから通信を終了させる指示（通信終了指示）を受け付けた場合には、通信処理部１６との通信パケットの受渡を終了させ、サブ実行部１５ａに通信を終了したことを通知する。
【００３６】
次に、本発明の一実施形態に係るプリンターにおける処理動作について説明する。
【００３７】
図２は、本発明の一実施形態に係るメインＣＰＵによる制御処理のフローチャートである。
【００３８】
まず、メインＣＰＵ１１は、電力供給がされて起動が開始されると、ＯＳ等のプログラムの実行を開始し、メイン実行部１１ａが構成される。メインＣＰＵ１１のメイン実行部１１ａは、コールド起動（プリンター１をオンしたことによる起動）か、復帰起動（省電力状態において、電力供給が再開されたことによる起動）であるかを判定する（ステップＳ１）。ここで、コールド起動か、復帰起動かについては、ＳＲＡＭ１４に格納された復帰起動を示すフラグがオンとなっているか否かにより判定できる。
【００３９】
この結果、コールド起動であると判定された場合（ステップＳ１：コールド起動）には、メイン実行部１１ａは、ネットワークアプリケーションの起動を開始し（ステップＳ２）、ネットワークドライバー部１１ｃが通信処理部１６を介してネットワークからの通信パケットの送受信処理を開始する（ステップＳ３）。そして、その後、ステップＳ１４に進む。
【００４０】
一方、復帰起動であると判定された場合（ステップＳ１：復帰起動）には、メイン実行部１１ａは、起動すべき全てのネットワークアプリケーションの起動を開始し（ステップＳ４）、それぞれのネットワークアプリケーションについての通信パケットの受信が可能な状態となったことを省電力マネージャー部１１ｂに通知する（ステップＳ７）。次いで、ネットワークドライバー部１１ｃが省電力マネージャー部１１ａから受信開始指示を受信したか否かを判定し（ステップＳ１１）、受信開始指示を受信していない場合には、受信するまで待つ。一方、受信開始指示を受信した場合（ステップＳ１１：ＹＥＳ）には、ネットワークドライバー部１１ｃは、通信パケットの受信処理を開始する（ステップＳ１２）。これにより、ネットワークドライバー部１１ｃは、通信パケットを受信可能となり、受信した通信パケットは、メイン実行部１１ａに渡されることとなる。
【００４１】
また、復帰起動であると判定された場合（ステップＳ１：復帰起動）には、ステップＳ４からの処理と並行して、メイン実行部１１ａは、省電力マネージャー部１１ｂを構成するためのアプリケーションを起動する（ステップＳ５）。これにより、省電力マネージャー部１１ｂが構成される。次いで、省電力マネージャー部１１ｂは、メイン実行部１１ａから全てのネットワークアプリケーションからの受信可能通知を受信したか否かを判定し（ステップＳ６）、受信していない場合（ステップＳ６：ＮＯ）には、受信するまで待つ。一方、全てのネットワークアプリケーションからの受信可能通知を受信した場合（ステップＳ６：ＹＥＳ）には、省電力マネージャー部１１ｂは、サブＣＰＵ１５のネットワークドライバー部１５ｃによる通信パケットの通信を終了させる指示（通信終了指示）をサブＣＰＵ１５に送信する（ステップＳ８）。
【００４２】
次いで、省電力マネージャー部１１ｂは、サブＣＰＵ１５から通信終了通知を受信したか否かを判定し（ステップＳ９）、受信していない場合（ステップＳ９：ＮＯ）には、受信するまで待つ。一方、通信終了通知を受信した場合（ステップＳ９：ＹＥＳ）には、省電力マネージャー部１１ｂは、ネットワークドライバー部１１ｃに受信開始指示を送信する。次いで、省電力マネージャー部１１ｂは、ＳＲＡＭ１４からサブＣＰＵ１５によって受信されていた通信パケットを取り出して、ネットワークドライバー部１１ｃに受け渡す（ステップＳ１３）。これにより、ネットワークドライバー部１１ｃが通信パケットを受け取り、この通信パケットを、メイン実行部１１ａに渡すこととなる。
【００４３】
ステップＳ１４においては、メイン実行部１１ａは受け取った通信パケットを用いて所定の処理を実行する（ステップＳ１４）。次いで、省電力マネージャー部１１ｂは、所定の省電力移行条件を満たしているか否かを判定し（ステップＳ１５）、所定の省電力移行条件を満たしていない場合（ステップＳ１５：ＮＯ）には、ステップＳ１４に戻る。一方、省電力移行条件を満たしている場合（ステップＳ１５：ＹＥＳ）には、省電力マネージャー部１１ｂは、省電力移行通知を、サブＣＰＵ１５に通知する（ステップＳ１６）。これにより、後述する図３に示すサブＣＰＵの処理により、メインＣＰＵ１１への電力供給が停止されることとなる。
【００４４】
図３は、本発明の一実施形態に係るサブＣＰＵによる制御処理のフローチャートである。
【００４５】
サブＣＰＵ１５において、電力制御部１５ｂが、省電力移行通知をメインＣＰＵ１１から受け取ったか否かを判定し（ステップＳ２１）、省電力移行通知を受け取っていない場合（ステップＳ２１：ＮＯ）には、省電力移行通知を受け取るまで待つ。一方、省電力移行通知を受け取った場合（ステップＳ２１：ＹＥＳ）には、電力制御部１５ｂは、電力供給部２１を制御して、メインＣＰＵ１１及びＤＲＡＭ１２への電力供給を停止させる（ステップＳ２２）。これにより、プリンター１における電力消費を低減することができる。
【００４６】
次いで、サブ実行部１５ａは、ネットワークドライバー部１５ｃを動作させて、通信処理部１６を介してのネットワークとの間の通信制御を開始する（ステップＳ２３）。これにより、ネットワークドライバー部１５ｃが通信処理部１６を介してネットワークとの間で通信パケットを送受信できるようになる。
【００４７】
次いで、ネットワークドライバー部１５ｃは、メインＣＰＵ１１から通信終了指示を受信したか否かを判定し（ステップＳ２４）、通信終了指示を受け取っていない場合（ステップＳ２４：ＮＯ）には、通信処理部１６から通信パケットを受信したか否かを判定する（ステップＳ２５）。
【００４８】
この結果、通信パケットを受信していない場合（ステップＳ２５：ＮＯ）には、ステップＳ２４に戻る一方、受信している場合（ステップＳ２５：ＹＥＳ）には、ネットワークドライバー部１５ｃは、受信した通信パケットをサブ実行部１５ａに渡す。サブ実行部１５ａは、受け取った通信パケットがサブＣＰＵ１５において処理可能か否か、すなわち、応答可能か否かを判定する（ステップＳ２６）。
【００４９】
受け取った通信パケットが応答可能な通信パケットである場合（ステップＳ２６：ＹＥＳ）には、サブ実行部１５ａは、通信パケットを用いた所定の処理を実行し（ステップＳ２７）、ステップＳ２４に戻る。
【００５０】
一方、受け取った通信パケットが応答可能な通信パケットでない場合（ステップＳ２６：ＮＯ）には、省電力解除条件に合致したとの通知を電力制御部１５ｂに通知するとともに、受信した通信パケットをＳＲＡＭ１４に格納する（ステップＳ２８）。電力制御部１５ｂは、省電力解除条件に合致したとの通知を受け取ると、電力供給部２１を制御して、メインＣＰＵ１１及びＤＲＡＭ１２への電力供給を再開させるとともに、ＳＲＡＭ１４に、復帰起動であることを示すフラグをオンに設定し（ステップＳ２９）、ステップＳ２４に戻る。このステップＳ２４〜Ｓ２９までの処理は、通信終了指示を受信するまで実行される。すなわち、通信終了指示が受け付けられるまでは、処理可能でない通信パケットは、ＳＲＡＭ１４に格納されることとなる。
【００５１】
一方、通信終了指示を受信した場合（ステップＳ２４：ＹＥＳ）には、メインＣＰＵ１１側で通信パケットの受け入れ準備が整ったことを意味しているので、ネットワークドライバー部１５ｃは、通信処理部１６との通信パケットの受渡を終了させ（ステップＳ３０）、サブ実行部１５ａに通信を終了したことを通知する。
【００５２】
サブ実行部１５ａは、ネットワークドライバー部１５ｃから通信を終了した通知を受け取った場合には、ネットワークドライバー部１５ｃから受け取った全ての通信パケットをＳＲＡＭ１４に格納した後に、通信が終了した通知を省電力マネージャー部１１ｂに通知する（ステップＳ３１）。これにより、メインＣＰＵ１１が、ＳＲＡＭ１４に格納した通信パケットを利用して処理を実行することができることとなる。
【００５３】
図４は、本発明の一実施形態に係る受信可能タイミングを説明する図である。
【００５４】
図４Ａは、メイン実行部１１ａがＵＤＰサーバーを形成するためのネットワークアプリケーションを実行する場合の例を示し、図４Ｂは、メイン実行部１１ａがＴＣＰサーバーを形成するためのネットワークアプリケーションを実行する場合の例を示している。
【００５５】
例えば、メインＣＰＵ１１の電力供給が再開されて、メイン実行部１１ａにより、ＵＤＰサーバーを形成するためのアプリケーションの起動が開始されると、図４Ａに示すように、まず、リクエストを受け付けるためのソケットを作成するＳｏｃｋｅｔ関数が実行される（ステップＳ４１）。次いで、ソケットにサーバーのアドレス情報（ＩＰアドレス及びポート番号）を設定するｂｉｎｄ関数が実行される（ステップＳ４２）。その後、データを受信するｒｅｃｖｆｒｏｍ関数が実行される（ステップＳ４３）。この流れにおいて、ｂｉｎｄ関数の実行が終了すると、メイン実行部１１ａにより構成されるＵＤＰサーバーは、通信パケットを受信可能になる。そこで、本実施形態では、ネットワークアプリケーションのｂｉｎｄ関数の実行完了後に、受信可能であることを省電力マネージャー部１１ｂに通知するための処理が実行されるようにアプリケーションが作りこまれている。図４Ａに示す流れにおいては、少なくともメイン実行部１１ａが受信可能となるまでの間においては、サブＣＰＵ１５がネットワークからの通信パケットの受信処理を行っている。このため、メイン実行部１１ａが処理する通信パケットを受信した場合には、その通信パケットが適切にＳＲＡＭ１４に格納される。したがって、メイン実行部１１ａは、通信可能になるまでに送信された通信パケットをＳＲＡＭ１４から受け取ることができるので、処理を迅速にすることができる。
【００５６】
また、例えば、メインＣＰＵ１１の電力供給が再開されて、メイン実行部１１ａにより、ＴＣＰサーバーを形成するためのアプリケーションの起動が開始されると、図４Ｂに示すように、まず、リクエストを受け付けるためのソケットを作成するＳｏｃｋｅｔ関数が実行される（ステップＳ５１）。次いで、ソケットにサーバーのアドレス情報（ＩＰアドレス及びポート番号）を設定するｂｉｎｄ関数が実行される（ステップＳ５２）。次いで、接続要求を待ち受けるためのｌｉｓｔｅｎ関数が実行され（ステップＳ５３）、接続待ちリクエストを取り出して接続を確立するａｃｃｅｐｔ関数が実行され（ステップＳ５４）、データを受信するｒｅｃｖ関数が実行される（ステップＳ５４）。この流れにおいて、ｌｉｓｔｅｎ関数の実行が終了すると、メイン実行部１１ａにより構成されるＴＣＰサーバーは、通信パケットを受信可能になる。そこで、本実施形態では、ネットワークアプリケーションのｌｉｓｔｅｎ関数の実行完了後に、受信可能であることを省電力マネージャー部１１ｂに通知するための処理が実行されるようにアプリケーションが作りこまれている。図４Ｂに示す流れにおいては、少なくともメイン実行部１１ａが受信可能となるまでの間においては、サブＣＰＵ１５がネットワークからの通信パケットの受信処理を行っている。このため、メイン実行部１１ａが処理する通信パケットを受信した場合には、その通信パケットが適切にＳＲＡＭ１４に格納される。したがって、メイン実行部１１ａは、通信可能になるまでに送信された通信パケットをＳＲＡＭ１４から受け取ることができるので、処理を迅速にすることができる。
【００５７】
以上、本発明を実施形態に基づいて説明したが、本発明は上述した実施の形態に限られず、他の様々な態様に適用可能である。
【００５８】
例えば、上記実施形態においては、通信パケットの通信処理をサブＣＰＵ１５側からメインＣＰＵ１１側に移行した後においても、サブＣＰＵ１５への電力供給を継続していたが、本発明はこれに限られず、通信パケットの通信処理をメインＣＰＵ１１に移行した後において、サブＣＰＵ１５への電力供給を停止するようにしてもよい。このようにすると、より電力消費を低減することができる。
【００５９】
また、上記実施形態では、通信装置の一例として、プリンターを例に挙げて説明したが、通信装置はこれに限られず、例えば、スキャナー、ＰＣ等であってもよく、要は、メイン処理部と、サブ処理部とを有する通信装置であればよい。
【符号の説明】
【００６０】
１  プリンター、１０  コントローラー部、１１  メインＣＰＵ、１１ａ  メイン実行部、１１ｂ  省電力マネージャー部、１１ｃ  ネットワークドライバー部、１１ｄ  プリント制御部、１２  ＤＲＡＭ、１３  ＲＯＭ、１４  ＳＲＡＭ、１５  サブＣＰＵ、１５ａ  サブ実行部、１５ｂ  電力制御部、１５ｃ  ネットワークドライバー部、１６  通信処理部、１７  通信インターフェース、１８  バス、２０  プリント機能部、２１  電力供給部。
【図１】
2011235504.tif 000003
【図２】
2011235504.tif 000004
【図３】
2011235504.tif 000005
【図４】
2011235504.tif 000006