(57)【要約】【課題】処理の実行に時間を要するウェブアプリケーションの場合には、ウェブブラウザとウェブアプリケーションとの間のインターネット接続を処理の完了まで維持する必要がある。【解決手段】文書データから印刷データへの変換処理を提供するウェブアプリケーションサーバにおいて、変換処理自身はウェブアプリケーションとは非同期のソフトウェアプロセスとして提供し、ウェブアプリケーションは変換処理の実行依頼の受付のみを行う。また進捗確認はＣｏｍｅｔ通信を用い、ウェブサーバは、ＨＴＴＰ要求に対する応答を遅延させる。【選択図】図３
2011232893.tif 000002
【特許請求の範囲】
【請求項１】
Ｃｏｍｅｔ通信の手順に従い、指示された処理の進捗情報要求に対して当該処理が完了する前に応答設定時間が経過すれば空の応答を、当該処理が完了すれば完了の応答を前記指示をした端末装置に送信するサーバ装置と接続される端末装置であって、
前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記サーバ装置に対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗状況を問い合わせる進捗情報要求を送信し、該進捗情報要求に対する応答を前記サーバ装置から受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記サーバ装置から受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Ｃｏｍｅｔ通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信することを特徴とする端末装置。
【請求項２】
前記ブラウザ手段は、文書データの指定を受け付ける文書の指定手段を有し、
前記ブラウザ手段が前記進捗確認手段に対して前記変換要求で指定された文書データに対する前記変換処理の進捗の問い合わせを指示した後、前記文書の指定手段は新たな文書データの指定を受け付けることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記サーバ装置から受信した印刷データを印刷するための印刷手段を更に備え、
前記サーバ装置は、前記変換要求に応じて、前記印刷手段により印刷可能な印刷データに前記文書データを変換することを特徴とする請求項１または２に記載の端末装置。
【請求項４】
端末装置と通信するサーバ装置であって、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Ｃｏｍｅｔ通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段と
を備えることを特徴とするサーバ装置。
【請求項５】
前記端末装置は、前記サーバ装置から受信した印刷データを印刷するための印刷手段を備え、
前記変換手段は、前記文書データを、前記印刷手段により印刷可能な印刷データに変換することを特徴とする請求項４に記載のサーバ装置
【請求項６】
前記端末装置及びサーバ装置は文書データを保存した文書管理サーバと更に接続され、前記端末装置は、前記文書管理サーバにより保存された文書データの中から文書データを指定し、
前記サーバ装置は、前記端末で指定された文書データを前記指定された文書データとして前記文書管理サーバから取得する手段を更に備えることを特徴とする請求項４または５に記載のサーバ装置。
【請求項７】
請求項１乃至３のいずれか一項に記載の端末装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項８】
請求項４乃至６のいずれか一項に記載のサーバ装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項９】
１または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムであって、
前記１または複数のサーバ装置のひとつは、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Ｃｏｍｅｔ通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備え、
前記端末装置は、
前記１または複数のサーバ装置のひとつに対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記１または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信し、該進捗情報要求に応じた進捗情報または前記変換処理された印刷データを前記１または複数のサーバ装置のひとつから受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記１または複数のサーバ装置のひとつから受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Ｃｏｍｅｔ通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信することを特徴とする印刷システム。
【請求項１０】
前記通信ネットワークには文書データを保存した文書管理サーバが更に接続され、
前記端末装置は、前記文書管理サーバにより保存された文書データの中から文書データを指定し、
前記１または複数のサーバ装置のひとつは、前記端末で指定された文書データを前記指定された文書データとして前記文書管理サーバから取得する手段を更に備えることを特徴とする請求項９に記載の印刷システム。
【請求項１１】
前記１または複数のサーバ装置と前記端末装置との間の要求と応答は、前記１または複数のサーバ装置から前記端末に対する要求を遮断するファイアウォールを介して交換されることを特徴とする請求項９または１０に記載の印刷システム。
【請求項１２】
１または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムにおけるデータ変換方法であって、
前記端末装置のブラウザ手段が、前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信する工程と、
前記１または複数のサーバ装置のひとつが、前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信し、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理の実行を開始する工程と、
前記端末装置のブラウザ手段が、前記変換要求に対応した受信応答を前記１または複数のサーバ装置のひとつから受信すると、前記端末装置の進捗確認手段に対して、前記変換要求で指定した文書データを特定文書データとして前記変換処理の進捗の問い合わせを前記サーバ装置に対して行うことを指示する工程と、
前記端末装置の前記進捗確認手段が、前記指示を受けて、前記前記１または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信する工程と、
前記１または複数のサーバ装置のひとつが、前記端末装置の前記進捗確認手段から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Ｃｏｍｅｔ通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する工程と、
前記端末装置の前記進捗確認手段が、前記変換処理された印刷データまたは空の応答を前記１または複数のサーバ装置のひとつから受信し、前記サーバ装置から空の応答を受信したなら、Ｃｏｍｅｔ通信の手順に従い、前記進捗情報要求を前記サーバ装置に対して送信する工程と
を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラウドコンピューティング環境において、印刷データを作成し、印刷するための印刷データ作成サーバ及び印刷装置及び印刷システムに関する。
【背景技術】
【０００２】
ウェブアプリケーションサーバがネットワーク経由で提供する機能を、クライアント端末にインストールされたウェブブラウザを介して利用する形態のアプリケーション（以下、ウェブアプリケーション）が現在広く普及している。
【０００３】
加えて近年では、ウェブアプリケーションに加えてウェブアプリケーションを運用するウェブアプリケーションサーバのハードウェア環境までをネットワーク経由で提供するクラウドコンピューティングサービスが普及してきている。クラウドコンピューティングサービスの代表的な例としては、米国Ａｍａｚｏｎ．ｃｏｍ（登録商標）が提供するＡｍａｚｏｎ  Ｗｅｂ  Ｓｅｒｖｉｃｅ、米国Ｍｉｃｒｏｓｏｆｔが提供するＷｉｎｄｏｗｓ  Ａｚｕｒｅ（登録商標）が挙げられる。クラウドコンピューティングサービスの普及により、従来クライアント端末に特定のアプリケーションをインストールすることで実現していた処理であっても、今後ウェブアプリケーションとして提供することで、ウェブブラウザさえ備えれば実行可能となることが期待されている。
【０００４】
このような技術背景において、アプリケーションによって作成された文書データを印刷装置が解釈して実行可能なデータ形式（以下、印刷データ）へと変換するプリンタドライバをウェブアプリケーションとして提供する方法が検討されている。ドライバアプリケーションをウェブアプリケーションとして提供し、既存の文書管理ウェブアプリケーションと連携することで、ウェブブラウザを搭載した印刷装置から直接、一元的に文書の閲覧、選択、編集、印刷までを行うことが可能となる。
【０００５】
しかし、ドライバアプリケーションが実行する文書データから印刷データへの変換処理は、その要求を受け付けてから実行完了まで長時間を要することが予想される。そのような処理の場合、ウェブアプリケーションサーバが印刷データの変換処理の要求をＨＴＴＰリクエストにより受け付けてから処理が完了してＨＴＴＰレスポンスをウェブブラウザに返すまで間に、ウェブブラウザでタイムアウトが生じるおそれがある。またウェブサーバと実質的なサービスを提供するアプリケーションサーバとが異なる場合には、アプリケーションサーバによる処理時間が、ウェブサーバの待機時間を超えてタイムアウトが発生することもあり得る。このタイムアウトはウェブブラウザに応答として伝達される。
【０００６】
タイムアウトを防止する従来技術としては、処理の実行中に一定時間周期でウェブブラウザがウェブアプリケーションサーバに処理の実行状況を問い合わせるポーリングと呼ばれる方法がある（例えば、特許文献１等参照）。ポーリングでは、ウェブブラウザは、ウェブアプリケーションサーバでの処理の実行中に、一定周期でＨＴＴＰリクエストの送信とＨＴＴＰレスポンスの受信を繰り返す。こうすることでタイムアウトの発生を防止し、処理が完了するまで擬似的にクライアントとウェブアプリケーションサーバとの接続を維持する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−０２２１６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ウェブブラウザが処理を実行中のウェブアプリケーションサーバに対してポーリングを行い接続を維持する場合には、ウェブブラウザは、処理が完了するまで特定のＵＲＬに対してアクセスを繰り返す。そのため、ウェブブラウザは、処理が完了するまで特定のページを表示し続けなければならない。ドライバアプリケーションと文書管理アプリケーションとが異なるサーバによって提供される場合は、処理完了によりポーリングが終了するまで、当該ウェブブラウザは他のウェブアプリケーションサーバが提供する機能を実行することができなくなってしまう。
【０００９】
また、ウェブブラウザがウェブアプリケーションサーバに対してポーリングを行い接続を維持する場合には、処理が完了するまでウェブブラウザを終了することができない。そのため、ウェブアプリケーションを利用するユーザが処理の完了まで印刷装置及びウェブブラウザを占有することになってしまう。
【００１０】
本発明は上記従来例に鑑みて成されたもので、上記課題を解決することを目的とする。すなわち、ウェブアプリケーションとして提供されるプリンタドライバや文書処理アプリケーションを用いてウェブブラウザから印刷を要求した場合でも、ウェブアプリケーションの処理待ちの時間にはウェブブラウザを解放することができる印刷データ作成サーバ及び印刷装置及び印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は以下の構成を有する。すなわち、
Ｃｏｍｅｔ通信の手順に従い、指示された処理の進捗情報要求に対して当該処理が完了する前に応答設定時間が経過すれば空の応答を、当該処理が完了すれば完了の応答を前記指示をした端末装置に送信するサーバ装置と接続される端末装置であって、
前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記サーバ装置に対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗状況を問い合わせる進捗情報要求を送信し、該進捗情報要求に対する応答を前記サーバ装置から受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記サーバ装置から受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Ｃｏｍｅｔ通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信する。
【００１２】
あるいは、他の観点によれば本発明は以下の構成を有する。すなわち、
端末装置と通信するサーバ装置であって、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Ｃｏｍｅｔ通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備える。
【００１３】
あるいは、他の観点によれば本発明は以下の構成を有する。すなわち、
１または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムであって、
前記１または複数のサーバ装置のひとつは、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Ｃｏｍｅｔ通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備え、
前記端末装置は、
前記１または複数のサーバ装置のひとつに対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記１または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信し、該進捗情報要求に応じた進捗情報または前記変換処理された印刷データを前記１または複数のサーバ装置のひとつから受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記１または複数のサーバ装置のひとつから受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Ｃｏｍｅｔ通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信する。
【発明の効果】
【００１４】
本発明では、ウェブアプリケーションサーバでの処理中、その処理の完了は、ウェブブラウザとは異なるソフトウェアプロセスにより監視される。さらにそのソフトウェアプロセスがＣｏｍｅｔ通信を用いてウェブアプリケーションサーバとの接続を行う。
【００１５】
以上により、印刷装置におけるクラウドコンピューティングサービスの実行時に、ウェブアプリケーションサーバを利用するユーザが印刷装置及びウェブブラウザを占有することを回避することができる。また、ウェブアプリケーション実行中のサーバ負荷も低減される。
【図面の簡単な説明】
【００１６】
【図１】システム構成図
【図２】ＨＴＴＰプロトコルにおける要求と応答の流れを示すシーケンス図
【図３】ＨＴＴＰプロトコルにおけるポーリングを用いた要求と応答の流れを示すシーケンス図
【図４】ＨＴＴＰプロトコルにおけるＣｏｍｅｔを用いた要求と応答の流れを示すシーケンス図
【図５】文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３のハードウェア構成図
【図６】印刷装置１０４のハードウェア構成図
【図７】文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３、印刷装置１０４のソフトウェア構成図
【図８】印刷装置１０４の操作部１０４２に表示されるウェブブラウザ７０３２の画面構成を説明する図
【図９】文書管理アプリケーションサーバ１０２の文書管理テーブル９０１を説明する図
【図１０】実施形態１において、印刷する文書データを選択するまでを説明するフローチャート図
【図１１】ウェブブラウザ７０３２に表示される文書リスト画面を説明する図
【図１２】実施形態１において、図１０に示すフローチャート中で印刷指示の登録を詳細に説明するフローチャート図
【図１３】印刷指示受付アプリケーションサーバ１０３の印刷指示情報管理データベースを説明する図
【図１４】図１０において印刷指示の登録が終了した際にウェブブラウザ７０３２に表示される画面を説明する図
【図１５】実施形態１において、文書データを印刷データに変換するまでを説明するフローチャート図
【図１６】実施形態１において、印刷装置１０４が印刷データを印刷するまでも説明するフローチャート図
【図１７】印刷指示確認アプリケーション７０３３のソフトウェア構成図
【発明を実施するための形態】
【００１７】
以下、本発明を構成するための一実施形態について、図面を用いて説明する。
【００１８】
［第１実施形態］
＜システム構成＞
図１は、本発明の第１の実施形態に係るシステムの全体構成を示している。インターネット１０１、文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３、印刷装置１０４、ファイアウォール１０５から構成される。文書管理アプリケーションサーバ１０２は単に文書管理サーバとも呼ぶ。
【００１９】
インターネット１０１は、上述の各装置間での情報のやりとりのための通信回線（通信ネットワーク）として働き、有線、無線と回線の形態は問わない。文書管理アプリケーションサーバ１０２は、制御部１０２１、記憶部１０２２を含む。記憶部１０２２には文書データが保存される。例えば、Ａｄｏｂｅ社のＡｃｒｏｂａｔ（登録商標）等のソフトウェアで作成されたＰＤＦファイル、Ｍｉｃｒｏｓｏｆｔ社のＷｏｒｄ等のソフトウェアで作成されたＤＯＣファイル等が文書データに該当する。制御部１０２１はアプリケーションサーバとして一般的な公知の役割を果たす。例えば、記憶部１０２２にウェブアプリケーションがインストールされていて、印刷装置１０４にサービスを提供するためのソフトウェアプロセス群が稼働している。さらに加えて、制御部１０２１は本実施形態及びそれ以降に開示するフローチャートの各処理の少なくとも一部を行うことが可能である。
【００２０】
印刷指示受付アプリケーションサーバ１０３は、制御部１０３１と記憶部１０３２とを含む。記憶部１０３２には後述するウェブブラウザ４０３２からの処理要求及び処理要求の実行結果である印刷データが保存される。例えば、印刷データはＰＤＬ等の印刷装置１０４が解釈及び印刷可能なデータ形式のデータを指す。制御部１０３１はアプリケーションサーバとして一般的な公知の役割を果たす。例えば、ウェブブラウザ４０３２からの処理要求に従って、各処理を実行するウェブアプリケーションがインストールされていて、各処理を印刷装置１０４に提供するためのソフトウェアプロセス群が稼働している。さらに加えて制御部１０３１は本実施形態及びそれ以降に開示するフローチャートの各処理の一部を行うことが可能である。
【００２１】
印刷装置１０４は、コントロールユニット１０４１、操作部１０４２、印刷部１０４３を含む。印刷装置１０４は、画像の入出力と送受信、及び各種の画像処理を行う複合機（ＭＦＰ：Ｍｕｌｔｉ Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ）である。コントロールユニット１０４１は印刷装置１０４の構成要素である操作部１０４２、印刷部１０４３を制御する。操作部１０４２はユーザインタフェースを備え、ユーザからの印刷装置１０４の操作指示を受け付ける。印刷部１０４３はコントロールユニット１０４１によって制御され各種の画像処理及び画像の出力を行う。コントロールユニット１０４１は、プロセッサおよびメモリを有しており、アプリケーションプログラムとしてウェブブラウザを実行することができる。ウェブブラウザは、ＨＴＴＰレスポンスとして得たデータを表示したり、埋め込まれたスクリプトを実行したりできる。
【００２２】
ファイアウォール１０５は印刷装置１０４のセキュリティ強化のためにインターネット１０１を介した外部からのアクセスを制限する装置として働き、ハードウェア、ソフトウェアと装置としての形態は問わない。サーバとクライアントとの間のメッセージは、ファイアウォール１０５を介して交換されることで、アクセス制限を実現する。
【００２３】
＜ＨＴＴＰプロトコルにおける要求と応答の流れ＞
図２は、ＨＴＴＰプロトコルにおける要求と応答の処理の流れを示すシーケンス図である。クライアント２０１は、サーバ２０２にＨＴＴＰ要求（ＨＴＴＰ  ＲＥＱＵＥＳＴ）を送信し、その応答としてＨＴＴＰ応答（ＨＴＴＰ  ＲＥＳＰＯＮＳＥ）を受信するソフトウェアである。図１に示す本発明の第１の実施形態に係るシステム構成においては、クライアント２０１は印刷装置１０４に内蔵されるウェブブラウザ７０３２（図７参照）に相当する。サーバ２０２は、ＨＴＴＰ要求を受信して対応するアプリケーション２０３を実行し、さらにＨＴＴＰ応答をクライアント２０１に返信するソフトウェアである。図１に示す本発明の第１の実施形態に係るシステム構成においては、サーバ２０２は文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３に相当する。アプリケーション２０３はウェブサービスプロバイダ部７０１１、アプリケーションサーバ部７０２２に相当する。
【００２４】
クライアント２０１は、ＨＴＴＰ要求をＧＥＴメソッドまたはＰＯＳＴメソッドのいずれかの方法でサーバ２０２に送信することができる。ここで、クライアント２０１が所望のリソースに対するＨＴＴＰ要求２０４をＧＥＴメソッドでサーバ２０２に送信する場合、リソースは一般にＵＲＩ（特にＵＲＬ）形式によって指定される。サーバ２０２は、ＨＴＴＰ要求２０４により指定されたリソースに対応するデータを取得または生成し、このデータをＨＴＴＰ応答２０５によってクライアント２０１に返信する。
【００２５】
次に、ＨＴＴＰ要求をＰＯＳＴメソッドで送信する場合を説明する。ＨＴＭＬ文書にフォーム（ｆｏｒｍ）が含まれ、その送信方法にＰＯＳＴメソッドが指定されている場合、以下のような処理が行われる。すなわち、クライアント２０１のウェブブラウザにより表示されたフォームにユーザにより入力された情報は符号化され、その符号化された情報すなわちフォームの入力内容はＨＴＴＰ要求２０６に添付されてサーバ２０２に送信される。サーバ２０２は、クライアント２０１から受信したＨＴＴＰ要求２０６を解析して、ユーザが入力した情報を取得する。サーバ２０２はユーザが入力した情報に対応するアプリケーション２０３を起動する。そして、アプリケーション開始通知２０７においてユーザが入力した情報をアプリケーション２０３に渡して、処理の実行を開始する。アプリケーション２０３において処理の実行が終了するとアプリケーション終了通知２０８において処理の実行結果をサーバ２０２に通知する。サーバ２０２はアプリケーション終了通知２０８において取得した実行結果からＨＴＴＰ応答２０９を生成して、クライアント２０１に返信する。
【００２６】
また、サーバ２０２ではクライアント２０１からＨＴＴＰ要求を受信して、アプリケーション２０３が完了する時間制限（アプリケーション制限時間と呼ぶ）を設定することが可能である。アプリケーション制限時間の範囲内でアプリケーション２０３での処理が終了しなかった場合には、アプリケーション２０３での処理の実行を中断し、アプリケーションがタイムアウトしたことを示すＨＴＴＰ応答をクライアント２０１に返す。図２の例では、サーバ２０２は、クライアント２０１においてＨＴＴＰ要求に対するタイムアウトが発生する時間（要求制限時間と呼ぶ）内に、クライアント２０１にＨＴＴＰ要求を返す必要がある。そのため、図２では、アプリケーション制限時間は、要求制限時間から、ＨＴＴＰ要求および応答の伝達遅延を差し引いた時間以内とする必要がある。
【００２７】
＜ＨＴＴＰプロトコルにおけるポーリングを用いた要求と応答の流れ＞
図３は、ＨＴＴＰプロトコルにおいてポーリングを用いた要求と応答の流れを示すシーケンス図である。クライアント２０１はＰＯＳＴメソッドでＨＴＴＰ要求３０１をサーバ２０２に送信する。サーバ２０２は、クライアントから受信したＨＴＴＰ要求３０１を解析して、ユーザが入力した情報を取得する。サーバ２０２はユーザが入力した情報に対応するアプリケーション２０３を起動する。そして、アプリケーション開始通知３０２においてユーザが入力した情報をアプリケーション２０３に渡して、処理の実行を開始する。このとき、図１とは異なりアプリケーション２０３の処理の実行が開始されるとサーバ２０２はＨＴＴＰ応答３０３を生成して、クライアント２０１に返信する。
【００２８】
次に、クライアント２０１は改めてＰＯＳＴメソッドでＨＴＴＰ要求３０４をサーバ２０２に送信する。このときＨＴＴＰ要求３０４にはＨＴＴＰ要求３０１に含まれていたユーザが入力した情報は含まれていない。ＨＴＴＰ要求３０４にはアプリケーション開始通知３０２においてアプリケーション２０３が開始した処理の進捗状況を問い合わせるための情報が含まれている。サーバ２０２はＨＴＴＰ要求３０４を受信するとアプリケーション２０３が実行中の処理の進捗情報を確認する。処理中である場合には、その情報を含んだＨＴＴＰ応答３０５を生成し、クライアント２０１に返信する。クライアント２０１とサーバ２０２との間でのＨＴＴＰ要求３０４とＨＴＴＰ応答３０５の送受信は、アプリケーション２０３で実行中の処理が終了し、アプリケーション２０３がサーバ２０２にアプリケーション終了通知３０６を通知するまで繰り返される。
【００２９】
サーバ２０２がアプリケーション２０３からアプリケーション終了通知３０６を受信した以降にクライアント２０１からＨＴＴＰ要求３０７をサーバ２０２が受信すると、アプリケーション終了通知３０６において取得した実行結果からＨＴＴＰ応答３０８を生成して、クライアント２０１に返信する。
【００３０】
以上のように、サーバ２０２からアプリケーション２０３に対してアプリケーション開始通知３０２が送信されてから、クライアント２０１がアプリケーション２０３の処理結果を受信するまでサーバ２０２に繰り返しＨＴＴＰ要求を行う必要がある。アプリケーション２０３の処理の実行結果をリアルタイムに受信するためには、ポーリングを行う間隔、図３においてはＨＴＴＰ応答３０３を受信してから、ＨＴＴＰ要求３０４を送信するまでの時間間隔を短くする必要がある。そのため、サーバ負荷が増大するという課題がある。またサーバ負荷を考慮して時間間隔を長くすると実行結果を含んだＨＴＴＰ応答をリアルタイムに受信することが困難になる。
【００３１】
＜ＨＴＴＰプロトコルにおけるＣｏｍｅｔを用いた要求と応答の流れ＞
図４は、ＨＴＴＰプロトコルにおいてＣｏｍｅｔ通信を用いた要求と応答の流れを示すシーケンス図である。
【００３２】
図４の手順では、サーバ２０２はクライアント２０１からＨＴＴＰ要求を受信してＨＴＴＰ応答を返すまでの応答時間を設定する。この時間を応答設定時間と呼ぶことにする。応答設定時間の範囲内でアプリケーション２０３での処理が終了しなかった場合には、サーバ２０２は空のＨＴＴＰ応答をクライアント２０１に返す。この場合も、応答設定時間は、要求制限時間からＨＴＴＰ要求／応答の伝達時間を差し引いた時間よりも短くすべきである。ただしネットワーク資源の浪費を避けるために、できるだけ長い時間が選ばれる。
【００３３】
クライアント２０１はＰＯＳＴメソッドでＨＴＴＰ要求４０１をサーバ２０２に送信する。サーバ２０２は、クライアント２０１から受信したＨＴＴＰ要求４０１を解析して、ユーザが入力した情報を取得する。サーバ２０２は、ユーザが入力した情報に対応するアプリケーション２０３をアプリケーション開始通知４０２で起動する。アプリケーション開始通知４０２によってユーザが入力した情報がアプリケーション２０３に渡され、処理の実行を開始する。アプリケーション開始通知４０２をきっかけに開始された処理が、応答設定時間内に終了した場合には、サーバ２０２はアプリケーション終了通知４０５から実行結果を取得し、ＨＴＴＰ応答４０６を生成してクライアント２０１に返信する。
【００３４】
一方アプリケーション開始通知４０２をきっかけに開始された処理が終了する前に応答設定時間が経過した場合、Ｃｏｍｅｔでは、サーバ２０２は空のＨＴＴＰ応答４０３を生成し、クライアント２０１に返信する。これによりクライアント２０１はＨＴＴＰ要求のタイムアウトが発生する前にＨＴＴＰ応答を受信できる。
【００３５】
クライアント２０１は、サーバ２０２から空のＨＴＴＰ応答４０３を受信すると、即時にサーバ２０２に対してＨＴＴＰ要求４０４を送信し、サーバとの再接続を行う。サーバ２０２は、受信したＨＴＴＰ要求に対して直ちに応答せず、アプリケーション２０３の処理が終了するか、応答設定時間が経過するまで応答を遅延させる。この後は、ＨＴＴＰ要求４０１に対する手順と同様である。この手順を、アプリケーション２０３の処理が終了するまで繰り返す。すなわち、ＨＴＴＰ応答４０３、ＨＴＴＰ要求４０４の一連の流れはアプリケーション２０３が実行中の処理を終了し、サーバ２０２にアプリケーション終了通知４０５を送信するまで繰り返される。再接続の後、アプリケーション開始通知４０２において開始された処理が終了した場合には、サーバ２０２はアプリケーション終了通知４０５から実行結果を取得し、ＨＴＴＰ応答４０６を生成してクライアント２０１に返信する。
【００３６】
図４に示すようにＣｏｍｅｔの特徴は、図２に示すようにアプリケーション２０３の処理の完了を待機しつつ、サーバ２０２はＨＴＴＰ要求がタイムアウトしないよう適宜ＨＴＴＰ応答メッセージを返し、ただちにＨＴＴＰ要求が再発行される点にある。また、図３に示すように、Ｃｏｍｅｔでは、ポーリングのようにアプリケーション２０３で実行中の処理のステータスを一定間隔で確認するのではない。Ｃｏｍｅｔでは、サーバ２０２はクライアント２０１からのＨＴＴＰ要求があっても応答を留保し、クライアント２０１に送るべきメッセージがサーバ２０２に生じたなら、そのメッセージを、留保したＨＴＴＰ応答を用いてあたかも自発的なメッセージ（アンソリシテッドメッセージ）であるかのようにブラウザに送信する。このメッセージは、その実体がＨＴＴＰ応答であるので、アンソリシテッドメッセージを遮断するファイヤウォールが設けられていたとしてもそれを越えることができる。こうして応答設定時間に達するまで接続を維持し、応答設定時間が経過しても即時再接続を行う点にある。すなわち、クライアント２０１におけるＨＴＴＰ要求のタイムアウトの発生を抑えつつ、ＨＴＴＰ要求がサーバ２０２に送りつけられている状態を維持する。
【００３７】
Ｃｏｍｅｔによる要求と応答を行うことでアプリケーション２０３で実行中の処理が終了したタイミングで、言いかえれば通信の主体をサーバ２０２主導で、クライアント２０１がＨＴＴＰ応答を取得することができる。また、ポーリングのステータス確認のような短周期のＨＴＴＰ要求を繰り返し送信する必要がないためサーバ負荷を抑えることが可能となる。以上のようにしてＣｏｍｅｔは、ウェブサーバが、応答すべきメッセージが発生するまでＨＴＴＰ応答を遅延させることで、擬似的なウェブサーバ主導の通信、すなわち擬似的なアンソリシテッド通信を実現している。そして、応答すべきメッセージがない場合には、最初のＨＴＴＰ要求がタイムアウトしないよう、ウェブサーバは応答設定時間ごとに空のＨＴＴＰ応答を返す。空のＨＴＴＰ応答を受信したウェブクライアントは、ウェブサーバ発のメッセージの監視のためにＨＴＴＰ要求を発行して、ウェブサーバとのコネクションを維持する。これがＣｏｍｅｔの手順である。
【００３８】
なおＣｏｍｅｔによる制御は、たとえばクライアントで実行されるプログラムと、特定のＵＲＬで指定されるウェブサーバのアプリケーションプログラムとで実現できる。クライアントにおいては、ＣｏｍｅｔはサーバからＨＴＭＬデータと共に提供されるスクリプトで実現されるが、独立したアプリケーションプログラムにより同等の制御を実現することもできる。ただしこのプログラムはウェブブラウザからのＨＴＴＰ要求の発行に伴って動作を開始するので、ウェブブラウザで実行されるスクリプトとするか、あるいはウェブブラウザとサーバとの間に介在する独立したアプリケーションプログラムとする。本実施形態では後者の構成をとる。
【００３９】
＜アプリケーションサーバのハードウェア構成＞
図５は、本発明の第１の実施形態に係るシステムを構成する文書管理アプリケーションサーバ１０２および印刷指示受付アプリケーションサーバ１０３のハードウェア構成図を示している。印刷指示受付サーバはウェブサーバを含む。図５に示すハードウェア構成図は一般的な情報処理装置のハードウェア構成図に相当するものとする。本発明の実施形態における文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３には一般的な情報処理装置のハードウェア構成を適用可能である。
【００４０】
ＣＰＵ５０１はプログラムＲＯＭ５０３が記憶している、或いは外部記憶装置５１１がＲＡＭ５０２に読み込んだオペレーティングシステム（以下、ＯＳ）やアプリケーション等のプログラムを実行する。文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３において、それぞれ制御部１０２１、１０３１がこれに該当し、本実施例及びそれ以降に開示するフローチャートの各処理はＣＰＵ５０１が実行する。
【００４１】
ＲＡＭ５０２はＣＰＵ５０１の主メモリ、作業領域等として機能する。キーボードコントローラ５０５は、キーボード５０９や図５に図示はしていないが一般的な情報処理装置に接続されるポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ５０６は、各種ディスプレイ５１０の表示を制御する。
【００４２】
外部メモリコントローラ５０７は、各種データを記憶する外部記憶装置５１１、例えばハードディスクドライブ（ＨＤＤ）におけるデータアクセスを制御する。文書管理アプリケーションサーバ１０２、印刷指示受付アプリケーションサーバ１０３において、それぞれ記憶部１０２２、１０３２がこれに該当する。ネットワークコントローラ５０８は、インターネット１０１に接続し、他の機器との通信制御処理を実行する。
【００４３】
＜印刷装置のハードウェア構成＞
図６は、本発明の第１の実施形態に係るシステムを構成する印刷装置１０４のハードウェア構成図を示している。印刷装置１０４はウェブブラウザを有し、ウェブクライアントとして動作する。印刷装置１０４は印刷装置を制御するコントロールユニット１０４１を備える。コントロールユニット１０４１は画像出力デバイスである印刷部１０４３の制御する一方で、ＬＡＮや公衆回線と接続し、これらを介して画像情報やデバイス上右方の入出力を行うものである。
【００４４】
コントロールユニット１０４１はＣＰＵ６０１を有する。ＣＰＵ６０１はシステムバス６０５を介して、ＲＡＭ６０２、ＲＯＭ６０６、ハードディスクドライブ（ＨＤＤ）６０７、イメージバスインタフェース６０８、操作部インタフェース６０３、ネットワークインタフェース６０４と接続する。ＣＰＵ６０１は図１５，図１６に示す手順の内、印刷装置１０４の手順を実現するためのプログラムを実行する。
【００４５】
ＲＡＭ６０２は、ＣＰＵ６０１の主メモリであり、作業領域、画像データおよびプログラムを一時記憶するため画像メモリ等として機能する。ＲＯＭ６０６は、ブートＲＯＭである。ＲＯＭ６０６には印刷装置のブートプログラム（起動プログラム）が格納されている。また、印刷装置固有の情報、例えば機器情報、機器名称、機器のシリアル番号等も格納される。
【００４６】
ハードディスクドライブ（ＨＤＤ）６０７は、システムソフトウェア、画像データ等が格納される外部記憶領域として機能する。
【００４７】
操作部インタフェース６０３は、操作部１０４２との間での入出力を行うインタフェースである。操作部インタフェース６０３は、操作部１０４２に表示する画像データを操作部１０４２に対して出力しユーザが操作部１０４２を介して入力した情報を、ＣＰＵ６０１に伝送する等の役割を果たす。
【００４８】
ネットワークインタフェース６０４は、ファイアウォール１０５を介してインターネット１０１と接続し、情報の入出力を行う。
【００４９】
イメージバスインタフェース６０８は、システムバス６０５と画像データを高速で転送するイメージバス６０９とを接続しデータ構造を変換するバスブリッジとして機能する。イメージバス６０９は、ラスタイメージプロセッサ（ＲＩＰ）６１０、デバイスインタフェース６１１、印刷部１０４３を接続する。
【００５０】
＜ソフトウェア構成＞
図７は、本発明の第１の実施形態に係るシステムを構成する文書管理アプリケーションサーバ１０２および印刷指示受付アプリケーションサーバ１０３および印刷装置１０４のソフトウェア構成図を示している。
【００５１】
文書管理アプリケーションサーバ１０２は、ウェブサービスプロバイダ部７０１１、ウェブサービス応答生成部７０１２、文書データ管理部７０１３、文書データ情報管理部７０１４を備える。これら構成要素は記憶部１０２２（外部記憶装置５１１）にプログラムファイルとして格納される。文書管理アプリケーションサーバ１０２がウェブアプリケーションとして提供する各種機能は、これらのプログラムファイルがＲＡＭ５０２に読み込まれ、ＣＰＵ５０１によって実行されることで実現する。
【００５２】
ウェブサービスプロバイダ部７０１１は、インターネット１０１を介して印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５からのウェブサービスリクエストを受け付ける。ウェブサービスリクエストに応じて、ウェブサービス応答生成部７０１２は処理を実行する。ウェブサービス応答生成部７０１２はウェブサービスリクエストに応じた処理の実行に際して、文書データ管理部７０１３、または文書データ情報管理部７０１４を呼び出して、実行結果を生成する。文書データ管理部７０１３は記憶部１０２２に保存される文書データの登録、検索、削除等の処理を実行し、文書データ情報管理部７０１４は文書データに付随する関連情報の登録、検索、削除等の処理を実行する。本実施形態において、文書管理アプリケーションサーバが実行する具体的な処理の内容に関しては、以降に開示するフローチャートの説明の中で詳述する。
【００５３】
印刷指示受付アプリケーションサーバ１０３は、ウェブサーバ部７０２１、アプリケーションサーバ部７０２２、データ管理部７０２３、ウェブサービスプロバイダ部７０２４、ウェブサービスリクエスタ部７０２５、印刷指示受付部７０２６、データ変換処理部７０２７、処理状況応答部７０２８を備える。これら構成要素は記憶部１０３２（外部記憶装置５１１）にプログラムファイルとして格納される。印刷指示受付アプリケーションサーバ１０３がウェブアプリケーションとして提供する各種機能は、これらのプログラムファイルがＲＡＭ５０２に読み込まれ、ＣＰＵ５０１によって実行されることで実現する。
【００５４】
ウェブサーバ部７０２１は、インターネット１０１を介して印刷装置１０４のウェブブラウザ７０３２からのＨＴＴＰ要求を受け付ける。ＨＴＴＰ要求を受け付けるとウェブサーバ部７０２１は、アプリケーションサーバ部７０２２を呼び出し、要求に応じた処理を実行する。アプリケーションサーバ部７０２２は処理の実行結果として、動的に生成したＨＴＭＬ等の応答情報をウェブサーバ部７０２１に返す。ウェブサーバ部７０２１はアプリケーションサーバ部から実行結果を受け付けると、それらを印刷装置１０４のウェブブラウザ７０３２に返す。また、アプリケーションサーバ部７０２２はウェブサービスリクエスタ部７０２５からインターネット１０１を介して外部のウェブサービスを呼び出す。本発明では文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１に対してウェブサービスリクエストを送信し、その応答を受信する。
【００５５】
ウェブサービスプロバイダ部７０２４は、インターネット１０１を介して印刷装置１０４の印刷指示確認アプリケーション７０３３からのウェブサービスリクエストを受け付ける。ウェブサービスリクエストに応じて、印刷指示受付部７０２６、データ変換処理部７０２７、処理状況応答部７０２８がそれぞれ処理を実行して印刷装置１０４に印刷指示確認アプリケーション７０３３に応答を返す。データ管理部７０２３は印刷指示受付アプリケーションサーバ１０３での各種処理の実行時にデータの永続化が必要な際に実行され、記憶部１０３２（外部記憶装置５１１）への書き込み、読み込みを行う。本発明において、印刷指示受付アプリケーションサーバ１０３が実行する具体的な処理の内容に関しては、以降に開示するフローチャートの説明の中で詳述する。
【００５６】
印刷装置１０４は、ユーザインタフェース７０３１、ウェブブラウザ７０３２、印刷指示確認アプリケーション７０３３、制御ＡＰＩ７０３４、ジョブマネージャ７０３５、プリントマネージャ７０３６、ＰＤＬマネージャ７０３７、データ管理部７０３８、印刷装置情報管理部７０３９を備える。これら構成要素はハードディスクドライブ（ＨＤＤ）６０７にプログラムファイルとして格納される。印刷装置１０４が提供する各種機能は、これらのプログラムファイルがＲＡＭ６０２に読み込まれ、ＣＰＵ６０１によって実行されることで実現する。
【００５７】
ユーザインタフェース７０３１は、ユーザが印刷装置１０４に対して各種の操作及び設定を行う際に、機器とユーザ操作との仲介を行うプログラムである。ユーザインタフェース７０３１は、操作部１０４２を介して入力されるユーザの操作情報に従って、後述する各種プログラムに操作情報を転送して、それぞれに応じた処理の実行依頼またはデータの設定等を行う。
【００５８】
ウェブブラウザ７０３２はインターネット１０１を介して印刷指示受付アプリケーションサーバ１０３に対してＨＴＴＰ接続し、印刷指示受付アプリケーションサーバ１０３が提供する各種処理を実行するためのプログラムである。ウェブブラウザ７０３２は操作部１０４２に表示されユーザによる入力を受け付ける。ウェブブラウザに入力されたユーザの操作情報は前述したように、ユーザインタフェース７０３１を介して印刷装置の後述する各種プログラムに転送される。
【００５９】
印刷指示確認アプリケーション７０３３はインターネット１０１を介して印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４に対してウェブサービスリクエストを送信し、その応答を受信するプログラムである。印刷指示確認アプリケーション７０３３は、ウェブブラウザ７０３２とは独立したプログラムであってもよいが、ウェブサーバから提供されるプログラム（スクリプト）であってもよい。
【００６０】
制御ＡＰＩ７０３４は、印刷指示確認アプリケーション７０３３に対してジョブマネージャ７０３５、プリントマネージャ７０３６、ＰＤＬマネージャ７０３７に対するインタフェースを提供する。各プログラム間の依存関係を軽減し、それぞれの流用性を高めることができる。
【００６１】
ジョブマネージャ７０３５は、印刷指示確認アプリケーション７０３３が制御ＡＰＩ７０３４を介して指示する様々な処理を解釈し、プリントマネージャ７０３６、ＰＤＬマネージャ７０３７に指示を与える。また、ジョブマネージャ７０３５は印刷装置１０４が実行するハードウェア処理を一元的に管理する。
【００６２】
プリントマネージャ７０３６は、ジョブマネージャ７０３５が指示する印刷処理を管理及び制御する。ＰＤＬマネージャ７０３７は、ジョブマネージャ７０３５が指示する印刷データのＰＤＬ変換を行う。データ管理部７０３８は、ハードディスクドライブ（ＨＤＤ）６０７に保存されるデータの管理及び制御を行う。印刷装置情報管理部７０３９は、ＲＯＭ６０６に格納される印刷装置１０４の固有の情報、印刷装置の設置場所情報（ネットワーク上のＩＰアドレス等の情報も含む）等を管理する。
【００６３】
＜ウェブブラウザ画面構成＞
図８は本発明の第１の実施形態に係る印刷装置１０４の操作部１０４２に表示されるウェブブラウザ７０３２の画面構成の一例を示している。ウェブブラウザ画面８０１には、タブ８０２、ＵＲＬ入力フィールド８０９、ＯＫボタン８１０、プログレスバー８０８、コンテンツ表示領域８０３、戻るボタン８０４、進むボタン８０５、リロードボタン８０７、中止ボタン８０６、およびステータス表示領域８１１が表示される。
【００６４】
タブ８０２は、ウェブブラウザ７０３２の機能以外の印刷装置１０４が提供する他の機能（コピー、ボックス、送信、拡張）との画面切り替えを行う。ＵＲＬ入力フィールド８０９は、ユーザが所望のリソースのＵＲＬを入力するフィールドであり、当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード（不図示）が表示される。ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【００６５】
ＯＫボタン８１０は入力したＵＲＬ文字列を確定するソフトキーである。ＵＲＬが確定されると、ウェブブラウザ７０３２は、入力されたＵＲＬに対してＨＴＴＰ要求を送信する。プログレスバー８０８は、ＨＴＴＰ要求に対する応答の取得進捗状況を示す。コンテンツ表示領域８０３は、取得したＨＴＴＰ応答が表示される領域である。戻るボタン８０４は、ウェブブラウザ表示の履歴をさかのぼり、現時点で表示している画面の前に表示した画面を表示し直すためのソフトキーである。進むボタン８０５は、画面表示の履歴をさかのぼって表示しているときに、現時点で表示しているコンテンツの後に表示した画面を表示しなおすためのソフトキーである。リロードボタン８０７は、現時点で表示している画面の再取得と再表示を行う。中止ボタン８０６は、実行中のＨＴＴＰ要求を中止するソフトキーである。ステータス表示領域８１１は、印刷装置の各種機能からのメッセージを表示する領域である。このステータス表示領域８１１には、ウェブブラウザ画面８０１を表示中であっても、スキャナやプリンタや他の機能などから、ユーザの注意を促すためのメッセージを表示することができる。また、同様にウェブブラウザ７０３２からもメッセージの表示を行うことができる。ウェブブラウザ７０３２は、リンク先のＵＲＬ文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどを表示する。
【００６６】
＜文書管理テーブル＞
図９は本発明の実施形態に係る文書管理アプリケーションサーバ１０２の記憶部１０２２（外部記憶装置５１１）に保存される文書データ及び文書データ情報を管理するデータベースのテーブルの一例を示している。文書管理テーブル９０１は文書ＩＤカラム９０２、文書名カラム９０３、文書管理データベース項目カラム９０４、文書データカラム９０５を含む。文書ＩＤカラム９０２には文書管理アプリケーションサーバ１０２の記憶部１０２２で保存される文書データを一意に識別する番号が格納される。文書名カラム９０３には文書管理アプリケーションサーバ１０２の記憶部１０２２で保存される文書データの名称が格納される。文書管理データベース項目カラム９０４には文書ＩＤカラム９０２、文書名カラム９０３以外に文書データの管理に必要となる項目値が格納される。文書管理データベース項目カラム９０４に格納される項目値は文書管理アプリケーションサーバ１０２の実施形態によって異なる。本発明の実施形態においては文書管理データベース項目カラム９０４に格納される項目値に関しては問わないため、説明を省略するものとする。また、本発明の実施形態において文書ＩＤカラム９０２、文書名カラム９０３、文書管理データベース項目カラム９０４に格納される情報を総じて文書データ情報と表現するものとする。文書データ情報管理部７０１４は、文書管理テーブル９０１における文書ＩＤカラム９０２、文書名カラム９０３、文書管理データベース項目カラム９０４の登録、検索、削除等の操作に関する処理を実行する。文書データカラム９０５には文書管理アプリケーションサーバ１０２の記憶部１０２２（外部記憶装置５１１）に保存される文書データの保存場所情報あるいは文書データ本体が格納される。本発明の実施形態においては文書データカラム９０５に格納される項目値に関してはそのどちらであるかは問わないものとする。
【００６７】
以下、本発明の第１の実施形態に係るクラウド印刷システムの各ステップにおける処理について図１０〜図１６を用いて具体的に説明する。
【００６８】
＜印刷対象文書の特定＞
図１０は本実施形態に係るクラウド印刷システムにおいて、印刷装置１０４のウェブブラウザ７０３２から、印刷指示受付アプリケーションサーバ１０３に対し、文書管理アプリケーションサーバ１０２に保存される文書データの印刷指示を出すまでのフローチャートである。
【００６９】
Ｓ１００１では、印刷装置１０４はハードディスクドライブ（ＨＤＤ）６０７に保存されるウェブブラウザ７０３２をＲＡＭ６０２に読み込む。読み込みが完了したら、ＣＰＵ６０１はＲＡＭ６０２に読み込まれたウェブブラウザ７０３２を実行し、操作部１０４２に表示する。
【００７０】
Ｓ１００２では、ウェブブラウザ７０３２は印刷指示受付アプリケーションサーバ１０３から、文書管理アプリケーションサーバ１０２が管理する文書データの一覧リスト情報を取得するためにＨＴＴＰ要求を送信する。文書データの一覧リスト情報とは、文書管理アプリケーションサーバ１０２の記憶部１０２２に保存される文書データ全てに関する文書データ情報を指すものとする。この際、ウェブブラウザ画面８０１のＵＲＬ入力フィールド８０９への、印刷指示受付アプリケーションサーバ１０３のＵＲＬ情報の入力方法の形態は問わない。予め印刷装置１０４のハードディスクドライブ（ＨＤＤ）６０７に保存しておき、Ｓ１００１でＣＰＵ６０１がウェブブラウザ７０３２を起動する段階で設定してもよい。或いはウェブブラウザ７０３２を使用するユーザが手動で設定（入力）してもよい。
【００７１】
Ｓ１００３では、印刷指示受付アプリケーションサーバ１０３のウェブサーバ部７０２１はウェブブラウザ７０３２からのＨＴＴＰ要求を受信すると、アプリケーションサーバ部７０２２を呼び出す。アプリケーションサーバ部７０２２はウェブサービスリクエスタ部７０２５からインターネット１０１を介して、文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１に対してウェブサービスリクエストを送信する。このウェブサービスリクエストは、文書管理アプリケーションサーバ１０２が管理する文書データの一覧リスト情報を取得するための要求である。
【００７２】
Ｓ１００４では、文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１は印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部７０１１は受信したウェブサービスリクエストをウェブサービス応答生成部７０１２に渡す。ウェブサービス応答生成部７０１２はウェブサービスリクエストに応じた処理として、文書データ情報管理部７０１４を呼び出し、文書管理テーブル９０１に格納される文書データ情報を取得する。ウェブサービスプロバイダ部７０１１はウェブサービス応答生成部７０１２が取得した文書データ情報を印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５に送信する。
【００７３】
Ｓ１００５では、印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５は文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１から文書データ情報を受信し、取得する。また、印刷指示受付アプリケーションサーバ１０３のアプリケーションサーバ部７０２２はウェブサービスリクエスタ部７０２５が取得した文書データ情報からＨＴＭＬ形式の文書リスト画面１１０１を動的に生成し、ウェブサーバ部７０２１に返す。ウェブサーバ部７０２１はそれらを印刷装置１０４のウェブブラウザ７０３２に返す。
【００７４】
Ｓ１００６では、印刷装置１０４は文書管理アプリケーションサーバ１０２のウェブサーバ部７０２１からＨＴＴＰ応答として受信した文書リスト画面１１０１をウェブブラウザ７０３２に表示する。
【００７５】
図１１は、図１０のＳ１００６においてウェブブラウザ７０３２に表示される文書リスト画面の一例を示している。文書リスト画面１１０１は、文書ＩＤ表示領域１１０２、文書名表示領域１１０３、文書データ情報表示領域１１０４、文書印刷ボタン１１０５を含む。文書リスト画面１１０１の構成要素は、文書データ情報の件数に対応してそれぞれ表示される。文書ＩＤ表示領域１１０２には文書管理テーブル９０１の文書ＩＤカラム９０２に格納される項目値が表示される。文書名表示領域１１０３には文書管理テーブル９０１の文書名カラム９０３に格納される項目値が表示される。文書データ情報表示領域１１０４には文書管理テーブル９０１の文書管理データベース項目カラム９０４に格納される項目値が表示される。文書印刷ボタン１１０５は、文書ＩＤ表示領域１１０２に表示される識別情報（ＩＤ）の文書に対する印刷指示を印刷指示受付アプリケーションサーバ１０３に対して出すためのボタンである。
【００７６】
図１０に戻って、Ｓ１００７では、ユーザは文書リスト画面１１０１に表示される任意の印刷ボタン１１０５を押下して、印刷する文書を指定する。この文書データを特定文書データと呼ぶことにする。印刷ボタン１１０５が押下されると、印刷装置１０４のウェブブラウザ７０３２は印刷ボタン１１０５に関連する文書ＩＤ表示領域１１０２に表示される項目値と共にインターネット１０１を介して、印刷指示受付アプリケーションサーバ１０３のウェブサーバ部７０２１に対して印刷指示のＨＴＴＰ要求を送信する。なお本実施形態では、印刷を行うため印刷指示としているが、これは、印刷データの変換を要求する指示であることから特定文書データの変換要求ということもできる。
【００７７】
Ｓ１００８では、印刷指示受付アプリケーションサーバ１０３のウェブサーバ部７０２１は印刷装置１０４のウェブブラウザ７０３２からの印刷指示のＨＴＴＰ要求を受信する。印刷指示のＨＴＴＰ要求を受信するとウェブサーバ部７０２１はアプリケーションサーバ部７０２２を呼び出す。アプリケーションサーバ部７０２２は印刷指示受付部７０２６を呼びだして、印刷指示実行のための事前準備として受信したＨＴＴＰ要求をデータ管理部７０２３に登録する。
【００７８】
図１２は本図１０のＳ１００８の詳細なフローチャートである。図１２の処理は、印刷装置１０４のアプリケーションサーバ部７０２２が印刷指示受付部７０２６を呼び出して実行する印刷指示登録処理を示す。図１３は印刷指示登録処理においてデータ管理部７０２３で印刷指示情報を管理するデータベースのテーブルの一例を示している。
【００７９】
印刷指示情報を管理するデータベースは、印刷指示情報を管理する印刷指示情報管理テーブル１３０１と、印刷指示に従って文書データを印刷データに変換する際のデータを永続化する印刷データ管理テーブル１３０２とを含む。印刷指示情報管理テーブル１３０１は、印刷指示ＩＤカラム１３０１１、文書ＩＤカラム１３０１２、印刷データ管理テーブル参照ＩＤカラム１３０１３を含む。印刷指示ＩＤカラム１３０１１には受信した印刷指示のＨＴＴＰ要求に応じて印刷指示受付部７０２６が発行する一意の識別番号が格納される。文書ＩＤカラム１３０１２には、Ｓ１００７において指定された文書ＩＤ表示領域１１０２に表示される項目値が格納される。印刷データ管理テーブル参照ＩＤカラム１３０１３には、印刷指示受付部７０２６が発行する印刷データ管理テーブル１３０２を一意に識別する番号が格納される。印刷データ管理テーブル１３０２は、管理ＩＤカラム１３０２１、デバイスＩＤカラム１３０２２、進捗状況カラム１３０２３、印刷データカラム１３０２４を含む。管理ＩＤカラム１３０２１には受信した印刷指示のＨＴＴＰ要求に応じて印刷指示受付部７０２６が発行する一意の識別番号が格納される。デバイスＩＤカラム１３０２２にはＳ１００８において受信した印刷指示のＨＴＴＰ要求の送信元の印刷装置１０４を識別する情報が格納される。印刷装置１０４を識別する情報とは、ＨＴＴＰ要求に含まれるリクエストＩＰアドレス、印刷装置の名称、印刷装置のシリアル番号等が該当する。進捗状況カラム１３０２３には文書データから印刷データへの変換処理の進捗状況を示す項目値が格納される。印刷指示受付部７０２６が印刷データ管理テーブル１３０２を作成した段階では、初期値として「処理待ち」を示す値が格納される。以降は後述するデータ変換処理部７０２７が処理状況に応じて「処理中」「完了」「エラー終了」等の値を登録、更新する。印刷データカラム１３０２４には後述するデータ変換処理部７０２７が作成する印刷データが格納される。
【００８０】
Ｓ１２０１では、印刷指示受付部７０２６は印刷指示受付アプリケーションサーバ１０３の記憶部１０３２（外部記憶装置５１１）に受信した印刷指示のＨＴＴＰ要求に応じた印刷データ管理テーブル１３０２を作成する。
【００８１】
Ｓ１２０２では、印刷指示受付部７０２６は印刷指示受付アプリケーションサーバ１０３の記憶部１０３２（外部記憶装置５１１）に受信した印刷指示のＨＴＴＰ要求に応じた印刷指示情報管理テーブル１３０１を作成する。
【００８２】
以上の印刷指示登録処理に引き続いて、Ｓ１００９では、印刷指示受付部７０２６による印刷データ管理テーブル及び印刷指示情報管理テーブル１３０２の作成が完了した旨の完了通知（受信応答）をアプリケーションサーバ部７０２２に返す。アプリケーションサーバ部７０２２は印刷装置１０４のウェブブラウザ印刷指示確認アプリケーション７０３３を起動するための起動スクリプトを含むＨＴＭＬ画面を動的に生成し、ウェブサーバ部７０２１に返す。ウェブサーバ部７０２１はそれらを印刷装置１０４のウェブブラウザ７０３２に返す。
【００８３】
Ｓ１０１０では、印刷装置１０４は印刷指示受付アプリケーションサーバ１０３のウェブサーバ部７０２１からＨＴＴＰ応答として受信した画面をウェブブラウザ７０３２に表示する。
【００８４】
図１４はＳ１０１０において、本発明の実施形態に係るウェブブラウザ７０３２に表示される印刷指示受付完了画面の一例を示している。印刷指示受付完了画面１４０１は印刷指示受付完了メッセージ表示領域１４０２と文書リスト表示ボタン１４０３とを含む。印刷指示受付完了メッセージ表示領域１４０２には、Ｓ１００８において受信した印刷指示のＨＴＴＰ要求が適切に処理された旨をユーザに示す文字列が表示される。文書リスト表示ボタン１４０３は、押下されるとＳ１００２からＳ１００６までが実行され、図１１に示す文書リスト画面が再びウェブブラウザ７０３２に表示する。
【００８５】
＜印刷データ変換処理＞
図１５は本実施形態に係るクラウド印刷システムにおいて、印刷指示情報管理テーブル１３０１の文書ＩＤ１３０１２に格納された項目値に該当する文書データを、印刷装置１０４が解釈及び印刷可能なデータ形式に変換するまでのフローチャートを示した図である。図１５の手順は印刷指示受付アプリケーションサーバ１０３のデータ変換処理部７０２７により実行される。図１５に示すフローチャートが実行する処理は、図１０に示すフローチャートが実行中、実行前に係らず、並列かつ非同期に実行できる。
【００８６】
Ｓ１５０１では、データ変換処理部７０２７はデータ管理部７０２３を介して印刷指示情報管理データベースの印刷指示情報管理テーブル１３０１に登録されている印刷指示情報を参照する。
【００８７】
Ｓ１５０２では、データ変換処理部７０２７はデータ管理部７０２３を介してＳ１５０１で参照した印刷指示情報管理テーブル１３０１に登録された印刷指示情報の件数を集計する。印刷指示情報が登録されていない場合には、処理を終了する。
【００８８】
Ｓ１５０３では、Ｓ１５０２で印刷指示情報が登録されていることを確認した場合には、データ変換処理部７０２７はデータ管理部７０２３を介して１件の印刷指示情報を取得し、印刷装置１０４のＲＡＭ６０２に一時保存する。このとき、取得した印刷指示情報は印刷指示情報管理テーブル１３０１から削除する。
【００８９】
Ｓ１５０４では、データ変換処理部７２０７はＲＡＭ６０２に保存された印刷指示情報の文書ＩＤ１３０１２カラムに格納された項目値に該当する文書データを文書管理アプリケーションサーバ１０２から取得する。そのために、印刷指示受付アプリケーションサーバ１０３はウェブサービスリクエスタ部７０２５を呼び出し、インターネット１０１を介して文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１に対してウェブサービスリクエストを送信する。このリクエストは、文書管理アプリケーションサーバ１０２が管理する文書データを取得するためのリクエストである。
【００９０】
Ｓ１５０５では、文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１は、印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部７０１１は、受信したウェブサービスリクエストをウェブサービス応答生成部７０１２に渡す。ウェブサービス応答生成部７０１２は、ウェブサービスリクエストに応じた処理として文書データ管理部７０１５を呼び出し、受信したウェブサービスリクエストに含まれる文書ＩＤに該当する文書データを文書管理テーブル９０１から取得する。ウェブサービスプロバイダ部７０１１はウェブサービス応答生成部７０１２が取得した文書データを印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５に送信する。
【００９１】
Ｓ１５０６では、印刷指示受付アプリケーションサーバ１０３のウェブサービスリクエスタ部７０２５は、文書管理アプリケーションサーバ１０２のウェブサービスプロバイダ部７０１１から受信した文書データ情報を受信し、データ変換処理部７２０７に渡す。
【００９２】
Ｓ１５０７からＳ１５０９では、データ変換処理部７２０７はＳ１５０６で受けとった文書データを印刷データへと変換する。変換処理が完了されるまでＳ１５０８とＳ１５０８が繰り返される。Ｓ１５０７では、データ変換処理部７２０７はＳ１５０６で受け取った文書データの印刷データへの変換処理を開始する。Ｓ１５０８では、データ変換処理部７２０７は文書データの印刷データへの変換処理を実行する。Ｓ１５０９では、データ変換処理部７２０７は、Ｓ１５０７で印刷データ変換処理が開始されると、印刷データ管理テーブル１３０２の該当する進捗状況カラム１３０２３の値をデータ管理部７０２３を介して変更する。Ｓ１５０８で変換処理が継続中の場合には「処理中」に更新する。Ｓ１５０８でデータ変換処理が正常完了した時には「完了」、エラー等が発生して中断した場合には「エラー」に更新する。Ｓ１５０９で進捗状況カラム１３０２３の値が「完了」あるいは「エラー」に更新されると、データ変換処理が終了し、Ｓ１５１０に進む。
【００９３】
Ｓ１５１０では、データ変換処理部７２０７は印刷データ管理テーブル１３０２の該当する進捗状況カラム１３０２３の値をデータ管理部７０２３を介して参照する。このとき進捗状況カラム１３０２３の値が「エラー」だった場合には、Ｓ１５１１では、ＲＡＭ６０２に保存された印刷指示情報を印刷指示情報管理テーブル１３０１に再登録する。
【００９４】
進捗状況カラム１３０２３の値が「完了」だった場合には、Ｓ１５１２では、データ変換処理部７２０７はデータ変換の完了した印刷データを印刷データ管理テーブル１３０２の印刷データカラム１３０２３にデータ管理部７０２３を介して保存する。
【００９５】
Ｓ１５１３では、データ変換処理部７２０７はＲＡＭ６０２に保存された印刷指示情報を削除して処理を終了する。
【００９６】
＜印刷データの変換完了の監視＞
図１６は、本実施形態に係るクラウド印刷システムにおいて、図１０において文書データの印刷指示を印刷装置１０４のウェブブラウザ７０３２から印刷指示受付アプリケーションサーバ１０３に出してから印刷装置１０４が印刷処理を行うまでのフローチャートを示した図である。
【００９７】
Ｓ１６０１では、印刷装置１０４のウェブブラウザ７０３２はＳ１０１０で印刷指示受付アプリケーションサーバ１０３のウェブサーバ部７０２１からのＨＴＴＰ応答として受信した印刷指示受付完了画面１４０１を表示する。あわせて画面に含まれる印刷指示確認アプリケーション７０３３の起動スクリプトを実行する。この時点で印刷装置１０４のウェブブラウザ７０３２を利用するユーザは、後述するＳ１６１８にて印刷データの印刷が完了してその旨表示されるまで、印刷装置１０４を操作することはない。また、Ｓ１６０１終了後は、図１０に示すフローチャートに従い、改めて文書データの印刷指示を印刷指示受付アプリケーションサーバ１０３に送信することが可能となる。この文書データの印刷指示は、並行して文書の印刷が遂行されているとしても、その処理や処理結果とは独立して行われる。また、
図１７は、本実施形態に係るクラウド印刷システムにおいて、印刷装置１０４を構成する印刷指示確認アプリケーション７０３３の内部ソフトウェア構成を示した図である。印刷指示確認アプリケーション７０３３は、サービスプロバイダ部１７０１とウェブサービスリクエスタ部１７０２を内部に持つ。印刷指示確認アプリケーション７０３３の起動スクリプトは印刷指示確認アプリケーション７０３３のサービスプロバイダ部１７０１に対して印刷指示確認アプリケーション７０３３を起動するサービスリクエストを送信する。また、サービスリクエストの送信時には印刷装置１０４の印刷装置情報管理部７０３９を介してＲＯＭ６０６から印刷装置１０４固有の情報、例えば機器情報、機器名称、機器のシリアル番号を取得して、合わせて送信する。
【００９８】
Ｓ１６０２では、印刷指示確認アプリケーション７０３３は、ウェブブラウザ７０３２からサービスリクエストを受信すると、ウェブサービスリクエスタ部１７０２からインターネット１０１を介して、印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４に対してウェブサービスリクエストを送信する。このウェブサービスリクエストはＨＴＴＰ要求メッセージであり、印刷装置１０４のＲＯＭ６０６から取得した印刷装置１０４固有の情報を含む。このメッセージを進捗情報要求とも呼び、このメッセージにより進捗確認を行う。以降、Ｓ１６０２からＳ１６０９までの処理は、印刷指示受付アプリケーションサーバ１０３において、図１５に示される印刷データ変換処理が完了するまで、Ｃｏｍｅｔを用いた通信を行い、繰り返し実行されるものとする。なおＣｏｍｅｔに代えて、Ｃｏｍｅｔと実質的に同じ手順で通信を行うこともできる。なお、印刷指示確認アプリケーション７０３３がＳ１６０２で送信するウェブサービスリクエストには、Ｃｏｍｅｔ（またはＣｏｍｅｔと実質的に同じ手順）を用いた通信であることをサーバが識別するための情報も含まれる。その情報はＣｏｍｅｔであることを明示的に示すものであっても良いが、リクエストの種別等により識別可能ならば明示的である必要はない。
【００９９】
Ｓ１６０３では、印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４はインターネット１０１を介して、印刷指示確認アプリケーション７０３３からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部７０２４は、サービスリクエストに含まれる印刷装置１０４固有の情報をデータ管理部７０２３を介して、ＲＡＭ５０２に保存する。Ｓ１６０３で受信したウェブサービスリクエストには、Ｃｏｍｅｔであることを示す情報が含まれている。そこで、ウェブサービスプロバイダ部７０２４は、Ｃｏｍｅｔの手順でＨＴＴＰ要求に対応するため、ＨＴＴＰ要求／応答がタイムアウトしないよう決定された応答設定時間をタイマにセットし、計時をスタートさせる。また、ＨＴＴＰ要求に対する応答は、このタイマが満了するか、または変換処理が完了するまで遅延させる。
【０１００】
Ｓ１６０４では、印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４はウェブサービスリクエストに応じた処理として、処理状況応答部７０２８を呼び出す。処理状況応答部７０２８は、Ｓ１６０３においてＲＡＭ５０２に保存した印刷装置１０４固有の情報と印刷データ管理テーブル１３０２に保存されているデータのうちデバイスＩＤカラム１３０２２の値が等しいデータを検索する。ここで、該当するデータが見つからなかった場合には、Ｓ１６０７に進む。該当するデータが１件以上見つかった場合には、次に各データの進捗状況カラム１３０２３の値を確認する。進捗状況カラム１３０２３の値が「完了」以外の場合にはＳ１６０７に進む。進捗状況カラム１３０２３の値が「完了」であった場合にはＳ１６０５に進む。
【０１０１】
Ｓ１６０５では、Ｓ１６０４においてデバイスＩＤカラム１３０２２の値が印刷装置１０４固有の情報と一致し、且つ進捗状況カラム１３０２３の値が「完了」であるデータの印刷データカラム１３０２４に格納されている印刷データ及び管理ＩＤカラム１３０２１の値を取得する。また、取得した値を、ＨＴＴＰ応答（レスポンス）で返す値として、データ管理部７０２３を介してＲＡＭ５０２に保存する。
【０１０２】
Ｓ１６０６では、ウェブサービスプロバイダ部７０２４は、Ｓ１６０３において受信したウェブサービスリクエストに応じた処理として処理状況応答部７０２８を呼び出す。処理状況応答部７０２８はＳ１６０５においてＲＡＭ５０２に保存した印刷データ及び管理ＩＤカラム１３０２１の値をＨＴＴＰ応答に格納する。
【０１０３】
Ｓ１６０４において該当するデータが見つからなかった場合、また該当するデータの進捗状況カラム１３０２３の値が「完了」以外であった場合には、ＨＴＴＰ応答に何もデータを格納しない。さらに、Ｓ１６０７においてＨＴＴＰ接続が維持可能な限り、言い換えればＳ１６０３でタイマに設定した応答設定時間が満了するまではＳ１６０４に戻り、Ｓ１６０４からＳ１６０７までの処理を繰り返し実行するものとする。応答設定時間が満了した場合、あるいは変換処理が終了した場合には処理はＳ１６０８に進む。
【０１０４】
Ｓ１６０８では、印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８は印刷指示確認アプリケーション７０３３にＨＴＴＰ応答を送信する。Ｓ１６０７からの分岐の場合には、空のＨＴＴＰ応答を返す。一方、Ｓ１６０６から遷移してきた場合には、Ｓ１６０６で作成されたＨＴＴＰ応答が返される。Ｓ１６０７及びＳ１６０８は、たとえばサーバにおけるＣｏｍｅｔの手順をそのまま採用することができる。
【０１０５】
Ｓ１６０９では、印刷指示確認アプリケーション７０３３は印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８から受信したＨＴＴＰ応答を確認する。ＨＴＴＰ応答に印刷データが含まれない場合にはＳ１６０２に進み、再度印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４に対してウェブサービスリクエストを送信する。印刷データが含まれている場合にはＳ１６１０に進む。
【０１０６】
Ｓ１６１０では、印刷指示確認アプリケーション７０３３はウェブサービスリクエスタ部１７０２から内部的に制御ＡＰＩ７０３４を呼び出し、ジョブマネージャ７０３５にＳ１６０９で取得した印刷データを登録し、印刷処理を開始する。また、データ管理部７０３８を呼び出し、ＲＡＭ６０２にジョブマネージャ７０３５に登録した印刷データに関連付けて、管理ＩＤカラム１３０２１の値を保存する。
【０１０７】
Ｓ１６１１では、印刷指示確認アプリケーション７０３３はウェブサービスリクエスタ部１７０２から内部的に制御ＡＰＩ７０３４を呼び出し、ジョブマネージャ７０３５を監視する。ジョブマネージャ７０３５の監視は、Ｓ１６１０で登録した印刷データの印刷処理が完了するまで継続する。
【０１０８】
Ｓ１６１２では、印刷指示確認アプリケーション７０３３は、Ｓ１６１１において印刷処理が完了したことを確認すると、印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４に対してウェブサービスリクエストを送信する。このウェブサービスリクエスタは、ウェブサービスリクエスタ部１７０２からインターネット１０１を介して送信され、印刷装置１０４での印刷処理が完了したことを通知する情報及びＲＡＭ６０２に保存されている管理ＩＤカラム１３０２１の値を含む。印刷処理が完了したことを通知する情報とは印刷成功あるいは印刷失敗を通知する情報であり、任意の文字列により表されるものである。文字列の書式に関しては問わないものとする。
【０１０９】
Ｓ１６１３では、印刷指示受付アプリケーションサーバ１０３のウェブサービスプロバイダ部７０２４は、インターネット１０１を介して、印刷指示確認アプリケーション７０３３からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部７０２４は処理状況応答部７０２８を呼び出し、ウェブサービスリクエストに含まれる印刷完了情報を解析する。印刷完了情報が印刷成功を示していた場合にはＳ１６１４に進む。印刷完了情報が印刷失敗を示していた場合にはＳ１６１６に進む。
【０１１０】
Ｓ１６１４では、印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８はデータ管理部７０２３を呼び出す。呼び出されたデータ管理部７０２３は、印刷データ管理テーブル１３０２のうち印刷指示確認アプリケーション７０３３から受信したウェブサービスリクエストに含まれる管理ＩＤカラム１３０２１の値に該当するデータを削除する。
【０１１１】
Ｓ１６１５では、印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８は、印刷指示受付アプリケーションサーバ１０３での印刷終了処理の正常終了を通知する情報を生成する。そしてその情報を、印刷指示確認アプリケーション７０３３のウェブサービスリクエスタ部１７０２に送信する。印刷指示受付アプリケーションサーバ１０３での印刷終了処理の正常終了を通知する情報とは、ここでは印刷装置１０４の操作部１０４２のステータス表示領域８１１に表示される文字列の形態をとるものとする。
【０１１２】
Ｓ１６１６では、印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８はデータ管理部７０２３を呼び出す。呼び出されたデータ管理部７０２３は、印刷データ管理テーブル１３０２のうち印刷指示確認アプリケーション７０３３から受信したウェブサービスリクエストに含まれる管理ＩＤカラム１３０２１の値に該当するデータの進捗状況カラム１３０２３の値を「印刷エラー」に変更する。
【０１１３】
Ｓ１６１７では、印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８は、印刷指示受付アプリケーションサーバ１０３での印刷終了処理のエラー終了を通知する情報を生成する。そしてその情報を、印刷指示確認アプリケーション７０３３のウェブサービスリクエスタ部１７０２に送信する。印刷指示受付アプリケーションサーバ１０３での印刷終了処理の正常終了を通知する情報とは、ここでは印刷装置１０４の操作部１０４２のステータス表示領域８１１に表示される文字列の形態をとるものとする。
【０１１４】
Ｓ１６１８では、印刷指示確認アプリケーション７０３３のウェブサービスリクエスタ部１７０２は印刷指示受付アプリケーションサーバ１０３の処理状況応答部７０２８から印刷処理終了情報を受信する。印刷指示確認アプリケーション７０３３は受信した印刷処理終了情報を印刷装置１０４の操作部１０４２のステータス表示領域８１１に表示する。
【０１１５】
本実施形態によって、印刷装置１０４に搭載されるウェブブラウザ７０３２は、印刷指示受付アプリケーションサーバ１０３に要求した文書データから印刷データの変換処理の完了の確認を、異なるソフトウェアプロセスである印刷指示確認アプリケーション７０３３に委譲する。すなわち、ウェブブラウザ７０３２が送信した処理要求の応答確認及びそれ以降の処理をウェブブラウザとは異なるソフトウェアプロセスに委譲させる。こうすることで、ウェブブラウザは印刷指示を発行すると直ちに、その印刷指示に係る処理から解放される。そのためウェブブラウザが既にいずれかのウェブアプリケーションサーバに処理リクエストを送信していたかいないかに係らず、複数の異なるウェブアプリケーションサーバに対して処理リクエストを並行して送信することが可能となる。また印刷指示後ただちに、印刷装置１０４が有する資源を、ネットワーク上の文書の印刷に専有されることなくコピーやファクシミリ等に割り当てることができる。さらに、印刷指示確認アプリケーション７０３３を複製して並列に実行すれば、複数の印刷指示に係るデータ変換処理および印刷処理の完了を並列に監視することもできる。また、Ｃｏｍｅｔ通信によって、図１５に示すデータ変換処理が終了したタイミングで印刷指示確認アプリケーションが印刷データを取得することが可能となり、リアルタイムにサーバから印刷データを取得することが可能となる。
【０１１６】
なお、図１６のステップＳ１６０８ではデータ変換処理の完了又は空のＨＴＴＰ応答が送信されるが、他の情報をＨＴＴＰ応答に載せて送信することもできる。このためにたとえばＳ１６０４では、変換処理の完了のみならず、印刷指示受付アプリケーションサーバ１０３発の何らかのメッセージがあるかテストする。そして、そのようなメッセージがあればＨＴＴＰ応答に載せてＳ１６０８で送信する。それを受信した印刷指示確認アプリケーション７０３３は、応答の内容に応じた処理を行う。
【０１１７】
さらに、印刷指示確認アプリケーション７０３３を、ネットワークインターフェースカードに搭載することもできる。
【０１１８】
また本発明は印刷装置がクライアントであるとして説明したが、ウェブブラウザを介してウェブサービスを利用するための端末、いわゆるシンクライアントやネットであれば本発明を適用できる。
【０１１９】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011232893.tif 000003
【図２】
2011232893.tif 000004
【図３】
2011232893.tif 000005
【図４】
2011232893.tif 000006
【図５】
2011232893.tif 000007
【図６】
2011232893.tif 000008
【図７】
2011232893.tif 000009
【図８】
2011232893.tif 000010
【図９】
2011232893.tif 000011
【図１０】
2011232893.tif 000012
【図１１】
2011232893.tif 000013
【図１２】
2011232893.tif 000014
【図１３】
2011232893.tif 000015
【図１４】
2011232893.tif 000016
【図１５】
2011232893.tif 000017
【図１６】
2011232893.tif 000018
【図１７】
2011232893.tif 000019