(57)【要約】【課題】印刷装置の省電力化を図ることが可能なプログラムを提供すること。【解決手段】プリンタ１０は、省電力状態時に電力供給が停止されるメインＣＰＵ１１を備える。ＰＣ２０ａは、プリンタ１０に通信可能に接続される。プリンタドライバ３３は、プリンタ１０での印刷処理の開始指令が入力されることに応じて、印刷データを生成する。プリンタドライバ３３は、開始指令の入力に応じて、メインＣＰＵ１１の電源を投入する旨のマジックパケットを生成し、印刷データにマジックパケットを付加し、マジックパケットが付加された印刷データをスプーラ３４に保存する。プリントモニタ４１は、スプーラ３４から出力される印刷データにマジックパケットが付加されていることを検出すると、印刷データからマジックパケットを分離する。プリントモニタ４１は、分離されたマジックパケットおよび印刷データをプリンタ１０に送信する。【選択図】図３
2010277257.tif 000002
【特許請求の範囲】
【請求項１】
印刷データ等の通信を制御するネットワーク制御部と前記印刷データの印刷処理を制御する主制御部とを備え省電力状態時に前記主制御部への電力供給が停止される印刷装置に対して、ネットワークを介して通信可能に接続されるコンピュータを、
前記印刷処理を行う前記印刷装置を特定する特定情報で特定された前記印刷装置での前記印刷処理の開始指令の入力が前記コンピュータで受け付けられることに応じて、前記特定情報で特定された前記印刷装置で用いられる前記印刷データを生成する印刷データ生成手段と、
前記開始指令の入力が前記コンピュータで受け付けられたことを条件として、前記特定情報で特定された前記印刷装置の前記主制御部の電源を投入する旨の起動命令を生成する起動命令生成手段と、
前記印刷データに前記起動命令を付加する付加処理を行う起動命令付加手段と、
前記起動命令が付加された前記印刷データをスプーラに保存する保存手段と、
前記スプーラから出力される前記印刷データに前記起動命令が付加されているか否かを監視し、付加されていることが検出された場合には、前記起動命令が付加された前記印刷データから前記起動命令を分離する分離処理を行う分離手段と、
前記分離手段で分離された前記起動命令および前記印刷データを、前記特定情報で特定された前記印刷装置に送信する送信手段と
して機能させるためのプログラム。
【請求項２】
前記起動命令生成手段は、
前記特定情報に基づいて前記特定情報で特定された前記印刷装置のＩＰアドレスを取得し、
取得した前記ＩＰアドレスを用いて前記特定情報で特定された前記印刷装置のＭＡＣアドレスを取得し、
取得した前記ＭＡＣアドレスを用いて前記起動命令を生成する
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記起動命令付加手段が実行する前記付加処理では、前記印刷データのヘッダ部分に対して、前記起動命令と、前記起動命令の前記ヘッダ部分における書込み位置を表す位置情報とが書き込まれ、
前記分離手段が実行する前記分離処理では、前記位置情報に基づいて、前記ヘッダ部分から前記起動命令が抜き出される
ことを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
前記起動命令を受信した前記印刷装置から発信される応答信号を受信する応答受信手段として前記コンピュータを機能させ、
前記送信手段は、前記分離手段で前記印刷データに前記起動命令が付加されていることが検出されることに応じて前記分離手段で分離された前記起動命令を前記印刷装置に送信し、前記応答受信手段で前記応答信号を受信することに応じて前記分離手段で分離された前記印刷データを前記印刷装置へ送信する
ことを特徴とする請求項１ないし請求項３に記載のプログラム。
【請求項５】
前記特定情報で特定された前記印刷装置の前記主制御部の電源が投入されているか否かを判断する起動判断手段として前記コンピュータを機能させ、
前記送信手段は、前記起動判断手段で前記主制御部の電源が投入されていないと判断される場合に、前記起動命令を前記印刷装置に送信する
ことを特徴とする請求項１ないし請求項４に記載のプログラム。
【請求項６】
現在時刻を取得する現在時刻取得手段と、
最後に前記印刷装置で行われた前記印刷処理の終了時刻である最終印刷終了時刻を記憶する最終印刷終了時刻記憶手段と、
前記印刷処理が行われない状態で前記印刷装置の前記主制御部の電源が投入された状態を維持する時間である待機時間の設定値を取得する待機時間取得手段と、
して前記コンピュータを機能させ、
前記起動判断手段は、前記最終印刷終了時刻から前記現在時刻までの経過時間が前記待機時間よりも小さい場合には前記主制御部の電源が投入されていると判断し、前記経過時間が前記待機時間よりも大きい場合には前記主制御部の電源が投入されていないと判断する
ことを特徴とする請求項５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置の省電力化を図ることが可能な、印刷装置を起動させるためのプログラムに関する。
【背景技術】
【０００２】
ＬＡＮなどのネットワークに接続される印刷装置では、印刷データが所定時間受け付けられない場合などの不使用時にスリープモードとされ、低消費電力状態とされるものがある。スリープモードでは、印刷装置の制御部には電力の供給が維持される一方で、印刷装置のヒータ部などの大きな電力が必要とされる部分に対して電力の供給が停止される。そして、スリープモード時に印刷データが印刷装置に送信されてくると、制御部によってスリープモードが解除され、印刷処理が開始される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2005-297487号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、印刷装置等の電子機器に対しては、より厳しい低消費電力の要求が行われている。しかし、スリープモードでは、制御部の待機電力が必要であるため、十分に省電力化を図れない場合がある。本明細書では、このような不便性を解消することができる技術を提供する。
【課題を解決するための手段】
【０００５】
本発明に係るプログラムは、コンピュータを、印刷データ生成手段と、起動命令生成手段と、起動命令付加手段と、保存手段と、分離手段と、送信手段と、して機能させる。コンピュータは、印刷装置に対して、ネットワークを介して通信可能に接続される。コンピュータに接続される印刷装置は１台に限られず、複数であってもよい。また、ネットワークの一例としては、イーサネット（登録商標）が挙げられる。印刷装置は、印刷データ等の各種情報の通信を制御するネットワーク制御部と、印刷データの印刷処理を制御する主制御部とを備える。ネットワーク制御部の一例としては、ＬＡＮアダプタのコントローラが挙げられる。また、主制御部の一例としては、メインＣＰＵを備える制御部が挙げられる。印刷装置では、省電力状態時には、主制御部への電力供給が停止される。なお、省電力状態時において、ネットワーク制御部への電力供給は停止されない。よって、ネットワーク制御部では、省電力状態時においても、コンピュータから送信されてくる各種情報を受信することが可能とされる。
【０００６】
印刷データ生成手段は、開始指令の入力がコンピュータで受け付けられたことを条件として、特定情報で特定された印刷装置で用いられる印刷データを生成する。印刷データの一例としては、ページ画像データやプリンタコマンドを含むデータが挙げられる。開始指令は、特定情報で特定された印刷装置で、印刷処理を開始する旨の指令である。開始指令の入力は、例えば、ユーザによって行われるとしてもよい。特定情報は、印刷データの印刷処理を行う印刷装置を特定する情報である。特定情報の一例としては、印刷データ生成手段や、印刷装置への入出力インターフェイスが関連付けられた、コンピュータ上で一意に定められる識別子が挙げられる。特定情報の入力は、例えば、印刷処理を行う印刷装置がユーザによって選択されることに応じて、選択された印刷装置の識別子が入力される形態としてもよい。
【０００７】
起動命令生成手段は、特定情報で特定された印刷装置の、主制御部の電源を投入する旨の起動命令を生成する。起動命令付加手段は、印刷データに起動命令を付加する付加処理を行う。付加処理の一例としては、印刷データに設けられている、各種の情報を書き込むことが出来る領域に、起動命令を書き込む形態が挙げられる。保存手段は、起動命令が付加された印刷データをスプーラに保存する。スプーラは、発生した印刷データを一時的に保存し、印刷処理の進行状況に応じて印刷データを順次出力していく仕組みである。分離手段は、スプーラから出力される印刷データに起動命令が付加されているか否かを監視し、付加されていることが検出された場合には、起動命令が付加された印刷データから起動命令を分離する分離処理を行う。分離処理の一例としては、印刷データに設けられている、各種の情報を書き込むことが出来る領域に書き込まれている起動命令を抜き出す形態が挙げられる。送信手段は、分離手段で分離された起動命令および印刷データを、特定情報で特定された印刷装置に送信する。
【０００８】
これにより、印刷装置の省電力状態時に主制御部への電力供給が停止されていても、印刷の開始時などにコンピュータから印刷装置へ起動命令を自動で送信することにより、主制御部の電源を投入して省電力状態から通常状態へ移行させることが可能となる。よって、印刷装置の省電力状態時において、主制御部への電力供給を停止させることが可能となるため、印刷装置のさらなる省電力化を図ることができる。また、自動で主制御部の電源を投入することが可能となるため、ユーザの利便性を向上させることができる。
【０００９】
また、印刷データに起動命令が付加されることにより、両者が一体化されるため、印刷データと起動命令との対応関係を確実に維持しながら印刷データと起動命令を取り扱うことが出来る。よって、スプーラから印刷データと起動命令を取り出して印刷装置へ送信する際において、データ管理を確実かつ容易に行うことができるため、データ消失等を防止することが可能となる。
【００１０】
また、印刷データに起動命令が付加されることにより、印刷データと起動命令とで異なる取り扱いをする必要がなくなるため、データの取り扱いを一元化することができる。これにより、スプーラ等の仕様を変更する必要がなくなるため、プログラムの設計の容易化を図ることが可能となる。
【００１１】
また、起動命令生成手段は、特定情報に基づいて、特定情報で特定された印刷装置のＩＰアドレスを取得するとしてもよい。また、起動命令生成手段は、取得したＩＰアドレスを用いて、特定情報で特定された印刷装置のＭＡＣアドレスを取得するとしてもよい。ＭＡＣアドレスの取得方法の一例としては、イーサネット（登録商標）環境において、ＩＰアドレスからＭＡＣアドレスを得るために用いられるプロトコル（例：Address Resolution Protocol (ＡＲＰ)）を用いる方法が挙げられる。また、起動命令生成手段は、取得したＭＡＣアドレスを用いて、起動命令を生成するとしてもよい。起動命令の一例としては、Wake-on-LAN技術で用いられるマジックパケットが挙げられる。これにより、特定情報で特定された印刷装置に備えられる主制御部に対して、電源を投入するための起動命令を作成することができる。
【００１２】
また、起動命令付加手段が実行する付加処理では、印刷データのヘッダ部分に対して、起動命令と位置情報とが書き込まれる。印刷データのヘッダ部分は、印刷処理に用いられない情報が保持される部分であり、例えば、印刷データの送信先に関する情報などが保持される。位置情報は、ヘッダ部分における起動命令の書込み位置を表す情報である。位置情報で指定された書込み位置のデータが解析されることにより、印刷データに起動命令が付加されているか否かを検出することができる。また、分離手段が実行する分離処理では、位置情報に基づいて、ヘッダ部分から起動命令が抜き出される。これにより、付加処理および分離処理を行うことが可能となる。
【００１３】
また、コンピュータを、応答受信手段として機能させるとしてもよい。応答受信手段は、起動命令を受信した印刷装置から発信される応答信号を受信する。応答信号の一例としては、印刷装置のステータスを表す情報が挙げられる。また、送信手段は、分離手段で印刷データに起動命令が付加されていることが検出されることに応じて、分離手段で分離された起動命令を印刷装置に送信するとしてもよい。また、送信手段は、応答受信手段で応答信号を受信することに応じて、分離手段で分離された印刷データを印刷装置へ送信するとしてもよい。
【００１４】
これにより、印刷装置から応答があったことを条件として印刷データの送信を開始することができる。すると、印刷装置の主制御部の起動が完了しており、印刷装置が通常状態とされていることを確認した上で、印刷データを送ることができる。よって、印刷装置での印刷データの受信失敗や、受信失敗に伴う印刷データの消失等を防止することができる。
【００１５】
また、コンピュータを、起動判断手段として機能させるとしてもよい。起動判断手段は、特定情報で特定された印刷装置の電源が投入されているか否かを判断する。また、送信手段は、起動判断手段で主制御部の電源が投入されていないと判断される場合に、起動命令を印刷装置に送信する動作を行う。これにより、起動命令が必要な場合（主制御部の電源が投入されていない場合など）にのみ、起動命令を印刷装置に送信することができる。よって、不要な起動命令が印刷装置に送信されてしまう事態を防止できるため、起動命令の送信に伴って処理時間のロスが発生する事態等を回避することができる。
【００１６】
また、コンピュータを、現在時刻取得手段と、最終印刷終了時刻記憶手段と、待機時間取得手段と、して機能させるとしてもよい。現在時刻取得手段は、現在時刻を取得する。最終印刷終了時刻記憶手段は、最後に印刷装置で行われた印刷処理の終了時刻である最終印刷終了時刻を記憶する。待機時間取得手段は、印刷処理が行われない状態で印刷装置の主制御部の電源が投入された状態を維持する時間である、待機時間の設定値を取得する。待機時間は、例えば、印刷装置に保持されており、待機時間取得手段がネットワークを介して取得するとしてもよい。また、待機時間は、コンピュータの記憶手段等に記憶されるとしてもよい。また、起動判断手段は、最終印刷終了時刻から現在時刻までの経過時間が待機時間よりも小さい場合には、主制御部の電源が投入されていると判断してもよい。また、起動判断手段は、経過時間が待機時間よりも大きい場合には、主制御部の電源が投入されていないと判断してもよい。これにより、現在時刻、最終印刷終了時刻および待機時間から、印刷装置の起動状態を判断することができる。よって、起動状態に関するステータス情報などを印刷装置から受信する必要がなくなるため、起動状態の判断を簡略化することができる。
【図面の簡単な説明】
【００１７】
【図１】印刷システムの構成図である。
【図２】印刷システムのブロック図である。
【図３】プリンタドライバの動作フロー図である。
【図４】ＭＡＣアドレス取得処理の動作フロー図である。
【図５】プリントモニタの動作フロー図である。
【図６】起動状態取得処理の動作フロー図である。
【図７】データ送信後処理の動作フロー図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を用いて説明する。図１は、本実施形態の印刷システム１の構成図である。印刷システム１は、プリンタ１０と、パーソナルコンピュータであるＰＣ２０ａないしＰＣ２０ｃとを有している。プリンタ１０と、ＰＣ２０ａないしＰＣ２０ｃとは、ＬＡＮ３０により接続されている。
【００１９】
プリンタ１０の詳細な構成について説明する。プリンタ１０は、メインＣＰＵ１１、液晶表示パネル１２、入力部１３、ＵＳＢ＿Ｉ／Ｆ１５、記憶部１６、ネットワークＩ／Ｆ１７、ＲＡＭ１９を備える。また、ネットワークＩ／Ｆ１７は、サブＣＰＵ２０を備える。これらの構成要素は、バスを介して接続されている。
【００２０】
記憶部１６は、ＲＯＭ、ハードディスク、フラッシュメモリ等の不揮発性の記憶媒体から構成され、プリンタ１０が各種機能を実現する際に利用するデータの記憶領域として用いられる。
【００２１】
メインＣＰＵ１１は、記憶部１６等に記憶されたプログラムに基づいて、印刷処理などの各種処理を実行する。またメインＣＰＵ１１の電源は、プリンタ１０で印刷処理が行われない期間が待機時間ＴＷを超過することに応じて、ソフトウェア的にオフ状態にされる。待機時間ＴＷは、ユーザ等によって予め定められる時間であり、記憶部１６に保持される。また、待機時間ＴＷは、プリンタ１０の入力部１３等を用いて設定されるとしてもよい。
【００２２】
ＲＡＭ１９は、メインＣＰＵ１１がデータの書き込みや読み出しをすることができるメモリ空間を備える。液晶表示パネル１２は、各種の情報を表示する。入力部１３は、メカニカルスイッチやタッチパネル等を備え、ユーザからの操作入力を受け付ける。ＵＳＢ＿Ｉ／Ｆ１５は、ＵＳＢ対応機器とＵＳＢ規格に基づいた通信を実現するための通信処理を行う。
【００２３】
ネットワークＩ／Ｆ１７は、ＬＡＮ３０上の機器（本実施形態ではＰＣ２０ａないしＰＣ２０ｃ）と通信を行う。ネットワークＩ／Ｆ１７は、サブＣＰＵ２０によって制御される。メインＣＰＵ１１の電源がオフ状態の場合においても、サブＣＰＵ２０の電源がオン状態とされることにより、プリンタ１０とＰＣ２０ａないしＰＣ２０ｃとは通信することが可能とされる。
【００２４】
また、プリンタ１０には、Wake-On-LAN機能が実装されている。Wake-On-LAN機能は、ＰＣ２０ａないしＰＣ２０ｃからＬＡＮ３０上の機器にマジックパケットをブロードキャスト送信することによって、メインＣＰＵ１１の電源投入を遠隔で操作することができる機能である。
【００２５】
次に、ＰＣ２０ａの詳細な構成について説明する。ＰＣ２０ａは、ＣＰＵ２１、ディスプレイ２２、キーボード２３、マウス２４、ネットワークＩ／Ｆ２５、記憶部２６、ＵＳＢ＿Ｉ／Ｆ２７、ＲＡＭ２９を備える。これらの構成要素は、バスを介して接続されている。記憶部２６には、ＯＳ（Operating System）や、各種アプリケーションプログラムや、プリンタ１０を制御するためのデバイスドライバなどの、各種のソフトウェアが記憶される。本実施形態では、ＯＳとしてウインドウズ（登録商標）が用いられる場合を説明する。また、アプリケーションプログラムの一例としては、写真加工ソフトなどの画像表示アプリケーション、ワープロアプリケーション、表計算アプリケーションなどが挙げられる。また、デバイスドライバの一例としては、プリンタ１０の印刷機能を制御するためのプリンタドライバが挙げられる。
【００２６】
ＣＰＵ２１は、記憶部２６に記憶された各種のソフトウェアに基づいて処理を実行する。ＲＡＭ２９は、ＣＰＵ２１がデータの書き込みや読み出しをすることができるメモリ空間を備える。ディスプレイ２２は、各種の情報を表示する。キーボード２３は、周知のキーボードであり、ユーザからの操作入力を受け付ける。マウス２４は、周知のマウスであり、ユーザからの操作入力を受け付ける。ネットワークＩ／Ｆ２５は、他のＬＡＮ３０上の機器（本実施形態ではプリンタ１０）と通信を行う。ＵＳＢ＿Ｉ／Ｆ２７は、ＵＳＢ対応機器とＵＳＢ規格に基づいた通信を実現するための通信処理を行う。なお、ＰＣ２０ｂおよびＰＣ２０ｃの構成は、ＰＣ２０ａの構成と同様であるため、ここでは詳細な説明は省略する。
【００２７】
図２に、本実施形態に係る印刷システムのブロック図を示す。ＰＣ２０ａは、アプリケーション３１、ＧＤＩ（Graphics Device Interface）３２、プリントシステム４２およびネットワークシステム４３を備える。プリントシステム４２は、プリンタドライバ３３、スプーラ３４、プリントモニタ４１を備える。また、プリントモニタ４１は、ランゲージモニタ３５およびポートモニタ３６を備える。これらのソフトウェアは、ウインドウズ（登録商標）によって管理される。
【００２８】
アプリケーション３１は、例えば、ワードプロセッサのような文書や図形の作成・編集、写真画像を編集する機能や、作成・編集したアプリケーションデータに基づく印刷指示を行う機能を備える。また、アプリケーション３１は、プリンタ設定値を設定する機能を備える。プリンタ設定値の一例としては、ウインドウズ（登録商標）で用いられるＤＥＶＭＯＤＥ構造体が挙げられる。また、プリンタ設定値の内容の一例としては、用紙サイズ、用紙の種類、コピー枚数、両面印刷するか否か、ＷａｋｅＵｐオプションを使用するか否か、などが挙げられる。
【００２９】
ＷａｋｅＵｐオプションは、プリンタ１０で印刷処理が行われない期間が待機時間ＴＷを超過することに応じて、ソフトウェア的にメインＣＰＵ１１の電源をオフにする機能を備える。また、プリンタ１０での印刷処理の実行時に、Wake-On-LAN機能を用いることで、ＰＣ２０ａないしＰＣ２０ｃからメインＣＰＵ１１の電源をオンにする機能を備える。なお、ＷａｋｅＵｐオプションの使用の有無の設定は、予めユーザによって設定されるとしてもよい。
【００３０】
ＧＤＩ３２は、ウインドウズ（登録商標）に搭載されたプログラムの一つであり、プリンタ１０やディスプレイ２２をコントロールするプログラムである。ＧＤＩ３２は、具体的には、アプリケーション３１からの描画命令に応じて、グラフィカルオブジェクトをビットマップ画像データとして描画し、プリンタドライバ３３などの出力デバイスのデバイスドライバへの橋渡しを行う。
【００３１】
プリンタドライバ３３は、アプリケーション３１から渡されたプリンタ設定値を元に、プリンタ１０で用いられる印刷データを生成する。印刷データは、画像データおよびプリンタコマンドを含んでいる。画像データは、プリンタ言語で記述された描画データをページ画像データに変換した、イメージデータである。また、プリンタコマンドは、プリンタ１０が解釈できるように変換された印刷命令である。プリンタコマンドの一例としては、ビットマップデータのラインの長さとライン数などを指定するページ開始コマンドや、画像データの終了を示す画像データ終了コマンドが挙げられる。プリンタドライバ３３で生成された印刷データは、スプーラ３４に渡される。
【００３２】
スプーラ３４は、発生したジョブ情報を一時的に記憶部２６に保存し、順次実行していくキュー処理を行う。ジョブ情報の一例としては、プリンタドライバ３３から渡される印刷データや、印刷処理を行うプリンタを特定するプリンタ名などが挙げられる。
【００３３】
ランゲージモニタ３５は、印刷データをスプーラ３４から受け取り、ポートモニタ３６を経由してプリンタ１０に送信する。このとき、ランゲージモニタ３５は、プリンタ１０のステータス情報を受信することで、プリンタ１０の印刷状況に合わせて印刷データを送信する。
【００３４】
ポートモニタ３６は、ネットワークシステム４３を用いて、プリンタ１０との実際の通信を行う。また、ポートモニタ３６は、プリンタ１０からステータス情報を受信した場合には、ランゲージモニタ３５に出力する。また、ネットワークシステム４３は、印刷データや、ステータス情報や、マジックパケット等の通信を行う。
【００３５】
印刷システム１で行われる印刷処理について、図３ないし図７のフローチャートを用いて説明する。本実施形態の説明例では、ＰＣ２０ａのアプリケーション３１で生成した画像データを、プリンタ１０に送信して印刷する場合を説明する。また、ＷａｋｅＵｐオプションがオンとされている場合を説明する。なお、印刷システム１で行われる印刷処理は、ユーザによって印刷指示が入力されることにより開始され、印刷の終了により終了する。
【００３６】
Ｓ２１において、プリンタドライバ３３は、印刷データの生成処理を行う。まず、ユーザがアプリケーション３１を操作することによって、プリンタ設定値がＰＣ２０ａに入力される。プリンタ設定値の入力は、例えば、ディスプレイ２２に表示されるダイアログ画面を介して、キーボード２３やマウス２４を用いて行われるとしてもよい。
【００３７】
また、ユーザによって、印刷処理を行うプリンタのプリンタ名が入力される。プリンタ名は、プリンタドライバ３３や、ポートモニタ３６が関連付けられた、ＰＣ２０ａ上で一意に定められる識別子である。プリンタ名の入力方法の一例としては、印刷処理が可能なプリンタの一覧がダイアログ画面に表示され、ユーザによって印刷処理を行うプリンタが選択されることに応じて、選択されたプリンタのプリンタ名が入力される形態が挙げられる。本実施形態では、印刷処理を行うプリンタとしてプリンタ１０が選択され、プリンタ１０のプリンタ名がＰＣ２０ａに入力される。
【００３８】
プリンタ名およびプリンタ設定値の入力が完了することに応じて、印刷開始指令が生成される。印刷開始指令は、ユーザによって特定されたプリンタで、印刷処理を開始する旨の指令である。そして、アプリケーション３１からプリンタドライバ３３に対して、プリンタ名、プリンタ設定値、印刷開始指令が渡される。
【００３９】
プリンタドライバ３３は、印刷開始指令を受け付けることに応じて、プリンタ１０での印刷処理に用いられる印刷データを生成する。印刷データは、アプリケーション３１から渡されたプリンタ設定値を元に生成される。
【００４０】
Ｓ２３に進むと、プリンタドライバ３３は、プリンタ設定値のＷａｋｅＵｐオプションがオンに設定されているか否かを判断する。ＷａｋｅＵｐオプションがオンではないと判断される場合（Ｓ２３：ＮＯ）には、Ｓ３５へ進み、プリンタドライバ３３は印刷データをスプーラに書き込む。一方、ＷａｋｅＵｐオプションがオンであると判断される場合（Ｓ２３：ＹＥＳ）には、Ｓ２５へ進む。
【００４１】
Ｓ２５において、プリンタドライバ３３は、プリンタ１０のＭＡＣアドレス取得処理を行う。ＭＡＣアドレス取得処理の詳細を、図４のフローを用いて説明する。
【００４２】
Ｓ４１において、プリンタドライバ３３は、プリンタ１０のプリンタ名に基づき、プリンタ１０のポート情報を取得する。ポート情報は、プリンタの各々に対応して用意される、通信の設定に関する情報である。ポート情報には、プリンタポート、インターフェース（イーサネット（登録商標）、ＵＳＢ）の種類、データの通信形式、通信先のプリンタのＩＰアドレス、などが含まれる。Ｓ４３において、プリンタドライバ３３は、プリンタ１０のポート情報から、プリンタ１０のＩＰアドレスを取得する。
【００４３】
Ｓ４５において、プリンタドライバ３３は、プリンタ１０のＩＰアドレスが取得できたか否かを判断する。取得できなかったと判断される場合（Ｓ４５：ＮＯ）には、ＭＡＣアドレス取得処理を終了し、Ｓ２７（図３）へ戻る。一方、取得できたと判断される場合（Ｓ４５：ＹＥＳ）には、Ｓ４７へ進む。
【００４４】
Ｓ４７において、プリンタドライバ３３は、ＡＲＰ（Address Resolution Protocol）を用いて、プリンタ１０のＩＰアドレスからプリンタ１０のＭＡＣアドレスを取得する。ＡＲＰは、イーサネット（登録商標）環境において、ＩＰアドレスからＭＡＣアドレスを得るために用いられるプロトコルである。ＭＡＣアドレス取得処理が終了すると、Ｓ２７（図３）へ戻る。
【００４５】
Ｓ２７において、プリンタドライバ３３は、プリンタ１０のＭＡＣアドレスの取得に成功したか否かを判断する。成功していないと判断される場合（Ｓ２７：ＮＯ）にはＳ３５へ進み、プリンタドライバ３３は印刷データをスプーラに書き込む。一方、成功していると判断される場合（Ｓ２７：ＹＥＳ）には、Ｓ２９へ進む。
【００４６】
Ｓ２９において、プリンタドライバ３３は、プリンタ１０のＭＡＣアドレスからマジックパケットを生成する。マジックパケットは、Wake-on-LAN技術で用いられるパケットであり、ＭＡＣアドレスで特定されたプリンタのメインＣＰＵの電源を投入する指令を行うためのパケットである。
【００４７】
Ｓ３１において、プリンタドライバ３３は、印刷データのヘッダ部分にＷａｋｅＵｐコマンドを付加する付加処理を行う。ＷａｋｅＵｐコマンドは、マジックパケットおよびマジックパケットの位置情報を含む情報である。マジックパケットの位置情報は、印刷データのヘッダ部分におけるマジックパケットの書込み位置を表す情報である。また、印刷データのヘッダ部分は、印刷処理に用いられない情報（例：プリンタコマンド等）が書き込まれる部分である。
【００４８】
Ｓ３５において、プリンタドライバ３３は、印刷データをスプーラ３４に書き込む。この書き込み動作では、ＷａｋｅＵｐコマンドが付加された印刷データと、ＷａｋｅＵｐコマンドが付加されていない印刷データとは、同様に取り扱われる。
【００４９】
次に、図５を用いて、プリントモニタ４１の動作を説明する。Ｓ６１において、プリントモニタ４１は、スプーラ３４から出力される印刷データに、ＷａｋｅＵｐコマンドが含まれているか否かを判断する。ＷａｋｅＵｐコマンドが含まれていないと判断される場合（Ｓ６１：ＮＯ）にはＳ７５へ進み、プリンタ１０への印刷データの送信処理を実行する。一方、ＷａｋｅＵｐコマンドが含まれていると判断される場合（Ｓ６１：ＹＥＳ）には、Ｓ６３へ進む。
【００５０】
Ｓ６３において、プリントモニタ４１は、プリンタ１０の起動状態取得処理を行う。起動状態取得処理では、プリンタ１０のメインＣＰＵ１１の電源が投入されているか否かが判断される。
【００５１】
プリンタの起動状態取得処理を、図６を用いて説明する。Ｓ１０１において、プリントモニタ４１は、現在時刻Ｔ１を取得する。現在時刻Ｔ１の取得動作は、例えば、ＰＣ２０ａの時計機能を用いて行うことができる。
【００５２】
Ｓ１０３において、プリントモニタ４１は、最終印刷終了時刻ＴＥを取得する。最終印刷終了時刻ＴＥは、最後にプリンタ１０で行われた印刷処理の終了時刻である。最終印刷終了時刻ＴＥの取得は、ＰＣ２０ａの記憶部２６に記憶されている最終印刷終了時刻ＴＥを読み出すことで行われる。
【００５３】
Ｓ１０５において、プリントモニタ４１は、プリンタの待機時間ＴＷを取得する。待機時間ＴＷの取得は、ＰＣ２０ａの記憶部２６に記憶されている待機時間ＴＷを読み出すことで行われる。
【００５４】
Ｓ１０７において、プリントモニタ４１は、最終印刷終了時刻ＴＥから現在時刻Ｔ１までの経過時間が、待機時間ＴＷよりも大きいか否かを判断する。経過時間が待機時間ＴＷよりも大きいと判断される場合（Ｓ１０７：ＹＥＳ）には、メインＣＰＵ１１の電源がオフ状態とされ、プリンタ１０が停止中であると判断される（Ｓ１０９）。一方、経過時間が待機時間ＴＷよりも大きくないと判断される場合（Ｓ１０７：ＮＯ）には、メインＣＰＵ１１の電源がオン状態とされ、プリンタ１０が起動中であると判断される（Ｓ１１１）。そして、Ｓ６５（図５）へ戻る。
【００５５】
これにより、起動状態取得処理によって、現在時刻Ｔ１、最終印刷終了時刻ＴＥおよび待機時間ＴＷから、プリンタ１０の起動状態を判断することができる。よって、起動状態に関するステータス情報などをプリンタ１０から受信することなく起動状態を判断できるため、起動状態の判断を簡略化することができる。
【００５６】
Ｓ６５において、プリントモニタ４１は、プリンタ１０が停止中か否かを判断する。当該判断は、起動状態取得処理（図６）の判断結果に基づいて行われる。プリンタが停止中ではないと判断される場合（Ｓ６５：ＮＯ）にはＳ７５へ進み、プリンタ１０へ印刷データを送信する。一方、プリンタが停止中であると判断される場合（Ｓ６５：ＹＥＳ）には、Ｓ６７へ進む。Ｓ６７に進むと、プリントモニタ４１は、印刷データのヘッダ部分に付加されているＷａｋｅＵｐコマンドを読み込む。
【００５７】
Ｓ６９において、プリントモニタ４１は、ＷａｋｅＵｐコマンドからマジックパケットを分離する分離処理を行う。分離処理では、ＷａｋｅＵｐコマンドに含まれる位置情報に基づいて、印刷データのヘッダ部分からマジックパケットが抽出される。Ｓ７１に進むと、プリントモニタ４１は、マジックパケットをイーサネット（登録商標）フレームとしてプリンタ１０へ送信する。
【００５８】
これにより、メインＣＰＵ１１の電源が投入されておらず、プリンタ１０が停止中であると判断される場合にのみ、マジックパケットをプリンタ１０に送信することができる。よって、不要なマジックパケットがプリンタ１０に送信されてしまう事態を防止できるため、マジックパケットの送信に伴って処理時間のロスが発生する事態等を回避することができる。
【００５９】
プリンタ１０は、プリンタ１０に関するマジックパケットを受信すると、プリンタ１０が起動中である旨のステータス情報をＰＣ２０ａへ返信する。具体的には、プリンタ１０が停止状態とされているときにマジックパケットを受信した場合には、メインＣＰＵ１１の電源をオン状態とした上で、プリンタ１０が起動中である旨のステータス情報をＰＣ２０ａへ送信する。また、プリンタ１０がＰＣ２０ｂやＰＣ２０ｃによって起動状態とされているときにマジックパケットを受信した場合には、プリンタ１０が起動中である旨のステータス情報をＰＣ２０ａへ送信する。
【００６０】
Ｓ７３において、プリントモニタ４１は、プリンタ１０が起動中である旨のステータス情報を、プリンタ１０から受信したか否かを判断する。起動中の旨のステータス情報を受信していない場合（Ｓ７３：ＮＯ）には、当該ステータス情報を受信するまで待機する。そして、起動中の旨のステータス情報を受信することに応じて（Ｓ７３：ＹＥＳ）、Ｓ７５へ進む。Ｓ７５において、プリントモニタ４１は、プリンタ１０に印刷データを送信する。
【００６１】
これにより、プリンタ１０から起動完了の旨の応答があったことを条件として、印刷データの送信を開始することができる。すなわち、プリンタ１０のメインＣＰＵ１１の起動が完了しており、プリンタ１０が通常状態とされていることを確認した上で、印刷データを送ることができる。よって、プリンタ１０での印刷データの受信失敗や、受信失敗に伴う印刷データの消失等を防止することができる。
【００６２】
Ｓ７７において、プリントモニタ４１は、データ送信後処理を行う。図７を用いて、データ送信後処理の内容を説明する。Ｓ８１において、プリントモニタ４１は、現在時刻Ｔ１を取得する。Ｓ８３に進むと、プリントモニタ４１は、現在時刻Ｔ１を最終印刷終了時刻ＴＥとして記憶部２６に保存する。Ｓ８５において、プリントモニタ４１は、プリンタ１０の記憶部１６に記憶されている待機時間ＴＷを、ネットワークを介して取得する。Ｓ８７において、プリントモニタ４１は、取得した待機時間ＴＷを記憶部２６に保存する。これにより、現在時刻Ｔ１、最終印刷終了時刻ＴＥおよび待機時間ＴＷの更新が行われることで、プリンタの起動状態取得処理（Ｓ６３）の準備を整えることができる。
【００６３】
本実施形態に係る発明の効果を説明する。本実施形態に係るプリンタドライバ３３およびプリントモニタ４１では、プリンタ１０の省電力状態時にメインＣＰＵ１１への電力供給が停止されていても、印刷の開始時などにＰＣ２０ａからプリンタ１０へマジックパケットを自動で送信することにより、メインＣＰＵ１１の電源を投入して省電力状態から通常状態へ移行させることが可能となる。よって、省電力状態時においてはネットワークＩ／Ｆ１７のサブＣＰＵ２０に対してのみ電力供給を行い、実際にプリンタ１０が印刷データを処理する時にのみメインＣＰＵ１１に電源を供給することが可能となる。すなわち、プリンタ１０の省電力状態時において、メインＣＰＵ１１への電力供給を停止させることが可能となるため、プリンタ１０のさらなる省電力化を図ることができる。また、自動でメインＣＰＵ１１の電源を投入することが可能となるため、ユーザの利便性を向上させることができる。
【００６４】
また、印刷データにマジックパケットが付加されることにより、両者が一体化されるため、印刷データとマジックパケットとの対応関係を確実に維持しながら印刷データとマジックパケットを取り扱うことが出来る。よって、スプーラ３４から印刷データとマジックパケットを取り出してプリンタ１０へ送信する際において、データ管理を確実かつ容易に行うことができるため、データ消失等を防止することが可能となる。
【００６５】
また、印刷データにマジックパケットが付加されることにより、印刷データとマジックパケットとで異なる取り扱いをする必要がなくなるため、データの取り扱いを一元化することができる。これにより、スプーラ３４等の仕様を変更する必要がなくなるため、プログラムの設計の容易化を図ることが可能となる。
【００６６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６７】
本実施形態の起動状態取得処理（Ｓ６３）では、プリンタ１０のメインＣＰＵ１１のオン／オフ状態を、最終印刷終了時刻ＴＥから現在時刻Ｔ１までの経過時間によって識別するとしたが、この形態に限られない。ICMP Echo Request （接続を確認するために送られるping）や、SNMP（ネットワークに接続された通信機器をネットワーク経由で監視・制御するためのプロトコル）などを利用して、メインＣＰＵ１１のオン／オフ状態を確認する形態としてもよいことは言うまでもない。
【００６８】
また、本実施形態では、プリントモニタ４１によって、印刷データにマジックパケットが付加されているか否かを監視し、付加されていることが検出された場合にはマジックパケットを分離するとしたが、この形態に限られない。これらの監視動作および分離動作を、プリンタ１０のサブＣＰＵ２０によって行うとしてもよい。
【００６９】
また、本実施形態では、メインＣＰＵ１１の電源投入を遠隔操作するための情報としてマジックパケットを用いる場合を説明したが、この形態に限られない。同様の機能を有するいずれの情報を使用することもできることは言うまでもない。
【００７０】
また、本実施形態では、１台のみのプリンタ１０がＬＡＮ３０に接続され、ＰＣ２０ａないしＰＣ２０ｃと通信可能とされる形態を説明したが、この形態に限られない。複数のプリンタがＬＡＮ３０に接続され、ＰＣ２０ａないしＰＣ２０ｃと通信可能とされる形態であってもよい。この場合においても、各々のプリンタを識別するための識別子（プリンタ名）を用いることで、印刷処理を行うプリンタを特定することが可能となる。
【００７１】
また、プリンタ１０が有する機能は印刷機能に限られず、スキャナ機能、コピー機能、ＦＡＸ機能等を有していてもよい。
【００７２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【００７３】
なお、サブＣＰＵ２０はネットワーク制御部の一例、メインＣＰＵ１１は主制御部の一例、プリンタ１０は印刷装置の一例、プリンタ名は特定情報の一例、マジックパケットは起動命令の一例、ステータス情報は応答信号の一例、プリンタドライバ３３は印刷データ生成手段、起動命令付加手段、保存手段の一例、プリントモニタ４１は分離手段、送信手段、応答受信手段、起動判断手段の一例、である。
【００７４】
また、Ｓ２１を実行する制御部は印刷データ生成手段の一例である。Ｓ２９、Ｓ４１、Ｓ４３、Ｓ４５、Ｓ４７を実行する制御部は起動命令生成手段の一例である。Ｓ３１を実行する制御部は起動命令付加手段の一例である。Ｓ３５を実行する制御部は保存手段の一例である。Ｓ６１、Ｓ６９を実行する制御部は分離手段の一例である。Ｓ７１、Ｓ７５を実行する制御部は送信手段の一例である。Ｓ７３を実行する制御部は応答受信手段の一例である。Ｓ６３、Ｓ１０９、Ｓ１１１を実行する制御部は起動判断手段の一例である。Ｓ１０１を実行する制御部は現在時刻取得手段の一例である。Ｓ１０３を実行する制御部は最終印刷終了時刻記憶手段の一例である。Ｓ１０５を実行する制御部は待機時間取得手段の一例である。
【符号の説明】
【００７５】
１  印刷システム
１０  プリンタ
１１  メインＣＰＵ
２０  サブＣＰＵ
２０ａないし２０ｃ  ＰＣ
３１  アプリケーション
３３  プリンタドライバ
３４  スプーラ
３５  ランゲージモニタ
３６  ポートモニタ
４１  プリントモニタ
【図１】
2010277257.tif 000003
【図２】
2010277257.tif 000004
【図３】
2010277257.tif 000005
【図４】
2010277257.tif 000006
【図５】
2010277257.tif 000007
【図６】
2010277257.tif 000008
【図７】
2010277257.tif 000009