(57)【特許請求の範囲】
【請求項１】
複数の業務アプリケーションで生成される印刷ジョブを出力するそれぞれの外部装置が接続されているネットワークに接続されており、当該外部装置から出力された印刷ジョブを、当該ネットワークを介して受信可能なサーバ装置であって、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に設けられている処理キューのうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている処理キューに登録する登録手段と、
前記ネットワークを介して受信した印刷ジョブを、出力先の印刷装置に適したデータ形式に変換する処理を行う、前記業務アプリケーション毎に設けられている変換手段と、
前記業務アプリケーション毎の処理キューを監視し、該処理キューに印刷ジョブが登録された場合、当該印刷ジョブを、前記サーバ装置が受信した順に印刷ジョブを統合して管理するための統合処理キューとして登録し、該統合処理キューとして登録されている印刷ジョブ群から、前記サーバ装置が受信した順に、変換対象の印刷ジョブを選択する印刷データ管理手段と、
前記データ管理手段による選択印刷ジョブを、該選択印刷ジョブを生成した業務アプリケーションに対して設けられている前記選択印刷ジョブ用の変換手段、に対して送出する送出手段と、
前記選択印刷ジョブ用の変換手段が動作中であるか否かを判定する判定手段とを備え、
前記送出手段は、
前記選択印刷ジョブ用の変換手段が、前記判定手段により動作中でないと判定され、且つ前記選択印刷ジョブが、前記統合処理キューとして登録されていて状態が未処理である印刷ジョブのうち前記選択印刷ジョブと同一の出力先である印刷ジョブの先頭であった場合には、前記選択印刷ジョブを前記選択印刷ジョブ用の変換手段へ送出し、一方、前記判定手段により動作中でないと判定されかつ、前記選択印刷ジョブが前記先頭でない場合は、前記選択印刷ジョブの送出は行わない
ことを特徴とするサーバ装置。
【請求項２】
前記印刷データ管理手段は、出力先の印刷装置が複数存在する場合、前記統合処理キューとしての印刷ジョブを、出力先の印刷装置毎にグループ分けして登録し、グループ毎に変換対象の印刷ジョブを選択し、
前記送出手段は、グループ毎に選択された選択印刷ジョブを、該選択印刷ジョブを生成した業務アプリケーションに対して設けられている選択印刷ジョブ用の変換手段、に対して送出する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
複数の業務アプリケーションで生成される印刷ジョブを出力するそれぞれの外部装置が接続されているネットワークに接続されており、当該外部装置から出力された印刷ジョブを、当該ネットワークを介して受信可能なサーバ装置の制御方法であって、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に設けられている処理キューのうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている処理キューに登録する登録工程と、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に前記サーバ装置に設けられている、出力先の印刷装置に適したデータ形式に変換する処理を行う変換手段のうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている変換手段で変換する変換工程と、
前記業務アプリケーション毎の処理キューを監視し、該処理キューに印刷ジョブが登録された場合、当該印刷ジョブを、前記サーバ装置が受信した順に印刷ジョブを統合して管理するための統合処理キューとして登録し、該統合処理キューとして登録されている印刷ジョブ群から、前記サーバ装置が受信した順に、変換対象の印刷ジョブを選択する印刷データ管理工程と、
前記データ管理工程による選択印刷ジョブを、該選択印刷ジョブを生成した業務アプリケーションに対して設けられている前記選択印刷ジョブ用の変換手段、に対して送出する送出工程と、
前記選択印刷ジョブ用の変換手段が動作中であるか否かを判定する判定工程とを備え、
前記送出工程では、
前記選択印刷ジョブ用の変換手段が、前記判定工程で動作中でないと判定され、且つ前記選択印刷ジョブが、前記統合処理キューとして登録されていて状態が未処理である印刷ジョブのうち前記選択印刷ジョブと同一の出力先である印刷ジョブの先頭であった場合には、前記選択印刷ジョブを前記選択印刷ジョブ用の変換手段へ送出し、一方、前記判定工程で動作中でないと判定されかつ、前記選択印刷ジョブが前記先頭でない場合は、前記選択印刷ジョブの送出は行わない
ことを特徴とするサーバ装置の制御方法。
【請求項４】
コンピュータを、請求項１又は２に記載のサーバ装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項５】
請求項４に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から受信した印刷対象データを処理するための技術に関するものである。
【背景技術】
【０００２】
プリントサーバは印刷処理を行うのみではなく、ジョブの出力順序を管理することが必要である。そこで、転送された出力データの形式毎、若しくはアクセス権を管理する単位（この単位を以降区画と表記する）でキューを持ち、出力順序の管理を行うことが必要となる。また、プリンタのパフォーマンスを考慮し、効率的にプリンタに出力を行わせる処理も求められる。
【０００３】
その実現例として、従来より、Windows（登録商標）サーバやUNIX（登録商標）サーバ、及びメインフレーム等のマルチプラットフォームからの印刷データを受信し、そのデータをデータの種別毎、及び出力業務毎（例えば人事業務や経理業務etc）に区画分けして出力管理を行っているようなシステムがある。
【０００４】
このようなシステムにおいて、処理要求があった順番に各区画の処理キュー内の印刷データを参照し、その順番で変換プログラムが走り、プリンタへの出力が行われる。出力の順番がきたところで、プリンタ出力用の変換プログラムが起動するようになっている。
【０００５】
図８は、ある区画の処理キューの内容を示す従来のＧＵＩの表示例を示す図である。同図では「PPADEMO-URIAGEC_0001」成る名称の印刷ジョブが先頭にあるため、まずこのデータから変換処理が行われる。その後は同図ＧＵＩに表示されている上のジョブから順に変換処理が行われる。この場合、他の区画で同一の出力先を対象とした変換処理があってもその事象は感知しない。
【０００６】
しかし、この構成では異なるデータ種別のデータ間、出力業務間での印刷順序は不定となってしまう。例えば、図１１に示す如く、PPADEMO-URIAGE_0001A(A)、PPADEMO-URIAGE_0002B(B)が同じ区画（売上業務区画）、PPADEMO-JINJI_0003C(C)とPPADEMO-JINJI_0004D(D)が同じ区画（人事業務区画）であり、プリントサーバが受信した順番が(A),(B),(C),(D)であった場合を考える。このとき、データ(A)のサイズが大きく変換処理に時間がかかる場合、その間にデータ(C)、データ(D)の変換処理が終ってしまう。このときプリンタへ出力される順番は(A), (C),(D) ,(B)となってしまい、受信した順序と異なってしまう。
【０００７】
同じように印刷プログラムの順番を制御するシステムとして、例えば、特許文献１には印刷順序を制御するシステムが開示されている。しかしながら、特許文献１に記載のシステムは、事前にデータの出力順序を定義し、その定義どおりの順序で出力するシステムであり、定義されたデータがすべて揃ってから出力を開始する処理を行っている。従って、データを受信した時点で変換を始めるような本システムでは印刷順を守ることはできないという問題があった。
【０００８】
また、接続されたプリンタの台数やパフォーマンスを考慮して、同時に出力を行うデータの個数などについての制御がなく、プリントサーバの能力を超えて処理を行ってしまったような場合では、処理能力が低下してしまうという問題点があった。
【特許文献１】特開２００１−０７５７６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は以上の問題に鑑みて成されたものであり、印刷対象のデータを受信した場合には、そのサイズや種類などに関係なく、受信した順に印刷を可能にするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明のサーバ装置は以下の構成を備える。
【００１１】
即ち、複数の業務アプリケーションで生成される印刷ジョブを出力するそれぞれの外部装置が接続されているネットワークに接続されており、当該外部装置から出力された印刷ジョブを、当該ネットワークを介して受信可能なサーバ装置であって、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に設けられている処理キューのうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている処理キューに登録する登録手段と、
前記ネットワークを介して受信した印刷ジョブを、出力先の印刷装置に適したデータ形式に変換する処理を行う、前記業務アプリケーション毎に設けられている変換手段と、
前記業務アプリケーション毎の処理キューを監視し、該処理キューに印刷ジョブが登録された場合、当該印刷ジョブを、前記サーバ装置が受信した順に印刷ジョブを統合して管理するための統合処理キューとして登録し、該統合処理キューとして登録されている印刷ジョブ群から、前記サーバ装置が受信した順に、変換対象の印刷ジョブを選択する印刷データ管理手段と、
前記データ管理手段による選択印刷ジョブを、該選択印刷ジョブを生成した業務アプリケーションに対して設けられている前記選択印刷ジョブ用の変換手段、に対して送出する送出手段と、
前記選択印刷ジョブ用の変換手段が動作中であるか否かを判定する判定手段とを備え、
前記送出手段は、
前記選択印刷ジョブ用の変換手段が、前記判定手段により動作中でないと判定され、且つ前記選択印刷ジョブが、前記統合処理キューとして登録されていて状態が未処理である印刷ジョブのうち前記選択印刷ジョブと同一の出力先である印刷ジョブの先頭であった場合には、前記選択印刷ジョブを前記選択印刷ジョブ用の変換手段へ送出し、一方、前記判定手段により動作中でないと判定されかつ、前記選択印刷ジョブが前記先頭でない場合は、前記選択印刷ジョブの送出は行わない
ことを特徴とする。
【００１２】
本発明の目的を達成するために、例えば、本発明のサーバ装置の制御方法は以下の構成を備える。
【００１３】
即ち、複数の業務アプリケーションで生成される印刷ジョブを出力するそれぞれの外部装置が接続されているネットワークに接続されており、当該外部装置から出力された印刷ジョブを、当該ネットワークを介して受信可能なサーバ装置の制御方法であって、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に設けられている処理キューのうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている処理キューに登録する登録工程と、
前記ネットワークを介して受信した印刷ジョブを、前記業務アプリケーション毎に前記サーバ装置に設けられている、出力先の印刷装置に適したデータ形式に変換する処理を行う変換手段のうち、該受信した印刷ジョブを生成した業務アプリケーションに対して設けられている変換手段で変換する変換工程と、
前記業務アプリケーション毎の処理キューを監視し、該処理キューに印刷ジョブが登録された場合、当該印刷ジョブを、前記サーバ装置が受信した順に印刷ジョブを統合して管理するための統合処理キューとして登録し、該統合処理キューとして登録されている印刷ジョブ群から、前記サーバ装置が受信した順に、変換対象の印刷ジョブを選択する印刷データ管理工程と、
前記データ管理工程による選択印刷ジョブを、該選択印刷ジョブを生成した業務アプリケーションに対して設けられている前記選択印刷ジョブ用の変換手段、に対して送出する送出工程と、
前記選択印刷ジョブ用の変換手段が動作中であるか否かを判定する判定工程とを備え、
前記送出工程では、
前記選択印刷ジョブ用の変換手段が、前記判定工程で動作中でないと判定され、且つ前記選択印刷ジョブが、前記統合処理キューとして登録されていて状態が未処理である印刷ジョブのうち前記選択印刷ジョブと同一の出力先である印刷ジョブの先頭であった場合には、前記選択印刷ジョブを前記選択印刷ジョブ用の変換手段へ送出し、一方、前記判定工程で動作中でないと判定されかつ、前記選択印刷ジョブが前記先頭でない場合は、前記選択印刷ジョブの送出は行わない
ことを特徴とする。
【発明の効果】
【００１４】
本発明の構成により、印刷対象のデータを受信した場合には、そのサイズや種類などに関係なく、受信した順に印刷を可能にすることができる。
【発明を実施するための最良の形態】
【００１５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１６】
［第１の実施形態］
図１は、本実施形態に係るシステムの概略構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、ホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２、クライアントＰＣ１０５、プリントサーバ１０３、印刷装置１０４により構成されている。
【００１７】
ホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２は、一般のＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等により構成されており、印刷対象のデータ（印刷ジョブ）を作成するためのアプリケーションを保持している。ホストコンピュータ１０１（若しくはＵＮＩＸ（登録商標）サーバ１０２）の操作者がこのアプリケーションを用いて印刷対象のデータを作成し、その後、この印刷対象のデータに基づいた印刷を印刷装置１０４によって印刷させる旨の指示を入力した場合には、この印刷対象のデータは、ネットワーク１０６を介してプリントサーバ１０３に送出される。
【００１８】
従って、印刷対象のデータを作成し、プリントサーバ１０３に対して送出可能な装置であれば、ホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２以外の装置を用いても良いので、その台数や装置の種類などについては特に限定するものではない。
【００１９】
プリントサーバ１０３は、外部（本実施形態の場合には、ホストコンピュータ１０１やＵＮＩＸ（登録商標）サーバ１０２）から受信した印刷対象データを受け、これを印刷装置１０４に適したデータ形式に変換し、その後、印刷装置１０４に送出する処理を行うものである。プリントサーバ１０３が行う処理について、詳しくは後述する。
【００２０】
印刷装置１０４は、プリンタや複合機などの装置により構成されており、プリントサーバ１０３から受信したデータに基づいて、紙やＯＨＰなどの記録媒体上に画像や文字の記録処理を行う。記録方法については特に限定するものではなく、インクジェット方式、レーザビーム方式、熱転写方式等、各種の記録方式の何れを用いても良い。なお、印刷装置１０４の動作状況など、印刷装置１０４の状況については、適宜プリントサーバ１０３が監視している。
【００２１】
クライアントＰＣ１０５は、プリントサーバ１０３の状況を監視し、クライアントＰＣ１０５が有する表示装置の表示画面上にその監視した状況を適宜表示するものである。プリントサーバ１０３における処理状況や印刷結果などについては、プリントサーバ１０３が適宜クライアントＰＣ１０５に対して送信しているので、クライアントＰＣ１０５はこの送信された処理状況や印刷結果などを表示装置の表示画面上に表示する処理を行う。もちろん、ホストコンピュータ１０１やＵＮＩＸ（登録商標）サーバ１０２と同様に、印刷対象データを作成してプリントサーバ１０３に対して送出しても良い。
【００２２】
ネットワーク１０６は、インターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等の何れか、若しくはその組み合わせにより構成されているものであり、上述の各装置間におけるデータ通信を実現するものである。即ち、上述の各装置はこのネットワーク１０６に接続されていることになる。なお、このネットワーク１０６については無線、有線は特には問わない。
【００２３】
図２は、プリントサーバ１０３に適用可能なコンピュータのハードウェア構成を示す図である。なお、本実施形態ではホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２、クライアントＰＣ１０５についてもプリントサーバ１０３と同様の構成を有しているものとして説明するが、以下説明する各処理が実現可能で有れば、適宜変更しても良い。
【００２４】
２１はＣＰＵで、ＲＡＭ２２やＲＯＭ２３に格納されているプログラムやデータを用いて、本コンピュータ全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。
【００２５】
２２はＲＡＭで、ハードディスク２８やＣＤ−ＲＯＭドライブ２９からロードされたプログラムやデータ、ＮＩＣ（ネットワークインターフェース）２４を介して外部から入力されたプログラムやデータを一時的に記憶するためのエリア、ＣＰＵ２１が各種の処理を実行する際に用いるワークエリア等のエリアを適宜提供することができる。
【００２６】
２３はＲＯＭで、本コンピュータの設定データやブートプログラムなどを格納する。
【００２７】
２４はＮＩＣで、本コンピュータを上記ネットワーク１０６に接続するためのインターフェースとして機能するものであり、本コンピュータはこのＮＩＣ２４を介してネットワーク１０６上に接続されている各装置とのデータ通信を行うことができる。
【００２８】
２６は入力部の一例としてのキーボード、２７は入力部の一例としてのマウスで、それぞれは本コンピュータの操作者が操作することで各種の指示をＣＰＵ２１に対して入力することができる。なお、本コンピュータをホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２、クライアントＰＣ１０５等に適用した場合には、操作者はこの入力部２６，２７を用いてアプリケーションを操作し、印刷対象データを作成することになる。
【００２９】
２８はハードディスクで、ＯＳ（オペレーティングシステム）や、本コンピュータを適用した装置が行うべき後述の各処理をＣＰＵ２１に実行させるためのプログラムやデータが保存されており、これらはＣＰＵ２１による制御に従って適宜ＲＡＭ２２にロードされる。
【００３０】
２９はＣＤ−ＲＯＭドライブで、記憶媒体の一例としてのＣＤ−ＲＯＭに記録されているプログラムやデータを読み出し、ハードディスク２８やＲＡＭ２２等に出力する。なお、ハードディスク２８に保存されている上記各種のプログラムやデータの一部をＣＤ−ＲＯＭに記録しておき、記録されたプログラムやデータをＣＤ−ＲＯＭドライブ２９によって適宜ＲＡＭ２２にロードするようにしても良い。なお、上述の通り、ＣＤ−ＲＯＭは記憶媒体の一例として用いているのみであって、本実施形態に適用可能な記憶媒体については特に限定するものではない。
【００３１】
２０はシステムバスで、例えば、ＰＣＩバス、ＡＧＰバス、メモリバス等により構成されている。なお、同図では、各バス間の接続用チップやキーボードインタフェースやいわゆるＳＣＳＩやＡＴＡＰＩのような入出力用インタフェースは省略されている。
【００３２】
図３は、プリントサーバ１０３の機能構成、及びその周辺環境を示すブロック図である。同図において３０１，３０２はそれぞれ教務Ａ用アプリケーション、業務Ｂ用アプリケーションで、それぞれ異なる業務におけるデータを作成するためのものである。業務Ａ用アプリケーション３０１，業務Ｂ用アプリケーション３０２は本実施形態の場合、ホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２の何れかにインストールされているものであり、ホストコンピュータ１０１、ＵＮＩＸ（登録商標）サーバ１０２の何れかの操作者が操作することで、それぞれの業務に応じたデータを作成することができる。
【００３３】
ここで、それぞれのアプリケーションを操作することによって、作成したデータを印刷するための指示をプリントサーバ１０３に送出することができる。例えば、業務Ａ用アプリケーション３０１がホストコンピュータ１０１にインストールされている場合には、ホストコンピュータ１０１の操作者がこの業務Ａ用アプリケーション３０１を操作することで業務Ａ用のデータを作成することができるし、このデータを印刷装置１０４にて印刷したい場合には、その旨をホストコンピュータ１０１に備わっているキーボードやマウスを用いて入力すれば、このデータをプリントサーバ１０３に送出することができる。これについては業務Ｂ用アプリケーション３０２についても同様であるし、それぞれのアプリケーションがどのような装置にインストールされていても同様である。
【００３４】
次に、プリントサーバ１０３の機能構成について説明する。同図に示す如く、プリントサーバ１０３は、プリントデータ管理部３０３、業務Ａ用処理キュー３０６、業務Ｂ用処理キュー３０７、統合処理キュー３１２、印刷データ管理部３１３、変換プログラム３０８，３０９により構成されている。また、プリントデータ管理部３０３は、業務Ａ用管理テーブル３０４、業務Ｂ用管理テーブル３０５により構成されている。
【００３５】
ここで、業務Ａ用管理テーブル３０４、業務Ａ用処理キュー３０６、変換プログラム３０８のセットについては、業務Ａ用アプリケーション３０１から送出される業務Ａ用印刷ジョブを処理すべく設けられているものであり、業務Ｂ用管理テーブル３０５、業務Ｂ用処理キュー３０７、変換プログラム３０９のセットについては、業務Ｂ用アプリケーション３０２から送出される業務Ｂ用印刷ジョブを処理すべく設けられているものである。
【００３６】
本実施形態に係るプリントサーバ１０３は、これらの各部に加えて、統合処理キュー３１２、印刷データ管理部３１３を設けている。以下、プリントサーバ１０３を構成するこれら各部の動作について説明する。
【００３７】
プリントデータ管理部３０３は、業務Ａ用アプリケーション３０１から送出された業務Ａ用印刷ジョブを受けると、これを業務Ａ用管理テーブル３０４に登録すると共に、業務Ａ用処理キュー３０６に送出する。図９は、業務Ａ用管理テーブル３０４の構成例を示す図である。業務Ａ用管理テーブル３０４は同図に示す如く、業務Ａ用印刷ジョブのジョブ名（データ名）、ジョブの出力先（本実施形態の場合、印刷装置１０４）、状態（処理中、若しくは処理待ち）、印刷開始時間、印刷終了時間を管理している。
【００３８】
また、プリントデータ管理部３０３は、業務Ｂ用アプリケーション３０２から送出された業務Ｂ用印刷ジョブを受けると、これを業務Ｂ用管理テーブル３０５に登録すると共に、業務Ｂ用処理キュー３０７に送出する。なお、業務Ｂ用管理テーブル３０５の構成については、業務Ａ用管理テーブル３０４と同様のものであるとする。
【００３９】
業務Ａ用処理キュー３０６は、業務Ａ用管理テーブル３０４から送出されたジョブ（業務Ａ用印刷ジョブ）を保持するためのキューであり、このキューには業務Ａ用印刷ジョブが、業務Ａ用アプリケーション３０１から送出された順に登録される。図１０は、業務Ａ用処理キュー３０６の構成例を示す図で、同図に示す如く、業務Ａ用処理キュー３０６には、業務Ａ用印刷ジョブのジョブ名（データ名）、ジョブの出力先（本実施形態の場合、印刷装置１０４）、状態が管理されている。
【００４０】
一方、業務Ｂ用処理キュー３０７についてもその動作は同様である。即ち、業務Ｂ用処理キュー３０７は、業務Ｂ用管理テーブル３０５から送出されたジョブ（業務Ｂ用印刷ジョブ）を保持するためのキューであり、このキューには業務Ｂ用印刷ジョブが、業務Ｂ用アプリケーション３０２から送出された順に登録される。
【００４１】
印刷データ管理部３１３は、常に業務Ａ用処理キュー３０６、業務Ｂ用処理キュー３０７を監視しており、新たにジョブがキューに投入された場合には、その投入されたジョブを統合処理キュー３１２に投入する処理を行う。即ち、印刷データ管理部３１３は、業務Ａ用印刷ジョブ、業務Ｂ用印刷ジョブを問わず、プリントサーバ１０３に投入された順（受信順）に印刷ジョブを統合処理キュー３１２に投入する。これにより、統合処理キュー３１２には、プリントサーバ１０３に投入された順に印刷ジョブが登録されていることになる。
【００４２】
図５は、統合処理キュー３１２の構成例を示す図で、同図に示す如く、統合処理キュー３１２には、印刷ジョブの名前（データ名）、この印刷ジョブが業務Ａ用印刷ジョブか業務Ｂ用印刷ジョブであるのかを示す区画ＩＤ、出力先印刷装置のセットが印刷ジョブ毎に登録されている。
【００４３】
更に、印刷データ管理部３１３は、業務Ａ用印刷ジョブについては変換プログラム３０８へ、業務Ｂ用印刷ジョブについては変換プログラム３０９に送出する。変換プログラム３０８、変換プログラム３０９はそれぞれ、受けた印刷ジョブを出力先の印刷装置に適したデータ形式に変換する処理を行う。なお、変換プログラム３０８、３０９は１つのジョブの変換処理が終わってから次のジョブの変換処理を行う。
【００４４】
そして、変換プログラム３０８、３０９は変換後のデータを指定された印刷装置（本実施形態の場合、印刷装置１０４）に送出する。なお、変換プログラム３０８、３０９は、変換処理が終了した後、若しくは変換後のデータを印刷装置に送出した後に、この変換した印刷ジョブの元データを、この元データを保持しているキューから削除するよう、印刷データ管理部３１３に通知する。従って、印刷データ管理部３１３は、この通知を受けると、指示された印刷ジョブを、この印刷ジョブを保持しているキューから削除する処理を行う。
【００４５】
一方、印刷装置１０４は、変換済みのデータを受けると、受けたデータに従って、紙やＯＨＰなどの記録媒体上に画像や文字などの記録を行う。
【００４６】
図４は、上記印刷データ管理部３１３が行う処理の詳細を示すフローチャートである。
【００４７】
上述の通り、印刷データ管理部３１３は常に、業務Ａ用処理キュー３０６、業務Ｂ用処理キュー３０７を監視することで、印刷ジョブの投入を監視している。更に、上述の通り、印刷データ管理部３１３は、変換プログラム３０８、３０９が変換処理を終了させた印刷ジョブの元データを、この元データを保持しているキューから削除するための通知を受け付けている。
【００４８】
従って、業務Ａ用処理キュー３０６、業務Ｂ用処理キュー３０７の何れかに印刷ジョブが投入されたことを印刷データ管理部３１３が検知した場合、即ち、この投入された印刷ジョブを統合処理キュー３１２に投入する要求が発生した場合には、処理をステップＳ４０２を介してステップＳ４０３に進め、この投入された印刷ジョブを、統合処理キュー３１２が保持する印刷ジョブ群の最後尾に追加する処理を行う（ステップＳ４０３）。
【００４９】
一方、変換プログラム３０８、３０９の何れかから、変換が終了した印刷ジョブの元データを、この元データを保持するキューから削除する旨の通知を受けた場合には、処理をステップＳ４０２を介してステップＳ４０４に進め、削除通知を受けた元データを、この元データを保持しているキューから削除する処理を行う（ステップＳ４０４）。
【００５０】
更に、現在変換プログラム３０８、３０９のそれぞれによって処理されている印刷ジョブの合計数（同時変換数）から１つデクリメントする（ステップＳ４０５）。本実施形態では１つの変換プログラムは一度に１つの印刷ジョブしか変換できないとしているが、複数個の印刷ジョブを並列に処理可能としても良い。
【００５１】
次に、印刷データ管理部３１３は同時変換数と、変換プログラム３０８、３０９によって処理可能な印刷ジョブの合計数の最大数（同時変換可能数）とを比較する（ステップＳ４０６）。
【００５２】
この比較処理の結果、同時変換数≧同時変換可能数である場合、即ち、変換プログラム３０８、３０９が共に、更なる印刷ジョブの変換処理ができない状態である場合には本処理を終了するのであるが、同時変換数＜同時変換可能数である場合には、処理をステップＳ４０７に進め、統合処理キュー３１２の先頭の印刷ジョブ、即ち、現在統合処理キュー３１２に格納されている印刷ジョブのうち、最も古い時刻に投入（登録）された印刷ジョブを参照する（ステップＳ４０７）。
【００５３】
そして、この先頭の印刷ジョブの「状態」が「変換処理中」であるのか否かをチェックする（ステップＳ４０８）。例えば、この先頭の印刷ジョブが業務Ａ用印刷ジョブである場合には、図１０に例示した構成を有する業務Ａ用処理キュー３０６を参照し、この印刷ジョブの「状態」を参照する。
【００５４】
この「状態」は、変換プログラム３０８、３０９が変換処理を行っているか否かを示すもので、例えば、データ名が「ＡＡＡＤＡＴＡ０１」である印刷ジョブを変換プログラム３０８が変換している最中である場合には、変換プログラム３０８はこの印刷ジョブを変換している最中である旨を印刷データ管理部３１３に通知するので、印刷データ管理部３１３は、その旨を業務Ａ用管理テーブル３０４、業務Ａ用処理キュー３０６で管理されているこの印刷ジョブの「状態」に書き込む。もちろん、この「状態」は、未だ変換処理される前である場合には「処理待ち」と設定されている。
【００５５】
そして、このチェックの結果、「変換処理中」である場合には、処理をステップＳ４１０に進め、現在統合処理キュー３１２に格納されている印刷ジョブのうち、２番目に古い時刻に投入された印刷ジョブを参照し（ステップＳ４１０）、処理をステップＳ４１３に進める。
【００５６】
一方、参照した印刷ジョブの状態が「変換処理中」ではない（「処理待ち」である）場合には処理をステップＳ４０９に進め、参照中の印刷ジョブを変換する変換プログラムが現在動作中であるのか否かをチェックする（ステップＳ４０９）。即ち、本実施形態では、変換プログラムは一度に１つの印刷ジョブしか変換することができないため、現在１つの印刷ジョブを変換しているような状態では、次の印刷ジョブは、現在変換している印刷ジョブの変換処理が終了してからでないと、変換することができない。また参照中の印刷ジョブが出力すべき印刷装置に対して、すでに他の印刷ジョブが変換処理中であったり、参照中の印刷ジョブより前にキューに入っている印刷ジョブがあった場合、印刷順序を考慮し変換処理は行わない。
【００５７】
そこで、本実施形態の場合には、参照中の印刷ジョブが変換可能であるのか否かをチェックするためには、参照中の印刷ジョブを変換する変換プログラムが現在変換処理中であるのか否かをチェックする。さらにはキュー内で出力先として指示されている印刷装置が同一の印刷ジョブの中で先頭かどうかチェックする。
【００５８】
そして、参照中の印刷ジョブを変換する変換プログラムが現在変換処理中である場合には処理をステップＳ４１０へ移し、キューの次のデータを参照する（ステップＳ４１０）。そして次に、キュー内に次のジョブが存在するかを確認する（ステップＳ４１３）。ここでキュー内に参照中の印刷ジョブの後にジョブがなければ変換可能な印刷ジョブを決定する処理を終了する。一方、ジョブがあれば処理をステップＳ４０８に戻し、キューの次のデータを参照する。
【００５９】
一方、参照中の印刷ジョブを変換する変換プログラムが現在変換処理中ではない場合には処理をステップＳ４１１に進め、同時変換数を１つインクリメントする（ステップＳ４１１）。そして、参照中の印刷ジョブを、この印刷ジョブを変換する変換プログラムに送出する（ステップＳ４１２）。なお、どの印刷ジョブをどの変換プログラムに渡すのかについては、例えば、印刷ジョブのヘッダに、変換処理で用いるプログラム名を記しておくようにしても良いし、第３の実施形態でも説明するように、ジョブ名から特定可能なように、予め設定しておいても良い。
【００６０】
以上の処理により、印刷ジョブを受信した順に変換し、印刷装置に対して送出することができる。
【００６１】
ここで、１つの変換プログラムが複数の印刷ジョブの変換処理を並行して行うことができるので有れば、ステップＳ４０９では、先頭の印刷ジョブを変換する変換プログラムが現在変換している印刷ジョブの数が、規定数以上であるか否かをチェックし、規定数よりも少ないので有れば、処理をステップＳ４１１に進めるようにすればよい。
【００６２】
なお、図３に示したプリントサーバ１０３を構成する各部についてであるが、テーブル、処理キューに関してはＲＡＭ２２内、若しくはハードディスク２８内に設けるようにすればよいし、印刷データ管理部３１３、変換プログラム３０８、３０９に関してはプログラムの形態でもって実装し、ＣＰＵ２１がこのプログラムを実行するようにすればよい。この場合、図４のフローチャートに従った処理をＣＰＵ２１に実行させるためのプログラムやデータ（図３に示したプリントサーバ１０３を構成する各部の機能を実現するためのプログラムやデータ）は、ハードディスク２８内に保持されており、これはＣＰＵ２１による制御に従って適宜ＲＡＭ２２にロードされる。そして、ＣＰＵ２１がこのプログラムやデータを用いて処理を実行することで、プリントサーバ１０３は、図４に示したフローチャートに従った処理を実行することになる。
【００６３】
［第２の実施形態］
第１の実施形態では、印刷ジョブの供給元を業務Ａ用アプリケーション、業務Ｂ用アプリケーションの２つとし、更に、印刷装置を１つ（印刷装置１０４）とした場合について説明したが、それぞれの数はこれに限定するものではなく、それぞれがいくつの場合についても、第１の実施形態に係る処理の本質は同じである。
【００６４】
図６は、業務Ａ用アプリケーション、業務Ｂ用アプリケーションのそれぞれから受けた印刷ジョブを印刷装置１，２の何れかに出力する構成における統合処理キュー３１２の構成例を示す図である。
【００６５】
図７は、業務Ａ用アプリケーション、業務Ｂ用アプリケーション、業務Ｃ用アプリケーション、業務Ｄ用アプリケーション、業務Ｅ用アプリケーション、業務Ｆ用アプリケーションのそれぞれから送出された印刷ジョブを印刷装置１〜印刷装置４の何れかに送出する場合の統合処理キュー３１２の構成例を示す図である。
【００６６】
後者の例を用いて説明すると、この場合、プリントサーバ１０３内には、それぞれの業務アプリケーションに対応するテーブル（業務Ａ用アプリケーションの場合には業務Ａ用管理テーブル３０４）、処理キュー（業務Ａ用アプリケーションの場合には業務Ａ用処理キュー３０６）、変換プログラム（業務Ａ用アプリケーションの場合には変換プログラム３０８）が設けられていることになり、且つ変換プログラムの出力先には、印刷装置１〜４が存在することになる。
【００６７】
この場合、それぞれのアプリケーションから送出された印刷ジョブを、対応する変換プログラムでもって一気に変換すると、ＣＰＵ２１のパフォーマンスが落ちるなどの問題が生じる。そこでこのような場合には、上記同時変換可能数を調整し、全てのアプリケーションに対応する印刷ジョブの変換処理を行わないようにすればよい。これにより、ＣＰＵ２１のパフォーマンスを越えて無理に処理を行うことでＣＰＵ２１のパフォーマンスが低下するといった問題を回避することができる。
【００６８】
また、出力先が異なる場合、即ち、複数の出力先が存在する場合には、統合処理キュー３１２が保持するジョブ群を同じ出力先毎にグループ分割し、印刷データ管理部３１３は、それぞれのグループ毎に、第１の実施形態と同様の処理を行う。即ち、グループ毎に先頭の印刷ジョブを参照し、参照した印刷ジョブの変換処理が可能で有れば（上記ステップＳ４０８，Ｓ４０９における判断結果が共にＹＥＳとなるような場合）、グループ毎の先頭の印刷ジョブを、対応する変換プログラムに送出する処理を行う。
【００６９】
このような場合、例えば、同時変換可能数を「３」と設定したとすると、区画は５つあるため変換プログラムは５つ存在するが、そのうち同時には３つまで動作することが可能となる。この条件において変換されるのは印刷装置１に出力する印刷ジョブ群のうち先頭の印刷ジョブである“データＡ１”、印刷装置２に出力する印刷ジョブ群のうち先頭のジョブである“データＣ１”、印刷装置３に出力する印刷ジョブ群のうち先頭のジョブである“データＤ２”がそれぞれ変換プログラムに送出される。
【００７０】
ここで業務Ｄの“データＤ１”は業務Ｄの区画の先頭のデータであるが、出力対象が印刷装置２であるため“データＣ１”、“データＣ２”の後に出力されるべきである。そのため“データＤ１”は変換対象とならない。また、“データＥ１”は業務Ｅの先頭のデータであり、印刷装置４の先頭であるが、キューの上位にすでに３つ変換対象が存在するため変換対象とはならない。
【００７１】
また、この状態で“データＣ１”、“データＣ２”がデータが小さく先に変換処理が終わった時、次に変換対象として候補となるのは出力装置２へ出力する”データＤ１“と出力装置４に出力する”データＥ１“である。この状態において、”データＤ１”の属する業務Ｄ用の区画は既に“データＤ２”の変換処理が行われている。そのため“データＤ１”は変換対象とせず、印刷装置４へ出力を行う“データＥ１”が業務Ｅ用の変換プログラムへ通知される。
【００７２】
［第３の実施形態］
第１の実施形態でも説明したとおり、新たな業務用アプリケーションからの印刷ジョブを処理するためには、この業務用アプリケーションに対応する管理テーブル、処理キュー、変換プログラムのセットを新たに設ける必要がある。
【００７３】
より詳しくは、この新たな業務用アプリケーション（以下、「業務用アプリケーションＣ」と呼称する）からの印刷ジョブを処理するためには、業務用アプリケーションＣからの印刷ジョブ（業務Ｃ用印刷ジョブ）を管理するための管理テーブル（業務Ｃ用管理テーブル）、処理キュー（業務Ｃ用処理キュー）をＲＡＭ２２内、若しくはハードディスク２８内に設ける必要があるし、業務Ｃ用処理キューに業務Ｃ用印刷ジョブが投入された場合には、印刷データ管理部３１３によってこの業務Ｃ用印刷ジョブを統合処理キュー３１２に投入させるべく、印刷データ管理部３１３にこの業務Ｃ用処理キューを認知させる必要がある。また、業務Ｃ用印刷ジョブを、この業務Ｃ用印刷ジョブを変換するための変換プログラム（業務Ｃ用変換プログラム）に渡す必要があるし、変換後の印刷ジョブを指定された印刷装置に送出する必要がある。
【００７４】
このような一連の処理を行うためには、このような処理を行うためのプログラムやデータをハードディスク２８内にインストールした後に、例えば、プリントサーバ１０３が有するマウス２７やキーボード２６などを操作し、プリントデータ管理部３０３が有する表示装置に表示されているＧＵＩなどを用いて、様々な設定を行う必要がある。
【００７５】
このように、様々な業務毎に設定された内容を記した設定データには、例えば以下の項目が記述されている。
【００７６】
[Section1]
Directory=d:\rs\sec\sec1\
Name=経理
[Section2]
Directory=d:\rs\sec\sec2\
Name=人事
即ち、ハードディスク２８内の「d:\rs\sec\sec1\」には、ある業務用アプリケーション（例えば、業務Ａ用アプリケーション）から受けた印刷ジョブを処理する際の様々な設定事項が記された設定ファイルが格納されており、この設定ファイルには、「経理」なる名称が付けられている。また、この設定ファイルには、「Section1」なるタグが付けられている。
【００７７】
一方、ハードディスク２８内の「d:\rs\sec\sec2\」には、別の業務用アプリケーション（例えば、業務Ｂ用アプリケーション）から受けた印刷ジョブを処理する際の様々な設定事項が記された設定ファイルが格納されており、この設定ファイルには、「人事」なる名称が付けられている。また、この設定ファイルには、「Section2」なるタグが付けられている。
【００７８】
更に設定データには、以下の事項も記されている。
【００７９】
[DataAA]
Section=1
[DataBB]
Section=2
即ち、この設定事項は、外部から受けた印刷ジョブのジョブ名の先頭に「AA」が付いていれば、この印刷ジョブは、例えば業務Ａ用アプリケーションからのものであると判断し、外部から受けた印刷ジョブのジョブ名の先頭に「BB」が付いていれば、この印刷ジョブは、例えば業務Ｂ用アプリケーションからのものであると判断するよう、設定されたものである。この判断結果は、区画ＩＤに反映される。
【００８０】
従って、このような設定によれば、複数の業務のそれぞれに対応する変換プログラムのうち何れかに印刷ジョブを送出する場合には、この印刷ジョブのジョブ名の先頭を参照することで、印刷ジョブの供給元を特定することができるし、供給元に対応する変換プログラムに、この印刷ジョブを送出することができる。
【００８１】
なお、以上の各実施形態では、業務毎に設けられたアプリケーションによって、印刷ジョブの種類を分けていたが、これに限定するものではなく、印刷ジョブの種類分けはどのようなジャンル毎に分けても良い。
【００８２】
［その他の実施形態］
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。  また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００８８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施形態に係るシステムの概略構成を示すブロック図である。
【図２】プリントサーバ１０３に適用可能なコンピュータのハードウェア構成を示す図である。
【図３】プリントサーバ１０３の機能構成、及びその周辺環境を示すブロック図である。
【図４】印刷データ管理部３１３が行う処理の詳細を示すフローチャートである。
【図５】統合処理キュー３１２の構成例を示す図である。
【図６】業務Ａ用アプリケーション、業務Ｂ用アプリケーションのそれぞれから受けた印刷ジョブを印刷装置１，２の何れかに出力する構成における統合処理キュー３１２の構成例を示す図である。
【図７】業務Ａ用アプリケーション、業務Ｂ用アプリケーション、業務Ｃ用アプリケーション、業務Ｄ用アプリケーション、業務Ｅ用アプリケーション、業務Ｆ用アプリケーションのそれぞれから送出された印刷ジョブを印刷装置１〜印刷装置４の何れかに送出する場合の統合処理キュー３１２の構成例を示す図である。
【図８】ある区画の処理キューの内容を示す従来のＧＵＩの表示例を示す図である。
【図９】業務Ａ用管理テーブル３０４の構成例を示す図である。
【図１０】業務Ａ用処理キュー３０６の構成例を示す図である。
【図１１】従来技術について説明する図である。
【図１】
0004656651.tif 000002
【図２】
0004656651.tif 000003
【図３】
0004656651.tif 000004
【図４】
0004656651.tif 000005
【図５】
0004656651.tif 000006
【図６】
0004656651.tif 000007
【図７】
0004656651.tif 000008
【図８】
0004656651.tif 000009
【図９】
0004656651.tif 000010
【図１０】
0004656651.tif 000011
【図１１】
0004656651.tif 000012