(57)【要約】      （修正有）【課題】省電力モードへの移行にかかる時間を短くする。【解決手段】第１アプリ手段を有する第１制御装置と、第１アプリ手段と同じ機能を有する第２アプリ手段と、通信ネットワークを介した通信処理を行う通信処理部と、を有する第２制御装置と、第１制御装置及び第２制御装置が利用できる共有記憶部と、を備えるネットワーク通信装置であって、第１制御装置が動作状態にある第１モードのとき、第１アプリ手段は、共有記憶部を利用して所定の処理を実行し、通信処理部は、第１アプリ手段からの指示に従って通信を行い、第１制御装置が、第１モードから第１モードよりも消費電力が少ない第２モードへ移行すると、第１アプリ手段が処理の実行を停止するとともに、第２アプリ手段が、共有記憶部に記憶されている第１アプリ手段に係るデータに基づいて処理を行い、通信処理部は第２アプリ手段の指示に従って通信を行う。【選択図】図２
2012175174.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーション手段を有する第１制御装置と、
前記第１アプリケーション手段と同じ機能を有する第２アプリケーション手段と、通信ネットワークを介した通信処理を行う通信処理部と、を有する第２制御装置と、
前記第１制御装置及び前記第２制御装置が利用できる共有記憶部と、を備えるネットワーク通信装置であって、
前記第１制御装置が動作状態にある第１モードのとき、
前記第１アプリケーション手段は、前記共有記憶部を利用して所定の処理を実行し、
前記通信処理部は、前記第１アプリケーション手段からの指示に従って通信を行い、
前記第１制御装置が、前記第１モードから前記第１モードよりも消費電力が少ない第２モードへ移行すると、
前記第１アプリケーション手段が処理の実行を停止するとともに、前記第２アプリケーション手段が、前記共有記憶部に記憶されている前記第１アプリケーション手段に係るデータに基づいて処理を行い、
前記通信処理部は第２アプリケーション手段の指示に従って通信を行う
ことを特徴とするネットワーク通信装置。
【請求項２】
前記通信処理部はソケットを有し、
前記第１制御装置は、
前記第１アプリケーション手段が送信するデータを前記ソケットに伝え、前記ソケットが受信したデータを前記第１アプリケーション手段に伝えるソケットラッパーをさらに備える
ことを特徴とする請求項１に記載のネットワーク通信装置。
【請求項３】
前記第２制御装置は、前記第２モードから前記第１モードに移行するか否かを判定する判定手段をさらに備え、
前記判定手段は、前記第２モードのとき、前記通信処理部が受信したデータが前記第２アプリケーション手段で処理可能か否かを判定し、前記第２アプリケーション手段で処理可能と判定した場合は、前記第２モードを継続したまま前記第２アプリケーション手段に前記受信データの応答を実行させ、前記第２アプリケーション手段で処理が不可能と判断した場合は、前記第１制御装置を前記第２モードから前記第１モードに移行させ、前記第１アプリケーション手段に前記受信データの応答を実行させる
ことを特徴とする請求項１乃至２のいずれかに記載のネットワーク通信装置。
【請求項４】
前記判定手段は、前記受信データの通信プロトコルに基づき、前記第２アプリケーション手段が応答可能か否かを判定する
ことを特徴とする請求項３記載のネットワーク通信装置。
【請求項５】
前記通信ネットワークはイーサネット規格である
ことを特徴とする請求項１乃至４のいずれかに記載のネットワーク通信装置。
【請求項６】
請求項１乃至５のいずれかに記載のネットワーク通信装置を備えることを特徴とする周辺装置。
【請求項７】
第１アプリケーション手段を有する第１制御装置と、
前記第１アプリケーション手段と同じ機能を有する第２アプリケーション手段と、通信ネットワークを介した通信処理を行う通信処理部と、を有する第２制御装置と、
前記第１制御装置及び前記第２制御装置が利用できる共有記憶部と、を備えるネットワーク通信方法であって、
前記第１制御装置が動作状態にある第１モードのとき、
前記第１アプリケーション手段が前記共有記憶部を利用して所定の処理を実行するステップと、
前記通信処理部が前記第１アプリケーション手段からの指示に従って通信を行うステップと、を有し、
前記第１制御装置が、前記第１モードから前記第１モードよりも消費電力が少ない第２モードへ移行すると、
前記第１アプリケーション手段が処理の実行を停止するとともに、前記第２アプリケーション手段が前記共有記憶部に記憶されている前記第１アプリケーション手段に係るデータに基づいて処理を行うステップと、
前記通信処理部が第２アプリケーションの指示に従って通信を行うステップと
を有することを特徴とするネットワーク通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信装置の技術に関し、特にネットワーク通信装置、及びネットワーク通信装置を備える周辺装置を省電力で動作させるときの技術に関する。
【背景技術】
【０００２】
近年、プリンタ、スキャナ又はその複合機など（以後「周辺装置」）は、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又は無線ＬＡＮなどの通信ネットワーク（以後「ネットワーク」）を介して、ＰＣなどから印刷データを受信して印刷を実行したり、スキャナでスキャンした画像データをＰＣなどに送信したりすることができる。このような使用環境では、周辺装置は常に通電されていることが多いため、近年の周辺装置には不使用時の消費電力を低減する省電力モードが搭載されている。
【０００３】
例えば、特許文献１には、画像情報の処理や記憶が可能なコントローラ部と、ネットワークに対して情報の入出力を行う入出力部とを設け、画像処理装置が通常稼働モードのときは、コントローラ部が入出力部を制御することによってデータの送受信を行い、コントローラ部が低消費電力モードに移行した際には、入出力部がデータの送受信を制御する発明が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８９２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、通常稼働モードから低消費電力モードへ移行する際、コントローラ部から入出力部に処理を引き継がせる。このとき、コントローラ部のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に記憶されているデータは、入出力部のＲＡＭにコピーされる必要がある。また、通信インターフェースが初期化される必要がある。しかし、このデータのコピーおよび通信インターフェースの初期化には時間がかかるため、通常稼働モードから低消費電力モードへの移行処理に時間がかかってしまう。なお、低消費電力モードから通常稼働モードへ移行する際も、同様の問題が発生する。また、移行処理中はネットワークから受信したデータを処理できないため、この移行処理に時間がかかると、受信したデータの取りこぼしが発生してしまう恐れがある。
【０００６】
そこで、本発明の目的は、他のモードから省電力モード、又は省電力モードから他のモードへの移行処理にかかる時間を短くすることである。
【０００７】
また、本発明の別の目的は、他のモードから省電力モード、又は省電力モードから他のモードへの移行処理中に受信したデータを取りこぼさないようにすることである。
【課題を解決するための手段】
【０００８】
本発明の一実施態様に従うネットワーク通信装置は、第１アプリケーション手段を有する第１制御装置と、前記第１アプリケーション手段と同じ機能を有する第２アプリケーション手段と、通信ネットワークを介した通信処理を行う通信処理部と、を有する第２制御装置と、前記第１制御装置及び前記第２制御装置が利用できる共有記憶部と、を備えるネットワーク通信装置であって、前記第１制御装置が動作状態にある第１モードのとき、前記第１アプリケーション手段は、前記共有記憶部を利用して所定の処理を実行し、前記通信処理部は、前記第１アプリケーション手段からの指示に従って通信を行い、前記第１制御装置が、前記第１モードから前記第１モードよりも消費電力が少ない第２モードへ移行すると、前記第１アプリケーション手段が処理の実行を停止するとともに、前記第２アプリケーション手段が、前記共有記憶部に記憶されている前記第１アプリケーション手段に係るデータに基づいて処理を行い、前記通信処理部は第２アプリケーション手段の指示に従って通信を行う。
【０００９】
これにより、第１モードから第２モード、又は第２モードから第１モードへの移行処理にかかる時間を短くすることができる。
【００１０】
好適な実施形態では、前記通信処理部はソケットを有し、前記第１制御装置は、前記第１アプリケーション手段が送信するデータを前記ソケットに伝え、前記ソケットが受信したデータを前記第１アプリケーション手段に伝えるソケットラッパーをさらに備える。
【００１１】
これにより、第１制御装置に通信インターフェースを備えることなく、第１アプリケーション手段が通信を行うことができる。
【００１２】
好適な実施形態では、前記第２制御装置は、前記第２モードから前記第１モードに移行するか否かを判定する判定手段をさらに備え、前記判定手段は、前記第２モードのとき、前記通信処理部が受信したデータが前記第２アプリケーション手段で処理可能か否かを判定し、前記第２アプリケーション手段で処理可能と判定した場合は、前記第２モードを継続したまま前記第２アプリケーション手段に前記受信データの応答を実行させ、前記第２アプリケーション手段で処理が不可能と判断した場合は、前記第１制御装置を前記第２モードから前記第１モードに移行させ、前記第１アプリケーション手段に前記受信データの応答を実行させる。
【００１３】
これにより、所定の問い合わせに対して、第１モードに移行することなく、第２モードのままで応答することができる。
【発明の効果】
【００１４】
本発明によれば、他のモードから省電力モード、又は省電力モードから他のモードへの移行にかかる時間を短くすることができる。
【００１５】
また、他のモードから省電力モード、又は省電力モードから他のモードへの移行処理中に受信したデータを、取りこぼさないようにすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るネットワーク通信装置を備えるプリンタのブロック構成を示す図である。
【図２】第１制御装置１０、第２制御装置２０、及び通信Ｉ／Ｆ３０のブロック構成を示す図である。
【図３】第１アプリ５１がデータ２１０を送信する際の制御コマンド及び送信データのフローを示す図である。
【図４】第１アプリ５１がデータ２１０を送信する際の処理フローを示す図である。
【図５】第１アプリ５１がデータ２１１を受信する際の制御コマンド及びデータのフローを示す図である。
【図６】第１アプリ５１がデータ２１１を受信する際の処理フローを示す図である。
【図７】第１制御装置１０が通常モードから省電力モードに移行する際の制御コマンド及びデータのフローを示す図である。
【図８】第１制御装置１０が通常モードから省電力モードに移行する際の処理フローを示す図である。
【図９】第１制御装置１０が省電力モードから通常モードに移行する際の制御コマンド及びデータのフローを示す図である。
【図１０】第１制御装置１０が省電力モードから通常モードに移行する際の処理フローを示す図である。
【図１１】処理先判定部３０１において、受信データが第２アプリ６１で応答可能か否かを判定する処理フローを示す図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の一実施形態に係るネットワーク通信装置を備えるプリンタのブロック構成を示す図である。なお、本実施形態では周辺装置の一例としてプリンタを用いて説明しているが、本発明はこれに限られず、例えば、スキャナ、複合機などの様々な周辺装置に適用可能である。
【００１８】
プリンタ１は、例えば、有線ＬＡＮ又は無線ＬＡＮなどのネットワーク８を介してＰＣ７と接続されており、ＰＣ７から送信された画像データを紙などの印刷媒体に印刷することができる。また、プリンタ１は、ネットワーク８を介して、ＰＣ７にプリンタ１のインク残量又は印刷状況などの各種情報を送信することができる。プリンタ１は、印刷エンジン２、紙送り装置３、入力装置４、表示装置５、記憶装置６、第１制御装置１０、第２制御装置２０、及び通信インターフェース（以後「通信Ｉ／Ｆ」）３０を備える。
【００１９】
印刷エンジン２は、第１制御装置１０に制御されて、画像データを基に紙などの印刷媒体に文字又は画像などを印刷する。
【００２０】
紙送り装置３は、第１制御装置１０に制御されて、印刷実行時に印刷される紙などの印刷媒体を配送する。
【００２１】
入力装置４は、例えば、インク残量の確認要求、又は印刷品質の設定要求など、ユーザからの入力を受け付け、それを第１制御装置１０に伝える。入力装置４は、例えば、ボタン、スイッチ、タッチパネル液晶、又はそれらの組み合わせなどで構成される。
【００２２】
表示装置５は、第１制御装置１０に制御されて、例えば、インク残量、又は印刷状況など、プリンタ１の各種情報を表示する。表示装置５は、例えば、液晶ディスプレイ、発光ダイオード、又はそれらの組み合わせなどで構成される。
【００２３】
記憶装置６には、プリンタ１の設定情報などが記憶される。記憶装置６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、又はフラッシュメモリなどの不揮発性記憶媒体で構成され、プリンタ１の電源が切断されても記憶したデータを保持することができる。
【００２４】
第１制御装置１０は、印刷エンジン２、紙送り装置３、入力装置４、及び表示装置５を制御し、プリンタ１が有する各種機能（例えば、印刷機能、インク残量管理機能、印刷品質設定機能、印刷状況表示機能など）を実現する。第１制御装置１０は、例えば、所定の時間、ＰＣ７からの印刷要求又は入力装置４からの入力がなかったときなど、所定の条件を満たしたとき、自らの処理の一部又は全部を停止し、省電力モードに移行する。これにより、プリンタ１の不使用時の消費電力を低減することができる。第１制御装置１０の詳細については後述する。
【００２５】
第２制御装置２０は、通信Ｉ／Ｆ３０を制御して、第１制御装置１０及び第２制御装置２０が送受信するデータを処理する。また、省電力モード中は、第１制御装置１０の処理の一部又は全部を代行する。第２制御装置２０の詳細については後述する。
【００２６】
通信Ｉ／Ｆ３０は、ネットワーク８を介して、他の装置にデータを送信したり、他の装置からのデータを受信したりする。通信Ｉ／Ｆ３０の詳細については後述する。
【００２７】
図２は、第１制御装置１０、第２制御装置２０、及び通信Ｉ／Ｆ３０のブロック構成を示す図である。
【００２８】
第１制御装置１０は、第１ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１、第１ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、及び第１ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３を備える。
【００２９】
第１ＣＰＵ１３は、第１ＲＯＭ１１に記憶されているコンピュータプログラム（以後「プログラム」）を読み出して実行する。第１ＣＰＵ１３は、プログラムの実行に必要なデータを第１ＲＡＭに書き込んだり、第１ＲＡＭから読み出したりする。また、第１ＣＰＵ１３は、第２制御装置２０の第２ＲＡＭ２２にもデータを書き込んだり、読み出したりすることができる。第１ＣＰＵ１３には、第１ＲＯＭ１１から読み出したプログラムが実行されることにより、例えば、第１アプリケーション（以後「第１アプリ」）５１、モード移行処理部Ａ５２、第１通信処理部５３、及びＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）５４などが実現される。
【００３０】
第１アプリ５１は、プリンタ１が有する様々な機能を実現するための処理を行う処理手段である。第１アプリ５１には、例えば、印刷エンジン２及び紙送り装置３を制御して印刷を実行する印刷制御アプリ、インク又はトナーなどの残量を管理するインク残量管理アプリ、プリンタが正常に稼働しているか否かを管理する状態管理アプリなどがある。なお、複数の第１アプリ５１が同時に（並列に）実行されてもよい。また、省電力モードのとき、第２アプリケーション（以後「第２アプリ」）６１に代行応答させる第１アプリ５１は、データの一部又は全部を共有記憶装置である第２ＲＡＭ２２の所定の記憶領域に記憶する。代行応答については後述する。
【００３１】
モード移行処理部Ａ５２は、第１制御装置１０を、第１制御装置１０が動作状態にある第１のモード（以後「通常モード」）から第１制御装置１０が停止状態にある第２のモード（以後「省電力モード」）に移行する処理、及び省電力モードから通常モードに移行する処理を行う。ここで、第２のモードは、第１のモードよりも消費電力が少ない。例えば、第１制御装置１０を通常モードから省電力モードに移行する際、モード移行処理部Ａ５２は、第１アプリ５１を停止させる。そして、省電力モードへの移行完了後に、モード移行処理部Ａ５２は、モード移行処理部Ｂ６２に対して第２アプリ６１を起動するよう指示する。そして、モード移行処理部Ａ５２は、第１制御装置１０を停止状態にする。また、省電力モードから通常モードに移行する際、モード移行処理部Ａ５２は、モード移行処理部Ｂ６１からの指示を受け、第１アプリ５１を起動する。
【００３２】
第１通信処理部５３は、第１アプリ５１のデータの送受信を処理する。例えば、第１通信処理部５３は、第１アプリ５１があたかも通常のソケットと同じように利用可能なソケットラッパー（いわゆるダミーのソケット）１０２を備える。ここで、ソケットとは、ネットワーク８を介して、ＰＣ７などの他の装置とデータの送受信を行うためのものである。例えば、第２通信処理部５３のソケット２０２とＰＣ７のソケットをネットワーク的に（論理的に）接続すると、第２通信処理部５３のソケット２０２に書き込んだデータをＰＣ７のソケットから読み出すことができるし、その逆も可能である。なお、ソケットラッパー１０２は、それ自身が他の装置に対してソケットとして動作するわけではなく、同じ装置内のソケット（この場合、プリンタ１内のソケット２０２）に対するインターフェースとなり、第１アプリ５１が他の装置とデータの送受信をできるようにする。
【００３３】
ＯＳ５４は、第１制御装置１０で実行されるプログラム全体のスケジューリングやメモリ管理等を行う。
【００３４】
第２制御装置２０は、第２ＲＯＭ２１、及び第２ＲＡＭ２２、及び第２ＣＰＵ２３を備える。
【００３５】
第２ＣＰＵ２３は、第２ＲＯＭ２１に記憶されているプログラムを読み出して実行する。第２ＣＰＵ２３は、プログラムの実行に必要なデータを第２ＲＡＭ２２に書き込んだり、第２ＲＡＭ２２から読み込んだりする。さらに、第２ＲＡＭ２２は第１ＣＰＵ１３からもアクセス可能である。すなわち、第２ＲＡＭ２２は、第１ＣＰＵ１３と第２ＣＰＵ２３とが共有で利用することができる共有記憶装置である。したがって、第２ＲＡＭ２２には、第１アプリ５１及び第２アプリ６１の両方が利用する送受信データ及びアプリケーションデータなどが記憶される。
【００３６】
第２ＣＰＵ２３には、第２ＲＯＭ２１から読み出したプログラムが実行されることにより、例えば、第２アプリ６１、モード移行処理部Ｂ６２、第２通信処理部６３、ＯＳ６４、及び通信ドライバ６５などが実現される。
【００３７】
第２アプリ６１は、主にネットワークに関する処理を行う処理手段である。第２アプリ６１には、例えば、プリンタ１に割り当てられたＩＰアドレスの管理などを行うネットワーク情報管理アプリ、省電力モード中に第１アプリ５１の一つである応答アプリの代わりに応答する代行応答アプリなどがある。ここで、応答アプリは、第１アプリ５１の一つであり、他の装置からの問い合わせに応答するアプリである。代行応答アプリは、第２アプリ６１の一つであり、他の装置からの問い合わせに応答するアプリである。そして、通常モードのときに応答アプリが行っていた応答処理を、省電力モードのときに代行応答アプリが応答アプリに代わりに応答処理する。すなわち、第２アプリ６１は、第１アプリ５１と一部又は全部の同じ機能を有する。なお、複数の第２アプリ６１が同時に（並列に）実行されてもよい。
【００３８】
ここで、代行応答アプリについて説明する。代行応答アプリとは、他の装置からの問い合わせに対して、通常モードにおいては、第１アプリ５１が応答しているものを、省電力モード中において第１アプリ５１の代わりに応答するアプリのことである。例えば、インクの残量は第１アプリ５１であるインク残量管理アプリしか確認できないとする。このとき、従来であれば省電力モード中、インク残量管理アプリは動作していないので、外部からの問い合わせに対してインク残量を応答できない。そのため、省電力モードから通常モードに移行してインク残量管理アプリを起動した後、インク残量を応答する必要があった。しかし、本発明をインク残量管理アプリに適用すると、インク残量のデータは第２ＲＡＭ２２に記憶される。ここで、省電力モード中は印刷が実行されないので、インクの残量は変化しない。したがって、省電力モード中に外部からインク残量の問い合わせを受けたとき、代行応答アプリが第２ＲＡＭ２２に記憶されているインク残量の情報を読み出して、応答を返すことができる。これにより、省電力モードから通常モードへ移行することなく、応答を返すことができる。したがって、省電力モードから通常モードへの移行処理というオーバーヘッドの発生を減らすことができる。
【００３９】
ここで、応答アプリと代行応答アプリは、いずれかが常に動作して、二つ合わせて常駐アプリとして動作する。つまり、応答アプリ以外の常駐アプリにも適用できる。例えば、所定の周期でデータを送信する常駐アプリが、通常モードから省電力モードに移行するとしたとき、通常モード時の常駐アプリの周期カウンタの値を、省電力モードに移行時、常駐アプリに引き継がせることができる。すなわち、通常モードから省電力モードに移行する際、周期を乱すことなく、同じ周期でデータを送信することができる。
【００４０】
第１制御装置１０を通常モードから省電力モードへ移行する際、モード移行処理部Ｂ６２は、第１アプリ５１の代行応答を行う第２アプリ６１を起動する。また、第１制御装置１０を省電力モードから通常モードに移行する際、モード移行処理部Ｂ６２は、代行応答を行っていた第２アプリ６１を停止し、モード移行処理部Ａ５２に省電力モードから通常モードへ移行するように指示する。
【００４１】
ここで、第１アプリ５１が第２ＲＡＭ２２に記憶したデータの記憶領域を第２アプリ６１に伝えるときは、第１アプリ５１と第２アプリ６１が共同で使用する第２ＲＡＭ２２の記憶領域を予め決めておいてもよい。もしくは、モード移行処理部Ａ５２がモード移行処理部Ｂ６２に、第１アプリ５１が第２ＲＡＭ２２に記憶したデータの記憶領域を伝え、モード移行処理部Ｂ６２はそれを第２アプリ６１に伝えるようにしてもよい。
【００４２】
また、どの第２アプリ６１がどの第１アプリ５１の代行応答を行うかについての対応関係は、予め定義されているとする。対応関係の定義方法は、例えば、第１アプリ５１と第２アプリ６１を一対一で対応づけてもよいし、受信データのプロトコルに第１アプリ５１と第２アプリ６１を対応づけてもよい。例えば、受信データのプロトコルがＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）であれば、ＨＴＴＰの処理に対応付けられている第１アプリ５１と第２アプリ６１が処理し、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）であれば、ＳＮＭＰに対応付けられている第１アプリ５１と第２アプリ６１が処理する。この場合、例えば、通常モード中にＳＮＭＰを受信したときは、ＳＮＭＰに対応付けられている第１アプリ５１が応答を返し、省電力モード中にＳＮＭＰを受信したときは、ＳＮＭＰに対応付けられている第２アプリ６１が応答を返す。
【００４３】
処理先判定部３０１は、受信データ２１３が第２アプリ６１で代行応答可能か否かを判定する。例えば、ＳＮＭＰの「ＧＥＴ  ＲＥＱＵＥＳＴ」を受信したとき、その要求が、第１アプリ５１が第２ＲＡＭ２２に記憶したデータを読み出してそのまま応答可能なものであれば代行応答可能と判定し、そうでないものであれば代行応答不可と判定する。したがって、処理先判定部３０１は、「プロトコル」だけで第２アプリ６１が代行応答可能か否かを判定できないときは、さらに受信したプロトコルに記載されているデータの内容（以後「プロトコルデータ」）まで確認して代行応答可能か否かを判定する。ここで、どの「プロトコル」及び「プロトコルデータ」が代行応答可能であるかの判断は予め定義されているものとする。
【００４４】
第２通信処理部６３は、第２アプリ６１のデータの送受信を処理する。例えば、第２通信処理部６３は、第２アプリ６１が通信を行うためのソケット２０２を生成する。さらに、第２通信処理部６３は、第１アプリ５１がソケットラッパー１０２を介してデータの送受信を行うためのソケット２０２を生成する。なお、ソケット２０２は複数生成されてもよい。
【００４５】
ソケット２０２は、ソケットラッパー１０２又は第２アプリ６１からの指示に従い、第２ＲＡＭ２２からデータを読み出して、通信Ｉ／Ｆ３０を介して接続先のソケットにデータを送信したり、通信Ｉ／Ｆ３０を介して接続先のソケットからデータを受信して、第２ＲＡＭ２２にデータを書き込んだりする。
【００４６】
ＯＳ６４は、第２制御装置２０で実行されるプログラム全体のスケジューリングやメモリ管理等を行う。また、ＯＳ６４は通信Ｉ／Ｆ３０を制御するための通信ドライバ６５を備えており、第２通信処理部６３は、この通信ドライバ６５を介して通信Ｉ／Ｆ３０を制御し、データを送受信する。
【００４７】
通信Ｉ／Ｆ３０は、プリンタ１がネットワーク８にデータを送信したり、ネットワーク８からデータを受信したりするためのインターフェースである。例えば、通信Ｉ／Ｆ３０は、送信データをＩＰパケットに分割してイーサネット（登録商標）又は無線ＬＡＮなどに送信したり、イーサネット又は無線ＬＡＮなどから受信したＩＰパケットを結合したりする。
【００４８】
図３は、第１アプリ５１がデータ２１０を送信する際の制御コマンド及び送信データのフローを示す図である。同図において、実線の矢印は制御コマンドのフローを表し、点線の矢印はデータのフローを表している。
【００４９】
図４は、第１アプリ５１がデータ２１０を送信する際の処理フローを示す図である。
【００５０】
以下、図３及び図４を用いて、第１アプリ５１がデータ２１０を送信する際の処理について説明する。
【００５１】
第１アプリ５１は、第１通信処理部５３のソケットラッパー１０２にオープン処理を要求する（Ｓ１１）。このとき、第１アプリ５１は、ソケットラッパー１０２にデータの送信先のＩＰアドレスを伝える。
【００５２】
ソケットラッパー１０２は、この要求を受けて、オープン処理を実行する（Ｓ１２）。例えば、ソケットラッパー１０２は、第２通信処理部６３のソケット２０２にオープン処理を要求すると共に、ソケット２０２に第１アプリ５１から伝えられた送信先のＩＰアドレスを伝える。
【００５３】
ソケット２０２は、この要求を受けて、オープン処理を行う（Ｓ１３）。例えば、ソケット２０２は、第１通信処理部５３から伝えられたＩＰアドレスを接続先として接続を試みる。このソケット接続が成功すると、以後、このソケット２０２を介して接続先のソケットとデータの送受信ができるようになる。
【００５４】
ソケット接続が成功すると、ソケット２０２は、ソケットラッパー１０２にオープン処理が完了した旨の応答を返す（Ｓ１４）。
【００５５】
ソケットラッパー１０２は、この応答を受けて、第１アプリ５１にオープン処理が完了した旨の応答を返す（Ｓ１５）。
【００５６】
第１アプリ５１は、この応答を受けて、第２ＲＡＭ２２の所定の記憶領域（例えば、所定のメモリアドレスの領域）にデータ２１０を書き込む（Ｄ１１、Ｓ１６）。
【００５７】
そして、第１アプリ５１は、ソケットラッパー１０２に先ほど第２ＲＡＭ２２に書き込んだデータ２１０の送信を要求する（Ｓ１７）。例えば、第１アプリ５１は、ソケットラッパー１０２にデータ２１０の送信を要求する旨の制御コマンドと、第２ＲＡＭ２２のデータ２１０が記憶されている記憶領域を伝える（Ｃ１１）。
【００５８】
ソケットラッパー１０２は、その要求を受けて、データ２１０の送信処理を実行する（Ｓ１８）。例えば、ソケットラッパー１０２は、ソケット２０２にデータ２１０の送信を要求する旨の制御コマンドと、第２ＲＡＭ２２のデータ２１０が記憶されている記憶領域を伝える（Ｃ１２）。
【００５９】
ソケット２０２は、その要求を受けて、データ２１０の送信処理を実行する（Ｃ１３、Ｓ１９）。例えば、ソケット２０２は、ソケットラッパー１０２から伝えられた第２ＲＡＭ２２の記憶領域からデータ２１０を読み出し（Ｄ１２）、通信Ｉ／Ｆ３０を介して接続先のソケットにデータ２１０を送信する（Ｄ１３）。
【００６０】
そして、ソケット２０２は、データ２１０の送信に成功すると、ソケットラッパー１０２に送信が完了した旨の応答を返す（Ｓ２０）。
【００６１】
ソケットラッパー１０２は、その応答を受けて、第１アプリ５１に送信が完了した旨の応答を返す（Ｓ２１）。
【００６２】
第１アプリ５１は、その応答を受けて、データ２１０の送信処理を完了する（Ｓ２２）。
【００６３】
なお、図４のステップＳ１３において、初回のソケット２０２のオープン処理が失敗したとき（ソケットの接続先から応答がなかった場合など）は、所定の回数、再接続を試みるようにしてもよい。
【００６４】
また、図４の処理フローでは、第１アプリ５１が直接第２ＲＡＭ２２にデータ２１０を書き込んでいるが、ソケットラッパー１０２が第１アプリ５１の代わりに第２ＲＡＭ２２にデータ２１０を書き込むようにしてもよい。
【００６５】
以上の処理により、第１制御装置１０に通信Ｉ／Ｆを備えなくても、第１制御装置１０で実行される第１アプリ５１は、ソケットラッパー１０２を介して、通常のソケット通信と同じようにデータを送信することができる。
【００６６】
なお、共有メモリである第２ＲＡＭ２２に書き込まれるのは送信データに限定されない。例えば、省電力モード中に第２アプリ６１に代行応答させる第１アプリ５１は、代行応答に必要なデータを、随時第２ＲＡＭ２２の所定の記憶領域に書き込む。これにより、後述の通り、省電力モード中の第２アプリ６１は、第２ＲＡＭ２２の所定の記憶領域から第１アプリ５１が記憶したデータを読み出して、代行応答を行うことができる。
【００６７】
図５は、第１アプリ５１がデータ２１１を受信する際の制御コマンド及びデータのフローを示す図である。同図において、実線の矢印は制御コマンドのフローを表し、点線の矢印はデータのフローを表している。
【００６８】
図６は、第１アプリ５１がデータ２１１を受信する際の処理フローを示す図である。
【００６９】
以下、図５及び図６を用いて第１アプリ５１がデータ２１１を受信する際の処理について説明する。
【００７０】
第２通信処理部６３のソケット２０２は、通信Ｉ／Ｆ３０を介してデータ２１１を受信すると（Ｄ２１、Ｃ２１、Ｓ３１）、そのデータ２１１を第２ＲＡＭ２２の所定の記憶領域に書き込む（Ｄ２２、Ｓ３２）。そして、ソケット２０２は、ソケットラッパー１０２にデータ２１１を受信した旨の割込通知を行うと共に、先ほど第２ＲＡＭ２２に書き込んだデータ２１１の記憶領域を伝える（Ｃ２２、Ｓ３３）。
【００７１】
ソケットラッパー１０２は、その割込通知を受けて、第１アプリ５１にデータ２１１を受信した旨の割込通知を行うと共に、先ほどソケット２０２から伝えられたデータ２１１の記憶位置を伝える（Ｃ２３、Ｓ３４）。
【００７２】
第１アプリ５１は、その割込通知を受けて、先ほどソケットラッパー１０２から伝えられた第２ＲＡＭ２２の記憶領域からデータ２１１を読み出す（Ｄ２３、Ｓ３５）。
【００７３】
以上の処理により、第１制御装置１０に通信Ｉ／Ｆを備えなくても、第１制御装置１０で実行される第１アプリ５１が、ソケットラッパー１０２を介して第２制御装置２０のソケット２０２を利用し、データ２１１を受信できる。
【００７４】
なお、当該フローでは、第１アプリ５１が直接第２ＲＡＭ２２からデータ２１１を読み出しているが、ソケットラッパー１０２が第１アプリ５１の代わりに第２ＲＡＭ２２からデータ２１１を読み出すようにしてもよい。
【００７５】
図７は、第１制御装置１０が通常モードから省電力モードに移行する際の制御コマンド及びデータのフローを示す図である。同図において、実線の矢印は制御コマンドのフローを表し、点線の矢印はデータのフローを表している。
【００７６】
図８は、第１制御装置１０が通常モードから省電力モードに移行する際の処理フローを示す図である。
【００７７】
以下、図７及び図８を用いて第１制御装置１０が通常モードから省電力モードに移行する際の処理について説明する。なお、ここでは、第２アプリ６１が第１アプリ５１の応答代理アプリとする。
【００７８】
通常モードから省電力モードへの移行が開始されると、モード移行処理部Ａ５２は、第１アプリ５１の実行を停止させる（Ｃ３１、Ｓ４１）。第１アプリ５１は、その要求を受けて、実行を停止する（Ｓ４２）。なお、第１アプリ５１は、代行応答に必要なデータであってまだ第２ＲＡＭ２２に書き込んでいないデータがある場合は、そのデータを実行停止前に第２ＲＡＭ２２に書き込む。（Ｄ３１）。
【００７９】
そして、第１アプリ５１はモード移行処理部Ａ５２に、実行停止が完了した旨の応答を返す（Ｓ４３）。
【００８０】
モード移行処理部Ａ５２は、全ての第１アプリ５１が実行停止したことを確認し、モード移行処理部Ｂ６２に第２アプリを起動するよう要求する（Ｃ３２、Ｓ４４）。
【００８１】
モード移行処理部Ｂ６２は、その要求を受けて、第１アプリ５１の代行応答を行う第２アプリ６１を起動する（Ｃ３３、Ｓ４５）。なお、第１アプリ５１と、その代行応答が可能な第２アプリ６１との対応関係は、前述に記載の通りである。
【００８２】
第２アプリ６１は起動されると（Ｓ４６）、第２ＲＡＭ２２の所定の記憶領域から第１アプリ５１のデータ２１２を読み出す（Ｄ３２、Ｓ４７）。
【００８３】
そして、第２アプリ６１は、データ２１２を読み出して第１アプリ５１の代行応答の実行を開始する（Ｓ４８）。
【００８４】
もし、従来のように、第１アプリ５１が第１ＲＡＭ１２にデータ２１２を書き込んでいたとすると、通常モードから省電力モードに移行する際、第１ＲＡＭ１２から第２ＲＡＭ２２へのデータのコピーが発生してしまう。しかし、上記の本実施形態によれば、第１アプリ５１は通常モード時、代行応答に必要なデータを随時第２ＲＡＭ２２に書き込んでいるので、省電力モードに移行する際、第１ＲＡＭ１２から第２ＲＡＭ２２へのデータ２１２のコピーが発生しない。したがって、第１ＲＡＭ１２から第２ＲＡＭ２２へのデータ２１２のコピーが発生する場合と比較して、省電力モードへの移行にかかる時間を短縮することができる。
【００８５】
そして、省電力モードへの移行処理にかかる時間が短縮されることにより、移行処理の途中にデータを受信して取りこぼす可能性が低くなる。
【００８６】
図９は、第１制御装置１０が省電力モードから通常モードに移行する際の制御コマンド及びデータのフローを示す図である。同図において、実線の矢印は制御コマンドのフローを表し、点線の矢印はデータのフローを表している。
【００８７】
図１０は、第１制御装置１０が省電力モードから通常モードに移行する際の処理フローを示す図である。
【００８８】
図１１は、処理先判定部３０１において、受信データが第２アプリ６１で応答可能か否かを判定する処理フローを示す図である。
【００８９】
以下、図９、図１０及び図１１を用いて第１制御装置１０が省電力モードから通常モードに移行する際の処理について説明する。なお、ここでは、第２アプリ６１が第１アプリ５１の代行応答アプリとする。
【００９０】
ソケット２０２は、通信Ｉ／Ｆ３０を介してデータを受信すると（Ｄ４１、Ｃ４１）、第２ＲＡＭ２２の所定の記憶位置に受信データ２１３を書き込み（Ｄ４２）、第２モード移行処理部Ｂ６２が備える処理先判定部３０１に受信データ２１３を受信した旨を割込通知する（Ｃ４２、Ｓ６１）。
【００９１】
処理先判定部３０１は、その通知を受けて、受信データ２１３を解析し、第２アプリ６１で代行応答可能かを否かを判定する（Ｓ６２）。
【００９２】
ここで、図１１を用いて、判定方法について説明する。
【００９３】
処理先判定部３０１は、受信データ２１３が第２アプリ６１で応答可能な「プロトコル」であるか否かを判定する（Ｓ３０１）。ここで、応答可能な「プロトコル」であった場合（Ｓ３０１：ＹＥＳ）、処理先判定部３０１は、さらに、受信データ２１３が第２アプリ６１で処理が可能な「プロトコルデータ」であるか否かを判定する（Ｓ３０２）。そして、受信データ２１３が第２アプリ６１で代行応答可能な「プロトコルデータ」であった場合（Ｓ３０２：ＹＥＳ）、処理先判定部３０１は、受信データ２１３は第２アプリ６１で代行応答が可能であると判定する（Ｓ３０３）。
【００９４】
一方、受信データ２１３が、第２アプリ６１で代行応答が不可能な「プロトコル」（Ｓ３０１：ＮＯ）又は「プロトコルデータ」（Ｓ３０２：ＮＯ）であった場合、処理先判定部３０１は、受信データ２１３は第２アプリ６１で代行応答が不可能なので、第１アプリ５１に応答させるべきと判定する（Ｓ３０４）。
【００９５】
ここで、図１０に戻り、処理先判定部３０１が、第２アプリ６１で代行応答が可能と判定した場合（Ｓ６２：ＹＥＳ）について説明する。
【００９６】
モード移行処理部Ｂ６２は、第２アプリ６１に受信データ２１３を受信した旨の割込通知を行う（Ｃ４３、Ｓ６３）。第２アプリ６１は、その通知を受けて、第２ＲＡＭ２２から受信データ２１３を読み出す（Ｄ４３、Ｓ６４）。そして、第２アプリ６１は、受信データ２１３に記載の要求に対して第１アプリ５１のアプリデータ２１４を読み出して代行応答を行う（Ｄ４４、Ｓ６５）。以上で、第２アプリ６１の代行応答の処理を終了する。
【００９７】
次に、処理先判定部３０１が第２アプリ６１では代行応答が不可能と判定した場合（Ｓ６２：ＮＯ）について説明する。
【００９８】
モード移行処理部Ｂ６２は、代行応答アプリである第２アプリ６１の実行を停止させる（Ｃ４３、Ｓ６６）。
【００９９】
第２アプリ６１は、その要求を受けて、実行を停止する（Ｓ６７）。
【０１００】
第２アプリ６１は、実行停止を完了すると、モード移行処理部Ｂ６２に停止が完了した旨の応答を返す（Ｓ６８）。
【０１０１】
モード移行処理部Ｂ６２は、その応答を受けて、モード移行処理部Ａ５２に通常モードへの移行を要求する（Ｃ４４、Ｓ６９）。
【０１０２】
モード移行処理部Ａ５２は、その要求を受けて、第１アプリ５１の起動を開始し（Ｃ４５、Ｓ７０）、第１アプリ５１が起動される（Ｓ７１）。
【０１０３】
第１アプリ５１は、起動後、第２ＲＡＭ２２の所定の記憶領域から、受信データ２１３を読み出す（Ｄ４５、Ｓ７２）。そして、第１アプリ５１は、受信データ２１３に記載の要求に対して応答を行う（Ｓ７３）。
【０１０４】
以上の処理により、省電力モード中、第２アプリ６１が代行応答可能なデータを受信したときは、通常モードに移行することなく、応答を返すことができる。したがって、従来発生していた省電力モードから通常モードへの移行処理というオーバーヘッドの発生を低減することができる。また、省電力モードである時間を長くすることができるので、プリンタ１の消費電力を低減することができる。
【０１０５】
また、第１アプリ５１は、第２ＲＡＭ２２から受信データ２１３及びアプリデータ２１４を読み出すことができるので、第２ＲＡＭ２２から第１ＲＡＭ１２にデータをコピーする必要がない。また、通信インターフェースを初期化する必要がない。したがって、コピーおよび通信インターフェースの初期化が発生する場合と比較して、省電力モードから通常モードの移行にかかる時間を短縮することができる。よって、移行処理の途中にデータを重心して取りこぼす可能性が低くなる。
【０１０６】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【０１０７】
例えば、第１アプリ５１のデータを第２制御装置２０以外のＲＡＭに記憶するようにしてもよいし、第３の制御装置、又は外部記憶装置に記憶するようにしてもよい。
【符号の説明】
【０１０８】
１…プリンタ、１０…第１制御装置、１１…第１ＲＯＭ、１２…第１ＲＡＭ、１３…第１ＣＰＵ、２０…第２制御装置、２１…第２ＲＯＭ、２２…第２ＲＡＭ（共有）、２３…第２ＣＰＵ、３０…通信Ｉ／Ｆ、５１…第１アプリケーション、５２…モード移行処理部Ａ、５３…第１通信処理部、６１…第２アプリケーション、６２…モード移行処理部Ｂ、６３…第２通信処理部
【図１】
2012175174.tif 000003
【図２】
2012175174.tif 000004
【図３】
2012175174.tif 000005
【図４】
2012175174.tif 000006
【図５】
2012175174.tif 000007
【図６】
2012175174.tif 000008
【図７】
2012175174.tif 000009
【図８】
2012175174.tif 000010
【図９】
2012175174.tif 000011
【図１０】
2012175174.tif 000012
【図１１】
2012175174.tif 000013