(57)【特許請求の範囲】
【請求項１】
クライアント装置及び画像形成装置と通信するサーバ装置において、
前記クライアント装置から送信されてくる印刷要求に従って、前記画像形成装置に対して印刷データを送信して印刷させる印刷サービスを実行する実行手段と、
前記実行手段により実行される印刷サービスの処理状況を、前記クライアント装置から繰り返し送信されてくるリクエストに応じて送信する送信手段と、
前記実行手段により実行される印刷サービスにおいて前記印刷要求に対応する処理が完了したことに応答して、前記クライアント装置から繰り返し送信される前記リクエストを停止させるクライアント制御手段と、を備え、
前記クライアント制御手段は、前記印刷要求に対応する印刷実行結果のエラー処理として、前記画像形成装置の代替となる画像形成装置を前記クライアント装置に通知するとともに、前記クライアント装置から繰り返し送信される前記リクエストを停止させることを特徴とするサーバ装置。
【請求項２】
前記実行手段により実行される印刷サービスにおいて、前記印刷要求に対応する処理が完了した後、前記実行手段により実行される印刷サービスから得たデータを削除する削除手段をさらに備える請求項１に記載のサーバ装置。
【請求項３】
前記クライアント制御手段は、前記印刷データの再生成なしで印刷可能な、前記画像形成装置と同機種の画像形成装置を代替となる画像形成装置として前記クライアント装置に通知することを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記クライアント制御手段は、前記印刷データの再生成なしで印刷可能な画像形成装置がない場合、前記画像形成装置と同じ外部ＩＰアドレスおよびサブネットアドレスを保持する異機種の画像形成装置を代替となる画像形成装置として前記クライアントに通知することを特徴とする請求項１乃至３の何れか１項に記載のサーバ装置。
【請求項５】
クライアント装置及び画像形成装置と通信するサーバ装置を制御する制御方法であって、
実行手段は、前記クライアント装置から送信されてくる印刷要求に従って、前記画像形成装置に対して印刷データを送信して印刷させる印刷サービスを実行し、
送信手段は、前記実行手段により実行される印刷サービスの処理状況を、前記クライアント装置から繰り返し送信されてくるリクエストに応じて送信し、
クライアント制御手段は、前記実行手段により実行される印刷サービスにおいて前記印刷要求に対応する処理が完了したことに応答して、前記クライアント装置から繰り返し送信される前記リクエストを停止させ、更に、
前記クライアント制御手段は、前記印刷要求に対応する印刷実行結果のエラー処理として、前記画像形成装置の代替となる画像形成装置を前記クライアント装置に通知するとともに、前記クライアント装置から繰り返し送信される前記リクエストを停止させることを特徴とする制御方法。
【請求項６】
請求項５に記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、クライアント装置、サーバ装置の制御方法、クライアント装置の制御方法、サーバ装置の制御プログラム及びクライアント装置の制御プログラムに関する。
【背景技術】
【０００２】
近年、インターネット技術を利用した文書管理システムが普及してきている。この文書管理システムでは、ユーザがクライアントコンピュータからインターネットを介してサーバコンピュータが開設しているＷｅｂにアクセスし、そのＷｅｂ上で文書を選択し、表示手段に表示して閲覧することができる。しかも、ユーザは、閲覧した画像をクライアントコンピュータで自由に印刷することもできる。これは、コンテンツの著作権侵害につながり、有料コンテンツで特に問題となる。そこで、クライアントコンピュータ側でのコンテンツの印刷を規制することを目的とした技術が提案されている（たとえば、特許文献１を参照。）。
【０００３】
特許文献１に記載の技術は、まず、各ユーザ固有のユーザＩＤに対応するプリンタ情報から、当該プリンタ情報に合致するプリンタドライバを抽出する。そして、そのプリンタドライバを利用して見出し項目の詳細情報の印刷データを作成してクライアントコンピュータに送信するものである。このようにすることで、閲覧利用が許されたユーザのみにコンテンツが提供されるようになる。
【０００４】
また、最近では、クラウドコンピューティングシステムやＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）という技術が利用され始めている。これらの技術により、インターネット側のサーバコンピュータにアプリケーションプログラムを導入し、クライアントコンピュータ側に導入するアプリケーションプログラムを極力少なくしたいという要望がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１０２６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術は、ユーザによる印刷を抑制することを目的とし、ユーザ情報とプリンタ情報とが１対１でプロファイル情報として管理されている。このため、ユーザが他のクライアントコンピュータから印刷を行おうとした際に、当該クライアントコンピュータの機種が異なる場合に、正常に印刷できない等の不都合が発生するおそれがあった。また、クライアントコンピュータのインターネットへの接続は、ファイアウォールが想定されていない。すなわち、ファイアウォールによって守られているネットワーク環境では、サーバコンピュータからプリンタへの直接通信はセキュリティの観点から好ましくなく、困難である。よって、サーバコンピュータからファイアウォールを越えてプリンタに対して印刷の実行結果を確認するといったことが難しかった。また、クライアントコンピュータ側に画像形成装置のドライバの導入が必要とされている。このため、ただでさえ多くのアプリケーションプログラムが導入されているクライアントコンピュータに、さらなる負担がかかる。
このように、従来の技術では、分散印刷システム環境おいてクライアントコンピュータにおいて適切な印刷状況の管理をする仕組みが十分ではなかったという問題があった。
【０００７】
本発明は、従来技術の問題点を解消するため、クライアント装置にプリンタドライバが未導入であっても、好適な印刷処理が可能になるサーバ装置及びライアント装置を提供することを目的とする。
また、クライアントコンピュータから、分散印刷システム環境に対して印刷を行わせる際に、クライアントコンピュータにおいて適切な印刷状況の管理をする仕組みを提供することをさらに別の目的とする。
【課題を解決するための手段】
【０００８】
上述した課題の少なくとも一部を解決し、上述の目的の少なくともひとつを達成するため、本発明にかかるサーバ装置は、クライアント装置及び画像形成装置と通信するサーバ装置において、前記クライアント装置から送信されてくる印刷要求に従って、前記画像形成装置に対して印刷データを送信して印刷させる印刷サービスを実行する実行手段と、前記実行手段により実行される印刷サービスの処理状況を、前記クライアント装置から繰り返し送信されてくるリクエストに応じて送信する送信手段と、前記実行手段により実行される印刷サービスにおいて前記印刷要求に対応する処理が完了したことに応答して、前記クライアント装置から繰り返し送信される前記リクエストを停止させるクライアント制御手段とを備え、前記クライアント制御手段は、前記印刷要求に対応する印刷実行結果のエラー処理として、前記画像形成装置の代替となる画像形成装置を前記クライアント装置に通知するとともに、前記クライアント装置から繰り返し送信される前記リクエストを停止させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、例えば、クライアント装置からみてファイアウォールを超えた場所にサーバ装置がある場合であって、クライアント装置に画像形成装置のドライバが未導入であっても、好適な印刷処理が可能になる。また、ユーザが異なるクライアントコンピュータから印刷指示を行った場合でも、好適な印刷処理が可能になり、利便性が向上する。
さらに、本発明によれば、クライアント装置から、分散印刷システム環境に対して印刷を行わせる際に、クライアント装置におけるポーリング処理を適切なタイミングで停止させることができる。これによって、ネットワークシステムの負荷軽減を図ることが出来る。さらに、分散印刷システム環境に対して印刷を行わせる際に、クライアントコンピュータにおいて適切な印刷状況の管理をすることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の印刷システムの全体構成図である。
【図２】印刷システムにおいて使用されるデータ形式の一例を示す図である。
【図３】サーバコンピュータ１０２に情報を登録する手順を示すフローチャートである。
【図４】印刷システムにおける印刷処理手順の概要を示すフローチャートである。
【図５】印刷システムで使用される印刷データの一例を示す図である。
【図６】印刷データ生成処理の手順を示すフローチャートである。
【図７】印刷データの送信処理の手順を示すフローチャートである。
【図８】印刷データの転送処理の手順を示すフローチャートである。
【図９】印刷処理の手順を示すフローチャートである。
【図１０】印刷結果確認処理の手順を示すフローチャートである。
【図１１】印刷完了通知受信処理の手順を示すフローチャートである。
【図１２】第２実施形態における印刷結果確認処理を示すフローチャートである。
【図１３】エラー処理の手順を示すフローチャートである。
【図１４】第３実施形態における印刷処理を示すフローチャートである。
【図１５】サーバコンピュータ１０２内のソフトウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態を詳細に説明する。
【００１２】
（第１実施形態）
図１は、第１実施形態にかかる印刷システムの概略構成図である。この印刷システムは、印刷制御装置であるサーバコンピュータ（サーバ装置）１０２、クライアントコンピュータ（クライアント装置）１０３、および画像形成装置１０４を含み構成される。クライアントコンピュータ１０３と画像形成装置１０４は同じネットワーク１００ａ内にあり、ファイアウォールを越えてインターネット１０１を介してネットワーク１００ｂ内のサーバコンピュータ１０２との接続がなされる。ネットワーク１００ａ，１００ｂは、上記各装置間の情報のやり取りのための通信回線として働く。インターネット１０１は、ファイアウォールを越えてネットワーク１００ａ，１００ｂ間での情報のやり取りのための通信回線として働く。サーバコンピュータ１０２が属するネットワーク１００ｂと、クライアントコンピュータ１０３と画像形成装置１０４が属するネットワーク１００ａとは、ファイアウォールを越えてインターネット１０１を通じた通信が可能である。ネットワーク１００ａ，１００ｂ、インターネット１０１は、たとえば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網であり、有線、無線と回線を問わない。なお、図１では、クライアントコンピュータ１０３および画像形成装置１０４はそれぞれ１台のみを示しているが、複数台の構成であっても構わない。
【００１３】
サーバコンピュータ１０２は、制御部１０２１と、記憶部１０２２とを備えている。制御部１０２１、記憶部１０２２は、サーバコンピュータとしての一般的な公知の役割を果たす。たとえば、記憶部１０２２にオペレーティングシステムや、画像形成装置１０４で印刷を行うためのドライバがインストールされ、制御部１０２１でそれらが実行される。また、記憶部１０２２には各種印刷データなども一時的に保存される。さらに、制御部１０２１は、本実施形態およびこれ以降に開示するフローチャートの各処理の一部を行うことが可能である。たとえば、制御部１０２１は、取得した画像形成装置１０４に関する情報をユーザおよびサブネットワークごとに登録管理し、画像形成装置に関する情報を基に、印刷データを生成する。また、制御部１０２１は、前記印刷データをクライアントコンピュータ１０３に送信し、画像形成装置１０４からの印刷完了通知を受信したか否かを検出する。また、制御部１０２１は、画像形成装置１０４からの印刷完了通知を受信したことを検出した場合に、記憶部１０２２に一時的に保存されている、画像形成装置１０４において印刷処理が完了した印刷データを削除する。また、制御部１０２１は、記憶部１０２２に画像形成装置１０４において印刷処理が完了した印刷データが存在するか否かを検出する。また、制御部１０２１は、印刷処理が完了した印刷データが記憶部１０２２に存在しないことが判明した場合に、クライアントコンピュータ１０３に対して印刷結果確認命令送信を終了させるための通知を発信する。さらに、制御部１０２１は、画像形成装置１０４において印刷処理が失敗したことが判明した場合に、当該印刷処理を代替させることが可能な他の画像形成装置の情報（代替画像形成装置情報）を生成することも可能である。制御部１０２１は、クライアントコンピュータ１０３からの印刷指示情報を受信し所定の処理を行う。以上の詳細は後述する。
【００１４】
クライアントコンピュータ１０３は、制御部１０３１と、記憶部１０３２とを備えている。制御部１０３１、記憶部１０３２クライアントコンピュータとして一般的な公知の役割を果たす。たとえば、記憶部１０３２にオペレーティングシステムや、Ｗｅｂブラウザのようなアプリケーションプログラムがインストールされ、制御部１０３１でそれらが実行される。さらに、制御部１０３１は、本実施形態およびこれ以降に開示するフローチャートの各処理の一部を行うことが可能である。たとえば、制御部１０３１は、サーバコンピュータ１０２から送信された印刷データを受信し、これを画像形成装置１０４に対して転送する。また、制御部１０３１は、サーバコンピュータ１０２に対して前記印刷データの印刷処理が完了したか否かを確認する印刷結果確認命令を送信する。詳細は後述する。
【００１５】
画像形成装置１０４は、各種画像処理を実行する画像処理装置１０４１と、印刷を実行する印刷装置１０４２とを備えている。画像処理装置１０４１は、ＣＰＵ１０４３と、直接記憶部１０４４（ＲＡＭなど）と、間接記憶部１０４５（ＲＯＭやＨＤＤなど）と、ユーザインタフェース１０４７と、外部インタフェース１０４８と、を備えている。
【００１６】
直接記憶部１０４４は、ＣＰＵ１０４３と直接データをやり取りする記憶部であり、間接記憶部１０４５は直接記憶部１０４４を介してＣＰＵ１０４３とデータをやり取りする記憶部である。直接記憶部１０４４には、種々のアプリケーションプログラムおよびプラットフォームプログラムが記憶されている。ユーザインタフェース１０４７は、キーボード、マウス、ディスプレイ等からなり、ユーザからの指示の受付け、データ（画像データ）の表示をすることが可能となっている。外部インタフェース１０４８は、外部装置からのデータの受信や外部装置へのデータの送信が可能となっている。外部装置としては、たとえば、外付けＨＤＤや外付けＵＳＢメモリ等の外付け記憶装置、ネットワークを介して接続されたホストコンピュータや、画像形成装置等の装置が考えられる。
【００１７】
また、ＣＰＵ１０４３は、間接記憶部１０４５に記憶されたプラットフォームプログラムを直接記憶部１０４４に移動する（記憶させる）ことができる。移動が完了すると、ＣＰＵ１０４３が、プラットフォームプログラムを実行することができる状態になる。なお、本実施形態では、以下の構成の組み合わせをプラットフォーム部１０４６と称している。
・ＣＰＵ１０４３。
・直接記憶部１０４４のうち、プラットフォームプログラムを記憶している領域。
・ＣＰＵ１０４３が上記プラットフォームプログラムを処理した際に得られる情報（計算結果等）を記憶する（直接記憶部１０４４および間接記憶部１０４５のうちの）領域。
【００１８】
プラットフォーム部１０４６は、間接記憶部１０４５に記憶されたアプリケーションプログラムを直接記憶部１０４４に移動する（記憶させる）ことができる。移動が完了すると、プラットフォーム部１０４６が当該のアプリケーションプログラムを実行することができる状態になる。さらに、プラットフォーム部１０４６は、本実施形態およびこれ以降に開示するフローチャートの各処理の一部を行うことが可能である。たとえば、プラットフォーム部１０４６は、印刷装置１０４２に対して、印刷データを送り、印刷を実行させる。また、プラットフォーム部１０４６は、印刷装置１０４２での印刷処理が完了した場合に、印刷完了の通知をサーバコンピュータ１０２に対して発信する。さらに、プラットフォーム部１０４６は、クライアントコンピュータ１０３から転送された印刷データを受信し、転送を行ったクライアントコンピュータ１０３のユーザにのみ印刷可能状態にする。以上の詳細は後述する。
【００１９】
次に、本実施形態にかかる印刷システムにおいて使用されるデータ形式の一例について説明する。図２は、第１実施形態にかかる印刷システムにおいて使用されるデータ形式の一例を示す図である。ここに示された各データ形式は、サーバコンピュータ１０２に登録される画像形成装置１０４に関するデータの例である。
【００２０】
図２（ａ）は、画像形成装置１０４における、ユーザ情報のデータ構造の一例である。ユーザＩＤ３０１１は、各ユーザを特定するデータである（ｕｓｅｒ＿ｉｄ）。ユーザ名３０１２は、ユーザ名を示すデータである（ｕｓｅｒ＿ｎａｍｅ）。ユーザＩＤ３０１１およびユーザ名３０１２は、複数保持することができる。これらは、画像形成装置１０４の間接記憶部１０４５に保存され、プラットフォーム部１０４６が読み出し、ユーザの特定などに利用される。この図２（ａ）の例では、ユーザＩＤ３０１１が“ｕ００００１”で、ユーザ名３０１２が“Ｎａｍｅ０１”であるデータと、ユーザＩＤ３０１１が“ｕ００００２”で、ユーザ名３０１２が“Ｎａｍｅ０２”であるデータの２データを表している。ユーザＩＤ３０１１は、印刷システム全体において共通で利用される。
【００２１】
図２（ｂ）は、画像形成装置１０４における、画像形成装置特定情報のデータ構造の一例である。機種ＩＤ３０２１は、画像形成装置１０４の機種を特定するためのデータである（ｍｆ＿ｉｄ）。ＩＰアドレス３０２２は、ネットワーク１００ａ内における、画像形成装置１０４のローカルのＩＰアドレスである（ｌｏｃａｌ＿ａｄｄｒｅｓｓ）。外部ＩＰアドレス３０２３は、画像形成装置１０４が、ファイアウォールを越えてインターネット１０１を介してサーバコンピュータ１０２と通信する際に使用する外部ＩＰアドレスである（ｅｘｔ＿ａｄｄｒｅｓｓ）。サブネットアドレス３０２４は、画像形成装置１０４が属するネットワーク１００ａのサブネットアドレスである（ｓｕｂｎｅｔ）。図２（ｂ）の例では、画像形成装置１０４の機種を特定するための機種ＩＤ３０２１が“ｍｆ_０００１”，画像形成装置１０４のローカルのＩＰアドレス３０２２が“１９２．１６８．１０．２０”となる。また、画像形成装置１０４の外部ＩＰアドレス３０２３が“ｘｘｘ．ｘｘｘ．１２７．１０”、画像形成装置１０４が属するネットワーク１００ａのサブネットアドレス３０２４が“１９２．１６８．１０．０／２４”であるデータを表している。
【００２２】
図２（ｃ）は、画像形成装置１０４に対するユーザのアクセス許可データ構造の一例である。このデータは、サーバコンピュータ１０２の記憶部１０２２に保存される。ユーザＩＤ３０３１は、画像形成装置１０４および本システムで共通に使用されるユーザＩＤである（ｕｓｅｒ＿ｉｄ）。このユーザＩＤ３０３１は、ユーザＩＤ３０１１と同じである。装置ＩＤ３０３２は、本システムにおいて、ユーザＩＤ３０３１を所持するユーザが利用することが可能な画像形成装置１０４を識別する装置ＩＤである（ａｌｌｏｗ＿ｄｅｖｉｃｅ）。装置ＩＤ３０３２は、１つのユーザＩＤに対して複数存在することが可能である。この装置ＩＤ３０３２の詳細については後述する。図２（ｃ）の例では、ユーザＩＤ３０３１が“ｕ００００１”であり、利用可能な画像形成装置１０４の装置ＩＤ３０３２が“ｄ０００１，ｄ０００２，ｄ０００３”であるデータが１つのデータ構成となっている。続いてユーザＩＤ３０３１が“ｕ００００２”であるデータ以下のデータに関して、それぞれ利用することが可能な画像形成装置１０４の装置ＩＤ３０３２を保持している例が示されている。これにより、ユーザは複数の画像形成装置１０４が利用可能であり、ユーザは特定のクライアントコンピュータ１０３からの利用に限定されることはなくなる。
【００２３】
図２（ｄ）は、画像形成装置１０４の画像形成装置特定情報を管理するデータ構造の一例である。これらは、サーバコンピュータ１０２の記憶部１０２２に保存される。装置ＩＤ３０４１は、画像形成装置１０４を識別する装置ＩＤである（ｄｅｖｉｃｅ＿ｉｄ）。この装置ＩＤ３０４１は、図２（ｃ）の装置ＩＤ３０３２と同じである。機種ＩＤ３０４２，ＩＰアドレス３０４３，外部ＩＰアドレス３０４４，サブネットアドレス３０４５は、それぞれ図２（ｂ）で説明した機種ＩＤ３０２１，ＩＰアドレス３０２２，外部ＩＰアドレス３０２３，サブネットアドレス３０２４と対応している。図２（ｄ）の例では、画像形成装置を識別する装置ＩＤ３０４１が、“ｄ０００１”，“ｄ０００２”，“ｄ０００３”である３つの画像形成装置のデータを保持する。そして、それぞれが装置ＩＤ３０２１，アドレス３０２２，外部ＩＰアドレス３０２３，サブネットアドレス３０２４に対応するデータを保持する。
【００２４】
図２（ｅ）は、画像形成装置１０４の対応ドライバ情報を管理するデータ構造の一例である。これらは、サーバコンピュータ１０２の制御部１０２１が記憶部１０２２に保存する。機種ＩＤ３０５１は、画像形成装置の機種を特定するための機種ＩＤである（ｍｆ＿ｉｄ）。この機種ＩＤ３０５１は、機種ＩＤ３０２１と同じである。ドライバＩＤ３０５２は、画像形成装置で印刷を実行するために、文書をＰＤＬに変換するドライバを識別するドライバＩＤである（ｄｒｉｖｅｒ）。図２（ｅ）の例では、画像形成装置の機種ＩＤ３０５１が“ｍｆ＿０００１”，“ｍｆ＿０００２”，“ｍｆ＿０００３”である。そして、それぞれのデータに対して“ｄｒｉｖｅｒ＿Ａ”，“ｄｒｉｖｅｒ＿Ｂ”，“ｄｒｉｖｅｒ＿Ｃ”であるドライバＩＤ３０５２が対応していることが示されている。
【００２５】
図１５は、本発明の実施の形態にかかる印刷システムのソフトウェアブロック図であり、サーバコンピュータ１０２内のソフトウェア構成と、クライアントコンピュータ１０３、画像形成装置１０４との関係を表している。
まず、サーバコンピュータ１０２内におけるソフトウェア構成について説明する。ソフトウェアモジュール１５０１〜１５０２は、記憶部１０２２に保存されており、制御部１０２１によってロードされ、実行される。Ｗｅｂリクエスト処理部１５０１は、クライアントコンピュータ１０３の制御部１０３１または画像形成装置１０４のプラットフォーム部１０４６を介して、リクエストを受信し、受け付けた旨を返信し、リクエストの内容を記憶部１０２２に保存する。このＷｅｂリクエスト処理部１５０１は、たとえばＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ  Ａｚｕｒｅ（商標）における仮想化されたサーバコンピュータＷｅｂＲｏｌｅの機能を利用することもできる。Ｗｅｂリクエスト処理部１５０１は、クライアントコンピュータ１０３からのリクエストに応じて印刷サービス状況を送信する送信手段の一例である。また、Ｗｅｂリクエスト処理部１５０１は、印刷要求に対応する処理が完了したことに応答して、クライアントコンピュータの制御（一例として、リクエスト）を停止するクライアント制御手段の一例である。また、印刷要求に対応する処理が完了意思田後、データを削除する削除手段の一例である。
バックエンド処理部１５０２は、Ｗｅｂリクエスト処理部１５０１を介して、クライアントコンピュータ１０３、画像形成装置１０４からのリクエストを処理する。ここでは、バックエンド処理部１５０２は、Ｗｅｂリクエスト処理部によって記憶部１０２２に保存されたリクエストの内容を取り出し、処理を実行する。たとえば、バックエンド処理部１５０２は、記憶部１０２２に保存されたリクエストである印刷指示を読み出し、印刷指示に含まれる文書ＩＤの文書を記憶部１０２２から読み出す。さらに、バックエンド処理部１５０２は、画像形成装置１０４のドライバを記憶部１０２２から読み出し、読み出した文書を、ＰＤＬデータに変換し、印刷データを生成し、記憶部１０２２に保存し、管理する。このバックエンド処理部１５０２は、たとえばＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ  Ａｚｕｒｅ（商標）における仮想化されたサーバコンピュータＷｏｒｋｅｒＲｏｌｅの機能を利用することもできる。バックエンド処理部１５０２は、クライアントコンピュータから送信されてくる印刷要求に志賀って、画像形成装置に印刷データを送信して印刷サービスを実行する実行手段の一例である。
【００２６】
次に、画像形成装置１０４が保持する情報をサーバコンピュータ１０２に登録する手順について説明する。図３は、画像形成装置１０４が保持する情報をサーバコンピュータ１０２に登録する手順を示すフローチャートである。
【００２７】
図３に示すフローチャートにおいて、まず、サーバコンピュータ１０２が画像形成装置１０４の情報を受信する（ステップＳ２０１）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、画像形成装置１０４から送信された情報（図２（ａ），図２（ｂ）に示したデータ）を受信する。
【００２８】
次に、サーバコンピュータ１０２が受信した情報が登録済みか否かを判定する（ステップＳ２０２）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ２０１で取り出した画像形成装置１０４の情報が既に記憶部１０２２に保存されているか否かを判定する。具体的には、ステップＳ２０１で受信した情報のうちの図２（ｂ）で示された情報が、サーバコンピュータ１０２内の記憶部１０２２に図２（ｄ）で示されている情報と同じであるか否かを判定する。
【００２９】
ステップＳ２０２においてサーバコンピュータ１０２が受信した情報が登録済みである場合（ステップＳ２０２：Ｙｅｓ）は、サーバコンピュータ１０２はステップＳ２０１で受信した情報を上書き登録する（ステップＳ２０３）。すなわち、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、図２（ａ），図２（ｂ）の情報を、記憶部１０２２に保存されている図２（ｃ），図２（ｄ）の情報に上書きする。一方、ステップＳ２０２においてサーバコンピュータ１０２が受信した情報が登録済みでない場合（ステップＳ２０２：Ｎｏ）は、サーバコンピュータ１０２はステップＳ２０１で受信した情報を新規登録する（ステップＳ２０４）。すなわち、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、図２（ａ），図２（ｂ）の情報を、記憶部１０２２に図２（ｃ），図２（ｄ）として新規に保存する。
【００３０】
次に、本実施形態の印刷システムにおける印刷処理の手順について説明する。図４は、第１実施形態にかかる印刷システムにおける印刷処理手順の概要を示すフローチャートである。このフローチャートでは、印刷データの生成から印刷の実行までの流れを示している。また、このフローチャートにおいては、クライアントコンピュータ１０３と画像形成装置１０４が同一のネットワーク１００ａ内にあり、ファイアウォールを越えてサーバコンピュータ１０２と接続されていることを前提とする（図１参照）。
【００３１】
図４に示すフローチャートにおいて、まず、クライアントコンピュータ１０３が印刷指示を行う（ステップＳ４０１）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、文書の印刷指示をサーバコンピュータ１０２に対して送信する。この文書は、サーバコンピュータ１０２の記憶部１０２２に格納されており、クライアントコンピュータ１０３の制御部１０３１にあるＷｅｂブラウザ等のアプリケーションプログラムを通じて、たとえば文書を特定する文書ＩＤの指定といったかたちで指示される。すなわち、印刷対象となる文書の識別子である文書ＩＤをサーバコンピュータ１０２に対して送信する。
【００３２】
次に、サーバコンピュータ１０２が受付応答を実行する（ステップＳ４０２）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、Ｓ４０１で送信された印刷指示情報を受信し、受け付けたＩＤを印刷指示ＩＤとし、印刷指示ＩＤを付与した受付応答情報をクライアントコンピュータ１０３に対して送信する。ここで、印刷指示ＩＤとは、クライアントコンピュータ１０３からの印刷指示をサーバコンピュータ１０２が受信し、受け付けた印刷指示を識別するためにサーバコンピュータ１０２が発行するＩＤのことである。この印刷指示ＩＤをもとに、クライアントコンピュータ１０３が、サーバコンピュータ１０２に対して、後述する印刷データの生成の確認や、印刷実行の確認を行う。そして、受信した印刷指示情報と受付応答情報をサーバコンピュータ１０２の記憶部１０２２に保存する。
【００３３】
次に、印刷データを生成する（ステップＳ４０３）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ４０２で保存した印刷指示情報と受付応答情報を取得し、その情報を元に印刷データを生成する。この処理の詳細については、後述する。
【００３４】
続いて、クライアントコンピュータ１０３が受付応答を受信する（ステップＳ４０４）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ４０２で送信された受付応答情報を受信し、付与されたＩＤを記憶部１０３２に保存する。続けて、クライアントコンピュータ１０３が印刷データ生成の確認を行う（ステップＳ４０５）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ４０４で記憶部１０３２に保存された受付応答情報に付与されたＩＤを取得する。さらに、クライアントコンピュータ１０３の制御部１０３１は、そのＩＤに対応した印刷データの生成が完了しているかどうかの印刷データ生成確認情報を、サーバコンピュータ１０２に対して送信する。
【００３５】
次に、サーバコンピュータ１０２が印刷データを送信する（ステップＳ４０６）。具体的には、まず、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ４０５で送信された印刷データ生成確認情報を受信し、付与されているＩＤの印刷データの生成が完了しているか否かを確認する。そして、完了している場合、Ｗｅｂリクエスト処理部１５０１は、生成された印刷データをクライアントコンピュータ１０３に対して送信する。この処理の詳細は後述する。
【００３６】
次に、クライアントコンピュータ１０３が印刷データの転送を行う（ステップＳ４０７）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ４０６で送信された印刷データを受信し、これを画像形成装置１０４に対して転送する。この処理の詳細も後述する。
【００３７】
次に、印刷を実行する（ステップＳ４０８）。ここでは、画像形成装置１０４のプラットフォーム部１０４６が外部インタフェース１０４８を介してステップＳ４０７で転送された印刷データを受信し、このデータの印刷処理を実行する。この処理の詳細は後述する。続いて、画像形成装置１０４が印刷完了通知を発信する（ステップＳ４０９）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、ステップＳ４０８の印刷処理の完了を検知した後、印刷完了の通知をサーバコンピュータ１０２に対して発信する。最後に、サーバコンピュータ１０２が印刷完了通知を受信する（ステップＳ４１０）。ここでは、サーバコンピュータ１０２の制御部Ｗｅｂリクエスト処理部１５０１が、ステップＳ４０９で発信された印刷完了通知を受信する。この処理の詳細は後述する。
【００３８】
ここで、本実施形態にかかる印刷システムで使用される印刷データについて説明する。図５は、第１実施形態にかかる印刷システムで使用される印刷データの一例を示す図である。本実施形態では、ＸＭＬデータを用いる。このＸＭＬデータは、サーバコンピュータ１０２において生成され、クライアントコンピュータ１０３に送信され、クライアントコンピュータ１０３から画像形成装置１０４に転送される。エンベロープ部５０１は、ＳＯＡＰメッセージのエンベロープ部分である。ＵＵＩＤ５０２は、印刷を実行される画像形成装置１０４のＵＵＩＤを表す。ＩＰアドレス５０３は、画像形成装置１０４のローカルのＩＰアドレスである。ＩＤ５０４は、画像形成装置１０４による印刷処理が終了した際に、サーバコンピュータ１０２に印刷完了通知を送るときのあて先であるＷｅｂサービスのＩＤである。アドレス５０５は、画像形成装置１０４における印刷を受け付けるＷｅｂサービスのアドレスである。ユーザＩＤ５０６は、画像形成装置１０４に対して印刷指示を行うユーザＩＤである。このユーザＩＤ５０６は、図２（ａ）に示したユーザＩＤ３０１１と同じものを指す。印刷指示ＩＤ５０７は、印刷指示ＩＤを示している。文書ＩＤ５０８は、印刷指示された文書の文書ＩＤを表す。フォーマット５０９は、ＸＭＬデータのフォーマット形式を表し、バイト列であることを示している。文書名５１０は、印刷指示された文書の名称を表す。フォーマット５１１は、文書データのフォーマット形式を表す。識別子５１２は、ＸＭＬデータにバイナリとして添付される、文書を変換したＰＤＬデータへの参照識別子を表す。識別子５１３は、ＸＭＬデータに添付するバイナリデータの参照識別子を表し、それ以降のデータが添付されるデータとなる。データ５１４は、識別子５１３で表した参照識別子のバイナリデータの実体を表し、文書を変換したＰＤＬデータである。
【００３９】
次に、図４に示した印刷データ生成処理（ステップＳ４０３）について詳細に説明する。図６は、印刷データ生成処理（ステップＳ４０３）の手順を示すフローチャートである。
【００４０】
図６に示すフローチャートにおいて、まず、印刷要求を取り出す（ステップＳ６０１）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ４０２で保存した印刷指示情報と受付応答情報を記憶部１０２２から取得する。次に、ユーザＩＤを取得する（ステップＳ６０２）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０１で取り出した情報から、ユーザＩＤを取得する。続いて、各種ＩＰアドレスを取得する（ステップＳ６０３）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０１で取り出した情報から、リクエスト元のクライアントコンピュータ１０３のＩＰアドレスと、印刷先となる画像形成装置１０４のローカルにおけるＩＰアドレスを取得する。
【００４１】
次に、印刷処理を行う画像形成装置を特定する（ステップＳ６０４）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０３で取得した情報を元に、印刷処理を実行する画像形成装置１０４を特定する。たとえば、ＩＰアドレスが“ｘｘｘ．ｘｘｘ．１２７．１０”であり、印刷先となる画像形成装置１０４のローカルにおけるＩＰアドレスが“１９２．１６８．１０．２０”であるとする。この場合、図２（ｄ）で示したように保持しているデータにより、画像形成装置１０４を識別する装置ＩＤ３０５１は“ｄ０００１”と特定される。
【００４２】
次に、特定された画像形成装置は使用可能か否かを判定する（ステップＳ６０５）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０４で特定した画像形成装置１０４のデータにステップＳ６０２で取得したユーザＩＤが含まれるか否かを判定する。たとえば、装置ＩＤ３０５１が“ｄ０００１”で、ユーザＩＤ３０３１が“ｕ００００１”であるとする。この場合、保持しているデータ中、"ｕ００００１”のデータが利用することが可能な画像形成装置１０４を識別する装置ＩＤ“ｄ０００１”を含んでいるか否かを判定する（図２（ｃ）参照）。
【００４３】
ステップＳ６０５において特定された画像形成装置が使用不可能である場合（ステップＳ６０５：Ｎｏ）は、エラー処理を行う（ステップＳ６０７）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ユーザは画像形成装置１０４を使用することができないというエラー情報をクライアントコンピュータ１０３に対して送信する。そして処理を終了する。一方、ステップＳ６０５において特定された画像形成装置が使用可能である場合（ステップＳ６０５：Ｙｅｓ）は、印刷指示された文書を読み出す（ステップＳ６０６）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０１で取得した情報をもとに、印刷指示が行われた文書を記憶部１０２２から読み出す。
【００４４】
次に、特定された画像形成装置に対応するドライバを起動する（ステップＳ６０８）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０４で特定した画像形成装置１０４に対応したドライバを記憶部１０２２にある画像形成装置１０４の対応ドライバ情報を管理するデータ（図２（ｅ））から読み出し、起動する。
【００４５】
次に、文書データをＰＤＬデータに変換する（ステップＳ６０９）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０８で起動したドライバで、ステップＳ６０６で読み出した印刷指示が行われた文書ＩＤの文書をＰＤＬデータに変換する。続いて、ＳＯＡＰメッセージを作成する（ステップＳ６１０）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０１で取り出した情報をもとにして、図５で説明したようなエンベロープ部５０１〜識別子５１２を含むＳＯＡＰメッセージを作成する。そして、ＰＤＬデータをＳＯＡＰメッセージにアタッチする（ステップＳ６１１）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６０９で変換されたＰＤＬデータを、ステップＳ６１０で作成したＳＯＡＰメッセージに対して、図５に示した識別子５１３，データ５１４のようにアタッチする。最後に、印刷データを保存する（ステップＳ６１２）。ここでは、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ６１１で作成したデータを印刷データとして記憶部１０２２に、印刷指示を受け付けた印刷指示ＩＤとともに保存する。
【００４６】
次に、サーバコンピュータ１０２が行う印刷データの送信処理（ステップＳ４０６）について詳細に説明する。図７は、サーバコンピュータ１０２が行う印刷データの送信処理（ステップＳ４０６）の手順を示すフローチャートである。
【００４７】
図７に示すフローチャートにおいて、まず、印刷データの生成確認、受信を行う（ステップＳ７０１）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ４０５の処理によってクライアントコンピュータ１０３から送信された印刷データの生成確認を受信し、印刷指示を受け付けた印刷指示ＩＤを読み出す。次に、当該印刷データの生成は完了したか否かを判定する（ステップＳ７０２）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、印刷指示を受け付けた印刷指示ＩＤに対応する印刷データが記憶部１０２２に保存されているか否かを確認する。
【００４８】
ステップＳ７０２において当該印刷データの生成が完了した場合（ステップＳ７０２：Ｙｅｓ）は、当該印刷データを取得する（ステップＳ７０３）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ７０１で読み出した印刷指示を受け付けた印刷指示ＩＤに対応する印刷データを記憶部１０２２から読み出す。そして、当該印刷データを送信する（ステップＳ７０４）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ７０３で取得した印刷データをクライアントコンピュータ１０３に対して送信する。一方、ステップＳ７０２において当該印刷データの生成が完了していない場合（ステップＳ７０２：Ｎｏ）は、印刷データの生成中である旨を送信する（ステップＳ７０５）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、印刷データの生成が完了していないため、印刷データの生成中である旨をクライアントコンピュータ１０３に応答送信する。
【００４９】
次に、クライアントコンピュータ１０３が行う印刷データの転送処理（ステップＳ４０７）について詳細に説明する。図８は、クライアントコンピュータ１０３が行う印刷データの転送処理（ステップＳ４０７）の手順を示すフローチャートである。
【００５０】
図８に示すフローチャートにおいて、まず、印刷データを受信する（ステップＳ８０１）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ７０４の処理によりサーバコンピュータ１０２から送信された印刷データを受信する。次に、ＳＯＡＰメッセージを解析する（ステップＳ８０２）。ここでは、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ８０１で受信した印刷データのＳＯＡＰメッセージを読み出し、展開する。次に、画像形成装置１０４のＩＰアドレスとＷｅｂサービスのＵＲＩを取得する（ステップＳ８０３）。ここでは、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ８０２で読み出した印刷データのＳＯＡＰメッセージから、画像形成装置１０４のＩＰアドレスとＷｅｂサービスのＵＲＩを取得する。これらは、図５に示したＩＰアドレス５０３とアドレス５０５にあたる。
【００５１】
次に、ユーザ情報を付加する（ステップＳ８０４）。具体的には、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ８０２で読み出した印刷データのＳＯＡＰメッセージに、図５に示したユーザＩＤ５０６のようなユーザ情報を付加する。次に、制御部１０３１は印刷データを再構築する（ステップＳ８０５）。具体的には、制御部１０３１が、ステップＳ８０１で受信した印刷データを、ステップＳ８０４でユーザ情報を付加したＳＯＡＰメッセージで再構築する。そして、制御部１０３１が印刷データを送信する（ステップＳ８０６）。ここでは、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ８０５で再構築した印刷データを、ステップＳ８０３で取得したＩＰアドレスに対応する画像形成装置１０４の印刷ＷｅｂサービスＵＲＩに対して送信する。
【００５２】
次に、画像形成装置１０４が行う印刷処理（ステップＳ４０８）について詳細に説明する。図９は、画像形成装置１０４が行う印刷処理（ステップＳ４０８）の手順を示すフローチャートである。
【００５３】
図９に示すフローチャートにおいて、まず、印刷データを受信する（ステップＳ９０１）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、ステップＳ８０６の処理によりクライアントコンピュータ１０３から送信された印刷データを外部インタフェース１０４８を介して受信する。次に、ＰＤＬデータを読み出す（ステップＳ９０２）。ここでは、画像形成装置１０４のプラットフォーム部１０４６が、ステップＳ９０１で受信した印刷データからＰＤＬデータを読み出す。続いて、印刷を実行させる（ステップＳ９０３）。ここでは、画像形成装置１０４のプラットフォーム部１０４６が、画像形成装置１０４の印刷装置１０４２に対して、ステップＳ９０２で読み出したＰＤＬデータを送り、印刷を実行させる。
【００５４】
次に、印刷処理が完了したか否かを検出する（ステップＳ９０４）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、ステップＳ９０３で実行した印刷処理が正常に終了したか否かを検出する。ステップＳ９０４において印刷処理が完了した場合（ステップＳ９０４：Ｙｅｓ）は、印刷完了通知を送信する（ステップＳ９０５）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、正常に印刷処理が終了したとして印刷完了情報ＩＤを付与してサーバコンピュータ１０２に対して送信する。一方、ステップＳ９０４において印刷処理が完了しなかった場合（ステップＳ９０４：Ｎｏ）は、エラー通知を送信する（ステップＳ９０６）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、印刷エラーとして印刷エラーＩＤと印刷指示ＩＤを付与して印刷完了情報としてサーバコンピュータ１０２に対して送信する。なお、印刷完了情報とは、印刷処理が完了したことを通知する情報である。詳しくは、画像形成装置１０４がサーバコンピュータ１０２に対して送信するデータであり、印刷指示ＩＤ，印刷エラーＩＤが含まれる。印刷エラーＩＤは印刷実行時に発生したエラーの種別を表す識別子であり、正常終了時は０を返す。
【００５５】
ここで、サーバコンピュータ１０２、クライアントコンピュータ１０３間における印刷結果確認処理について説明する。図１０は、サーバコンピュータ１０２、クライアントコンピュータ１０３間における印刷結果確認処理の手順を示すフローチャートである。このフローチャートに示す処理は、クライアントコンピュータ１０３が、ファイアウォールを越えてサーバコンピュータ１０２と接続されていることを前提としている。この処理は、クライアントコンピュータ１０３が画像形成装置１０４に対して印刷データを送信するステップＳ８０６（図８参照）以降に行われる。
【００５６】
図１０の開始は、クライアントコンピュータ１０３からサーバコンピュータに対する印刷要求の送信後、予め指定された期間経過後に開始される。
図１０に示すフローチャートにおいて、まず、クライアントコンピュータ１０３が印刷結果確認命令を送信する（ステップＳ１００１）。ここでは、クライアントコンピュータ１０３の制御部１０３１送信手段の一例が、印刷指示ＩＤに対応する印刷データの印刷処理が完了したかを確認する印刷結果確認命令をサーバコンピュータ１０２に対して送信する。次に、サーバコンピュータ１０２が印刷結果確認命令を受信する（ステップＳ１００２）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１００１で送信された印刷結果確認命令を受信し、印刷指示ＩＤを読み出す。続いて、サーバコンピュータ１０２が画像形成装置１０４からの印刷完了通知を受信したか否かを検出する（ステップＳ１００３）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１００２で読み出された印刷指示ＩＤに対応した印刷データの印刷実行結果である印刷完了情報を、画像形成装置１０４から受信したか否かを検出する。
【００５７】
ステップＳ１００３において画像形成装置１０４からの印刷完了通知を未受信である場合（ステップＳ１００３：Ｎｏ）は、印刷刷結果確認の応答を送信する（ステップＳ１００４）。この処理は、画像形成装置１０４が印刷処理中である場合に実行される。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、処理待ち中である旨を印刷結果確認の応答としてクライアントコンピュータ１０３に対して送信する。続いて、クライアントコンピュータ１０３の制御部１０３１（印刷サービスの処理状況を取得する取得手段の一例）は、印刷処理確認応答を受信する（ステップＳ１００５）。ここでは、クライアントコンピュータ１０３の制御部１０３１が、ステップＳ１００４の処理によりサーバコンピュータ１０２から送信された印刷結果確認の応答を受信する。この場合、印刷処理待ち中であるので、結果確認処理を終了し、以降、指定された時間の経過の後、クライアントコンピュータ１０３の制御部１０３１は、ステップＳ１００１から印刷結果の確認処理を再び繰り返す。
【００５８】
一方、ステップＳ１００３において画像形成装置１０４からの印刷完了通知を受信した場合（ステップＳ１００３：Ｙｅｓ）は、サーバコンピュータ１０２は、当該印刷データ（印刷処理済みデータ）が削除済みであるか否かを検出する（ステップＳ１００６）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１００２の処理で読み出した印刷指示ＩＤに対応する印刷データが記憶部１０２２から削除された状態であるか否かを判定する。ステップＳ１００６において当該印刷データが削除済みでない場合（ステップＳ１００６：Ｎｏ）は、サーバコンピュータ１０２がエラー通知を発信する（ステップＳ１００７）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、クライアントコンピュータ１０３に対して、印刷指示ＩＤに対応する印刷データの印刷実行結果のエラーを通知する。
【００５９】
一方、ステップＳ１００６において当該印刷データが削除済みである場合（ステップＳ１００６：Ｙｅｓ）は、サーバコンピュータ１０２は印刷結果確認処理終了通知を発信する（ステップＳ１００８）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、印刷指示ＩＤに対応する印刷データの印刷処理が正常終了したとして、クライアントコンピュータ１０３に対して印刷結果確認処理を終了させるための通知を発信する。これにより、ステップＳ１００１で繰り返しクライアントコンピュータ１０３から送信される印刷結果確認が終了する。ここでは、たとえば、クライアントコンピュータ１０３の制御部１０３１が繰り返し呼び出しているスクリプトの終了メソッドをサーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が送信することが考えられる。最後に、サーバコンピュータ１０２が印刷完了リストから印刷処理が完了した印刷データに関する情報を削除する（ステップＳ１００９）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、記憶部１０２２に保存されている印刷正常終了リストから、当該印刷指示ＩＤを削除する。なお、印刷正常終了リストとは、サーバコンピュータ１０２が画像形成装置１０４から受信した印刷完了情報をもとに、印刷実行が正常に完了した印刷指示ＩＤをクライアントコンピュータ１０３に通知するためのリストである。このリストは、サーバコンピュータ１０２が保持している。一方、クライアント装置の制御部１０３１（受信手段の一例）では、Ｓ１０１０において、Ｓ１００９で送信された情報を受信し、処理を終了する。
第１の実施形態によれば、クライアントコンピュータから繰り返し送信されてくるリクエスト、例えば印刷結果確認命令に対して、サーバーコンピュータの送信手段としてのＷｅｂリクエスト処理部１５０１は、実行される印刷サービスの処理状況を送信する。このリクエストは繰り返し送信されているが、提供される印刷サービスにおいて印刷要求に対応する処理が完了したことに応答して、クライアントコンピュータに対してリクエストの送信を停止させる。すなわち、定期的な処理状況を確認する処理を停止する。
このように、本実施形態によれば、クライアントコンピュータから、分散印刷システム環境に対して印刷を行わせる際に、クライアントコンピュータにおけるポーリング処理を適切なタイミングで停止させることができる。これによって、ネットワークシステムの負荷軽減を図ることが出来る。
【００６０】
次に、サーバコンピュータ１０２による印刷完了通知受信処理（ステップＳ４１０）について詳細に説明する。図１１は、サーバコンピュータ１０２による印刷完了通知受信処理（ステップＳ４１０）の手順を示すフローチャートである。
【００６１】
図１１に示すフローチャートにおいて、まず、印刷完了通知を受信する（ステップＳ１１０１）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ９０５またはステップＳ９０６の処理により画像形成装置１０４から送信された印刷完了情報を受信し、印刷指示ＩＤを読み出す。次に、印刷完了通知受付応答を送信する（ステップＳ１１０２）。ここでは、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、画像形成装置１０４に対して、ステップＳ１１０１での受信が完了したことを通知する。続いて、受信した印刷完了通知が正常終了の通知か否かを判定する（ステップＳ１１０３）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１１０１で受信した印刷完了情報が正常終了した旨を示す通知か否かを判定する。
【００６２】
ステップＳ１１０３において受信した印刷完了通知が正常終了の通知でない（エラー通知）場合（ステップＳ１１０３：Ｎｏ）は、印刷エラーリストにデータを追加する（ステップＳ１１０７）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、印刷指示ＩＤに対応する印刷データの印刷実行がエラー終了したことを示すエラー情報を、記憶部１０２２に印刷指示ＩＤを付加して印刷エラーリストに保存する。なお、印刷エラーリストとは、印刷指示ＩＤに対応する印刷データの印刷実行がエラー終了したことを示すエラー情報を、記憶部１０２２に印刷指示受付のＩＤを付加して保存したリストである。
【００６３】
一方、ステップＳ１１０３において受信した印刷完了通知が正常終了の通知である場合（ステップＳ１１０３：Ｙｅｓ）は、当該印刷データの削除指示を行う（ステップＳ１１０４）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１１０１で読み出した印刷指示ＩＤに対応する印刷データを記憶部１０２２から削除するよう指示する。次に、当該印刷データの削除処理を実行する（ステップＳ１１０５）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、ステップＳ１１０４で削除するよう指示された印刷データを記憶部１０２２から削除する。そして、削除済みリスト削除データを追加する（ステップＳ１１０６）。具体的には、サーバコンピュータ１０２のバックエンド処理部１５０２が、印刷指示ＩＤに対応する印刷データの印刷処理が完了したものとして、記憶部１０２２の印刷正常終了リストに印刷指示ＩＤを追加する。
【００６４】
以上説明したように、本実施形態によれば、ファイアウォールを超えた場所にサーバコンピュータ１０２がある環境において、クライアントコンピュータ１０３に画像形成装置１０４のドライバが導入されていなくても、好適な印刷処理を行うことが可能となる。また、ユーザが異なるクライアントコンピュータ１０３から印刷指示を行った場合でも、好適な印刷処理を行うことが可能となり、利便性が向上する。
【００６５】
（第２実施形態）
次に、本発明の第２実施形態を説明する。本実施形態では、サーバコンピュータ１０２、クライアントコンピュータ１０３間における印刷結果確認処理において、画像形成装置１０４における印刷実行がエラーとなった場合の、代替となる画像形成装置を通知する処理について説明する。ここでは、第１実施形態での説明と異なる部分のみを示す。
【００６６】
図１２は、第２実施形態における、サーバコンピュータ１０２、クライアントコンピュータ１０３間における印刷結果確認処理の手順を示すフローチャートである。このフローチャートに示す処理においても、クライアントコンピュータ１０３は、ファイアウォールを越えてサーバコンピュータ１０２と接続されていることを前提としている。本実施形態は、第１実施形態がエラー通知（図１０のステップＳ１００７参照）を行うのに対して、エラー処理（ステップＳ１２０１）として代替となる画像形成装置を通知することのみが異なる。このエラー処理（ステップＳ１２０１）は、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、クライアントコンピュータ１０３に、印刷指示ＩＤに対応する印刷実行結果のエラー処理として、代替となる画像形成装置１０４を通知する。以下では、このエラー処理（ステップＳ１２０１）について詳細に説明する。
【００６７】
図１３は、サーバコンピュータ１０２が行うエラー処理（ステップＳ１２０１）の手順を示すフローチャートである。図１３に示すフローチャートにおいて、まず、印刷データの再生成なしで印刷可能な画像形成装置があるか否かを検出する（ステップＳ１３０１）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、印刷実行エラーとなった画像形成装置１０４と同じ外部ＩＰアドレスと、同じサブネットアドレスを保持している他の画像形成装置の中に同一の機種ＩＤのものがあるかを判定する。これは、図２（ｄ）に示したデータのように、機種ＩＤ３０４２，外部ＩＰアドレス３０４４，サブネットアドレス３０４５と同じデータが存在するかどうかを判定する。
【００６８】
ステップＳ１３０１において印刷データの再生成なしで印刷可能な画像形成装置がある場合（ステップＳ１３０１：Ｙｅｓ）は、同機種の画像形成装置リストを生成する（ステップＳ１３０２）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、図２（ｄ）で示す、印刷実行エラーとなった画像形成装置１０４と同じ外部ＩＰアドレス、同じサブネットアドレスを保持し、同一の機種ＩＤを持つ画像形成装置のリストを生成する。一方、ステップＳ１３０１において印刷データの再生成なしで印刷可能な画像形成装置がない場合（ステップＳ１３０１：Ｎｏ）は、代替可能な画像形成装置リストを生成する（ステップＳ１３０３）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、図２（ｄ）で示したような、印刷実行エラーとなった画像形成装置１０４と同じ外部ＩＰアドレス、同じサブネットアドレスを保持ししている。そして、Ｗｅｂリクエスト処理部１５０１が異なる機種ＩＤを持つ画像形成装置のリスト（代替画像形成装置情報）を生成する。そして、リトライ用画像形成装置リストを送信する（ステップＳ１３０４）。具体的には、サーバコンピュータ１０２のＷｅｂリクエスト処理部１５０１が、ステップＳ１３０２，ステップＳ１３０３で生成した画像形成装置のリストを、エラーの通知とともにクライアントコンピュータ１０３に送信する。
【００６９】
以上説明したように、本実施形態によれば、第１実施形態と同様に、クライアントコンピュータから、分散印刷システム環境に対して印刷を行わせる際に、クライアントコンピュータにおけるポーリング処理を適切なタイミングで停止させることができる。したがって、ネットワークシステムの負荷軽減を図ることが出来る。また、画像形成装置１０４での印刷実行でエラーとなった場合でも、代替となる画像形成装置の情報をクライアントコンピュータ１０３に通知することができ、利便性がより向上する。
【００７０】
（第３実施形態）
次に、本発明の第３実施形態を説明する。本実施形態は、図４に示した画像形成装置１０４における印刷処理（ステップＳ４０８）が、即時の印刷実行ではなく画像形成装置１０４での印刷可能状態として印刷準備となる点が異なる。以下では、第１実施形態とは異なる処理についてのみ説明する。
【００７１】
図１４は、第３実施形態における、画像形成装置１０４が行う印刷処理（ステップＳ４０８）の手順を示すフローチャートである。図中、ステップＳ９０１の処理とステップＳ９０２の処理は図９に示したものと同様であるため、説明は省略する。図１４に示すフローチャートにおいて、ステップＳ９０２の処理に続いて、印刷準備を実行する（ステップＳ１４０１）。具体的には、画像形成装置１０４のプラットフォーム部１０４６（が、ステップＳ９０２で読み出したＰＤＬデータを間接記憶部１０４５に保存し、印刷可能状態として印刷準備を実行する。なお、印刷可能状態として印刷準備されたＰＤＬデータは、後にユーザからの認証を含む指示を画像形成装置１０４のユーザインタフェース１０４７または外部インタフェース１０４８が受信し、指示を受け付ける。その受け付けた指示をもとに、プラットフォーム部１０４６が間接記憶部１０４５から印刷可能状態として印刷準備とされたＰＤＬデータを読み出す。そしてプラットフォーム部１０４６が、印刷装置１０４２に対して読み出した印刷可能状態として印刷準備とされたＰＤＬデータを送信することにより、印刷が実行されることになる。最後に、印刷準備完了通知を送信する（ステップＳ１４０２）。具体的には、画像形成装置１０４のプラットフォーム部１０４６が、印刷可能状態として印刷準備処理が成功したとして印刷準備完了通知ＩＤを付与してサーバコンピュータ１０２に対して送信する。
【００７２】
以上説明したように、本実施形態によれば、即時の印刷処理実行ではなく画像形成装置１０４での印刷可能状態として印刷準備処理を行うことで、後にユーザが画像形成装置１０４に指示して印刷実行させるようにすることが可能になり、より利便性が向上する。
【００７３】
なお、上記各実施形態で示した各工程は、ネットワークまたは各種記憶媒体を介して取得したソフトウェア（印刷制御プログラム）をパソコン等の処理装置（ＣＰＵ、プロセッサ）にて実行することで実現できる。
【符号の説明】
【００７４】
１０２  サーバコンピュータ
１０３  クライアントコンピュータ
１０４  画像形成装置
１０２１，１０３１  制御部
１０２２，１０３２  記憶部
１５０１  Ｗｅｂリクエスト処理部
１５０２  バックエンド処理部
【図１】
0005448691.tif 000002
【図２】
0005448691.tif 000003
【図３】
0005448691.tif 000004
【図４】
0005448691.tif 000005
【図５】
0005448691.tif 000006
【図６】
0005448691.tif 000007
【図７】
0005448691.tif 000008
【図８】
0005448691.tif 000009
【図９】
0005448691.tif 000010
【図１０】
0005448691.tif 000011
【図１１】
0005448691.tif 000012
【図１２】
0005448691.tif 000013
【図１３】
0005448691.tif 000014
【図１４】
0005448691.tif 000015
【図１５】
0005448691.tif 000016