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