(57)【要約】【課題】  複数の印刷対象に係る印刷要求を受けた場合であっても印刷対象ごとに印刷処理の操作を行わせることができる印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体の提供を目的とする。【解決手段】  ネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置であって、複数の印刷対象に係る印刷要求に応じ、前記印刷対象ごとに印刷処理の第一の状態情報を管理する管理情報を生成する管理情報生成手段と、前記印刷処理の段階に応じて前記管理情報における前記第一の状態情報を前記印刷対象ごとに更新する更新手段と、前記管理情報における前記印刷対象ごとの前記第一の状態情報を前記ネットワークを介して提供する情報提供手段とを有することにより上記課題を解決する。【選択図】  図５
2006085577.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置であって、
複数の印刷対象に係る印刷要求に応じ、前記印刷対象ごとに印刷処理の第一の状態情報を管理する管理情報を生成する管理情報生成手段と、
前記印刷処理の段階に応じて前記管理情報における前記第一の状態情報を前記印刷対象ごとに更新する更新手段と、
前記管理情報における前記印刷対象ごとの前記第一の状態情報を前記ネットワークを介して提供する情報提供手段とを有することを特徴とする印刷処理装置。
【請求項２】
前記管理情報生成手段は、少なくとも前記印刷対象が前記印刷データに変換される前に前記管理情報を生成することを特徴とする請求項１記載の印刷処理装置。
【請求項３】
前記管理情報は、同一の前記印刷要求に係る前記印刷対象の前記第一の状態情報を関連付けて管理することを特徴とする請求項１又は２記載の印刷処理装置。
【請求項４】
前記提供手段は、同一の前記印刷要求に係る前記印刷対象の前記第一の状態情報を関連付けて提供することを特徴とする請求項３記載の印刷処理装置。
【請求項５】
前記管理情報は、前記印刷要求ごとの印刷処理の第二の状態情報を更に管理し、
前記更新情報は、前記印刷処理の段階に応じて前記第二の状態情報を更新することを特徴とする請求項１乃至４いずれか一項記載の印刷処理装置。
【請求項６】
前記更新手段は、同一の前記印刷要求に係る全ての前記印刷対象の前記第一の状態情報が同じ段階を示す値に更新されたときに前記第二の状態情報を該段階を示す値に更新することを特徴とする請求項５記載の印刷処理装置。
【請求項７】
前記情報提供手段は、前記印刷対象ごとの印刷処理に対する第一の操作要求を受け付け、該第一の操作要求に応じた処理を前記印刷処理について行うことを特徴とする請求項１乃至６いずれか一項記載の印刷処理装置。
【請求項８】
前記情報提供手段は、前記第一の操作要求に応じた処理を該第一の操作要求に係る前記印刷対象の前記第一の状態情報の値に応じて判断することを特徴とする請求項７記載の印刷処理装置。
【請求項９】
前記情報提供手段は、前記印刷要求ごとの印刷処理に対する第二の操作要求を受け付け、該第二の操作要求に係る前記印刷要求における全ての前記印刷対象の印刷処理について前記第二の操作要求に応じた処理を実行することを特徴とする請求項７又は８記載の印刷処理装置。
【請求項１０】
前記印刷要求において指定された前記印刷対象をネットワークを介して接続する情報処理装置より取得する取得手段を更に有することを特徴とする請求項１乃至９いずれか一項記載の印刷処理装置。
【請求項１１】
ネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置における印刷処理方法であって、
複数の印刷対象に係る印刷要求に応じ、前記印刷対象ごとに印刷処理の第一の状態情報を管理する管理情報を生成する管理情報生成手順と、
前記印刷処理の段階に応じて前記管理情報における前記第一の状態情報を前記印刷対象ごとに更新する更新手順と、
前記管理情報における前記印刷対象ごとの前記第一の状態情報を前記ネットワークを介して提供する情報提供手順とを有することを特徴とする印刷処理方法。
【請求項１２】
前記管理情報生成手順は、少なくとも前記印刷対象が前記印刷データに変換される前に実行されることを特徴とする請求項１１記載の印刷処理方法。
【請求項１３】
前記印刷対象ごとの印刷処理に対する第一の操作要求を受け付け、該第一の操作要求に応じた処理を前記印刷処理について行う第一の操作手順を更に有することを特徴とする請求項１１又は１２記載の印刷処理方法。
【請求項１４】
前記第一の操作手順は、前記第一の操作要求に応じた処理を該第一の操作要求に係る前記印刷対象の前記第一の状態情報の値に応じて判断することを特徴とする請求項１３記載の印刷処理方法。
【請求項１５】
前記印刷要求ごとの印刷処理に対する第二の操作要求を受け付け、該第二の操作要求に係る前記印刷要求における全ての前記印刷対象の印刷処理について前記第二の操作要求に応じた処理を実行する第二の操作手順を更に有することを特徴とする請求項１３又は１４記載の印刷処理法法。
【請求項１６】
前記印刷要求において指定された前記印刷対象をネットワークを介して接続する情報処理装置より取得する取得手順を更に有することを特徴とする請求項１１乃至１５いずれか一項記載の印刷処理方法。
【請求項１７】
ネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置に、
複数の印刷対象に係る印刷要求に応じ、前記印刷対象ごとに印刷処理の第一の状態情報を管理する管理情報を生成する管理情報生成手順と、
前記印刷処理の段階に応じて前記管理情報における前記第一の状態情報を前記印刷対象ごとに更新する更新手順と、
前記管理情報における前記印刷対象ごとの前記第一の状態情報を前記ネットワークを介して提供する情報提供手順とを実行させるための印刷処理プログラム。
【請求項１８】
請求項１７記載の印刷処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体に関し、特にネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の端末に保存されている文書を印刷する場合は、その文書を編集するためのワープロソフト等を介して印刷指示を行えばよい。この場合、ＯＳ（Operating System）等に付属しているツールによってスプーラのステータスを閲覧することにより、当該文書に係るジョブのステータスの確認やキャンセル等の操作を行うことができる。
【０００３】
文書管理システムにおいて文書管理サーバに管理されている文書を印刷する場合は多少事情が異なる。図１は、従来の文書管理システムにおける印刷処理を説明するための図である。図１において、文書管理システム５００は、端末５１０と、文書管理サーバ５２０と、印刷サーバ５３０と、プリンタ５４０とから構成される。端末５１０は、文書管理システム５００のユーザが直接利用するＰＣ等の端末である。文書管理サーバ５１０は、文書を管理する一般的な文書管理サーバである。印刷サーバ５３０は、プリンタ５４０への印刷要求を受け付けると共に、印刷要求に応じてプリンタ５４０に印刷処理を実行させるサーバである。かかる文書管理システム５００において文書管理サーバ５２０に管理されている文書を印刷させる場合の処理手順は、以下のようなものが一般的である。
【０００４】
端末５１０は、文書管理サーバ５２０より所定の条件に合致した文書の一覧情報（文書一覧）を取得し、文書一覧を表示させる（Ｓ１１）。ユーザが、文書一覧において印刷対象とする文書を一つ以上選択し印刷指示を行うと（Ｓ１２）、端末５１０は、選択された文書の印刷を印刷サーバ５３０に対して要求する（Ｓ１３）。印刷サーバ５３０では、端末５１０からの印刷要求に対するジョブを生成し、当該ジョブを識別するための情報、例えば、ジョブＩＤを端末５１０に返信する（Ｓ１４）。なお、ここでのジョブは、スプーラにおけるジョブとは異なり、印刷要求と１対１に対応するジョブである。更に、印刷サーバ５３０は、印刷対象として選択された文書の実データを文書管理サーバ５２０より取得し（Ｓ１５）、プリンタ５４０に印刷させる（Ｓ１６）。
【０００５】
その後、端末５１０は、ジョブＩＤを用いて、印刷要求に対応した印刷処理のステータスを印刷サーバ５３０に問い合わせることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、印刷サーバ３０において、ジョブは印刷要求に対して１対１の関係として管理されていたため、複数の文書を対象として印刷要求を行った場合であっても、クライアント側（端末５１０）が得られるジョブの一覧情報は、印刷要求単位のものであり、ステータスの問い合わせやジョブの中断又はキャンセル等の要求について、文書ごとに行うことができないという問題があった。
【０００７】
図２は、従来クライアント側で得られたジョブ一覧を示す図である。図２に示されるジョブ一覧５５０において、例えば、ジョブ５５１は、文書Ａ及び文書Ｂを印刷対象として指定された印刷要求に基づくジョブである。また、ジョブ５５２は、文書Ｃ、文書Ｄ及び文書Ｅを、ジョブ５５３は、文書Ｇ及び文書Ｈを印刷対象として指定された印刷要求に基づくジョブである。しかしながら、従来は、図２に示されるように、文書ごとではなく印刷要求単位のジョブ一覧が提供されていたため、一つの印刷要求に係る全ての文書について一括した操作しか行えなかった。
【０００８】
もちろん、各文書が印刷データに変換され、その印刷データがスプーラに投入された後においては、前記ＯＳ（Operating System）等に付属しているツール等によって各文書単位で操作を行うことが可能であるが、多数の文書を印刷対象とした場合は、印刷データがスプーラに投入されるまである程度の時間を要し、それまで文書ごとにジョブの中断やキャンセル等は行えない。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、複数の印刷対象に係る印刷要求を受けた場合であっても印刷対象ごとに印刷処理の操作を行わせることができる印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、ネットワークを介して受信される印刷要求に応じ該印刷要求において印刷が要求された印刷対象を印刷データに変換し、該印刷データを画像形成装置に印刷させる印刷処理装置であって、複数の印刷対象に係る印刷要求に応じ、前記印刷対象ごとに印刷処理の第一の状態情報を管理する管理情報を生成する管理情報生成手段と、前記印刷処理の段階に応じて前記管理情報における前記第一の状態情報を前記印刷対象ごとに更新する更新手段と、前記管理情報における前記印刷対象ごとの前記第一の状態情報を前記ネットワークを介して提供する情報提供手段とを有することを特徴とする。
【００１１】
このような印刷処理装置では、一つの印刷要求において複数の文書等が印刷対象とされた場合であっても、その文書ごとに状態情報が提供できる。したがって、文書ごとに印刷処理の操作を行わせることができる。
【００１２】
また、上記課題を解決するため、本発明は、上記印刷処理装置における印刷処理方法、前記印刷処理方法を前記印刷処理装置に実行させるための印刷処理プログラム、又は前記印刷処理プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１３】
本発明によれば、複数の印刷対象に係る印刷要求を受けた場合であっても印刷対象ごとに印刷処理の操作を行わせることができる印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における印刷システムの構成例を示す図である。図３に示されるように、本実施の形態における印刷システム１は、印刷サーバ１０、文書管理サーバ２０、Ｗｅｂサーバ３０、及び端末４０等を有しており、それぞれはインターネットやＬＡＮ等のネットワーク（有線、無線の別を問わない）を介して接続されている。
【００１５】
印刷サーバ１０は、文書データ等をプリンタ５０に印刷させる機能等をＷｅｂサービスとして提供するコンピュータであり、かかる機能が実装されている印刷サービス１１を有している。
【００１６】
文書管理サーバ２０は、文書データの管理機能をＷｅｂサービスとして提供するコンピュータであり、かかる文書管理機能が実装されている文書管理サービス２４を有している。文書管理サービス２４は、ＳＯＡＰリスナ２１、文書管理手段２２、及び文書管理ＤＢ２３等から構成されている。ＳＯＡＰリスナ２１は、文書管理手段２２の機能をＳＯＡＰのＲＰＣによって呼び出せるようにするための機能が実装されているモジュールである。文書管理手段２２は、文書管理ＤＢ２３に格納されている文書情報を操作するためのインタフェースを提供するモジュールである。例えば、文書管理手段２２は、文書管理ＤＢ２３より文書データを取得するための文書取得メソッド、文書データの一覧情報を取得すための文書一覧取得メソッド、及び文書管理ＤＢ２３に文書データを登録するための文書登録メソッド等を有している。文書管理ＤＢ２３は、文書データが格納されているデータベースである。
【００１７】
Ｗｅｂサーバ３０は、印刷サーバ１０や文書管理サーバ２０等の機能を利用させるためのＷｅｂページを提供するいわゆるＷｅｂサーバであり、ｈｔｔｐｄ３１、Ｗｅｂアプリ３２、及びＳＯＡＰプロキシ３３等から構成されている。ｈｔｔｐｄ３１は、端末４０との間におけるＨＴＴＰによる通信を制御するデーモンプログラムである。ｈｔｔｐｄ３１は、端末４０からのＨＴＴＰリクエストを受信すると、ＨＴＴＰリクエストにおいて指定されたＵＲＬに対応するＷｅｂアプリ３２を呼び出し、Ｗｅｂアプリ３２が処理結果として出力したＷｅｂページを端末４０に送信する。
【００１８】
Ｗｅｂアプリ３２は、Ｗｅｂページの生成を主な機能とするいわゆるＷｅｂアプリケーションである。Ｗｅｂアプリ３２は、必要に応じて印刷サーバ１０や文書管理サーバ２０に対して所定の処理要求を行い、その結果を表示するＷｅｂページを生成する。例えば、Ｗｅｂアプリ３２は、文書管理サーバ２０の文書管理ＤＢ２３に管理されている文書データの一覧を表示するＷｅｂページ（以下、「文書一覧ページ」という。）等を生成する。
【００１９】
ＳＯＡＰプロキシ３３は、印刷サーバ１０や文書管理サーバ２０に実装されている各種メソッドをＳＯＡＰのＲＰＣによって呼び出すためのインタフェースをＷｅｂアプリ３２に対して提供するモジュールである。ＳＯＡＰプロキシ３３により、Ｗｅｂアプリ３２は、印刷サーバ１０や文書管理サーバ２０の機能をネットワーク通信を意識することなく透過的にメソッド呼び出しすることが可能となっている。
【００２０】
なお、図中においては、Ｗｅｂアプリ３２は一つのブロックとして示されているが、インスタンスとしては複数存在する。例えば、文書一覧ページを生成するためのモジュールや、その他のＷｅｂページを生成するモジュール毎にソースコードが実装されている。
【００２１】
端末４０は、ユーザが印刷システム１利用するためのインタフェース（Ｗｅｂページ）をＷｅｂブラウザ４１によって提供するＰＣ（Personal Computer）、ＰＤＡ（Personal Digital(Data) Assistants）、又は携帯電話等の通信機能を有する端末である。
【００２２】
なお、図中、端末４０やプリンタ５０は、一つのブロックとして示されているが、物理的に一台の端末やプリンタに限定されるという趣旨ではない。一般的な情報システムと同様、多数の端末やプリンタを接続することが可能である。
【００２３】
次に、印刷サーバ１０のハードウェア構成例について説明する。図４は、本発明の実施の形態における印刷サーバのハードウェア構成例を示す図である。図４の印刷サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００２４】
印刷サーバ１０における処理を実現するプログラムは、CD―ROM等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。
【００２５】
補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置１０３は、プログラムの起動指示があったときに、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従って印刷サーバ１０に係る機能を実行する。インタフェース装置１０５は例えばモデム、ルータ等で構成され、ネットワークに接続するために用いられる。なお、文書管理サーバ２０やＷｅｂサーバ３０についても図４に示される印刷サーバ１０と同様のハードウェア構成をとることができる。
【００２６】
次に、印刷サーバ１０における印刷サービス１１の詳細について説明する。図５は、印刷サーバにおける印刷サービスの機能構成例を示す図である。図５に示されるように、印刷サービス１１は、ＳＯＡＰリスナ１１１、印刷要求受付手段１１２、印刷指示手段１１３、文書アプリ１１４、プリンタドライバ１１５、スプーラ１１６、ポートプログラム１１７、プリンタ制御手段１１８、イベント監視手段１１９、非同期管理手段１２０、文書管理接続手段１２１、印刷ジョブキュー１３１、及びジョブ管理ファイル１３２等から構成される。
【００２７】
ＳＯＡＰリスナ１１１は、印刷要求受付手段１１２が有する後述するメソッドを、Ｗｅｂサーバ３０等からＳＯＡＰのＲＰＣによって呼び出せるようにするための機能を提供するモジュールである。
【００２８】
印刷要求受付手段１１２は、印刷サービス１１の機能を提供するためのメソッドが実装されているモジュールである。例えば、印刷要求受付手段１１２には、文書データの印刷要求を受け付けるための印刷メソッドや、印刷ジョブの一覧情報の取得要求を受け付けるためのジョブ一覧取得メソッド等が実装されている。印刷サービス１１の機能をＳＯＡＰのＲＰＣによって呼び出せるようにすることで、インターネット環境におけるシステム構築において、クライアント側の実装を容易にすることができる。
【００２９】
印刷指示手段１１３は、印刷要求受付手段１１２における印刷メソッドからの印刷要求に応じて、文書アプリ１１４に対して文書データの印刷指示を行うモジュールである。但し、印刷指示手段１１３は、印刷メソッドから印刷要求を受けたときに直ちに印刷ジョブを実行するわけではない。印刷指示手段１１３は、後述する非同期管理手段１２０と印刷ジョブキュー１３１とを利用することによって、印刷要求とは非同期に印刷ジョブを実行する。
【００３０】
非同期管理手段１２０は、印刷指示手段１１３に対し定期的に印刷ジョブの実行を促すためのプログラムであり、独立したプロセスとして起動されている。印刷ジョブキュー１３１は、印刷指示手段１１３が印刷メソッドから受けた印刷要求に含まれている、印刷ジョブの内容を規定する情報（以下、「ジョブ情報」という。）を一時的に保存しておくためのファイルである。文書アプリ１１４は、文書データの生成や編集に利用されるアプリケーションであり、例えば、ワープロソフト、表計算ソフト等の各種アプリケーションが該当する。プリンタドライバ１１５は、プリンタを購入すると当該プリンタに添付されて提供されるいわゆるプリンタドライバであり、文書データを印刷先となるプリンタ５０が処理可能な形式の印刷データに変換するためのモジュールである。
【００３１】
スプーラ１１６は、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供されるいわゆるスプーラであり、プリンタドライバ１１５によって生成された印刷データを一時的に保存し、保存されている印刷データを順次ポートプログラム１１７に対して出力する。
【００３２】
ポートプログラム１１７は、一般的にポートモニタと呼ばれるモジュールの位置づけに相当するものであるが、本実施の形態においては予めＯＳによって提供されているポートモニタに代えて、独自に実装されたものが用いられている。すなわち、一般的なポートモニタは、スプーラから出力された印刷データをプリンタに対して出力することをその機能としているが、ポートプログラム１１７は、プリンタに対してではなく、プリンタ制御手段１１８に対して印刷データを出力するように実装されている。
【００３３】
なお、Ｗｉｎｄｏｗｓ（登録商標）においては、予め提供されているポートモニタではなく、独自に実施したモジュールをスプーラに呼び出させるように設定するための機能が提供されている。かかる機能を利用して、スプーラ１１６からポートプログラム１１７が呼び出されるようにしてもよい。
【００３４】
プリンタ制御手段１１８は、ポートプログラム１１７から出力された印刷データをプリンタ５０に対して送信するとともに、プリンタ５０における印刷処理の状態を常時監視するプログラムである。プリンタ制御手段１１８は、プリンタ５０における印刷処理の状態が変化したとき等に、かかる旨を示すイベントを発生させる。イベント監視手段１１９は、プリンタ制御手段１１８が発生させたイベントに基づいて、当該イベントの種類に応じた処理（詳細については後述する。）を実行するプログラムである。
【００３５】
文書管理接続手段１５は、文書管理サーバ２０における文書管理手段２２の機能をＳＯＡＰのＲＰＣによって呼び出すためのインタフェースを提供するモジュールである。
【００３６】
ジョブ管理ファイル１３２は、印刷ジョブに関する各種情報（ジョブ管理情報）を保持するためのファイルであり、印刷ジョブが発生するときに、印刷ジョブごとに生成される。
【００３７】
以下、印刷システム１の処理手順について説明する。図６〜図８は、印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。
【００３８】
ステップＳ１１１において、端末４０のユーザが、Ｗｅｂブラウザ４１に表示された文書一覧ページにおいて、印刷対象とする文書データ（以下、「対象データ」という。）を複数選択し、更に設定ページにおいて印刷処理を規定するパラメータ（以下、「印刷パラメータ」という。）を設定すると、Ｗｅｂブラウザ４１は、Ｗｅｂサーバ３０に対し複数の対象データの印刷要求を送信する。
【００３９】
図９は、文書一覧ページの表示例を示す図である。文書一覧ページ４１０は、文書一覧ページ４１０のＵＲＬをＷｅｂブラウザ４１に入力することにより、Ｗｅｂブラウザ４１に表示させることができる。すなわち、ユーザによるＵＲＬの入力に基づいて、Ｗｅｂブラウザ４１が文書一覧ページ４１０の送信要求をＷｅｂサーバ３０に送信すると、Ｗｅｂサーバ３０のＷｅｂアプリ３２が、文書管理サーバ２０の文書管理手段２２を介して、文書管理ＤＢ２３の所定のフォルダの文書の一覧情報を取得する。Ｗｅｂアプリ３２は、取得した文書データの一覧情報を掲載したＷｅｂページ（文書一覧ページ４１０）を生成する。Ｗｅｂアプリ３２によって生成された文書一覧ページ４１０は、ｈｔｔｐｄ３１によって端末４０に送信され、Ｗｅｂブラウザ４１に表示される。
【００４０】
文書一覧ページ４１０では、領域４１１に各文書データがサムネール表示されている。ここで、一つの文書データが表示されている矩形領域を「セル（cell）」と呼ぶこととすると、各セルは、文書データを選択させるためのチェックボタンと、文書データの名前（文書名）を表示する文書名表示領域と、アイコン表示領域とを有している。例えば、文書名が「文書３」の文書データが表示されているセルについては、チェックボタン４１３、文書名表示領域４１４、及びアイコン表示領域４１５がある。
【００４１】
ユーザが、印刷対象とする文書データに対応するチェックボタンをチェックし（図９においては、文書１及び文書２をチェック）、文書出力メニュー４１２をクリックすることにより表示される図示しないメニュー項目「印刷」を選択すると、Ｗｅｂブラウザ４１には、設定ページが表示される。
【００４２】
図１０は、設定ページの表示例を示す図である。図１０の設定ページ４２０は、対象文書表示領域４２１と、印刷パラメータ設定領域４２２とから構成されている。対象文書表示領域４２１においては、文書一覧ページ４１０において印刷対象として選択された対象データの文書名の一覧（文書１、文書２）が表示されている。印刷パラメータ設定領域４２２においては、印刷先とするプリンタ、原稿のサイズ、印刷方向、及び印刷開始位置等の印刷パラメータの設定が可能である。
【００４３】
ユーザが、設定ページ４２０において印刷パラメータを設定し、ＯＫボタン４２３をクリックすると、Ｗｅｂブラウザ４１は、上述したステップＳ１１における印刷要求を、印刷パラメータを伴ってＷｅｂサーバ３０に対して送信する。
【００４４】
ステップＳ１１１に続いてステップＳ１１２に進み、Ｗｅｂサーバ３０のＷｅｂアプリ３２は、印刷サーバ１０の印刷要求受付手段１１２の印刷メソッドをＳＯＡＰのＲＰＣによって呼び出すためのＳＯＡＰメッセージを印刷サーバ１０に送信することにより、対象データの印刷を印刷サーバ１０に要求する。
【００４５】
図１１は、印刷メソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。図１１のＳＯＡＰメッセージ７１０において、タグ７１１のタグ名である「ｄｏｃＰｒｉｎｔＡｓｙｎｃ」が、印刷メソッドのメソッド名である。また、記述７１２は、引数情報である。例えば、＜ｓｅｓｓｉｏｎＩｄ＞タグで囲まれた記述７１２１は、印刷サーバ１０とのセッションのセッションＩＤが指定された引数である。なお、セッションＩＤには、印刷要求に係るユーザ名を特定するための情報も含まれている。＜ｊｏｂＮａｍｅ＞タグで囲まれた記述７１２２は、印刷要求に係る印刷ジョブのジョブ名が指定された引数である。＜ｐｒｉｎｔｅｒＮａｍｅ＞タグで囲まれた記述７１２３は、印刷先のプリンタ名が指定された引数である。また、＜ｄｏｃｕｍｅｎｔＬｉｓｔ＞タグで囲まれた記述７１３は、印刷対象として指定された文書データのリストが指定された引数である。すなわち、それぞれ＜Ｄｏｕｍｅｎｔ＞タグで囲まれた記述７１４及び記述７１５が、印刷対象とされた各文書を特定する情報を示す。例えば、記述７１４において、＜ｄｏｃｕｍｅｎｔＮａｍｅ＞タグで囲まれた記述７１４１は、文書データの文書名（「文書１」）を示す。また、＜ｄｏｃｕｍｅｎｔＩｄ＞タグで囲まれた記述７１４２は、文書データの文書Ｉｄ（「１＿２＿１＿３」）を示す。また、＜ｒｅｐｏｓｉｔｏｒｙＵｒｌ＞で囲まれた記述７１４３は、当該文書データの取得先となる文書管理サービス２４のＵＲＬを示す。
【００４６】
ステップＳ１１２に続いてステップＳ１１３に進み、印刷メソッドが呼び出された印刷サーバ１０の印刷要求受付手段１１２は、印刷指示手段１１３に対し対象データの印刷を要求する。ステップＳ１１３に続いてステップＳ１１４に進み、印刷指示手段１１３は、印刷要求に応じて実行すべき印刷ジョブを一意に識別するための情報であるジョブＩＤを一つの印刷要求に対して一つ採番する。ここでは、ジョブＩＤとして「００１」が採番されたこととし、ジョブＩＤが００１である印刷ジョブを「印刷ジョブ００１」と呼ぶこととする。
【００４７】
ステップＳ１１４に続いてステップＳ１１５に進み、印刷指示手段１１３は、印刷ジョブ００１のジョブ管理情報を保存するジョブ管理ファイル１３２を生成し、生成したジョブ管理ファイル１３２に印刷ジョブ００１のジョブ管理情報の初期値として印刷メソッドの引数に指定された情報等を登録する。
【００４８】
図１２は、印刷ジョブのジョブ管理情報の構成例を示す図である。図１２に示されるように、本実施の形態における印刷ジョブのジョブ管理情報は、一つの親ジョブ情報１３２１と、当該印刷ジョブにおいて印刷対象とされている文書データごとの子ジョブ情報１３２２及び１３２３とから構成される。すなわち、印刷指示手段１１３は、一つの印刷ジョブを、印刷要求に一対一に対応する親ジョブと、当該印刷ジョブにおいて印刷対象とされている文書ごとに対応する子ジョブとから構成されるものとし、それぞれを親ジョブ情報と子ジョブ情報とによって管理するというわけである。なお、以下において、親ジョブと子ジョブとの区別を要しない場合は、両者を総称して単に「ジョブ」という。
【００４９】
親ジョブ情報１３２１は、一つの親ジョブを表現する情報であり、親ジョブＩＤ、子ジョブＩＤの配列、ジョブ名、プリンタ名、対象データ取得先ＵＲＬの配列、ジョブステータス、及びユーザ名等の項目から構成される。親ジョブＩＤは、ステップＳ１１４において採番された当該印刷ジョブのジョブＩＤである。子ジョブＩＤの配列は、当該印刷ジョブに属する子ジョブのジョブＩＤ（子ジョブＩＤ）の配列である。ジョブ名は、印刷ジョブの名前である。プリンタ名は、出力先として指定されたプリンタの名前である。対象データ取得先ＵＲＬは、対象データ取得先ＵＲＬの配列は、各対象データの取得先として指定された文書管理サービス２４のＵＲＬの配列である。ジョブステータスは、親ジョブのジョブの状態を示す文字列であり、親ジョブに属する全ての文書データに対する印刷処理の状態を総合して表す。ユーザ名は、印刷を要求したユーザのユーザ名である。
【００５０】
一方、子ジョブ情報は、各子ジョブを表現する情報であり、子ジョブＩＤ、文書Ｉｄ、文書名、及びジョブステータス等から構成される。子ジョブＩＤは、各子ジョブを識別するためのＩＤである。すなわち、印刷指示手段１１３は、ジョブ管理情報の登録にあたり、印刷対象とされている文書データごとに子ジョブＩＤを採番し、その子ジョブＩＤを子ジョブ情報に登録する。文書Ｉｄ及び文書名は、当該子ジョブが対応する文書データの文書Ｉｄ又は文書名である。ジョブステータスは、当該子ジョブが対応する文書データの印刷処理の状態を示す文字列である。初期値としては、待機中を示す「ｐｅｎｄｉｎｇ」が登録される。
【００５１】
このように、本実施の形態における印刷サーバ１０においては、印刷要求を受けた直後から、当該印刷要求において印刷対象とされている文書データごとに独立して印刷処理の状態が管理される。また、同一の印刷要求に基づく親ジョブ情報及び子ジョブ情報は、同一のジョブ管理ファイル１３２に保存されることによって関連付けられる。但し、この関連付けは、他の方法によって行ってもよい。例えば、親ジョブ情報と各子ジョブ情報とを別個のジョブ管理ファイル１３２に保存し、親ジョブ情報内に各子ジョブ情報が保存されたジョブ管理ファイル１３２のファイル名を登録するようにしてもよい。
【００５２】
ステップＳ１１５に続いてステップＳ１１６に進み、印刷指示手段１１３は、待機中の印刷ジョブを管理するため、親ジョブＩＤと当該印刷ジョブのジョブ管理ファイル１３２の識別情報（例えば、ファイル名）とを関連づけて印刷ジョブキュー１３１に登録する。
【００５３】
図１３は、印刷ジョブキューにおけるジョブ情報の構成例を示す図である。図１３に示されるようにジョブ情報１３１０は、親ジョブＩＤ及びジョブ管理ファイル名等から構成されている。印刷ジョブキュー１３１には、印刷処理が開始されていない印刷ジョブのそれぞれについてジョブ情報１３１０が管理される。
【００５４】
ステップＳ１１６に続いてステップＳ１１７に進み、印刷指示手段１１３は、ここでは印刷処理は実行せずに、親ジョブＩＤを印刷要求受付手段１１２に対して出力する。ステップＳ１１７に続いてステップＳ１１８に進み、印刷要求受付手段１１２は、印刷メソッドの返却情報として、親ジョブＩＤ及び子ジョブＩＤ等を含むＳＯＡＰメッセージをＷｅｂアプリ３２に対して送信する。
【００５５】
図１４は、印刷メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図１４のＳＯＡＰメッセージ７２０において、＜ｒｅｔｕｒｎＶａｌｕｅ＞タグで囲まれた記述７２１は、印刷メソッドの戻り値であり、「０」は正常に処理されたことを示す。記述７２２には、印刷要求に応じて生成された印刷ジョブの親ジョブＩＤが返却情報として含まれている。更に、＜ｓｕｂＪｏｂＩｄｓ＞タグに囲まれた記述７２３には、子ジョブＩＤのリストが返却情報として含まれている。すなわち、それぞれ＜ｉｔｅｍ＞タグで囲まれた記述７２３１及び記述７２３２は、各子ジョブＩＤを示す。
【００５６】
なお、ＳＯＡＰメッセージ７２０に含まれて返却された親ジョブＩＤ及び子ジョブＩＤは、Ｗｅｂアプリ３２によってＷｅｂサーバ３０にユーザごとに保存され、Ｗｅｂアプリ３２が印刷ジョブの一覧情報取得する際（後述される）等において用いられる。
【００５７】
ステップＳ１１８に続いてステップＳ１１９に進み、Ｗｅｂアプリ３２は、印刷要求に対する応答として、印刷要求を受け付けた旨を表示するＷｅｂページ（以下、「応答ページ」という。）をｈｔｔｐｄ３１を介してＷｅｂブラウザ４１に送信する。応答ページは、Ｗｅｂブラウザ４１によって表示され、ユーザは、印刷要求が正常に受け付けられたことを確認することができる。
【００５８】
一方、印刷サーバ１０においては、非同期管理手段１２０が定期的に印刷指示手段１１３に対して印刷ジョブの実行を促している（Ｓ１２０）。非同期管理手段１２０からの呼び出しに応じて、印刷指示手段１１３は、印刷ジョブキュー１３１を参照し、印刷ジョブキュー１３１にジョブ情報１３１０が登録されているか否か、すなわち、待機中の印刷ジョブが存在するか否かを確認する（Ｓ１２１）。
【００５９】
印刷ジョブキュー１３１にジョブ情報１３１０が登録されているときは、ステップＳ１２２に進み、印刷指示手段１１３は、ジョブ情報１３１０におけるジョブ管理ファイル名より、当該印刷ジョブのジョブ管理ファイル１３２を特定し、そのジョブ管理ファイル１３２における親ジョブ情報１３２１と一つの子ジョブ情報（以下「カレント子ジョブ情報」といい、カレント子ジョブ情報に係る子ジョブを「カレント子ジョブ」という。）とを取得し、カレント子ジョブを処理対象にすると共に、ジョブ管理ファイル１３２におけるカレント子ジョブ情報のジョブステータスの値を印刷処理中であることを示す「ｐｒｏｃｅｓｓｉｎｇ」に更新する（Ｓ１２２）。なお、ここで、印刷指示手段１１３は、子ジョブ情報におけるジョブステータスが「ｐｅｎｄｉｎｇ」以外である子ジョブについては処理対象とはしない。したがって、例えば、後述される印刷処理のキャンセル指示等によって、キャンセルされた子ジョブについては印刷処理は実行されない。
【００６０】
図１５は、子ジョブのジョブステータスがｐｒｏｃｅｓｓｉｎｇに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。図１５に示されるように子ジョブ情報１３２２におけるジョブステータスの値が、「ｐｅｎｄｉｎｇ」から「ｐｒｏｃｅｓｓｉｎｇ」に更新されている。
【００６１】
ステップＳ１２２続いてステップＳ１２３に進み、印刷指示手段１１３は、親ジョブ情報１３２１における「対象データ取得先ＵＲＬの配列」によって特定される文書管理サービス２４の文書管理手段２２から、カレント子ジョブ情報の「文書Ｉｄ」によって特定される対象データを取得するため、文書管理手段２２のセッション開設メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、文書管理手段２２に対しセッションの開設を要求する。
【００６２】
ステップＳ１２３に続いてステップＳ１２４に進み、文書管理手段２２は、印刷指示手段１１３とのセッションを開設し、セッション開設メソッドの戻り値として当該セッションを一意に識別するセッションＩＤを印刷指示手段１１３に対して送信する。（Ｓ１２５）。
【００６３】
ステップＳ１２５に続いてステップＳ１２６に進み、印刷指示手段１１３は、文書管理手段２２の文書取得メソッドを呼び出すことにより、文書管理手段２２に対し対象データの送信を要求する。なお、文書取得メソッドの引数には対象データを特定するための情報として文書Ｉｄが指定される。文書管理手段２２は、文書管理ＤＢ２３より対象データを検索し（Ｓ１２７）、当該対象データを印刷指示手段１１３に対して送信する（Ｓ１２８）。
【００６４】
ステップＳ１２８に続いてステップＳ１２９（図７）に進み、印刷指示手段１１３は、文書管理サーバ２０より取得した対象データの種別に対応する文書アプリ１１４に対して対象データの印刷を要求する。文書アプリ１１４が、プリンタドライバ１１５に対し対象データの印刷を要求すると（Ｓ１３０）、プリンタドライバ１１５は、対象データを印刷データに変換し、その印刷データを所定のフォルダに保存する（Ｓ１３１）。印刷データが保存されると、処理の制御が文書アプリ１１４を経て印刷指示手段１１３に復帰する（Ｓ１３２、Ｓ１３３）。
【００６５】
ステップＳ１３３に続いてステップＳ１３４に進み、印刷指示手段１１３は、一時的に保存されている印刷データを取得し、当該印刷データをスプーラ１１６に対して出力することによりスプーラ１１６に対して印刷要求を行う。ステップＳ１３４に続いてステップＳ１３５に進み、スプーラ１１６は、印刷要求に対する応答を印刷指示手段１１３に対して行う。スプーラ１１６は、周知なように印刷要求に対して非同期に印刷処理を実行するため、ステップＳ１３５における応答は、後述する印刷処理（Ｓ１３８）が実行される前に行われる。
【００６６】
上記ステップＳ１２２からステップＳ１３５までの処理は、子ジョブの数、すなわち印刷ジョブにおいて印刷対象とされている文書データの数だけ繰り返される（Ｓ１３６）。したがって、処理が繰り返されるたびに各子ジョブの子ジョブ情報におけるジョブステータスがｐｒｏｃｅｓｓｉｎｇに更新され、全ての子ジョブのジョブステータスがｐｒｏｃｅｓｓｉｎｇに更新されたときに、親ジョブ情報１３２１におけるジョブステータスがｐｒｏｃｅｓｓｉｎｇに更新される。すなわち、親ジョブのジョブステータスは、全ての子ジョブのジョブステータスが同じ段階を示す値に更新されたときに当該段階を示す値に更新されるというわけである。
【００６７】
ジョブステータスが「ｐｅｎｄｉｎｇ」であった全ての子ジョブについてステップＳ１２２からステップＳ１３５までの処理が完了すると、処理の制御が印刷指示手段１１３から非同期管理手段１４に復帰し、ステップＳ１２０において非同期管理手段１４によって開始された処理が終了する（Ｓ１３７）。
【００６８】
一方、子ジョブごとに印刷データが入力されたスプーラ１１６は、印刷指示手段１１３からの要求とは非同期に一の子ジョブに係る印刷データの印刷要求をポートプログラム１１７に対して行う（Ｓ１３８）。ステップＳ１３８に続いてステップＳ１３９に進み、ポートプログラム１１７は、ジョブ管理ファイル１３２において当該一の子ジョブに対する子ジョブ情報のジョブステータスの値を、、プリンタ５０によって処理中であることを示す「ｅｘｅｃｕｔｉｎｇ」に更新する。なお、厳密にはこのタイミングにおいてプリンタ５０における処理は開始されていないが、後述するように、この直後にプリンタ５０に対して印刷要求がなされるため、本実施の形態においては、このタイミングにおいてジョブステータスの値を「ｅｘｅｃｕｔｉｎｇ」に更新している。
【００６９】
図１６は、子ジョブのジョブステータスがｅｘｅｃｕｔｉｎｇに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。図１６に示されるように子ジョブ情報１３２２におけるジョブステータスの値が、「ｐｒｏｃｅｓｓｉｎｇ」から「ｅｘｅｃｕｔｉｎｇ」に更新されている。
【００７０】
上記ステップＳ１３８及びステップＳ１３９の処理は、子ジョブの数だけ繰り返される（Ｓ１４０）。したがって、処理が繰り返されるたびに、各子ジョブの子ジョブ情報におけるジョブステータスが「ｅｘｅｃｕｔｉｎｇ」に更新され、全ての子ジョブのジョブステータスが「ｅｘｅｃｕｔｉｎｇ」に更新されたときに、親ジョブ情報１３２１におけるジョブステータスが「ｅｘｅｃｕｔｉｎｇ」に更新される。
【００７１】
全ての子ジョブについてステップＳ１３８及びステップＳ１３９の処理が完了すると、ステップＳ１４１（図８）に進み、ポートプログラム１１７は、プリンタ制御手段１１８に対して印刷要求を行う。ステップＳ１４１に続いてステップＳ１４２に進み、プリンタ制御手段１１８は、プリンタ５０に対して印刷データを送信し、当該印刷データの印刷を要求する。プリンタ５０は、印刷要求を受け付け、当該印刷要求に応じてプリンタ５０において実行されるジョブ（以下、「機器ジョブ」という。）を一意に識別するためのＩＤ（機器ジョブＩＤ）を採番し、当該機器ジョブＩＤをプリンタ制御手段１１８に対して送信する（Ｓ１４３）。機器ジョブＩＤは、更に、プリンタ制御手段１１８からポートプログラム１１７に出力される（Ｓ１４４）。一方、印刷要求を受けたプリンタ５０は、所定のタイミングで機器ジョブ、すなわち、印刷データの印刷処理を実行する（Ｓ１４６）。
【００７２】
なお、ステップＳ１４１からステップＳ１４４までの処理は、子ジョブの数だけ繰り返される（Ｓ１４０）。したがって、各子ジョブ係る印刷データが順次プリンタ５０に送信され、各印刷データについてプリンタ５０による印刷が実行される（Ｓ１４６）。
【００７３】
プリンタ制御手段１１８は、機器ジョブＩＤをポートプログラム１１７に対して通知した後（Ｓ１４４）、プリンタ５０に対して各子ジョブに係る印刷処理の状態の問い合わせを行う（Ｓ４３）。この問い合わせは、プリンタ５０における印刷処理が完了するまで繰り返し行われる。なお、本実施の形態において印刷処理の「完了」とは、印刷処理が正常終了した状態だけでなく、中止された状態又は中断されている状態等、ユーザによってなんらかの操作が行われなければ処理が再開されないような状態をも意味する。
【００７４】
プリンタ５０から印刷処理の状態が返信されると（Ｓ１４８）、プリンタ制御手段１１８は、プリンタ５０における印刷処理の状態を示すイベントを発生させる。当該イベントは、イベント監視手段１１９によって検出される（Ｓ１４９）。なお、当該イベントに伴って、子ジョブの子ジョブＩＤと機器ジョブＩＤとがイベント監視手段１１９に通知される。
【００７５】
ここで、イベントの具体的な実装方法としては、例えば、第一の方法として、プリンタ制御手段１１８が、UNIX（登録商標）ＯＳ等においてプロセス間通信の一種として用いられているシグナルを発生させるようにしてもよい。この場合、イベント監視手段１１９は、当該シグナルをフェッチできるように実装しておけばよい。
【００７６】
また、第二の方法として、プリンタ制御手段１１８が、印刷処理の状態を所定のファイルに出力するようにしてもよい。この場合は、イベント監視手段１１９は、当該所定のファイルの更新をポーリングなどによって監視するように実装しておけばよい。
【００７７】
更に、第三の方法として、プリンタ制御手段１１８が、イベント監視手段１１９の所定のメソッドを呼び出すようにしてもよい。
【００７８】
ステップＳ１４９に続いてステップＳ１５０に進み、イベント監視手段１１９は、印刷処理の状態が通知された子ジョブについてジョブ管理ファイル１３２におけるジョブステータスの値を、プリンタ制御手段１１８が発生させたイベントの内容に従って更新する。例えば、当該イベントが、印刷処理が正常終了していることを示しているときは、イベント監視手段１１９は、ジョブステータスの値を「ｃｏｍｐｌｅｔｅｄ」に更新する。また、当該イベントが、エラーの発生により印刷処理が中止されたことを示しているときは、イベント監視手段１１９は、ジョブステータスの値を「ａｂｏｒｔｅｄ」に更新する。また、当該イベントが、エラーの発生により印刷処理が中断していることを示しているときは、イベント監視手段１１９は、ジョブステータスの値を「ｓｔｏｐｐｅｄ−ｅｒｒｏｒ」に更新する。
【００７９】
図１７は、子ジョブのジョブステータスがｃｏｍｐｌｅｔｅｄに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。図１７に示されるように子ジョブ情報１３２２におけるジョブステータスの値が、「ｅｘｅｃｕｔｉｎｇ」から「ｃｏｍｐｌｅｔｅｄ」に更新されている。
【００８０】
上記ステップＳ１４７からステップＳ１５０までの処理は、子ジョブの数だけ繰り返される。したがって、処理が繰り返されるたびに、各子ジョブの子ジョブ情報におけるジョブステータスが「ｃｏｍｐｌｅｔｅｄ」に更新され、全ての子ジョブのジョブステータスが「ｃｏｍｐｌｅｔｅｄ」に更新されたときに、親ジョブ情報１３２１におけるジョブステータスが「ｃｏｍｐｌｅｔｅｄ」に更新される。以上で印刷要求に基づく印刷処理が終了する。
【００８１】
次に、端末４０からＷｅｂサーバ３０に対して印刷ジョブの一覧情報（以下「ジョブ一覧」という。）の提供が要求された場合の処理について説明する。図１８は、ジョブ一覧の提供処理を説明するためのシーケンス図である。
【００８２】
ステップＳ２０１において、ユーザが、印刷サーバ１０における印刷ジョブの一覧情報を表示するＷｅｂページ（以下、「ジョブ一覧ページ」という。）のＵＲＬをＷｅｂブラウザ４１に入力すると、Ｗｅｂブラウザ４１は、Ｗｅｂサーバ３０に対してジョブ一覧ページの送信を要求する。ステップＳ２０１に続いてステップＳ２０２に進み、Ｗｅｂアプリ３２は、印刷サーバ１０の印刷要求受付手段１１２のジョブ一覧取得メソッドをＳＯＡＰのＲＰＣにより呼び出すためのＳＯＡＰメッセージを印刷サーバ１０に送信することにより、印刷ジョブの一覧情報の提供を印刷サーバ１０に要求する。
【００８３】
図１９は、ジョブ一覧取得メソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。図１９のＳＯＡＰメッセージ７３０において、タグ７３１のタグ名である「ｇｅｔＪｏｂＬｉｓｔ」が、ジョブ一覧取得メソッドのメソッド名である。また、記述７３２は、引数情報である。例えば、＜ｆｒｏｍＩｄ＞タグで囲まれた記述７３２１は、一覧情報の対象とする印刷ジョブのうち起点とされる親ジョブＩＤが指定された引数である。すなわち、印刷サーバ１０においては、複数の印刷ジョブが所定の順番（例えば、印刷要求がされた順）によって管理されておりその順番において起点となる印刷ジョブが指定される。なお、ジョブ一覧取得メソッドを最初に呼び出す場合は、この引数には何も指定されない。
【００８４】
＜ｊｏｂＣｏｕｎｔ＞タグで囲まれた記述７３２２は、一覧情報の対象とする印刷ジョブの個数が指定された引数である。＜ｊｏｂＴｙｐｅ＞タグで囲まれた記述７３２３は、親ジョブのみを対象とするか子ジョブも含めて対象とするかが指定された引数である。例えば、前者の場合は「Ｐａｒｅｎｔ」が指定され、後者の場合は「Ｓｕｂｊｏｂ」が指定される。＜ｊｏｂＳｔａｔｕｓ＞タグで囲まれた記述７３２４は、処理が完了したジョブのみを対象とするか（Ｃｏｍｐｌｅｔｅｄ）、未完了のジョブのみを対象とするか（ＮｏｔＣｏｍｐｌｅｔｅｄ）、又は全てのジョブを対象とするか（ＡＬＬ）が指定された引数である。＜ｏｒｄｅｒ＞タグで囲まれた記述７３２５は、起点とされたジョブから降順で取得するか（Ｄｅｓｃｅｎｄ）昇順で取得するか（Ａｓｃｅｎｄ）が指定された引数である。＜ｍａｓｋＴｙｐｅ＞タグで囲まれた記述７３２６は、自分（カレントユーザ）のジョブのみを対象とするのか（ＭｙＪｏｂ）、全てのジョブを対象とするのか（Ａｌｌ）が指定された引数である。
【００８５】
ステップＳ２０２に続いてステップＳ２０３に進み、ジョブ一覧取得メソッドが呼び出された印刷要求受付手段１１２は、ジョブ一覧取得メソッドの入力引数において一覧情報の対象とされた印刷ジョブのそれぞれのジョブ管理ファイル１３２からジョブ管理情報を取得する。取得された各ジョブ管理情報は、ジョブ一覧取得メソッドの返却情報としてＷｅｂアプリ３２に対して送信される（Ｓ２０４）。
【００８６】
図２０は、ジョブ一覧取得メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図２０のＳＯＡＰメッセージ７４０において、＜ｊｏｂＬｉｓｔ＞タグで囲まれた記述７４１には、印刷ジョブの一覧情報が含まれている。すなわち、それぞれ＜ｉｔｅｍ＞タグで囲まれた記述７４２及び記述７４３には、ジョブ管理ファイル１３２から取得された情報が印刷ジョブごとに含まれている。
【００８７】
例えば、記述７４２において、＜ｊｏｂＩｄ＞タグで囲まれた記述７４２１は、親ジョブＩｄを示す。＜ｊｏｂＳｔａｔｕｓ＞タグで囲まれた記述７４２２は、親ジョブのジョブステータスを示す。＜ｊｏｂＮａｍｅ＞タグで囲まれた記述７４２３は、親ジョブのジョブ名を示す。＜ｕｓｅｒＮａｍｅ＞タグで囲まれた記述７４２４は、当該印刷ジョブを要求したユーザのユーザ名を示す。＜ｓｕｂＪｏｂＣｏｕｎｔ＞タグで囲まれた記述７４２５は、子ジョブの数を示し、＜ｓｕｂＪｏｂＬｉｓｔ＞タグで囲まれた記述７４４に子ジョブ情報の一覧が含まれている。すなわち、それぞれ＜ｉｔｅｍ＞タグで囲まれた記述７４５及び記述７４６には、子ジョブごとに子ジョブ情報が含まれている。
【００８８】
例えば、記述７４５において、＜ｊｏｂＩｄ＞タグで囲まれた記述７４５１は、子ジョブＩＤを示す。＜ｊｏｂＮａｍｅ＞タグで囲まれた記述７４５２は、子ジョブのジョブ名を示す。＜ｊｏｂＳｔａｔｕｓ＞タグで囲まれた記述７４５３は、子ジョブのジョブステータスを示す。
【００８９】
以上、ステップＳ２０２〜ステップＳ２０４までの処理は、一覧の対象とされる全てのジョブの情報が取得されるまで繰り返される（Ｓ２０５）。
【００９０】
ステップＳ２０６に進み、Ｗｅｂアプリ３２は、ジョブ一覧取得メソッドを呼び出すことによって取得した情報に基づいてジョブ一覧ページを生成し（Ｓ２０６）、生成されたジョブ一覧ページをＷｅｂブラウザ４１に送信する（Ｓ２０７）。ジョブ一覧ページ４１は、Ｗｅｂブラウザ４１によって表示される。
【００９１】
図２１は、ジョブ一覧ページの表示例を示す図である。図２１に示されるようにジョブ一覧ページ４３０は、ジョブ一覧表示領域４３１、ボタン４３２及びボタン４３３等から構成される。ジョブ一覧表示領域４３１において、列４３１ｂは、親ジョブのジョブ名の一覧が表示される列である。列４３１ｄは、各印刷ジョブにおいて印刷対象とされている文書データの文書名の一覧、すなわち各子ジョブに係る文書データの文書名の一覧が表示される列である。列４３１ｅ、列４３１ｆは、各子ジョブに係るユーザ名又は各子ジョブのジョブステータスが表示される列である。このように、ユーザは、複数の文書データを印刷対象として印刷要求を行った場合であっても、その印刷要求に対応する印刷ジョブ単位だけでなく、印刷対象とした文書データごとにそれぞれのジョブステータスを確認することができる。
【００９２】
ボタン４３２及びボタン４３３は、親ジョブ又は子ジョブ単位でジョブのキャンセル又はジョブの一時停止等のジョブに対する操作を指定させるためのボタンである。操作対象とするジョブは、ジョブ一覧表示領域４３１における列４３１ａ及び列４３１ｃに配置されたチェックボタンによって指定させることができる。
【００９３】
なお、親ジョブ単位での操作が必要でない場合は、例えば、ジョブ一覧ページの構成を図２２のようにしてもよい、図２２は、ジョブ一覧ページの他の表示例を示す図である。図２２のジョブ一覧ページ４４０におけるジョブ一覧表示領域４４１には、図２１における列４３１ａ及び列４３１ｂに相当する列が無い。したがって、親ジョブ単位による操作を行うことはできないが、文書データごと（子ジョブごと）にジョブステータスの確認やジョブの操作ができるといった効果については、図２１におけるジョブ一覧ページ４３０と同様である。
【００９４】
以下、図２１のジョブ一覧ページ４３０において、列４３１ａ又は列４３１ｃにおけるいずれかのチェックボタンがチェックされ、ボタン４３２がクリックされた場合、すなわち、印刷ジョブ単位又は子ジョブ単位でのジョブのキャンセルが要求された場合の処理について説明する。図２３は、ジョブのキャンセル処理を説明するためのシーケンス図である。
【００９５】
ユーザがジョブ一覧ページ４３０において、いずれかの親ジョブ又は子ジョブに対するチェックボタンをチェックすることにより、キャンセル対象のジョブを選択し、ボタン４３２をクリックすると、Ｗｅｂブラウザ４１は、Ｗｅｂアプリ３２に対してジョブのキャンセルを要求するＨＴＴＰリクエストを送信する（Ｓ３０１）。ステップＳ３０１に続いてステップＳ３０２に進み、Ｗｅｂアプリ３２は、印刷要求受付手段１１２におけるキャンセルメソッドをＳＯＡＰのＲＰＣによって呼び出すためのＳＯＡＰメッセージを印刷サーバ１０に送信することにより、ジョブのキャンセルを印刷サーバ１０に要求する。
【００９６】
図２４は、キャンセルメソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。図２４のＳＯＡＰメッセージ７５０において、タグ７５１のタグ名である「ｃａｎｃｅｌＪｏｂ」が、キャンセルメソッドのメソッド名である。記述７５２は、引数情報である。例えば、＜ｊｏｂＩｄ＞タグで囲まれた記述７５２１は、キャンセルの対象とする親ジョブの親ジョブＩＤが指定された引数である。＜ｓｕｂｊｏｂＩｄ＞タグで囲まれた記述７５２２は、キャンセルの対象とする子ジョブの子ジョブＩＤが指定された引数である。なお、親ジョブ単位でキャンセル対象が指定されている場合は、子ジョブＩＤの値は指定されない。
【００９７】
ステップＳ３０２に続いてステップＳ３０３に進み、キャンセルメソッドを呼び出された印刷要求受付手段１１２は、キャンセルメソッドに実装された処理を実行する。図２５は、キャンセルメソッドにおける処理を説明するためのフローチャートである。
【００９８】
まず、印刷要求受付手段１１２は、キャンセルの対象とされたジョブが親ジョブであるか否かを判断する（Ｓ５０１）。この判断は、キャンセルメソッドの引数に子ジョブＩＤが指定されているか否かによって行うことができる。キャンセル対象が親ジョブであった場合は、対応するジョブ管理ファイル１３２を参照することにより当該親ジョブに属する全ての子ジョブを確認し、その全ての子ジョブに対して後述されるキャンセル処理（Ｓ５０３〜Ｓ５０６）を繰り返した後、ジョブ管理ファイル１３２における親ジョブのジョブステータスの値を「ｃａｎｃｅｌｅｄ」に更新する。
【００９９】
一方、キャンセルの対象とされたジョブが子ジョブである場合は、印刷要求受付手段１１２は、対応するジョブ管理ファイル１３２を参照することにより、当該子ジョブのジョブステータスを確認し（Ｓ５０３）、ジョブステータスに応じたキャンセル処理を実行する（Ｓ５０４〜Ｓ５０６）。
【０１００】
すなわち、ジョブステータスが「ｐｅｎｄｉｎｇ」のときは、印刷要求受付手段１１２が、ジョブ管理ファイル１３２におけるジョブステータスの値を「ｃａｎｃｅｌｅｄ」（キャンセル）とすることにより、対象ジョブのキャンセルが実現される（Ｓ５０４）。上述したように印刷指示手段１１３は、ジョブステータスの値が「ｃａｎｃｅｌｅｄ」である印刷ジョブについては印刷処理を行わないからである。
【０１０１】
また、ジョブステータスがｐｒｏｃｅｓｓｉｎｇ又はｅｘｅｃｕｔｉｎｇときは、印刷要求受付手段１１２が、スプーラ１１６又はプリンタ制御手段１１８に対してジョブのキャンセルを指示し（ＡＰＩの呼び出し等）（Ｓ５０５、Ｓ５０６）、更に、ジョブ管理ファイル１３２における対象ジョブのジョブステータスの値を「ｃａｎｃｅｌｅｄ」とすることにより、対象ジョブのキャンセルが実現される。
【０１０２】
図２３に戻る。ステップＳ３０４に進み、印刷要求受付手段１１２は、キャンセルメソッドの返却情報として、キャンセル処理の成否を示す情報を含むＳＯＡＰメッセージをＷｅｂアプリ３２に対して送信する。
【０１０３】
図２６は、キャンセルメソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図２６のＳＯＡＰメッセージ７６０において、＜ｒｅｔｕｒｎＶａｌｕｅ＞タグで囲まれた記述７４１は、キャンセルメソッドの戻り値であり、「０」はキャンセル処理が正常に実行されたことを示す。
【０１０４】
ステップＳ３０４に続いてステップＳ３０５に進み、キャンセルが正常に実行された場合は、Ｗｅｂアプリ３２は、キャンセルされたジョブの行が削除されたジョブ一覧ページ４３０を生成する。生成されたジョブ一覧ページ４３０は、Ｗｅｂブラウザ４１に送信され、Ｗｅｂブラウザ４１によって表示される。以上でジョブのキャンセル処理が終了する。
【０１０５】
上述したように本実施の形態における印刷サーバ１０によれば、ユーザは、文書管理サーバ２０において管理されている複数の文書データを対象とした印刷要求を行った場合であっても、文書データごとにジョブステータスの確認やジョブの操作等を行うことができる。特に、スプーラにジョブが投入される前においても文書データごとに操作を行うことができるため、印刷要求をした直後においても文書データごとにジョブのキャンセル等の操作を行うことができる。
【０１０６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０７】
【図１】従来の文書管理システムにおける印刷処理を説明するための図である。
【図２】従来クライアント側で得られたジョブ一覧を示す図である。
【図３】本発明の実施の形態における印刷システムの構成例を示す図である。
【図４】本発明の実施の形態における印刷サーバのハードウェア構成例を示す図である。
【図５】印刷サーバにおける印刷サービスの機能構成例を示す図である。
【図６】印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。
【図７】印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。
【図８】印刷システムにおける文書データの印刷処理を説明するためのシーケンス図である。
【図９】文書一覧ページの表示例を示す図である。
【図１０】設定ページの表示例を示す図である。
【図１１】印刷メソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。
【図１２】印刷ジョブのジョブ管理情報の構成例を示す図である。
【図１３】印刷ジョブキューにおけるジョブ情報の構成例を示す図である。
【図１４】印刷メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図１５】子ジョブのジョブステータスがｐｒｏｃｅｓｓｉｎｇに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。
【図１６】子ジョブのジョブステータスがｅｘｅｃｕｔｉｎｇに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。
【図１７】子ジョブのジョブステータスがｃｏｍｐｌｅｔｅｄに更新されたジョブ管理ファイルにおけるジョブ管理情報の例を示す図である。
【図１８】ジョブ一覧の提供処理を説明するためのシーケンス図である。
【図１９】ジョブ一覧取得メソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。
【図２０】ジョブ一覧取得メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図２１】ジョブ一覧ページの表示例を示す図である。
【図２２】ジョブ一覧ページの他の表示例を示す図である。
【図２３】ジョブのキャンセル処理を説明するためのシーケンス図である。
【図２４】キャンセルメソッドを呼び出すときのＳＯＡＰメッセージの例を示す図である。
【図２５】キャンセルメソッドにおける処理を説明するためのフローチャートである。
【図２６】キャンセルメソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【符号の説明】
【０１０８】
１            印刷システム
１０          印刷サーバ
１１          印刷サービス
２０          文書管理サーバ
２１          ＳＯＡＰリスナ
２２          文書管理手段
２３          文書管理ＤＢ
２４          文書管理サービス
３０          Ｗｅｂサーバ
３１          ｈｔｔｐｄ
３２          Ｗｅｂアプリ
３３          ＳＯＡＰプロキシ
４０          端末
４１          Ｗｅｂブラウザ
５０          プリンタ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        演算処理装置
１０５        インタフェース装置
１１１        ＳＯＡＰリスナ
１１２        印刷要求受付手段
１１３        印刷指示手段
１１４        文書アプリ
１１５        プリンタドライバ
１１６        スプーラ
１１７        ポートプログラム
１１８        プリンタ制御手段
１１９        イベント監視手段
１２０        非同期管理手段
１２１        文書管理接続手段
１２２        ＳＯＡＰプロキシ
１３２        ジョブ管理ファイル
Ｂ            バス
【図１】
2006085577.tif 000003
【図２】
2006085577.tif 000004
【図３】
2006085577.tif 000005
【図４】
2006085577.tif 000006
【図５】
2006085577.tif 000007
【図６】
2006085577.tif 000008
【図７】
2006085577.tif 000009
【図８】
2006085577.tif 000010
【図９】
2006085577.tif 000011
【図１０】
2006085577.tif 000012
【図１１】
2006085577.tif 000013
【図１２】
2006085577.tif 000014
【図１３】
2006085577.tif 000015
【図１４】
2006085577.tif 000016
【図１５】
2006085577.tif 000017
【図１６】
2006085577.tif 000018
【図１７】
2006085577.tif 000019
【図１８】
2006085577.tif 000020
【図１９】
2006085577.tif 000021
【図２０】
2006085577.tif 000022
【図２１】
2006085577.tif 000023
【図２２】
2006085577.tif 000024
【図２３】
2006085577.tif 000025
【図２４】
2006085577.tif 000026
【図２５】
2006085577.tif 000027
【図２６】
2006085577.tif 000028