(57)【要約】    【課題】  例えば、印刷ジョブの送信試みの処理や、印刷ジョブ出力ポートへの書込み等の無駄な処理が発生してしまということを防止することを可能とした印刷システムを提供する。    【解決手段】  印刷システムは、データ送受信制御プログラム５２を有するコンピュータ１とプリンタ２を備える。プリンタ２は、印刷ジョブの印刷中にユーザにより操作部からプリンタ２のパワーオフが指示された場合、印刷を中止してパワーオフ処理に移行し、パワーオフ処理中を示すステータス情報を含む状態ステータス情報をコンピュータ１に送信する。コンピュータ１のデータ送受信制御プログラム５２は、プリンタ２から受信した状態ステータス情報中にパワーオフ処理中を示すステータス情報がある場合、プリンタ２に対する印刷データの転送を停止し、印刷ジョブを削除する。【選択図】      図５
2005222423.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能で、プリントスプーラから投入される印刷ジョブを前記印刷装置に送信するよう制御する制御手段を備える情報処理装置であって、
前記制御手段が、前記印刷装置により電源断に係る処理が実行されたことを認識してから所定時間待機後に、転送対象であった前記プリントスプーラに登録された印刷ジョブに所定の処理を行う処理手段を有することを特徴とする情報処理装置。
【請求項２】
前記所定時間は、前記プリントスプーラが電源断に伴う状態を認識するまでの時間よりも長い時間であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記電源断に係る処理は、電源断予告の処理であり、前記印刷装置においては電源予告の後にインタフェース切断へ移行することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記電源断に係る処理は、インタフェース切断処理であることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記所定の処理は、前記転送対象の印刷ジョブを前記オペレーティングシステムにおけるプリントスプーラから削除させる削除制御処理、或いは、前記転送対象の印刷ジョブを再送信可能な形態で保留させる処理であることを特徴とする請求項１乃至4の何れかに記載の情報処理装置。
【請求項６】
印刷装置と通信可能で、所定のオペレーティングシステムを稼動可能な情報処理装置であって、
前記印刷装置により電源断予告が実行されたことを認識したことに応じて、送信部による印刷ジョブの転送を中止させる制御手段と、
中止させた後に、転送対象の印刷ジョブに所定の処理を施す処理手段とを有し、
前記所定の処理には、印刷ジョブの削除制御、或いは、印刷ジョブの再転送制御が含まれることを特徴とする情報処理装置。
【請求項７】
前記請求項１乃至６の何れかに記載の情報処理装置と印刷装置とを備えたことを特徴とする印刷システム。
【請求項８】
印刷装置と通信可能で、プリントスプーラから投入される印刷ジョブを前記印刷装置に送信するよう制御する制御手段を備える情報処理装置の制御方法であって、
前記制御手段が、前記印刷装置により電源断に係る処理が実行されたことを認識してから所定時間待機後に、転送対象であった前記プリントスプーラに登録された印刷ジョブに所定の処理を行う処理ステップを有することを特徴とする制御方法。
【請求項９】
前記所定時間は、前記プリントスプーラが電源断に伴う状態を認識するまでの時間よりも長い時間であることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記電源断に係る処理は、電源断予告の処理であり、前記印刷装置においては電源予告の後にインタフェース切断へ移行することを特徴とする請求項８又は９に記載の制御方法。
【請求項１１】
前記電源断に係る処理は、インタフェース切断処理であることを特徴とする請求項８又は９に記載の制御方法。
【請求項１２】
前記所定の処理は、前記転送対象の印刷ジョブを前記オペレーティングシステムにおけるプリントスプーラから削除させる削除制御処理、或いは、前記転送対象の印刷ジョブを再送信可能な形態で保留させる処理であることを特徴とする請求項８乃至１１の何れかに記載の制御方法。
【請求項１３】
印刷装置と通信可能で、所定のオペレーティングシステムを稼動可能な情報処理装置の制御方法であって、
前記印刷装置により電源断予告が実行されたことを認識したことに応じて、送信部による印刷ジョブの転送を中止させる制御ステップと、
中止させた後に、転送対象の印刷ジョブに所定の処理を施す処理ステップとを有し、
前記所定の処理には、印刷ジョブの削除制御、或いは、印刷ジョブの再転送制御が含まれることを特徴とする制御方法。
【請求項１４】
前記請求項８乃至１３の何れかに記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
前記請求項１４記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ送信制御に関し、特に印刷装置が電源オフされた場合にホストコンピュータと印刷装置とが通信不可能な状態になった際の印刷データ送信制御の仕組みに関する。
【背景技術】
【０００２】
従来、ホストコンピュータにおいて、プリンタからのリセット通知でデータ転送を中止し、ホスト側で印刷ジョブを取り消す仕組みに関する技術が提案されている。更に、該提案には、ホストコンピュータで印刷ジョブを削除し、プリンタがホストコンピュータから削除通知を受けた後に受信バッファをクリアすることにより、クリア後にホストコンピュータから印刷ジョブを受信し、無駄な印刷を防止する技術が開示されている（例えば、特許文献１参照）。
【０００３】
また、この技術の代替技術で、プリンタが、リセット通知をホストコンピュータに通知し、それに応じてホストコンピュータが印刷ジョブの送信を中止し、且つ、未送信の印刷ジョブを全てプリンタに送信し終えるに十分な時間待機し、プリンタにおいて受信バッファの印刷ジョブを削除する技術が開示されている。
【０００４】
また、プリンタ側においてユーザ操作により印刷中止ボタンが押下されると、ホストコンピュータに印刷中止信号がプリンタ側から通知され、ホストコンピュータ側ではその通知を受けたことに応じてジョブを削除し、アクノレッジ信号をプリンタに応答し、プリンタ側ではアクノレッジ信号を受信するとリセット処理を行う技術が提案されている（例えば、特許文献２参照）。
【０００５】
一方、操作パネルへの操作により、プリンタ電源がオフされた場合、Ｗｉｎｄｏｗｓ（登録商標）９８、Ｍｅなどのオペレーティングシステム（以下、ＯＳと呼ぶ）を搭載したホストコンピュータにおいては、デバイスドライバによりプリンタの電源が切断されたことが検知されると、印刷ジョブをプリントスプーラから削除させる仕組みが実現されていた。この時、プリントスプーラは通信不能状態を特に意識することなく、下流のデータ送受信制御プログラム及びインタフェース制御プログラム（所謂ポートモニタやデバイスドライバ）に印刷データを含む印刷ジョブを投入する処理が実行されていた。
【０００６】
なお、上に説明したプリントスプーラとは、プリントジョブを記憶しておき、順次プリンタに出力できるようにするためのソフトウェア或いはハードウェアのことを指す。
【０００７】
このような中、Ｗｉｎｄｏｗｓ（登録商標）２０００、ＸＰなどのオペレーティングシステムでは、プリントスプーラの更なる改良が行われた。
【０００８】
具体的には、データスプールプログラム（プリントスプーラ）がデバイスモニタ（例えば、プラグアンドプレイモジュールを相当させることができる）を介して、通信不能状態を認識し、通信不能状態を認識した場合には、下流のソフトウェアモジュールに通信不能状態時に無駄なジョブの投入を行わないように改良が施されている。デバイスモニタの論理的な位置け付概念を図１１に示す。
【０００９】
さらに、Ｗｉｎｄｏｗｓ（登録商標）２０００、ＸＰにおいては、通信不能状態が認識された後に、ユーザの所定の操作により即時通信状態が可能に移行された場合でも、接続デバイスの再判定処理及びそれに引き続く関連する無駄な初期化処理を行ってしまうことが問題を克服している。
【００１０】
具体的には、上記図１１のデバイスモニタ４４が、通信不能状態を認識してから所定時間待機して、再度同じ通信不能状態が認識された場合に、通信不能状態をデータスプールプログラムに通知するようにし、再度同じ通信不能状態が認識されない場合には初期化処理を省略する技術が採用されている。この概念を図１２を用いて具体的に説明する。
【００１１】
プリンタの電源がオフされホストコンピュータとの通信状態が途絶えると、インタフェース制御プログラム４３−２は電源オフにより通信不能状態を認識（ステップＳ１２０６においてオフライン状態を認識）し、その通信不能状態の状態をデバイスモニタ４４、インタフェース制御プログラム４３−１の夫々に伝達する（ステップＳ１２０８）。
【００１２】
また、データ送受信制御プログラム５２は、インタフェース制御プログラム４３−１を介して、通信不能状態を認識（ステップＳ１２０４でインタフェース制御プログラム４３−１へステータス情報を要求する）する。
【００１３】
そして、デバイスモニタ４４は所定時間（例えば3000sec）の待機後に再度同じ通信不能状態が確認されれば、データスプールプログラム４１にその旨を通知し（ステップＳ１２０１でオフライン状態を認識）、該通知を受けてデータスプールプログラム４１は下流ソフトウェアモジュールへの印刷ジョブの投入を行わないよう抑制をする。
【特許文献１】特開２００３−０４４２４３号公報
【特許文献２】特開平１１−２３２０５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上記特許文献１及び２においては、プリンタにおけるジョブのキャンセルやリセット、或いは、通信ケーブルが抜かれたことをホストコンピュータが認識したことに応じ、ホストコンピュータ側で所定の処理を実行するというものであった。しかし、ホストコンピュータと印刷装置とが通信不能状態になった場合に、ホストコンピュータにおけるオペレーティングシステムの中で如何なる工夫を施した技術を採用するかについては改善の余地があった。
【００１５】
例えば、上述のＷｉｎｄｏｗｓ（登録商標）２０００、ＸＰにおいては、データスプールプログラム４１と、その下流もソフトウェアモジュールとの通信状態に係る認識タイミングの相違が原因で、無駄な印刷処理が発生してしまうという問題点があった。
【００１６】
具体例としては、プリンタの通信不能状態により、インタフェース制御プログラム４３が通信不能状態を認識しているにも関わらず、データスプールプログラム４１が通信正常状態（電源オン）を認識しているために、データ送受信制御プログラム以降の下流に新たな印刷ジョブを順次投入してくることがあった。これにより、印刷ジョブの送信試みの処理や、印刷ジョブ出力ポートへの書き込み等の無駄な処理が発生してしまい、ホストコンピュータにおけるＣＰＵリソースを有効に活用していない問題があった。
【００１７】
一方、インタフェース制御プログラムのようなコンピュータ（プリントスプーラ）とプリンタとのデータの送受信の仲介を司る部分において、その動作中に電源断等に伴うインタフェース切断を検知すると、以後、動作不能となる問題もあった。
【００１８】
本発明の目的は、例えば、印刷ジョブの送信試みの処理や、印刷ジョブ出力ポートへの書込み等の無駄な処理が発生してしまということを防止することを可能とした情報処理装置、印刷システム、制御方法、プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００１９】
上述の目的を達成するために、本発明は、印刷装置と通信可能で、プリントスプーラから投入される印刷ジョブを前記印刷装置に送信するよう制御する制御手段を備える情報処理装置であって、前記制御手段が、前記印刷装置により電源断に係る処理が実行されたことを認識してから所定時間待機後に、転送対象であった前記プリントスプーラに登録された印刷ジョブに所定の処理を行う処理手段を有することを特徴とする。
【００２０】
また、本発明は、印刷装置と通信可能で、所定のオペレーティングシステムを稼動可能な情報処理装置であって、前記印刷装置により電源断予告が実行されたことを認識したことに応じて、送信部による印刷ジョブの転送を中止させる制御手段と、中止させた後に、転送対象の印刷ジョブに所定の処理を施す処理手段とを有し、前記所定の処理には、印刷ジョブの削除制御、或いは、印刷ジョブの再転送制御が含まれることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、データスプールプログラム（プリントスプーラ）と、その下流もソフトウェアモジュールとの通信状態に係る認識タイミングの相違が原因で、例えば、印刷ジョブの送信試みの処理や、印刷ジョブ出力ポートへの書込み等の無駄な処理が発生してしまということを防止でき、ホストコンピュータにおけるＣＰＵリソースを有効に活用できるようになる。
【００２２】
一方、インタフェース制御プログラムのようなコンピュータ（プリントスプーラ）とプリンタとのデータの送受信の仲介を司る部分において、その動作中に電源断等に伴うインタフェース切断を検知すると、以後、動作不能となる問題を解決することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面に基づき説明する。
【００２４】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る印刷システムの構成例を示すブロック図である。
【００２５】
図１において、印刷システムは、一般的な情報処理装置と同様の機械的構成をもつコンピュータ１とプリンタ２とをインタフェースを介して通信可能に接続したものである。コンピュータ１は、キーボード１０、入力インタフェース１１、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、外部記憶装置１５、出力インタフェース１６、表示部１７、マウス１８、入出力インタフェース１９を備えている。また、プリンタ２は、インタフェース部２１、ＲＡＭ２２、ＲＯＭ２３、ＣＰＵ２４、エンジン２５、電源のオン/オフ操作等を行う操作部（図示略）を備えている。
【００２６】
コンピュータ１において、キーボード１０は、各種データ入力に用いる。マウス１８は、各種指示に用いる。入力インタフェース１１は、キーボード１０、マウス１８とコンピュータ本体との間のインタフェースを司る。ＣＰＵ１２は、外部記憶装置１５にストアされる各種プログラムに従ってコンピュータ１の各部を制御する中央処理装置である。ＲＯＭ１３には、初期化プログラムが格納されている。ＲＡＭ１４は、プリンタ２に印刷させる画像である図柄情報を記憶する図柄情報記憶部１４aと、図柄情報を基に生成された印刷データを記憶する印刷データ記憶部１４bと、各種プログラムがロードされるプログラムロード領域１４cを備えている。
【００２７】
外部記憶装置１５には、図２に示すように、アプリケーションプログラム群３０、オペレーティングシステム（以下ＯＳと略称）４０、プリンタドライバ５０等が格納されている。表示部１７は、プリンタ２に印刷を実行させる際の印刷設定画面等の各種画面を表示する。出力インタフェース１６は、表示部１７とコンピュータ本体との間のインタフェースを司る。入出力インタフェース１９は、コンピュータ本体とプリンタ２との間のインタフェースを司る。
【００２８】
プリンタ２において、インタフェース部２１は、コンピュータ１の入出力インタフェース１９と接続されており、コンピュータ１との間における入出力信号のインタフェースを司る。プリンタ２とコンピュータ１を接続するインタフェースとしては、セントロニクスパラレルインタフェース、ＵＳＢ（Universal Serial Bus）、ＳＣＳＩ（Small Computer System Interface）、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４等の各種のインタフェースが考えられるが、特定のインタフェースに限定されるものではなく、任意のインタフェースを使用することが可能である。
【００２９】
ＲＡＭ２２は、ＣＰＵ２４の主メモリとワークメモリとして用いられるものであり、コンピュータ１から受信した印刷データを一旦保存するための受信バッファを備えている。ＲＯＭ２３には、制御プログラムが格納されている。ＣＰＵ２４は、ＲＯＭ２３に格納されている制御プログラムに従ってプリンタ２の各部を制御する中央処理装置であり、後述の図４、図７、図９の各フローチャートに示す処理を実行する。エンジン２５は、ＲＡＭ２２に保存された印刷データに基づき用紙上に画像を形成する印刷機構部である。
【００３０】
図２は、コンピュータ１の外部記憶装置１５にストアされるプログラム群の例を示すブロック図である。
【００３１】
図２において、外部記憶装置１５には、アプリケーションプログラム群３０、ＯＳ４０、プリンタドライバ５０等が格納されている。アプリケーションプログラム群３０は、印刷アプリケーションプログラム３１等から構成されている。ＯＳ４０は、データスプールプログラム４１、データ送信処理プログラム４２、インタフェース制御プログラム４３等から構成されている。プリンタドライバ５０は、印刷データ生成プログラム５１、データ送受信制御プログラム５２等から構成されている。無論、データ送受信制御プログラム５２を印刷データ生成プログラム５１とは別途のソフトウェアモジュールにより独立して構成するようにしても良い。
【００３２】
図３は、図２に示した各プログラムの印刷環境におけるデータの流れを示すブロック図である。
【００３３】
図３において、印刷アプリケーションプログラム３１は、図形、文字、画像を作成する作画環境とプリンタ２で印刷を行う印刷環境を提供し、プリンタ２にＯＳを介して印刷開始を命令するためのプログラムである。例えば、マイクロソフト社のＷｏｒｄやＥｘｃｅｌや、アドビシステム社のＩｌｌｕｓｔｒａｔｏｒなどがこの印刷アプリケーションプログラム３１に相当させることができる。
【００３４】
印刷データ生成プログラム５１は、印刷アプリケーションプログラム３１に従って作成された図形、文字、画像などの情報をプリンタコマンドに変換するためのプログラムであり、生成した印刷データをデータスプールプログラム４１に送信する。このデータスプールプログラムには、例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）におけるプリントスプーラなどを相当させることができる。
【００３５】
データスプールプログラム４１は、印刷データ生成プログラム５１から送信された印刷データを任意のサイズの印刷データブロックに分割して、データ送信処理プログラム４２にデータ転送要求を行う。また、印刷アプリケーションプログラム３１及びＯＳを介して要求された印刷ジョブが、順次このデータスプールプログラム４１或いはデータスプールプログラム４１と関連付けられたプリントキューに登録される。
【００３６】
データ送信処理プログラム４２は、データ送信処理プログラム４２からのデータ転送要求を受け付け、印刷データブロックをデータ送受信制御プログラム５２に転送する。データ送受信制御プログラム５２は、データ送信処理プログラム４２から転送された印刷データブロックをインタフェース制御プログラム４３へ送信する。また、データ送受信制御プログラム５２は、インタフェース制御プログラム４３を通じてプリンタ２の現在の状態を示す状態ステータス情報を取得する。
【００３７】
また、図３に示すように、ＯＳ４０にはデバイスモニタ４４も含まれているものとする。このデバイスモニタ４４は、プリンタ２の接続状況を検知するためのソフトウェアモジュールであり、例えばプラグアンドプレイ（Plug and Play）のモジュールを適用することができる。尚、プラグアンドプレイモジュールを適用した場合には、接続されたプリンタ２のドライバが既にインストールされていることになるので、ドライバ探索の処理は実行されない。また、プラグアンドプレイのモジュールに限定されるものではなく、プリンタ２の接続状況を検知するための独自のモジュールを設けることにより、デバイスモニタ４４を実現しても良い。
【００３８】
データ送受信制御プログラム５２は、ＣＰＵ１２の制御のもとで、後述の図５、図８、図１０の各フローチャートに示す各種処理を実行する。
【００３９】
インタフェース制御プログラム４３は、プリンタ２における物理的な入出力（I/O）ポートを管理し、上述したセントロニクスパラレルインタフェース、ＵＳＢ、ＳＣＳＩ、ＩＥＥＥ１３９４等のうち何れかのインタフェースを介してプリンタ２に対するデータの書き込み/読み込みを実際に行うプログラムである。インタフェース制御プログラム４３は、予めタイムアウト値を設定しており、プリンタ２にデータを書き込めない場合、データ書き込み時間がタイムアウト値に達するまでプリンタ２に対し繰り返しデータ書き込みを行う。そして、インタフェース制御プログラム４３は、データ書き込み時間がタイムアウト値を超えた場合、データ書き込みが失敗したことをデータ送受信制御プログラム５２に通知する。
【００４０】
次に、本実施の形態の印刷システムのプリンタ及びコンピュータにおける動作を図４及び図５のフローチャートを参照しながら説明する。
【００４１】
図４は、パワーオフ処理中においてパワーオフ処理中を示すステータス情報を状態ステータス情報に追加し、コンピュータ１に通知することが可能なプリンタ２におけるパワーオフ処理時の流れを示すフローチャートである。
【００４２】
ここで、パワーオフ処理について定義すると、パワーオフ処理とは、プリンタ２が例えば給紙中であれば排紙を行ったり、プリンタ２がインクジェットプリンタであれば、ヘッドをホームポジションに移動し、ノズル乾燥を防止するためにキャッピングをしたりと、プリンタ２がパワーオフ状態に移行するために各部を所定の状態に戻す処理を指す。
【００４３】
まず、図４において、ユーザにより操作部を介してプリンタ２の電源オフが指示されたことに伴い、パワーオフ命令が実行された場合、まず、プリンタ２は、印刷ジョブの印刷を中止し、プリンタ２の状態ステータス情報に「パワーオフ処理中」を示すステータス情報を追加し（ステップＳ１０１）、パワーオフ処理を開始する（ステップＳ１０２）。次に、プリンタ２は、パワーオフ処理が完了したか否かを確認し、パワーオフ処理が完了するのを待つ（ステップＳ１０３）。プリンタ２は、パワーオフ処理が完了した場合は、コンピュータ１との通信を行うインタフェースを切断し（ステップＳ１０４）、電源を切断することにより、パワーオフ処理を完了する。このインタフェース切断には、論理的な通信ポートの切断、及び／又は、物理的に電源切断の双方が含まれる。物理的な電源切断の検知方法としては、例えばＵＳＢ（Universal Serial Bus）の場合、２本の信号線の電圧値を監視することにより実現する。
【００４４】
また、プリンタ２は、上記ステップＳ１０１からステップＳ１０４の期間、コンピュータ１に「パワーオフ処理中」のステータス情報を含む状態ステータス情報を通知する。
【００４５】
図５は、プリンタ２と通信を行っているコンピュータ１のプリンタドライバ５０内のデータ送受信制御プログラム５２における、プリンタ２の印刷中にプリンタ２のパワーオフが実行された場合の処理の流れを示すフローチャートである。
【００４６】
図５において、ユーザからの指示に基づき、コンピュータ１の印刷アプリケーションプログラム３１がプリンタ２における印刷開始を命令すると、印刷アプリケーションプログラム３１から上記図３で説明したような過程を経て、データ送信処理プログラム４２に印刷データが送られる。データ送受信制御プログラム５２は、データ送信処理プログラム４２に対し、プリンタ２に送信する印刷データブロックの転送を要求する（ステップＳ２０１）。次に、データ送受信制御プログラム５２は、データ送信処理プログラム４２から全ての印刷データブロックを受信済みか否かを判定する（ステップＳ２０２）。
【００４７】
データ送受信制御プログラム５２は、全ての印刷データブロックを受信済みである場合は、印刷ジョブを終了し、全ての印刷データブロックを受信済みでない場合は、データ送信処理プログラム４２から、プリンタ２に送信する印刷データブロックを受信する（ステップＳ２０３）。
【００４８】
上記ステップＳ２０３において、電源断予告、即ちパワーオフ処理中をインタフェースを切断する前にコンピュータ１に通知するようにするので、コンピュータ１に電源断を認識させる前に、コンピュータ１でインタフェース制御プログラム４３によるデータ転送を停止させることができるようになる。尚、後述のステップＳ３０１、ステップＳ５０１においても同様の効果を得ることができる。
【００４９】
次に、データ送受信制御プログラム５２は、インタフェース制御プログラム４３を介してプリンタ２の状態ステータス情報を取得（受信）し（ステップＳ２０４）、取得した状態ステータス情報の中に電源断に係る情報である「パワーオフ処理中」を示すステータス情報があるか否かを判定（認識）する（ステップＳ２０５）。
【００５０】
データ送受信制御プログラム５２は、取得した状態ステータス情報の中に「パワーオフ処理中」を示すステータス情報がない場合は、印刷データブロックをインタフェース制御プログラム４３を介してプリンタ２に転送し（ステップＳ２０６）、データ送信処理プログラム４２に対し、後続の印刷データブロックの転送を要求する（ステップＳ２０１）。
【００５１】
一方、プリントスプーラに登録された転送処理対象となっていた印刷ジョブに所定の処理を行う処理手段として機能するデータ送受信制御プログラム５２は、取得した状態ステータス情報に「パワーオフ処理中」を示すステータス情報がある場合は、プリンタ２に対する印刷データの転送を停止し、ＯＳ（プリントスプーラ）に転送中の印刷ジョブの削除を通知する（ステップＳ２０７）。ＯＳはデータ送受信制御プログラム５２の印刷ジョブ削除依頼により、印刷ジョブ終了に伴う処理を行った後、コンピュータ１のプリントキュー及び対応する印刷ジョブのデータを削除する。  以上説明したように、本実施の形態によれば、プリンタ２における印刷中にプリンタ２の電源がオフされた場合でも、コンピュータ１はプリンタ２から受信した状態ステータス情報に「パワーオフ処理中」を示すステータス情報がある場合、プリンタ２に対する印刷データの転送を停止し、印刷ジョブを削除するため、プリンタ２に対する不要なデータ送信を防止することができるという効果がある。
【００５２】
また、プリンタ２の電源がオフされた場合はプリンタ２に対する不要なデータ送信を行わないため、プリンタ２の電源がオフされてからプリンタ２の電源が再度オンされた後における、プリンタ２による不要な印刷を防止することができるという効果がある。
【００５３】
また、プリンタ２の電源がオフされた直後にコンピュータ及びプリンタ間でデータの送受信を行うと問題が生じるＯＳにおいては、その問題を回避することができるという効果がある。プリンタ２の電源オフがオフされたような場合に、データ送受信制御プログラム５２は、インタフェース制御プログラム４３に電源オフに伴う通信不能状態を検知させることなくインタフェース制御プログラム４３の印刷ジョブ転送動作を停止するようにするので、例えば、インタフェース制御部が稼動時に電源オフを検知し場合に、正常動作不能状態に陥ることがあっても、そのような事態を防ぐことができる。
【００５４】
［第２の実施の形態］
本発明の第２の実施の形態は、上述した第１の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第１の実施の形態（図１〜図３）の対応するものと同一なので、説明を省略する。
【００５５】
上述した第１の実施の形態ではパワーオフ処理中をプリンタ２からコンピュータ１に通知し、その通知から所定時間後にパワーオフ処理が完了するとインタフェース切断を行う。そして、第１の実施の形態では、インタフェース制御プログラム４３の動作中における通信不能状態検知に伴う不具合を解消する仕組みについて説明してきた。
【００５６】
一方、Ｗｉｎｄｏｗｓ（登録商標）２０００、ＸＰにおいては、インタフェース制御プログラム４３に比べてプリンタデバイスに対して上流に位置するデータスプールプログラム４１が電源オフを認識するタイミングは、インタフェース制御プログラム４３の認識よりも遅く、データスプールプログラム４１とインタフェース制御プログラム４３との間に電源オフについての認識に相違があるという問題があった。
【００５７】
この問題に対して、第１の実施の形態において解決してきた問題が仮に無いものとしても、複数の印刷ジョブがあった場合、プリンタ２をパワーオフした時点の印刷ジョブだけでなく後続の印刷ジョブも削除してしまうという技術的問題がある。
【００５８】
事例を図６に示す。プリンタ２のパワーオフ処理時間がコンピュータ１で行う印刷ジョブ削除処理に比べて長く且つデータスプールプログラム４１がインタフェース切断に伴うオフライン状態を認識している場合、コンピュータ１のデータ送受信制御プログラム５２が、プリンタ２からパワーオフ処理中ステータスを取得し（ステップＳ１）、パワーオフを行った時点の印刷ジョブ１を削除した後（ステップＳ２）、プリンタ２からパワーオフ処理中ステータスを取得し（ステップＳ１１）、後続の印刷ジョブ２まで削除してしまうことになる（ステップＳ１２）。
【００５９】
これに対し、本実施の形態では、上記のような後続の印刷ジョブまで削除してしまうことを解消すべく、複数の印刷ジョブが存在している場合、プリンタ２のパワーオフを行った時点の印刷ジョブ以降の印刷ジョブに影響を及ぼさないようにする制御例について説明する。
【００６０】
次に、本実施の形態の印刷システムのプリンタ及びコンピュータにおける動作を図７及び図８のフローチャートを参照しながら説明する。
【００６１】
図７は、パワーオフ処理中とパワーオフ処理完了後に、パワーオフ処理中を示すステータス情報とパワーオフ処理完了を示すステータス情報を状態ステータス情報に追加し、コンピュータ１に通知することが可能なプリンタ２におけるパワーオフ処理時の流れを示すフローチャートである。
【００６２】
図７において、ユーザにより操作部を介してプリンタ２の電源オフが指示されたことに伴い、パワーオフ命令が実行された場合、まず、プリンタ２は、印刷ジョブの印刷を中止し、プリンタ２の状態ステータス情報に「パワーオフ処理中」を示すステータス情報を追加し（ステップＳ３０１）、パワーオフ処理を開始する（ステップＳ３０２）。次に、プリンタ２は、パワーオフ処理が完了したか否かを確認し、パワーオフ処理が完了するのを待つ（ステップＳ３０３）。
【００６３】
プリンタ２は、パワーオフ処理が完了した場合、上記ステップＳ３０１で状態ステータス情報に追加した「パワーオフ処理中」のステータス情報を「パワーオフ処理完了」に変更する（ステップＳ３０４）。その後、プリンタ２は、パワーオフ処理完了のステータスを出力しつづけている状態で予め設定された所定時間１だけ待機し（ステップＳ３０５）、コンピュータ１との通信を行うインタフェースを切断し（ステップＳ３０６）、電源を切断することにより、パワーオフ処理を完了する。
【００６４】
上記ステップＳ３０５でプリンタ２が所定時間１だけパワーオフ処理完了を出力しつづけ待機する理由は、コンピュータ１に「パワーオフ処理完了」のステータス情報を確実に通知するためである。また、異機種のプリンタのパワーオフ処理時間が夫々異なっている場合でも、所定時間１を予備時間として確保するのでコンピュータ１のデータ送受信制御プログラム５２を変更する必要はない。
【００６５】
また、プリンタ２は、上記ステップＳ３０１からステップＳ３０４の期間、「パワーオフ処理中」のステータス情報を含む状態ステータス情報をコンピュータ１に通知し、上記ステップＳ３０４からステップＳ３０６の期間、「パワーオフ処理完了」のステータス情報を含む状態ステータス情報をコンピュータ１に通知する。
【００６６】
図８は、プリンタ２と通信を行っているコンピュータ１のプリンタドライバ５０内のデータ送受信制御プログラム５２における、プリンタ２の印刷中にプリンタ２のパワーオフが実行された場合の処理の流れを示すフローチャートである。
【００６７】
以下、図８を用いて、データスプールプログラム４１（プリントスプーラ）から投入される印刷ジョブをプリンタ２に送信するよう制御する制御手段（図３の４１〜４４、５２等）を備えるコンピュータ１において、制御手段が、プリンタ２により電源断に係る処理が実行されたことを認識してから所定時間待機後に、転送対象であったデータスプールプログラム４１に登録された印刷ジョブに印刷ジョブ削除などの所定の処理を行う動作について説明する。
【００６８】
図８において、ユーザからの指示に基づき、コンピュータ１の印刷アプリケーションプログラム３１がプリンタ２における印刷開始を命令すると、印刷アプリケーションプログラム３１から上記図３で説明したような過程を経て、データ送信処理プログラム４２に印刷データが送られる。データ送受信制御プログラム５２は、データ送信処理プログラム４２に対し、プリンタ２に送信する印刷データブロックの転送を要求する（ステップＳ４０１）。次に、データ送受信制御プログラム５２は、データ送信処理プログラム４２から全ての印刷データブロックを受信済みか否かを判定する（ステップＳ４０２）。
【００６９】
データ送受信制御プログラム５２は、全ての印刷データブロックを受信済みである場合は、印刷ジョブを終了し、全ての印刷データブロックを受信済みでない場合は、データ送信処理プログラム４２から、プリンタ２に送信する印刷データブロックを受信する（ステップＳ４０３）。次に、データ送受信制御プログラム５２は、インタフェース制御プログラム４３を介してプリンタ２の状態ステータス情報を取得（受信）し（ステップＳ４０４）、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報があるか否かを判定（認識）する（ステップＳ４０５）。
【００７０】
尚、「パワーオフ処理完了」を示すステータス情報とは、パワーオフ処理完了そのものを示すステータスであっても良いし、或いは、コンピュータ１とプリンタ２との間の通信不能状態を示すステータスであっても良いし、或いは、インタフェース制御プログラム４３におけるエラーを示すステータスであっても良い。また、このことは、第３、第４の実施の形態でも同様とする。
【００７１】
データ送受信制御プログラム５２は、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報がない場合は、取得した状態ステータス情報の中に電源断に係る情報として「パワーオフ処理中」を示すステータス情報があるか否かを判定（認識）する（ステップＳ４０６）。データ送受信制御プログラム５２は、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報と「パワーオフ処理中」を示すステータス情報の両方ともない場合は、印刷データブロックをインタフェース制御プログラム４３を介してプリンタ２に転送し（ステップＳ４０７）、データ送信処理プログラム４２に対し、後続の印刷データブロックの転送を要求する（ステップＳ４０１）。
【００７２】
データ送受信制御プログラム５２は、取得した状態ステータス情報に「パワーオフ処理中」のステータス情報があった場合は、プリンタ２に対する印刷データの転送を停止し（ステップＳ４０８）、ステップＳ４０４に戻る。また、プリントスプーラに登録された転送処理対象となっていた印刷ジョブに所定の処理を行う処理手段として機能するデータ送受信制御プログラム５２は、取得した状態ステータス情報に「パワーオフ処理完了」を示すステータス情報があった場合は、タイマによる計時を開始し（ステップＳ４０９）、予め設定された所定時間２を待機した後（ステップＳ４１０）、印刷ジョブを削除する（ステップＳ４１１）。
【００７３】
このステップＳ４１１における削除は、ステップＳ２０７の処理と同様であり、ＯＳはデータ送受信制御プログラム５２の印刷ジョブ削除依頼により、印刷ジョブ終了に伴う処理を行った後、コンピュータ１のプリントキュー及び対応する印刷ジョブのデータを削除する。
【００７４】
上記ステップＳ４１０で待機する所定時間２は、プリンタ２が確実にパワーオフ処理を完了し、且つ、データスプールプログラム４１が電源断に伴うインタフェース切断（通信不能状態）を認識するまでの時間よりも長い時間で有ればよい。
【００７５】
尚、ステップＳ４１１においては、データ送受信制御プログラム５２が明示的に、データスプールプログラム４１に削除の指示を行うよう説明してきたが、これに限定されるものではない。
【００７６】
例えば、ステップＳ４１１の処理に移行したことに対応して、データスプールプログラム４１にエラー通知を行うようにしても良い。この場合には、エラー通知を受信したデータスプールプログラム４１が印刷ジョブを削除するか否かを確認するダイアログをコンピュータ１の表示部に表示し、ユーザに印刷ジョブの削除指示を促す処理が行われる。但し、データ送受信制御プログラム５２がデータスプールプログラム４１に対してエラーを通知する前に、所定時間２を待機する処理が行われるので、データスプールプログラム４１は既に通信不能状態を認識しており、後続の印刷ジョブを投入するという無駄な処理は行わないこととなる。
【００７７】
また、このことは、第１の実施の形態におけるステップＳ２０７、後述する第３の実施の形態のステップＳ６１０においても同様のこととする。
【００７８】
従来から、データ送受信制御プログラム５２は、電源断を認識した後、即時にプリントスプーラに登録された印刷ジョブを削除し、次の印刷ジョブの投入を受け入れていた。例えば、Ｗｉｎｄｏｗｓ（登録商標）９８においてこのような形態がとられていた。そして、このような形態により、プリントスプーラばかりでなく、制御手段及び更に下流のソフトウェアモジュールにも無駄な処理を行わせてしまっていた。
【００７９】
これに対して本実施の形態によれば、従来のような無駄な処理を防ぐと共に、コンピュータ１における処理を他の処理に割当てることができ、結果として、レスポンスの良い、言い換えれば、ユーザ所望の処理に処理負荷を効率よく割当てることができる処理環境を実現することができる。例えば、セントロニクスインタフェースを稼動させた場合に、多大なＣＰＵリソースが費やされることが知られているが、本実施の形態においては、このような事態を防ぐことができる。
【００８０】
また、第１の実施の形態の効果に加え、複数の印刷ジョブが存在した場合でも、コンピュータ１はプリンタ２から取得した状態ステータス情報に「パワーオフ処理完了」を示すステータス情報があるとき、所定時間２待機後、当該印刷ジョブに対して処理（例えば削除）を行うため、インタフェース切断された時点における印刷ジョブに続く印刷ジョブまで削除してしまう恐れを解消し、当該印刷ジョブ以降の印刷ジョブに影響を及ぼさないようにすることができるという効果がある。
【００８１】
［第３の実施の形態］
本発明の第３の実施の形態は、上述した第１の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第１の実施の形態（図１〜図３）の対応するものと同一なので、説明を省略する。
【００８２】
上述した第２の実施の形態では、プリンタ２は状態ステータス情報に追加した「パワーオフ処理中」のステータス情報を「パワーオフ処理完了」に変更した後、所定時間１だけ待機し、コンピュータ１のデータ送受信制御プログラム５２はプリンタ２から取得した状態ステータス情報に「パワーオフ処理完了」を示すステータス情報があった場合、所定時間２だけ待機する例を挙げた。
【００８３】
これに対し、本実施の形態では、コンピュータ１のデータ送受信制御プログラム５２からの指示によってプリンタ２のパワーオフ処理を完了させる制御例について説明する。
【００８４】
次に、本実施の形態の印刷システムのプリンタ及びコンピュータにおける動作を図９及び図１０のフローチャートを参照しながら説明する。
【００８５】
図９は、パワーオフ処理中とパワーオフ処理完了後に、パワーオフ処理中を示すステータス情報とパワーオフ処理完了を示すステータス情報を状態ステータス情報に追加し、コンピュータ１に通知することが可能なプリンタ２におけるパワーオフ処理時の流れを示すフローチャートである。
【００８６】
図９において、ユーザにより操作部を介してプリンタ２の電源オフが指示されたことに伴い、パワーオフ命令が実行された場合、まず、プリンタ２は、印刷ジョブの印刷を中止し、プリンタ２の状態ステータス情報に「パワーオフ処理中」を示すステータス情報を追加し（ステップＳ５０１）、パワーオフ処理を開始する（ステップＳ５０２）。次に、プリンタ２は、パワーオフ処理が完了したか否かを確認し、パワーオフ処理が完了するのを待つ（ステップＳ５０３）。
【００８７】
プリンタ２は、パワーオフ処理が完了した場合は、上記ステップＳ５０１で状態ステータス情報に追加した「パワーオフ処理中」のステータス情報を「パワーオフ処理完了」に変更する（ステップＳ５０４）。その後、プリンタ２は、コンピュータ１から「パワーオフ処理完了」を示すステータス情報の受信済み通知が返送されるのを待つ（ステップＳ５０５）。プリンタ２は、コンピュータ１から「パワーオフ処理完了」を示すステータス情報の受信済み通知が返送された場合（通知不要の指令があった場合）、コンピュータ１との通信を行うインタフェースを切断し（ステップＳ５０６）、電源を切断することにより、パワーオフ処理を完了する。
【００８８】
また、プリンタ２は、上記ステップＳ５０１からステップＳ５０４の期間、「パワーオフ処理中」のステータス情報を含む状態ステータス情報をコンピュータ１に通知し、上記ステップＳ５０４からステップＳ５０６の期間、「パワーオフ処理完了」のステータス情報を含む状態ステータス情報をコンピュータ１に通知する。
【００８９】
図１０は、プリンタ２と通信を行っているコンピュータ１のプリンタドライバ５０内のデータ送受信制御プログラム５２における、プリンタ２の印刷中にプリンタ２のパワーオフが実行された場合の処理の流れを示すフローチャートである。
【００９０】
図１０において、ユーザからの指示に基づき、コンピュータ１の印刷アプリケーションプログラム３１がプリンタ２における印刷開始を命令すると、印刷アプリケーションプログラム３１から上記図３で説明したような過程を経て、データ送信処理プログラム４２に印刷データが送られる。データ送受信制御プログラム５２は、データ送信処理プログラム４２に対し、プリンタ２に送信する印刷データブロックの転送を要求する（ステップＳ６０１）。次に、データ送受信制御プログラム５２は、データ送信処理プログラム４２から全ての印刷データブロックを受信済みか否かを判定する（ステップＳ６０２）。
【００９１】
データ送受信制御プログラム５２は、全ての印刷データブロックを受信済みである場合は、印刷ジョブを終了し、全ての印刷データブロックを受信済みでない場合は、データ送信処理プログラム４２から、プリンタ２に送信する印刷データブロックを受信する（ステップＳ６０３）。次に、データ送受信制御プログラム５２は、インタフェース制御プログラム４３を介してプリンタ２の状態ステータス情報を取得（受信）し（ステップＳ６０４）、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報があるか否かを判定（認識）する（ステップＳ６０５）。
【００９２】
データ送受信制御プログラム５２は、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報がない場合は、取得した状態ステータス情報の中に「パワーオフ処理中」を示すステータス情報があるか否かを判定（認識）する（ステップＳ６０６）。データ送受信制御プログラム５２は、取得した状態ステータス情報の中に「パワーオフ処理完了」を示すステータス情報と「パワーオフ処理中」を示すステータス情報の両方ともない場合は、印刷データブロックをインタフェース制御プログラム４３を介してプリンタ２に転送し（ステップＳ６０７）、データ送信処理プログラム４２に対し、後続の印刷データブロックの転送を要求する（ステップＳ６０１）。
【００９３】
データ送受信制御プログラム５２は、取得した状態ステータス情報に「パワーオフ処理中」のステータス情報があった場合は、プリンタ２に対する印刷データの転送を停止し（ステップＳ６０８）、ステップＳ６０４に戻る。また、プリントスプーラに登録された転送処理対象となっていた印刷ジョブに所定の処理を行う処理手段として機能するデータ送受信制御プログラム５２は、取得した状態ステータス情報に「パワーオフ処理完了」を示すステータス情報があった場合は、「パワーオフ処理完了」を示すステータス情報の受信済みをインタフェース制御プログラム４３を介してプリンタ２に通知し（ステップＳ６０９）、第２の実施の形態と同様に所定時間２待機した後（図１０のフローチャートには不図示）、印刷ジョブを削除する指示をデータスプールプログラム４１に対して行う（ステップＳ６１０）。
【００９４】
このステップＳ６１０においても、ステップＳ２０７の処理と同様のことが行われ、ＯＳはデータ送受信制御プログラム５２の印刷ジョブ削除依頼により、印刷ジョブ終了に伴う処理を行った後、コンピュータ１のプリントキュー及び対応する印刷ジョブのデータを削除する。
【００９５】
以上説明したように、本実施の形態によれば、第１、第２の実施の形態の効果に加え、複数の印刷ジョブが存在した場合でも、コンピュータ１はプリンタ２から取得した状態ステータス情報に「パワーオフ処理完了」を示すステータス情報があるとき、「パワーオフ処理完了」を示すステータス情報の受信済みをプリンタ２に通知し、所定時間２経過後当該印刷ジョブを削除するため、第２の実施の形態におけるプリンタ側で待機する所定時間１（ステップＳ３０５）を省略することができる。
【００９６】
［第４の実施の形態］
第１乃至３の実施の形態においては、データ送受信制御プログラム５２により印刷ジョブの削除指示、及び、該削除制御指示に応じたデータスプールプログラム４１の印刷ジョブ（プリントキューの登録及び印刷ジョブのデータ）の削除を例に説明してきた。しかしながら、プリントスプーラに登録された印刷ジョブに所定の処理を行うデータ送受信制御プログラム５２の機能は削除指示のみに限定されるものではなく、例えば印刷ジョブの保持保留指示などにも適用することができる。
【００９７】
第４の実施の形態では、印刷ジョブの削除ではなく、印刷ジョブの再送送信について説明する。尚、プリンタ２及びコンピュータ１の基本的構成及び動作は第１乃至３の実施の形態と同様とするので、差異ある動作について特に説明する。
【００９８】
具体的には、図２のステップＳ２０７、ステップＳ４１１、ステップＳ６１０の処理を、データ送受信制御プログラム５２から、データスプールプログラム４１へ転送対象であったの印刷ジョブを再送信可能な形態で保留するよう指示する処理に置き換える。そして、再度、インタフェース制御プログラム４３及びデバイスモニタ４４を介してプリンタ２の電源オン（通信状態可能）が検知された場合に、データスプールプログラム４１がデータ送受信制御プログラム５２に対して保留対象となっていた印刷ジョブを再送信する。そして、印刷ジョブの再送信を受けたデータ送受信制御プログラム５２は、インタフェース制御プログラム４３を介してプリンタ２に対して印刷ジョブを転送するよう転送制御の処理を行う。
【００９９】
このように第４の実施の形態によれば、第１の実施の形態に対応して、例えば、インタフェース制御部が稼動時に電源オフを検知し場合に、正常動作不能状態に陥ることがあっても、そのような事態を防ぐことができる。
【０１００】
また、第２の実施の形態に対応して、従来のような無駄な処理を防ぐと共に、コンピュータ１における処理を他の処理に割当てることができ、結果として、レスポンスの良い、言い換えれば、ユーザ所望の処理に処理負荷を効率よく割当てることができる処理環境を実現するとともに、コンピュータ１からプリンタ２への印刷データの再送信を実現することができる。
【０１０１】
［第５の実施の形態］
第１乃至４の実施の形態においては、インタフェース制御プログラム４３のようなコンピュータ１（プリントスプーラ）とプリンタ２とのデータの送受信の仲介を司る部分において、その動作中に電源断等に伴うインタフェース切断を検知すると、以後、動作不能となる問題を前提に説明を行ってきた。
【０１０２】
しかしながら、インタフェース制御プログラム４３のようなデバイスとのデータの送受信の仲介を司る部分において、その動作中に電源断等に伴うインタフェース切断を検知し且つ、以後にプリンタ２が電源オン（通信可能状態）なったことに応じて正常に復帰できる場合であれば、図８のステップＳ４０９、ステップＳ６０５の処理をインタフェース切断に伴う通信不能状態を検知する処理に置き換えることができる。
【０１０３】
この場合においては、図８においては、ステップＳ４０６、ステップＳ４０８の処理は省略することができる。また、図１０においては、ステップＳ６０６、ステップＳ６０８の処理を省略することができる。
【０１０４】
本実施の形態によれば、より様々な形態のコンピュータシステムにおいて、第１乃至第４の実施の形態を適用することができる。
【０１０５】
［他の実施の形態］
上記第１乃至第５の実施の形態では、コンピュータに上記インタフェースを介して接続したプリンタにより印刷を行うローカル印刷環境を例に挙げたが、本発明はローカル印刷環境に限定されるものではなく、コンピュータとの間でＬＡＮ等のネットワークを介して通信可能なプリンタにより印刷を行うネットワーク印刷環境にも適用することができる。
【０１０６】
上記第１乃至第５の実施の形態では、コンピュータの処理分担形態として上記図３に示すような例を挙げたが、本発明はこの処理分担形態に限定されるものではなく、他の処理分担形態であってもよい。
【０１０７】
上記第１乃至第５の実施の形態では、印刷装置としてプリンタを用いた場合を例に挙げたが、本発明はプリンタに限定されるものではなく、印刷装置としてプリンタ機能を有する複写機や複合機などを用いることができる。
【０１０８】
上記第１乃至第５の実施の形態では、印刷装置の印刷方式については特に言及しなかったが、本発明は特定の印刷方式に限定されるものではなく、電子写真方式、インクジェット方式、静電方式、熱転写方式など各種印刷方式を用いることができる。
【０１０９】
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラム（図４〜図５、図７〜図１０のフローチャート）をコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが該供給されたプログラムを読出して実行することによって、達成することができる。
【０１１０】
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【０１１１】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１１２】
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
【０１１３】
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【０１１４】
プログラムコードを記憶する記憶媒体としては、例えば、ＲＯＭ、ＲＡＭ、ＮＶ−ＲＡＭ、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（登録商標）、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード等がある。
【０１１５】
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するＯＳ等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
【０１１６】
更に、本発明は、前述した実施の形態を実現するソフトウェアのプログラムがネットワーク上のデータベース又はホームページから通信プログラムによりダウンロードされ、このプログラムを読出して実行することによって達成することができる。
【０１１７】
上記プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからコンピュータプログラム自体、又は自動インストール機能を含む圧縮ファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給することができる。
【０１１８】
また、上記プログラムは、プログラムコードを暗号化した上で格納したＣＤ−ＲＯＭ等の記憶媒体をユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムコードを実行してコンピュータにインストールさせることによっても供給することができる。
【０１１９】
上述した実施の形態の機能は、プログラムコードを複数のファイルに分割し、夫々のファイルを異なるホームページからダウンロードすることによっても実現することができる。即ち、本発明の機能処理をコンピュータで実現させるためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明を構成する。
【０１２０】
また、上述した実施の形態の機能は、記憶媒体から読出されたプログラムが、コンピュータに挿入された機能拡張ボード又はコンピュータに接続された機能拡張ユニットに備えられたメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張ボード又は機能拡張ユニットに備えられたＣＰＵ又はＭＰＵ等が実際の処理の一部又は全部を実行することによっても実現することができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の第１の実施の形態に係る印刷システムの構成例を示すブロック図である。
【図２】コンピュータの外部記憶装置にストアされるプログラム群の例を示すブロック図である。
【図３】図２の各プログラムの印刷環境におけるデータの流れを示すブロック図である。
【図４】プリンタにおけるパワーオフ処理時の流れを示すフローチャートである。
【図５】コンピュータのデータ送受信制御プログラムにおけるプリンタのパワーオフが実行された場合の処理の流れを示すフローチャートである。
【図６】複数の印刷ジョブがあった場合のプリンタ及びデータ送受信制御プログラムの処理の流れを示すフローチャートである。
【図７】本発明の第２の実施の形態に係るプリンタにおけるパワーオフ処理時の流れを示すフローチャートである。
【図８】コンピュータのデータ送受信制御プログラムにおけるプリンタのパワーオフが実行された場合の処理の流れを示すフローチャートである。
【図９】本発明の第３の実施の形態に係るプリンタにおけるパワーオフ処理時の流れを示すフローチャートである。
【図１０】コンピュータのデータ送受信制御プログラムにおけるプリンタのパワーオフが実行された場合の処理の流れを示すフローチャートである。
【図１１】従来の印刷システムを示すブロック図である。
【図１２】従来の印刷システム全体の処理を示すフローチャート図である。
【符号の説明】
【０１２２】
１  コンピュータ
２  プリンタ
１２  ＣＰＵ
１５  外部記憶装置
２４  ＣＰＵ
３１  印刷アプリケーションプログラム
４０  ＯＳ
４１  データスプールプログラム
４２  データ送信処理プログラム
４３  インタフェース制御プログラム
５０  プリンタドライバ
５１  印刷データ生成プログラム
５２  データ送受信制御プログラム
【図１】
2005222423.tif 000003
【図２】
2005222423.tif 000004
【図３】
2005222423.tif 000005
【図４】
2005222423.tif 000006
【図５】
2005222423.tif 000007
【図６】
2005222423.tif 000008
【図７】
2005222423.tif 000009
【図８】
2005222423.tif 000010
【図９】
2005222423.tif 000011
【図１０】
2005222423.tif 000012
【図１１】
2005222423.tif 000013
【図１２】
2005222423.tif 000014