(57)【要約】【課題】  印刷システムの機能を損なわず、かつ、省エネ化を可能にすること。【解決手段】  外部からの要求に応じてステータス応答を行うために必要な電力が供給された第１電力状態、及び、前記必要は電力が供給されない第２電力状態で動作する印刷装置と通信可能な情報処理装置は、印刷装置から送信されてくる、第１状態から第２状態への移行予告を取得する取得部と、取得部により取得した移行予告に基づき、印刷装置へのアクセスを早めるよう制御する制御部とを有する。【選択図】  図１０
2007301977.tif 000002
【特許請求の範囲】
【請求項１】
外部からの要求に応じてステータス応答を行うために必要な電力が供給された第１電力状態、及び、前記必要な電力が供給されない第２電力状態で動作する印刷装置と通信可能で、前記印刷装置に処理を行わせるために、予め設定されたタイミングに基づいて前記印刷装置にアクセスする情報処理装置であって、
前記印刷装置から送信されてくる、前記第１電力状態から前記第２電力状態への移行予告を取得する取得手段と、
前記取得手段により取得した移行予告に基づき、前記印刷装置へのアクセスタイミングを前記予め設定されたタイミングより早くしてアクセスする制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記取得手段により取得された前記第２電力状態への移行予告に基づき、前記印刷装置へアクセスするタイミングを制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記取得手段により取得された前記第２電力状態への移行予告に基づき、アクセスを開始するタイミングを、当該第２電力状態に前記印刷装置が移行する前に変更することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記取得手段により取得された前記第２電力状態への移行予告に基づき、アクセスを終了するタイミングを、当該第２電力状態に前記印刷装置が移行する前に変更することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
外部からの要求に応じてステータス応答を行うために必要な電力が供給された第１電力状態、及び、前記必要な電力が供給されない第２電力状態で動作する印刷装置と通信可能で、前記印刷装置に処理を行わせるために、予め設定されたタイミングに基づいて前記印刷装置にアクセスする情報処理装置における情報処理方法であって、
取得手段が、前記印刷装置から送信されてくる、前記第１電力状態から前記第２電力状態への移行予告を取得する取得工程と、
制御手段が、前記取得工程により取得した移行予告に基づき、前記印刷装置へのアクセスタイミングを前記予め設定されたタイミングより早くしてアクセスする制御工程と
を有することを特徴とする情報処理方法。
【請求項６】
前記制御工程では、前記取得工程により取得された前記第２電力状態への移行予告に基づき、前記印刷装置へアクセスするタイミングを制御することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記制御工程では、前記取得工程により取得された前記第２電力状態への移行予告に基づき、アクセスを開始するタイミングを、当該第２電力状態に前記印刷装置が移行する前に変更することを特徴とする請求項５または６に記載の情報処理方法。
【請求項８】
前記制御工程では、前記取得工程により取得された前記第２電力状態への移行予告に基づき、アクセスを終了するタイミングを、当該第２電力状態に前記印刷装置が移行する前に変更することを特徴とする請求項５乃至７のいずれか１項に記載の情報処理方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の情報処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置と通信が可能な情報処理装置において、印刷装置へのアクセスを制御する情報処理技術に関するものである。
【背景技術】
【０００２】
近年の印刷装置には省電力化の要請により、印刷動作を実行する動作モードの他、長時間使用されないと判断した場合に一部の機能を停止させて、電力消費量を減らす省電力モードが設けられている。省電力モードにある印刷装置に対して、ホストコンピュータ側から印刷装置にアクセスすると、印刷装置は省電力モードから動作モードに変更して、停止中の機能を再開させて、ホストコンピュータのリクエストに応答する。
【０００３】
例えば、特許文献１は、印刷装置の本体の他、ホストコンピュータ等との通信制御に関するＣＰＵやＲＡＭ等の省電力モードへの移行を制御することが可能な印刷装置を開示している。
【０００４】
図１４は、従来における印刷装置の動作モードの移行とアプリケーションの処理との関係を示す図である。時間（t）の経過を示す横軸の上段が印刷装置における状態の移行のタイミングを示し、下段がアプリケーションの処理のタイミングを示す。時刻t０から時刻ｔ１の間にアプリケーションが処理１（例えば、印刷装置に対する紙残量の問い合わせ、印刷指示等）を行う。
【０００５】
第１の動作モードとして動作中の印刷装置は、アプリケーションからの問い合わせや指示に応じて回答をする（応答１）。アプリケーションは処理１を完了した時刻ｔ１以降は、次の処理まで印刷装置へのアクセスは行わない。
【０００６】
アクセスされない印刷装置はなにも作業をしないアイドル状態を経て、一定期間後に時刻ｔａで第２の動作モードとして省電力モード（スリープモード）に入る。
【０００７】
アプリケーション所定のポーリング周期（ＴＴ）の経過後、アプリケーションは時刻（ｔ２）から時刻（ｔ３）は処理２を行う。印刷装置はアプリケーションからのアクセスを受けてスリープモードから通常の動作モードに移行し、アプリケーションからの要求に回答する（応答２）。
【特許文献１】特開２００１−１８００８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ここで、上述のポーリング周期（ＴＴ）が充分に長ければ（例えば、５時間）問題がない。しかしながら、省電力モードにある印刷装置に対して、ホストコンピュータ側から印刷装置にアクセスを頻繁に行うようにすると、印刷装置を省電力モードから動作モードに移行させることになり、消費電力の節約を図ることができなくなるという問題がある。例えば、時刻ｔａで１度、印刷装置及び印刷装置のハードディスクをスリープモードに移行し、その後に、ハードディスクを起動させてしまうと、ハードディスクの製品寿命の点で問題が生じる。ハードディスクは頻繁にＯＦＦ−ＯＮを繰り返すと製品寿命が縮まる。このため、スリープモードに移行（ＯＦＦ）したハードディスクを動作モードに移行（ＯＮ）すると、その後、一定時間はハードディスクをＯＮし続ける必要がある。即ち、ハードディスクの稼動に要する電力を一定時間供給する必要があるため、この間はスリープモードへの移行が行えない状況が発生してしまう。印刷装置の省電力状態を確保するために、ホストコンピュータ側から印刷装置へのアクセスを一時的に一切禁止するという通信の遮断も考えられる。しかしながら、この場合、ホストコンピュータ側で印刷装置に関する必要な情報の取得ができなくなるため、ホストコンピュータと印刷装置とからなるシステムの機能が損なわれるという問題がある。
【０００９】
本発明は、上記の従来技術における問題点に鑑みてなされたものであり、印刷システムの機能を大幅に損なわず、かつ、省エネ化を可能にする技術の提供を目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するべく、本発明に係る情報処理装置は、外部からの要求に応じてステータス応答を行うために必要な電力が供給された第１電力状態、及び、前記必要な電力が供給されない第２電力状態で動作する印刷装置と通信可能で、前記印刷装置に処理を行わせるために、予め設定されたタイミングに基づいて前記印刷装置にアクセスする情報処理装置であって、
前記印刷装置から送信されてくる、前記第１電力状態から前記第２電力状態への移行予告を取得する取得手段と、
前記取得手段により取得した移行予告に基づき、前記印刷装置へのアクセスタイミングを前記予め設定されたタイミングより早くしてアクセスする制御手段と
を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、システムの機能を損なわず、かつ、通信制御に関する通信部の休止状態の維持を長くして、省エネ化を可能にする技術の提供が可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
（第１実施形態）
図１は、本発明の実施形態にかかる印刷システムの構成を示すブロック図である。印刷装置１０５及び情報処理装置（１０１〜１０４）はイーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続されている。情報処理装置（１０１〜１０４）は印刷データを印刷装置に対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。また、情報処理装置（１０１〜１０４）はネットワーク１０６に接続されている他の装置と双方向に通信可能な通信装置を備えているものとする。
【００１４】
ここで、印刷装置１０５は、電子写真方式を採用したレーザービームプリンタ、インクジェット方式を採用したインクジェットプリンタ、熱転写方式を利用したプリンタ等のうちいずれの方式であってもよい。また、スキャナ機能を搭載した複合機として印刷システムを構成することも可能である。
【００１５】
印刷システムにおいて、情報処理装置１０１（以下、「プリントサーバ」という。）は、印刷システムで使用するファイルの蓄積や、ネットワーク１０６の使用状態を監視することが可能である。また、プリントサーバ１０１は通信装置を介して、ネットワーク１０６に接続されている他の情報処理装置（以下、「クライアント」という。）や印刷装置１０５と通信し、各装置の稼働状態の管理が可能である。
【００１６】
クライアント（１０２〜１０４）及びプリントサーバ１０１は、一般的な情報処理装置と構成することが可能であり、プリントサーバ１０１は、クライアント１０２〜１０４としての機能を併せて持つことも可能である。
【００１７】
プリントサーバ１０１は、クライアント１０２、１０３、１０４から印刷要求が出された印刷データを含む印刷ジョブを格納して印刷ジョブの実行を管理する。また、プリントサーバ１０１はクライアント（１０２〜１０４）から印刷データを含まないジョブ情報のみを受け取って、クライアント１０２、１０３、１０４の印刷順序を管理する。印刷の順番が来たクライアントに対して印刷データを含む印刷ジョブの送信許可を通知し、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得してクライアント１０２〜１０４に通知することが可能である。
【００１８】
印刷装置１０５は、クライアント（１０２〜１０４）から送信される印刷データを含む印刷ジョブを受信し、印刷ジョブの内容を解析して、１ページずつドットイメージに変換して、１ページ毎に印刷出力することが可能である。
【００１９】
図２は、情報処理装置（プリントサーバ１０１及びクライアント（１０２〜１０４））の構成を示すブロック図である。図２において、２００は、全体的な制御を司る制御部として機能するＣＰＵである。ＣＰＵ２００はハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本実施形態に係る印刷装置の制御プログラム（印刷制御プログラム）等を実行する。そして、ＣＰＵ２００は、各種プログラムの実行において、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する。
【００２０】
２０１は、記憶部であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データが記憶されている。２０２は一時記憶部であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２１】
２０３は記憶媒体読み込み部としてのフレキシブルディスク（ＦＤ）ドライブである。このＦＤドライブ２０３を介して、記憶媒体としてのフレキシブルディスク（ＦＤ）２０４に記憶されたプログラム等をクライアントである本コンピュータシステムにロードすることができる。なお、記憶媒体はＦＤに限らず、例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等でもよい。
【００２２】
ＦＤ２０４には、コンピュータによって読み取り可能なプログラムが格納されている。２０５は外部記憶部の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）である。アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、印刷制御プログラム、関連プログラム等がＨＤ２０５に格納されている。更にスプーラがＨＤ２０５に格納されている。スプーラは、クライアント（１０２〜１０４）においてはクライアントスプーラであり、プリントサーバ１０１ではサーバスプーラである。また、プリントサーバ１０１では、クライアント（１０２〜１０４）から受けたジョブ情報を格納し、順序制御を行うためのテーブルも生成されてＨＤ２０５に格納されている。
【００２３】
２０６はキーボード（指示入力部）であり、ポインティングデバイス２０９を用いてユーザがクライアントに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力するものである。２０７はディスプレイ（表示部）であり、キーボード２０６から入力されたコマンドや、プリンタの状態等を表示するものである。２０８はシステムバスであり、プリントサーバ１０１、クライアント（１０２〜１０４）であるコンピュータ内のデータの流れを司るものである。２１０はインターフェース（入出力部として機能する接続部）であり、接続部２１０を介して、プリントサーバ１０１、クライアント（１０２〜１０４）は、外部装置とのデータのやり取りを行うことが可能である。
【００２４】
２１５はタイマーであり、現在時刻を計測することが可能である。ＣＰＵ２００は、タイマー２１５が計測した現在時刻の計測結果に基づいて、アプリケーションの実行タイミング（実行の開始、または実行の終了）を制御することが可能である。ここでのタイミングとは処理を実行する時点を指し、その基点は時刻であっても良いし、ある別の時点からの経過時間等であっても良い。
【００２５】
本実施形態では、ＦＤ２０４から印刷制御プログラム及び関連データを直接にＲＡＭ２０２にロードして実行する例を示している。これ以外にも、ＨＤ２０５にインストールされている印刷制御プログラムを動作させる度に、印刷制御プログラムをＲＡＭ２０２にロードするようにしてもよい。また、印刷制御制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接にＣＰＵ２００で実行することも可能である。
【００２６】
尚、印刷制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。
【００２７】
次に印刷装置１０５の詳細な構成を説明する。
【００２８】
図３は、印刷装置１０５が有する機能を実現するコントローラユニットのハードウェア構成を示す図である。特に、本実施形態の印刷装置１０５は、後述するディープスリープ状態においても、外部装置からの各種要求に応答可能な状態になるべく電力供給復帰を行えるようになっている。
【００２９】
図３において、画像処理制御部４０１は、印刷装置１０５のコントローラ部に相当するものであり、１チップ化された制御部（コントローラチップ）４０２を具備する。
【００３０】
制御部４０２は、不図示の各種プログラムが格納されたＲＯＭ Ｉ／Ｆ、ＲＡＭ（ＤＲＡＭ含む） Ｉ／Ｆ、ＰＣＩバスＩ／Ｆ、Ｖｉｄｅｏ Ｉ／Ｆ機能を有する。また、制御部４０２は、いずれかの外部装置から転送されてくる印刷用記述言語の展開ハードウェア、各種データの圧縮及び伸張機能が含まれるＡＳＩＣ等により構成される。
【００３１】
また、制御部４０２は、ネットワーク及びＬＡＮコントローラ（ＬＡＮＣ）４１０を介して外部装置より受信した印刷データの画像処理を行う機能やＬＡＮコントローラ４１０を介して渡されるデータを受けて処理する機能も備える。
【００３２】
ハードディスク（ＨＤＤ）４０３は、主電源が投入されていない場合でもデータを保持し続ける不揮発性記憶媒体である。ハードディスク４０３には、例えば、画像処理制御部４０１の各部に対する初期化プログラム、画像処理や通信や表示等に係る初期設定値（パラメータ）が格納されている。また、ハードディスク４０３には、画像処理や通信や表示等の各種動作を定義するプログラム、及びプリンタを起動するためのＢＯＯＴプログラム等が格納されている。本実施形態では、ハードディスク４０３に格納される初期化に係るデータを初期化データや設定データと呼ぶこともある。
【００３３】
印刷装置１０５の主電源スイッチが入れられた場合、ハードディスク４０３に格納されたＢＯＯＴプログラムの実行が開始する。そうすると、ハードディスク４０３から、初期化プログラム、初期設定値（パラメータ）、及びメインプログラム等が、制御部４０２を含む画像処理制御部４０１の各部位により読み込まれ初期化処理が行われる。
【００３４】
ＳＤＲＡＭ４０４は、制御部４０２により展開された印刷データを一時的に格納する。そして、ＳＤＲＡＭ４０４は、後述するディープスリープ状態への移行に応じて、初期化処理の際にハードディスク４０３から読み込まれた初期化データや設定データを一時的に退避させたりする役割を持つ。
【００３５】
退避された初期化データや設定データは、ディープスリープ状態からの復帰時に各部位によって再度利用され、各部位への電源再投入における高速復帰を可能にする。
【００３６】
なお、ＳＤＲＡＭ４０４以外に、ＤＤＲ−ＳＤＲＡＭ、ＳＲＡＭ等を用いることもできる。一般的にハードディスクやＥＥＰＲＯＭ、フラッシュメモリ等の不揮発性記憶媒体に較べ、揮発性記憶媒体の方がデータを読み書きするスピードが速い。したがって、揮発性記憶媒体をこの部分に割り当てる方が望ましい。特に、プログラムのデータサイズが大きくなると、ＲＯＭのデータサイズの制限により、ハードディスク４０３にプログラムを記憶させておくことを余儀なくされることがある。このような場合には、この部分に揮発性記憶媒体を用いることが、データの読み書きの高速化という観点から、特に有効となる。
【００３７】
ここで、本実施形態におけるディープスリープについて説明する。
【００３８】
画像処理制御部４０１は、タイマーを起動してから一定時間割り込み信号を検知しない場合、印刷データの受信及び処理、ステータス要求に応答できない状態からの復帰に必要な最低限の部分に、電源部４１４から常夜電源を付与する。
【００３９】
そして、画像処理制御部４０１は、その他の機能ブロックへの電源の付与を遮断するよう動作する。一方、ＳＤＲＡＭ４０４、操作表示部４０８、拡張インターフェース４１２、ＬＡＮコントローラ４１０、ネットワークインタフェース４０９、及び電源スイッチ回路４１７等に常夜電源が付与される。
【００４０】
操作表示部４０８には常夜電源４１５が投入されており、ユーザが画像処理制御部４０１を含むプリンタのステータスを確認したり、各種画像処理に係る設定を変更したりするために利用することができる。そして、操作表示部４０８に対しての操作に応じて、詳しくは後述するが、ディープスリープ状態から画像処理制御部４０１を復帰させる起動信号（図中ＰＭＥ）が発行される。ここで、ＰＭＥとは、Power Management Eventの略称であり、システムの電源を投入する指示に利用される。ＰＭＥは、ＰＣＩ２．２規格に準拠したバスを搭載するシステムが受信可能なものである。ただし、本発明において、起動信号は、ＰＭＥに限定されるものではなく、独自の指示信号でも、その他の指示信号でもよく、電源投入を指示できるものであれば適用可能である。
【００４１】
ネットワークインタフェース（ＬＡＮ  Ｉ／Ｆ）４０９は、複数の外部装置（例えば、プリントサーバ１０１や、クライアント（１０２〜１０４））と各種データ通信を行うためのインターフェースである。ネットワークインタフェース（ＬＡＮ  Ｉ／Ｆ）４０９の構成として、例えば、１０／１００ＢＡＳＥ−Ｔコネクタを採用することができる。
【００４２】
ＬＡＮコントローラ（ＬＡＮＣ）４１０は、ネットワークインタフェース（ＬＡＮ  Ｉ／Ｆ）４０９を介して外部装置との通信の制御を司る。ＬＡＮコントローラ４１０は、常夜電源４１５から電源が供給される部分（点線部分）と、非常夜電源４１６から電源を供給される部分（実線部分）とを有する。ディープスリープ時には、非常夜電源４１６から電源を供給される実線部分には電源が供給されないこととなる。この時ハードディスク（ＨＤＤ）４０３にも電源が供給されないこととなる。
【００４３】
ＬＡＮコントローラ４１０の点線部分は、ＬＡＮ  Ｉ／Ｆ４０９を介する問い合わせに対して、複数のパターンのうちいずれかのパターンのデータ（例えば図４に示すパケット）を受信したか否かを監視する監視部として機能する。この監視部の監視によりいずれかのパターンの認識がなされると、制御部４０２をディープスリープ状態から復帰させるべく起動信号が発行される。例えば、ステータス要求の際には、要求元の情報処理装置からＡＲＰ信号出力される。このＡＲＰ信号がＬＡＮコントローラ４１０によって監視されるパターンの一例として挙げられる。なお、ＡＲＰとは、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌの略である。また、情報処理装置による、後述の図７や、図１１Ａや、図１３Ａの処理に伴っても、制御部４０２、ハードディスク（ＨＤＤ）４０３を含む各部のディープスリープ状態からの復帰が行われる。また、ハードディスク（ＨＤＤ）４０３への電力供給は、外部の情報処理装置からハードディスク（ＨＤＤ）４０３に記憶された情報を要求された場合に行うようにしても良い。なお、ハードディスク（ＨＤＤ）４０３の電力供給復帰を、その復帰が必要な処理が情報処理装置から要求された時に限定したとしても、本発明によれば、印刷システムの機能を大幅に損なわず、かつ、省エネ化を可能にする。
【００４４】
ここで、複数のパターンは、ＭＡＣ ＲＯＭ４１１に登録され、初期化処理の際にＬＡＮコントローラ４１０により読み込まれる。ＭＡＣ ＲＯＭ４１１に非常夜電源４１６を投入するようにしても良い。また、ＭＡＣ ＲＯＭ４１１に登録されるパターンは、ユーザが操作表示部４０８を介して設定することも可能である。また、ＭＡＣ ＲＯＭ４１１に登録されるパターンは、ネットワーク１０６を介して遠隔の情報処理装置（例えば、プリントサーバ１０１やクライアント（１０２〜１０４））から設定することも可能である。
【００４５】
図４は、情報処理装置（１０１〜１０４）及び印刷装置１０５との間で送受信されるパケット形式のデータを例示する図である。パケットヘッダーはパケットのバージョン等を示す固有の値を示し、パケット長はパケットの長さを示し、パケット番号は重複しない任意の番号を持つデータが設定されている。データ種別はデータ部に設定されているデータの種別を特定するデータが設定されており、例えば、０はジョブを、１はコマンド、２はイベントを意味する。データ部には、データ種別に対応したデータが格納される。例えば、データ種別が印刷ジョブの場合、データ部には印刷データが格納される。
【００４６】
データ種別がイベントの場合、イベント種別（１、２、３、４、・・・）を特定する情報が設定される。例えば、１はジョブ状態変化、２はデバイス状態変化、３はユーザイベント、４は状態変化予告等を示す。
【００４７】
状態の欄には、変更され、または、変更予定のデバイス状態（通常モード、省エネモード、スリープモード、エラー）の他、デバイス状態の詳細、状態変化にいたった要因等が設定されている。例えば、デバイス状態が通常モードを示すデータとして「２１」、省エネモードの移行予告を示すデータとして「２２」、スリープ予告モードを示すデータとして「２３」そしてデバイス状態がエラー状態にあることを示すデータとして「２９」が設定される。ここで、スリープモードとは、例えば、上述のディープスリープ状態を指す。また、省エネモードとは、上述の画像処理制御部４０１には通電が行われ、プリンタエンジンにおける電力が節電される状態を指すものとする。
【００４８】
次に、図５のフローチャートを参照して、印刷装置１０５における省電力状態への移行について処理の流れを説明する。本処理は印刷装置１０５が有する機能を実現するコントローラユニットの制御の下に実行されるものとする。
【００４９】
ステップＳ５０１において、印刷装置１０５のコントローラユニットは、例えば、用紙なしエラーや、動作モードの変化が発生した等の状態変化が発生したか否かを判断する。コントローラユニットにより状態変化が発生したと判断された場合（Ｓ５０１−ＹＥＳ）、ステップＳ５０２で、コントローラユニットは、図４で説明したパケットを作成する。この際、コントローラユニットは、デバイス状態変化を示すデータ（「２」）をデータ種別に設定し、予め決められているフォーマットによる状態変化を示す情報をパケットのデータ部に設定する。そして、コントローラユニットの制御の下、作成されたパケットはＬＡＮ  Ｉ／Ｆ４０９を介して情報処理装置（１０１〜１０４）に送信される。
【００５０】
次に、ステップＳ５０３で、コントローラユニットは内部に設けられているクロックジェネレータ４２０により現在時刻を取得し、ＨＤＤ４０３等の記憶装置に確保した領域に、最新状態変化時刻（Ｌａｓｔ）として保存する。そして、ステップＳ５０１に処理を戻し、同様の処理を繰り返す。
【００５１】
一方、ステップＳ５０１の判定で、コントローラユニットは、状態変化が発生していないと判定した場合（Ｓ５０１−Ｎｏ）、処理はステップＳ５０６に進められる。
【００５２】
ステップＳ５０６において、コントローラユニットは印刷装置１０５宛てのコマンドパケットを受信待ちの状態で待機する。コマンドパケットを受信した場合（Ｓ５０６−Ｙｅｓ）、ステップＳ５０７において、そのパケットからコマンドデータを取り出し、処理を行う。コントローラユニットは処理の結果を返信するためのリプライパケットを作成する。
【００５３】
ステップＳ５０８において、コントローラユニットは印刷装置１０５が省電力状態へ移行することが確定しているか否かを判定する。印刷装置１０５の操作パネル上のスリープボタンを使用者が押下した場合、省電力状態への移行が確定し、同状態への移行のための処理が開始される。その際、省電力状態への移行までの時間が算出され、以後、メモリ上にその時間を示すデータが移行完了まで減算されながら更新される。スリープボタンが押下されると省電力状態への移行が確定したことを示すフラグがＨＤＤ４０３等に格納される。このフラグをチェックすることで、コントローラユニットは、省電力状態への移行が確定したことを判定することができる。
【００５４】
ステップＳ５０８の判定で、省電力状態への移行が確定していない場合（Ｓ５０８−Ｎｏ）、処理をステップＳ５１１に進める。一方、省電力状態への移行が確定している場合（Ｓ５０８−Ｙｅｓ）、処理をステップＳ５０９に進める。
【００５５】
ステップＳ５０９において、コントローラユニットは、先に作成したリプライパケットのリプライヘッダに、印刷装置１０５が省電力状態へ移行することが確定したことを示すスリープフラグと、省電力状態に移行するまでの時間をセットする。
【００５６】
そして、ステップＳ５１０において、コントローラユニットの制御の下、リプライパケットは、予告として、コマンドの送信元である情報処理装置に返信される。
【００５７】
ステップＳ５１１において、コントローラユニットはタイマー設定値の経過を判定する。すなわち、コントローラユニットは最新状態変化時刻（Ｌａｓｔ）として保存されている時刻と、クロックジェネレータ４２０により取得した現在時刻との差分を計算する。そして、コントローラユニットは計算により得られた値が、予め決められて保持しているタイマー設定値を経過しているか判定する。
【００５８】
ステップＳ５１１の判定において、計算により求めた値がタイマー設定値を経過していると、コントローラユニットが判定した場合（Ｓ５１１−Ｙｅｓ）、処理をステップＳ５１２に進める。Ｓ５１２において、コントローラユニットは、印刷装置１０５を印刷動作が可能な動作モード（ステータス応答を行うために必要な電力が供給された第１電力状態）から省電力状態のスリープモード（必要な電力が供給されない第２電力状態）に移行させる。その後、処理をステップＳ５０１に戻し、同様の処理を繰り返す。
【００５９】
一方、ステップＳ５１１の判定で、計算により求めた値がタイマー設定値を経過していないと、コントローラユニットが判定した場合（Ｓ５１１−Ｎｏ）、処理をステップＳ５０４に進める。ステップＳ５０４において、コントローラユニットは予告タイマー設定値の経過を判定する。すなわち、コントローラユニットは最新状態変化時刻（Ｌａｓｔ）として保存されている時刻と、クロックジェネレータ４２０により取得した現在時刻との差分を計算する。そして、コントローラユニットは計算により得られた値が、予め決められて保持している予告タイマー設定値（この設定値は、ステップＳ５１１で用いたタイマー設定値より小さい）を経過しているか判定する。
【００６０】
ステップＳ５０４の判定において、計算により求めた値が予告タイマー設定値を経過していると、コントローラユニットが判定した場合（Ｓ５０４−Ｙｅｓ）、処理をステップＳ５０５に進める。そして、ステップＳ５０５において、コントローラユニットは、図４に示すパケットを作成する。この際、コントローラユニットは、デバイス状態変化を示すデータ（「２」）をデータ種別に設定し、予め決められているフォーマットによる省電力状態への移行予告（スリープ予告）を示す情報をパケットのデータ部に設定する。そして、コントローラユニットの制御の下、作成されたパケットはＬＡＮ  Ｉ／Ｆ４０９を介して情報処理装置（１０１〜１０４）に送信される。
【００６１】
ステップＳ５０４の判定で、計算により求めた値が予告タイマー設定値を経過していないと、コントローラユニットが判定した場合（Ｓ５０４−Ｎｏ）、処理はステップＳ５０１に戻され、再び同様の処理が繰り返される。
【００６２】
次に、図６を参照して印刷装置の基本動作を説明する。
【００６３】
まず、ステップＳ６０１において、印刷装置１０５はネットワーク１０６を介して、情報処理装置（１０１〜１０４）から送信されるデータを受信し、解析する。例えば、図４に示されるパケットのデータ種別が０の場合、コントローラユニットは、受信したデータが印刷ジョブと判定する。
【００６４】
ステップＳ６０１で印刷ジョブと判定された場合（Ｓ６０１−Ｙｅｓ）、ステップＳ６０２において、印刷装置１０５は所定の方法に基づき印刷処理を実行する。印刷処理の終了後、ステップＳ６０１に戻り、同様の処理が繰り返される。
【００６５】
ステップＳ６０１の判定で、受信したデータが印刷ジョブデータでないと判定された場合（Ｓ６０１−Ｎｏ）、処理はステップＳ６０３に進められ、コントローラユニットは、受信したデータが特定の処理を実行するためのコマンドであるか判定する。例えば、図４に示されるパケットのデータ種別が１の場合、コントローラユニットは、コマンドと判定する。ここで、コマンドには、印刷ログの取得や、特定設定情況の取得などが含まれる。
【００６６】
ステップＳ６０３の判定で、コントローラユニットが、受信したデータはコマンドであると判定した場合（Ｓ６０３−Ｙｅｓ）、処理はステップＳ６０４に進められる。ステップＳ６０４において、コントローラユニットは、受信したパケットのデータ部を解析し、コマンドに対応した処理を実行する（コマンドの実行）。例えば、コマンドがログの取得の場合、印刷装置１０５のコントローラユニットはＨＤＤ４０３等の記憶装置に保持されている印刷ログを所定のフォーマットに整形し、情報処理装置に送信する。
【００６７】
一方、ステップＳ６０３の判定で、コントローラユニットが、受信したデータはコマンドでないと判定した場合（Ｓ６０３−Ｎｏ）、処理はステップＳ６０１に戻され、同様の処理が繰り返される。
【００６８】
次に、図７を用いて情報処理装置（１０１〜１０４）で実行可能なアプリケーションの処理を説明する。情報処理装置（１０１〜１０４）は、印刷装置１０５から装置の状態を示す情報（装置状態情報）を取得し、表示部２０７に印刷装置１０５の状態を表示する。印刷装置１０５の状態として、印刷可能、印刷中、エラー、オフライン等や、更に詳細な状態として紙なしエラー発生、紙詰まり発生等が表示される。ユーザはアプリケーションを備え付けのボタン等を操作することにより、印刷を実行することができ、さらに、印刷装置１０５の状態を知ることができる。また、印刷ジョブに関する操作（削除、一時停止、再開、追い越し、代行等）や印刷装置１０５の操作（一時停止、再開、オフライン、オンライン、初期化等）を行うことができる。
【００６９】
ステップＳ７０１で、情報処理装置は、ネットワーク１０６を介して受信したパケット形式のデータ（図４を参照）をＣＰＵ２００で解析し、受信したデータの種別を判定する。受信したデータの種別がイベントでない場合（Ｓ７０１−ＮＯ）、次のデータの受信待ち状態で待機する。
【００７０】
一方、ステップＳ７０１の判定で、例えば、図４に示すパケットのデータ種別にイベントを示すデータ（「２」）が設定されている場合、ＣＰＵ２００は受信したデータの種別はイベントと判断する。受信したデータの種別がイベントの場合（Ｓ７０１−Ｙｅｓ）、処理をステップＳ７０２に進める。
【００７１】
ステップＳ７０１でイベントと判定された場合、ステップＳ７０２で、ＣＰＵ２００は受信したパケット形式のデータのイベント種別を解析して、状態変化のイベントであるか判定する。例えば、図４に示すパケットのイベント種別にデバイス状態変化を示すデータ（「２」）が設定されている場合、ＣＰＵ２００は受信したデータの種別はデバイス状態変化イベントと判定する。ステップＳ７０２の判定で、イベント種別がデバイス状態変化イベントと判定された場合（Ｓ７０２−Ｙｅｓ）、処理をステップＳ７０３に進めて、先のステップＳ７０２で判定したデバイス状態変化イベントに適した後述の特定処理１を行う。そして、特定処理１の終了後に処理をステップＳ７０１に戻し、同様の処理を繰り返す。
【００７２】
ステップＳ７０２の判定で、状態変化イベントでないと判定された場合（Ｓ７０２−Ｎｏ）、処理をステップＳ７０４に進め、ＣＰＵ２００はパケットのイベント種別を解析して、状態変化予告イベントであるか判定する。例えば、図４に示すパケットのイベント種別に状態変化予告を示すデータ（「４」）が設定されている場合、ＣＰＵ２００はイベントの種別を状態変化予告イベントと判定する。ステップＳ７０４の判定で、イベント種別が状態変化予告イベントと判定された場合（Ｓ７０４−Ｙｅｓ）、処理をステップＳ７０５に進めて、先のステップＳ７０４で判定した状態変化予告イベントに適した後述の特定処理２を行う。そして、特定処理２の終了後に処理をステップＳ７０１に戻し、同様の処理を繰り返す。
【００７３】
一方、ステップＳ７０４の判定で、状態変化予告イベントでないと判定された場合（Ｓ７０４−Ｎｏ）、処理をステップＳ７０６に進め、ＣＰＵ２００はパケットのイベント種別を解析して、ユーザイベントであるか判定する。例えば、図４に示すパケットのイベント種別にユーザイベントを示すデータ（「３」）が設定されている場合、ＣＰＵ２００はイベントの種別をユーザイベントと判定する。ステップＳ７０６の判定で、イベント種別がユーザイベントと判定された場合（Ｓ７０６−Ｙｅｓ）、処理をステップＳ７０７に進めて、先のステップＳ７０６で判定したユーザイベントに適した特定処理３を行う。そして、特定処理３の終了後に処理をステップＳ７０１に戻し、同様の処理を繰り返す。一方、ステップＳ７０６の判定で、ユーザイベントでないと判定された場合（Ｓ７０６−Ｎｏ）、処理をステップＳ７０１に戻し、同様の処理を繰り返す。
【００７４】
（特定処理１（図７のＳ７０３））
次に、図８を参照して、図７のステップＳ７０３における特定処理１の処理の流れを説明する。
【００７５】
まず、ステップＳ８０１で、ＣＰＵ２００はパケットの状態の欄に格納されているデータを解析し、印刷装置１０５の状態が通常状態（通常モード）であるか判定する。デバイス状態が通常状態（通常モード）を示すデータ（「２１」）が状態の欄に設定されている場合、ＣＰＵ２００は、印刷装置１０５が通常状態にあると判定し（Ｓ８０１−Ｙｅｓ）、処理をステップＳ８０２に進める。
【００７６】
ステップＳ８０２で、ＣＰＵ２００はブロック解除処理を実行する。すなわち、表示部２０７に表示している印刷装置１０５の状態表示を「通常」にし、アプリケーション備え付けのボタン等の操作制限を解除する。
【００７７】
一方、ステップＳ８０１の判定で、ＣＰＵ２００は、印刷装置１０５が通常状態でないと判定した場合（Ｓ８０１−Ｎｏ）、処理をステップＳ８０３に進める。ステップＳ８０３で、ＣＰＵ２００は、パケットの状態の欄に格納されているデータを解析し、印刷装置１０５の状態がエラー状態か判定する。デバイス状態がエラー状態を示すデータ（「２９」）が状態の欄に設定されている場合、ＣＰＵ２００は、印刷装置１０５がエラー状態にあると判定し（Ｓ８０３−Ｙｅｓ）、処理をステップＳ８０４に進める。ステップＳ８０４において、ＣＰＵ２００は状態変化処理を実行する。すなわち、ＣＰＵ２００は表示部２０７に表示している印刷装置１０５の状態表示を「エラー」に変更して処理を終了する。
【００７８】
（特定処理２（図７のＳ７０５））
次に、図９を参照して、図７のステップＳ７０５における特定処理２の第１の例として処理の流れを説明する。
【００７９】
ステップＳ９０１で、ＣＰＵ２００はパケットの状態の欄を解析し、デバイス状態がスリープ予告イベントか判定する。すなわち、ＣＰＵ２００は状態の欄に格納されているデータが、スリープ予告を示すデータ（「２３」）である場合（Ｓ９０１−Ｙｅｓ）、状態変化の予告はスリープ予告イベントと判定する。
【００８０】
次にステップＳ９０２で、ＣＰＵ２００は操作制限処理を実行する。すなわち、ＣＰＵ２００は表示部２０７に表示している印刷装置１０５の状態表示を「スリープ移行中」にする。そして、ＣＰＵ２００は、アプリケーションに備え付けのジョブ操作ボタン、オプション情報取得ボタン、印刷指示ボタン等を操作不可能にして処理を終了する。
【００８１】
一方、ステップＳ９０１の判定で、デバイス状態がスリープ予告イベントと判定されない場合（Ｓ９０１−Ｎｏ）、ステップＳ９０２の処理をスキップして処理を終了する。
【００８２】
次に、図１０を参照して、図７のステップＳ７０５における特定処理２の第２の例として処理の流れを説明する。
【００８３】
ステップＳ１０１０で、ＣＰＵ２００はパケットの状態の欄を解析し、デバイス状態がスリープ予告イベントか判定する。すなわち、ＣＰＵ２００は状態の欄に格納されているデータが、スリープ予告を示すデータ（「２３」）である場合（Ｓ１０１０−Ｙｅｓ）、状態変化の予告はスリープ予告イベントと判定する。
【００８４】
スリープ予告イベントと判定された場合（Ｓ１０１０−Ｙｅｓ）、ステップＳ１０１２で、ＣＰＵ２００は操作制限処理を実行する。すなわち、ＣＰＵ２００は表示部２０７に表示している印刷装置１０５の状態表示を「スリープ移行中」にする。そして、ＣＰＵ２００は、アプリケーションに備え付けのジョブ操作ボタン、オプション情報取得ボタン、印刷指示ボタン等を操作不可能にして処理をステップＳ１０１４に進める。
【００８５】
一方、ステップＳ１０１０の判定で、スリープ予告イベントと判定されなかった場合（Ｓ１０１０−Ｎｏ）、処理をステップＳ１０１３に進め、ＣＰＵ２００は状態変化の予告が省エネモードへの移行予告であるか判定する。ここで、ＣＰＵ２００は、パケットの状態の欄に格納されているデータが、省エネモードの移行予告を示すデータ（「２２」）である場合、状態変化の予告は省エネモードの移行予告と判定し、処理をステップＳ１０１４に進める。
【００８６】
ステップＳ１０１４において、ＣＰＵ２００は表示部２０７に表示している印刷装置１０５の状態表示を「省エネモード移行中」にし、アプリケーション備え付けの印刷ボタンを操作不可能にして処理を終了する。
【００８７】
ＣＰＵ２００の制御の下、印刷装置へのアクセスを抑制することで、システムの機能を損なわず、かつ、通信制御に関する通信部の休止状態の維持を長くして、省エネ化を可能にする技術の提供が可能になる。
【００８８】
（第２実施形態）
（アプリケーションの開始タイミングの変更）
次に、本発明の第２次実施形態として、印刷装置１０５の状態の移行と情報処理装置におけるアプリケーションの処理の関係を説明する。図１１Ａは情報処理装置（１０１〜１０４）において実行可能なアプリケーションの処理の流れを説明するフローチャートであり、図１１Ｂは処理（特定処理１、２、・・・）に対応した各種時刻をＲＡＭ２０２等に保存した状態を例示する図である。
【００８９】
ステップＳ１１０１で、ＣＰＵ２００は、タイマー２１５により現在時刻を取得し、ＲＡＭ２０２等の記憶領域に予め保存されている処理開始時刻（ｔ０）と比較する。処理開始時刻（ｔ０）に達していないと判断した場合は（Ｓ１１０１−Ｎｏ）、処理開始時刻（ｔ０）に現在時刻が達するまでステップＳ１１０１を繰り返す。
【００９０】
ステップＳ１１０１の判定で、ＣＰＵ２００は処理開始時刻（ｔ０）に達したと判定したときは（Ｓ１１０１−Ｙｅｓ）、処理をステップＳ１１０２に進め、アプリケーションによる特定の処理を行う（特定処理１の実行）。例えば、特定処理として、印刷装置１０５における紙残量の問い合わせや印刷処理の実行などが含まれる。
【００９１】
次にステップＳ１１０３で、印刷装置１０５に対して、次回の省電力モード（スリープモード）に入る予定を問い合わせる。例えば、ＣＰＵ２００は、図４のパケットのデータ種別にコマンドを示すデータ（「１」）を設定し、データ部にスリープスケージュールを問い合わせするデータを設定したコマンドパケットを作成し、ネットワーク１０６を介して印刷装置１０５に送信する。
【００９２】
スリープスケージュールの問い合わせを受けた印刷装置１０５は、コントローラユニットの制御の下、ＨＤＤ４０３等の記憶領域に保存されたスリープ移行予定時刻を取り出す。そして、印刷装置１０５は、所定のフォーマットの応答パケットを作成し、ネットワーク１０６を介して、スリープスケージュールの問い合わせ元の情報処理装置に返信する。情報処理装置は、印刷装置１０５から返信されたスリープ移行予定時刻（特定処理１に対応するスリープ移行予定時刻をｔaとする）をＲＡＭ２０２等に確保した記憶領域に保存する。
【００９３】
ステップＳ１１０４で、ＣＰＵ２００はタイマー２１５により現在時刻を取得し、ＲＡＭ２０２等の記憶装置に確保された領域から、特定処理１に対応するアプリケーションの処理繰り返し間隔（ＴＴ）を取得し、アプリケーションの次回処理時刻を計算する。そして、ＣＰＵ２００は、アプリケーションの次回処理時刻と印刷装置１０５から返信されたスリープ移行予定時刻（ｔａ）とを比較する。すなわち、ＣＰＵ２００は現在時刻にアプリケーションの処理繰り返し間隔（ＴＴ）を加算した値（アプリケーションの次回処理開始タイミング）が、スリープ移行予定時刻（ｔa）より遅いか否かを判定する。
【００９４】
アプリケーションの次回処理開始時刻が、印刷装置１０５のスリープ移行予定時刻（ｔa）より遅いと判定された場合（Ｓ１１０４−Ｙｅｓ）、処理はステップＳ１１０５に進められる。
【００９５】
ステップＳ１１０５において、印刷装置１０５から取得された、スリープモードの移行予告に基づき、印刷装置１０５へのアクセスタイミングを、予め定められて設定されたタイミング（例えば周期的なポーリングに基づくタイミング）から変更する。なお、ここでアクセスタイミングを変更することと、アクセスを停止することとは区別することとする。アクセスタイミングを変更するということは、アクセスするタイミングを、本来予定していたタイミングよりも早くしたり遅くしたりすることを意味する。Ｓ１１０５の動作をより具体的に説明すると、ＣＰＵ２００は、印刷装置１０５のスリープ移行予定時刻（ｔa）から予め決められアプリケーションが保持している固定時間を減算した値（ｔｔ２）を、ＲＡＭ２０２等の記憶領域に保存する。ＣＰＵ２００は、アプリケーションが次回に処理を開始する時刻として、時刻（ｔｔ２）に基づきアプリケーションの次回処理時刻（ｔ２）を変更する（Ｓ１１０５）。ここで、固定時間は、アプリケーションの内部処理、データ送信、印刷装置の内部処理等を考慮し、アプリケーションが特定処理を開始し、印刷装置１０５が特定処理の指示を受け着けるまでに要する十分な時間として予め設定されている時間である。
【００９６】
一方、ステップＳ１１０４の判定で、アプリケーションの次回処理時刻が、印刷装置のスリープ移行予定時刻（ｔａ）より早いと判定された場合、予め設定されているアプリケーションの次回処理時刻（ｔ２）を変更せず、処理をステップＳ１１０１に戻す。
【００９７】
図１２は、印刷装置１０５からスリープモード移行予告を取得した場合に、図１１Ａの処理に基づく次回処理時刻（t2）を予め定められたタイミング（例えば周期的なポーリングに基づくタイミング）から変更する場合のタイミングチャートである。図１２（ａ）は次回処理時刻（t2）の変更前を示し、図１２（ｂ）は次回処理時刻を（t2）から（tt2）に変更した場合のタイミングチャートを示す。
【００９８】
図１２(ａ)の場合、アプリケーションの処理は時刻ｔ０から開始されｔ１で終了し、アプリケーションの処理繰り返し間隔（ＴＴ）の経過後に次回処理時刻（ｔ２）の到来により次の処理が始まる。このとき、印刷装置１０５は、特定処理１に対する応答１の後、アイドル状態となり、スリープ移行予定時刻（ｔａ）の到来によりスリープ状態（スリープモード）に移行する。そして、時刻ｔ２において特定処理１に応答するためスリープモードから動作状態（動作モード）に移行する。この場合のスリープモードの時刻をtsleep1とする。
【００９９】
図１２（ｂ）の場合、アプリケーションの次回処理時刻がスリープ移行予定時刻（ｔa）より遅い場合、次回処理時刻（ｔ2）はスリープ移行予定時刻（ｔa）から予め決められアプリケーションが保持している固定時間を減算した値（tt2）に変更される。そして、２回目の特定処理１の終了後（終了時刻をtfinとする）、印刷装置１０５はスリープモードに移行する。この場合、印刷装置１０５におけるスリープモードの時間（tsleep2）は、アプリケーションの処理繰り返しによる中断がなくなるため、図１２(ａ)のスリープモードの時間（tsleep1）より長い時間が確保される。
【０１００】
次回処理時刻のタイミングをスリープ移行予定時刻より早くするタイミング制御により、印刷システムの機能を損なわず、かつ、通信制御に関する通信部の休止状態の維持を長くして、より一層の省エネ化を可能にする技術の提供が可能になる。ここで、休止状態は上述のディープスリープの状態に相当する。例えば、図１４で説明したように、スリープモードに移行（ＯＦＦ）したハードディスクを動作モードに移行（ＯＮ）すると、その後、一定時間はハードディスクをＯＮし続け、ハードディスクの稼動に要する電力を一定時間供給する必要がある。このため、この間はスリープモードへの移行が行えないという問題を防ぐことができる。
【０１０１】
（アプリケーションの終了タイミングの変更）
印刷装置１０５の動作モードを変更する方法として、時刻を指定して、その時刻になったらどんな動作を実行していても強制的に動作モードを変更させるものがある。例えば、深夜の時刻を指定して、強制的に電源をオフにして、スリープモードにすることも可能である。このような方法を用いて印刷装置１０５の動作モードを変更する場合、アプリケーションの特定処理が動作モード変更予定時刻より前に終わっていないと、アプリケーションの処理はエラーとなる。そこで、本実施形態では、アプリケーションの特定処理終了タイミングを印刷装置１０５の動作モード変更予定時刻より前に設定するタイミングの制御を図１３Ａ、Ｂ及びＣにより説明する。尚、ここでは動作モードの変更の例として、印刷が可能な動作モードから省電力のスリープモードへの移行について説明するが、動作モードの変更として、本発明の趣旨はこの例に限定されるものでないことはいうまでもない。
【０１０２】
図１３Ａは情報処理装置（１０１〜１０４）において実行可能なアプリケーションの処理の流れを説明するフローチャートであり、図１１Ａと同一の処理（Ｓ１１０１〜Ｓ１１０３）は同一のステップ番号を付している。図１３Ｂは処理（特定処理１、２、・・・）に対応した各種時刻をＲＡＭ２０２等に保存した状態を例示する図である。
【０１０３】
ステップＳ１３０４において、ＣＰＵ２００は、タイマー２１５により現在時刻を取得し、ＲＡＭ２０２等から、特定処理１に対応するアプリケーションの処理繰り返し間隔（ＴＴ）を取得し、アプリケーションの次回処理時刻（tt2）を計算する。ここで、現在時刻にアプリケーションの処理繰り返し間隔（ＴＴ）を加算した値がアプリケーションの次回処理時刻（tt2）である。
【０１０４】
ＣＰＵ２００は、アプリケーションの次回処理時刻に、特定処理１の実行に要する時間（texe1）を加算してアプリケーションの次回処理終了タイミングを計算する。ここで、処理（特定処理１、２、・・・）の実行に要する時間（texe1、texe2、・・・）とは、予め計測するなどの方法によりアプリケーションが処理を完了するのに要する十分な時間として、アプリケーションが保持しているものとする。
【０１０５】
そして、ＣＰＵ２００はアプリケーションの次回処理終了タイミングと、印刷装置から返信されたスリープ移行予定時刻（ｔa）とを比較する。すなわち、ＣＰＵ２００はアプリケーションの次回処理終了タイミングがスリープ移行予定時刻（ｔa）より遅いか否かを判定する。アプリケーションの次回処理終了タイミングが、印刷装置１０５のスリープ移行予定時刻（ｔａ）より遅いと判定された場合（Ｓ１３０４−Ｙｅｓ）、処理はステップＳ１３０５に進められる。
【０１０６】
ステップＳ１３０５において、ＣＰＵ２００は印刷装置１０５のスリープ移行予定時刻（ta）から、アプリケーションが保持している固定時間と特定処理１の実行に要する時間（texe1）とを減算した値（tt3）を、ＲＡＭ２０２等に保存する。ＣＰＵ２００は、アプリケーションが次回の処理を終了する時刻として、時刻（ｔｔ３）に基づきアプリケーションの次回処理終了時刻（ｔ３）を変更する（Ｓ１３０５）。ここで、固定時間は、アプリケーションの内部処理、データ送信、印刷装置の内部処理等を考慮し、アプリケーションが特定処理を開始し、印刷装置１０５が特定処理の指示を受け着けるまでに要する十分な時間として予め設定されている時間である。
【０１０７】
ステップＳ１３０４の判定で、アプリケーションの次回処理終了時刻が印刷装置のスリープ移行予定時刻（ta）より早いと判定された場合、予め設定されているアプリケーションの次回処理終了時刻（t3）を変更せず、処理をＳ１１０１に戻す。
【０１０８】
図１３Ｃ（ａ）、（ｂ）は、図１３Ａの処理に基づく次回処理終了時刻（t３）の変更に関するタイミングチャートである。図１３Ｃ(ａ)は次回処理終了時刻（t3）の変更前を示し、図１３Ｃ（ｂ）は次回処理時刻を（t3）から（tt3）に変更した場合のタイミングチャートを示す。
【０１０９】
図１３Ｃ（ａ）の場合、アプリケーションの処理は時刻ｔ０から開始されｔ１で終了し、アプリケーションの処理繰り返し間隔（ＴＴ）の経過後に次回処理時刻（ｔ２）の到来により次の処理が始まる。このとき、印刷装置１０５は、特定処理１に対する応答１の後、アイドル状態となる。そして、印刷装置１０５は、時刻ｔ2において特定処理１に応答する（応答２）が、応答が完了する前にスリープ移行予定時刻（ｔａ）の到来によりスリープモードに移行する。この場合、応答２が完了する前に印刷装置１０５はスリープモードに移行するため、時刻ｔ2から開始された特定処理１は応答２が完了しないまま終了時刻ｔ3に到る（この場合、特定処理１はエラーとなる。）。
【０１１０】
図１３Ｃ（ｂ）の場合、次回処理終了時刻（ｔ3）が、スリープ移行予定時刻（ｔa）より遅い場合、次回処理終了時刻（ｔ3）は、スリープ移行予定時刻（ｔa）から、固定時間及び特定処理１の実行時間とを減算した値（ｔｔ3）に変更される。
【０１１１】
２回目の特定処理１は次回処理時刻tt2でアプリケーションの実行が開始され、次回処理終了時刻tt3で終了する。この間、アプリケーションの実行に要する時間texe1が確保される。印刷装置１０５においては、２回目の特定処理１に対する応答２を完了することができる。その後、印刷装置１０５はアイドル状態になり、時刻ｔａの到来により動作モード（ステータス応答を行うために必要な電力が供給された第１電力状態）からスリープモード（必要な電力が供給されない第２電力状態）に移行する。
【０１１２】
次回処理終了時刻のタイミングをスリープ移行予定時刻より早くするタイミング制御により、印刷システムの機能を損なわず、かつ、通信制御に関する通信部の休止状態の維持を長くして、より一層の省エネ化を可能にする技術の提供が可能になる。ここで、休止状態は、上述のディープスリープの状態に相当する。例えば、図１４で説明したように、スリープモードに移行（ＯＦＦ）したハードディスクを動作モードに移行（ＯＮ）すると、その後、一定時間はハードディスクをＯＮし続け、ハードディスクの稼動に要する電力を一定時間供給する必要がある。このため、この間はスリープモードへの移行が行えないという問題を防ぐことができる。
【０１１３】
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１１４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１１６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施形態にかかる印刷システムの構成を示すブロック図である。
【図２】本発明の実施形態にかかる情報処理装置の構成を示すブロック図である。
【図３】本発明の実施形態にかかる印刷装置が有する機能を実現するコントローラユニットのハードウェア構成を示す図である。
【図４】情報処理装置及び印刷装置との間で送受信されるパケット形式のデータを例示する図である。
【図５】第１実施形態にかかる印刷装置における省電力状態への移行処理の流れを説明する図である。
【図６】第１実施形態にかかる印刷装置の基本動作の流れを説明する図である。
【図７】第１実施形態にかかる情報処理装置で実行可能なアプリケーションの処理の流れを説明する図である。
【図８】図７のステップＳ７０３における特定処理１の処理の流れを説明する図である。
【図９】図７のステップＳ７０５における特定処理２の処理の流れを説明する図である。
【図１０】図７のステップＳ７０５における特定処理２の処理の流れを説明する図である。
【図１１Ａ】第２実施形態にかかる情報処理装置において実行可能なアプリケーションの処理の流れを説明する図である。
【図１１Ｂ】処理（特定処理１、２、・・・）に対応した各種時刻をＲＡＭ等に保存した状態を例示する図である。
【図１２】図１１Ａの処理に基づく次回処理時刻（t2）の変更に関するタイミングを説明する図である。
【図１３Ａ】第２実施形態にかかる情報処理装置において実行可能なアプリケーションの処理の流れを説明する図である。
【図１３Ｂ】処理（特定処理１、２、・・・）に対応した各種時刻をＲＡＭ等に保存した状態を例示する図である。
【図１３Ｃ】図１３Ａの処理に基づく次回処理終了時刻（t3）の変更に関するタイミングを説明する図である。
【図１４】従来における印刷装置の動作モードの移行とアプリケーションの処理との関係を示す図である。
【図１】
2007301977.tif 000003
【図２】
2007301977.tif 000004
【図３】
2007301977.tif 000005
【図４】
2007301977.tif 000006
【図５】
2007301977.tif 000007
【図６】
2007301977.tif 000008
【図７】
2007301977.tif 000009
【図８】
2007301977.tif 000010
【図９】
2007301977.tif 000011
【図１０】
2007301977.tif 000012
【図１１Ａ】
2007301977.tif 000013
【図１１Ｂ】
2007301977.tif 000014
【図１２】
2007301977.tif 000015
【図１３Ａ】
2007301977.tif 000016
【図１３Ｂ】
2007301977.tif 000017
【図１３Ｃ】
2007301977.tif 000018
【図１４】
2007301977.tif 000019