JP2005174122A - 情報処理装置及びその転送制御方法 - Google Patents

情報処理装置及びその転送制御方法 Download PDF

Info

Publication number
JP2005174122A
JP2005174122A JP2003415420A JP2003415420A JP2005174122A JP 2005174122 A JP2005174122 A JP 2005174122A JP 2003415420 A JP2003415420 A JP 2003415420A JP 2003415420 A JP2003415420 A JP 2003415420A JP 2005174122 A JP2005174122 A JP 2005174122A
Authority
JP
Japan
Prior art keywords
job
print
group
data
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003415420A
Other languages
English (en)
Other versions
JP4086770B2 (ja
Inventor
Takashi Yakida
隆 八木田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003415420A priority Critical patent/JP4086770B2/ja
Publication of JP2005174122A publication Critical patent/JP2005174122A/ja
Application granted granted Critical
Publication of JP4086770B2 publication Critical patent/JP4086770B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 簡単な構成で複数の印刷ジョブをグルーピングする。
【解決手段】 コンピュータにおいて、複数のプリントジョブデータをグルーピングし、グループジョブとして管理し、そのグループジョブを所定の印刷プロトコルにおける1つのセッションでプリンタデバイスへ転送するように制御する。
【選択図】 図9

Description

本発明は、複数の印刷ジョブをグルーピングする技術に関するものである。
従来からプリンタデバイスに印刷ジョブのデータを送信する方法として様々な層における様々な種類のプロトコルが考案されている。そして、プリンタデバイスで印刷する場合、プリンタデバイスは、ホストから送信された印刷ジョブを受け付け、印刷ジョブを受け付けた順に印刷を行っている。
一方、ホスト側では、複数のドキュメントを夫々異なる印刷要求として発行するため、複数ドキュメントの印刷要求の間に他のユーザの印刷要求が割り込んでしまい、出力結果の途中に他のユーザの印刷結果が混在してしまうという問題点があった。
そこで、このような問題点に鑑み、ホスト側で複数の印刷ジョブを1つにまとめて出力する、以下に述べるような「ジョブグルーピング」の仕組みが提案されている。
(1)ドキュメント結合方式
プリンタデバイスに送信する前に、ホストにおいて、複数の印刷ジョブを、中間形式のデータを介して1つのドキュメントとして結合してしまい、1つのドキュメントに基づく印刷データを作成し、作成した印刷データをプリンタデバイスに投入する方式。
(2)IPP(Internet Printing Protocol)方式
ホストが複数の印刷ジョブをプリントサーバに送信するときに、印刷ジョブを結合するコマンドを送り、プリントサーバで印刷ジョブの結合処理を行って排紙する方式。
代表的な例として、例えばインターネットを通じて遠隔地にあるプリントサーバに対して印刷を行うことや遠隔地からの印刷を受けることができるIPPが知られている。このIPP方式においては、マルチドキュメント宣言のコマンドを用いて複数のドキュメント(Microsoft Word(登録商標)、Microsoft Excel(登録商標)で作成された文書など)をサーバへ送る機能(1ジョブマルチドキュメント機能)などが知られている。
この1ジョブマルチドキュメント機能では、予めプリントサーバ(プリンタに装着されるネットワークカードを含む)にCreate Jobコマンドを通知し、その通知に応答してサーバ側から返答されるジョブIDを各々のジョブ(ドキュメント)に含め、各々のジョブをプリントサーバに送信する。
一方、プリントサーバ側では、Create Jobのコマンドに対応して生成したジョブIDに対応する器を作成すると共にクライアント側に通知し、ジョブIDが含まれる任意の印刷ジョブがクライアントから個々送信されてきた場合、その印刷ジョブを器の中に一旦格納する。そして、Job Endのコマンドが送信されてきた場合に、それまで器の中に格納した印刷ジョブを他のジョブの出力が割り込まないように制御する。
(3)特許文献1に記載された方法
プリントサーバがプリントサーバに登録された複数ホストからの印刷ジョブの順序制御を行い、印刷ジョブをグループ単位にプリンタデバイスに送信することで、プリンタデバイスで排紙される印刷ジョブがグループ毎にまとまって排紙される方式。
特許文献1には印刷するドキュメントをグループ化し、他の印刷要求を割り込ませないようにして印刷を行う仕組みが記載されている。
特開2002−182878号公報
しかしながら、従来のグルーピング方式では、上記(1)の場合、1つのドキュメントを中間形式のデータを介してホスト側で作成し、その後作成した中間形式のデータを印刷データに変換する処理が介入するため、スループットが落ちると言う問題点があった。
また、上記(2)の場合、IPPのコマンドに従った処理をプリントサーバ側に設ける必要がある。例えば、設けたとしてもプリンタIDに基づく煩雑な処理をプリントサーバ側で行う必要があるという問題点があった。
更に、上記(3)では、プリントサーバでグループ毎に印刷ジョブの制御を行う場合に、プリントサーバが管理していないホストや他のプリントサーバからデバイスへ印刷する印刷ジョブの割り込みが発生し、印刷ジョブのグルーピングが正確に行われないケースやプリントサーバがなければ実現できないケースなどがあった。
一方、FTP(File Transfer Protocol)に準じた通信を行うことにより複数の電子ファイルをまとめて送信することができるが、これを印刷システムに適用した場合に、個々のアプリケーションデータから個々の印刷データファイルをプリンタドライバなどを利用して作成し、かつ、作成した複数の印刷データファイルをプリンタ装置にFTPを用いてプリンタに送信するようユーザが操作を行う必要があり、煩雑な作業を要するなど現実的ではなかった。
本発明は、簡単な構成で複数の印刷ジョブをグルーピングすることを目的とする。
本発明は、情報処理装置と画像形成装置とで構成される印刷システムにおける情報処理装置の転送制御方法であって、アプリケーションデータに基づく印刷ジョブを複数受け取る工程と、前記受け取る工程において受け取った複数の印刷ジョブをグルーピングし、グループジョブとして管理する工程と、前記グループジョブを所定の印刷プロトコルを用いて1つのセッションで画像形成装置へ転送するように制御する工程とを有することを特徴とする。
また、本発明は、情報処理装置と画像形成装置とで構成される印刷システムにおける情報処理装置であって、アプリケーションデータに基づく印刷ジョブを複数受け取る手段と、前記受け取る手段により受け取った複数の印刷ジョブをグルーピングし、グループジョブとして管理する管理手段と、前記グループジョブを所定の印刷プロトコルを用いて1つのセッションで画像形成装置へ転送するように制御する制御手段とを有することを特徴とする。
本発明によれば、簡単な構成で複数の印刷ジョブをグルーピングすることができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
<印刷処理システムの構成例>
図1は、本実施形態における情報処理システムの構成を示すブロック図である。図1において、102、103、104はそれぞれ情報処理装置であり、クライアント・サーバシステムのクライアントとして機能する。各クライアントは、イーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種プログラムを実行可能である。
尚、本システムにおけるクライアントはパーソナルコンピュータであり、1台又は複数台が接続されているものとする。また各クライアントのことを「クライアントPC」とも称す。またネットワークインタ106はイーサネット(登録商標)ケーブルなどを提供できるが、イーサーネットケーブルに限定されるものではなく、例えば、RS232Cインタフェースに準じた通信ケーブルや、無線通信を利用するようにしてもよい。
また、クライアントPCは、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。尚、プリンタドライバは複数のプリンタドライバをサポートするものとする。
101は情報処理装置であり、クライアント・サーバシステムのサーバとして機能する。また、サーバ101はネットワークケーブルによってネットワーク106に接続され、ネットワーク106上のクライアントで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。尚、このサーバ101はネットワーク106に接続されている複数のプリンタを管理するプリントサーバとしても機能する。
本実施形態のクライアントPC102〜104及びプリントサーバ101は、一般的な情報処理装置であり、クライアントPCとプリントサーバにはそれぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。また、プリントサーバ101はクライアントPC102〜104の機能を同時に持つこともできる。
本実施形態におけるプリントサーバ101は、更に各クライアントPC102、103、104から印刷要求が出された印字データを含む印刷ジョブを格納して印刷する機能、又はクライアントPC102、103、104から印字データを含まないジョブ情報のみ受け取り、クライアントPC102、103、104の印刷順序を管理し、印刷順序になったクライアントPCに対して印字データを含む印刷ジョブの送信許可を通知する機能、或いは後述するネットワークプリンタのステータスや印刷ジョブの各種情報などを取得し、クライアントPC102、103、104に通知する機能などを有する。
105は印刷装置であるネットワークプリンタであり、ネットワークインタフェース(不図示)を介してネットワーク106と接続され、後述の図6乃至8のフローチャートに基づきクライアントPCから送信される印字データを含む印刷ジョブを解析して1ページずつドットイメージに変換し、1ページ毎に印刷する。106はネットワークであり、サーバ101、クライントPC102、103、104、ネットワークプリンタ105等を接続している。
尚、印刷装置105としては、電子写真方式を採用したものや、インクジェット方式を採用したものなど様々な印字方式を採用した印刷装置を適用可能とする。また印刷データを受信し、該受信した印刷データに基づく印刷データをどのような仕組みをもって行うかについては既に周知の技術を流用すれば実現することができ、詳しい説明は省略する。
<ネットワークコンピュータのハードウェア構成例>
図2は、本実施形態における情報処理装置の構成を示すブロック図である。尚、上述した情報処理装置であるプリントサーバ101、クライントPC102、103、104も同様或いは同等のハードウェア構成とする。よって、クライアントとサーバの構成を示すブロック図として説明する。
図2において、200は情報処理装置の制御手段であるCPUであり、後述するハードディスク(HD)に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーティングシステム(OS)やネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
201は記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段であるRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
203は記録媒体読み込み手段としてのフレキシブルディスク(FD)ドライブであり、FDドライブ203を通じて記録媒体としてのFD204に記録されたプログラム等を本コンピュータシステムにロードすることができる。尚、記録媒体はFDだけに限らず、例えばCD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。また、FDからのロードに関しては図5を参照して更に後述する。
204は記録媒体であるフレキシブルディスク(FD)であり、コンピュータが読み取り可能なプログラムが格納された記録媒体である。205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
尚、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントPCではクライアントスプーラのことであり、プリントサーバ101ではサーバスプーラのことである。また、プリントサーバ101では、各クライアントPCから受けたジョブ情報を格納し、順序制御を行うための各種テーブルもこの外部記憶手段に生成されて格納される。
206は指示入力手段であるキーボードであり、ユーザがクライアントPCに対して、或いはオペレータや管理者がプリントサーバ101に対して、デバイスの制御コマンドの命令等を入力指示するものである。
207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
208はシステムバスであり、クライアントPCやプリントサーバである情報処理装置内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、このインタフェース209を介して外部装置とのデータのやり取りを行う。
本実施形態では、FD204からネットワークプリンタ制御プログラム及び関連データを直接RAM202にロードして実行させる例を示すが、これ以外にも、FD204からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にロードするようにしても良い。
また、このネットワークプリンタ制御プログラムを記録した媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカードであっても良い。更に、このネットワークプリンタ制御プログラムをROM201に記憶させておき、メモリマップの一部となすように構成し、直接CPU200で実行することも可能である。
また、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
また、このネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。この印刷制御プログラムは、クライアントPCにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、プリントサーバ101において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
また、このような制御を行う印刷制御プログラムは、クライアントPCにインストールされるモジュールと、プリントサーバ101にインストールされるモジュールとを別々に分けても良いし、1つの印刷制御プログラムが、実行される環境によりクライアントPC用として機能したり、プリントサーバ用として機能するようにしても良い。或いは一台のコンピュータに、クライアントPC用の機能を持つモジュールとプリントサーバ用として機能するモジュールを一緒にインストールし、同時に、或いは時分割で擬似的に平行動作させる構成も可能である。
また、制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールとが協働することによって実現するようにしても良いし、クライアント或いはプリントサーバにインストールされるモジュール単独で実現するようにしても良い。
<印刷処理システムにおけるソフトウェア構成例>
ここで、本実施形態で用いる用語の技術的意味について説明する。アプリケーションにおける印刷指示に応じてWindows(登録商標)などのOSのグラフィックエンジンを介して出力される描画命令(一般的にDDI:Device Driver Interface或いはGDI:Graphic Device Interfaceと呼ばれている)を解釈し、ページ記述言語(PDL)を生成してプリンタへ出力させるようなドライバを通常「プリンタドライバ」と呼び、このプリンタを通常「デバイス」と呼ぶ。
尚、OSとしてはWindows(登録商標)に限定されるものではなく、描画命令を備えるOSであれば適用可能であることは言うまでもない。
また、デバイスであるプリンタとは区別して、プリンタドライバとプリンタ出力ポート(ポートモニタ)との組み合わせを「プリンタ」と呼ぶこともある。
次に、本実施形態におけるクライアント・サーバシステムにおけるDOMS(Document Output Management Service:文書出力管理サービス)で処理される印刷ジョブ(文書などを印刷するアプリケーションから発行された描画コマンドを含む)の流れについて説明する。
図3は、印刷処理システムにおける印刷ジョブの流れを説明するための図である。通常、ユーザがクライアントPCで印刷の指示を行うと、アプリケーションプログラムが一連の描画命令をOSのグラフィックエンジンを介して生成し、その描画命令はプリンタドライバを経てOSのスプーラに渡される。そして、OSのスプーラは、ユーザが印刷を指示する際に選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
尚、上述のポートモニタを設定するユーザインタフェースとしては、例えばWindows(登録商標)にインストールされているプリンタのプロパティーを設定する設定画面などが一例として挙げられる。
本実施形態では、ユーザは予め印刷ジョブ制御システム用のポートモニタ321(以降、「ジョブ制御ポートモニタ」と略記)を指定して印刷を指示する。アプリケーションプログラム301は、一連の描画命令をOSのグラフィックエンジンを介して生成させる。そして、OSのグラフィックエンジンを介して生成された描画命令は、プリンタドライバ(PDL Driver)302に引き渡される。
一方、OSのグラフィックエンジンを介して生成された描画命令を受け取ったプリンタドライバ302は、デバイスで印刷するためのページ記述言語データを生成し、スプーラ304へ出力するが、生成されたデータは、従来のポートモニタ305ではなく、ジョブ制御ポートモニタ321に対してプリンタデバイス105へプリントジョブデータとして送信される。また、プリンタドライバ302によって提供されるユーザインタフェースを介して設定された用紙サイズ、ステープル指示などの印刷設定情報も、ジョブ制御ポートモニタ321に送信される。
ジョブ制御ポートモニタ321は、プリントジョブデータをプリンタデバイス105に送信するのではなく、印刷ジョブ制御システム用プリントサービス322(以降、「ジョブ制御プリントサービス」と略記)に渡す。具体的にはジョブ制御ポートモニタがスプールファイルパス504をジョブ制御プリントサービス322に通知し、ジョブ制御プリントサービス322は通知されたスプールファイルパス504に基づき格納された印刷ジョブを受け取る。ジョブ制御プリントサービス322は、ジョブ制御ポートモニタ321からプリントジョブデータを受け、対応するプリンタデバイスに受けたプリントジョブデータを送信する。ジョブ制御プリントサービス322による所定のプリントデバイスに対する再印刷が行われる場合には、以前に通知されたスプールファイルパス504に基づきHD205から再度印刷ジョブを読み出しプリンタデバイスに読み出した印刷ジョブを転送する。
印刷ジョブ制御システム用プリントマネージャ323(以降、「プリントマネージャ」と略記)は、ジョブ制御プリントサービス322内部でプリントジョブがどのような状態にあるかを調べ、調べた内容をグラフィックユーザインタフェースに表示したり、ユーザがプリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。このプリントマネージャ323は、ジョブ制御プリントサービス322のソフトウェアのインタフェース(API:Application Program Interface)を介してジョブ制御プリントサービス322と情報や指示をやり取りしている。APIにやるやり取りは、ジョブ制御プリントサービス322に対してのポーリングでも、ジョブ制御プリントサービス322からのイベント通知によるものであっても良い。また更に詳細な処理としては、プリントマネージャ323がジョブ制御プリントサービス322に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス322がそのイベントに基づくデバイスのステータスを監視し、監視結果をプリントマネージャ323に通知する。
尚、デバイス情報コントロールモジュール306、326は、プリンタデバイス105と通信を行い、各デバイス内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。また、入手した情報は、ジョブ制御プリントサービス322に渡すことができる。
図4は、ジョブ制御プリントサービス322の主要な機能の構成を示す図である。図4において、401はジョブ管理部であり、ジョブ制御ポートモニタ321から受信したプリントジョブデータを管理し、データ送信部402に送信指示を行うモジュールである。また、プリントマネージャ323がジョブリストを表示するときの情報を渡すモジュールでもある。402はデータ送信部であり、ジョブ管理部401から印刷指示を入力すると、プリンタデバイス105に印刷プロトコルを使用してプリントジョブデータを所定の通信プロトコルで送信するモジュールである。
尚、データ送信部402が、Windows(登録商標)などの所定のオペレーティングシステムに設けられる場合には、オペレーティングシステムのデータ通信モジュールを用いるようにしても良く、その場合にはデータ送信部402はオペレーティングシステムのデータ通信モジュールを稼動させるよう指示を行えばよい。また、印刷プロトコルとしては、例えばRAWプロトコルなどが挙げられる。また、LPRプロトコルも例として挙げられる。
次に、アプリケーション301が複数の印刷ジョブをグルーピングし、ジョブ制御プリントサービス322がグルーピングされたグループジョブをプリンタデバイス105との通信のコネクションを切断することなく、プリンタデバイス105へプリントジョブデータを転送する処理について説明する。まず、ジョブ制御プリントサービス322のジョブ管理部401で管理される印刷ジョブ情報テーブルについて説明する。
図5は、ジョブ管理部401が管理する印刷ジョブ情報テーブルの構成の一例を示す図である。本実施形態における印刷ジョブ情報テーブル501は、ジョブ制御ポートモニタ321からプリントジョブデータがジョブ制御プリントサービス322へ出力されると、ジョブ管理部401によって作成されるテーブルである。
尚、この印刷ジョブ情報テーブル501は、プリントジョブデータが後述するグループジョブの場合、そのグループジョブを構成する個々のプリントジョブデータに対して発行されるものである。
図5に示す印刷ジョブ情報テーブル501において、ジョブID502は、ジョブ管理部401が管理する印刷ジョブ情報テーブルに割り当てる任意のIDであり、印刷ジョブを識別するIDとして使用される。ドキュメント名503は、アプリケーション301が印刷するドキュメント(ドキュメントファイル)の名前であり、ジョブ制御ポートモニタ321からジョブ制御プリントサービス322へプリントジョブデータが送信された際にジョブ制御ポートモニタ321からジョブ管理部401に通知される。スプールファイルパス504は、ジョブ制御ポートモニタ321からジョブ制御プリントサービス322へ送信されたプリントジョブデータをジョブ制御プリントサービス322がHD205に保存した際のファイルパスであり、ファイルの格納場所を特定する情報として利用される。
グループID505は、アプリケーション301が複数の印刷したいファイルをグルーピング指定したときに、ジョブ管理部401が発行した任意のグループIDである。また、このグループID505によって個々のプリントジョブデータをグループジョブとして識別するものである。そして、グループ終了フラグ506は、グループジョブにおける最後のプリントジョブデータを示すフラグである。このフラグは、グルーピング指定された複数のプリントジョブデータのうち、最後にグルーピング対象となるプリントジョブに付加される。
次に、アプリケーション301がジョブ制御プリントサービス322へ所定のコマンド指示を行うことにより、複数の印刷したいファイルを及びそれに基づく印刷ジョブをグルーピングする方法について説明する。
図6は、グルーピング指定処理を示すフローチャートである。まず、ステップS601において、グループジョブの開始を指定するジョブ制御プリントサービス322のAPI(StartGroupJob)を呼び出す。そして、ステップS602において、アプリケーション301が通常の印刷と同じように印刷を行う。アプリケーション301による印刷の仕組みについては図3において説明した通りとする。
次に、ステップS603において、アプリケーション301がグルーピングしたいグルーピングして印刷したファイルが残っているか判断し、残っていればステップS602に戻り、上述した処理を繰り返す。
尚、グルーピングして印刷したいファイルの数は、予めアプリケーション301を介して所定数に設定され確定しているものとする。
また、グルーピングして印刷したいファイルが残っていなければステップS604へ進み、グループジョブの終了を示すジョブ制御プリントサービス322のAPI(EndGroupJob)を呼び出し、この処理を終了する。
以下、図7、8を用いて、ジョブ制御ポートモニタ321からのアプリケーションデータに基づく印刷ジョブをジョブ制御プリントサービス322で順次複数個受け取り、順次受け取った複数の印刷ジョブをグループジョブとして管理し、この管理に基づきグループジョブを所定の印刷プロトコルを用い1つのセッションで画像形成装置へ転送するように制御する処理について説明する。
まず、図7を用いてジョブ制御プリントサービス322のジョブ管理部401において、複数の印刷ジョブのグルーピングを実現する方法について説明する。
図7は、ジョブ管理部401のジョブ処理を示すフローチャートである。まずステップS701において、印刷ジョブを受け付けるときにアプリケーション301が印刷ジョブのグルーピング開始を示すジョブ制御プリントサービス322のAPI(StartGroupJob)を呼び出したか否かを判断する。ここで、アプリケーション301がStartGroupJobを呼び出した場合はステップS702へ進み、グループジョブの開始後ジョブ制御ポートモニタ321からプリントジョブデータを順次受け取りし、グループジョブとして受け付ける。そして、ステップS703において、順次受け取ったプリントジョブデータの個々に関する印刷ジョブ情報テーブル501を作成し、そのテーブル501内にジョブID502,ドキュメント名503、スプールファイルパス504を設定する。
次に、ステップS704において、受け付けたプリントジョブデータがグループジョブであるため、グループID505を設定する。このグループIDは、グルーピングされた個々の印刷ジョブに対して同じIDが設定されるものとする。そして、ステップS705において、データ送信部402に対して、ステップS702で受け付けたプリントジョブデータの送信指示をジョブID502を伴わせて行う。このステップS705の送信指示は後述するステップS801に対応する。そして、ステップS706において、アプリケーション301がグルーピングの終了を指示したか否かを判断し、グルーピング終了の指示が行われていなければ、まだ送信するグループジョブが存在すると判断し、ステップS702に戻り、上述した処理を繰り返す。
繰り返しの処理について詳しく説明すると、次のプリントジョブデータをジョブ制御ポートモニタ321から受信する。そして、新たに受信したプリントジョブデータに関する印刷ジョブ情報テーブル501を作成し、そのテーブル501内に最初のグループジョブにおけるプリントジョブデータとは異なるジョブID502,ドキュメント名503、スプールファイルパス504を設定し、上に説明したステップS704、705の処理を繰り返し行う。ステップS705の処理においては、データ送信部402において、生成された前回指定したジョブID502とは異なるジョブID502を併せてプリントジョブデータの送信指示を行う。
また、ステップS706において、アプリケーション301がグルーピング終了を指示(EndGroupJob)したと判断した場合にはステップS707へ進み、グループ終了フラグ506を設定し、この処理を終了する。
一方、ステップS701において、アプリケーション301が印刷ジョブのグルーピング開始を示すジョブ制御プリントサービス322のAPI(StartGroupJob)を呼び出していなければ、グルーピングを指定されていない印刷ジョブであると認識し、ステップS708へ進む。尚、ステップS701の判断には、グループジョブではなく、通常の単独のデータファイルを印刷するという識別子を認識させるようにしても良い。
ステップS708では、ジョブ制御ポートモニタ321からプリントジョブデータを受信し、通常の印刷ジョブとして受け付ける。そして、ステップS709において、受信したプリントジョブデータに関する印刷ジョブ情報テーブル501を作成し、そのテーブル501内にジョブID502,ドキュメント名503、スプールファイルパス504を設定する。次に、ステップS710において、データ送信部402に対して、ステップS708で受け付けたプリントジョブデータの送信指示を行い、この処理を終了する。このステップS708及びS709の処理において、グループジョブが指定されていない場合に、アプリケーションデータに基づく単独の印刷ジョブを受け取り、該受け取った印刷ジョブを1つのセッションで画像形成装置に転送するようにし、画像形成装置に印刷出力を行わせることができる。
このように本形態によれば、ジョブ制御プリントサービス322の機能を設けることにより、グループジョブと、各々のプリントジョブで通信セッションを個別に接続及び切断するプリントジョブと、の双方を特にプリンタデバイスに特別な仕組みを設けることなく実現することができる。
次に、ジョブ制御プリントサービス322のデータ送信部402がグルーピングされた複数のプリントジョブデータをプリンタデバイス105との通信のコネクションを切断することなく、プリンタデバイス105へ転送する処理について説明する。
図8は、データ送信部402の転送処理を示すフローチャートである。この処理は図7のフローチャートのステップS705において、ジョブ管理部401からデータ送信部402に対して送信指示が行われることに応じて実行される。
まずステップS801において、ステップS705の送信指示によりジョブ管理部401から送信指示を受け付けると、該当する印刷ジョブ情報テーブル501をステップS705で指定されたジョブID502に基づき取得し、ステップS802において、グループジョブであるか否かを判断する。ここで、検索された印刷ジョブ情報テーブル501のグループID506が設定されていればグループジョブであると判断し、ステップS803へ進む。
このステップS803では、図9に示すように、プリンタデバイス105に対して印刷プロトコルに従いプリントジョブデータを送信するための送信コネクション接続を行う。そして、ステップS804において、ステップS801で指示されたプリントジョブデータをプリンタデバイス105へ転送する。次に、ステップS805において、このプリントジョブデータでグループジョブの終了か否かを判断する。ここで、処理中の指定されたジョブID502に基づく印刷ジョブ情報テーブル501のグループ終了フラグ506が設定されていなければ、ステップS806へ進み、ジョブ管理部401からの印刷指示を受けると、ステップS804へ進み、グルーピングされたプリントジョブデータを転送する。
また、ステップS805において、指定されたジョブID502に基づく印刷ジョブ情報テーブル501のグループ終了フラグ806が設定されていれば、グループジョブの終了であると判断する。このステップS805の処理は、ステップS801において指定されたジョブID502に基づき特定される印刷ジョブ情報テーブル501にグループ終了フラグ806が設定されているか否かを判断することにより実現される。そして、ステップS807へ進み、図9に示すように、プリンタデバイス105と接続していた通信プロトコルのセッションを切断し、処理を終了する。
一方、ステップS802において、グループジョブでないと判断した場合はステップS808へ進み、通常の印刷ジョブとしてプリンタデバイス105に対して印刷プロトコルのコネクション接続を行う。そして、ステップS809において、プリントジョブデータを送信し、ステップS807において、プリンタデバイス105とのコネクションを切断する。
尚、上述した図8における説明では、ジョブ管理部401からデータ送信部に対して、ジョブID502をグループジョブの数だけ指定して、該当する印刷ジョブ情報テーブル501を取得させるように説明してきたがこれには限定されない。例えば、S705の処理に伴いグループジョブID505をデータ送信部402に指定し、データ送信部402に指定されたグループジョブIDを含む印刷ジョブ情報テーブル501を検索させ取得させるようにしてもよい。つまり、グルーピングされた印刷ジョブ情報テーブルをデータ送信部402が取得できる方法であれば適宜様々な方式を適用できる。
図9は、データ送信部とプリンタデバイスとの間でジョブグルーピング機能を実現するための印刷プロトコルの流れを示す図である。図9に示すように、1つの通信セッションの中で、複数のプリントジョブデータを送信している。
尚、Windows(登録商標)の標準TCP/IPポートモニタにジョブを投入すると個々の印刷ジョブでセッション開始と切断が繰り返されるが、本実施形態では、独自のジョブ制御ポートモニタ321を介してデータ送信部402に印刷ジョブを投入することを実現し、複数の印刷ジョブのセッションをジョブ毎に切断することなく、1つのセッションで送信できるように構成されている。
図10は、プリントジョブデータの構成の一例を示す図である。図10に示すように、ジョブスタート(job Start)、印刷設定情報、記述データ及びジョブエンド(Job End)で構成される。図9におけるプリントジョブデータがこの図10に示されるプリントジョブデータに相当する。
図11は、プリンタデバイスへ転送されるジョブパケットの構成を示す図である。尚、このジョブパケット(以降、「パケット」と略記)は、TCP/IP層とは別に図10に示すプリントジョブデータそのものがパケット化されて送信される場合のパケットの構造を示すものである。
図11に示す縦軸はバイトを示し、横軸は各バイトのビットを示している。以下、順にパケットの構造について説明する。
まず、0〜1バイト目のオペレーションコードは、パケットの機能を示す長さ2バイトのIDである。このオペレーションコートとしては、以下の値を取ることができる。
0x0201 ジョブ開始オペレーション
0x0202 ジョブ属性設定オペレーション
0x0204 PDLデータ送信オペレーション
0x0205 ジョブ終了オペレーション。
次に、2〜3バイト目のブロック番号はパケットを送信した側が返答を要求する場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用する番号である。例えば、ブロック番号=1,2,3というパケットを立て続けに送信した時に、ブロック番号=2というエラーパケットが帰ってきた場合、送信側では、2番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。
次に、4〜5バイト目のパラメータ長はデータ部のバイト長さを示す領域で、0〜64Kバイトまでを示すことが可能である。
次に、6〜7バイト目はパケットの各種フラグを示す領域で、それぞれ以下の値を示す。
エラーフラグ:この値が「1」の場合、プリンタデバイスで何らかのエラーが発生したことを示す。このフラグはプリンタデバイスからコンピュータへ送られる返信パケットに付加される。
通知フラグ:この値が「1」の場合、コンピュータからの要求パケットに対する返答ではなく、プリンタデバイスが何らかの通知事項があることをコンピュータに通知することを示している。
継続フラグ:この値が「1」の場合、データ部にすべてのデータが入らなかったため、次のパケットで残りのデータが送られることを示す。尚、次のパケットは前のパケットと同じオペレーション・コード、ブロック番号を設定しなくてはならない。
返答要求:コンピュータからプリンタデバイスに対して返答パケットが必要な場合に、「1」をセットする。「0」のときは要求パケットが正常に処理された場合であり、返答は返さない。また、プリンタデバイスでエラーが発生した場合には、返答要求の0/1に関わらず、常にエラーフラグを「1」に設定した返答パケットを送出する。
次に、8〜9バイト目のユーザID及び10〜11バイト目のパスワードは、要求パケットでできる操作にセキュリティ的制限を設ける際の認証に使われる領域である。本実施形態には影響しない。
次に、12バイト目以降はオペレーションコードに対応した追加データを格納する領域である。ジョブ開始オペレーションの場合、追加データとしてジョブの実行モードが記述される。ここで、指定可能な実行モードを以下に挙げる。
0x01:ジョブの通常実行
当該ジョブは通常ジョブとして印刷装置のキューの最後に追加され、スケジューリングが回ってきたら印刷処理を行う。
0x04:ジョブの割り込み実行
当該ジョブは割り込みジョブとして扱い、すべてのジョブを処理を停止して当該ジョブの印刷を優先して実行する。
以上説明したように、実施形態によれば、コンピュータ(クライアントPCやプリントサーバ)において、複数の印刷ジョブをグルーピングし、グループジョブとしてプリンタデバイスへ転送することで、複数のコンピュータからコンピュータ毎に複数の印刷ジョブが送信されたとしても、プリンタデバイスではコンピュータ毎にグルーピングされた印刷ジョブを受信し、確実に印刷処理を行うことができる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インタフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態における情報処理システムの構成を示すブロック図である。 本実施形態における情報処理装置の構成を示すブロック図である。 印刷処理システムにおける印刷ジョブの流れを説明するための図である。 ジョブ制御プリントサービスの構成を示す図である。 ジョブ管理部401が管理する印刷ジョブ情報テーブルの構成の一例を示す図である。 グルーピング指定処理を示すフローチャートである。 ジョブ管理部401のジョブ処理を示すフローチャートである。 データ送信部402の転送処理を示すフローチャートである。 データ送信部とプリンタデバイスとの間でジョブグルーピング機能を実現するための印刷プロトコルの流れを示す図である。 プリントジョブデータの構成の一例を示す図である。 プリンタデバイスへ転送されるジョブパケットの構成を示す図である。
符号の説明
101 プリントサーバ
102 クライアントPC
103 クライアントPC
104 クライアントPC
105 ネットワークプリンタ
106 ネットワーク
200 CPU
201 ROM
202 RAM
203 FDドライブ
204 FD
205 HD
206 キーボード
207 ディスプレイ
208 システムバス
209 インタフェース
301 アプリケーションプログラム
302 プリンタドライバ
304 スプーラ
305 OSポートモニタ
306 デバイス情報コントロールモジュール
321 ジョブ制御ポートモニタ
322 ジョブ制御プリントサービス
323 プリンとマネージャ
326 デバイス情報コントロールモジュール
401 ジョブ管理部
402 データ送信部

Claims (9)

  1. 情報処理装置と画像形成装置とで構成される印刷システムにおける情報処理装置の転送制御方法であって、
    アプリケーションデータに基づく印刷ジョブを複数受け取る工程と、
    前記受け取る工程において受け取った複数の印刷ジョブをグルーピングし、グループジョブとして管理する工程と、
    前記グループジョブを所定の印刷プロトコルを用いて1つのセッションで画像形成装置へ転送するように制御する工程とを有することを特徴とする情報処理装置の転送制御方法。
  2. 前記管理する工程では、前記グループジョブの開始及び終了を示す情報を設定し、
    前記制御する工程では、前記グループジョブの開始及び終了を示す情報に基づいて前記グループジョブを前記1つのセッションで画像形成装置へ転送するように制御することを特徴とする請求項1に記載の情報処理装置の転送制御方法。
  3. 前記管理する工程は、前記グループジョブの開始を示す情報としてグループIDを設定し、前記グループジョブの終了を示す情報として終了フラグを設定することを特徴とする請求項2に記載の情報処理装置の転送制御方法。
  4. 前記制御する工程では、グループジョブの開始後、順次受け取る複数のジョブの個々のジョブIDを指定したジョブデータのプリントデバイスへの送信指示を行うことを特徴とする請求項1乃至請求項3の何れか一項に記載の転送制御方法。
  5. 前記制御する工程では、前記順次受け取る複数のジョブIDに基づく指示にグループジョブの終了が含まれている場合に、前記セッションの切断を行わせることを特徴とする請求項1乃至請求項3の何れか一項に記載の転送制御方法。
  6. グループジョブが指定されていない場合に、アプリケーションデータに基づく単独の印刷ジョブを受け取り、該受け取った印刷ジョブを1つのセッションで画像形成装置に転送するように制御する第2制御工程を有することを特徴とする請求項1乃至請求項5の何れか一項に記載の転送制御方法。
  7. 情報処理装置と画像形成装置とで構成される印刷システムにおける情報処理装置であって、
    アプリケーションデータに基づく印刷ジョブを複数受け取る手段と、
    前記受け取る手段により受け取った複数の印刷ジョブをグルーピングし、グループジョブとして管理する管理手段と、
    前記グループジョブを所定の印刷プロトコルを用いて1つのセッションで画像形成装置へ転送するように制御する制御手段とを有することを特徴とする情報処理装置。
  8. コンピュータに、請求項1乃至請求項6の何れか一項に記載された情報処理装置の転送制御方法を実行させるためのプログラム。
  9. 請求項8に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2003415420A 2003-12-12 2003-12-12 情報処理装置及びその転送制御方法 Expired - Fee Related JP4086770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003415420A JP4086770B2 (ja) 2003-12-12 2003-12-12 情報処理装置及びその転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003415420A JP4086770B2 (ja) 2003-12-12 2003-12-12 情報処理装置及びその転送制御方法

Publications (2)

Publication Number Publication Date
JP2005174122A true JP2005174122A (ja) 2005-06-30
JP4086770B2 JP4086770B2 (ja) 2008-05-14

Family

ID=34734922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003415420A Expired - Fee Related JP4086770B2 (ja) 2003-12-12 2003-12-12 情報処理装置及びその転送制御方法

Country Status (1)

Country Link
JP (1) JP4086770B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005124531A1 (ja) * 2004-06-16 2005-12-29 Canon Kabushiki Kaisha 情報処理装置及びジョブ転送制御方法
JP2007272832A (ja) * 2006-03-31 2007-10-18 Ricoh Co Ltd 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体
JP2010182242A (ja) * 2009-02-09 2010-08-19 Canon Inc 画像形成装置、その制御方法およびプログラム
US7990566B2 (en) 2007-02-21 2011-08-02 Brother Kogyo Kabushiki Kaisha Image forming device
US8355151B2 (en) 2007-09-26 2013-01-15 Canon Kabushiki Kaisha Image processing apparatus and method for controlling provisional reservation
US11182117B2 (en) 2017-11-27 2021-11-23 Fujifilm Business Innovation Corp. Information processing apparatus, method, and non-transitory computer readable medium storing information processing program
US11243730B2 (en) 2017-11-27 2022-02-08 Fujifilm Business Innovation Corp. Information processing apparatus, method and non-transitory computer readable medium storing information processing program
US11354079B2 (en) 2018-09-06 2022-06-07 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005124531A1 (ja) * 2004-06-16 2005-12-29 Canon Kabushiki Kaisha 情報処理装置及びジョブ転送制御方法
JP2007272832A (ja) * 2006-03-31 2007-10-18 Ricoh Co Ltd 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体
US7990566B2 (en) 2007-02-21 2011-08-02 Brother Kogyo Kabushiki Kaisha Image forming device
US8355151B2 (en) 2007-09-26 2013-01-15 Canon Kabushiki Kaisha Image processing apparatus and method for controlling provisional reservation
JP2010182242A (ja) * 2009-02-09 2010-08-19 Canon Inc 画像形成装置、その制御方法およびプログラム
US8665474B2 (en) 2009-02-09 2014-03-04 Canon Kabushiki Kaisha Method, system, apparatus and medium for minimizing unnecessary processing associated with connection/disconnection of a same host
US11182117B2 (en) 2017-11-27 2021-11-23 Fujifilm Business Innovation Corp. Information processing apparatus, method, and non-transitory computer readable medium storing information processing program
US11243730B2 (en) 2017-11-27 2022-02-08 Fujifilm Business Innovation Corp. Information processing apparatus, method and non-transitory computer readable medium storing information processing program
US11354079B2 (en) 2018-09-06 2022-06-07 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP4086770B2 (ja) 2008-05-14

Similar Documents

Publication Publication Date Title
US7359081B2 (en) Information processing apparatus, distributed printing method, and storage medium
US20060139690A1 (en) Information processing device and job transfer control method
US8045202B2 (en) Information processing apparatus and print device control method
US7707326B2 (en) System for setting print end notification either when data transmission ends or when printing ends based on print check ability of printing devices
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
US7068388B2 (en) Printing a plurality of print jobs of a group in a designated order
US7315404B2 (en) Monitoring job status for grouped print jobs
US9311036B2 (en) Data processing system and method of data processing
JP4086770B2 (ja) 情報処理装置及びその転送制御方法
US8270001B2 (en) Printing apparatus and canceling method
JP2003140867A (ja) ネットワークプリントシステム及び情報処理装置
JP2001109599A (ja) 情報処理装置およびデータ処理方法および記憶媒体
JP3566511B2 (ja) 情報処理装置及び印刷システム及び印刷処理方法並びにコンピュータ可読の記憶媒体
JP2002244821A (ja) プリントサーバを利用した印刷方法、プリントサーバ、プログラム、及び、記録媒体
JP2005349768A (ja) 印刷装置及び印刷方法
JP2007058417A (ja) プリントシステム
JP4164243B2 (ja) 印刷監視システム、印刷監視方法、及びコンピュータプログラム
JP2004185217A (ja) 装置管理方法
JP2006056072A (ja) 印刷システム及び印刷ジョブの制御方法
JP2006079421A (ja) プリントシステムおよびコンピュータプログラムとその記憶媒体
JP4143598B2 (ja) 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体
JP2004341891A (ja) 印刷システム
JP2004295357A (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2004126943A (ja) 印刷処理装置、印刷処理方法及び印刷処理プログラム
JP2011028363A (ja) 印刷システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080219

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4086770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees