(57)【要約】【課題】  メールサーバのメールボックスを外部スプール領域とした印刷処理を行うことが可能なデータ処理装置および方法を提供する。【解決手段】  仮想スプール制御部（３７）は、クライアント端末（２）からの印刷ジョブ、メールサーバ（１）にスプールした印刷ジョブを印刷データ送受信制御部（３１）を介して受信すると、印刷用バッファ／ＰＤＬ解析処理部監視部（３６）に対して印刷用バッファ（１５）の空き領域およびＰＤＬ解析処理部（３９）の処理状況の問合せを行い、受信した印刷ジョブを直ぐに処理できない場合、仮想スプール制御部（３７）は、印刷ジョブをメール送信制御部（３４）を介してメールサーバ（１）に送信し、印刷用バッファ（１５）に空き領域が生じた場合若しくは、ＰＤＬ解析処理部（３９）のビジー状態が解除されるとメールボックス（４１）にスプールされた印刷ジョブを受信して印刷処理を行う。【選択図】  図３
2005063233.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからネットワークを介して受信したデータを処理するデータ処理装置のデータ処理方法において、
前記データ処理装置が前記クライアントから受信したデータを直ぐに処理できない場合は、該データを前記ネットワークに接続されたサーバへ送信して該サーバに蓄積し、
前記データ処理装置がデータの処理が可能になった時点で前記サーバに蓄積したデータを取得して該データの処理を行う
ことを特徴とするデータ処理方法。
【請求項２】
前記サーバは、
データをメールで受信するメールサーバであり、
前記データ処理装置は、
前記クライアントから受信したデータを直ぐに処理できない場合は、該データをメールで前記メールサーバに送信する
ことを特徴とする請求項１記載のデータ処理方法。
【請求項３】
前記データ処理装置は、
前記クライアントから印刷データを受信して、該印刷データを処理して印刷する印刷装置であり、
前記クライアントから受信した印刷データを直ぐに処理できない場合は、該印刷データを受信しつつ該受信した印刷データを前記サーバへ送信する
ことを特徴とする請求項１記載のデータ処理方法。
【請求項４】
前記印刷装置は、
前記印刷データをページ単位で前記サーバへ送信する
ことを特徴とする請求項３記載のデータ処理方法。
【請求項５】
前記データ処理装置は、
データの処理が可能になった時点で前記サーバから蓄積データのリストを取得し、
該取得したリストに基づき次に処理するデータを前記サーバから取得する
ことを特徴とする請求項１記載のデータ処理方法。
【請求項６】
前記サーバは、
複数のデータ処理装置で共有される
ことを特徴とする請求項１記載のデータ処理方法。
【請求項７】
クライアントからネットワークを介して受信したデータをデータ処理手段で処理するデータ処理装置において、
前記クライアントから受信したデータを前記データ処理手段で直ぐに処理できない場合は、該データを前記ネットワークに接続されたサーバへ送信する送信手段と、
前記データ処理手段でデータの処理が可能になった時点で該データ処理手段で処理するデータを前記サーバから取得するデータ取得手段と
を具備することを特徴とするデータ処理装置。
【請求項８】
前記サーバは、
データをメールで受信するメールサーバであり、
前記送信手段は、
前記クライアントから受信したデータを前記データ処理手段で直ぐに処理できない場合は、該データをメールで前記メールサーバに送信する
ことを特徴とする請求項７記載のデータ処理装置。
【請求項９】
前記データ処理手段は、
前記クライアントから受信した印刷データを処理する印刷処理手段であり、
前記送信手段は、
前記クライアントから受信した印刷データを前記印刷処理手段で直ぐに処理できない場合は、該印刷データを受信しつつ該受信した印刷データを前記サーバへ送信する
ことを特徴とする請求項７記載のデータ処理装置。
【請求項１０】
前記送信手段は、
前記印刷データをページ単位で前記サーバへ送信する
ことを特徴とする請求項９記載のデータ処理装置。
【請求項１１】
前記データ取得手段は、
前記データ処理手段でデータの処理が可能になった時点で前記サーバから蓄積データのリストを取得するリスト取得手段
を具備し、
前記リスト取得手段で取得したリストに基づき前記データ処理手段で次に処理するデータを前記サーバから取得する
ことを特徴とする請求項７記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法および装置に関し、特に、クライアント端末から受信した印刷データを直ぐに処理できない場合は、メールサーバに印刷データを送信し、印刷用バッファに空きができた時点で、メールサーバに送信した印刷データを呼び戻して印刷処理を行うようにしたデータ処理方法および装置に関する。
【背景技術】
【０００２】
従来、印刷データの仮想スプールあるいは印刷データの転送に関する技術として、特許文献１記載の「印刷データスプール装置」、および、特許文献２記載の「画像入出力処理装置」がある。
【０００３】
特許文献１に記載の発明は、自装置のスプールメモリの空き領域が足りなくても、受信した印刷データをスプールすることを可能にする印刷データスプール装置の提供を目的とし、印刷装置が印刷データ生成装置から送られてくる印刷データを自機のスプールメモリに格納できないとき、格納しきれない分の印刷データをネットワークを介して他の印刷装置等に転送してその装置のスプールメモリに仮想スプールする。印刷装置は、印刷の進行に伴い自機のスプールメモリの空き領域の発生を監視し、必要量の空き領域ができたとき他の印刷装置等に仮想スプールしておいた印刷データをネットワークを介して呼び戻して格納する。
【０００４】
これによりネットワーク上のいずれかの印刷装置に空き領域があれば、印刷データ生成装置からの印刷データをスプールすることができる。
【０００５】
一方、特許文献２に記載の発明は、印刷要求を受けた時に、そのデータの受信処理ができない場合は、その印刷要求を他の装置に転送することが可能な画像入出力処理装置の提供を目的とし、画像入出力処理装置が印刷要求データを受信した時に、データの受信もしくは印刷が実行できない状態であった場合は、管理サーバに対してユーザ情報と受信データを転送する。管理サーバは、画像入出力処理装置より受信したデータを管理し、受信したデータの印刷が正常に行えたら、印刷した画像入出力処理装置の情報をユーザもしくはユーザ端末へ通知する。また、転送された受信データを画像入出力処理装置へ転送できずに保持している場合でも、ユーザもしくはユーザ端末に対してその旨を通知する。
【特許文献１】特開平９−５０３５４号公報。
【特許文献２】特開２００１−２２２３９０号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１の発明においては、印刷装置間のデータ転送を行う際に、各々のスプール領域を共有するため、構成が複雑化すると同時に、自装置においても十分なスプール領域を持つ必要があるといった問題が生じる。
【０００７】
また、上記特許文献２の発明においては、ネットワーク上に少なくとも２台以上の画像入出力装置を設置する構成が必要となるといった問題が生じる。
【０００８】
そこで、本発明は、スプールできない印刷ジョブをメールサーバに転送し、印刷処理が可能となった時点で印刷データをメールサーバから呼び戻して印刷処理を行う外部スプール制御を行うことが可能なデータ処理装置およびデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記問題点を解決するために、請求項１の発明は、クライアントからネットワークを介して受信したデータを処理するデータ処理装置のデータ処理方法において、データ処理装置がクライアントから受信したデータを直ぐに処理できない場合は、このデータをネットワークに接続されたサーバへ送信してこのサーバに蓄積し、データ処理装置がデータの処理が可能になった時点でサーバに蓄積したデータを取得してこのデータの処理を行うことを特徴とする。
【００１０】
また、請求項２の発明は、請求項１の発明において、サーバは、データをメールで受信するメールサーバであり、データ処理装置は、クライアントから受信したデータを直ぐに処理できない場合は、このデータをメールでメールサーバに送信することを特徴とする。
【００１１】
また、請求項３の発明は、請求項１の発明において、データ処理装置は、クライアントから印刷データを受信して印刷する印刷装置であり、クライアントから受信した印刷データを直ぐに処理できない場合は、この印刷データを受信しつつこの受信した印刷データをサーバへ送信することを特徴とする。
【００１２】
また、請求項４の発明は、請求項３の発明において、印刷装置は、印刷データをページ単位でサーバへ送信することを特徴とする。
【００１３】
また、請求項５の発明は、請求項１の発明において、データ処理装置は、データの処理が可能になった時点でサーバから蓄積データのリストを取得し、この取得したリストに基づき次に処理するデータをサーバから取得することを特徴とする。
【００１４】
また、請求項６の発明は、請求項１の発明において、サーバは、複数のデータ処理装置で共有されることを特徴とする。
【００１５】
また、請求項７の発明は、クライアントからネットワークを介して受信したデータをデータ処理手段で処理するデータ処理装置において、クライアントから受信したデータをデータ処理手段で直ぐに処理できない場合は、このデータをネットワークに接続されたサーバへ送信する送信手段と、データ処理手段でデータの処理が可能になった時点でこのデータ処理手段で処理するデータをサーバから取得するデータ取得手段とを具備することを特徴とする。
【００１６】
また、請求項８の発明は、請求項７の発明において、サーバは、データをメールで受信するメールサーバであり、送信手段は、クライアントから受信したデータをデータ処理手段で直ぐに処理できない場合は、このデータをメールでメールサーバに送信することを特徴とする。
【００１７】
また、請求項９の発明は、請求項７の発明において、データ処理手段は、クライアントから受信した印刷データを処理する印刷処理手段であり、送信手段は、クライアントから受信した印刷データを印刷処理手段で直ぐに処理できない場合は、この印刷データを受信しつつこの受信した印刷データをサーバへ送信することを特徴とする。
【００１８】
また、請求項１０の発明は、請求項９の発明において、送信手段は、印刷データをページ単位でサーバへ送信することを特徴とする。
【００１９】
また、請求項１１の発明は、請求項７の発明において、データ取得手段は、データ処理手段でデータの処理が可能になった時点でサーバから蓄積データのリストを取得するリスト取得手段を具備し、リスト取得手段で取得したリストに基づきデータ処理手段で次に処理するデータをサーバから取得することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、スプール領域の逼迫およびジョブの一時的な集中に対しても、メールサーバのメールボックスを仮想スプール領域として使用し、処理を中断することなくジョブに対する処理を行うことができ、これにより、ユーザは、データ処理装置の処理能力および稼動状況に影響されず、常に同じ利用条件にてデータ処理を行うことができる。
【００２１】
また、データ処理装置に装備されるスプール用の補助記憶装置の代わりに、外部スプール機能を利用する構成にすることができるので、補助記憶装置を不要とする省サイズおよび省コストのデータ処理装置を構築することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係わるデータ処理装置およびデータ処理方法の実施の形態を添付図面を参照して詳細に説明する。
【実施例１】
【００２３】
図１は、本発明のデータ処理装置およびデータ処理方法をプリンタ３、クライアント端末２、メールサーバ１で構成された印刷システムに適用し、印刷処理において、メールサーバ１のメールボックス４１を仮想スプール領域とする印刷処理を行う時のプリントシステムの構成図である。
【００２４】
図１において、プリンタ３は、ネットワーク４を介して接続された複数台のクライアント端末２からの印刷ジョブを受信して印刷処理を行う。
【００２５】
また、プリンタ３は、受信した印刷ジョブに対応する印刷処理が直ぐに実施できない場合、メールサーバ１に受信した印刷ジョブを転送し、印刷処理が可能となった時点で転送した印刷ジョブをメール受信して印刷処理を行う仮想スプール機能を有する。
【００２６】
これによって、クライアント端末２のユーザは、プリンタ３の稼動負荷に左右されず、常に同一の利用条件にて印刷業務を行うことができる。
【００２７】
また、プリンタ３にいおいては、スプール領域が逼迫した場合、若しくは、一時的に印刷ジョブが集中した場合においても、メールサーバ１のメールボックス４１を外部スプール領域として使用して印刷処理を行うことができる。
【００２８】
次に、図１に示したプリンタ３の回路構成について説明する。
【００２９】
図２は、本発明に係わるプリンタ３の回路構成を示すブロック図である。
【００３０】
図２において、プリンタ３は、クライアント端末２からネットワーク４経由で送信された印刷ジョブに対する印刷処理を行う。
【００３１】
また、プリンタ３は、メールサーバ１に設けられた仮想スプール領域としてのメールボックス４１との間において、印刷ジョブをメールにより送受信制御を行う。
【００３２】
さらに、プリンタ３は、受信した印刷ジョブから属性情報およびＰＤＬデータを抽出してページ毎のイメージデータを作成するプリンタコントローラ３０と、プリンタコントローラ３０から出力されたページイメージおよび制御データに基づいて印刷用紙に画像を形成するプリンタエンジン１８を具備する。
【００３３】
プリンタコントローラ３０は、ＣＰＵ１３、ＲＯＭ６、プリンタエンジンインタフェース１７、ネットワークインタフェース５を具備し、各制御部は、システムバス１２によって相互接続される。
【００３４】
ネットワークインタフェース５は、印刷データの受信制御、メールサーバ１との間で送受信されるメールデータの送受信制御を行う。
【００３５】
また、ＲＯＭ６には、メールサーバ１との間で印刷ジョブを送受信するためのメール送受信プログラム７と、ネットワーク４経由での印刷ジョブの受信制御を行うプリントプロトコル制御プログラム８、クライアント端末２あるいはメールサーバ１から受信した印刷ジョブから属性情報およびＰＤＬデータを抽出してページイメージを作成するＰＤＬ解析プログラム９、プリンタエンジン１８および印刷用バッファ１５の状態を監視し、メール送受信プログラム７およびプリントプロトコル制御プログラム８を制御して仮想スプール制御を行う仮想スプール管理プログラム１０、これらの各プログラムの制御に必要なパラメータを記憶する制御用パラメータ１１を記憶するメモリデバイスである。
【００３６】
ＣＰＵ１３は、ＲＯＭ６に記憶された制御プログラムを主記憶領域（図示せず）にロードして実行しプリンタ３全体を中枢的に制御する。
【００３７】
ＲＡＭ１４は、受信した印刷ジョブに含まれる属性情報およびＰＤＬデータに基づいて、プリンタエンジン１８にて画像形成を行うためのページイメージを作成、保存するための印刷用バッファ１５と、ＲＯＭ６に記憶されたプリンタ制御用の各種プログラムのワーク領域となるワークメモリ１６を有する。
【００３８】
プリンタエンジンインタフェース１７は、ＣＰＵ１３で実行されるＰＤＬ解析プログラム９が印刷用バッファ１５に作成したページイメージのデータ形式をプリンタエンジン１８で処理可能なデータフォマットに変換してプリンタエンジン１８に出力する接続インタフェースである。
【００３９】
プリンタエンジン１８は、プリンタエンジンインタフェース１７を介して受信したページイメージおよび記録媒体のサイズ、印刷部数等の制御情報に基づいて記録媒体に画像を形成する装置である。
【００４０】
次に、プリンタの制御構成と制御ブロック間における入出力データの関連について説明する。
【００４１】
図３は、本発明に係わるプリンタのプリンタコントローラ３０における各制御ブロックと制御ブロック間のデータ入出力の関連を示したブロック図である。
【００４２】
プリンタコントローラ３０の構成要素としては、印刷データ送受信制御部３１、コントローラ記憶部３５、仮想スプール制御部３７、ＰＤＬ解析処理部３９、印刷用バッファ／ＰＤＬ解析処理部監視部３６、印刷用バッファ１５がある。
【００４３】
また、印刷データ送受信制御部３１は、さらに、メール送信制御部３４、メール受信制御部３３、プリントプロトコル制御部３２を有して構成される。
【００４４】
印刷データ送受信制御部３１において、プリントプロトコル制御部３２は、ネットワーク４から受信した印刷用データを含むパケットデータから印刷ジョブを抽出し、仮想スプール制御部３７に出力する。
【００４５】
メール受信制御部３３は、メールサーバ１との間において、仮想スプール制御部３７かの制御により、メールサーバ１へのログイン・ログアウト、仮想スプール領域となるメールボックス４１に記憶されたメール一覧データの送信指示、特定のメールＩＤに対応するメールの送信指示などを行うための各種コマンドの送信と、コマンド応答、メール一覧データ、メールデータをメールサーバ１から受信して仮想スプール制御部３７に出力する。
【００４６】
メール送信制御部３４は、仮想スプール制御部３７から受信した制御データに基づいてメールサーバ１へのログイン・ログアウト、所定のメールボックス４１に印刷ジョブを含むメールデータを送信するためのコマンドデータをメールサーバ１に送信し、メールサーバ１から受信したコマンド応答を仮想スプール制御部３７に出力し、仮想スプール制御部３７から受信した外部スプール用に印刷ジョブが添付ファイルにセットされたメールをメールサーバ１に送信する。
【００４７】
仮想スプール制御部３７は、印刷用バッファ１５、印刷用バッファ／ＰＤＬ解析処理部監視部３６によりＰＤＬ解析処理部３９および、印刷用バッファ１５の状態を監視し、印刷可能な場合は、プリントプロトコル制御部３２、あるいは、メール受信制御部３３から受信した印刷ジョブから属性情報およびＰＤＬデータを抽出してＰＤＬ解析処理部３９に出力する。
【００４８】
一方、印刷用バッファ１５に空き領域が無い場合、あるいはＰＤＬ解析処理部３９がビジーである場合、仮想スプール制御部３７は、プリントプロトコル制御部３２あるいは、メール受信制御部３３から受信した印刷データ、もしくは、ページ単位に分割処理した場合の未処理のページに対応する属性情報およびＰＤＬデータをメール送信制御部３４に出力してメールサーバ１の外部スプール用メールボックス４１へのメール送信を指示する。
【００４９】
印刷用バッファ１５は、ＰＤＬ解析処理部３９が、プリンタエンジン１８にて印刷画像を形成するためのページイメージを作成して一時保存するためのバッファ領域である。
【００５０】
ＰＤＬ解析処理部３９は、仮想スプール制御部３７から受信した印刷ジョブの属性情報およびＰＤＬデータに基づいて、印刷ページ毎のイメージデータを作成してプリンタエンジン１８に出力する。
【００５１】
また、ＰＤＬ解析処理部３９は、受信した印刷ジョブからページイメージを作成する際に、印刷用バッファ１５を使用してページイメージを作成する。
【００５２】
コントローラ記憶部３５は、メールサーバ１に接続してメールを送受信するための情報として、メールサーバ１のアドレス、メールボックス４１の名称、ログインのためのアカウント情報およびアカウント認証の為の情報を記憶する。
【００５３】
印刷用バッファ／ＰＤＬ解析処理部監視部３６は、印刷用バッファの空き領域のサイズおよびＰＤＬ解析処理部３９の稼動状況を仮想スプール制御部３７からの指示により監視して仮想スプール制御部３７に出力する。
【００５４】
なお、図３において、仮想スプール制御部３７は、ＰＤＬ解析処理部３９の処理状態を印刷用バッファ／ＰＤＬ解析処理部監視部３６を介して、１ページ分の印刷処理毎にビジー状態を監視した構成としたが、仮想スプール制御部３７が、ＰＤＬ解析処理部３９のビジー状態、印刷用バッファ１５の空き領域のサイズを直接監視する構成にしてもよい。  次に、図３に示した制御ブロック図において、仮想スプール制御部３７を中心に処理される仮想スプール処理の手順を図４のフローチャートに示して説明する。
【００５５】
図４は、図１に示したプリンタ３による仮想スプール制御の処理手順を示すフローチャートである。
【００５６】
仮想スプール制御部３７は、プリントプロトコル制御部３２からの印刷ジョブ、あるいはメールボックス４１に仮想スプールした印刷ジョブを含むメールデータをメール受信制御部３３を介して受信すると（ステップＳ１０１でＹＥＳ）、仮想スプール制御部３７は、印刷用バッファ／ＰＤＬ解析処理部監視部３６に対してＰＤＬ解析処理部３９の処理状況の問合せを行う（ステップＳ１０２）。
【００５７】
ＰＤＬ解析処理部３９がビジーの場合（ステップＳ１０２でＹＥＳ）、あるいは、ＰＤＬ解析処理部３９は処理可能状態（ステップＳ１０２でＮＯ）であるが、印刷用バッファ１５に所定サイズの空き領域が無い場合（ステップＳ１０３でＮＯ）、仮想スプール制御部３７は、プリントプロトコル制御部３２あるいはメール受信制御部３３から受信した印刷データと、印刷データをメールサーバ１に送信する制御データをメール送信制御部３４に出力し、印刷ジョブを仮想スプール領域となるメールサーバ１のメールボックス４１にメール送信する（ステップＳ１１２）。
【００５８】
一方、ＰＤＬ解析処理部３９はビジーでなく、印刷用バッファ１５に所定サイズ以上の空き領域が存在する場合は（ステップＳ１０３でＹＥＳ）、仮想スプール制御部３７は、プリントプロトコル制御部３２あるいはメール受信制御部３３を介して受信した印刷ジョブから属性情報およびＰＤＬデータを抽出する（ステップＳ１０４）。
【００５９】
仮想スプール制御部３７は、ステップＳ１０４で抽出した属性情報を解析して印刷ページ数、印刷部数、印刷形式、用紙サイズに関する情報を取得する（ステップＳ１０５）。
【００６０】
仮想スプール制御部３７は、印刷用バッファ／ＰＤＬ解析処理部監視部３６に問合せた結果、ＰＤＬ解析処理部３９がビジーでない場合（ステップＳ１０６でＮＯ）、ステップＳ１０４で抽出したＰＤＬデータから処理ページに対応するＰＤＬデータおよび属性情報を合わせてＰＤＬ解析処理部３９に出力する（ステップＳ１０７）。
【００６１】
ＰＤＬ解析処理部３９は、受信した一ページ分のＰＤＬデータからページイメージを作成してプリンタエンジン１８に出力する（ステップＳ１０８）。
【００６２】
ＰＤＬデータに次ページがある場合（ステップＳ１０９でＹＥＳ）、仮想スプール制御部３７は、次ページ情報を取得して（ステップＳ１１１）ステップＳ１０６に戻り、ＰＤＬ解析処理部３９がビジーでない（ステップＳ１０６でＮＯ）ことを確認して、引き続き、次ページの属性情報およびＰＤＬデータに基づいて印刷処理をページ単位で処理する。
【００６３】
また、ステップＳ１０６の判定処理において、ＰＤＬ解析処理部３９がビジーである場合は（ステップＳ１０６でＹＥＳ）、仮想スプール制御部３７は、ステップＳ１０４で抽出したＰＤＬデータから未処理ページに対応するＰＤＬデータおよび属性情報、メール出力要求を行う制御データをメール送信制御部３４に出力する（ステップＳ１１０）。
【００６４】
再度、ステップＳ１０１に戻り、クライアント端末２からの印刷ジョブの受信が無く（ステップＳ１０１でＮＯ）、ＰＤＬ解析処理部３９がビジーでない場合（ステップＳ１１３でＮＯ）、仮想スプール制御部３７は、メール受信制御部３３に対して、メールサーバ１に設けられた仮想スプール用のメールボックス４１に記憶されたメールの一覧データの送信を指示する制御データをメール受信制御部３３に出力する。
【００６５】
そして、メール受信制御部３３は、コントローラ記憶部３５に記憶されたメールボックス４１の名称およびログインのためのアカウント名およびアカウントの認証データに基づいてメールサーバ１にログインし、メール一覧の送信を指示するコマンドを生成してメールサーバ１に送信する（ステップＳ１１４）。
【００６６】
メール受信制御部３３はメールサーバ１から送信されたメール一覧データを仮想スプール制御部３７に出力し、仮想スプール制御部３７は、受信したメール一覧データを参照して仮想スプールされた印刷データの有無を判断する（ステップＳ１１５）。
【００６７】
仮想スプール領域のメールボックス４１に未処理の印刷データが存在する場合（ステップＳ１１５でＹＥＳ）、仮想スプール制御部３７は、メール受信を行うメールＩＤを決定し（ステップＳ１１６）、決定したメールＩＤのメール受信を指示する制御データをメール受信制御部３３に出力する（ステップＳ１１７）。
【００６８】
メール受信制御部３３は、メールＩＤのメール送信コマンドを生成してメールサーバ１に送信する。
【００６９】
そして、メール受信制御部３３は、メールサーバ１から送信されたメールデータを仮想スプール制御部３７に出力する。
【００７０】
仮想スプール制御部３７は、受信したメールの添付ファイルから印刷データを抽出し（ステップＳ１１８）、ステップＳ１０４の属性情報、ＰＤＬデータ抽出処理に移行する。
【００７１】
ここで、メールサーバ１から呼び戻された印刷ジョブは、プリントプロトコル制御部３２から受信した印刷ジョブの受信処理と同様に、仮想スプール制御部３７における属性情報、ＰＤＬデータの抽出およびＰＤＬ解析処理部３９におけるページイメージデータの生成処理が行われる。
【００７２】
また、ＰＤＬ解析処理部３９がビジーの場合（ステップＳ１１３でＹＥＳ）、あるいは、メールサーバ１のメールボックス４１に外部スプールした印刷ジョブを含むメールが無い場合（ステップＳ１１５でＮＯ）仮想スプール制御部３７は、ステップＳ１０１に戻り、クライアント端末２からの印刷ジョブの受信を監視する。
【００７３】
以上が本発明に係わるデータ処理装置およびデータ処理方法の第１実施例の説明である。
【実施例２】
【００７４】
次に、図１に示したメールサーバ１の仮想スプール領域となるメールボックス４１を、図１に示した仮想スプール制御機能を具備する複数のプリンタが共有した場合の接続構成および仮想スプール制御処理について説明する。
【００７５】
図５は、本発明のデータ処理装置およびその方法を印刷システムに適用した第２実施例のシステム構成図である。
【００７６】
図５において、２台のプリンタＡ（３Ａ）およびプリンタＢ（３Ｂ）と、２台のプリンタの外部スプール領域として共有可能なメールボックス４１を具備するメールサーバ１と、印刷ジョブを生成するクライアント端末２がネットワーク４を介して接続された印刷システムの構成図である。
【００７７】
プリンタＡ（３Ａ）は、クライアント端末２からの印刷ジョブを直ぐに処理できない場合は、印刷ジョブをメールサーバ１の共有メールボックス４１に外部スプールする。
【００７８】
一方、プリンタＢ（３Ｂ）は、共有のメールボックス４１にスプールされた印刷ジョブをメール受信して代替印刷処理を行う。
【００７９】
次に、図５に示したプリンタ（プリンタＡ（３０Ａ）およびプリンタＢ（３０Ｂ））の制御構成について説明する。
【００８０】
図６は、プリンタの第２実施例の制御構成を示すブロック図である。
【００８１】
なお、説明の都合上、図３と重複する構成要素に対しては、同一の符号を付与し、構成要素の説明は適宜省略する。
【００８２】
図６において、プリンタは、属性情報の設定内容に基づいてページソートを行い、図３のＰＤＬ解析処理部３９におけるＰＤＬデータからページイメージを作成する機能を、仮想スプール制御部３７にも追加する構成とする。
【００８３】
また、外部スプール領域となるメールサーバ１のメールボックス４１をネットワーク４上の他のプリンタと共有するため、コントローラ記憶部３５にはネットワーク上における自装置の識別情報（ネットワークアドレス、メールアドレス等）をさらに記憶して管理し、仮想スプール制御部３７においては、メールサーバ１に印刷ジョブをスプールする場合は、メールのヘッダ部あるいは、メール本文に自装置の識別情報、および印刷ジョブを生成したクライアント端末２の識別情報をセットしてメール送信を行う機能を有する。
【００８４】
また、仮想スプール制御部３７は、ネットワーク４上の他のプリンタがスプールした印刷ジョブをメール受信して代替印刷を行った場合、プリントプロトコル制御部３２を介して、印刷ジョブの生成元となるクライアント端末２に代替印刷の完了通知を行う機能を有する。
【００８５】
次に、図５に示した印刷システムの構成において、プリンタＡ（３Ａ）がクライアント端末２から受信した印刷ジョブをメールサーバ１のメールボックス４１にスプールし、プリンタＢ（３Ｂ）がスプールされた印刷ジョブをメール受信して代替印刷処理を行った時の例を図７のシーケンス図に示して説明する。
【００８６】
図７において、クライアント端末２において発生した印刷ジョブ０１（Ｓ０１）は、プリンタＢ（３Ｂ）に送信される（Ｄ０１）。
【００８７】
プリンタＢ（３Ｂ）は、受信した印刷ジョブ０１に対する印刷処理を開始する（Ｓ０６）。
【００８８】
次に、クライアント端末２にて発生したプリンタＡ（３Ａ）宛の印刷ジョブ０２（Ｓ０２）がプリンタＡ（３Ａ）に送信される（Ｄ０２）。
【００８９】
プリンタＡ（３Ａ）は、受信した印刷ジョブ０２に対する印刷処理を開始する（Ｓ０４）。
【００９０】
さらに、クライアント端末２において、プリンタＡ（３Ａ）宛の印刷ジョブ０３が発生し（Ｓ０３）、プリンタＡ（３Ａ）に送信されるが（Ｄ０３）、プリンタＡ（３Ａ）は、既に受信した印刷ジョブ０２に対する印刷処理によりビジー状態である為印刷ジョブ転送制御開始する（Ｓ０５）。
【００９１】
プリンタＡ（３Ａ）は、受信した印刷ジョブ０３をメールサーバ１に送信するために、メールサーバ１への接続制御を開始し（Ｄ０４）、印刷ジョブ０３を添付ファイルとするメールデータをメールサーバ１に送信する（Ｄ０５）。
【００９２】
メールサーバ１に対して印刷ジョブ０３の送信が完了すると、プリンタＡ（３Ａ）は、メールサーバ１からログオフして切断手順を実施する（Ｄ０６）。
【００９３】
一方、プリンタＢ（３Ｂ）において、印刷ジョブ０１に対する印刷処理が完了すると、メールサーバ１にスプールされた印刷データの有無を確認する（Ｓ０７）。
【００９４】
プリンタＢ（３Ｂ）は、メールサーバ１に接続し、仮想スプール領域のメールボックス４１内のメール一覧データの送信を指示するコマンドをメールサーバ１に送信する（Ｄ０７）。
【００９５】
メールサーバ１は、メールボックス４１内のメール一覧データを作成してプリンタＢ（３Ｂ）に送信する（Ｄ０８）。
【００９６】
プリンタＢ（３Ｂ）は、受信したメール一覧データからプリンタＡ（３Ａ）によってスプールされた印刷ジョブ０３を含むメールのメールＩＤを特定する（Ｓ０８）。
【００９７】
プリンタＢ（３Ｂ）は、印刷ジョブ０３を含むメールＩＤの送信コマンドをメールサーバ１に送信する（Ｄ０９）。
【００９８】
メールサーバ１は、プリンタＢ（３Ｂ）によって指定されたメールＩＤに対応するメールデータをプリンタＢ（３Ｂ）に送信する（Ｄ１０）。
【００９９】
プリンタＢ（３Ｂ）は、受信したメールデータの添付ファイルから印刷ジョブ０３を抽出して印刷処理を開始する（Ｓ０９）。
【０１００】
また、プリンタＢ（３Ｂ）は、印刷ジョブ０３のメールデータの受信完了後、メールサーバ１に対して受信応答を送信後、メールサーバ１との切断（ログオフ）処理を実施する（Ｄ１１）。
【０１０１】
印刷ジョブ０３の印刷処理が完了すると印刷完了通知処理を起動し（Ｓ１０）、プリンタＢ（３Ｂ）は、属性情報あるいは、受信したメールデータのヘッダ情報あるいは、本文から印刷ジョブを発行したクライアント端末２のアドレス情報を取得して、印刷完了通知データをクライアント端末２に送信する（Ｄ１２）。
【０１０２】
なお、プリンタＢ（３Ｂ）におけるプリンタＡ（３Ａ）宛の印刷ジョブ代替印刷完了の通知方法は、プリントプロトコルによってプリンタＢ（３Ｂ）からクライアント端末２に直接通知される構成以外に、メールによってメールサーバ１を介してプリンタＡ（３Ａ）に通知する構成にしてもよい。
【０１０３】
次に、図５に示したシステム構成、図６の制御構成、図７に示したシーケンス図によって示したプリンタにおける第２の外部スプール制御について説明する。
【０１０４】
図８は、図６に示したプリンタ３Ａ、３Ｂにおける第２の仮想スプール制御の処理手順を示すフローチャートである。
【０１０５】
図８において、仮想スプール制御部３７は、プリントプロトコル制御部３２からの印刷ジョブ、あるいはメールボックス４１に仮想スプールした印刷ジョブを含むメールデータをメール受信制御部３３から受信すると（ステップＳ２０１でＹＥＳ）、仮想スプール制御部３７は、印刷用バッファ／ＰＤＬ解析処理部監視部３６に対してＰＤＬ解析処理部３９がビジーであるかの問合せを行う（ステップＳ２０２）。
【０１０６】
ＰＤＬ解析処理部３９がビジーでない場合（ステップＳ２０２でＮＯ）、仮想スプール制御部３７は、印刷用バッファ１５に所定サイズ以上の空き領域があるかを判断する（ステップＳ２０３）。
【０１０７】
ＰＤＬ解析処理部３９がビジーの場合（ステップＳ２０２でＹＥＳ）、あるいは、所定のサイズ以上の印刷用バッファ１５の空きが無い場合（ステップＳ２０３でＮＯ）、仮想スプール制御部３７は、印刷ジョブを発行したクライアント端末２を識別するためのアドレス情報、印刷ジョブを仮想スプールしたプリンタの識別情報を仮想スプール情報としてメール本文あるいは添付ファイルにセットする（ステップＳ２１９）。
【０１０８】
そして、仮想スプール制御部３７は、メールサーバ１にスプールする印刷ジョブおよびメール送信の為の制御データをメール送信制御部３４に送信する（ステップＳ２２０）。
【０１０９】
一方、ＰＤＬ解析処理部３９が処理中でなく、印刷用バッファ１５に所定サイズ以上の空きがある場合（ステップＳ２０３でＹＥＳ）、仮想スプール制御部３７は、受信した印刷ジョブから属性情報、ＰＤＬデータを抽出する（ステップ２０４）。
【０１１０】
仮想スプール制御部３７は、属性情報を解析し、印刷ページ数および用紙サイズを取得する（ステップＳ２０５）。
【０１１１】
仮想スプール制御部３７は、印刷用バッファ１５の空き領域のサイズ、ＰＤＬ解析処理部３９の処理状況を印刷用バッファ／ＰＤＬ解析処理部監視部３６に対して問合せを行う（ステップＳ２０６）。
【０１１２】
ステップＳ２０６における問合せの結果、ＰＤＬ解析処理部３９がビジーでない場合（ステップＳ２０６でＮＯ）、仮想スプール制御部３７は、処理ページに対応するページ分のＰＤＬデータを抽出し（ステップＳ２０７）、属性情報とＰＤＬデータを抽出してＰＤＬ解析処理部３９に出力する。
【０１１３】
ＰＤＬ解析処理部３９は、仮想スプール制御部３７から受信した処理ページに対応するＰＤＬデータに基づいてページイメージを作成してプリンタコントローラ３０に出力する（ステップＳ２０８）。
【０１１４】
ステップＳ２０４において、抽出したＰＤＬデータが複数ページある場合（ステップＳ２０９でＹＥＳ）、仮想スプール制御部３７は、次ページのＰＤＬデータを取得し（ステップＳ２２１）、再度ステップＳ２０６の処理に戻る。
【０１１５】
一方、ステップＳ２０６において、ＰＤＬ解析処理部３９がビジーと判断した場合（ステップＳ２０６でＹＥＳ）、仮想スプール制御部３７は、印刷ジョブを発行したクライアント端末２を識別するためのアドレス情報、印刷ジョブを仮想スプールしたプリンタの識別情報を仮想スプール情報として、メールヘッダ部もしくはメール本文にセットし（ステップＳ２１１）、未処理ページに対応するＰＤＬデータと属性情報およびそのメール送信の制御コマンドをメール送信制御部３４に出力する（ステップＳ２１２）。
【０１１６】
また、ステップＳ２０９において、全ページ分のページイメージに対する印刷処理が完了した場合（ステップＳ２０９でＮＯ）、仮想スプール制御部３７は、印刷ジョブを発行したクライアント端末２に対して印刷完了通知の送信を指示する制御データを作成し、プリントプロトコル制御部３２に出力する（ステップＳ２１０）。
【０１１７】
再度、ステップＳ２０１に戻り、プリントプロトコル制御部３２を介しての印刷ジョブの受信あるいは、メール受信制御部３３を介しての外部スプールした印刷ジョブの受信が無く（ステップＳ２０１でＮＯ）、ＰＤＬ解析処理部３９がビジーでない場合（ステップＳ２１３でＮＯ）、仮想スプール制御部３７は、外部スプール領域となるメールボックス４１に格納されたメール一覧データの送信を指示する制御データをメール受信制御部３３に対して出力する。
【０１１８】
そして、メール受信制御部３３は、メールサーバ１に対して、メールボックス４１内のメール一覧データの送信を指示するコマンドを作成して送信する（ステップＳ２１４）。
【０１１９】
メールサーバ１から受信したメール一覧データに外部スプールされたメールが存在する場合（ステップＳ２１５でＹＥＳ）、仮想スプール制御部３７は、メール送信を行うメールＩＤを含む外部スプールされた印刷データの呼び戻しを指示する制御データを作成してメール受信制御部３３に送信する（ステップＳ２１６）。
【０１２０】
メール受信制御部３３は、仮想スプール制御部３７から受信したメールＩＤのメール送信要求するメール受信プロトコル用のコマンドを生成してメールサーバ１に送信する（ステップＳ２１７）。
【０１２１】
仮想スプール制御部３７は、メール受信制御部３３を介して受信したメールから添付ファイルの印刷データを抽出し（ステップＳ２１８）、ステップＳ２０２に処理を移行する。
【０１２２】
一方、ステップＳ２１３において、ＰＤＬ解析処理部３９がビジーの場合（ステップＳ２１３でＹＥＳ）、あるいは、ステップＳ２１５において、メール受信制御部３３を介して受信したメール一覧データを参照した結果、外部スプールされた印刷ジョブが無い場合（ステップＳ２１５でＮＯ）、仮想スプール制御部３７は、ステップＳ２０１に戻り、プリントプロトコル制御部３２を介してのクライアント端末２からの印刷ジョブ受信を監視する。
【０１２３】
なお、図３および図６に示した仮想スプール制御の処理は、属性情報に印刷部数の指定が無い場合の処理の例であるが、属性情報に印刷部数が複数設定されている場合、仮想スプール機能を利用したページソート機能による印刷処理の手順についてさらに説明する。
【０１２４】
図９は、図５に示したプリンタがこれまでに説明した仮想スプール機能を利用してページソート処理を行った時の処理手順を示すフローチャートである。
【０１２５】
ここで、図９に示す処理フローにおいては、印刷用バッファ１５の空き領域の逼迫、または、ＰＤＬ解析処理部３９のビジーによる印刷ジョブの外部スプール制御は発生しないものとして説明する。
【０１２６】
図９において、仮想スプール制御部３７は、印刷データ送受信制御部３１から受信した印刷ジョブからから属性情報およびＰＤＬデータを抽出する（ステップＳ３０１）。
【０１２７】
仮想スプール制御部３７は、印刷ジョブから抽出したＰＤＬデータのページ数と、属性情報にて指定された印刷部数を取得する（ステップＳ３０２）。
【０１２８】
仮想スプール制御部３７は、ページソートを行うための部数カウンタ、印刷ページの印刷番号をシーケンシャルにカウントするシーケンシャルカウンタの初期化を行う（ステップＳ３０３）。
【０１２９】
仮想スプール制御部３７は、ページカウンタで特定される１ページ分のＰＤＬデータを抽出する（ステップＳ３０４）。
【０１３０】
仮想スプール制御部３７は、ステップＳ３０４で抽出したＰＤＬデータからページイメージを作成する（ステップＳ３０５）。
【０１３１】
さらに、仮想スプール制御部３７は、シーケンシャル番号がセットされたシーケンス番号を含むページソート情報をメールの本文あるいは添付ファイルにセットする（ステップＳ３０６）。
【０１３２】
仮想スプール制御部３７は、ページイメージを添付ファイルとし、ページソート情報を付加したメールデータを作成し、メールサーバ１に送信する（ステップＳ３０７）。
【０１３３】
ＰＤＬデータが複数ページ存在し、次ページが存在する場合（ステップＳ３０８でＹＥＳ）、仮想スプール制御部３７は、ページカウンタをインクリメントして（ステップＳ３１７）、ステップＳ３０４の処理に戻る。
【０１３４】
また、ＰＤＬデータの最終ページ迄の処理が完了した場合（ステップＳ３０８でＮＯ）で、かつ、現在の印刷部数カウンタが属性情報にて指定された印刷部数以下の場合（ステップＳ３０９でＹＥＳ）、仮想スプール制御部３７は、部数カウンタを１インクリメントし、および、ページカウンタを初期化してステップＳ３０４の処理に戻る（ステップＳ３１８）。
【０１３５】
一方、属性情報に指定された印刷部数分のページイメージの作成処理が完了すると（ステップＳ３０９でＮＯ）、仮想スプール制御部３７は、ページソート用としてメールボックス４１にスプールしたメールＩＤを含むメール一覧データの送信を要求するコマンドをメール送信制御部３４を介してメールサーバ１に送信し、メールサーバ１からメール一覧データを受信する（ステップＳ３１０）。
【０１３６】
仮想スプール制御部３７は、メールサーバ１から受信したメール一覧データから、ページソートの為にメールサーバ１にスプールした各メールのメールＩＤを特定して得する（ステップＳ３１１）。
【０１３７】
仮想スプール制御部３７は、ページ数および印刷部数から算出したシーケンシャル番号の最大値および、印刷中のシーケンシャル番号を管理するための処理カウンタを初期化する（ステップＳ３１２）。
【０１３８】
仮想スプール制御部３７は、メールボックス４１に外部スプールしたページイメージのメールデータに対応するメールＩＤをシーケンシャル番号が昇順となるように指定して順次メールの受信制御を行う（ステップＳ３１３）。
【０１３９】
仮想スプール制御部３７は、メールサーバ１から受信したメールの添付ファイルからページイメージを抽出し（ステップＳ３１４）、抽出したページイメージをプリンタエンジン１８に出力して１ページ分の印刷処理を行う（ステップＳ３１５）。
【０１４０】
シーケンシャル番号が、シーケンシャル番号の最大値以下の場合（ステップＳ３１６でＹＥＳ）、仮想スプール制御部３７は、シーケンシャル番号を１インクリメントしてステップＳ３１３に戻る（ステップＳ３１９）。
【０１４１】
以後、仮想スプール制御部３７は、ステップＳ３１３からステップＳ３１６までの処理をシーケンシャルカウンタが最大値になるまで、ページイメージを順次受信してページソートによる印刷処理を行う。
【０１４２】
なお、図９に示した処理フロー以外に、ＰＤＬデータのページ単位でのトランザクションにおいて、予め取得した印刷部数、ページ数、ソート方法からページソート時のシーケンシャル番号を計算し、必要な部数をコピーして作成したページイメージに計算したシーケンシャル番号をそれぞれ付与してメールボックスにスプールする構成にしてもよい。
【０１４３】
また、図９に示したページソートの機能以外に、属性情報にて特定のページに対して印刷部数が設定された場合は、ページ毎のページイメージの作成の有無を判断して印刷処理を行う構成にすることも可能である。
【０１４４】
以上が本発明に係わる第２実施例の説明である。
【産業上の利用可能性】
【０１４５】
本発明のデータ処理装置および方法は、ネットワーク環境における印刷システムに適用することができる。これにより、スプール用の補助記憶装置を持たないプリンタをシステムの構成機器として導入することができ、プリンタの性能および稼動負荷の状況を意識せず常に同一の条件で使用可能なネットワークプリント環境をユーザに対して提供することができる。
【図面の簡単な説明】
【０１４６】
【図１】本発明を適用した印刷システムの第１実施例のシステム構成図である。
【図２】図１に示したプリンタの回路構成を示すブロック図である。
【図３】図１に示したプリンタの第１の制御構成を示すブロック図である。
【図４】図１に示したプリンタにおける仮想スプール制御の処理手順を示すフローチャートである。
【図５】本発明を適用した印刷システムの第２実施例のシステム構成図である。
【図６】図５に示した第２実施例の制御構成を示すブロック図である。
【図７】図５に示した印刷システムにおいて、プリンタＡがメールサーバにスプールした印刷ジョブをプリンタＢがメール受信して代替印刷を行う場合の例を示したシーケンス図である。
【図８】図５に示したプリンタにおける仮想スプール制御の処理手順を示すフローチャートである。
【図９】図５に示したプリンタにおいて、仮想スプール機能を利用してページソート処理を行った時の処理手順を示すフローチャートである。
【符号の説明】
【０１４７】
１    メールサーバ    
２    クライアント端末    
３    プリンタ    
３Ａ    プリンタＡ    
３Ｂ    プリンタＢ    
４    ネットワーク    
５    ネットワークインタフェース    
６    ＲＯＭ    
７    メール送受信プログラム
８    プリントプロトコル制御プログラム
９    ＰＤＬ解析プログラム
１０    仮想スプール管理プログラム
１１    制御用パラメータ
１２    システムバス
１３    ＣＰＵ
１４    ＲＡＭ
１５    印刷用バッファ
１６    ワークメモリ
１７    プリンタエンジンインタフェース
１８    プリンタエンジン
３０    プリンタコントローラ
３１    印刷データ送受信制御部
３２    プリントプロトコル制御部
３３    メール受信制御部
３４    メール送信制御部
３５    コントローラ記憶部
３６    印刷用バッファ／ＰＤＬ解析処理部監視部
３７    仮想スプール制御部
３９    ＰＤＬ解析処理部
４１    メールボックス（仮想スプール領域）
【図１】
2005063233.tif 000003
【図２】
2005063233.tif 000004
【図３】
2005063233.tif 000005
【図４】
2005063233.tif 000006
【図５】
2005063233.tif 000007
【図６】
2005063233.tif 000008
【図７】
2005063233.tif 000009
【図８】
2005063233.tif 000010
【図９】
2005063233.tif 000011