(57)【特許請求の範囲】
【請求項１】
印刷デバイスに接続された印刷サーバと、複数のクライアント装置と、がネットワークを介して相互にデータ送受信可能に接続され、前記クライアント装置が前記印刷サーバへ印刷要求する際に予約印刷時刻を指定して印刷ジョブの予約を行うことにより、該印刷ジョブに対する前記印刷デバイスでの印刷出力が前記予約印刷時刻に従って行われるよう構成されたネットワーク印刷システムにおいて、
前記クライアント装置は、
前記印刷サーバへの印刷ジョブ予約時に、印刷データを一旦記憶媒体に記憶し、予約データとして少なくとも前記印刷データの予約印刷時刻を、当該クライアント装置自身を表す識別コードと共に前記印刷サーバへ送信して、前記印刷サーバから該印刷データの送信要求があったときに前記記憶媒体へ記憶した印刷データを前記印刷サーバへ送信し、更に、当該クライアント装置がシャットダウンされる際には、前記予約をした印刷ジョブであって印刷データを前記印刷サーバへ送信していない印刷ジョブがあるか否かを判断し、あるならば、該印刷ジョブの印刷データをシャットダウンデータとして前記印刷サーバへ送信するよう構成され、
前記印刷サーバは、
前記クライアント装置からの前記予約データ及び前記識別コードを受信することにより前記印刷ジョブの予約を受け付け、該予約を受け付けた印刷ジョブを前記予約印刷時刻に従って印刷デバイスから印刷出力させる際に、該印刷ジョブを予約したクライアント装置に対して、当該印刷ジョブの印刷データを送信すべき旨の前記送信要求を送信し、該送信要求によって該クライアント装置から送信されてきた印刷データを前記印刷デバイスにて印刷出力させ、更に、前記クライアント装置から前記シャットダウンデータが送信されてきたときは、該シャットダウンデータを記憶デバイスに記憶しておき、該シャットダウンデータに対応した予約データに基づく前記印刷デバイスによる印刷出力実行は、前記記憶デバイスに記憶中のシャットダウンデータに基づいて行うよう構成されている
ことを特徴とするネットワーク印刷システム。
【請求項２】
前記印刷サーバは、
前記クライアント装置から前記シャットダウンデータが送信されてきたとき、前記記憶デバイスの記憶容量不足により該シャットダウンデータを記憶できない場合は、前記予約データに関わらず、そのまま該シャットダウンデータについて前記印刷デバイスによる印刷出力を実行させる
ことを特徴とする請求項１記載のネットワーク印刷システム。
【請求項３】
前記クライアント装置は、
前記予約データとして、更に、印刷データのデータ量、又は、該データ量に基づいて演算により得られる印刷所要時間を送信する
ことを特徴とする請求項１又は２記載のネットワーク印刷システム。
【請求項４】
前記クライアント装置から前記予約データとして送信される前記予約印刷時刻は、印刷終了時刻であり、
前記印刷サーバは、
前記予約データに前記印刷所要時間が含まれている場合は、該印刷所要時間と前記印刷終了時刻とから、前記印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算し、前記予約データに前記データ量が含まれている場合は、まず該データ量に基づいて前記印刷所要時間を計算し、該印刷所要時間と前記印刷終了時間とから、前記印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算することにより、
該印刷開始時刻になったときに、当該予約データに対応するクライアント装置へ前記送信要求を送信して前記印刷デバイスによる印刷出力を開始させる
ことを特徴とする請求項３記載のネットワーク印刷システム。
【請求項５】
前記クライアント装置は、前記予約データとして、更に、前記印刷データの印刷様式を送信することを特徴とする請求項１〜４いずれかに記載のネットワーク印刷システム。
【請求項６】
前記クライアント装置は、前記印刷サーバから前記送信要求があったとき、或いは、該送信要求により前記印刷サーバへ印刷データを送信したときに、その旨を報知することを特徴とする請求項１〜５いずれかに記載のネットワーク印刷システム。
【請求項７】
前記印刷サーバは、前記クライアント装置からの予約を受け付けた印刷ジョブが前記印刷デバイスにより印刷出力されたとき、該印刷出力が終了したことを、該クライアント装置へ通知し、
前記クライアント装置は、該通知があったとき、その旨を報知する
ことを特徴とする請求項１〜６いずれかに記載のネットワーク印刷システム。
【請求項８】
クライアント装置から、少なくとも印刷データの予約印刷時刻を含む予約データと、該クライアント装置自身を表す識別コードとを受信することにより印刷ジョブの予約を受け付ける予約受付手段と、
該予約受付手段により予約受付された印刷ジョブを前記予約印刷時刻に従って印刷デバイスから印刷出力させる際、該印刷ジョブを予約したクライアント装置に対して当該印刷ジョブの印刷データを送信すべき旨の送信要求を送信することにより、該印刷データを取得する印刷データ取得手段と、
該印刷データ取得手段により取得された印刷データを前記印刷デバイスにて印刷出力させる印刷実行手段と、
前記印刷データ取得手段による前記送信要求の送信がなされていないにも関わらず前記予約中の印刷ジョブの印刷データが前記クライアント装置から一方的に送信されてきたときに、該印刷データをシャットダウンデータとして記憶デバイスに記憶するシャットダウンデータ記憶手段と、
を備え、
前記印刷データ取得手段は、前記シャットダウンデータに対応した予約データに基づく前記印刷デバイスによる印刷出力実行の際、前記記憶デバイスに記憶された前記シャットダウンデータを取得し、前記印刷実行手段は、該取得したシャットダウンデータを印刷出力させる
ことを特徴とする印刷サーバ。
【請求項９】
請求項８記載の印刷サーバであって、
前記シャットダウンデータ記憶手段は、
前記クライアント装置から前記シャットダウンデータが送信されてきたときに、前記記憶デバイスの記憶容量不足により該シャットダウンデータを記憶できない場合、該シャットダウンデータの記憶を行わず、前記印刷実行手段に対して、前記予約データに関わらずそのまま該シャットダウンデータを前記印刷デバイスにて印刷出力させる
ことを特徴とする印刷サーバ。
【請求項１０】
請求項８又は９に記載の印刷サーバであって、
前記予約データに、前記予約印刷時刻としての印刷終了時刻と、前記印刷データを前記印刷デバイスにて印刷出力させるのに必要な印刷所要時間とが含まれている場合に、該印刷終了時刻と該印刷所要時間とから前記印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算する第１開始時刻算出手段を備え、
前記印刷データ取得手段は、該印刷開始時刻になったときに前記送信要求の送信を行う
ことを特徴とする印刷サーバ。
【請求項１１】
請求項８又は９に記載の印刷サーバであって、
前記予約データに、前記予約印刷時刻としての印刷終了時刻と、前記印刷データのデータ量とが含まれている場合に、該印刷データを前記印刷デバイスにて印刷出力させるのに必要な印刷所要時間を該データ量に基づいて計算し、該計算した印刷所要時間と前記印刷終了時間とから前記印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算する第２開始時刻算出手段を備え、
前記印刷データ取得手段は、該印刷開始時刻になったときに前記送信要求の送信を行う
ことを特徴とする印刷サーバ。
【請求項１２】
請求項８〜１１いずれかに記載の印刷サーバと、該印刷サーバから入力される印刷データに従って印刷媒体に印刷出力する印刷デバイスとからなるプリンタ。
【請求項１３】
印刷サーバへの印刷ジョブの予約時に、印刷データを一旦記憶媒体に記憶する印刷データ記憶手段と、
該予約時に予約データとして少なくとも前記印刷データの予約印刷時刻を、自身を表す識別コードと共に前記印刷サーバへ送信する予約データ送信手段と、
前記印刷サーバから該印刷データの送信要求があったときに、前記記憶媒体へ記憶された該印刷データを前記印刷サーバへ送信する印刷データ送信手段と、
当該クライアント装置がシャットダウンされる際に、前記予約をした印刷ジョブであって印刷データを前記印刷サーバへ送信していない印刷ジョブがあるか否かを判断し、あるならば、該予約中の印刷ジョブの印刷データをシャットダウンデータとして前記印刷サーバへ送信するシャットダウンデータ送信手段と、
を備えたことを特徴とするクライアント装置。
【請求項１４】
請求項１３記載のクライアント装置であって、
前記予約データ送信手段は、前記予約データとして、更に、印刷データのデータ量、又は、該データ量に基づいて演算により得られる印刷所要時間を送信する
ことを特徴とするクライアント装置。
【請求項１５】
請求項１４記載のクライアント装置であって、
前記予約データ送信手段が前記予約データとして送信する前記予約印刷時刻は、印刷終了時刻である
ことを特徴とするクライアント装置。
【請求項１６】
請求項１３〜１５いずれかに記載のクライアント装置であって、
前記予約データ送信手段は、前記予約データとして、更に、前記印刷データの印刷様式を送信する
ことを特徴とするクライアント装置。
【請求項１７】
請求項１３〜１６いずれかに記載のクライアント装置であって、
前記クライアント装置は、前記印刷サーバから前記送信要求があったとき、或いは、該送信要求により前記印刷サーバへ印刷データを送信したときに、その旨を報知する第１報知手段を備えたことを特徴とするクライアント装置。
【請求項１８】
請求項１３〜１７いずれかに記載のクライアント装置であって、
前記予約した印刷ジョブが印刷デバイスにより印刷出力され、該印刷出力が終了したことが前記印刷サーバから通知されてきたときに、該通知があった旨を報知する第２報知手段を備えたことを特徴とするクライアント装置。
【請求項１９】
コンピュータを、
クライアント装置から、少なくとも印刷データの予約印刷時刻を含む予約データと、該クライアント装置自身を表す識別コードとを受信することにより印刷ジョブの予約を受け付ける予約受付手段、
該予約受付手段により予約受付された印刷ジョブを前記予約印刷時刻に従って印刷デバイスから印刷出力させる際、該印刷ジョブを予約したクライアント装置に対して当該印刷ジョブの印刷データを送信すべき旨の送信要求を送信することにより、該印刷データを取得する印刷データ取得手段、
該印刷データ取得手段により取得された印刷データを前記印刷デバイスにて印刷出力させる印刷実行手段、
前記印刷データ取得手段による前記送信要求の送信がなされていないにも関わらず前記予約中の印刷ジョブの印刷データが前記クライアント装置から一方的に送信されてきたときに、該印刷データをシャットダウンデータとして記憶デバイスに記憶するシャットダウンデータ記憶手段、
として機能させ、
前記印刷データ取得手段は、前記シャットダウンデータに対応した予約データに基づく前記印刷デバイスによる印刷出力実行の際、前記記憶デバイスに記憶された前記シャットダウンデータを取得し、前記印刷実行手段は、該取得したシャットダウンデータを印刷出力させるように機能させるためのプログラム。
【請求項２０】
コンピュータを、
印刷サーバへの印刷ジョブの予約時に、印刷データを一旦記憶媒体に記憶する印刷データ記憶手段、
該予約時に予約データとして少なくとも前記印刷データの予約印刷時刻を、自身を表す識別コードと共に前記印刷サーバへ送信する予約データ送信手段、
前記印刷サーバから該印刷データの送信要求があったときに、前記記憶媒体へ記憶された該印刷データを前記印刷サーバへ送信する印刷データ送信手段、
当該クライアント装置がシャットダウンされる際に、前記予約をした印刷ジョブであって印刷データを前記印刷サーバへ送信していない印刷ジョブがあるか否かを判断し、あるならば、該予約中の印刷ジョブの印刷データをシャットダウンデータとして前記印刷サーバへ送信するシャットダウンデータ送信手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷デバイスに接続された印刷サーバと複数のクライアント装置とがネットワークを介して相互にデータ送受信可能に接続されたネットワーク印刷システムに関する。
【０００２】
【従来の技術】
従来より、プリンタと複数のクライアント装置（例えばパーソナルコンピュータ等）とをネットワークを介して相互に接続することにより、各クライアント装置がプリンタを共有できるよう構成されたネットワーク印刷システムが知られている。
【０００３】
このようなネットワーク印刷システムでは、同じプリンタを複数のクライアント装置が共有しているため、あるクライアント装置からの印刷ジョブがプリンタにて印刷出力されていると、その印刷出力が終わるまで他の印刷ジョブは待たされることになる。特に、大量の印刷データを印刷出力すると、長時間プリンタを占有してしまい、他の印刷ジョブ（特に緊急性の高いジョブ）に多大な影響を与えてしまう。
【０００４】
印刷ジョブの種類によっては、必ずしもプリンタへの印刷ジョブ要求時にすぐに印刷出力する必要はなく、一定時間経過後までに印刷物を入手できればいいといった場合や、他の印刷ジョブへの影響を考えてプリンタ使用頻度の少ない夜間等に大量のデータを印刷出力させたいという場合も少なくない。
【０００５】
そこで、こういった問題を解決するために、例えば特開平６−３４０１５１号公報に開示されているように、クライアント装置から印刷ジョブの要求を行う際、印刷出力時刻を指定できる技術が提案されている。つまり、クライアント装置から印刷出力時刻の指定された印刷ジョブの要求（予約）を受けると、指定された時刻まではそのまま印刷データを保存しておき、指定時刻になったときに印刷出力を実行するのである。
【０００６】
これにより、例えば緊急性の低い、或いはデータ量の多い印刷ジョブを、プリンタ使用頻度の低い時間帯等に印刷出力させることにより、他の印刷ジョブへの影響を抑制することができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、クライアント装置から印刷出力時刻指定による印刷ジョブ予約を受け付けて印刷データを保存しておき、指定された時刻に従って印刷する方法だと、印刷ジョブの予約が増えれば増えるほど、当然ながらプリンタに蓄えておくべき印刷データの量も増加していく。
【０００８】
そのため、多くの印刷データをそれぞれ予約された印刷出力時刻まで蓄積できるよう、記憶容量の大きい記憶デバイス（メモリ等）をプリンタ側で備えておく必要が生じ、プリンタのコストアップを引き起こしてしまう。
また、ネットワーク印刷システムの形態として、印刷データ処理・保存等の機能（印刷サーバ機能）を、プリンタ本体とは別の他の装置（サーバマシン）にもたせる場合もある。この場合も、サーバマシンに大容量の記憶デバイスを備える必要が生じ、やはり上記（印刷サーバ機能を備えたプリンタの場合）と同様、ネットワーク印刷システムのコストアップを引き起こしてしまう。
【０００９】
本発明は上記課題に鑑みなされたものであり、クライアント装置から印刷時刻を指定してなされた印刷ジョブの予約をプリンタ側（プリンタ本体或いは印刷データ処理用サーバマシン等）で受け付け、指定された印刷時刻に従って印刷出力が実行されるネットワーク印刷システムにおいて、プリンタ側で備える印刷データ保存用の記憶デバイスの記憶容量を低減して、ネットワーク印刷システムを安価に構築できるようにすることを目的とする。
【００１０】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項１記載のネットワーク印刷システムは、クライアント装置が印刷サーバへ印刷要求する際に予約印刷時刻を指定して印刷ジョブの予約を行うことにより、該印刷ジョブに対する印刷デバイスでの印刷出力が予約印刷時刻に従って行われるよう構成されたものである。
【００１１】
クライアント装置は、印刷サーバへの印刷ジョブ予約時に、印刷データを一旦記憶媒体に記憶し、予約データとして少なくとも印刷データの予約印刷時刻を、当該クライアント装置自身を表す識別コードと共に印刷サーバへ送信し、印刷サーバから印刷データの送信要求があったときに記憶媒体へ記憶した印刷データを印刷サーバへ送信する。
クライアント装置は、更に、当該クライアント装置がシャットダウンされる際には、予約をした印刷ジョブであって印刷データを印刷サーバへ送信していない印刷ジョブがあるか否かを判断し、あるならば、該印刷ジョブの印刷データをシャットダウンデータとして印刷サーバへ送信する。
【００１２】
そして、印刷サーバは、クライアント装置からの予約データ及び識別コードを受信することにより印刷ジョブの予約を受け付け、該予約を受け付けた印刷ジョブを予約印刷時刻に従って印刷デバイスから印刷出力させる際に、該印刷ジョブを予約したクライアント装置に対して、当該印刷ジョブの印刷データを送信すべき旨の送信要求を送信し、該送信要求によってクライアント装置から送信されてきた印刷データを印刷デバイスにて印刷出力させる。
印刷サーバは、更に、クライアント装置からシャットダウンデータが送信されてきたときは、該シャットダウンデータを記憶デバイスに記憶しておき、該シャットダウンデータに対応した予約データに基づく印刷デバイスによる印刷出力実行は、記憶デバイスに記憶中のシャットダウンデータに基づいて行う。
【００１３】
クライアント装置から印刷ジョブが予約されたときに、そのクライアント装置の識別コードが送信されてくるため、印刷サーバがクライアント装置へ印刷データの送信要求を行う際は、その識別コードをもとに要求すべきクライアント装置を特定することができるのである。
【００１４】
つまり、クライアント装置が印刷サーバへ印刷ジョブの予約を行う際に、印刷データ自体は送信せず予約データや識別コード等の最低限必要なデータのみを送信しておき、その予約データに基づいて実際に印刷を行う際に、印刷サーバがクライアント装置へ印刷データを要求し、その要求があったときにクライアント装置は印刷サーバへ印刷データを送信するのである。
また、印刷サーバがクライアント装置からの印刷ジョブ予約を受け付けた後、実際に印刷出力が開始されるまでの間に、クライアント装置がシャットダウンされてしまうことも十分に考えられる。そうなると、印刷サーバがそのクライアント装置へ印刷データを送信要求しても、そのクライアント装置からは何の応答もなく、予約された印刷ジョブの印刷を実行できなくなってしまう。
そこで本発明では、クライアント装置が、シャットダウンの際に、予約をした印刷ジョブでまだ印刷データを印刷サーバへ送信していない印刷ジョブがあるときは、その印刷データをシャットダウンデータとして印刷サーバへ送信するようにしている。そして印刷サーバは、送信されてきたシャットダウンデータを記憶デバイスに記憶しておき、そのシャットダウンデータに対応した予約データに基づいて印刷デバイスによる印刷出力を実行する際は、記憶デバイスに記憶中のシャットダウンデータに基づいて行うのである。
【００１５】
従って、本発明（請求項１）のネットワーク印刷システムによれば、クライアント装置は印刷ジョブの予約時に印刷データまで送信する必要はなく、印刷デバイスにてまさに印刷を開始しようとするとき（予約印刷時刻に従って印刷を開始する必要がでてきたとき）に印刷データを送信すればよいため、印刷サーバ側で印刷データ記憶用の大容量記憶デバイスを備える必要はなく、ネットワーク印刷システムを安価に構築することができる。
また、予約後にクライアント装置がシャットダウンされてしまっても、その予約された印刷ジョブの印刷を確実に実行することができる。
【００１６】
尚、予約印刷時刻としては、例えば印刷を開始する時刻でもいいし、印刷が終了すべき時刻であってもいいし、もっと幅を持たせて例えば「２時から３時の間」などとしたり、或いは、予約実行時刻から所定時間経過後を示す時刻であってもよく、種々考えられる。
【００１７】
また、印刷デバイスと印刷サーバとは、物理的にそれぞれ独立した別個のものであってもいいし、印刷デバイス（印刷実行機能）と印刷サーバ（印刷データ処理機能）とが一体化されて構成されたもの（例えばサーバ機能を備えたプリンタや複写機等）であってもよく、両者は種々の態様を採りうる。また、ネットワークは、有線であっても無線であってもどちらでもよい。
さらに、請求項２に記載のように、印刷サーバは、記憶デバイスの記憶容量不足によりクライアント装置からのシャットダウンデータを記憶できない場合は、予約データに関わらず、そのままそのシャットダウンデータについて印刷デバイスによる印刷出力を実行させるようにするとよい。
このようにすれば、記憶デバイスの容量不足によりシャットダウンデータを保存できなくても、そのシャットダウンデータを確実に印刷出力することができる。
【００１８】
【００１９】
【００２０】
【００２１】
【００２２】
また、請求項３に記載のように、予約データとして更に、印刷データのデータ量、又は、該データ量に基づいて演算により得られる印刷所要時間を送信するようにすれば、印刷サーバによる印刷ジョブの予約管理をより適切に行うことが可能となる。
【００２３】
この場合さらに、例えば請求項４記載のように、クライアント装置は予約印刷時刻として印刷終了時刻を送信するようにし、印刷サーバは、予約データに印刷所要時間が含まれている場合は、印刷所要時間と印刷終了時刻とから印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算し、予約データに印刷データのデータ量が含まれている場合は、まず該データ量に基づいて印刷所要時間を計算し、その印刷所要時間と印刷終了時間とから印刷デバイスにて印刷出力を開始すべき印刷開始時刻を計算して、印刷開始時刻になったときに、当該予約データに対応するクライアント装置へ送信要求を送信して印刷デバイスによる印刷出力を開始させるものであるとよい。
【００２４】
つまり、印刷サーバは、印刷データ量又は印刷所要時間のいずれかに基づいて、クライアント装置から指定された印刷終了時刻までに印刷を完了するにはいつ印刷開始すればいいかという、印刷開始時刻を算出することができるため、指定した印刷終了時刻までに確実に印刷出力を完了させることができる。
【００２５】
また、請求項５記載のように、予約データとして更に印刷データの印刷様式を送信するとよい。印刷様式としては、解像度や、カラー又はモノクロいずれかの指定、或いはページレイアウトや縮小率などの、印刷処理速度の大小を示すものが挙げられる。
【００２６】
一般に、カラー印刷よりモノクロ印刷の方が印刷にかかる時間が少ないし、解像度が高ければ高いほど印刷にかかる時間が多くなる。そのため、印刷様式を送信するようにすれば、例えばデータ量と印刷終了時刻とから印刷開始時刻を演算する際に、印刷様式を考慮してより正確な印刷開始時刻演算が可能となり、延いてはより適切な印刷ジョブの予約管理が可能となる。
【００２７】
【００２８】
【００２９】
【００３０】
【００３１】
【００３２】
更に、クライアント装置は、印刷サーバから送信要求があったとき、或いは、送信要求により印刷サーバへ印刷データを送信したときに、その旨を報知するようにしたり（請求項６）、又は、印刷サーバが、クライアント装置からの予約を受け付けた印刷ジョブが印刷デバイスにより印刷出力されたとき、該印刷出力が終了したことをクライアント装置へ通知して、クライアント装置はその通知があったとき、その旨を報知する（請求項７）ようにしてもよい。
【００３３】
ここでいう報知とは、例えばクライアント装置が備えるディスプレイ等の表示装置に何らかの表示をしたり、クライアント装置から何らかの音を発生させるなど、当該クライアント装置にて予約された印刷ジョブについて、印刷サーバからの送信があったこと、印刷データを印刷サーバへ送信したこと、或いは印刷出力が終了したことを、ユーザが認識可能となるようにすることを意味する。このようにすれば、クライアント装置を操作しているユーザは印刷サーバ側での印刷出力の状況を把握することができる。
【００３４】
次に、請求項８記載の発明は、予約受付手段が、クライアント装置から少なくとも印刷データの予約印刷時刻を含む予約データと、該クライアント装置自身を表す識別コードとを受信することにより印刷ジョブの予約を受け付け、印刷データ取得手段が、その予約受付された印刷ジョブを予約印刷時刻に従って印刷デバイスから印刷出力させる際、予約元のクライアント装置へ送信要求を送信することにより印刷データを取得し、印刷実行手段が、その取得した印刷データを印刷デバイスにて印刷出力させるように構成した印刷サーバである。
また、シャットダウンデータ記憶手段を備えており、印刷データ取得手段による送信要求の送信がなされていないにも関わらず予約中の印刷ジョブの印刷データがクライアント装置から一方的に送信されてきたときは、このシャットダウンデータ記憶手段が、該印刷データをシャットダウンデータとして記憶デバイスに記憶する。
そして、印刷データ取得手段は、シャットダウンデータに対応した予約データに基づく印刷デバイスによる印刷出力実行の際は、記憶デバイスに記憶されたシャットダウンデータを取得し、印刷実行手段は、該取得したシャットダウンデータを印刷出力させる。
【００３５】
このように構成された印刷サーバによれば、クライアント装置からの予約時には予約受付手段が予約データ及び識別コードだけを受け付け、印刷実行時に印刷データ取得手段がクライアント装置へ印刷データを要求するため、予約を受け付けてから印刷実行時までに印刷サーバが印刷データを保存しておく必要がない。そのため、本発明のネットワーク印刷システムを実現するのに好適である。
また、請求項９に記載のように、印刷実行手段に対し、予約データに関わらずそのままそのシャットダウンデータを印刷デバイスにて印刷出力させるようにするとよい。記憶デバイスの記憶容量不足により、送信されてきたシャットダウンデータを記憶できない場合でも、そのシャットダウンデータを確実に印刷出力することができる。
【００３６】
【００３７】
【００３８】
さらに、例えば請求項１０に記載のように、予約データに印刷終了時刻と印刷所要時間とが含まれている場合に、第１開始時刻算出手段が、その印刷終了時刻と印刷所要時間とから印刷出力を開始すべき印刷開始時刻を計算し、その印刷開始時刻になったときに印刷データ取得手段が送信要求の送信を行うように構成してもいいし、また例えば、請求項１１に記載のように、予約データに印刷終了時刻と印刷データのデータ量とが含まれている場合に、第２開始時刻算出手段が、データ量に基づいて印刷所要時間を計算して、その印刷所要時間と印刷終了時間とから印刷開始時刻を計算し、その印刷開始時刻になったときに印刷データ取得手段が送信要求の送信を行うように構成してもいい。
【００３９】
いずれにおいても、各印刷ジョブ毎に適切な印刷開始時刻が算出され、予約指定した印刷終了時刻までに確実に印刷出力を完了させることができる。
【００４０】
【００４１】
【００４２】
請求項１２記載の発明は、請求項８〜１１いずれかに記載の印刷サーバと、該印刷サーバから入力される印刷データに従って印刷媒体に印刷出力する印刷デバイスからなるプリンタである。つまり、印刷サーバと印刷デバイスとが一体化したプリンタとして構成することも可能なのであり、このプリンタとクライアント装置とをネットワークを介して接続することによっても、ネットワーク印刷システムを実現できる。
【００４３】
次に、請求項１３記載の発明は、印刷データ記憶手段が、印刷サーバへの印刷ジョブ予約時に印刷データを一旦記憶媒体に記憶し、その予約時に、予約データ送信手段が、予約データとして少なくとも印刷データの予約印刷時刻を、自身を表す識別コードと共に印刷サーバへ送信し、印刷データ送信手段が、印刷サーバから印刷データの送信要求があったときに、記憶媒体へ記憶された印刷データを印刷サーバへ送信するよう構成されたクライアント装置である。
また、シャットダウンデータ送信手段を備えており、このシャットダウンデータ送信手段が、当該クライアント装置がシャットダウンされる際に、予約をした印刷ジョブであって印刷データを印刷サーバへ送信していない印刷ジョブがあるか否かを判断し、あるならば、該予約中の印刷ジョブの印刷データをシャットダウンデータとして印刷サーバへ送信する。
【００４４】
このように構成されたクライアント装置によれば、印刷ジョブの予約時には印刷データそのものは印刷サーバへ送信せず、印刷サーバから送信要求がきたとき（印刷実行時）に印刷データを送信するため、ネットワーク印刷システムを実現するのに好適である。
また、予約中であってまだ印刷データを印刷サーバへ送信していない印刷ジョブがあるにも関わらず、クライアント装置がシャットダウンされてしまっても、その予約中の印刷ジョブを印刷サーバ側で確実に印刷させることが可能となる。
【００４５】
請求項１４に記載のクライアント装置は、予約データ送信手段が、予約データとして、更に、印刷データのデータ量、又は、該データ量に基づいて演算により得られる印刷所要時間を送信する。
そしてこの場合、例えば請求項１５に記載のように、予約データ送信手段は、予約印刷時刻として印刷終了時刻を送信するとよい。これにより、印刷サーバでは印刷データ量又は印刷所要時間のいずれか、及び印刷終了時刻に基づいて印刷開始時刻を適切に得ることができ、ネットワーク印刷システムを実現するのに好適なクライアント装置の提供が可能となる。
【００４６】
また、請求項１６記載のクライアント装置は、予約データ送信手段が、予約データとして、更に、印刷データの印刷様式を送信する。
【００４７】
【００４８】
また、請求項１３〜１６のいずれかに記載のクライアント装置を、例えば請求項１７記載のように、印刷サーバから送信要求があったとき、或いは、該送信要求により印刷サーバへ印刷データを送信したときに、その旨を第１報知手段が報知するように構成するとよく、更にまた、例えば請求項１８記載のように、予約した印刷ジョブが印刷デバイスにより印刷出力され、該印刷出力が終了したことが印刷サーバから通知されてきたときに、該通知があった旨を第２報知手段が報知するように構成してもよい。
【００４９】
また、本発明の印刷サーバ（請求項８〜１１）、及び、本発明のクライアント装置（請求項１３〜１８）は、いずれも、例えば別途ハードウェアにより実現することができるなど、種々の方法により実現可能であるが、コンピュータがアプリケーションソフト（プログラム）を実行することにより実現することができる。
【００５０】
即ち、当該印刷サーバにおける各手段としてコンピュータを機能させるためのプログラムを備え、コンピュータがそのプログラムを実行することにより、本発明の印刷サーバを実現するのである。クライアント装置についても同様であり、当該クライアント装置における各手段としてコンピュータを機能させるためのプログラムを備え、コンピュータがそのプログラムを実行することにより、本発明のクライアント装置を実現するのである。
【００５１】
そして、コンピュータを本発明の印刷サーバとして機能させるためのプログラム、或いはコンピュータを本発明のクライアント装置として機能させるためのプログラムは、例えば、フロッピー（登録商標）ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして起動することにより用いることができる。この他、ＲＯＭやバックアップＲＡＭをコンピュータ読み取り可能な記録媒体としてプログラムを記録しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータに組み込んで用いてもよい。
【００５２】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
図１は、本実施形態のネットワーク印刷システムの概略構成を示す説明図である。図１に示す如く、本実施形態のネットワーク印刷システムは、プリンタ１と、複数のクライアント側パーソナルコンピュータ（以下「クライアントＰＣ」と称す）２，３とが、ネットワーク４を介して相互にデータ送受信可能に接続されて構成されている。
【００５３】
尚、ネットワーク４には、図示は省略したもののクライアントＰＣ２，３以外にも複数のクライアントＰＣが接続されており、全てのクライアントＰＣ２，３，・・・はプリンタ１を共有している。但し、本実施形態では、ネットワーク４に接続された各クライアントＰＣ２，３，・・・はいずれも同じ構成のものであるため、以下の説明においては、代表としてクライアントＰＣ２に着目して説明する。
【００５４】
プリンタ１は、ネットワーク４に接続されたクライアントＰＣ２から印刷ジョブの要求を受けると、その印刷ジョブを印刷用紙へ印刷出力するのであるが、本実施形態では、印刷ジョブ要求時にクライアントＰＣ２がプリント終了期限（印刷終了時刻）等を指定してプリント予約をしておき、その指定されたプリント終了期限までにプリンタ１にて印刷出力が実行されるという、いわゆる予約プリント機能を備えている。
【００５５】
そして、クライアントＰＣ２によるプリント予約時には、プリント終了期限や印刷データサイズなどの必要最低限のデータのみをプリンタ１へ送信して、印刷データ自体はクライアントＰＣ２自身が保存しておき、プリント終了期限に従ってプリンタ１で印刷出力する際に、クライアントＰＣ２がプリンタ１へ印刷データを送信するのである。これは、本実施形態のネットワーク印刷システムが備える最も特徴的な機能であり、以下、この機能を中心に詳細説明する。
【００５６】
まず、クライアントＰＣ２の構成・機能について概略説明する。クライアントＰＣ２（本発明のクライアント装置に相当）は、一般的なパーソナルコンピュータ等と同様、電源投入と同時にＯＳ（Operating System）が起動することにより、ＯＳ上でアプリケーション２３やプリンタドライバ２２等の各種ソフトウェアが動作するものである。
【００５７】
アプリケーション２３上で作成された文書データや画像データ等の各種アプリケーションデータは、ユーザ（作成者等）によってそのアプリケーションデータに対する印刷ジョブが要求されると、プリンタドライバ２２によって、一旦ＥＭＦ（Enhanced Meta File：プリンタの種類に依存しない中間ファイル）形式のデータに変換された後、さらにプリンタ１に適したＰＤＬ（Page Discription Language ：ページ記述言語）に変換される。
【００５８】
そして、プリンタ１に対しては、プリント予約に関するデータのみを送信しておいて、このＰＤＬ形式の印刷データ自体はすぐにはプリンタ１へ送信せず、一旦ハードディスク（本発明の記憶媒体に相当；以下「ＨＤＤ」という）２１に保存しておく。
【００５９】
具体的には、ユーザが、アプリケーションデータの印刷を行おうとする際にアプリケーション２３上で所定の操作をすることにより印刷設定要求を行うと、これを受けたプリンタドライバ２２は、クライアントＰＣ２が備える液晶表示装置２４（図４参照）に各種印刷設定ダイアログを表示する。ユーザはこの設定ダイアログに従って、用紙サイズやプリント部数、カラー又はモノクロいずれかの指定など、印刷に必要な各種設定を行うことになる。そして、この設定の際に、プリント終了期限を指定することにより、プリント予約を行うのである。
【００６０】
これらの各種印刷設定を行った後、所定の操作（例えばマウス操作による、液晶表示装置２４中の印刷実行タブ（図示略）のクリック）により印刷実行の要求を行うと、クライアントＰＣ２からは、図２に示す内容の予約印刷ジョブデータがプリンタ１へ送信され、印刷データ自体はＨＤＤ２１へ保存される。
【００６１】
この予約印刷ジョブデータは、識別コードとしての送信元アドレスと、送信先プリンタアドレス（プリンタ１のＩＰアドレス）と、プリント予約データとからなり、このうちプリント予約データは更に、印刷データのファイル名と、プリント終了期限と、印刷データのサイズ（データ量）と、印刷様式としてのプリントモードとからなる。
【００６２】
尚、送信元アドレスは、詳細には、各クライアントＰＣに与えられた個別のＩＰアドレス及びクライアントＩＤである。本実施形態では、クライアントＰＣ２のＩＤは１５、クライアントＰＣ３のＩＤは４として、予め設定されている。また、プリントモードとしては、解像度情報や、カラー又はモノクロいずれで印刷するかの情報など、種々の印刷処理速度の大小に関連するものが考えられる。解像度情報は、例えばユーザが印刷速度を優先して早く印刷完了したい旨の設定をした場合は低解像度、印刷速度は遅くなっても見栄えを優先してきれいに印刷したい旨の設定をした場合は高解像度となる。
【００６３】
そして、予約印刷ジョブデータを送信すると、図３（ａ）に示すように、その印刷ジョブの予約が完了したことを、プリント予約済みテーブルへ記録する。このプリント予約済みテーブルは、ＨＤＤ２１内に予め確保された領域に設定されるものであり、図３（ａ）は、「word2.prn 」というファイル名の印刷ジョブが予約された状態であることを例示している。
【００６４】
このようにプリント予約を済ませた後は、プリンタ１から印刷データの送信要求（詳細は後述）があったときにＨＤＤ２１に保存中の印刷データを送信したり、印刷終了後にその旨を液晶表示装置２４へ表示したり、さらには当該クライアントＰＣ２がシャットダウンされる時に、そのとき予約されている印刷ジョブの印刷データをプリンタ１へ送信する等の、種々の処理が行われるのだが、これらについては後で述べる。
【００６５】
次に、プリンタ１の構成・機能について概略説明する。プリンタ１は、ＣＰＵ，ＲＯＭ，ＲＡＭ等（いずれも図示略）から構成されたコントローラ１３が、メモリ１１への各種情報の書き込み・読み出しを行いながら各種処理を実行すると共に、実際に印刷用紙や印刷用ＯＨＰフィルム等の各種印刷媒体への印刷出力を行う印刷出力部１２（本発明の印刷デバイスに相当）の動作を制御することにより、クライアントＰＣ２からの印刷ジョブを実行する。尚、コントローラ１３及びメモリ１１により、本発明の印刷サーバが構成される。
【００６６】
クライアントＰＣ２によるプリント予約の実行によって、予約印刷ジョブデータ（図２）が送信されてくると、コントローラ１３は、その予約印刷ジョブデータをメモリ１１内のプリント予約記録領域１８へ記録する。より具体的には、このプリント予約記録領域１８には図３（ｂ）に示すようなプリント予約受け付けテーブルが設定されており、このプリント予約受け付けテーブルへ予約印刷ジョブデータの内容を記録することになる。
【００６７】
図３（ｂ）は、クライアントＩＤが１５であるクライアントＰＣ２からのプリント予約(No.1）と、同ＩＤが４であるクライアントＰＣ３からのプリント予約（No.2）と、同ＩＤが１０であるクライアントＰＣ（図示略）からのプリント予約（No.3）とが、それぞれ予約受付された状態を例示している。
【００６８】
このうち特に、クライアントＰＣ２によるプリント予約内容（予約No.1）に着目すると、クライアントＰＣ２からの予約印刷ジョブデータ（特にプリント予約データ）中、ファイル名が「word2.prn 」、プリント終了期限が「２００１年１２月１０日の１１時４５分」であることを示している。尚、要プリント時間（本発明の印刷所要時間に相当）が「１０分」となっているが、これは、プリント予約データ中の印刷データサイズをもとに、同じくプリント予約データ中のプリントモードを考慮しつつ演算により得られるものである。
【００６９】
同様に、予約No.2（ファイル名「excel1.prn」）のプリント予約内容、及び予約No.3（ファイル名「foo.prn 」）のプリント予約内容も、それぞれ対応するクライアントＰＣから送信されてきた予約印刷ジョブデータをもとに、図３（ｂ）に示すようにプリント予約受け付けテーブルへ記録される。また、図３（ｂ）に示す如く、プリント開始時刻として「１１：３５」が設定されているが、これは、予約受付された全ての印刷ジョブ（本例では３つのジョブ）のプリント終了期限及び要プリント時間に基づいて、各印刷ジョブをそれぞれ指定された期限までに印刷するのに必要なプリント開始時刻を演算して得られるもので、その詳細については後述する。本実施形態では、このプリント開始時刻になると、そのとき予約受け付け済みの全ての印刷ジョブについて、対応するクライアントＰＣへ印刷データの送信を要求することにより印刷出力を実行するのだが、実際の印刷出力がどのような手順で行われるかの詳細については後述する。
【００７０】
メモリ１１内のバッファ１６は、予約受け付けした印刷ジョブを実際に印刷出力する際に、クライアントＰＣから送信されてくる印刷データを一時的にバッファリングするための、一般的なプリンタが通常備えている周知のものである。尚、このバッファ１６には、印刷データ（ＰＤＬ形式）がコントローラ１３によってビットマップデータ（印刷出力部１２にて印刷出力可能なデータ形式）に変換された上でバッファリングされる。
【００７１】
また、本実施形態では、クライアントＰＣ２が、プリント予約中でまだ印刷出力はされていない（印刷データがまだＨＤＤ２１内に保存中）印刷ジョブがあるにも関わらずシャットダウンされるとき、クライアントＰＣ２からはその予約中の印刷ジョブの印刷データがシャットダウンデータとして送信されてくる。そのため、メモリ１１内には、このシャットダウンデータを保存しておくための保存領域１７（本発明の記憶デバイスに相当）が設定されている。
【００７２】
尚、この保存領域１７の容量不足によりシャットダウンデータを保存することができない場合は、その保存できなかったシャットダウンデータを含む全ての予約中の印刷ジョブを印刷出力させるのだが、これについても詳細は後述する。
本実施形態のプリンタ１は周知のレーザービームプリンタであり、印刷出力部１２は、静電潜像を担持する感光体、その感光体にレーザ光を走査して静電潜像を形成する走査手段、感光体の静電潜像を現像する現像手段、印刷媒体を搬送する搬送手段、現像された現像剤像を感光体から印刷媒体に転写する転写手段、転写された現像剤像を定着する定着手段など、印刷データを実際に印刷媒体に印刷（画像形成）するための各種機構を備えている。
【００７３】
尚、本実施形態では、上記の通りクライアントＰＣ２のアプリケーション２３上で作成された文書データ等がプリンタドライバ２２によってプリンタ１に適したＰＤＬに変換され、このＰＤＬがプリンタ１へ送信されるものとしたが、これに限らず、例えばＥＭＦ形式のままプリンタ１へ送信し、プリンタ１にてＥＭＦ形式のデータをＰＤＬに変換するものであってもよく、クライアントＰＣ２からプリンタ１へ送信されるデータの形式は特に限定されるものではない。
【００７４】
次に、クライアントＰＣ２から印刷ジョブ要求（プリント予約）が行われ、そのプリント予約に従ってプリンタ１が印刷出力を実行するまでの詳細動作について説明する。まず、クライアントＰＣ２の動作につき、図５及び図６に基づいて説明する。図５は、クライアントＰＣ２において、ＯＳが起動してプリンタドライバ２２が動作を開始したときにそのプリンタドライバ２２の機能として実行される、印刷ジョブ制御処理を表すフローチャートであり、ＯＳが起動している限り、ＨＤＤ２１内に格納されたプログラムが読み出されて常時実行されるものである。
【００７５】
この処理が開始されると、アプリケーション２３又はＯＳ自体からの各種コマンドを待つことになり、まずステップ（以下「Ｓ」と略す）１２０にて、アプリケーション２３から印刷設定要求があったか否かが判断される。この印刷設定要求は、既述の通り、ユーザがアプリケーションデータを印刷するためにアプリケーション２３上で所定の操作をすることにより行われるもので、この要求があった場合はＳ１３０に進み、液晶表示装置２４に各種印刷設定ダイアログを表示した上で再びＳ１２０に戻る。これにより、ユーザは、プリント終了期限を含む各種印刷設定項目を入力することになる。
【００７６】
Ｓ１４０では、アプリケーション２３から印刷実行要求があったか否かが判断される。この印刷実行要求は、Ｓ１３０で表示される設定ダイアログの中の一つに印刷実行タブがあり、この印刷実行タブをマウス操作でクリックすることにより行われるものである。つまり、この印刷実行要求は、Ｓ１３０の設定ダイアログ表示がなされて各種印刷設定が可能となっている状態のときに行えるものである。
【００７７】
そして、設定ダイアログに従った各種印刷設定項目の入力後に印刷実行を要求すると、Ｓ１５０に進むことになる。逆に、印刷設定要求がなされず（Ｓ１２０：ＮＯ）設定ダイアログが表示されていない間（換言すれば、印刷実行要求が不可能な間）、又は、印刷設定要求はあったもののまだユーザによる各種印刷設定項目の入力中である間は、Ｓ１４０で否定判定され続けることになる。
【００７８】
Ｓ１５０の印刷予約処理は、詳細には図６に示す通りである。図６に示す如く、この印刷予約処理では、まずＳ３１０にて、プリント予約データの作成が行われる。即ち、設定ダイアログに従ってユーザが入力した各種印刷設定項目に基づいて、図２に示したフォーマットのプリント予約データが作成され、延いては送信元アドレス及び送信先プリンタアドレスが付加された予約印刷ジョブデータが生成される。
【００７９】
このようにしてプリント予約データを含む予約印刷ジョブデータが生成されると、Ｓ３２０にて、その予約印刷ジョブデータをプリンタ１へ送信する。そして、続くＳ３３０にて、そのプリント予約した印刷ジョブの印刷データをＨＤＤ２１へ保存すると共に、更にＳ３４０にて、当該プリント予約を完了したことをＨＤＤ２１内のプリント予約済みテーブルへ記録する（図３（ａ）参照）。これにより、一つの印刷ジョブのプリント予約が完了したことになり、その後は再びＳ１２０に戻る。
【００８０】
そして、再び印刷設定要求又は印刷実行要求がない限り、Ｓ１４０で否定判定されてＳ１６０以降の処理がなされることになる。Ｓ１６０では、プリンタ１から印刷データの送信要求があったか否かが判断される。つまり、プリント予約した印刷ジョブが、予約設定したプリント終了期限に従ってプリンタ１で印刷出力される際、プリンタ１から対応する印刷データを送信するよう要求があるため、この送信要求の有無を判断するのである。
【００８１】
プリンタ１から送信要求があった場合、Ｓ１７０に進み、要求のあった印刷ジョブに対する印刷データ（ＨＤＤ２１に保存中）をプリンタ１へ送信すると共に、続くＳ１８０にて、プリント予約済みテーブルから、印刷データの送信を行った印刷ジョブに関する予約記録をクリア（削除）する。
【００８２】
一方、プリンタ１から送信要求がない間は、Ｓ１６０で否定判定されてＳ１９０に進み、プリンタ１から印刷終了通知があったか否かが判断される。これは、プリント予約した印刷ジョブの印刷出力がプリンタ１にて実際に行われ、終了したときに、プリンタ１からその旨の通知が送信されてくるものである。この通知があったときは、Ｓ２００に進んで液晶表示装置２４へその旨の表示（終了表示）を行うことにより、プリンタ１での印刷出力が終了したことをユーザ等に報知するのである。
【００８３】
具体的には、図４に示すように、液晶表示方式等の表示装置２４の右下隅に「終了」という文字をポップアップ表示させるのである。尚、この終了状態の表示は、前述の位置の他、表示装置２４の表示エリア内であればどこであってもよいし、ポップアップ以外の表示にしてもよい。この表示により、ユーザは、プリント予約した印刷ジョブが実際にプリンタ１にて印刷出力されたことを認識できる。
【００８４】
プリンタ１から印刷終了通知がない間は、Ｓ１９０では否定判定され、Ｓ２１０に進む。Ｓ２１０では、ＯＳ終了によるプリンタドライバ２２の停止要求がなされたか否かが判断される。つまり、ユーザ操作等によりクライアントＰＣ２がシャットダウンされる際、ＯＳは、プリンタドライバ２２に対してその動作を停止するよう要求するのであり、このＳ２１０は言い換えればクライアントＰＣ２がシャットダウンされようとしているか否かの判断であるともいえる。
【００８５】
そして、クライアントＰＣ２がシャットダウンされず正常に動作している間は、Ｓ２１０では否定判定されてＳ１２０へ戻ることになるのだが、シャットダウンする旨の操作がなされた場合は、Ｓ２１０で肯定判定されてＳ２２０に進むことになる。Ｓ２２０では、プリント予約中の印刷ジョブがあるか否か、つまり、プリント予約をしたのみであってまだ実際には印刷出力されておらず、印刷データがＨＤＤ２１内に保存されたままの印刷ジョブがあるか否かの判断をするのである。
【００８６】
このとき、予約中（未印刷）の印刷ジョブがなければ、そのままプリンタドライバ２２は処理を停止することになるのだが、予約中でまだ印刷されていない印刷ジョブがあった場合は、Ｓ２３０に移行して、その予約中の印刷データ全てを、シャットダウンデータとしてプリンタ１へ送信する。そして、シャットダウンデータを送信した後に、プリンタドライバ２２がその動作を停止し、このプリンタドライバ２２の停止をもってはじめてクライアントＰＣ２がシャットダウンされることになる。
【００８７】
次に、プリンタ１の動作について、図７及び図８に基づいて説明する。図７は、プリンタ１内のコントローラ１３にて実行される印刷ジョブ受信・実行処理を表すフローチャートであり、プリンタ１が動作している限り、図示しないＲＯＭに格納されたプログラムに従って常時実行されるものである。
【００８８】
まず、Ｓ４１０では、クライアントＰＣ２からプリント予約データを受信したか否か、つまり図２に示した予約印刷ジョブデータを受信したか否かが判断され、受信しない間はＳ４２０に進むが、受信した場合はＳ４６０に進む。Ｓ４６０の予約受け付け処理は、詳細には図８に示す通りであり、まずＳ６１０にて、受信した予約印刷ジョブデータの内容をプリント予約受け付けテーブル（図３（ｂ）参照）へ記録することにより、印刷ジョブの予約を受け付ける。但し、このときはまだ、要プリント時間は不明であって記録できない状態にあり、続くＳ６２０で、要プリント時間を計算することになる。
【００８９】
Ｓ６２０では、送信されてきたプリント予約データ中の印刷データサイズ及びプリントモードに基づき、その印刷ジョブを印刷出力部１２にて印刷出力させるのに必要な時間（要プリント時間）を演算する。この演算の後に、クライアントＰＣ２からプリンタ１へ印刷データを送信する際の送信時間も印刷データサイズに基づいて演算され、要プリント時間加算される。この送信時間は、演算しない設定とすることもできる。即ち、印刷データサイズが大きいほど送信時間も長くなるため、その送信時間が要プリント時間に加味されることになる。
【００９０】
このようにして要プリント時間が得られると、次にプリント開始時刻を設定することになるのだが、本実施形態では、既述の通り予約中の印刷ジョブ（プリント予約受け付けテーブルに記録されている印刷ジョブ）のうち、プリント開始時刻の最も早い印刷ジョブが実際に印刷出力されるとき、その印刷ジョブだけでなく他の予約中の印刷ジョブ全てについても、印刷出力する。そのため、プリント開始時刻の設定（算出）にあたっては、印刷実行時に予約中の全ての印刷ジョブが一括して印刷出力されることを考慮する必要がある。
【００９１】
そこで、まずＳ６３０にて、予約を受け付けた印刷ジョブのプリント終了期限が、既にプリント予約受け付けテーブルに設定されている各印刷ジョブのプリント終了期限の中で最も早い終了期限（図３（ｂ）では予約No.1のジョブの期限である１１時４５分）よりも、遅いか否かが判断される。
【００９２】
ここで、遅いと判断された場合、つまり予約受付した印刷ジョブのプリント終了期限よりも期限の早い印刷ジョブの予約がテーブル中にある場合は、Ｓ６５０に進んで、プリント開始時刻の計算を行う。具体的には、現在設定されているプリント開始時刻から、当該予約受け付けした印刷ジョブの要プリント時間（Ｓ６２０で算出したもの）を差し引いた時刻、言い換えれば、既に設定中のプリント開始時刻から、当該予約受け付けした印刷ジョブの要プリント時間だけ早めた時刻を、新たなプリント開始時刻とするのである。
【００９３】
一方、Ｓ６３０にて否定判定された場合、つまり予約受付した印刷ジョブのプリント終了期限が、既に予約受け付けされている全ての印刷ジョブのプリント終了期限よりも早い場合は、Ｓ６４０に進んでプリント開始時刻の計算を行う。具体的には、当該予約受付した印刷ジョブのプリント終了期限（時刻）から、当該印刷ジョブを含む予約中の全ての印刷ジョブを印刷出力するのに要する時間を差し引き、さらに、プリンタ１の起動時間を差し引いた時刻を、新たなプリント開始時刻とするのである。尚、プリンタ１の起動時間が短く無視できる場合は、起動時間を差し引く必要はない。
【００９４】
ここでいうプリンタ１の起動時間とは、レーザービームプリンタとして構成された本実施形態のプリンタ１において、例えば定着器（図示略）を昇温させる等のウォームアップ動作にかかる時間である。Ｓ６４０により得られた新たなプリント開始時刻に従って予約中の全ての印刷ジョブを印刷出力させれば、当該予約受け付けした印刷ジョブのプリント終了期限の時刻になったときは、その印刷ジョブだけでなく他の全ての印刷ジョブについても印刷出力が終了することになる。
【００９５】
このようにして予約受け付け・プリント開始時刻の計算がなされた後は、Ｓ４７０に進む。Ｓ４７０では、Ｓ６４０又はＳ６５０にて計算された新たなプリント開始時刻が、現在の時刻より早いか否かが判断され、現在時刻よりプリント開始時刻が遅い場合は、Ｓ４８０に進んで、プリント予約受け付けテーブルへその新たなプリント開始時刻を設定する。
【００９６】
そして、再びＳ４１０に戻ることになるが、また新たにプリント予約データが送信されてこない限り、Ｓ４１０では否定判定されてＳ４２０に進む。Ｓ４２０では、現在時刻が、プリント予約受け付けテーブルに設定されているプリント開始時刻になったか否かを判断する。このとき、現在時刻がまだプリント開始時刻に達していない場合はＳ４３０に進むが、プリント開始時刻に達した場合、Ｓ４９０へ移行する。
【００９７】
一方、Ｓ４７０の処理の際に、現在時刻よりもプリント開始時刻の方が早い場合は、印刷出力を開始すべき時刻が既に過ぎている状態であって、すぐにも印刷出力を実行する必要があるため、この場合もＳ４９０の処理に進むことになる。
Ｓ４９０では、プリント予約受け付けテーブルに記録された予約中の全ての印刷ジョブについて、それぞれ対応するクライアントＰＣに対し、印刷データを送信するよう送信要求を行う。これにより、送信要求を受けた各クライアントＰＣから印刷データが送信されてくるため、プリンタ１では、予約中の全ての印刷ジョブの印刷データを取得することができる。
【００９８】
尚このとき、送信要求を行う対象となるクライアントＰＣのうち、既にシャットダウンされているクライアントＰＣがある場合、そのクライアントＰＣから予約受付した印刷ジョブの印刷データについは、既にシャットダウンデータとしてメモリ１１の保存領域１７内に保存されている（詳細は後述）。そのため、その印刷ジョブについては、クライアントＰＣへの送信要求を行わず、保存領域１７内のシャットダウンデータを取得する。
【００９９】
続くＳ５００では、Ｓ４９０において取得した印刷データ及びシャットダウンデータを、印刷出力部１２にて印刷出力させる。そして、Ｓ５１０に進み、予約元のクライアントＰＣ全て（但しシャットダウンデータを送信したクライアントＰＣは除く）に対して印刷終了通知を送信する。その後、Ｓ５２０に進み、プリント予約受け付けテーブルに記録中の全てのデータ（予約内容）をクリアする。これにより、プリント予約中の印刷ジョブ全てについての印刷出力処理が完了したことになり、再びＳ４１０に戻って新たなプリント予約（予約印刷ジョブデータの送信）を待つことになる。
【０１００】
ところで、まだプリント開始時刻になっていないことによりＳ４２０で否定判定されて、Ｓ４３０に進むと、クライアントＰＣからシャットダウンデータを受信したか否かが判断される。シャットダウンデータを受信しない限り、ここでは否定判定されて再びＳ４１０に戻ることになるのだが、シャットダウンデータの受信があった場合は、Ｓ４４０に進んで、メモリ１１内の保存領域１７に空き容量（受信したシャットダウンデータを保存しうる程度の容量）があるか否かが判断される。
【０１０１】
このとき、空き容量があれば、Ｓ４５０に進んでそのシャットダウンデータを保存領域１７に保存するのであるが、空き容量がない場合は、Ｓ４９０以降の処理に進む。つまり、受信したシャットダウンデータに加え、そのとき予約受け付けされている全ての印刷ジョブについて、印刷出力を実行するのである。
【０１０２】
以上詳述したように、本実施形態のネットワーク印刷システムでは、クライアントＰＣからプリンタ１へプリント予約を行う際に、予約時にはファイル名、プリント終了期限、印刷データサイズなどのプリント予約データを含む予約印刷ジョブデータのみを送信して、印刷データ自体はクライアントＰＣ側で持っておく。そして、実際に印刷出力する際に、プリンタ１から、プリント予約のあったクライアントＰＣへ印刷データの送信要求を行い、これに応じてクライアントＰＣが印刷データをプリンタ１へ送信するのであり、これによりプリンタ１では予約された印刷ジョブが印刷出力されることになる。
【０１０３】
従って、本実施形態のネットワーク印刷システムによれば、プリント予約された印刷ジョブの印刷データをプリンタ１で保存しておく必要がないため、その分、プリンタ１のメモリ１１の容量を低く抑えることができ、プリンタ１の低コスト化、延いてはネットワーク印刷システム全体の低コスト化が可能となる。しかも、本実施形態では、プリンタ１にてプリント予約を受け付けた複数の印刷ジョブのうち、プリント終了期限の最も早い印刷ジョブを印刷出力するときに、その印刷ジョブだけでなく他の全ての予約された印刷ジョブについても一括して印刷出力するため、プリンタ１のウォームアップ動作の回数が低減され、電力の無駄を省くことができる。尚、プリンタ１が例えばインクジェットプリンタである場合は、パージの回数が低減され、インクの無駄を省くことが可能となる。
【０１０４】
また、プリント予約を行ったクライアントＰＣが、その予約した印刷ジョブがまだ印刷出力されていないにも関わらずシャットダウンされる場合、シャットダウン前に印刷データをプリンタ１へ送信するため、クライアントＰＣをシャットダウンしても確実に印刷出力の結果（印刷物）を得ることができる。
【０１０５】
尚、図５の印刷ジョブ制御処理において、Ｓ１７０の処理は本発明の印刷データ送信手段が実行する処理に相当し、Ｓ２００の処理は本発明の第２報知手段が実行する処理に相当し、Ｓ２３０の処理は本発明のシャットダウンデータ送信手段が実行する処理に相当し、図６の印刷予約処理において、Ｓ３２０の処理は本発明の予約データ送信手段が実行する処理に相当し、Ｓ３３０の処理は本発明の印刷データ記憶手段が実行する処理に相当する。
【０１０６】
また、図７の印刷ジョブ受信・実行処理において、Ｓ４２０及びＳ４９０の処理はいずれも本発明の印刷データ取得手段が実行する処理に相当し、Ｓ５００の処理は本発明の印刷実行手段が実行する処理に相当し、Ｓ４４０及びＳ４５０の処理はいずれも本発明のシャットダウンデータ記憶手段が実行する処理に相当し、図８の予約受け付け処理において、Ｓ６２０〜Ｓ６５０の処理は本発明の第２開始時刻算出手段が実行する処理に相当する。更に、図７におけるＳ４１０の処理、及び図８におけるＳ６１０の処理はいずれも、本発明の予約受付手段が実行する処理に相当する。
【０１０７】
尚、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記実施形態では、予約印刷時刻としてプリント終了期限を採用したが、これ限らず例えば印刷を開始する時刻でもいいし、また例えば「２時から３時の間」などとプリントを終了すべき時間に幅をもたせてもよいなど、種々のものが考えられる。また、クライアントＰＣで印刷の予約を行った時刻から所定時間経過後を、予約印刷時刻とすることもできる。この場合は、印刷の予約を行った時刻をクライアントＰＣに内蔵されたタイマ手段から取得し、オペレータが設定手段を操作することにより、前記所定時間を設定するようにすればよい。タイマ手段から取得した印刷予約時刻にその所定時間を加算すれば、予約印刷時刻となるのである。
【０１０８】
また、上記実施形態では、プリント予約データの一つとして印刷データサイズを送信するようにしたが、クライアントＰＣ側で予め印刷所要時間を計算して、その印刷所要時間を送信するようにしてもいい。そうすれば、上記実施形態のようにプリンタ１にて印刷データサイズから印刷所要時間を計算する必要がなくなり、送られてきた印刷所要時間をそのまま利用してプリント開始時刻の算出を行うことができる。
【０１０９】
このようにした場合、具体的には、図８の予約受け付け処理において、Ｓ６２０の処理が不要となり、Ｓ６３０〜Ｓ６５０の処理は本発明の第１開始時刻算出手段が実行する処理に相当することになる。
更に、上記実施形態では、プリンタ１から印刷終了通知があったときにクライアントＰＣ側で終了表示するようにしたが（図５のＳ２００）、これに限らず、例えばプリンタ１から印刷データの送信要求があったとき（Ｓ１６０で肯定判定された後）にその旨の表示をしてもいいし、或いはクライアントＰＣから印刷データをプリンタ１へ送信したとき（Ｓ１７０の後）にその旨の表示をするようにしてもよく、プリント予約した印刷ジョブが実際にプリンタ１にて印刷実行されることをユーザへ報知できる限り種々の報知（終了表示）タイミングを採用できる。
【０１１０】
尚、上記のようにプリンタ１から送信要求があったとき或いは印刷データをプリンタ１へ送信したときにその旨の表示をするといった報知タイミングを採用する場合、その報知はいずれも、本発明の第１報知手段が実行する処理に相当することになる。また、表示装置２４への表示に限ることなく、例えば音声を発して周囲に報知する方法を採用してもよく、報知する際の具体的方法についても種々の方法が考えられる。
【０１１１】
更にまた、上記実施形態では、印刷サーバ機能を内蔵したプリンタ１がネットワーク４を介して複数のクライアントＰＣに接続されている場合を例に挙げて説明したが、このようなシステムに限らず、例えば、プリンタ１本体には印刷サーバ機能をもたせず、別途プリントサーバマシンを介してプリンタ１とクライアントＰＣとを接続したネットワーク印刷システムであってもよい。ネットワーク４についても、有線ネットワークに限ることはなく、例えば無線ＬＡＮ等の無線ネットワークであってもいい。
【０１１２】
また、上記実施形態では、プリンタ１を本発明の印刷サーバとして機能させるための各種プログラムが図示しないＲＯＭに格納されたものとして説明すると共に、クライアントＰＣを本発明のクライアント装置として機能させるための各種プログラムについてはＨＤＤ２１内に格納されたものとして説明したが、これら各種プログラムを、例えばフロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等の各種ストレージデバイス（コンピュータ読み取り可能な記録媒体）に記録しておくこともできる。
【０１１３】
この場合、記録媒体に記録したプログラムを必要に応じてコンピュータシステムにロードして起動することにより、そのコンピュータシステムにおいて本発明の印刷サーバ或いはクライアント装置を実現することができる。
また、プログラムを通信回線を介して印刷サーバやクライアント装置のコンピュータにインストールすることもできる。この通信回線により送信されるプログラムも、請求項２６，２８のプログラムに該当するものである。
【図面の簡単な説明】
【図１】  本実施形態のネットワーク印刷システムの概略構成を示す説明図である。
【図２】  プリント予約時にクライアントＰＣからプリンタへ送信される予約印刷ジョブデータを表す説明図である。
【図３】  プリント予約時にクライアントＰＣ及びプリンタそれぞれにて記録されるテーブルの内容を表す説明図であり、（ａ）は、クライアントＰＣのＨＤＤ内に設定されるプリント予約済みテーブル、（ｂ）は、プリンタのメモリ内に設定されるプリント予約受け付けテーブルである。
【図４】  プリンタにて印刷終了したことが、クライアントＰＣが備える液晶表示装置に表示されることを説明するための説明図である。
【図５】  クライアントＰＣにおいてプリンタドライバの機能として実行される印刷ジョブ制御処理を表すフローチャートである。
【図６】  図５の印刷ジョブ制御処理における、Ｓ１５０の印刷予約処理の詳細を表すフローチャートである。
【図７】  プリンタ内のコントローラにて実行される印刷ジョブ受信・実行処理を表すフローチャートである。
【図８】  図７の印刷ジョブ受信・実行処理における、Ｓ４６０の予約受け付け処理の詳細を表すフローチャートである。
【符号の説明】
１…プリンタ、２，３…クライアントＰＣ、４…ネットワーク、１１…メモリ、１２…印刷出力部、１３…コントローラ、１６…バッファ、１７…保存領域、１８…プリント予約記録領域、２１…ハードディスク（ＨＤＤ）、２２…プリンタドライバ、２３…アプリケーション、２４…表示装置
【図１】
0003941536.tif 000002
【図２】
0003941536.tif 000003
【図３】
0003941536.tif 000004
【図４】
0003941536.tif 000005
【図５】
0003941536.tif 000006
【図６】
0003941536.tif 000007
【図７】
0003941536.tif 000008
【図８】
0003941536.tif 000009