(57)【特許請求の範囲】
【請求項１】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理装置であって、
ジョブグルーピング開始指示を受け付けたことに応じて、前記スプール部にスプールされている印刷ジョブのリストを取得し、グルーピング対象外リストを作成する第１リスト作成手段と、
ジョブグルーピング終了指示を受け付けたことに応じて、前記終了指示がなされたタイミングにおける前記スプール部にスプールされている印刷ジョブのリストと前記グルーピング対象外リストとの差分に基づくグルーピング対象リストを作成する第２リスト作成手段と、
前記グルーピング対象リストに基づき、印刷ジョブをグループジョブのメンバとして設定するメンバ作成手段と、
前記メンバ作成手段により前記メンバとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記メンバ作成手段は、前記スプール部にスプールされた印刷ジョブを受け取った場合に、前記グルーピング対象リストを検索してグルーピングの対象となる印刷ジョブかどうかを判断し、対象となる印刷ジョブであると判断された場合には、前記受け取った印刷ジョブをグループジョブのメンバとして設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メンバ作成手段は、前記グルーピング対象リストが作成されていなくとも、前記印刷ジョブを受け取ったタイミングがジョブグルーピング開始指示とジョブグルーピング終了指示との間である場合には、前記グルーピング対象外リストに前記受け取った印刷ジョブが含まれているかどうか判定し、含まれていなければ前記受け取った印刷ジョブをグループジョブのメンバに加えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理装置であって、
前記スプール部にスプールされた印刷ジョブを受け取る受け取り手段と、
ジョブグルーピング終了指示を受け付ける前に前記受け取り手段によって印刷ジョブを受け取った場合に、前記受け取った印刷ジョブをグループジョブの対象のメンバジョブとするか否かを、ジョブグルーピング開始指示がなされたタイミングに前記スプール部にスプールされていた印刷ジョブとは異なるか否かに基づいて決定するメンバ作成手段と、
前記メンバ作成手段により前記メンバジョブとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御手段と
を有することを特徴とすることを特徴とする情報処理装置。
【請求項５】
前記メンバ作成手段は、前記ジョブグルーピング終了指示がなされた際に、ジョブグルーピング開始指示がされた際の前記スプール部における印刷ジョブのスプール状態と前記ジョブグルーピング終了指示がされた際の前記スプール部における印刷ジョブのスプール状態との差分をグルーピングの対象するよう制御することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ジョブグルーピング開始指示、或は、前記ジョブグルーピング終了指示は、所定の通信回線を介して通信可能とされた第２の情報処理装置より指示されるものであることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理方法であって、
ジョブグルーピング開始指示を受け付けたことに応じて、前記スプール部にスプールされている印刷ジョブのリストを取得し、グルーピング対象外リストを作成する第１リスト作成工程と、
ジョブグルーピング終了指示を受け付けたことに応じて、前記終了指示がなされたタイミングにおける前記スプール部にスプールされている印刷ジョブのリストと前記グルーピング対象外リストとの差分に基づくグルーピング対象リストを作成する第２リスト作成工程と、
前記グルーピング対象リストに基づき、印刷ジョブをグループジョブのメンバとして設定するメンバ作成工程と、
前記メンバ作成工程により前記メンバとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御工程とを有することを特徴とする情報処理方法。
【請求項８】
前記メンバ作成工程は、前記スプール部にスプールされた印刷ジョブを受け取った場合に、前記グルーピング対象リストを検索してグルーピングの対象となる印刷ジョブかどうかを判断し、対象となる印刷ジョブであると判断された場合には、前記受け取った印刷ジョブをグループジョブのメンバとして設定することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記メンバ作成工程は、前記グルーピング対象リストが作成されていなくとも、前記印刷ジョブを受け取ったタイミングがジョブグルーピング開始指示とジョブグルーピング終了指示との間である場合には、前記グルーピング対象外リストに前記受け取った印刷ジョブが含まれているかどうか判定し、含まれていなければ前記受け取った印刷ジョブをグループジョブのメンバに加えることを特徴とする請求項７又は８に記載の情報処理方法。
【請求項１０】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理方法であって、
前記スプール部にスプールされた印刷ジョブを受け取る受け取り工程と、
ジョブグルーピング終了指示を受け付ける前に前記受け取り工程によって印刷ジョブを受け取った場合に、前記受け取った印刷ジョブをグループジョブの対象のメンバジョブとするか否かを、ジョブグルーピング開始指示がなされたタイミングに前記スプール部にスプールされていた印刷ジョブとは異なるか否かに基づいて決定するメンバ作成工程と、
前記メンバ作成工程により前記メンバジョブとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御工程と
を有することを特徴とすることを特徴とする情報処理方法。
【請求項１１】
前記メンバ作成工程は、前記ジョブグルーピング終了指示がなされた際に、ジョブグルーピング開始指示がされた際の前記スプール部における印刷ジョブのスプール状態と前記ジョブグルーピング終了指示がされた際の前記スプール部における印刷ジョブのスプール状態との差分をグルーピングの対象するよう制御することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記ジョブグルーピング開始指示、或は、前記ジョブグルーピング終了指示は、所定の通信回線を介して通信可能とされた第２の情報処理装置より指示されるものであることを特徴とする請求項１０または１１に記載の情報処理方法。
【請求項１３】
請求項７乃至１２のいずれかに記載の情報処理方法をコンピュータにより実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムをコンピュータ画読み取り可能な形態で記憶したコンピュータ可読の記憶媒体。
【請求項１５】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを印刷装置に送出する情報処理システムであって、
ジョブグルーピング開始指示を受け付けたことに応じて、前記スプール部にスプールされている印刷ジョブのリストを取得し、グルーピング対象外リストを作成する第１リスト作成手段と、
ジョブグルーピング終了指示を受け付けたことに応じて、前記終了指示がなされたタイミングにおける前記スプール部にスプールされている印刷ジョブのリストと前記グルーピング対象外リストとの差分に基づくグルーピング対象リストを作成する第２リスト作成手段と、
前記グルーピング対象リストに基づき、印刷ジョブをグループジョブのメンバとして設定するメンバ作成手段と、
前記メンバ作成手段により前記メンバとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして前記印刷装置に送出させる制御手段とを有することを特徴とする情報処理システム。
【請求項１６】
前記メンバ作成手段は、前記スプール部にスプールされた印刷ジョブを受け取った場合に、前記グルーピング対象リストを検索してグルーピングの対象となる印刷ジョブかどうかを判断し、対象となる印刷ジョブであると判断された場合には、前記受け取った印刷ジョブをグループジョブのメンバとして設定することを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
前記メンバ作成手段は、前記グルーピング対象リストが作成されていなくとも、前記印刷ジョブを受け取ったタイミングがジョブグルーピング開始指示とジョブグルーピング終了指示との間である場合には、前記グルーピング対象外リストに前記受け取った印刷ジョブが含まれているかどうか判定し、含まれていなければ前記受け取った印刷ジョブをグループジョブのメンバに加えることを特徴とする請求項１５又は１６に記載の情報処理システム。
【請求項１８】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを印刷装置に送出する情報処理システムであって、
前記スプール部にスプールされた印刷ジョブを受け取る受け取り手段と、
ジョブグルーピング終了指示を受け付ける前に前記受け取り手段によって印刷ジョブを受け取った場合に、前記受け取った印刷ジョブをグループジョブの対象のメンバジョブとするか否かを、ジョブグルーピング開始指示がなされたタイミングに前記スプール部にスプールされていた印刷ジョブとは異なるか否かに基づいて決定するメンバ作成手段と、
前記メンバ作成手段により前記メンバジョブとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして前記印刷装置に送出させる制御手段と
を有することを特徴とすることを特徴とする情報処理システム。
【請求項１９】
前記メンバ作成手段は、前記ジョブグルーピング終了指示がなされた際に、ジョブグルーピング開始指示がされた際の前記スプール部における印刷ジョブのスプール状態と前記ジョブグルーピング終了指示がされた際の前記スプール部における印刷ジョブのスプール状態との差分をグルーピングの対象するよう制御することを特徴とする請求項１８に記載の情報処理システム。
【請求項２０】
前記ジョブグルーピング開始指示、或は、前記ジョブグルーピング終了指示は、所定の通信回線を介して通信可能とされた第２の情報処理装置より指示されるものであることを特徴とする請求項１８または１９に記載の情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スプーラから受け取った複数の印刷ジョブを、グルーピングし出力する仕組みに関する。
【０００２】
【従来の技術】
昨今オフィスにおけるパーソナルコンピュータ（ＰＣ）の普及はめざましく、またそれらを接続するネットワーク技術も発達してきている。プリンタの利用法も従来は１台のＰＣに１台のプリンタを接続して使用していたが、最近ではプリンタをネットワークに接続し、ネットワークに接続したＰＣで共有して使用するケースが増えている。
【０００３】
このような環境下において、例えば、複数の印刷ジョブに順番をつけてグルーピングし、グルーピングされたジョブがその順番どおりにプリンタに対して送信される「まとめ印刷」機能がある。
【０００４】
このような印刷システムにおいて「まとめ印刷」機能を利用する場合、グルーピングした複数の印刷ジョブに対応する印刷データは、その順番どおりにプリンタに対して送信されることになるが、ネットワーク環境下でプリントサーバを設置し、このプリントサーバの管理下にあるネットワーク直結プリンタで印刷させる場合は、このプリントサーバがＰＣクライアントから複数の印刷データを受けることになる。その場合、プリントサーバは、まとめ印刷中の印刷ジョブを受信している際に、他のＰＣクライアントからの印刷データの印刷ジョブを受信することもあり、まとめ印刷の印刷ジョブの間に他の印刷ジョブがまざってしまうという問題がある。
【０００５】
【発明が解決しようとする課題】
そこで、アプリケーションで生成した複数の印刷命令の印刷ジョブをＰＣクライアントから送信する際には、１セットのジョブ開始命令からジョブ終了命令でまとめられる、１つの印刷データとして生成する機能を有する印刷システムの提供が望まれている。この要望に対して、ジョブのグルーピング指定時に、ＰＣのスプーラから印刷命令を受け取り、再度、印刷命令をスプールして、１まとまりの印刷データを生成することが考えられる。
【０００６】
このような印刷システムにおいてジョブグルーピング機能を利用する場合、ジョブグルーピング機能を有する印刷システムにグルーピング開始を指示してから、グルーピングしたい印刷ジョブをスプーラへ投入し、必要な複数の印刷ジョブをスプーラに投入し終わると、その後グルーピング終了を上記印刷システム指示することになる。一方、印刷システムでは、グルーピング開始指示を受けた場合に、グルーピング終了指示を受けるまでの間にスプーラから取り出した印刷命令の印刷ジョブをグループ化された印刷ジョブとして取り扱う。
【０００７】
しかしながら、このような方法では、印刷システムがグルーピング開始・終了の指示を受け取るタイミングと、スプーラから印刷データを受け取るタイミングとにずれがあるため、スプーラにグルーピングするものとして出力された印刷ジョブと、印刷システムにグルーピングする印刷ジョブとが一致しないことがあるという問題点が考えられる。
【０００８】
本発明は上記問題点に鑑みて成されたもので、指定された通りに印刷ジョブのグルーピングを行うことのできる印刷制御装置および方法および印刷システムおよび記憶媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は上記従来例に鑑みて成されたもので次のような構成からなる。
【００１０】
生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理装置であって、
ジョブグルーピング開始指示を受け付けたことに応じて、前記スプール部にスプールされている印刷ジョブのリストを取得し、グルーピング対象外リストを作成する第１リスト作成手段と、
ジョブグルーピング終了指示を受け付けたことに応じて、前記終了指示がなされたタイミングにおける前記スプール部にスプールされている印刷ジョブのリストと前記グルーピング対象外リストとの差分に基づくグルーピング対象リストを作成する第２リスト作成手段と、
前記グルーピング対象リストに基づき、印刷ジョブをグループジョブのメンバとして設定するメンバ作成手段と、
前記メンバ作成手段により前記メンバとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御手段とを有する。
【００１１】
更に好ましくは、前記メンバ作成手段は、前記スプール部にスプールされた印刷ジョブを受け取った場合に、前記グルーピング対象リストを検索してグルーピングの対象となる印刷ジョブかどうかを判断し、対象となる印刷ジョブであると判断された場合には、前記受け取った印刷ジョブをグループジョブのメンバとして設定する。
【００１２】
更に好ましくは、前記メンバ作成手段は、前記グルーピング対象リストが作成されていなくとも、前記印刷ジョブを受け取ったタイミングがジョブグルーピング開始指示とジョブグルーピング終了指示との間である場合には、前記グルーピング対象外リストに前記受け取った印刷ジョブが含まれているかどうか判定し、含まれていなければ前記受け取った印刷ジョブをグループジョブのメンバに加える。
【００１４】
或は、生成された印刷ジョブをスプールするスプール部を備え、グループジョブとして設定された複数の印刷ジョブを送出する情報処理装置であって、
前記スプール部にスプールされた印刷ジョブを受け取る受け取り手段と、
ジョブグルーピング終了指示を受け付ける前に前記受け取り手段によって印刷ジョブを受け取った場合に、前記受け取った印刷ジョブをグループジョブの対象のメンバジョブとするか否かを、ジョブグルーピング開始指示がなされたタイミングに前記スプール部にスプールされていた印刷ジョブとは異なるか否かに基づいて決定するメンバ作成手段と、
前記メンバ作成手段により前記メンバジョブとして設定された印刷ジョブを含む複数の印刷ジョブをグループジョブとして印刷装置に送出させる制御手段とを有する。
【００１５】
更に好ましくは、前記メンバ作成手段は、前記ジョブグルーピング終了指示がなされた際に、ジョブグルーピング開始指示がされた際の前記スプール部における印刷ジョブのスプール状態と前記ジョブグルーピング終了指示がされた際の前記スプール部における印刷ジョブのスプール状態との差分をグルーピングの対象するよう制御する。
【００１６】
更に好ましくは、前記ジョブグルーピング開始指示、或は、前記ジョブグルーピング終了指示は、所定の通信回線を介して通信可能とされた第２の情報処理装置より指示されるものである。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図１は本発明の実施形態である印刷システムを適用するネットワークシステムのシステム構成を示すブロック図である。本実施形態に係るネットワークシステムは、印刷サーバＰＣ１０１、印刷クライアントＰＣ１０２、１０３、１０４、プリンタ１０５を、ネットワーク１０６上に接続した構成となっている。ネットワークには、印刷クライアントおよびプリンタはｎ台接続されていることを仮定しているが、図１においては便宜上印刷クライアント３台、プリンタ１台のみ図示する。本例ではプリンタ１０５は、ネットワーク１０６に直接接続されたネットワークプリンタであるが、印刷サーバＰＣ１０２に接続されたローカルプリンタでもよい。
【００２２】
印刷サーバＰＣ１０１は、ネットワークケーブルによってネットワーク１０６に接続されており、印刷クライアントＰＣ１０２、１０３、１０４からプリンタ言語で記述された印刷データを受け取り、プリンタ１０５へ送信する。
【００２３】
印刷クライアントＰＣ１０２、１０３、１０４は、ネットワークケーブルによってネットワーク１０６に接続されており、印刷データ、および、印刷情報を印刷サーバＰＣ１０２に渡す。
【００２４】
プリンタ１０５は、ネットワークインターフェースを介してネットワーク１０６に接続されており、印刷サーバＰＣ１０１から送信される印刷データを１ページずつドットイメージに変換して、１ページ毎に印刷する。ネットワーク１０６は、印刷サーバＰＣ１０１、印刷クライアンＰＣ１０２、１０３、１０４、プリンタ１０５等と接続している。
【００２５】
図２は本発明の実施の形態に係る印刷サーバＰＣ１０１、印刷クライアントＰＣ１０２、１０３、１０４を実現するコンピュータの概略構成を示すブロック図である。コンピュータは、ＣＰＵ２００、ＲＯＭ２０１、ＲＡＭ２０２、フロッピーディスク（ＦＤ）ドライブ２０３、ＦＤ２０４、ハードディスク（ＨＤ）２０５、キーボード２０６、ディスプレイ２０７、システムバス２０８を備える構成となっている。
【００２６】
ＣＰＵ２００は、ＨＤ２０５に格納されているオペレーティングシステム（ＯＳ）や印刷サーバプログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報を一時的に格納する制御を行う。ＲＯＭ２０１には、基本Ｉ／Ｏプログラム等を記憶する。ＲＡＭ２０２はＣＰＵ２００の主メモリ、ワークエリア等として機能する。ＦＤドライブ２０３は、図３に示すごとく、コンピュータ等に装備されたＦＤドライブ２０３を通じて、ＦＤ２０４に記憶された印刷サーバプログラムや印刷クライアントプログラムを含む印刷システムプログラム等をコンピュータシステムにロードすることができる。
【００２７】
ＦＤ２０４の内容は、ＨＤ２０５などの記憶手段に記憶させておくことができる。ＦＤ２０４に記憶されている内容の構成を図４に示す。図４において、ＦＤ２０４のデータ内容４００は、データの構成を示すボリューム情報４０１、ディレクトリ情報４０２、本実施形態で説明する印刷システムプログラムのフローチャートに基づいてプログラムコード化されたプログラム４０３、その関連データ４０４を含む。
【００２８】
ＨＤ２０５は、ＯＳ、印刷アプリケーションプログラム、印刷サーバプログラム、印刷クライアントプログラム等を格納している。キーボード２０６は、ユーザーが印刷クライアントＰＣ１０３、１０４に対して、デバイスの制御コマンドの命令等を入力指示するものである。ディスプレイ２０７は、キーボード２０６から入力したコマンドや、印刷状況等を表示したりするものである。システムバス２０８は、印刷クライアントＰＣ１０３、１０４内のデータの流れを司るものである。
【００２９】
本実施形態では、ＦＤ２０４から印刷システムプログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４から印刷システムプログラムを動作させる度に、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本印刷システムプログラムを記録する媒体は、ＦＤ以外にもＣＤ−ＲＯＭ、ＩＣメモリカード等であってもよい。更に、本印刷システムプログラムをＲＯＭ２０１に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００３０】
図５は本実施形態の印刷システムプログラムがＲＡＭ２０２にロードされ実行可能となった状態のメモリマップを表すものである。メモリ５００には、基本Ｉ／Ｏプログラム５０１、ＯＳ５０２、印刷システムプログラム５０３、関連データ５０４がそれぞれ展開され、さらにＣＰＵ２００が本印刷システムプログラムを実行するワークエリア５０５が確保されている。なお、基本Ｉ／Ｏプログラム５０１は、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローディング）機能等を有しているプログラムが入っている領域である。
【００３１】
図６は本発明の実施形態に係るプリンタ１０５の概略構成を示すブロック図である。プリンタ１０５は、ＣＰＵ６０１、ＲＯＭ／ＲＡＭ６０２、記憶部６０３、表示部６０４、プリンタ印字部６０５、ネットワークインターフェース６０６、通信回線６０７を備える構成になっている。
【００３２】
ＣＰＵ６０１は、装置全体を制御する。ＲＯＭ／ＲＡＭ６０２は、ＣＰＵ６０１を制御する制御プログラムや定数データ、送受信データを一時記憶するバッファを含んでいる。記憶部６０３は、例えばハードディスクのような記憶手段であり、送受信するデータやＣＰＵ６０１で実行する制御プログラム、データを記憶する。表示部６０４は、ＲＯＭ／ＲＡＭ６０２に一時記憶されているデータや、記憶部６０３に記憶されているデータの内容、及び操作状況等を表示する。プリンタ印字部６０５は、ＲＯＭ／ＲＡＭ６０２に記憶されているプログラムに基づいてＣＰＵ６０１で生成したドットデータを印字出力する。ネットワークインターフェース６０６は、該ネットワークインターフェースを介して印刷サーバＰＣ等の外部装置と印字データ等の通信を行う。通信回線６０７は、ネットワークインターフェース６０６とネットワーク１０６をつなぐものである。
【００３３】
図７は、クライアントＰＣ１０２〜１０４およびサーバＰＣ１０１のソフトウェアモジュール構成を表した図である。７０３は印刷アプリケーションであり、７０５はＯＳが提供するスプーラ、７０４はスプーラとのインターフェースを提供するスプーラＡＰＩ（アプリケーション・プログラミング・インターフェース）である。７０７は印刷システムのクライアントプログラムであり、７０６は印刷システムとのインターフェースを提供する印刷システムＡＰＩ、７０８は印刷システムのサーバプログラムである。また、７０９ａ，７０９ｂはスプールファイルを格納するＨＤ、７１０はネットワークプリンタである。
【００３４】
図７において、印刷アプリケーション７０３は、グルーピング開始の指示を、印刷システムＡＰＩ７０６を通じて、印刷システム（クライアント）７０７に通知し、ＯＳが提供するスプーラＡＰＩ７０４を使用してスプーラ７０５に対して、グループ化対象となる印刷ジョブを渡す。印刷ジョブを渡し終えると、印刷アプリケーション７０３は、グルーピング終了の指示を、印刷システムＡＰＩ７０６を通じて、印刷システム（クライアント）７０７に通知する。
【００３５】
スプーラ７０５は、印刷アプリケーション７０３から受け取る印刷ジョブをＨＤ７０９ｂにスプールし、印刷ジョブに含まれる印刷命令をプリンタドライバが解釈可能な印刷命令（デバイス依存の描画関数）に変換し、印刷システムＡＰＩ７０６を通じて、変換された描画関数を印刷システム（クライアント）７０７に渡す。
【００３６】
本発明に係る印刷制御モジュールである印刷システム（クライアント）７０７は、スプーラ７０５から受け取った描画関数をプリンタドライバ（印刷システム（クライアント）７０７に含まれる）により印刷データに変換し、変換生成された印刷データをＨＤ７０９ａに再度スプールする。そして、印刷システム（クライアント）７０７は、印刷システム（サーバ）７０８に印刷依頼を行う。印刷システム（サーバ）７０８は印刷依頼をスケジューリングし、印刷システム（クライアント）に送信許可を発行する。印刷システム（クライアント）７０７は、印刷システム（サーバ）７０８から送信許可を受信し、ネットワークプリンタ７１０に、ＨＤ７０９ａにスプールされている印刷データを送信する。この場合、印刷データの送信は、印刷システム（サーバ）７０８経由でもよい。印刷データを印刷システム（サーバ）７０８経由でネットワークプリンタ７１０に送信する場合には、印刷システム（サーバ）７０８が印刷ジョブのスケジュールを管理しつつネットワークプリンタ７１０にクライアントから受信した印刷データを送信する。印刷データを印刷システム（クライアント）７０７からネットワークプリンタ７１０に送信する場合には、印刷システム（クライアント）７０７は、印刷システム（サーバ）７０８が管理するスケジュールに従って印刷データをネットワークプリンタ７１０に送信する。
【００３７】
この際、印刷システム（クライアント）７０７は、スプーラＡＰＩ７０４を通じて、スプーラ７０５によりスプールされている印刷ジョブのジョブ情報を、スプーラ７０５から取得する。
【００３８】
図８は、スプーラ７０５が印刷ジョブをスプールした際に作成するジョブ情報である。ジョブ情報には、スプーラ７０５が発行するジョブＩＤ８０１、ドキュメント名８０２、ステータス８０３、優先順位８０４などが含まれる。印刷システム（クライアント）７０７は、スプーラ７０５からジョブ情報を取得し、グループ化対象の印刷ジョブについてはグループＩＤ８０５を付加して、プリントキュー情報のグルーピング対象リストに追加する。
【００３９】
図９は、印刷システム（クライアント）７０７が保持するプリントキュー情報である。プリントキュー情報は、スプーラ７０５に存在するプリントキューと同じ数だけ保持する。プリントキュー情報には、スプーラ７０５のプリントキューに対応するプリントキュー名９０１、印刷アプリケーション７０３からグルーピング開始の指示を受けたときに立てるグルーピング中フラグ９０２、グルーピング開始指示を受けるたびに新規に発行されるグループＩＤ９０３、グルーピング対象印刷ジョブのジョブ情報を格納するグルーピング対象リスト９０４、グルーピング対象でない印刷ジョブのジョブ情報を格納するグルーピング対象外リスト９０５が含まれる。
【００４０】
図１０は、印刷システム（クライアント）７０７がグループ化されたジョブを管理するために作成するグループ情報である。グループ情報には、グループを識別するためのグループＩＤ１００１、グループ名１００２、グループのステータス１００３、グループ内のジョブ（メンバジョブと呼ぶ）の情報格納するメンバジョブリスト１００４が含まれる。
【００４１】
ここで、グループとしてのステータスとは、後述にて詳しく説明する「スケジューリング待ち」や、ネットワークプリンタ７１０への印刷データ（プリンタドライバにより生成されたデータや中間コードファイル等）の送信を示す「送信中」などが想定される。
【００４２】
図１１は、印刷アプリケーション７０３からグルーピング開始の指示を受けた印刷システム（クライアント）７０７が行なう処理の流れを示すフローチャートである。ステップＳ１１０１でプリントキュー情報のグルーピング中フラグ９０２がＯＮかどうかを確認し、すでにＯＮになっている場合は終了する。ＯＮでなければ、ステップＳ１１０２でグルーピング中フラグ９０２をＯＮにし、ステップＳ１１０３で新しいグループＩＤを発行し、プリントキュー情報のグループＩＤ９０３に設定する。ステップＳ１１０４でＯＳのスプーラ７０５から現在スプールされているジョブのリストを取得し、この時点ですでにスプーラ７０５に投入されているジョブはグルーピングの対象とならないジョブであるので、ステップＳ１１０５で、取得したジョブ情報をプリントキュー情報のグルーピング対象外リスト９０５に格納し、終了する。
【００４３】
図１２は、印刷アプリケーション７０３からグルーピング終了の指示を受けた印刷システム（クライアント）７０７が行なう処理の流れを示すフローチャートである。ステップＳ１２０１で、プリントキュー情報のグルーピング中フラグがＯＮかどうかを確認し、ＯＮになっていなければ終了する。ＯＮになっている場合は、ステップＳ１２０２でＯＳのスプーラ７０５から現在スプールされているジョブのリストを取得する。ステップＳ１２０３で、スプーラ７０５から取得したジョブリストとグルーピング対象外リスト９０５とを比較する。ステップＳ１２０４で、スプーラ７０５から取得したジョブリストに存在して、グルーピング対象外リスト９０５に存在しないジョブのジョブ情報をグルーピング対象リスト９０４に格納する。このとき、プリントキュー情報のグループＩＤ１００１をジョブ情報に付加する。
【００４４】
ステップＳ１２０５でプリントキュー情報のグルーピング中フラグ９０２をＯＦＦにし、ステップＳ１２０６でプリントキュー情報のグルーピング対象リスト９０４内に、現在のグループジョブＩＤ（プリントキュー情報中のグループＩＤ９０３により識別できる）と一致するグループジョブＩＤをジョブ情報の中に含むジョブがあるかどうかを判断し、なければ終了する。現在のグループジョブＩＤと一致するグループジョブＩＤをジョブ情報の中に含むジョブがあった場合は、ステップＳ１２０７で、グループ情報のステータス１００３をスケジューリング待ちにして終了する。ステータス１００３がスケジューリング待ちになったグループのメンバジョブは、印刷システム（サーバ）７０８によって順次スケジューリングされ、ネットワークプリンタ７１０へ送信される。
【００４５】
図１３，１４は、ＯＳのスプーラ７０５から、印刷システム（クライアント）７０７が印刷ジョブを受け取った際に行なう処理の流れを示すフローチャートである。ここで考慮しなければならないのは、印刷アプリケーション７０３が、印刷システム（クライアント）７０７にグルーピング開始を指示した後にスプーラ７０５に投入した印刷ジョブを、印刷システム（クライアント）７０７が受け取るタイミングには２通りある、ということである。第１は、印刷アプリケーション７０３が印刷システム（クライアント）７０７にグルーピング終了を指示する前に印刷システム（クライアント）７０７がスプーラ７０５から受け取る場合であり、第２は、印刷アプリケーション７０３が印刷システム（クライアント）７０７にグルーピング終了を指示した後に、印刷システム（クライアント）７０７がスプーラ７０５から受け取る場合である。印刷システム（クライアント）７０７が、スプーラ７０５から受け取った印刷ジョブに対してグルーピング処理を行うかどうかの判断は、グルーピング終了の指示を受け取る前と、受け取った後とで異なる。グルーピング終了の指示より前に受け取った印刷ジョブは、プリントキュー情報のグルーピング対象外リスト９０５に含まれていなければ、グルーピングの処理の対象となる。グルーピング終了の指示より後に受け取った印刷ジョブは、プリントキュー情報のグルーピング対象リスト９０４に含まれていればグルーピング処理の対象となる。グルーピング終了の指示を受け取る前か受け取った後かの判断は、プリントキュー情報のグルーピング中フラグ９０２を使用して行われる。
【００４６】
スプーラ７０５から印刷ジョブを受け取った印刷システム（クライアント）７０７は、ステップＳ１３０１で、スプーラ７０５から受け取った印刷ジョブのジョブＩＤを参照し、プリントキュー情報のグルーピング対象リスト９０４内にジョブＩＤが一致するジョブ情報があるかどうかを判断する。ジョブＩＤが一致するジョブ情報がある場合にはステップＳ１３０３でそのジョブ情報をグルーピング対象リスト９０４から取り出す。ステップＳ１３０５で、取り出したジョブ情報に設定されているグループＩＤのグループジョブ情報が作成されているかどうか確認し、作成されていない場合は、ステップＳ１３０７でグループ情報を作成する。ステップＳ１３０６で、グループ情報のメンバジョブリスト１００４に、プリントキュー情報のグルーピング対象リスト９０４から取り出したジョブ情報を追加する。ステップＳ１３０９でグルーピング中フラグ９０２がＯＮかどうかを判断し、ＯＮならば終了する。
【００４７】
ステップＳ１３０９でグルーピング中フラグ９０２がＯＦＦと判断された場合は、ステップＳ１３１０でプリントキュー情報のグルーピング対象リスト９０４内に、現在のグループジョブＩＤと一致するグループジョブＩＤをジョブ情報の中に含むジョブがあるかどうかを判断し、なければ終了する。現在のグループジョブＩＤと一致するグループジョブＩＤをジョブ情報の中に含むジョブがあった場合は、ステップＳ１３１１でグループ情報のステータス１００３をスケジューリング待ちにして終了する。ステータス１００３がスケジューリング待ちになったグループのメンバジョブは、印刷システム（サーバ）７０８によって順次スケジューリングされ、ネットワークプリンタ７１０へ送信される。
【００４８】
ステップＳ１３０１で、スプーラ７０５から受け取ったジョブのジョブＩＤと一致するジョブ情報が、プリントキュー情報にないと判断された場合、ステップＳ１３０２で、プリントキュー情報のグルーピング中フラグ９０２がＯＮかどうか判断する。プリントキュー情報のグルーピング中フラグ９０２がＯＮの場合は、ステップＳ１３０４で、プリントキュー情報のグルーピング対象外リスト９０５にジョブＩＤが一致するジョブ情報があるかどうかを判断し、一致するジョブ情報がなければ取り出した印刷ジョブはグルーピングの対象となる印刷ジョブなので、ステップＳ１３０５へ進む。ステップＳ１３０４でプリントキュー情報のグルーピング対象外リスト９０５にジョブＩＤが一致するジョブ情報があると判断された場合は、ステップＳ１３０８でグルーピング対象外ジョブリスト９０５からジョブ情報を削除して終了する。
【００４９】
このようにステップＳ１３０４の判断処理では、グルーピング対象外リストを予め認識しているので、グルーピング終了指示を受け付ける前、即ち、未だグルーピング対象リストが完全に決定されていないような状態でスプーラから印刷ジョブを受け取った場合にでも、受け取った印刷ジョブをグループジョブの対象とするか否かを、グルーピング終了指示に対応するグルーピング開始指示がなされた際にスプールされていた印刷ジョブ（グルーピング対象外リスト）であるか否かに基づいて決定することができ、グルーピング対象外リストに含まれるジョブでなければグルーピング対象とすることが可能となる。これにより、印刷システムがアプリケーションからグルーピング開始・終了の指示を受け取るタイミングと、スプーラから印刷データを受け取るタイミングとが同期することなく、印刷アプリケーションがグルーピングするものとして出力した印刷ジョブと、印刷システムにグルーピングする印刷ジョブとを簡易な仕組みで一致させることが可能となる。
【００５０】
ステップＳ１３０２で、プリントキュー情報のグルーピング中フラグ９０２がＯＦＦと判断された場合、ステップＳ１３１０でプリントキュー情報のグルーピング対象リスト９０４内に、現在のグループジョブＩＤと一致するグループジョブＩＤをジョブ情報の中に含むジョブがあるかどうかを判断し、なければ終了する。現在のグループジョブＩＤと一致するグループジョブＩＤをジョブ情報の中に含むジョブがあった場合は、ステップＳ１３１１でグループ情報のステータス１００３をスケジューリング待ちにして終了する。ステータス１００３がスケジューリング待ちになったグループのメンバジョブは、印刷システム（サーバ）７０８によって順次スケジューリングされ、ネットワークプリンタ７１０へ送信される。
【００５１】
図１５は、図１２のステップＳ１２０４でグルーピング対象リストを作成する過程を説明する図である。ジョブリスト１５０１はグルーピング対象外リスト９０５に含まれるジョブのリストであり、ジョブリスト１５０２はスプーラ７０７から取得したジョブリストである。ジョブリスト１５０１と１５０２とを比較し、ジョブリスト１５０２に存在するジョブから、ジョブリスト１５０１に存在するジョブを除いてグルーピング対象となるジョブのリスト１５０３に加える。
【００５２】
このように図１５において説明した仕組みにより、本印刷システム（クライアント）７０７は、グルーピング終了指示がなされた際に、以前にグルーピング開始指示がされた際のスプーラ７０５へのジョブのスプール状況（どのようなジョブが蓄積されているか）と、グルーピング終了指示がされた際のスプーラ７０５へのスプール状況との差分を認識し、該認識した差分の印刷ジョブを対象としてグルーピング対象リスト決定することができ、印刷システムがアプリケーションからグルーピング開始・終了の指示を受け取るタイミングと、スプーラから印刷データを受け取るタイミングとにずれがあったとしても、印刷アプリケーションがグルーピングするものとして出力した印刷ジョブと、印刷システムにグルーピングする印刷ジョブとを簡易な仕組みで一致させることが可能となる。
【００５３】
また、更なる応用例として、図１５及び図１５に関連した処理を、例えば、印刷サーバＰＣ１０１のハードディスク等に処理させるような事も想定される。詳しくは、本印刷システム（クライアント）７０７を機能を印刷サーバＰＣ１０１に備えることにより、印刷サーバＰＣ１０１からグルーピング印刷指示元である情報処理装置のスプール状況を閲覧する手段を備えることによって実現される。
【００５４】
また、印刷サーバＰＣ１０１のハードディスク等に記憶された複数のアプリケーションデータ（ワープロソフトで作成されたデータや画像データやＥＭＦ中間形式ファイル等）を外部の情報処理装置からグルーピング印刷指示を行うような形態なども想定され、この場合には、外部の情報処理装置には印刷サーバＰＣ１０１に印刷指示を行う機能が備えられていれば良く、また、印刷サーバＰＣ１０１には外部の情報処理装置からの印刷指示に基づいて、記憶されたアプリケーションデータをプリンタドライバが解釈可能な印刷命令（デバイス依存の描画関数）に変換し、さらに該変換された印刷命令をプリンタドライバ機能によりプリンタが解釈可能な印刷データに変換してプリンタデバイスに印刷を実行させる。また、この場合には、印刷サーバＰＣ１０１と外部の情報処理装置とはＬＡＮや、インターネット通信回線を介して通信可能とされていることが想定される。
【００５５】
以上のようにして、印刷システム（クライアント）７０７により、グループ化の開始を指示された時点における印刷ジョブ群を、グループ化の終了を指示された時点における印刷ジョブ群から除き、その結果残った印刷ジョブ群をグループのメンバジョブとして登録することで、アプリケーションから指定されたグループ化する印刷ジョブを、指定されたとおりにグループ化し、出力することができる。
【００５６】
以上説明したように、本発明によれば、印刷アプリケーションが印刷システムにグルーピング開始を指示してグルーピング終了を指示するまでの間にグルーピングしたい印刷ジョブをスプーラへ投入することで、印刷システムは、アプリケーションが指定した通りの印刷ジョブをグループ化することができる。
【００５７】
また、グループ化した印刷ジョブをメンバジョブとするグループジョブを作成することができる。
【００５８】
また、グルーピング開始指示から終了指示の間に印刷ジョブをスプーラから受け取った場合には、その印刷ジョブがグルーピング開始指示以前にスプールされていた印刷ジョブでなければ、その印刷ジョブについても、グループジョブのメンバジョブに付加することができる。
【００５９】
また、グルーピング終了指示を受けた後に、スプーラからグループジョブのメンバジョブである印刷ジョブを受け取った場合には、その印刷ジョブをスケジュールすることができる。
【００６０】
【発明の効果】
以上説明したように、本発明によれば、印刷システムにグルーピング開始指示及びグルーピング終了指示がなされるまでの間にグルーピングしたい印刷ジョブをスプーラへ投入することで、印刷システムは、指定された通りの印刷ジョブをグループ化することができる。
【００６１】
また、グループ化した印刷ジョブをメンバジョブとするグループジョブを作成することができる。
【００６２】
また、グルーピング開始指示から終了指示の間に印刷ジョブをスプーラから受け取った場合には、その印刷ジョブがグルーピング開始指示以前にスプールされていた印刷ジョブでなければ、その印刷ジョブについても、グループジョブのメンバジョブに付加することができる。
【００６３】
また、グルーピング終了指示を受けた後に、スプーラからグループジョブのメンバジョブである印刷ジョブを受け取った場合には、その印刷ジョブをスケジュールすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る印刷システムを適用するネットワークシステムの構成を示すブロック図である。
【図２】本発明の実施の形態に係るサーバ、および、クライアントコンピュータの概略構成図を示すブロック図である。
【図３】本発明の実施の形態に係るサーバ、または、クライアントコンピュータに対しＦＤからプログラムが供給される概念を示す説明図である。
【図４】本発明の実施の形態に係るサーバ、および、クライアントコンピュータのＦＤ内部のデータを示す説明図である。
【図５】本発明の実施の形態に係るサーバ、および、クライアントコンピュータのＲＡＭにＦＤからプログラムを展開したときのメモリマップを示す説明図である。
【図６】本発明の実施の形態に係るプリンタの概略構成を示すブロック図である。
【図７】本発明の実施の形態に係るクライアントＰＣおよびサーバＰＣのソフトウェアモジュール構成を表した図である。
【図８】本発明の実施の形態に係る印刷ジョブ情報を示す説明図である。
【図９】本発明の実施の形態に係るプリントキュー情報を示す説明図である。
【図１０】本発明の実施の形態に係るグループ情報を示す説明図である。
【図１１】本発明の実施の形態に係る印刷システム（クライアント）が、印刷アプリケーションからグルーピング開始の指示を受けた際に行なう処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態に係る印刷システム（クライアント）が、印刷アプリケーションからグルーピング終了の指示を受けた際に行なう処理の流れを示すフローチャートである。
【図１３】本発明の実施の形態に係る印刷システム（クライアント）が、ＯＳのスプーラから印刷命令を受け取った際に行なう処理の流れを示すフローチャートである。
【図１４】本発明の実施の形態に係る印刷システム（クライアント）が、ＯＳのスプーラから印刷命令を受け取った際に行なう処理の流れを示すフローチャートである。
【図１５】本発明の実施の形態に係る印刷システム（クライアント）が、グルーピング対象リストを作成する過程を示す説明図である。
【符号の説明】
１０１  …  サーバ
１０２〜１０４  …  クライアントコンピュータ
１０５  …  ネットワークプリンタ
１０６  …  ネットワーク
【図１】
0003634785.tif 000002
【図２】
0003634785.tif 000003
【図３】
0003634785.tif 000004
【図４】
0003634785.tif 000005
【図５】
0003634785.tif 000006
【図６】
0003634785.tif 000007
【図７】
0003634785.tif 000008
【図８】
0003634785.tif 000009
【図９】
0003634785.tif 000010
【図１０】
0003634785.tif 000011
【図１１】
0003634785.tif 000012
【図１２】
0003634785.tif 000013
【図１３】
0003634785.tif 000014
【図１４】
0003634785.tif 000015
【図１５】
0003634785.tif 000016