JP4490188B2 - 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体 - Google Patents

印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体 Download PDF

Info

Publication number
JP4490188B2
JP4490188B2 JP2004188075A JP2004188075A JP4490188B2 JP 4490188 B2 JP4490188 B2 JP 4490188B2 JP 2004188075 A JP2004188075 A JP 2004188075A JP 2004188075 A JP2004188075 A JP 2004188075A JP 4490188 B2 JP4490188 B2 JP 4490188B2
Authority
JP
Japan
Prior art keywords
job
print
print job
status
status information
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.)
Expired - Fee Related
Application number
JP2004188075A
Other languages
English (en)
Other versions
JP2005063411A (ja
Inventor
勇一 石井
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004188075A priority Critical patent/JP4490188B2/ja
Priority to US10/900,095 priority patent/US7052190B2/en
Priority to EP04017975.6A priority patent/EP1503278B1/en
Priority to CN200410104762.2A priority patent/CN1292339C/zh
Publication of JP2005063411A publication Critical patent/JP2005063411A/ja
Priority to US11/386,867 priority patent/US20060165459A1/en
Application granted granted Critical
Publication of JP4490188B2 publication Critical patent/JP4490188B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Description

本発明は、印刷処理装置、画像処理装置、文書管理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体に関し、特に印刷要求に基づいて実行するジョブの情報を提供する印刷処理装置、画像処理装置、文書管理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体に関する。
文書データを印刷する場合、例えばWindows(登録商標)OS等においては、ユーザは、印刷する文書データを対象として当該文書データに対応したアプリケーションを起動し、印刷を指示する。文書データは、アプリケーションからの要求を受けたプリンタドライバによって、印刷先のプリンタが処理可能な印刷データに変換される。更に、印刷データはスプーラに対して出力され、スプーラからポートモニタを経てプリンタに送信される。
印刷要求を行ったユーザは、自分が要求した印刷処理が正常に行われたか否かをOSによって提供されているツールを用いて確認することができる。このツールによって閲覧対象となるのは、スプーラにおけるジョブであることが一般である。
なお、特許文献1には、一つの印刷要求に基づいて複数のプリンタに文書データを印刷させる場合に、当該印刷要求に対応する親ジョブと、それぞれのプリンタに対応する子ジョブとの関連が確認できるようにジョブ情報を提供する発明が示されている。
特開2002−166630号公報
しかしながら、ユーザが、複数の文書ファイルの印刷を一度に要求した場合、印刷要求に基づく処理の段階に応じて、印刷要求に係る全ての文書ファイルについての印刷処理を単位とする第一のジョブと、一つの文書ファイルに対する印刷処理を単位とする第二のジョブとを定義することができる。
すなわち、第一のジョブは、印刷要求を受け付けた段階において発生するジョブである。また、第二のジョブは、第一のジョブに基づいて文書ファイル単位で印刷処理を実行する段階において発生するジョブである。
ユーザがその状態を確認することができるスプーラにおけるジョブは、上記における第二のジョブに該当する。したがって、ユーザは、一つ一つの文書ファイルの印刷処理の状態について確認することはできたが、一つの印刷要求の対象とされた全ての文書ファイルに対する処理の完了を一目で確認することはできなかった。
特に、複数のクライアントからの要求を受けて印刷処理を実行するサーバ機におけるスプーラについては複数のユーザからの印刷要求が混在するため、当該スプーラにおける第二のジョブのそれぞれの状態を確認することができても、第一のジョブの状態を把握するのは非常に手間であったという問題がある。
また、特許文献1における発明は、印刷を実行させるプリンタにおけるジョブの状態の確認を容易にするためのものであり、処理の段階に応じてジョブの単位が変化する場合において各段階のジョブの状態を提供するものではない。
本発明は、上記の点に鑑みてなされたものであって、処理の段階に応じてジョブの単位が変わる場合において、各段階におけるジョブの情報を他の段階におけるジョブの情報と関連付けて提供することができる印刷処理装置、印刷処理システム、前記印刷処理装置の制御方法、前記印刷処理装置の制御プログラム及び記録媒体の提供を目的とする。
そこで上記課題を解決するため、本発明は、請求項1に記載されるように、ネットワークを介して接続されるクライアント装置からの印刷要求に基づく印刷ジョブの管理を印刷処理の段階に応じて行い、該管理される印刷ジョブの情報を前記クライアント装置に提供する印刷処理装置であって、前記クライアント装置からの印刷ジョブの一覧情報の提供要求に対し、前記印刷処理の段階における第一の段階のジョブの状態を識別する第一のジョブ状態識別情報と、前記第一の段階のジョブに基づき発生し、該ジョブとはその粒度を異にするジョブである第二の段階のジョブの状態を識別する第二のジョブ状態識別情報とを関連付けて前記クライアント装置に提供するジョブ情報提供手段を有することを特徴とする。
このような印刷処理装置では、クライアント装置からの印刷要求に応じて実行する印刷処理における第一の段階におけるジョブと、そのジョブに基づいて発生する第二の段階のジョブとの情報とを関連付けてクライアントに提供することができる。
また上記課題を解決するため、本発明は、上記印刷処理装置からの要求に基づいて文書データを印刷する画像処理装置、上記印刷処理装置が前記画像処理装置に印刷させる対象とする文書データを上記印刷処理装置に提供する文書管理装置、上記印刷処理装置を有する印刷処理システム、上記印刷処理装置の制御方法、前記印刷処理装置の制御方法をコンピュータに実行させるためのプログラム、又は前記プログラムを記録したコンピュータ読み取り可能な記録媒体としてもよい。
本発明によれば、処理の段階に応じてジョブの単位が変わる場合において、各段階におけるジョブの情報を他の段階におけるジョブの情報と関連付けて提供することができる印刷処理装置、印刷処理システム、前記印刷処理装置の制御方法、前記印刷処理装置の制御プログラム及び記録媒体を提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における印刷システムの構成例を示す図である。図1に示されるように、本実施の形態における印刷システム1は、印刷サーバ10、文書管理サーバ20、Webサーバ30、及び端末40等を有しており、それぞれはインターネットやLAN等のネットワーク(有線、無線の別を問わない)を介して接続されている。
印刷サーバ10は、文書データ等をプリンタ50に印刷させるための印刷機能等をWebサービスとして提供するコンピュータであり、かかる印刷機能等が実装されている印刷サービス11を有している。文書管理サーバ20は、文書データの管理機能をWebサービスとして提供するコンピュータであり、SOAPリスナ21、文書管理手段22、及び文書管理DB23等から構成されている。SOAPリスナ21は、文書管理手段22の機能をSOAPのRPCによって呼び出せるようにするための機能が実装されているモジュールである。文書管理手段22は、文書管理DB23を操作するためのインタフェースを提供するモジュールである。例えば、文書管理手段22は、文書管理DB23より文書データを取得するための文書取得メソッド、文書データの一覧情報を取得すための文書一覧取得メソッド、及び文書管理DB23に文書データを登録するための文書登録メソッド等を有している。文書管理DB23は、文書データが格納されているデータベースである。
Webサーバ30は、データ管理サーバ10や文書管理サーバ20等の機能をWebページとして提供するためのいわゆるWebサーバであり、httpd31、Webアプリ32、及びSOAPプロキシ33等から構成されている。httpd31は、端末40との間におけるHTTPによる通信を制御するデーモンプログラムである。httpd31は、端末40からのHTTPリクエストを受信すると、HTTPリクエストにおいて指定されたURLに対応するWebアプリ32を呼び出し、Webアプリ32が処理結果として出力したWebページを端末40に送信する。
Webアプリ32は、Webページの生成を主な機能とするいわゆるWebアプリケーションである。Webアプリ32は、必要に応じて印刷サーバ10や文書管理サーバ20に対して所定の処理要求を行い、その結果を表示するWebページを生成する。例えば、Webアプリ32は、文書管理サーバ20の文書管理DB23に管理されている文書データの一覧を表示するWebページ(以下、「文書一覧ページ」という。)等を生成する。
SOAPプロキシ33は、印刷サーバ10や文書管理サーバ20に実装されている各種メソッドをSOAPのRPCにより呼び出すためのインタフェースをWebアプリ32に対して提供するモジュールである。SOAPプロキシ33により、Webアプリ32は、印刷サーバ10や文書管理サーバ20の機能を、ネットワーク通信を意識することなく、透過的にメソッド呼び出しすることが可能となっている。
なお、図中においては、Webアプリ32は一つのブロックとして示されているが、インスタンスとしては複数存在する。例えば、文書管理一覧ページを生成するためのモジュールや、その他のWebページを生成するモジュール毎にソースコードが実装されている。
端末40は、ユーザが印刷システム1を利用するためのインタフェース(Webページ)をWebブラウザ41によって提供するPC(Personal Computer)、PDA(Personal Digital(Data) Assistants)、又は携帯電話等の通信機能を有する端末である。
なお、図中、端末40やプリンタ50は、一つのブロックとして示されているが、物理的に一台の端末やプリンタに限定されるという趣旨ではない。一般的な情報システムと同様、多数の端末やプリンタが接続され得る。
次に、印刷サーバ10における印刷サービス11の詳細について説明する。図2は、印刷サーバにおける印刷サービスの機能構成例を示す図である。図2に示されるように、印刷サービス11は、SOAPリスナ111、印刷要求受付手段112、印刷指示手段113、文書アプリ114、プリンタドライバ115、スプーラ116、ポートプログラム117、プリンタ制御手段118、ポート監視手段119、非同期管理手段120、文書管理接続手段121、印刷ジョブキュー131等から構成される。
SOAPリスナ111は、印刷要求受付手段112が有する後述するメソッドを、Webサーバ30等からSOAP(Simple Object Access Protocol)のRPC(Remote Procedure Call)によって呼び出せるようにするための機能を提供するモジュールである。
印刷要求受付手段112は、印刷サービス11の機能をSOAPのRPCによって提供するためのメソッドが実装されているモジュールである。例えば、印刷要求受付手段112は、文書データの印刷要求をメソッド呼び出しにより受け付けるための印刷メソッドや、印刷要求に基づいて発生するジョブのステータス情報取得メソッド等が実装されている。印刷サービス11の機能をSOAPのRPCによって呼び出せるようにすることで、インターネット環境におけるシステム構築において、クライアント側の実装を容易にすることができる。
印刷指示手段113は、印刷要求受付手段112における印刷メソッド(以下、単に「印刷メソッド」という。)からの印刷要求に応じて、文書アプリ114に対して文書データの印刷指示を行うモジュールである(以下、印刷指示手段による印刷指示に係るジョブを「印刷ジョブ」という。)。但し、印刷指示手段113は、印刷メソッドから印刷要求を受けたときに直ちに印刷ジョブを実行するわけではない。印刷指示手段113は、後述する非同期管理手段120と印刷ジョブキュー131とを利用することによって、印刷要求とは非同期に印刷ジョブを実行する。
非同期管理手段120は、印刷指示手段113に対し定期的に印刷ジョブの実行を促すためのプログラムであり、独立したプロセスとして起動されている。
印刷ジョブキュー131は、印刷指示手段113が印刷メソッドから受けた印刷要求に含まれる、印刷ジョブの内容を規定する情報(以下、「印刷ジョブ情報」という。)を一時的に保存しておくためのファイルである。
文書アプリ114は、文書データの生成や編集に利用されるアプリケーションであり、例えば、ワープロソフト、表計算ソフト等の各種アプリケーションが該当する。プリンタドライバ15は、プリンタを購入すると当該プリンタに添付されて提供されるいわゆるプリンタドライバであり、文書データを印刷先となるプリンタ50が処理可能な形式の印刷データに変換するためのモジュールである。
スプーラ116は、Windows(登録商標)等のOS(Operating System)によって提供されるいわゆるスプーラであり、プリンタドライバ115によって生成された印刷データを一時的に保存し、保存されている印刷データを順次ポートプログラム117に対して出力する。
ポートプログラム117は、一般的にポートモニタと呼ばれるモジュールの位置づけに相当するものであるが、本実施の形態においては予めOSによって提供されているポートモニタに代えて、独自に実装されたものが用いられている。すなわち、一般的なポートモニタは、スプーラから出力された印刷データをプリンタに対して出力することをその役割としているが、ポートプログラム117は、プリンタに対してではなく、プリンタ制御手段118に対して印刷データを出力するように実装されている。
なお、Windows(登録商標)においては、予め提供されているポートモニタではなく、独自に実施したモジュールをスプーラに呼び出させるように設定するための機能が提供されている。かかる機能を利用して、スプーラ116からポートプログラム117が呼び出されるようにしてもよい。
プリンタ制御手段118は、ポートプログラム117から出力された印刷データをプリンタ50に対して送信するとともに、プリンタ50の状態を常時監視するためのプログラムである。プリンタ制御手段118は、プリンタ50に対して印刷データを送信したとき(すなわち、プリンタ50に対して印刷要求を行ったとき)や、プリンタ50におけるジョブの状態が変化したとき等に、かかる旨をポート監視手段119に通知する。
ポート監視手段119は、プリンタ制御手段118からの通知に基づいて、当該通知に応じた処理(詳細については後述する。)を実行するプログラムである。
文書管理接続手段15は、文書管理サーバ20における文書管理手段22の機能をSOAPのRPCによって呼び出すためのインタフェースを提供するモジュールである。
ところで、印刷サーバ10においては、一つの印刷要求に基づいて実行される処理の段階に応じて、「直列的な関係」を有する複数の種類のジョブが発生する。一つは、印刷指示手段113によって処理される、上述した印刷ジョブである。また、一つは、スプーラ116によって処理されるジョブ(以下、「スプーラジョブ」という。)である。更に、プリンタ制御手段118においてもジョブ(以下、「プリンタジョブ」という。)が発生する。
なお、上記において「直列的な関係」とは、上記3種類のジョブが、それぞれ独立した(無関係な)事象に基づいて発生するのではなく、それぞれが一つ前の処理段階におけるジョブに基づいて発生することを意味している。すなわち、スプーラジョブは印刷ジョブに基づいて発生し、プリンタジョブはスプーラジョブに基づいて発生する。かかるジョブ間の直列的な関係を本実施の形態においてはジョブの親子関係と呼ぶこととする。従って、スプーラジョブは印刷ジョブの親ジョブであり、印刷ジョブはスプーラジョブの子ジョブとなる。同様に、スプーラジョブはプリンタジョブの親ジョブであり、プリンタジョブは印刷ジョブの子ジョブとなる。
印刷ジョブステータスファイル132、スプーラジョブステータスファイル133、及びプリンタジョブステータスファイル134は、それぞれ、印刷ジョブ、スプーラジョブ、プリンタジョブのステータス情報を管理するためのファイルであり、ジョブが発生するときにジョブごとに生成される。
ジョブ対応テーブル135は、3種類のジョブの対応づけを管理するためのテーブルである。
次に、印刷サーバ10のハードウェア構成例について説明する。図3は、本発明の実施の形態における印刷サーバのハードウェア構成例を示す図である。図3の印刷サーバ10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、演算処理装置104と、インタフェース装置105とを有するように構成される。
印刷サーバ10において印刷データの生成処理を実現するプログラムは、CD―ROM等の記憶媒体101によって提供される。プログラムを記録した記憶媒体101がドライブ装置100にセットされると、プログラムが記憶媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。
補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置103は、プログラムの起動指示があったときに、補助記憶装置102からプログラムを読み出して格納する。演算処理装置104は、メモリ装置103に格納されたプログラムに従って印刷サーバ10に係る機能を実行する。インタフェース装置105は例えばモデム、ルータ等で構成され、ネットワークに接続するために用いられる。
なお、文書管理サーバ20やWebサーバ30についても図3に示される印刷サーバ10と同様のハードウェア構成をとることができる。
以下、図1及び図2の印刷システム1の処理手順について説明する。図4〜図7は、印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。
ステップS11において、端末40のユーザが、Webブラウザ41に表示された文書一覧ページにおいて、印刷対象とする文書データ(以下、「対象データ」という。)を選択し、更に設定ページにおいて印刷処理を規定するパラメータ情報(以下、「印刷パラメータ情報」という。)を設定すると、Webブラウザ41は、Webサーバ30に対し対象データの印刷要求を送信する。
図8は、文書一覧ページの表示例を示す図である。文書一覧ページ410は、Webブラウザ41に文書一覧ページ410のURLを入力することにより、Webブラウザ41に表示させることができる。すなわち、Webブラウザ41が、ユーザによるURLの入力に基づいて文書一覧ページ410の送信要求をWebサーバ30に送信すると、Webサーバ30のWebアプリ32が、文書管理サーバ20の文書管理手段22を介して、文書管理DB23の所定のフォルダの文書の一覧情報を取得する。Webアプリ32は、取得した文書データの一覧情報を掲載したWebページ(文書一覧ページ410)を生成する。Webアプリ32によって生成された文書一覧ページ410は、httpd31によって端末40に送信され、Webブラウザ41に表示される。
文書一覧ページ410では、領域411に各文書データがサムネール表示されている。ここで、一つの文書データが表示されている矩形領域を「セル(cell)」と呼ぶこととすると、各セルは、文書データを選択するためのチェックボタンと、文書データの名前(文書名)を表示する文書名表示領域と、アイコン表示領域とを有している。例えば、文書名が「文書3」の文書データが表示されているセルについては、チェックボタン413、文書名表示領域414、及びアイコン表示領域415がある。
また、アイコン表示領域には、当該文書データを構成する文書ファイルの数と、現在アイコンとして表示されている文書ファイルの順番を示す値とが分数の形式で表示されている。例えば、文書1のアイコン表示領域215においては、「1/2」と表示されているが、これは、「文書1は、2つの文書ファイルから構成されており、現在アイコンとして表示されているのは、その2つの文書ファイルのうちの1番目の文書ファイルある。」ということを示している。すなわち、本実施の形態において、「文書データ」とは、一つ以上の文書ファイル(ワープロソフト等により生成されたファイル)の集合に対する概念をいう。一つの文書データを構成する各文書ファイルは、同一のアプリケーションによって生成されたものでもよく、それぞれ異なるアプリケーションによって生成されたものでもよい。なお、本実施の形態においては、文書データを構成する各ファイルの一単位を「セクション」と呼ぶこととする。従って、文書1は、2つのセクションによって構成されている文書データであるということができる。
ユーザが、印刷対象とする文書データに対応するチェックボタンをチェックし(図8においては、文書1をチェック)、文書出力メニュー412をクリックすることにより表示される図示しないメニュー項目「印刷」を選択すると、Webブラウザ41には、設定ページが表示される。
図9は、設定ページの表示例を示す図である。図9の設定ページ420は、対象文書表示領域421と、印刷条件設定領域422とから構成されている。対象文書表示領域421においては、文書一覧ページ410において印刷対象として選択された対象データの文書名の一覧が表示されている。
印刷条件設定領域422においては、印刷対象とするプリンタ、印刷対象とするセクション、原稿のサイズ、印刷方向、及び印刷開始位置等の設定が可能である。
ユーザが、設定ページ420において印刷パラメータ情報を設定し、OKボタン423をクリックすると、Webブラウザ41は、上述したステップS11における印刷要求を、印刷パラメータ情報を伴ってWebサーバ30に対して送信する。
ステップS11に続いてステップS12に進み、Webサーバ30のWebアプリ32は、印刷サーバ10の印刷要求受付手段112の印刷メソッドをSOAPのRPCによって呼び出すことにより、対象データの印刷を要求する。印刷メソッドの引数には、設定ページ420において設定された印刷パラメータ情報の値が指定される。
ステップS12に続いてステップS13に進み、印刷メソッドが呼び出された印刷サーバ10の印刷要求受付手段112は、印刷指示手段113に対し、対象データの印刷を要求する。ステップS13に続いてステップS14に進み、印刷指示手段113は、印刷要求に応じて実行すべき印刷ジョブを一意に識別するためのジョブ識別情報としてジョブIDを採番する(以下、印刷ジョブに対するジョブIDを「印刷ジョブID」という。)。ここでは、印刷ジョブIDとして「001」が採番されたこととし、印刷ジョブIDが001である印刷ジョブを「印刷ジョブ001」と呼ぶこととする。
ステップS14に続いてステップS15に進み、印刷指示手段113は、採番した印刷ジョブIDと印刷メソッドの引数に指定された印刷パラメータ情報とを対応付けた情報を印刷ジョブ情報として印刷ジョブキュー131に登録する(S15)。
図10は、印刷ジョブ情報の構成例を示す図である。図10に示されるように印刷ジョブ情報1310は、ジョブID、対象データID、ユーザ名、プリンタ名及び対象データ取得先URL等から構成されている。
ジョブIDは、ステップS14において採番した印刷ジョブIDである。対象データIDは、対象データを一意に識別する文書IDである。ユーザ名は、印刷要求元である端末40のユーザを印刷システム1において一意に識別するための名前である。プリンタ名は、印刷先のプリンタ50を識別する名前である。対象データ取得先URLは、対象データが保存されているサーバ(文書管理サーバ20)のURL(位置情報)を示す。
なお、印刷ジョブ情報には、その他にも設定ページ420において設定対象となっている印刷パラメータ情報が含まれるが、図10においては便宜上省略している。
ステップS15に続いてステップS16に進み、印刷指示手段113は、印刷ジョブ001のステータス情報を管理する印刷ジョブステータスファイル132を生成し、生成した印刷ジョブステータスファイル132に印刷ジョブ001のステータス情報の初期値を登録する。
図11は、印刷ジョブのステータス情報の構成例を示す図である。図11において、左の列はステータス情報を構成する項目の項目名を示し、右の列はステップS16において登録された各項目の値を示す。図11に示されるように、ステータス情報は、ジョブID、ジョブステータス、子ジョブの数、子ジョブIDのリスト、ジョブの受付時刻、ジョブ名、クライアント名、及び操作可否フラグ等から構成されている。
ジョブIDは、印刷ジョブIDを示す。ジョブステータスは、印刷ジョブの状態を識別するための文字列(ジョブ状態識別情報)を示す。ここでは、印刷ジョブが、印刷ジョブキュー131において待機中である旨を示す「pending」が登録されている。子ジョブの数は、既に発生している子ジョブの数を示す。子ジョブIDのリストは、既に発生している子ジョブのジョブID(子ジョブID)のリストを示す。ジョブ受付時刻は、印刷ジョブを受け付けた時刻である。ジョブ名は、ユーザから見てジョブを一意に識別可能とするために各ジョブに付けられた名前であり、本実施の形態においては、対象データの文書名を用いている。クライアント名は、印刷要求を行った端末40の名前である。操作可能フラグは、現在、印刷ジョブが削除や中断等の操作が可能な状態にあるか否かを示すフラグである。trueのときは、操作可能であることを示し、falseのときは、操作できないことを示す。以上で、印刷サーバ10において、一つの印刷要求に応じて一つの印刷ジョブが発生したことになる。
ステップS16に続いてステップS17に進み、印刷指示手段113は、ここでは印刷処理は実行せずに、新たに採番した印刷ジョブIDを印刷要求受付手段112に対して出力する。印刷ジョブIDは、印刷要求受付手段112によってWebアプリ32に対して送信され、Webアプリ32によってWebサーバ30にユーザごとに保存される(S18)。なお、Webサーバ30に保存された印刷ジョブIDは、Webアプリ32が印刷ジョブの状態を確認するとき等に用いられる。
ステップS18に続いてステップS19に進み、Webアプリ32は、印刷要求に対する応答として、印刷要求を受け付けた旨を表示するWebページ(以下、「応答ページ」という。)をWebブラウザ41に送信する。応答ページは、Webブラウザ41によって表示され、ユーザは、印刷要求が正常に受け付けられたことを確認することができる。
一方、印刷サーバ10においては、非同期管理手段120が定期的に印刷指示手段113に対して印刷ジョブの実行を促している(S20)。非同期管理手段120からの呼び出しに基づいて、印刷指示手段113は、印刷ジョブキュー131を参照し、印刷ジョブキュー131に印刷ジョブ情報が登録されているときは、当該印刷ジョブ情報を取得する(S21)。ここでは、印刷ジョブ001のジョブ情報が取得されたこととする。
ステップS21に続いてステップS22に進み、印刷指示手段113は、取得した印刷ジョブ情報(図10)における「対象データ取得先URL」によって特定される文書管理サーバ20の文書管理手段22から、同じく印刷ジョブ情報の「対象データID」によって特定される対象データを取得するため、文書管理手段22のセッション開設メソッドをSOAPのRPCによって呼び出すことにより、文書管理手段22に対し、セッションの開設を要求する。
ステップS22に続いてステップS23に進み、文書管理手段22は、印刷指示手段113とのセッションを開設し、セッション開設メソッドの戻り値として当該セッションを一意に識別するセッションIDを印刷指示手段113に対して送信する。(S24)。ステップS24に続いてステップS25に進み、印刷指示手段113は、文書管理手段22の文書取得メソッドを呼び出すことにより、文書管理手段22に対し対象データの送信を要求する。文書管理手段22は、文書管理DB23より対象データを検索し、印刷指示手段113に対して送信する(S27)。
ステップS27に続いて図5のステップS28に進み、印刷指示手段113は、文書管理サーバ20より取得した対象データの中から一つの文書ファイルを取り出し(ここで取り出された文書ファイルを以下、「カレント文書ファイル」という。)、カレント文書ファイルの種別に対応する文書アプリ114に対してカレント文書ファイルの印刷を要求する。文書アプリ114が、プリンタドライバ115に対しカレント文書ファイルの印刷を要求すると(S29)、プリンタドライバ115は、カレント文書ファイルの印刷データを生成し、生成した印刷データを一時的に保存する(S30)。印刷データが保存されると、処理の制御が文書アプリ114を経て印刷指示制御手段112に復帰する(S31、S32)。
ステップS32に続いてステップS33に進み、印刷指示手段113は、一時的に保存されている印刷データを取得し、当該印刷データをスプーラ116に対して出力することによりスプーラ116に対して印刷要求を行う。印刷データがスプーラ116に対して出力されることにより、印刷ジョブ001の子ジョブとして、スプーラ116において新たなスプーラジョブ(以下、新たに発生したスプーラジョブを「カレントスプーラジョブ」という。)が発生する。なお、印刷ジョブとスプーラジョブとは、処理の対象となるジョブの粒度が必ずしも一致しない。ここで、ジョブの粒度とは当該ジョブを構成する情報の情報量をいい、ジョブの粒度が一致しないとは、印刷ジョブからスプーラジョブへの遷移に応じてそれぞれのジョブを構成する情報の情報量が変化することをいう(以下、本実施の形態において同じ)。図12〜図14において各ジョブの粒度の関係を説明する。
図12は、複数の文書データの印刷が要求されたときに複数の文書データをまとめて印刷する場合の例を示す図である。この場合は、印刷ジョブ、スプーラジョブ、プリンタジョブを通して、処理対象となるジョブの粒度は同じである。すなわち、それぞれのジョブは、印刷が要求された複数の文書に対して一対一に対応する。
また、図13は、複数の文書データの印刷が要求されたときに文書データごとにまとめて印刷する場合の例を示す図である。この場合は、印刷ジョブが、印刷が要求された複数の文書データに対して一つ発生するのに対し、スプーラジョブ及びプリンタジョブは文書データごとに発生する。したがって、一つの印刷ジョブに基づいて複数のスプーラジョブが発生することになる。
更に、図14は、セクションごとに印刷する場合の例を示す図である。この場合は、印刷ジョブが、印刷が要求された一つ又は複数の文書データに対して一つ発生するのに対し、スプーラジョブ及びプリンタジョブは、セクションごとに発生する。したがって、一つの印刷ジョブに基づいて図13の場合よりも更に細かい粒度で複数のスプーラジョブが発生することになる。なお、本実施の形態においては、図14のケースを例として説明する。
ステップS33に続いてステップS34に進み、スプーラ116は、印刷要求に対する応答としてカレントスプーラジョブのスプーラジョブIDを印刷指示手段113に対して出力する。スプーラ116は、周知なように印刷要求に対して非同期に印刷処理を実行するため、ステップS34における応答は、スプーラ116が印刷処理を開始する前に行われる。
ステップS34に続いてステップS35に進み、印刷指示手段113は、カレントスプーラジョブに対応するスプーラジョブステータスファイルを生成し、生成したスプーラジョブステータスファイルにカレントスプーラジョブのステータス情報を登録する。
図15は、スプーラジョブのステータス情報の構成例を示す図である。図15に示されるステータス情報を構成する各項目については、図11で説明したものと同様である。図15より、カレントスプーラジョブのジョブID(スプーラジョブID)は、「10」であることが分かる。また、ジョブステータスは、スプーラ116によって処理中であることを示す「processing」が初期値として登録されている。なお、ジョブ名は、「ファイルA」となっている。これは、当該スプーラジョブの処理対象となっている印刷データの元となる文書ファイルのファイル名に基づいている。
ステップS35に続いてステップS36に進み、印刷指示手段113は、ジョブ対応テーブル135に印刷ジョブ001とカレントスプーラジョブの親子間の対応づけを登録する。
図16は、ジョブ対応テーブルの構成例を示す図である。図16に示されるように、ジョブ対応テーブル135は、印刷ジョブIDと、スプーラジョブIDと、プリンタジョブIDとを項目として有するテーブルである。ジョブ対応テーブル135の一つの行における各項目の値には親子関係を有するそれぞれのジョブのIDが登録される。図16においては、印刷ジョブ001の印刷ジョブIDとカレントスプーラジョブ(スプーラジョブ10)のジョブIDとが登録された様子を示しており、これによって、印刷ジョブ001とスプーラジョブ10との親子関係がジョブ対応テーブル135に管理されたこととなる。なお、プリンタジョブについてはまだ発生していないため、プリンタジョブIDの値は空となっている。
ステップS36に続いてステップS37に進み、印刷指示手段113は、印刷ジョブ001に対する印刷ジョブステータスファイル132(図11)に登録されているステータス情報を更新する。この処理はフローチャートを用いて説明する。図17は、ステータス情報の更新処理を説明するためのフローチャートである。
ステップS501において、印刷指示手段113は、ステータス情報における「子ジョブの数」の値をインクリメントする。ここでは、「子ジョブの数」の値は「1」になる。ステップS501に続いてステップS502に進み、印刷指示手段113は、子ジョブIDのリストに、新たに発生したスプーラジョブ10のスプーラジョブIDを追加する。ステップS502に続いてステップS503に進み、印刷指示手段113は、全ての子ジョブに対する処理が完了したか否かを判断する。ここでの「子ジョブに対する処理」とは、ステップS28からS36(図5)までの処理、すなわち、対象データを構成する全ての文書ファイルに対する処理をいう。
まだ、未処理の文書ファイルが残っているときは(S503でNo)、そのまま処理を抜ける。一方、全ての文書ファイルについて処理が完了したときは(S503でYes)ステップS504に進み、ジョブステータスの値を「pending」から「processing」に更新する。すなわち、親ジョブのジョブステータスの値は、全ての子ジョブのジョブステータスの値が更新されたとき更新される。
本実施の形態において対象データとなっている文書1は、二つの文書ファイルから構成されている。従って、現時点(一つ目の文書ファイル(ファイルA)に対する処理のみが完了した時点)では、全の文書ファイルに対する処理は完了していないためステップS504の処理は実行されない。
図5に戻る。印刷指示手段113は、対象データを構成する残りの文書ファイルについてもステップS28〜S37までの処理を繰り返す(S38)。したがって、本実施の形態においては、印刷ジョブ001に基づいてもう一つのスプーラジョブが発生することとなる。その結果、もう一つのスプーラジョブステータスファイル133が生成され、ジョブ対応テーブル135には、新たなレコードが追加される。
図18は、更に発生したスプーラジョブに対するスプーラジョブステータスファイルに登録されたステータス情報の例を示す図である。図16より、更に発生したスプーラジョブのスプーラジョブIDは、「20」であり、ジョブ名は「ファイルB」であることが分かる。また、ジョブステータスは、スプーラジョブ10(図15)と同様に「processing」が初期値として登録されている。
また、図19は、更に発生したスプーラジョブと印刷ジョブとの対応づけを登録した対応テーブルの例を示す図である。図19においてスプーラジョブIDの値が20のレコードが更に追加されたレコードである。図19のジョブ対応テーブル135より、現在印刷ジョブとしては印刷ジョブ001が一つ存在し、印刷ジョブ001の子ジョブであるスプーラジョブは、スプーラジョブ10とスプーラジョブ20とが存在することが分かる。
更に、対象データを構成する全ての文書ファイルに対する処理が完了すると、図17のステップS504において説明したように、印刷ジョブ001のジョブステータスの値が更新される。
図20は、印刷ジョブの処理によって更新された印刷ジョブステータスファイルにおけるステータス情報の例を示す図である。図20に示されるように印刷ジョブ001のジョブステータスの値が、「pending」から「processing」に更新されている。また、子ジョブの数の値が「2」になっている。更に、子ジョブIDのリストとしてスプーラジョブ10とスプーラジョブ20とのスプーラジョブIDが登録されている。
以上で、印刷ジョブ001に基づくスプーラ116に対するスプーラジョブの投入が完了し、続いてスプーラ116によってスプーラジョブが処理される。
図6のステップS41に進み、スプーラ116は、一つのスプーラジョブに応じた印刷要求をポートプログラム117に対して行う。なお、印刷要求に伴って、印刷データやスプーラジョブID等がポートプログラム117に渡される。
ステップS41に続いてステップS42に進み、ポートプログラム117は、プリンタ制御手段118に対して印刷要求を行う。印刷要求に伴って、印刷データ及びスプーラジョブIDがプリンタ制御手段118に渡される。この印刷要求に基づいて、プリンタ制御手段118において、スプーラジョブの子ジョブとして新たなプリンタジョブが発生する。なお、本実施の形態においてはスプーラジョブとプリンタジョブとは1対1の関係である。したがって、プリンタ制御手段118は、それぞれのプリンタジョブにスプーラジョブIDを関連付けて管理しておく。
プリンタ制御手段118は、印刷要求に対して非同期に処理を実行するため、印刷処理を行う前にポートプログラム117に対して応答を行い(S43)、更に、スプーラ116に処理の制御が復帰する(S44)。
上述したステップS41からS44のまでの処理は、スプーラ116に保持されている全てのスプーラジョブに対して実行される(S45)。したがって、本実施の形態においてはスプーラジョブ10及び20に基づいて、それぞれの子ジョブとして二つのプリンタジョブがプリンタ制御手段118において発生する。なお、この時点では、二つのプリンタジョブに対するジョブIDは採番されていないため、スプーラジョブ10、スプーラジョブ20のそれぞれの子ジョブとして発生したプリンタジョブを仮に「プリンタジョブA」、「プリンタジョブB」と呼ぶこととする。
以上で、スプーラ116によるスプーラジョブの処理が完了し、続いてプリンタ制御手段118によってプリンタジョブが処理される。
図7のステップS46に進み、プリンタ制御手段118は、一つのプリンタジョブ(プリンタジョブA)に応じた印刷要求(すなわち、一つの文書ファイルに基づいて生成された印刷データの印刷要求)をプリンタ50に対して送信する。この時点で、プリンタジョブに対するプリンタジョブIDが採番される。ここでは、プリンタジョブAに対するプリンタジョブIDとして「ABC」が採番されたこととする。したがって以下、プリンタジョブAを「プリンタジョブABC」と呼ぶ。
ステップS46に続いてステップS47に進み、プリンタ制御手段118は、プリンタジョブABCのプリンタジョブIDと共に、プリンタジョブABCに応じた印刷要求を完了した旨をポート監視手段119に対して通知する。
ステップS47に続いてステップS48に進み、ポート監視手段119は、プリンタ制御手段118に対してプリンタジョブABCのプリンタジョブIDを引数として、プリンタジョブABCの親ジョブのスプーラジョブIDを問い合わせることにより、プリンタジョブABCの親ジョブのスプーラジョブIDを取得する(S49)。
ステップS49に続いてステップS50に進み、ポート監視手段119は、プリンタジョブABCに対応するプリンタジョブステータスファイル134を生成し、生成したプリンタジョブステータスファイル134にプリンタジョブABCのステータス情報を登録する。
図21は、プリンタジョブのステータス情報の構成例を示す図である。図21に示されるステータス情報を構成する各項目については、図11で説明したものと同様である。図21に示されるように、プリンタジョブABCのジョブステータスには、プリンタにおいて処理中であることを示す「executing」が初期値として登録されている。
ステップS50に続いてステップS51に進み、ポート監視手段119は、図17において説明した処理手順と同様の処理によって、プリンタジョブABCの親ジョブであるスプーラジョブ10に対するスプーラジョブステータスファイル133のステータス情報を更新する。
図22は、プリンタジョブの処理によって更新されたスプーラジョブステータスファイルにおけるステータス情報の例を示す図である。図22に示されるようにスプーラジョブ10のジョブステータスは、「processing」から「executing」に更新されさている。また、子ジョブの数は「1」となり、子ジョブIDのリストには、プリンタジョブABCのプリンタジョブIDが登録されている。
ステップS51に続いてステップS52に進み、ポート監視手段119は、プリンタジョブABCのプリンタジョブIDを、スプーラジョブ10に対応づけてジョブ対応テーブル135に登録する。
図23は、プリンタジョブABCのプリンタジョブIDを登録したジョブ対応テーブルの例を示す図である。図23に示されるように、新たにプリンタジョブABCのプリンタジョブID「ABC」が、スプーラジョブ10に対応づけて登録されている。既に、印刷ジョブとスプーラジョブとの対応づけは登録されているため、プリンタジョブIDを新たに登録することによって、プリンタジョブと印刷ジョブとの対応づけもジョブ対応テーブル135によって管理されたことになる。
ステップS52に続いてステップS53に進み、ポート監視手段119は、プリンタジョブABCが属する印刷ジョブ001に属する全てのスプーラジョブのステータスが更新されたか否かを確認することにより、印刷ジョブ001のジョブステータスを更新する必要があるか否かを判断する。全てのスプーラジョブのステータスが更新されていれば、印刷ジョブ001のジョブステータスを更新する必要があり、そうでなければ、印刷ジョブ001のジョブステータスを更新する必要はない。
なお、プリンタジョブABCの属する印刷ジョブが印刷ジョブ001であることは、ジョブ対応テーブル135を参照して導き出すことができる。また、印刷ジョブ001に属する全てのスプーラジョブについても同様にジョブ対応テーブル135を参照して導き出すことができる。
この時点では、スプーラジョブ20のジョブステータスはまだ更新されていない(「processing」のまま)ため、ポート監視手段119は、印刷ジョブ001のジョブステータスは更新せずに、プリンタ制御手段118からの印刷要求完了通知(S47)に対する応答を行う(S54)。
上述した、ステップS46からS53までの処理は、全てのプリンタジョブに対して実行される(S55)。したがって、本実施の形態においては、更に、プリンタジョブBに対して同様の処理が実行されることになる。
プリンタジョブBに対してジョブIDが採番され(プリンタジョブBに対するプリンタジョブIDを「CDE」とする。したがって、以下プリンタジョブBを「プリンタジョブCDE」という。)、プリンタジョブCDEについてステップS52までの処理が実行されると、ステップS53において、ポート監視手段119は、印刷ジョブ001に属するすべてのスプーラジョブのステータスが「executing」に更新されたことを確認し、ステップS56に進む。
ステップS56において、ポート監視手段119は、印刷ジョブ001に対する印刷ジョブステータスファイルにおけるジョブステータスの値を「processing」から「executing」に更新する。
図24は、プリンタジョブの処理によって更新された印刷ジョブステータスファイルにおけるステータス情報の例を示す図である。図24に示されるように、印刷ジョブ001のジョブステータスの値が「executing」に更新されている。
ポート監視手段119からの応答を受け取ると(S57)、プリンタ制御手段118は、プリンタ50における印刷処理の状態をポーリングする(S58、S59)。すなわち、プリンタ制御手段118が、プリンタ50に対して印刷処理の状態の問い合わせを行い(S58)、プリンタ50が状態を示す応答を行う(S59)という処理が繰り返される。
したがって、プリンタ50においてなんらかのイベント(例えば、印刷の完了、異常の発生等)が発生すると(S60)、プリンタ制御手段118は、プリンタ50からの応答によってその旨を検知する(S61、S62)。プリンタ制御手段118は、検知したイベントを当該イベントの対象となったプリンタジョブのプリンタジョブIDと共にポート監視手段119に通知する(S63)。
プリンタ制御手段118から通知を受け取ったポート監視手段119は、イベントの種類に対応させて、各ジョブのジョブステータスを更新する(S64)。この処理はフローチャートによって説明する。
図25は、プリンタ制御手段から通知を受け取ったときのポート監視手段による処理を説明するためのフローチャートである。
例えば、プリンタ制御手段118よりプリンタジョブABCに対する印刷の完了が通知されたとする。ステップS511において、ポート監視手段119は、プリンタジョブABCに対するプリンタジョブステータスファイル134におけるジョブステータスの値を「completed」(印刷完了)とする。
ステップS511に続いてステップS512に進み、ポート監視手段119は、プリンタジョブABCの親ジョブであるスプーラジョブ10に対するスプーラジョブステータスファイル133におけるジョブステータスの値を「completed」とする。
ステップS512に続いてステップS513に進み、ポート監視手段119は、プリンタジョブABCが属する印刷ジョブ001の全ての子ジョブ(スプーラジョブ)のジョブステータスが更新されたか(「completed」になったか)否かを判断する。
全ての子ジョブのジョブステータスが更新されたときは、ポート監視手段119は、印刷ジョブ001に対する印刷ジョブステータスファイル132におけるジョブステータスの値を「completed」に更新する(S514)。一方、全ての子ジョブのジョブステータスが更新されていないときは、印刷ジョブ001のジョブステータスの値は更新されない。したがって、プリンタジョブABCに続いてプリンタジョブCDEに対する印刷の完了が更に通知されたときに、印刷ジョブ001のジョブステータスの値が「completed」に更新される。
図25の処理は、プリンタ制御手段118から通知があるたびに実行され、各ジョブのジョブステータスが随時更新されることになる。
以上で、端末40のWebブラウザ41からの印刷要求に基づいて実行される印刷処理は終了する。上述したように、印刷サーバ10においては、処理の段階に応じてジョブが発生するとともに、各ジョブのジョブステータスの値が変化する。ここで、処理の段階とジョブステータスの値との関係について改めて整理しておく。
図26は、印刷処理の段階とジョブステータスの値との関係を示す図である。図26に示されるように、pending(待機中)は、印刷指示手段113が印刷要求を受け付けてからスプーラ116に対する印刷要求が行われるまでを表す。
processing(処理中)は、スプーラ116が印刷要求を受け付けてから、プリンタ制御手段118によってプリンタ50に対して印刷要求が行われる直前までを表す。
executing(実行中)は、プリンタ制御手段118がプリンタ50に対して印刷要求を行ってから、プリンタ50において印刷等のイベントが発生する直前までを表す。
completed(正常終了)は、プリンタ50によって印刷が実行された以降を表わす。
また、図26において、各ジョブステータスの値の下には、それぞれのジョブステータスにおける操作可否フラグの値が示されている。操作可否フラグの値の表示より、ジョブステータスの値がpending、processing、及びexecutingのときは、当該ジョブは操作可能であり、completedのときは、当該ジョブは操作不能であることが分かる。
以下、印刷サーバ10内における各ジョブのステータス情報をWebサーバ30に対して(あるいはWebサーバ30を介して端末40に対して)提供するときの処理について説明する。
図27は、印刷サーバがジョブのステータス情報を提供するときの処理を説明するためのシーケンス図である。
ステップS101において、ユーザがWebブラウザ41に、印刷サーバ10におけるジョブのステータス情報の一覧を表示するWebページ(以下、「ジョブ一覧ページ」という。)のURLを入力すると、Webブラウザ41は、Webサーバ30に対してジョブ一覧ページの送信を要求する。ステップS101に続いてステップS102に進み、Webアプリ32は、プリンタサーバ10の印刷要求受付手段112のステータス情報取得メソッドをSOAPのRPCによって呼び出すことにより、プリンタサーバ10に対して、端末40のユーザが過去に行った印刷要求に基づく印刷ジョブのステータス情報の取得を要求する。
図28は、ステータス情報取得メソッドのインタフェースを説明するための図である。図28においては、ステータス情報取得メソッドの主な引数の一覧と、各引数が入力引数(メソッドの呼び出し側が指定する情報)であるか、出力引数(戻り値として返却される情報)であるかの別とを表示している。図28より、ステータス情報取得メソッドは、親ジョブIDとジョブIDとを入力引数とし、ステータス情報を出力引数として有している。
親ジョブIDには、ステータス情報の取得対象とするジョブが属する印刷ジョブの印刷ジョブIDを指定する。
ジョブIDには、ステータス情報の取得対象とするスプーラジョブ又はプリンタジョブのジョブIDを指定する。但し、ステータス情報の取得対象とするジョブが印刷ジョブのときは、何も指定しない。上述した親ジョブIDにおいて、当該印刷ジョブの印刷ジョブIDが指定されているからである。
ステータス情報は、ステータス情報の取得対象となったジョブのステータス情報ファイルに保存されているステータス情報(図11等)の値である。ここで、ステータス情報には子ジョブIDのリストが含まれている。この子ジョブIDのリストによって、ステータス情報の取得対象とするジョブと当該ジョブの子ジョブのステータス情報との関連付けが実現されている。
従って、ステップS102においては、Webアプリ32は、各入力引数に以下のように値を指定してステータス情報取得メソッドを呼び出す。
親ジョブID: カレントユーザからの印刷要求に応じて印刷メソッドを呼び出したとき(図4:S12)に返却され、Webアプリ32が保存しておいた印刷ジョブID(S18)。カレントユーザから過去に複数の印刷要求を受けているときは、複数の印刷ジョブIDのうちの一つ。
ジョブID: NULL値
なお、Webアプリ32がステータス情報収録メソッドをSOAPのRPCによって呼び出すことにより図29に示すようなSOAPメッセージが印刷要求受付手段112に対して送信される。
図29は、ステータス情報取得メソッドを呼び出すときのSOAPメッセージの例を示す図である。図29のSOAPメッセージ710において、タグ711のタグ名である「getJobList」が、ステータス情報取得メソッドのメソッド名である。また、記述712、713及び714は、引数情報である。<parentJobID>タグで囲まれた記述712は、引数としての親ジョブIDに対応しており、その値は「001」と指定されているのが分かる。<jobID>タグで囲まれた記述713は、引数としてのジョブIDに対応しており、その値には何も指定されていないのが分かる。
ステップS102に続いてステップS103に進み、ステータス情報取得メソッドを呼び出された印刷要求受付手段112は、ステータス情報取得メソッドに実装された処理を実行する。
図30は、ステータス情報取得メソッドにおける処理を説明するためのフローチャートである。
まず、印刷要求受付手段112は、引数の親ジョブIDに値が指定されているか否を判断し(S521)、値が指定されていないときはエラーを返却する(S530)。親ジョブIDの値が指定されているときは、引数のジョブIDに値が指定されているか否かを判断する(S522)。ジョブIDが指定されていないときは、引数の親ジョブIDによって特定される印刷ジョブを対象ジョブとし、当該印刷ジョブに対する印刷ジョブステータスファイル132よりステータス情報を取得する(S523)。一方、引数のジョブIDに値が指定されているときは、当該ジョブIDがプリンタジョブIDであるか否かを判断する(S524)。ジョブIDがプリンタジョブIDであるか否かは引数のジョブIDがプリンタジョブIDの番号体系に沿ったものかによって判断すればよい。
ジョブIDがプリンタジョブIDでないときは当該ジョブIDは、スプーラジョブIDであると判断できるため、当該ジョブIDによって特定されるスプーラジョブを対象ジョブとし、当該スプーラジョブに対するスプーラジョブステータスファイル133よりステータス情報を取得する(S525)。一方、プリンタジョブIDが指定されているときは、プリンタジョブIDによって特定されるプリンタジョブを対象ジョブとし、当該プリンタジョブに対するプリンタジョブステータスファイル134よりステータス情報を取得する(S526)。
最後に、取得したステータス情報を出力引数にセットし、リターンする(S527)。したがって、ステップS103(図27)においては、印刷ジョブのステータス情報が、ステータス情報取得メソッドの出力引数の値となる。
図27のステップS104に進み、印刷要求受付手段112は、ステータス情報取得メソッドの返却情報として出力引数(ステータス情報)の値を含むSOAPメッセージをWebアプリ32に対して送信する。
図31は、ステータス情報取得メソッドの返却情報を含むSOAPメッセージを示す図である。図31のSOAPメッセージ720において、符号721で示される部分がステータス情報である。すなわち、記述722においてジョブステータス(「executing」)が示されている。記述723にはジョブの受付日時が示されている。記述724には、子ジョブの数(「2」)が示されており、記述725には、子ジョブIDのリスト(「10」、「20」)が示されている。記述726、記述727にはそれぞれ操作可否フラグ(「true」)、ジョブ名(「文書1」)が示されている。
以上、ステップS102〜ステップS104までの処理は、Webアプリ32において保存されているカレントユーザに対する印刷ジョブIDの数だけ繰り返される(S105)。従って、Webサーバ30には、カレントユーザに対する全ての印刷ジョブのステータス情報が収集される。
ステップS106に進み、Webアプリ32は、ステータス情報取得メソッドを呼び出すことによって取得したステータス情報に基づいてジョブ一覧ページを生成し、Webブラウザ41に送信する(S107)。ジョブ一覧ページ41は、Webブラウザ41によって表示され、ユーザは、過去に行った印刷要求に対する印刷ジョブの状態を確認することができる。
図32は、ジョブ一覧ページの表示例を示す図である。図32に示されるようにジョブ一覧ページ430には、各印刷ジョブについてジョブ名、ジョブステータス、及び受付時間等の属性が表示されている。
ジョブ名が文書1の印刷ジョブ(以下、「文書1ジョブ」という。他のジョブの呼び方についても同様とする。)のジョブステータスは「実行中」と表示されている。プリンタサーバ30においては、印刷ジョブのジョブステータスは、当該印刷ジョブに属する全てのスプーラジョブのジョブステータスが更新されたときに更新される。また、一つのスプーラジョブは一つの文書ファイルに対応している。したがって、文書1ジョブのジョブステータスが「実行中」と表示されることによって、文書1を構成する全ての文書ファイルについて、少なくともプリンタ50に対する印刷要求までは完了しているということが分かる(図26参照)。
同様に、文書2ジョブについては、文書2を構成する全ての文書ファイルについて、少なくともスプーラ116に対する印刷要求までは完了していることが分かる。また、文書3ジョブについては、まだ全ての文書ファイルについてスプーラ116まで処理が遷移していないことが分かる。
ジョブ名が文書1ジョブと文書2ジョブのそれぞれの行の先頭には、「>>」のマークが表示されている。これは、当該ジョブには、子ジョブが存在することを示す。また、当該ジョブのジョブ名には下線が表示されているが、これは当該ジョブの子ジョブのステータス情報を表示させるためのリンク(リンク431)が張られていることを示す。すなわち、Webアプリ32は、ジョブ一覧ページ430を生成するときに、ステータス情報取得メソッドにより取得したステータス情報に含まれる「子ジョブの数」を参照することにより、各ジョブに子ジョブが存在するか否かを判断し、その結果に基づいて「>>」マークやリンクの付加を行っている。
なお、キャンセルボタン431及び一時停止ボタン432は、ジョブ一覧ページ430に表示されているジョブを操作するためのボタンであるが、詳細については後述する。
図27に戻り、端末40のユーザが、文書1ジョブに属するスプーラジョブのジョブステータスを参照すべく、リンク431をクリックすると、Webブラウザ32は、文書1ジョブに属するスプーラジョブのジョブステータスを表示したジョブ一覧ページの送信をWebサーバ30に対して要求する(S111)。
ステップS111に続いてステップS112に進み、Webアプリ32は、印刷要求受付手段112のステータス情報取得メソッドをSOAPのRPCによって呼び出すことにより、文書1ジョブに属するスプーラジョブのうちの一つのステータス情報の送信を印刷要求受付手段112に対して要求する。なお、ステータス情報取得メソッドの各引数(図28)には以下の値が指定される。
親ジョブID: 文書1ジョブの印刷ジョブID
ジョブID: ステップS104において、出力引数として受信したステータス情報に含まれる子ジョブIDのリストのうちの一つ
ステップS112においてWebアプリ32から印刷要求受付手段112に対して送信されるSOAPメッセージの例は、図33に示される。図33は、スプーラジョブのステータス情報を取得するためにステータス情報取得メソッドを呼び出すときのSOAPメッセージの例を示す図である。
図33のSOAPメッセージ730の構造は、図29のSOAPメッセージ710と同様である。図33に示されるように、親ジョブID(記述731)には、印刷ジョブIDである「001」が、ジョブID(記述732)には、ステップS104において受信したステータス情報に含まれる子ジョブIDのリストのうちの一つである「10」が指定されている。
ステップS112に続いてステップS113に進み、印刷要求受付手段112は、図30において説明した処理を実行し、ステータス情報取得メソッドの返却情報として、引数に指定された親ジョブID及びジョブIDによって特定されるスプーラジョブのステータス情報を含むSOAPメッセージをWebアプリ32に対して送信する。
図34は、ステータス情報取得メソッドの返却情報を含むSOAPメッセージを示す図である。図34のSOAPメッセージ740の構造は、図31のSOAPメッセージ720とほぼ同様である。SOAPメッセージ740より、ジョブステータスは、「completed」(記述741)、子ジョブの数は「1」個(記述742)、その子ジョブのIDは、「ABC」(記述743)、操作可否フラグの値は、「false」(記述744)、ジョブ名は、「ファイルA」(記述745)であることが分かる。
以上、ステップS112〜ステップS114までの処理は、文書1ジョブに属するスプーラジョブの数だけ繰り返される(S115)。従って、Webサーバ30には、文書1ジョブに属する全てのスプーラジョブのステータス情報が収集される。
ステップS116に進み、Webアプリ32が、ステータス情報取得メソッドを呼び出すことによって取得したステータス情報に基づいてジョブ一覧ページを生成し、Webブラウザ41に送信すると、ジョブ一覧ページ41が、Webブラウザ41によって表示される(S117)。
図35は、スプーラジョブのジョブステータスを表示したジョブ一覧ページの表示例を示す図である。図35に示されるジョブ一覧ページ440の領域441には文書1ジョブに属するスプーラジョブの一覧が、文書1ジョブに関連付けられて、かつ、文書1ジョブとの親子関係が認識できるよう階層的に表示されている。領域441より、文書1ジョブに属するスプーラジョブとしては、ファイルAジョブとファイルBジョブが存在し、ファイルAジョブについては、「正常終了」であることが分かり、ファイルBジョブについては、「実行中」であることが分かる。
図27に戻り、ユーザがジョブ一覧ページ440上においてリンク443をクリックすると、Webブラウザ32は、ファイルBジョブに属するプリンタジョブのジョブステータスを表示するジョブ一覧ページの送信をWebサーバ30に対して要求する(S121)。
ステップS121に続いてステップS122に進み、Webアプリ32は、印刷要求受付手段112のステータス情報取得メソッドを呼び出すことにより、ファイルBジョブに属するプリンタジョブのステータス情報の送信を印刷要求受付手段112に対して要求する。なお、ステータス情報取得メソッドの各引数には以下の値が指定される。
親ジョブID: 文書1ジョブの印刷ジョブID
ジョブID: ステップS114において、出力引数として受信したステータス情報に含まれる子ジョブID
ステップS122に続いてステップS123に進み、印刷要求受付手段112は、図30において説明した処理を実行し、引数に指定された親ジョブID及びジョブIDによって特定されるプリンタジョブのステータス情報を出力引数の値としてWebアプリ32に対して送信する。
なお、本実施の形態においては、スプーラジョブとプリンタジョブは1対1に対応しているため、ステップS122〜ステップS124までの処理は、上述したステップS112〜ステップS124と異なり、繰り返す必要はない。
ステップS125に進み、Webアプリ32が、ステータス情報取得メソッドを呼び出すことによって取得したステータス情報に基づいてジョブ一覧ページを生成し、Webブラウザ41に送信すると、ジョブ一覧ページ41が、Webブラウザ41によって表示される(S126)。
図36は、プリンタジョブのジョブステータスを表示したジョブ一覧ページの表示例を示す図である。図36に示されるジョブ一覧ページ450の領域451には、ファイルBジョブに属するプリンタジョブのジョブステータスが表示されている。
上述したように、本実施の形態における印刷サーバ10によれば、印刷ジョブ、スプーラジョブ、及びプリンタジョブのそれぞれのステータス情報をWebサーバ30等のクライアントに提供することができる。したがって、クライアント側では、それぞれのジョブの単位に応じて、ジョブの状態を確認することができる。
特に、ユーザからの印刷要求に対応する印刷ジョブの状態を提供することによって、ユーザは、一つ一つの文書ファイルに対する処理状態を確認するまでもなく、自分が行った印刷要求に対する処理全体の総括的な状態を容易に確認することができる。
更に、ステータス情報には、当該ジョブに属する子ジョブIDのリストが含まれているため、クライアントにおいて各ジョブの親子関係を認識することができる。したがって、クライアントにおいては、本実施の形態におけるジョブ一覧ページのような、各ジョブの親子関係をツリー形式等、階層的に表現できるユーザインタフェースを構築することができる。なお、ジョブ一覧ページ上におけるステータス情報の表示は、かならずしもツリー形式である必要はなく、各ジョブの親子関係が明確に認識しうる態様であれば、例えば、テーブル形式等であってもよい。
次に、ユーザによってジョブのキャンセルが指示されたときの処理について説明する。図37は、ジョブのキャンセルを実行するときの印刷システムにおける処理を説明するためのシーケンス図である。
ユーザがジョブ一覧ページ450(図36)において、チェックボタン453をチェックすることにより、印刷ジョブである文書1ジョブをキャンセル対象のジョブとして選択し、キャンセルボタン452をクリックすると、Webアプリ32を介して文書1ジョブのキャンセル要求が印刷要求受付手段112に送信される(S141、S142)。なお、Webアプリ32による印刷要求受付手段112に対するジョブのキャンセル要求は、Webアプリ32が印刷要求受付手段112の有するキャンセルメソッドをSOAPのRPCによって呼び出すことにより行われる。ステップS142に続いてステップS143に進み、キャンセルメソッドを呼び出された印刷要求受付手段112は、キャンセルメソッドに実装された処理を実行する。
図38は、キャンセルメソッドにおける処理を説明するためのフローチャートである。
まず、印刷要求受付手段112は、キャンセル対象として指定されたジョブ(対象ジョブ)のジョブステータスファイルに登録されている「子ジョブの数」を参照することにより、キャンセル対象として指定されたジョブ(対象ジョブ)に子ジョブが存在するか否かを判断する(S541)。
ここで、子ジョブが存在しないということは、処理の段階が対象ジョブより先には進んでいないことを意味する。したがって、このときは、対象ジョブの実行手段に対してジョブのキャンセルを通知すればよい。なお、対象ジョブの実行手段とは、対象ジョブが印刷ジョブのときは印刷指示手段113が、スプーラジョブのときはスプーラ116が、プリンタジョブのときはプリンタ制御手段118がそれぞれ該当する。
一方、子ジョブが存在するということは、既に処理の段階が対象ジョブより先に進んでいるということを意味する。したがって、このときは対象ジョブの実行手段に対してではなく、先の段階の処理を実行する子ジョブの実行手段に対してジョブのキャンセルを通知する必要がある。
対象ジョブに子ジョブが存在しないときはステップS542に進み、印刷要求受付手段112は、対象ジョブのジョブステータスファイルに登録されている操作可否フラグを参照することにより対象ジョブの操作が可能であるか否かを判断する。
対象ジョブの操作フラグが「false」のとき(ステップS542でNoのとき)、すなわち、対象ジョブがもはや操作不能の処理段階に移っているときは、ジョブのキャンセルは不可能なため、印刷要求受付手段112は、キャンセルメソッドの処理から復帰する。
対象ジョブの操作フラグが「true」のとき(ステップS543でYesのとき)は、ステップS543に進み、印刷要求受付手段112は、ジョブのキャンセルを実行し、キャンセルメソッドの処理から復帰する。
ここで、ステップS543における処理は、対象ジョブの種類によって異なる。対象ジョブが印刷ジョブのときは、印刷要求受付手段112が、対象ジョブの印刷ジョブステータスファイル132におけるジョブステータスの値を「canceled」(キャンセル)とすることにより、対象ジョブのキャンセルが実現される。印刷指示手段113は、ジョブステータスの値が「canceled」である印刷ジョブについては処理を行わないからである。
また、対象ジョブがスプーラジョブ、又はプリンタジョブのときは、印刷要求受付手段112が、スプーラ116又はプリンタ制御手段118に対してジョブのキャンセルを指示し(APIの呼び出し)、更に、対象ジョブのジョブステータスの値を「canceled」とすることにより、対象ジョブのキャンセルが実現される。
一方、ステップS541において対象ジョブには子ジョブが存在すると判断したときは、ステップS545に進み、印刷要求受付手段112は、対象ジョブの全ての子ジョブについてステップS541からステップS543までの処理を実行する。したがって、対象ジョブの全ての子ジョブ及びさらにその子ジョブのうち、子ジョブの数が0で、かつ、操作可否フラグの値がtrueのものについては、再帰的にキャンセル(S543)が実行される。
ステップS545に続いてステップS546に進み、印刷要求受付手段112は、対象ジョブのジョブステータスの値を、キャンセルした子ジョブ以外の子ジョブのジョブステータスのうち最も処理が遅れているものと同じジョブステータスに更新し、キャンセルメソッドの処理から復帰する。但し、全ての子ジョブをキャンセルしたときは、対象ジョブステータスの値は、「canceled」となる。
対象ジョブが文書1ジョブの場合(図36)について、図38の処理を当てはめてみる。文書1ジョブには子ジョブとして、スプーラジョブのファイルAジョブとファイルBジョブとが存在するため、これらの子ジョブに対してステップS545の処理(すなわちステップS541〜S543の処理)が再帰的に実行される。
ここで、ファイルAジョブのジョブステータスは、正常終了(completed)である。したがって、ファイルAジョブの操作可否フラグの値は「false」ということになる(図26参照)。よって、ファイルAジョブについては、キャンセルは実行されない(S542)。
一方、ファイルBジョブには、子ジョブとしてプリンタジョブとしてのファイルBジョブ(以下、「ファイルBプリンタジョブ」という。)が存在する(S541)。したがって、ファイルBプリンタジョブについて再帰的にステップS545の処理が実行される。その結果、ファイルBプリンタジョブについては、ジョブのキャンセルが実行され(S543)。スプーラジョブとしてのファイルBジョブのジョブステータスの値も「canceled」となる(S546)。
更に、文書1ジョブの全ての子ジョブについてS545の処理が終了すると、文書1ジョブのジョブステータスが、キャンセルされたファイルBジョブ以外のジョブ、すなわち、ファイルAジョブの値と同じ、「completed」(正常終了)となる。
図37に戻る。ステップS144に進み、印刷要求受付手段112は、キャンセルメソッドの呼び出しに対する応答として、ジョブのキャンセルを実行した後の、対象ジョブ以下のステータス情報の一覧をWebアプリ32に対して送信する。ステップS144に続いてステップS145に進み、Webアプリ32が、ステータスがキャンセルになっているジョブを非表示としたジョブ一覧ページを生成し、Webブラウザ41に送信すると、ジョブ一覧ページがWebブラウザ41に表示される。
図39は、文書1ジョブに対してキャンセルを実行した後のジョブ一覧ページの表示例を示す図である。図39のジョブ一覧ページ460を、図36のジョブ一覧ページ450と比較すると、文書一覧ページ460においては、文書1ジョブの子ジョブであったファイルBジョブ(スプーラジョブ)と、ファイルBジョブ(スプーラジョブ)の子ジョブであるファイルBプリンタジョブとが非表示となっている。
また、文書1ジョブのジョブステータスの表示は、ファイルAジョブのジョブステータスの値と同じ「正常終了」となっている。
なお、上述においては、ジョブ一覧ページ450において印刷ジョブがキャンセルの対象として選択された場合について説明したが、スプーラジョブやプリンタジョブが選択された場合でも同様の手順(図27、図30)によってジョブをキャンセルすることができる。また、ジョブの操作はキャンセルだけに限らず、一時停止やその他様々な機能についても、上述した手順(図27、図30)によって実現することができる。
上述したように、本実施の形態における、印刷システム1によれば、ユーザは、印刷処理の各段階におけるジョブを容易に操作することができる。特に、印刷要求に対応する印刷ジョブの単位でジョブの操作を行うことができるため、ユーザは、自らがおこなった印刷要求に係る全てのスプーラジョブをキャンセルしたい場合等に、それぞれのスプーラジョブを操作する必要はない。
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本発明の実施の形態における印刷システムの構成例を示す図である。 印刷サーバにおける印刷サービスの機能構成例を示す図である。 本発明の実施の形態における印刷サーバのハードウェア構成例を示す図である。 印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。 印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。 印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。 印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。 文書一覧ページの表示例を示す図である。 設定ページの表示例を示す図である。 印刷ジョブ情報の構成例を示す図である。 印刷ジョブのステータス情報の構成例を示す図である。 複数の文書データの印刷が要求されたときに複数の文書データをまとめて印刷する場合の例を示す図である。 複数の文書データの印刷が要求されたときに文書データごとにまとめて印刷する場合の例を示す図である。 セクションごとに印刷する場合の例を示す図である。 スプーラジョブのステータス情報の構成例を示す図である。 ジョブ対応テーブルの構成例を示す図である。 ステータス情報の更新処理を説明するためのフローチャートである。 更に発生したスプーラジョブに対するスプーラジョブステータスファイルに登録されたステータス情報の例を示す図である。 更に発生したスプーラジョブと印刷ジョブとの対応づけを登録した対応テーブルの例を示す図である。 印刷ジョブの処理によって更新された印刷ジョブステータスファイルにおけるステータス情報の例を示す図である。 プリンタジョブのステータス情報の構成例を示す図である。 プリンタジョブの処理によって更新されたスプーラジョブステータスファイルにおけるステータス情報の例を示す図である。 プリンタジョブABCのプリンタジョブIDを登録したジョブ対応テーブルの例を示す図である。 プリンタジョブの処理によって更新された印刷ジョブステータスファイルにおけるステータス情報の例を示す図である。 プリンタ制御手段から通知を受け取ったときのポート監視手段による処理を説明するためのフローチャートである。 印刷処理の段階とジョブステータスの値との関係を示す図である。 印刷サーバがジョブのステータス情報を提供するときの処理を説明するためのシーケンス図である。 ステータス情報取得メソッドのインタフェースを説明するための図である。 ステータス情報取得メソッドを呼び出すときのSOAPメッセージの例を示す図である。 ステータス情報取得メソッドにおける処理を説明するためのフローチャートである。 ステータス情報取得メソッドの返却情報を含むSOAPメッセージを示す図である。 ジョブ一覧ページの表示例を示す図である。 スプーラジョブのステータス情報を取得するためにステータス情報取得メソッドを呼び出すときのSOAPメッセージの例を示す図である。 ステータス情報取得メソッドの返却情報を含むSOAPメッセージを示す図である。 スプーラジョブのジョブステータスを表示したジョブ一覧ページの表示例を示す図である。 プリンタジョブのジョブステータスを表示したジョブ一覧ページの表示例を示す図である。 ジョブのキャンセルを実行するときの印刷システムにおける処理を説明するためのシーケンス図である。 キャンセルメソッドにおける処理を説明するためのフローチャートである。 文書1ジョブに対してキャンセルを実行した後のジョブ一覧ページの表示例を示す図である。
符号の説明
10 印刷サーバ
11 印刷サービス
20 文書管理サーバ
21 SOAPリスナ
22 文書管理手段
23 文書管理DB
30 Webサーバ
31 httpd
32 Webアプリ
33 SOAPプロキシ
40 端末
41 Webブラウザ
50 プリンタ
100 ドライブ装置
101 記憶媒体
102 補助記憶装置
103 メモリ装置
104 演算処理装置
105 インタフェース装置
111 SOAPリスナ
112 印刷要求受付手段
113 印刷指示手段
114 文書アプリ
115 プリンタドライバ
116 スプーラ
117 ポートプログラム
118 プリンタ制御手段
119 ポート監視手段
120 非同期管理手段
121 文書管理接続手段
132 印刷ジョブステータスファイル
133 スプーラジョブステータスファイル
134 プリンタジョブステータスファイル
135 ジョブ対応テーブル
B バス

Claims (13)

  1. ネットワークを介して接続されるクライアント装置からの複数の文書ファイルの集合に関する印刷要求の受信に応じ、前記印刷要求ごとの第一の印刷ジョブのジョブ識別情報を生成し、該ジョブ識別情報を前記クライアント装置に返信する要求受付手段と、
    前記集合に含まれている前記文書ファイルごとの第二の印刷ジョブを前記複数の文書ファイルについて同一の画像形成装置に実行させる印刷制御手段と、
    前記第一の印刷ジョブのジョブ識別情報と前記第二の印刷ジョブのジョブ識別情報とを関連付けて記憶する対応情報記憶手段と、
    前記第一の印刷ジョブの状態を示すジョブ状態情報を記憶する第一のジョブ状態情報記憶手段と、
    前記第二の印刷ジョブの状態を示すジョブ状態情報を記憶する第二のジョブ状態情報記憶手段と、
    前記第二の印刷ジョブの状態の変化に応じ、当該第二の印刷ジョブの前記ジョブ状態情報を更新し、前記集合に含まれている全ての前記第二の印刷ジョブの状態の変化に応じ、当該集合に係る前記第一の印刷ジョブの前記ジョブ状態情報を更新するジョブ状態情報更新手段と、
    前記クライアント装置からの印刷ジョブの前記ジョブ状態情報の提供要求に応じ、該提供要求において指定されたジョブ識別情報に対応する前記第一の印刷ジョブ又は前記第二の印刷ジョブに係る前記ジョブ状態情報を前記クライアント装置に提供するジョブ情報提供手段とを有し、
    前記ジョブ情報提供手段は、前記提供要求において指定されたジョブ識別情報に対応する印刷ジョブが前記第一の印刷ジョブである場合は、当該第一の印刷ジョブに係る前記第二の印刷ジョブを前記対応情報記憶手段を用いて判定し、当該第二の印刷ジョブのジョブ識別情報を当該第一の印刷ジョブのジョブ状態情報と関連付けて前記クライアント装置に提供する印刷処理装置。
  2. 前記ジョブ情報提供手段は、所定のメソッドの呼び出しに応じて前記ジョブ状態情報を提供し、
    前記クライアント装置からの要求は、前記所定のメソッドの呼び出し要求であることを特徴とする請求項記載の印刷処理装置。
  3. 前記クライアント装置からの前記第一の印刷ジョブに対する操作要求応じ前記第一の印刷ジョブに係る前記第二の印刷ジョブに対して前記操作要求に係る操作を実行するジョブ操作手段をする請求項1又は2記載の印刷処理装置。
  4. 前記ジョブ操作手段は、前記第一の印刷ジョブに係る前記第二の印刷ジョブのうち、前記ジョブ状態情報に基づいて前記操作要求に係る操作が可能であると判定される前記第二のジョブに対して該操作を実行する請求項3記載の印刷処理装置。
  5. 前記画像形成装置に前記第二の印刷ジョブに係る印刷処理の状態を問い合わせる印刷状態問い合わせ手段を有し、
    前記ジョブ状態情報更新手段は、前記印刷状態問い合わせ手段による問い合わせ結果に基づいて、前記第二の印刷ジョブの前記ジョブ状態情報を更新することを特徴とする請求項1乃至4いずれか一項記載の印刷処理装置。
  6. 印刷処理装置とクライアント装置とを有する印刷処理システムであって、
    前記印刷処理装置は、
    前記クライアント装置からの複数の文書ファイルの集合に関する印刷要求の受信に応じ、前記印刷要求ごとの第一の印刷ジョブのジョブ識別情報を生成し、該ジョブ識別情報を前記クライアント装置に返信する要求受付手段と、
    前記集合に含まれている前記文書ファイルごとの第二の印刷ジョブを前記複数の文書ファイルについて同一の画像形成装置に実行させる印刷制御手段と、
    前記第一の印刷ジョブのジョブ識別情報と前記第二の印刷ジョブのジョブ識別情報とを関連付けて記憶する対応情報記憶手段と、
    前記第一の印刷ジョブの状態を示すジョブ状態情報を記憶する第一のジョブ状態情報記憶手段と、
    前記第二の印刷ジョブの状態を示すジョブ状態情報を記憶する第二のジョブ状態情報記憶手段と、
    前記第二の印刷ジョブの状態の変化に応じ、当該第二の印刷ジョブの前記ジョブ状態情報を更新し、前記集合に含まれている全ての前記第二の印刷ジョブの状態の変化に応じ、当該集合に係る前記第一の印刷ジョブの前記ジョブ状態情報を更新するジョブ状態情報更新手段と、
    前記クライアント装置からの印刷ジョブの前記ジョブ状態情報の提供要求に応じ、該提供要求において指定されたジョブ識別情報に対応する前記第一の印刷ジョブ又は前記第二の印刷ジョブに係る前記ジョブ状態情報を前記クライアント装置に提供するジョブ情報提供手段とを有し、
    前記ジョブ情報提供手段は、前記提供要求において指定されたジョブ識別情報に対応する印刷ジョブが前記第一の印刷ジョブである場合は、当該第一の印刷ジョブに係る前記第二の印刷ジョブを前記対応情報記憶手段を用いて判定し、当該第二の印刷ジョブのジョブ識別情報を当該第一の印刷ジョブのジョブ状態情報と関連付けて前記クライアント装置に提供する印刷システム。
  7. コンピュータが実行する印刷処理装置の制御方法であって、
    ネットワークを介して接続されるクライアント装からの複数の文書ファイルの集合に関する印刷要求の受信に応じ、前記印刷要求ごとの第一の印刷ジョブのジョブ識別情報を生成し、該ジョブ識別情報を前記クライアント装置に返信する要求受付手順と、
    前記集合に含まれている前記文書ファイルごとの第二の印刷ジョブを前記複数の文書ファイルについて同一の画像形成装置に実行させる印刷制御手順と、
    前記第一の印刷ジョブのジョブ識別情報と前記第二の印刷ジョブのジョブ識別情報とを関連付けて対応情報記憶手段に記録する対応情報記録手順と、
    前記第二の印刷ジョブの状態の変化に応じ、当該第二の印刷ジョブについて、第二のジョブ状態情報記憶手段に記憶されたジョブ状態情報を更新し、前記集合に含まれている全ての前記第二の印刷ジョブの状態の変化に応じ、当該集合に係る前記第一の印刷ジョブについて、第一のジョブ状態情報記憶手段に記憶されたジョブ状態情報を更新するジョブ状態情報更新手順と、
    前記クライアント装置からの印刷ジョブの前記ジョブ状態情報の提供要求に応じ、該提供要求において指定されたジョブ識別情報に対応する前記第一の印刷ジョブ又は前記第二の印刷ジョブに係る前記ジョブ状態情報を前記クライアント装置に提供するジョブ情報提供手順とを有し、
    前記ジョブ情報提供手順は、前記提供要求において指定されたジョブ識別情報に対応する印刷ジョブが前記第一の印刷ジョブである場合は、当該第一の印刷ジョブに係る前記第二の印刷ジョブを前記対応情報記憶手段を用いて判定し、当該第二の印刷ジョブのジョブ識別情報を当該第一の印刷ジョブのジョブ状態情報と関連付けて前記クライアント装置に提供する印刷処理装置の制御方法。
  8. 前記ジョブ情報提供手順は、所定のメソッドの呼び出しに応じて前記ジョブ状態情報を提供し、
    前記クライアント装置からの要求は、前記所定のメソッドの呼び出し要求であることを特徴とする請求項7記載の印刷処理装置の制御方法。
  9. 前記クライアント装置からの前記第一の印刷ジョブに対する操作要求に応じ、前記第一の印刷ジョブに係る前記第二の印刷ジョブに対して前記操作要求に係る操作を実行するジョブ操作手順をする請求項7又は8記載の印刷処理装置の制御方法。
  10. 前記ジョブ操作手順は、前記第一の印刷ジョブに係る前記第二の印刷ジョブのうち、前記ジョブ状態情報に基づいて前記操作要求に係る操作が可能であると判定される前記第二のジョブに対して該操作を実行する請求項9記載の印刷処理装置の制御方法。
  11. 前記画像形成装置に前記第二の印刷ジョブに係る印刷処理の状態を問い合わせる印刷状態問い合わせ手順を有し、
    前記ジョブ状態情報更新手順は、前記印刷状態問い合わせ手順による問い合わせ結果に基づいて、前記第二の印刷ジョブの前記ジョブ状態情報を更新することを特徴とする請求項7乃至10いずれか一項記載の印刷処理装置の制御方法。
  12. コンピュータに、
    ネットワークを介して接続されるクライアント装からの複数の文書ファイルの集合に関する印刷要求の受信に応じ、前記印刷要求ごとの第一の印刷ジョブのジョブ識別情報を生成し、該ジョブ識別情報を前記クライアント装置に返信する要求受付手順と、
    前記集合に含まれている前記文書ファイルごとの第二の印刷ジョブを前記複数の文書ファイルについて同一の画像形成装置に実行させる印刷制御手順と、
    前記第一の印刷ジョブのジョブ識別情報と前記第二の印刷ジョブのジョブ識別情報とを関連付けて対応情報記憶手段に記録する対応情報記録手順と、
    前記第二の印刷ジョブの状態の変化に応じ、当該第二の印刷ジョブについて、第二のジョブ状態情報記憶手段に記憶されたジョブ状態情報を更新し、前記集合に含まれている全ての前記第二の印刷ジョブの状態の変化に応じ、当該集合に係る前記第一の印刷ジョブについて、第一のジョブ状態情報記憶手段に記憶されたジョブ状態情報を更新するジョブ状態情報更新手順と、
    前記クライアント装置からの印刷ジョブの前記ジョブ状態情報の提供要求に応じ、該提供要求において指定されたジョブ識別情報に対応する前記第一の印刷ジョブ又は前記第二の印刷ジョブに係る前記ジョブ状態情報を前記クライアント装置に提供するジョブ情報提供手順とを実行させ、
    前記ジョブ情報提供手順は、前記提供要求において指定されたジョブ識別情報に対応する印刷ジョブが前記第一の印刷ジョブである場合は、当該第一の印刷ジョブに係る前記第二の印刷ジョブを前記対応情報記憶手段を用いて判定し、当該第二の印刷ジョブのジョブ識別情報を当該第一の印刷ジョブのジョブ状態情報と関連付けて前記クライアント装置に提供する印刷処理装置の制御プログラム。
  13. 請求項12記載の印刷処理装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004188075A 2003-07-31 2004-06-25 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体 Expired - Fee Related JP4490188B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004188075A JP4490188B2 (ja) 2003-07-31 2004-06-25 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
US10/900,095 US7052190B2 (en) 2003-07-31 2004-07-28 Printing processing device and method thereof
EP04017975.6A EP1503278B1 (en) 2003-07-31 2004-07-29 Printing processing device and method thereof
CN200410104762.2A CN1292339C (zh) 2003-07-31 2004-08-02 打印处理设备及其方法
US11/386,867 US20060165459A1 (en) 2003-07-31 2006-03-23 Printing processing device and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003204822 2003-07-31
JP2004188075A JP4490188B2 (ja) 2003-07-31 2004-06-25 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2005063411A JP2005063411A (ja) 2005-03-10
JP4490188B2 true JP4490188B2 (ja) 2010-06-23

Family

ID=33543577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004188075A Expired - Fee Related JP4490188B2 (ja) 2003-07-31 2004-06-25 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体

Country Status (4)

Country Link
US (2) US7052190B2 (ja)
EP (1) EP1503278B1 (ja)
JP (1) JP4490188B2 (ja)
CN (1) CN1292339C (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4109938B2 (ja) * 2002-09-13 2008-07-02 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム
US20080306902A1 (en) * 2003-01-03 2008-12-11 Gava Fabio M System and method for tracking print job status
JP4659531B2 (ja) * 2005-06-28 2011-03-30 キヤノン株式会社 ジョブ状態監視システム、ジョブ状態監視方法、プログラム及び記憶媒体
JP4847212B2 (ja) * 2006-05-29 2011-12-28 キヤノン株式会社 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
JP4547356B2 (ja) * 2006-06-06 2010-09-22 株式会社Osk 一括印刷システム
JP2008176514A (ja) * 2007-01-17 2008-07-31 Ricoh Co Ltd 配信システム、配信プログラム、および記録媒体
US20080180725A1 (en) * 2007-01-26 2008-07-31 Levin Burton L User-defined cluster printing
JP5057800B2 (ja) 2007-03-07 2012-10-24 株式会社リコー 情報処理装置、画像形成装置、情報処理方法、情報処理プログラム
JP2008226182A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd データ配信システム、データ配信方法、データ配信プログラム、および記録媒体
JP5084404B2 (ja) * 2007-09-04 2012-11-28 京セラドキュメントソリューションズ株式会社 情報処理装置
US8422066B2 (en) * 2007-11-02 2013-04-16 Kyocera Mita Corporation Image forming apparatus
JP4720882B2 (ja) * 2008-09-16 2011-07-13 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
KR20100053186A (ko) * 2008-11-12 2010-05-20 삼성전자주식회사 썸네일 생성 방법 및 화상형성장치
US8310703B2 (en) * 2009-06-01 2012-11-13 Ricoh Company, Ltd Printing and scanning with cloud storage
KR101562568B1 (ko) * 2009-08-28 2015-10-22 삼성전자주식회사 화상형성장치 및 화상형성방법
JP5448691B2 (ja) * 2009-10-05 2014-03-19 キヤノン株式会社 サーバ装置、クライアント装置、サーバ装置の制御方法、クライアント装置の制御方法、サーバ装置の制御プログラム及びクライアント装置の制御プログラム
JP5620674B2 (ja) * 2009-12-15 2014-11-05 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
JP2011138277A (ja) * 2009-12-28 2011-07-14 Canon Inc 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5761923B2 (ja) * 2010-04-28 2015-08-12 キヤノン株式会社 印刷システム、情報処理装置及びその方法
JP5574821B2 (ja) * 2010-05-21 2014-08-20 キヤノン株式会社 管理装置、管理方法、及びプログラム
JP5767454B2 (ja) * 2010-09-30 2015-08-19 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
JP5232846B2 (ja) * 2010-10-15 2013-07-10 京セラドキュメントソリューションズ株式会社 画像形成システムおよび画像形成装置
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
JP2015155190A (ja) * 2014-01-17 2015-08-27 セイコーエプソン株式会社 印刷装置の制御方法、印刷装置、及び、印刷システム
JP6841031B2 (ja) * 2016-12-26 2021-03-10 ブラザー工業株式会社 プリントサーバ
JP7071106B2 (ja) * 2017-12-07 2022-05-18 キヤノン株式会社 画像形成装置、画像形成装置の制御方法
JP7176235B2 (ja) * 2018-06-06 2022-11-22 富士フイルムビジネスイノベーション株式会社 情報処理装置、ワークフローシステム及びプログラム
CN110609666B (zh) * 2019-08-02 2021-10-01 北京三快在线科技有限公司 打印机配置方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163086A (ja) * 2000-09-12 2002-06-07 Canon Inc 情報処理装置及び分散印刷制御方法及び記憶媒体並びにプログラム
JP2002166630A (ja) * 2000-09-19 2002-06-11 Fuji Xerox Co Ltd 画像入力装置及び画像出力システム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6977752B1 (en) * 1995-08-07 2005-12-20 Electronics For Imaging, Inc. Method and apparatus for determining toner level in electrophotographic print engines
US6657741B1 (en) 1995-08-07 2003-12-02 Tr Systems, Inc. Multiple print engine system with selectively distributed ripped pages
JPH0991102A (ja) * 1995-09-26 1997-04-04 Ricoh Co Ltd ネットワーク・システムにおけるプリント・ジョブ実行結果の通知方法,ネットワーク・システムにおけるスキャン条件の設定方法およびネットワーク・プリンティング/スキャニング・システム
JP3058248B2 (ja) * 1995-11-08 2000-07-04 キヤノン株式会社 画像処理制御装置及び画像処理制御方法
US6115132A (en) * 1996-12-27 2000-09-05 Canon Kabushiki Kaisha Printing system that transmits job information independently of print data
US6184996B1 (en) * 1997-06-18 2001-02-06 Hewlett-Packard Company Network printer with remote print queue control procedure
US6037928A (en) * 1997-11-13 2000-03-14 Imageworks Manufacturing, Inc. System and method for providing restrained, streamlined access to a computerized information source
JP2000135820A (ja) * 1997-12-11 2000-05-16 Canon Inc 印刷装置及び印刷システム及び印刷制御方法及び印刷装置を制御する印刷制御プログラムを格納した記憶媒体及び印刷装置を制御する印刷制御プログラムを送出する送出装置
JP3873427B2 (ja) * 1998-01-30 2007-01-24 ブラザー工業株式会社 プリンタ制御システムにおける中間ファイルの加工装置及びその制御プログラムが記録された記録媒体
US6519048B1 (en) * 1998-04-28 2003-02-11 Canon Kabushiki Kaisha Image forming apparatus, image forming method, and storage medium storing computer readable program therein
JP4338153B2 (ja) * 1998-06-30 2009-10-07 キヤノン株式会社 画像形成装置及び画像形成方法
JP2000163176A (ja) * 1998-11-25 2000-06-16 Canon Inc 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体
US6525831B1 (en) * 1998-12-02 2003-02-25 Xerox Corporation Non-format violating PDL guessing technique to determine the page description language in which a print job is written
JP3639772B2 (ja) * 1999-06-30 2005-04-20 キヤノン株式会社 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US7286250B2 (en) * 2000-04-27 2007-10-23 Canon Kabushiki Kaisha Print control apparatus and method, and print system
US20020030840A1 (en) * 2000-09-12 2002-03-14 Fuji Xerox Co., Ltd. Image output system, and device and method applicable to the same
US7587468B2 (en) * 2000-10-16 2009-09-08 Electronics For Imaging, Inc. Methods and systems for the provision of printing services
JP3733288B2 (ja) * 2000-12-06 2006-01-11 キヤノン株式会社 情報処理装置および印刷制御方法および記憶媒体
US7190477B2 (en) * 2001-02-22 2007-03-13 Sharp Laboratories Of America, Inc. System and method for managing and processing a print job using print job tickets
JP4420421B2 (ja) * 2001-03-19 2010-02-24 キヤノン株式会社 情報処理装置およびその制御方法
JP3826080B2 (ja) * 2001-10-30 2006-09-27 キヤノン株式会社 情報処理装置及びその制御方法、制御プログラム、並びに媒体
DE10153689A1 (de) 2001-10-31 2003-05-15 Geka Brush Gmbh Vorrats-und Applikatoreinheit
JP3932875B2 (ja) * 2001-11-28 2007-06-20 富士ゼロックス株式会社 印刷制御方法および印刷システム
JP3747175B2 (ja) 2001-11-30 2006-02-22 キヤノン株式会社 印刷制御装置及び方法
US6943905B2 (en) * 2001-12-20 2005-09-13 Sharp Laboratories Of America, Inc. Virtual print driver system and method
US20040059995A1 (en) * 2002-01-15 2004-03-25 Seiko Epson Corporation Printing system and apparatus used therefor
US7113303B2 (en) * 2002-10-30 2006-09-26 Hewlett-Packard Development Company, Lp. Job queuing based on print head position
JP2004188075A (ja) 2002-12-13 2004-07-08 Nissei:Kk モップ取付具
US20040263899A1 (en) * 2003-06-24 2004-12-30 Ferlitsch Andrew R. Systems and methods for monitoring an imaging job in a computer system
US20050024664A1 (en) * 2003-07-30 2005-02-03 Schmidt William Randolph Printer formatter with print server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163086A (ja) * 2000-09-12 2002-06-07 Canon Inc 情報処理装置及び分散印刷制御方法及び記憶媒体並びにプログラム
JP2002166630A (ja) * 2000-09-19 2002-06-11 Fuji Xerox Co Ltd 画像入力装置及び画像出力システム

Also Published As

Publication number Publication date
EP1503278A1 (en) 2005-02-02
US20060165459A1 (en) 2006-07-27
CN1292339C (zh) 2006-12-27
US7052190B2 (en) 2006-05-30
US20050053402A1 (en) 2005-03-10
CN1619479A (zh) 2005-05-25
JP2005063411A (ja) 2005-03-10
EP1503278B1 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
JP4490188B2 (ja) 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
JP5462610B2 (ja) 情報処理システム、情報処理装置、それらの制御方法、及びプログラム
JP5230472B2 (ja) Webサーバ、処理方法、プログラム
JP2017073591A (ja) 画像処理装置、制御方法、及びプログラム
JP4797703B2 (ja) 印刷制御システム及び印刷属性情報管理サーバ
JP2008236016A (ja) 情報処理装置、情報処理方法、およびそのプログラム
JP2002163078A (ja) 情報処理装置、プリントシステム、情報処理方法及びプリント方法
CN102223246A (zh) 用于管理网络设备的管理装置及其控制方法
JP6270576B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2008165291A (ja) 情報処理装置及びプログラム
JP2011141688A (ja) 情報管理装置、情報管理方法、及び情報管理システム
JP2004362255A (ja) 印刷システム、プリンタおよびプリントサーバ
JP5353425B2 (ja) 画像処理装置及び同装置におけるジョブ処理状況表示方法
JP2016208260A (ja) Fax機能を備えた装置、その制御方法及びプログラム
JPWO2006006302A1 (ja) 印刷システム、プリンタサーバ、印刷実行プログラムおよび印刷文書の管理システム
JP4464231B2 (ja) 印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体
US20110164272A1 (en) Printing control apparatus, control method, and storage medium
US20150220661A1 (en) Information processing apparatus, information processing method, and storage medium
JP6417468B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2005100348A (ja) 印刷処理装置、画像処理装置、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
JP2007334741A (ja) 画像形成装置で生じたイベントに関するイベント情報の管理方法、およびサーバコンピュータ
JP2007193432A (ja) 印刷システム
JP7196134B2 (ja) 管理装置、方法、およびプログラム
JP3913888B2 (ja) 書面作成システム、WWW(WorldWideWeb)サーバ及び記録媒体
JP2014049084A (ja) 情報処理装置、画像形成装置、情報処理方法、アップデート方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090527

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: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100401

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees