(57)【特許請求の範囲】
【請求項１】
クライアント装置のブラウザに応答するサーバ装置のＷｅｂアプリケーションがプリントサービスに供する複数のデータ処理装置を制御して前記クライアントに印刷サービスを提供する印刷システムであって、
前記サーバ装置は、
前記ブラウザから取得する文書情報に対してあらかじめ実行すべき編集サービスが登録されているかどうかを判断する第１の判断手段と、
前記編集サービスが登録されていると判断した場合は、ストレージサービスを実行する第１のデータ処理装置に前記文書情報の保存処理を依頼する第１の依頼手段と、を備え、
第１のデータ処理装置は、
前記第１の依頼手段より依頼された文書情報を取得して保存する保存手段を備え、
第２のデータ処理装置は、
前記保存手段にレイアウト調整処理を実行すべき文書情報が保存されているかどうかを確認する確認手段と、
前記レイアウト調整処理を実行すべき文書情報が保存されていると確認した場合、前記保存手段から前記文書情報を取得してレイアウト調整処理を行うレイアウト調整手段と、
前記レイアウト調整手段によるレイアウト調整結果の保存を前記第１のデータ処理装置に依頼する第２の依頼手段と、
前記レイアウト調整結果に基づく削減ページ数とあらかじめ設定されたしきい値とを比較して削減ページ印刷を実行すべきかどうかを判断する第２の判断手段と、
前記第２の判断手段により削減ページ印刷を実行すべきでないと判断した場合、前記第１のデータ処理装置に前記保存手段に保存されたレイアウト調整結果を削減する指示を行う削減指示手段と、
を備えることを特徴とする印刷システム。
【請求項２】
前記サーバ装置は、
前記ブラウザから取得する印刷要求に対して、前記第１のデータ処理装置からレイアウト調整結果を取得して、あらかじめ設定された評価基準値に従って削減ページ数を評価する評価手段と、
前記評価手段による評価結果に適応してユーザに推奨すべき削減ページ印刷を指示するためのユーザインタフェースを前記ブラウザに提供するユーザインタフェース提供手段と、
前記ユーザインタフェースに対してユーザが指示する印刷要求を前記ブラウザから受け取りプリントサービスを実行すべき第３のデータ処理装置に対して依頼する第３の依頼手段と、を備えることを特徴とする請求項１記載の印刷システム。
【請求項３】
前記第３のデータ処理装置は、
前記サーバ装置からの依頼に従い、前記第１のデータ処理装置から保存された文書情報を受け取る受取手段と、
前記受取手段が受け取る文書情報とレイアウト調整情報とに従い印刷装置で印刷すべき印刷情報を生成する生成手段と、
を備えることを特徴とする請求項２記載の印刷システム。
【請求項４】
前記確認手段は、前記サーバ装置とクライアント装置とは非同期のタイミングで前記保存手段にレイアウト調整処理を実行すべき文書情報が保存されているかどうかを確認することを特徴とする請求項１記載の印刷システム。
【請求項５】
サーバ装置は、
前記ブラウザから取得する文書情報のページ数を判定して前記保存手段に保存する際に、前記確認手段が実行すべき文書情報の処理順位を決定する優先度を指定する指定手段を備えることを特徴とする請求項１記載の印刷システム。
【請求項６】
前記ブラウザから取得する印刷要求に対して、第１のデータ処理装置からレイアウト調整結果を取得するために、前記指定手段が指定した優先度を変更する変更手段を備えることを特徴とする請求項５記載の印刷システム。
【請求項７】
前記ユーザインタフェースは、レイアウト調整結果に合わせて実行可能な面付け要求を受け付けることを特徴とする請求項２記載の印刷システム。
【請求項８】
前記評価手段は、前記ブラウザから取得する面付け要求を含む印刷要求に対して、前記第１のデータ処理装置からレイアウト調整結果を取得して、あらかじめ設定された評価基準値に従って削減ページ数を評価することを特徴とする請求項２記載の印刷システム。
【請求項９】
前記面付け要求は、Ｎｉｎ１印刷要求と、両面印刷要求とを含むことを特徴とする請求項７または８記載の印刷システム。
【請求項１０】
クライアント装置のブラウザに応答するサーバ装置のＷｅｂアプリケーションがプリントサービスに供する複数のデータ処理装置を制御して前記クライアントに印刷サービスを提供する印刷システムのサービス処理方法であって、
前記サーバ装置は、
前記ブラウザから取得する文書情報に対してあらかじめ実行すべき編集サービスが登録されているかどうかを判断する第１の判断工程と、
前記編集サービスが登録されていると判断した場合は、ストレージサービスを実行する第１のデータ処理装置に前記文書情報の保存処理を依頼する第１の依頼工程と、を備え、
第１のデータ処理装置は、
前記第１の依頼工程により依頼された文書情報を取得して保存手段に保存する保存工程を備え、
第２のデータ処理装置は、
前記保存手段にレイアウト調整処理を実行すべき文書情報が保存されているかどうかを確認する確認工程と、
前記レイアウト調整処理を実行すべき文書情報が保存されていると確認した場合、前記保存手段から前記文書情報を取得してレイアウト調整処理を行うレイアウト調整工程と、
前記レイアウト調整工程によるレイアウト調整結果の保存を前記第１のデータ処理装置に依頼する第２の依頼工程と、
前記レイアウト調整結果に基づく削減ページ数とあらかじめ設定されたしきい値とを比較して削減ページ印刷を実行すべきかどうかを判断する第２の判断工程と、
前記第２の判断工程により削減ページ印刷を実行すべきでないと判断した場合、前記第１のデータ処理装置に前記保存手段に保存されたレイアウト調整結果を削減する指示を行う削減指示工程と、
を備えることを特徴とするサービス処理方法。
【請求項１１】
請求項１０に記載のサービス処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサービスを提供する印刷システム、サービス処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
近年、クラウドコンピューティング（以下、クラウド）がIT業界を中心に広がっている。従来のコンピュータハードウェアとソフトウエアを購入・利用するモデルから、インターネット上のサービスを購入・利用するモデルへのシフトが加速している。クラウドには、大きく３種類の分類があると言われている。
【０００３】
１つ目は、SaaS(Software as a Service)であり、サービス提供者がインターネット経由でソフトウエアを提供し、サービス利用者は主にブラウザを使用して目的のソフトウエアを利用するモデルである。SaaSは、より以前には、ASP(Application Service Provider)と呼ばれていた形態とほぼ同一である。
【０００４】
サービス提供者は、インターネット上にソフトウエアを提供するためのWebサイトを構築すればよく、ソフトウエアを配布する必要がない。サービス利用者の側では、専用のソフトウエアを自分のコンピュータにインストールする必要がなく、一般的にはブラウザおよびそのプラグインのみで目的のソフトウエアを利用可能である。
【０００５】
このSaaSの特徴により、いわゆるパーソナルコンピュータからの利用のみならず、携帯電話、小型ラップトップコンピュータやタブレットなどのモバイル端末からも利用可能である。また、プリンタ、スキャナおよび複合機などのイメージ機器からも、SaaSを利用することが可能である。
【０００６】
このようなモバイル端末、イメージ機器などでは、ブラウザを十分に使いやすく表示できるだけのディスプレイサイズを備えてないものも多い。そのため、特定のSaaSに接続するためのアプリケーションを配布して、小さい画面でも使いやすいUI(User Interface)を提供しているケースもある。
【０００７】
これらのアプリケーションの別の目的は、ブラウザだけでは実現できない、携帯電話やプリンタあるいは複合機特有の機能とSaaSで提供される機能を連携させることである。例えば、携帯電話であれば、携帯電話に備えられている通話機能、カメラ、GPSなどの機能との連携である。
【０００８】
複合機であれば、スキャン、プリントなどの機能との連携である。また、UIを利用しない、あるいはUIを備えていなくとも、インターネット上のSaaSに対してデータを送受信して、SaaSの提供している一機能を実行するケースもある。例えば、インターネットに接続したプリンタがSaaSからプリントデータをダウンロードしてプリントする、というケースである。
【０００９】
２つ目は、PaaS(Platform as a Service)であり、インターネット経由のアプリケーション実行用プラットフォームのことである。マイクロソフト社のWindows（登録商標） Azure Platformがその一例であり、アプリケーション実行環境であるWindows（登録商標） Azureや、データベース実行環境であるSQL Azureなどを提供している。
【００１０】
３つ目は、IaaS(Infrastructure as a Service)であり、インターネット経由の仮想マシンやストレージの貸出サービスである。アマゾン社のAmazon EC2による仮想マシンの貸出、Amazon S3によるストレージの貸出などが、その一例である。
【００１１】
サービス提供者が新たにインターネット上でビジネスを立ち上げたい場合、PaaSやIaaSを利用することにより、自前でコンピュータ環境を用意する必要がないため、初期の設備投資が少なくて済む。PaaSやIaaSは、コンピュータリソースの使用量に応じて課金するモデルが主流で、サービス提供者はビジネスの規模に応じてPaaSやIaaS上のコンピュータリソースを増やすことができる。
【００１２】
これらのクラウドの進展にともない、プリンタや複合機をインターネットに接続して、クラウド上に構築した各種サービスを利用可能とするモデルが、検討、実用化されつつある。
【００１３】
クラウド上でのプリントサービスという観点から見れば、クラウド上で文書管理されたファイルを、ローカルのプリンタからプリントするというユースケースがある。以前よりSaaSとしての文書管理サービスは、多くの事業者により提供されている。また、従来、プリンタの印刷制御をするために、プリント用データへの変換、プリンタへのデータ送信などは、いわゆるプリンタドライバと呼ばれるソフトウエアが行っている。プリンタドライバは、プリンタを使用するコンピュータにあらかじめインストールしておく必要があった。
【００１４】
しかし、プリンタドライバの機能をクラウド上のサービスとして提供することにより、インターネットに接続されたプリンタが直接プリント用データを受信して、ドライバーレスでプリントができる構成をとることもできるようになる。これをローカルのプリンタドライバと比して、仮想プリンタドライバと呼ぶ。
【００１５】
ところで、プリンタドライバによるプリンタへのプリント用データ送信の前工程には、印刷前処理という工程がある。この印刷前処理により、プリント対象のファイルからプリント用途の中間データを生成し、この中間データに加工・編集などを加えることにより、プリンタから出力される最終成果物に付加価値を加えることができる。
【００１６】
この印刷前処理の一つとして、「余白詰め」によりプリント用データのページ数を削減する方法が提案されている。
【００１７】
例えば、特許文献１や特許文献２では、各ページを印刷対象領域と余白領域とに分割し、余白領域を省いて印刷対象領域をページ前方方向にシフトさせ、後端の１ページ以上のページ数を削減する方法が公開されている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００５−１４９２１８号公報
【特許文献２】特開２０１０−０９２３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
従来、印刷前処理を行うためには、前述のローカルのプリンタドライバ同様、専用のアプリケーションをコンピュータにインストールして、利用していた。この種のアプリケーションは、いわゆるクライアント・サーバ型やWebアプリケーション型の構成ではなく、スタンドアローン型の構成が一般的である。
【００２０】
その理由の１つは、プリント用の中間データやプリンタへのプリント用データが比較的大きなデータサイズとなるためである。それらの処理に、CPU、RAMおよびHDDなど、比較的多くのコンピュータリソースを必要とするため、専用アプリケーションがコンピュータリソースを占有できるスタンドアローン型が有利である、とされてきた。
【００２１】
また、最終的にプリンタドライバを介して、プリント用データをプリンタへ送信する必要があるため、プリンタと同一あるいは近傍ネットワークに位置するコンピュータに、この専用アプリケーションを配置することが有利であるとも考えられる。
なぜなら、大きなデータサイズのデータをネットワーク送信するので、近傍ネットワークであれば、ネットワークの遅延や混雑の影響を受けにくく、より高速に送信できるためである。
【００２２】
しかしながら、前述のクラウドが進展している背景として、インターネット・イントラネットなどのネットワーク回線速度が高速化してきており、大容量のデータでも、十分高速に送受信できる環境が整ってきている。
【００２３】
前述したように、すでに文書管理や仮想プリンタドライバなどがSaaSとして提供可能となっていることから、印刷前処理もクラウド上のサービスとして構成することにより、一連のプリントワークフローをクラウド上で全て実行可能となる。
【００２４】
例示した特許文献１、２で公開されているような、「余白詰め」を行ってプリント用データのページ数を削減する技術を応用して、紙資源を節約可能とする付加価値サービスをクラウド上に構築するには、以下のような課題がある。
【００２５】
レイアウト調整による「余白詰め」は、その処理の性質上、削減可能なページ数は、原稿ファイルの内容によって異なり不定である。
つまり、一度レイアウト調整を実行してみないと、処理結果、そして削減可能なページ数が分からない。
【００２６】
このようにユーザドリブンでレイアウト調整を実行してみるまで結果が分からないので、何ページ節約可能かをユーザに事前提示・プレビューさせることができないため、この印刷前処理による資源節約効果をアピールしにくいことが第１の課題として挙げられる。
【００２７】
また、従来のスタンドアローン型で印刷前処理のアプリケーションを提供する場合、１ユーザが１台のコンピュータリソースを該当アプリケーションに対して占有し、ユーザドリブンで、任意に処理したいファイルを選択し、レイアウト調整を実行できる。しかし、クラウド型あるいはWeb型のアプリケーション実行環境では、コンピュータリソースは全てのユーザで共有されている。
【００２８】
ユーザドリブンで印刷前処理を受け付けてしまうと、繁忙時間帯やデータサイズが大きいファイルの処理時などは、ユーザの待ち時間や処理の実行時間が長くなってしまう。サービス提供者としては、運用コストを抑えるために、なるべく少ないコンピュータリソースのみを使用して、目的のサービスを提供可能としたい。
一方、待ち時間や処理の実行時間が長くなってしまうのは、ユーザの操作性・利便性を低下させてしまうというのが第２の課題として挙げられる。
このように限られた共有コンピュータリソースで、なるべくユーザを待たせない、という２つの目的を両立しなければならないことである。
【００２９】
第１および第２の課題に対して、レイアウト調整をクラウド上のサーバで非同期実行して、処理結果をあらかじめ用意しておき、ユーザが所望するときすぐに処理結果を提示できるようにする。
【００３０】
この場合、オリジナルファイルに加え、処理結果ファイルを保持しておくために、クラウド上のストレージ資源の必要容量が増大し、サービス提供する側の運用コストが増大してしまう第３の課題が起こりうる。
このようにクラウド環境の下で印刷処理サービスを提供する場合には、幾多の課題を同時に解決しなければならない。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、プリントサービスを提供する印刷システムにおいて、クライアントからの印刷要求に対してシステム資源に負荷をかけることなく、ユーザに印刷削減効果をユーザインタフェースを用いて提供するサービスを実現できる仕組みを提供することである。
【課題を解決するための手段】
【００３１】
上記目的を達成する本発明の印刷システムは以下に示す構成を備える。
クライアント装置のブラウザに応答するサーバ装置のＷｅｂアプリケーションがプリントサービスに供する複数のデータ処理装置を制御して前記クライアントに印刷サービスを提供する印刷システムであって、前記サーバ装置は、前記ブラウザから取得する文書情報に対してあらかじめ実行すべき編集サービスが登録されているかどうかを判断する第１の判断手段と、前記編集サービスが登録されていると判断した場合は、ストレージサービスを実行する第１のデータ処理装置に前記文書情報の保存処理を依頼する第１の依頼手段と、を備え、第１のデータ処理装置は、前記第１の依頼手段より依頼された文書情報を取得して保存する保存手段を備え、第２のデータ処理装置は、前記保存手段にレイアウト調整処理を実行すべき文書情報が保存されているかどうかを確認する確認手段と、前記レイアウト調整処理を実行すべき文書情報が保存されていると確認した場合、前記保存手段から前記文書情報を取得してレイアウト調整処理を行うレイアウト調整手段と、前記レイアウト調整手段によるレイアウト調整結果の保存を前記第１のデータ処理装置に依頼する第２の依頼手段と、前記レイアウト調整結果に基づく削減ページ数とあらかじめ設定されたしきい値とを比較して削減ページ印刷を実行すべきかどうかを判断する第２の判断手段と、前記第２の判断手段により削減ページ印刷を実行すべきでないと判断した場合、前記第１のデータ処理装置に前記保存手段に保存されたレイアウト調整結果を削減する指示を行う削減指示手段とを備えることを特徴とする。
【発明の効果】
【００３２】
本発明によれば、プリントサービスを提供する印刷システムにおいて、クライアントからの印刷要求に対してシステム資源に負荷をかけることなく、ユーザに印刷削減効果をユーザインタフェースを用いて提供するサービスを実現できる。
【００３３】
また、レイアウト調整結果を非同期で実行してあらかじめストレージに保存することで、印刷前処理による資源削減効果と、推奨する印刷結果とオリジナルの印刷結果のいずれかを選択するためのユーザインタフェースをユーザに提示できる。
【図面の簡単な説明】
【００３４】
【図１】本実施形態を示す印刷システムの構成を示す図である。
【図２】図１に示した印刷システムのハードウエアを説明するブロック図である。
【図３】印刷システムのアプリケーション実行環境を示す図である。
【図４】印刷システムの印刷処理サービスの構成を示す図である。
【図５】図４に示した編集サービスのレイアウト調整機能を示す図である。
【図６】レイアウト調整結果を格納するテーブルの一例を示す図である。
【図７】印刷システムで表示されるＵＩの一例を示す図である。
【図８】印刷システムで表示されるＵＩの一例を示す図である。
【図９】印刷システムで表示されるＵＩの一例を示す図である。
【図１０】印刷システムのデータ処理を説明するフローチャートである。
【図１１】印刷システムのタスク処理テーブルの一例を示す図である。
【図１２】印刷システムのデータ処理を説明するフローチャートである。
【図１３】印刷システムのデータ処理を説明するフローチャートである。
【図１４】印刷システムのデータ処理を説明するフローチャートである。
【図１５】印刷システムのデータ処理を説明するフローチャートである。
【発明を実施するための形態】
【００３５】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００３６】
図１は、本実施形態を示す印刷システムの構成を示す図である。本例は、Ｗｅｂアプリケーションに基づくサービスを利用して印刷処理を行うシステムに対応する。より具体的には、クライアント装置のブラウザに応答するサーバ装置のＷｅｂアプリケーションがプリントサービスに供する複数のデータ処理装置を制御して前記クライアントに印刷サービスを提供する印刷システム例である。ここで、サーバ装置と連係して複数のデータ処理装置が行うサービス処理には、後述する文書管理サービス、ストレージサービス、編集サービス、プリントサービス等が含まれる。なお、本実施形態では、クラウドコンピューティング環境に好適なプリントサービスを展開するための印刷システムの一例であるが、クラウドコンピューティング環境の構成は本実施形態に示す印刷システムに限定されるものではない。
【００３７】
図１において、１０１はインターネットあるいはイントラネットを示すネットワークである。１０２はルータやスイッチなど、ネットワークどうしを接続するネットワーク機器である。１０３はネットワーク間の通信許可の制御を行うファイアウォールである。１０４はＬＡＮ（Local Area Network）である。
【００３８】
１０５はサービスを提供する側のデータ処理装置で、第１のデータ処理装置、第２のデータ処理装置、第３のデータ処理装置として機能し、文書管理サービス４０３、ストレージサービス３０８、編集サービス４０４等を実行可能に構成されている。１０６はサービスを提供する側のサーバコンピュータであり、後述するＷｅｂアプリケーション４０１を実行可能に構成されている。なお、後述するＷｅｂアプリケーション４０１、文書管理サービス４０３、編集サービス４０４をそれぞれ独立したサーバコンピュータで実行する構成してもよいし、２つのサービスを１つのデータ処理装置で実行するように構成してもよい。
１０７はハイパーバイザであり、コンピュータの仮想化を行う。１０８は仮想マシンであり、ハーパーバイザ１０７上で動作する。１０９はクライアントコンピュータで、ブラウザ３０１を介してサーバ装置上のＷｅｂアプリケーション４０１との間でプリント処理サービスのやりとりを行うことが可能に構成されている。１１０はプリンタで、クライアントコンピュータ１０９が接続されるＬＡＮ１０４に接続されている。
【００３９】
クライアントコンピュータ１０９やプリンタ１１０は、ネットワーク接続を経由して、サーバコンピュータ１０５や仮想マシン１０８で実行されているＷｅｂサーバやアプリケーションサーバにアクセスできる。なお、図１に示すサーバコンピュータ１０６、仮想マシン１０８、クライアントコンピュータ１０９は、図２に示すハードウエア資源を備える。
【００４０】
図２は、図１に示した印刷システムのハードウエアを説明するブロック図である。以下、サーバコンピュータ１０５、仮想マシン１０８、クライアントコンピュータ１０９のハードウエアの一例を説明する。なお、以下のハードウエアを備えないコンピュータは、リモートデスクトップなどにより、他のコンピュータから接続・操作することも可能である。
【００４１】
図２において、２０１はユーザインタフェースであり、ディスプレイ、キーボード、マウスなどを含み、情報の入出力のために使用される。２０２はネットワークインタフェースであり、ＬＡＮなどのネットワークに接続して、他のコンピュータ（外部機器）やネットワーク機器との通信を行う。
２０４はＲＯＭで、組込済みプログラムおよびデータが記録されている。２０５はＲＡＭで、ＣＰＵ２０３の一時メモリ領域として使用される。ＣＰＵ２０３は、ＲＯＭ２０４、ＲＡＭ２０５、二次記憶装置２０６などから読み込んだプログラムを実行する。２０６は二次記憶装置で、例えばＨＤＤで構成される。なお、各部は入出力インタフェース２０７を介して接続されている。
【００４２】
図３は、本実施形態を示す印刷システムのアプリケーション実行環境を示す図である。本例は、クラウドコンピューティング環境下における、アプリケーション実行環境の構成例の１つを示している。
【００４３】
図３において、３０１は、クライアントコンピュータ１０９などで実行されるブラウザである。ブラウザ３０１は、Ｗｅｂページの表示、Ｗｅｂリクエスト、Ｗｅｂレスポンスの送受信などを行う。３０２は通信トラフィックの負荷分散を行うロードバランサである。３０４は仮想マシンで、後述するモジュールから構成される。
【００４４】
３０５はＯＳ（オペレーティングシステム）である。３０６はＷｅｂサーバ、アプリケーションサーバなどのミドルウエアである。３０７は、ＯＳ３０５やミドルウエア３０６上で実行されるアプリケーションである。
３０３は、１つまたは複数の仮想マシン３０４から構成されるサブシステムであり、ブラウザ３０１に対して、ＷｅｂページやＷｅｂＡＰの提供を主目的とするため、Ｗｅｂロール・サブシステムと呼ばれる。
３０８は、各種データの保存・管理・入出力を行うストレージサービスである。ストレージサービス３０８は、ファイルシステム、ＫＶＳ（Key-Value Store）、キュー、ＲＤＢ（リレーショナルデータベース）などを提供しており、使用目的やデータ形式に応じてこれらを使い分けることができる。
【００４５】
３１０は仮想マシンで、ＯＳ３１１、ミドルウエア３１２、アプリケーション３１３から構成される。３１３はアプリケーションで、ＯＳ３１１やミドルウエア３１２で実行される。３０９は、１つまたは複数の仮想マシンから構成されるサブシステムであり、Ｗｅｂロール・サブシステム３０３に比して、Ｗｏｒｋｅｒロール・サブシステム（サブシステム）と区別されて呼ばれる。
【００４６】
これは、Ｗｅｂロール・サブシステム３０３が、直接ブラウザ３０１との通信を行って、Ｗｅｂページの表示やアプリケーションの実行を行うのに対し、サブシステム３０９はバックエンドでアプリケーションを実行するのが目的のためである。時間がかかるような処理などは、サブシステム３０９で実行することによって、Ｗｅｂロール・サブシステム３０３での実行に適さない処理などを分離・独立させることができる。各Ｗｅｂロール・サブシステム３０３、サブシステム３０９は、仮想マシン３０４、３１０を複数台同様の構成にしておくことにより、複数台で処理の負荷分散を図ることができる。
【００４７】
また、複数台で構成する他の目的は、サーバの冗長化であり、仮想マシンのいずれかに何らかの障害が発生して、サーバの機能が実行できなくなっても、残りのサーバにて、アプリケーションの実行が継続可能となる。サブシステムはアプリケーションごとに１サブシステムを構成する、あるいは、複数アプリケーションをまとめて１サブシステムを構成するなど、柔軟に構成が選択可能である。以下、図３を用いて、アプリケーション３０７および３１３の実行の流れを説明する。
【００４８】
ブラウザ３０１は、ＵＲＬの入力などにより、Ｗｅｂアクセスのリクエストを、ロードバランサ３０２を介して送出する。当該リクエストは、ロードバランサ３０２により、負荷分散方式に従いＷｅｂロール・サブシステム３０３内の仮想マシン３０４の１つに転送される。転送先の仮想マシン３０４上のアプリケーション３０７は、リクエストに対応したプログラムを実行して、レスポンスをロードバランサ３０２経由で、ブラウザ３０１に返信する。
【００４９】
バックエンドで動作するアプリケーション３１３としては、常駐アプリケーション、バッチプログラムなどがある。仮想マシン３０４、３１０は、ストレージサービス３０８にアクセス可能で、必要なデータを保存可能である。
例えば、アプリケーション３０７がストレージサービス３０８のキューにアプリケーション３１３が実行すべきタスクを登録する。また、処理すべきデータをストレージサービス３０８のファイルシステム、ＫＶＳ、ＲＤＢなどに保存しておく。
【００５０】
アプリケーション３１３は、ストレージサービス３０８のキューからタスクを取り出して、順次タスクを実行する。タスク実行時に、必要なデータはストレージサービス３０８から取り出し、また、処理結果のデータをストレージサービス３０８に保存することも可能である。あるいは、Ｗｅｂロール・サブシステム３０３とサブシステム３０９とは、相互に通信することにより、ＡＰＩの呼び出し、データの送受信を行うことも可能である。
【００５１】
図４は、本実施形態を示す印刷システムの印刷処理サービスの構成を示す図である。なお、後述する４０１、４０３、４０４、４０５は、提供機能ごとに構成されたＷｅｂロール・サブシステム３０３あるいはサブシステム３０９のいずれか、またはその両者の組合せである。なお、各４０１、４０３、４０４、４０５はデータ処理装置上のアプリケーションとして実現される。
【００５２】
図４において、４０１はフロントエンドに配置されたＷｅｂアプリケーション（以下、ＷｅｂＡＰ）であり、ブラウザ３０１、Ｗｅｂサービス・クライアント４０２、プリンタ１１０から送信されるリクエストを処理する。４０２はＷｅｂサービス・クライアントである。ここで、Ｗｅｂサービスはシステム間連携で用いられる通信方法の１つである。
通常、クライアントコンピュータ１０９上のブラウザ３０１は、ユーザ操作を介して、リクエスト・レスポンスの送受信を行う。フロントエンドに配置されたＷｅｂＡＰ４０１は、ＷｅｂＵＩ（Web User Interface）としてのＨＴＭＬを生成して、ブラウザ３０１に返信・表示させる。
【００５３】
一方、Ｗｅｂサービス・クライアント４０２に対しては、ＷｅｂＡＰ４０１はＷｅｂサービス・プロバイダとして動作し、ＡＰＩ呼び出しを受け付ける。４０３は文書管理サービスであり、文書管理対象のファイルの登録や検索などの機能を提供する。４０４はレイアウト調整処理を実行する編集サービスであり、印刷前処理の機能を提供する。レイアウト調整処理は、印刷前処理の機能の１つである。４０５はプリントサービスであり、印刷対象ファイルのＰＤＬ（Page Description Language）変換や、プリンタ１１０へのＰＤＬ送信などの機能を提供する。なお、本実施形態において、レイアウト調整処理には、両面印刷要求や、Ｎｉｎ１印刷要求も含まれる。
【００５４】
〔第１の編集処理〕
図５は、図４に示した編集サービス４０４のレイアウト調整処理機能を示す図である。本例は、削減ページ印刷の一例として、レイアウト調整処理機能に基づく余白詰め処理例を示す。
【００５５】
図５において、５０１はページで、印刷対象ファイルのある１ページを例示している。ページ５０１には、文字領域５０２、５０４、および図あるいは画像領域５０３が存在する。
図４に示した編集サービス４０４のレイアウト調整機能を行うアプリケーションは、ページ５０１の内容を解析して文字領域５０２、画像領域５０３、文字領域５０４以外の領域を印刷余白領域５１１、５１５、余白領域５１２、５１３、５１４として分割する。
【００５６】
印刷余白はプリンタが印刷できない領域のため残しておく必要があるが、余白領域は削減することができる。
しかし、余白領域５１２、５１３、５１４全体を全て削減してしまうと、印刷物の可読性が低下する恐れがあるので、可読性を保つための最小限の余白領域５２１、５２２、５２３、５２４を残す。余白領域５１２、５１３、５１４を削減し、印刷対象領域である５０２、５０３、５０４をページ先頭方向にシフトすると、ページ後端部に新たに余白領域５２５ができる。
【００５７】
これらの処理を先頭ページから順次行い、前ページ後端部にできた余白領域に次ページの印刷対象領域をシフトさせることができる場合は、ページをまたいで印刷対象領域をシフトさせる。これを全ページに対し行うことにより、余白領域が後端部に累積していき、最終ページから１ページ以上を累積した余白領域が占める場合、余白領域のみしか存在しないページを削減することにより、印刷対象ページ数を削減することができる。
なお、ここで説明したレイアウト調整による余白詰めのアルゴリズムは比較的単純なものである。特許文献１、２などにより公開されているように、余白詰めのアルゴリズムは様々なものが存在する。
【００５８】
本実施形態では後述するようにＷｅｂＡＰ環境下におけるレイアウト調整機能の実行方法に関するので、余白詰めのためのレイアウト調整をどのようなアルゴリズムで行うかについては問わないものとする。そのため、ここでは単純な余白詰めのアルゴリズムの一例を挙げた。
【００５９】
図６は、図４に示した編集サービス４０４が作成する文書情報テーブルの一例を示す図である。本例は、文書ＩＤ毎にページ削減処理に関わる情報を管理するために使用される。
【００６０】
図６において、６００はテーブル形式のデータ格納領域である。６０１は文書ＩＤで、処理対象のファイルを特定する手段である文書ＩＤを格納する。文書ＩＤ６０１は、文書管理サービス４０３における一意のＩＤを用いることによって、文書管理されているファイルのうちのどれが処理対象であるかを特定することができる。
【００６１】
６０２はオリジナルファイルで、文書ＩＤ６０１で特定されるファイルのロケーションを格納する。当該カラムは後述のレイアウト調整結果のファイルと区別するためにオリジナルファイルと呼ぶ。
６０３はオリジナルファイル・ページ数で、オリジナルファイル６０２のページ数を格納する。６０４はレイアウト調整後ページ数で、レイアウト調整後のページ数を格納する。
【００６２】
６０５は削減したページ数で、オリジナルファイル・ページ数６０３とレイアウト調整後ページ数６０４の差である、レイアウト調整の結果、削減したページ数を格納する。
６０６はレイアウト調整結果ファイルで、レイアウト調整結果を保存した中間ファイルのロケーションを格納する。６０７はレイアウト調整結果ページ・サムネイルファイルで、レイアウト調整結果ファイル６０６の各ページから生成されたサムネイルファイルのロケーションを格納する。
【００６３】
図７は、本実施形態を示す印刷システムで表示されるユーザインタフェース（ＵＩ）の一例を示す図である。本例は、レイアウト調整機能によるページ削減効果あるいは印刷用紙削減効果を判定するための閾値を設定するためのＵＩの一例を示している。
図７において、７００はユーザインタフェースで、削減効果判定用の閾値を設定するために表示される。７０１は閾値（１）であり、レイアウト調整後の削減ページ数との比較に用いられ、現在「２」が表示されている。７０２は閾値（２）であり、印刷用紙削減枚数との比較に用いられ、現在「１」が表示されている。なお、閾値（１）７０１、閾値（１）７０２はレイアウト調整によってページ削減効果を評価するための評価基準値となる。
【００６４】
図８は、本実施形態を示す印刷システムで表示されるユーザインタフェース（ＵＩ）の一例を示す図である。本例は、オリジナルファイルとレイアウト調整結果ファイルを提示するＵＩを説明する例である。なお、本ＵＩ画面は、後述するページ削減効果の評価結果に適応してユーザに推奨すべき削減ページ印刷を指示するためのユーザインタフェースとしてブラウザ３０１に提供される。
図８において、８００はＵＩで、レイアウト調整結果ファイルを推奨する場合に表示される。８０１はオリジナルファイルを選択するためのラジオボタンである。８０２は、オリジナルファイルのファイル名であり、オリジナルファイルのロケーションへのハイパーリンクを兼ねている。８０２はオリジナルファイルで、図６に示したオリジナルファイル６０２に対応する。
８０３はオリジナルファイルのページ数であり、オリジナルファイル・ページ数６０３に対応する。８０４はオリジナルファイルの各ページのサムネイル表示領域である。
【００６５】
８０５は、レイアウト調整結果ファイルを選択するためのラジオボタンである。８０６は、レイアウト調整結果ファイルのファイル名であり、レイアウト調整結果ファイルのロケーションへのハイパーリンクを兼ねている。８０６はレイアウト調整結果ファイルで、図６に示したレイアウト調整結果ファイル６０６に対応する。
８０７は、レイアウト調整結果ファイルのページ数およびオリジナルファイルに比して削減できたページ数である。ページ数８０７は、レイアウト調整後のページ数６０４および削減ページ数６０５に対応する。８０８はレイアウト調整結果ファイルの各ページのサムネイル表示領域であり、レイアウト調整結果ページ・サムネイルファイル６０７が表示される領域に対応する。
【００６６】
８２０はＵＩで、レイアウト調整結果ファイルを選択不可とする場合に表示される。８２１〜８２８は、前述の８０１〜８０８の説明と同様である。ここで、ＵＩ８２１とＵＩ８０１との異なるは、ラジオボタン８２５が選択不可に制御されており、オリジナルファイルのみが選択可能となっている点である。
【００６７】
〔第２の編集処理〕
図９は、本実施形態を示す印刷システムで表示されるユーザインタフェース（ＵＩ）の一例を示す図である。本例は、面付け条件を指定するＵＩと、オリジナルファイルとレイアウト調整結果ファイルを提示するＵＩを説明する例である。なお、本ＵＩ画面は、ページ削減指示するため、ユーザに推奨すべき削減ページ印刷を指示するためのユーザインタフェースとしてブラウザ３０１に提供される。
【００６８】
図９において、９００は面付け条件を指定するＵＩである。９０１は面付け条件を印刷用紙削減効果判定に入れるかどうかを指定するチェックボックスである。９０２は、1 in 1、2 in 1、4 in 1、6 in 1などの、ページ集約条件を指定するコントロールである。９０３は、片面印刷、両面印刷、製本印刷などの印刷方法を指定するコントロールである。
【００６９】
９２０はレイアウト調整結果ファイルを推奨するＵＩである。９２１は、オリジナルファイルを選択するためのラジオボタンである。９２２は、オリジナルファイルのページ数である。９２３は、ページ数９２２を９０２、９０３の面付け条件で印刷する際の印刷用紙必要枚数である。この例では、2 in 1、両面印刷の指定であるので、用紙１枚あたり４ページの印刷が可能であるので、２０／４＝５枚と編集サービス４０４を用いて算出される。
９２４は、レイアウト調整結果ファイルを選択するためのラジオボタンである。９２５は、レイアウト調整結果ファイルのページ数および削減できたページ数である。９２６は、レイアウト調整結果ファイルのページ数９２５を面付け条件９０２、９０３で印刷する際の印刷用紙必要枚数である。
また、印刷用紙必要枚数９２６の括弧内には、オリジナルファイルに対する印刷用紙必要枚数９２３との差である、印刷用紙削減枚数を表示している。９４０は、オリジナルファイルを推奨するＵＩである。９４１〜９４６は、前述の９２１〜９２６と同様であるので、説明は省略する。
【００７０】
図１０は、本実施形態を示す印刷システムのデータ処理を説明するフローチャートである。本例は、ファイル登録時のデータ処理例である。以下、印刷システム上のブラウザ３０１、ＷｅｂＡＰ４０１、文書管理サービス４０３、ストレージサービス３０８によるステップを説明する。なお、各ステップは、ブラウザ３０１、ＷｅｂＡＰ４０１、文書管理サービス４０３、ストレージサービス３０８を実行するデータ処理装置やサーバ装置上のＣＰＵがＲＡＭ上に対応するプログラムをロードして実行することで各処理が実現される。以下、ブラウザ３０１、ＷｅｂＡＰ４０１、文書管理サービス４０３、ストレージサービス３０８を主体として説明を行う。
【００７１】
クライアントコンピュータ１０９のブラウザ３０１は、ファイル登録要求をＷｅｂＡＰ４０１に送信する（Ｓ１００１）。ＷｅｂＡＰ４０１は、文書管理サービス４０３にファイル登録要求を送信する（Ｓ１００２）。文書管理サービス４０３は、受信したファイルを文書管理サービス４０３に保存処理を依頼することで、ストレージサービス３０８による保存処理としてデータ処理装置が備えるハードディスク（ＨＤＤ）に保存する（Ｓ１００３）。この際に、このファイルを特定するための一意のＩＤである文書ＩＤ６０１を採番する。
次に、文書管理サービス４０３は、ＷｅｂＡＰ４０１にファイル登録完了を通知する（Ｓ１００４）。ＷｅｂＡＰ４０１は、レイアウト調整オプションの有無を判定する（Ｓ１００５）。つまり、Ｗｅｂアプリケーション４０１は、Ｓ１００５において、ブラウザ３０１から取得する文書情報に対して編集サービスが登録されているかどうかを判断する第１の判断処理を行う。
【００７２】
ここで、ＷｅｂＡＰ４０１は、例えばユーザごとにレイアウト調整オプションのライセンスを購入済みであるか、などを判定することにより、レイアウト調整オプションの有無を判定する。そして、レイアウト調整オプションが有るとＷｅｂＡＰ４０１が判定した場合、さらに、オリジナルファイルのページ数が２以上であるかを判定する（Ｓ１００６）。なお、レイアウト調整オプションがないとＷｅｂＡＰ４０１が判定した場合、本処理を終了する。
ここで、オリジナルファイルのページ数が２以上であるとＷｅｂＡＰ４０１が判定した場合、ＷｅｂＡＰ４０１は、ストレージサービス３０８のキューに優先度「１」でレイアウト調整実行のタスクを追加して（Ｓ１００７）、本処理を終了する。なお、Ｓ１００７は、実行すべき文書情報の処理順位を決定する優先度を指定する処理に対応する。また、Ｓ１００７は、Ｗｅｂアプリケーション４０１を実行するサーバ装置が、ストレージサービス３０８を実行する第１のデータ処理装置にブラウザ３０１から取得する文書情報の保存処理を依頼する第１の依頼処理に対応する。
一方、オリジナルファイルのページ数が１以下であるとＷｅｂＡＰ４０１が判定した場合は、レイアウト調整を行ってもページ削減は見込めないので、レイアウト調整は実行しない。
【００７３】
図１１は、本実施形態示す印刷システムのタスク処理テーブルの一例を示す図である。以下、ストレージサービス３０８が管理するキューの構造を説明する。
【００７４】
図１１において、１１００はキュー構造を示すテーブルである。１１０１はタスクＩＤで、タスクを特定するための一意のＩＤであるタスクＩＤを格納する。１１０２はタスク優先度で、タスクの実行優先度を表すタスク優先度を格納する。この例では、タスク優先度１１０２の数値が高いほど、先に実行すべき優先度が高いタスクである。１１０３はタスク記述で、実行すべきドキュメントＩＤを格納する。この例では、レイアウト調整の実行対象ファイルを特定するための文書ＩＤを格納してある。
【００７５】
なお、キュー１１００の例では、タスクはキュー内に登録順に順番に積まれていき、シーケンシャルにタスクＩＤを採番していく。さらに、タスク優先度の大小でキュー内のタスクがソートされて、タスク優先度の高いものから先頭に並ぶことになる。
【００７６】
図１２は、本実施形態を示す印刷システムのデータ処理を説明するフローチャートである。本例は、編集サービス４０４がストレージサービス３０８をブラウザ３０１のやりとりとは非同期のタイミングで実行する処理である。より具体的には、編集サービス４０４が主体となってストレージサービス３０８が管理する文書情報のレイアウト調整処理を実行する。なお、各ステップは、編集サービス４０４、文書管理サービス４０３、ストレージサービス３０８を実行するデータ処理装置やサーバ装置のＣＰＵがＲＡＭ上に対応するプログラムをロードして実行することで各処理が実現される。以下、編集サービス４０４、文書管理サービス４０３、ストレージサービス３０８、ＷｅｂＡＰ４０１を主体として説明を行う。
【００７７】
まず、編集サービス４０４は、ストレージサービス３０８内のキュー１１００から先頭タスクを取得する（Ｓ１２０１）。次に、ストレージサービス３０８は、編集サービス４０４にタスク取得結果を返信する（Ｓ１２０２）。そして、編集サービス４０４は、タスクの有無を確認し（Ｓ１２０３）、タスクあると編集サービス４０４が確認した場合、Ｓ１２０４へ進む。
そして、Ｓ１２０４で、編集サービス４０４は、タスク記述１１０３から処理対象の文書ＩＤを特定し、文書管理サービス４０３からオリジナルファイルのロケーションなど、必要な情報を取得する（Ｓ１２０４）。さらに、編集サービス４０４は、ストレージサービス３０８から、オリジナルファイルを取得する（Ｓ１２０５）。
【００７８】
次に、編集サービス４０４は、取得したオリジナルファイルに対して、レイアウト調整アプリケーションを実行する（Ｓ１２０６）。レイアウト調整処理結果は、テーブルの処理結果テーブル６００に示したように、ストレージサービス３０８に保存される（Ｓ１２０７）。このＳ１２０７は、編集サービス４０４を実行する第２のデータ処理装置は、レイアウト調整処理結果の保存をストレージサービス３０８を実行する第１のデータ処理装置に依頼する第２の依頼処理に対応する。
次に、編集サービス４０４は、削減ページ数６０５と閾値（１）７０１とを比較して、削減ページ数が閾値（１）７０１の値を超えているかどうかを判断する（Ｓ１２０８）。ここで、削減ページ数が閾値（１）７０１以上であると編集サービス４０４が判定した場合、レイアウト調整によるページ削減効果ありと判定し、タスクの実行を終了し、次のタスクを取得するためＳ１２０１に戻る。なお、Ｓ１２０８は、編集サービス４０４を実行する第２のデータ処理装置が削減ページ印刷を実行すべきかどうかを判断する第２の判断処理に対応する。
一方、削減ページ数が閾値（１）未満であると編集サービス４０４が判定した場合、レイアウト調整によるページ削減効果なしと判定し、レイアウト調整結果ファイル６０６のロケーションに保存されたレイアウト調整結果ファイルを削減して（Ｓ１２０９）、Ｓ１２０１へ戻る。
なお、図６に示す対応する文書ＩＤのテーブル中のレイアウト調整後ページ数６０４、削減ページ数６０５、レイアウト調整結果ページ・サムネイルファイル６０７は、削減せずに残しておく。これは、該当ファイルに対し、レイアウト調整は実行済みであるという証跡を残しておくためである。
このＳ１２０９により、レイアウト調整の結果、ページ削減効果がなかったと判定された場合、レイアウト調整結果ファイルを削減して、ストレージ資源を節約している。これにより、前述の第３の課題を解決する効果を得ている。
【００７９】
図１３、図１４は、本実施形態を示す印刷システムのデータ処理を説明するフローチャートである。本例は、ユーザの操作により、ブラウザ３０１からファイルに対する印刷要求が送信されたときの処理例である。なお、各ステップは、ブラウザ３０１、ＷｅｂＡＰ４０１、ストレージサービス３０８を実行するデータ処理装置やサーバ装置上のＣＰＵがＲＡＭ等にプログラムをロードして実行することで実現される。以下、ブラウザ３０１，ストレージサービス３０８、ＷｅｂＡＰ４０１、プリントサービス４０５を主体として説明を行う。
【００８０】
まず、ブラウザ３０１は、印刷対象ファイルを選択するＵＩをクライアントコンピュータの表示装置に表示して、ユーザからの印刷指示を受け付け、印刷対象ファイルの印刷指示リクエストをＷｅｂＡＰ４０１に送信する（Ｓ１３０１）。次に、ＷｅｂＡＰ４０１は、Ｓ１００５同様、レイアウト調整オプションの有無を判定する（Ｓ１３０２）。ここで、レイアウト調整オプションがないとＷｅｂＡＰ４０１が判断した場合、Ｓ１４０９に進む。
【００８１】
一方、Ｓ１３０２で、レイアウト調整オプションがあるとＷｅｂＡＰ４０１が判断した場合、ストレージサービス３０８内の図６に示したテーブルに対して、印刷対象ファイルの文書ＩＤ６０１を検索条件として、レイアウト調整結果の取得を要求する（Ｓ１３０３）。
【００８２】
これを受けて、ストレージサービス３０８は、ＷｅｂＡＰ４０１に、レイアウト調整結果を返信する（Ｓ１３０４）。次に、ＷｅｂＡＰ４０１は、レイアウト調整が実行済みであるかどうかを判定する（Ｓ１３０５）。ここで、レイアウト調整が実行済みであるとＷｅｂＡＰ４０１が判定した場合、Ｓ１４０１に進む。
一方、レイアウト調整が未実行であるとＷｅｂＡＰ４０１が判定した場合、クライアントコンピュータ１０９上のブラウザ３０１は処理中である旨を表示する（Ｓ１３０６）。
次に、ＷｅｂＡＰ４０１はすでにタスクの優先度を変更済みであるかどうかを判断する。ここで、変更済みでないとＷｅｂＡＰ４０１が判断した場合は、例えば最初の１回目においては、ＷｅｂＡＰ４０１は、ストレージサービス３０８内のキュー１１００に対して、印刷対象ファイルのタスク優先度を「１０」に変更する（Ｓ１３０８）。
【００８３】
以降、Ｓ１３０３に戻って、編集サービス４０４がレイアウト調整を実行完了するまで、レイアウト調整結果の取得要求を繰り返し行う。
繰り返しの２回目以降は、すでにタスクの優先度を変更済みなので、Ｓ１３０８は必要ない（Ｓ１３０７）。このＳ１３０８のタスク優先度変更により、オンラインのユーザからのリクエストとバックグラウンドで実行すべきタスクの優先度を区別・制御している。
このように、編集サービス４０４がレイアウト調整を非同期実行しているにもかかわらず、ユーザ操作によりブラウザ３０１から未処理のファイルに対し印刷要求が来た場合、優先度が上がり、すぐに実行結果が得られるので、ユーザを長時間待たせない。これにより、前述の第２の課題を解決する効果を得ている。
【００８４】
図１４に示す処理の説明に入り、ＷｅｂＡＰ４０１は、Ｓ１３０４で取得したレイアウト調整結果から、削減ページ数６０５が１以上であるか判定する（Ｓ１４０１）。ここで、削減ページ数６０５が１未満であるとＷｅｂＡＰ４０１が判断した場合、オリジナルファイルのみを選択可能とするＵＩ８２０をクライアントコンピュータ１０９のブラウザ３０１を介して表示装置上に表示する（Ｓ１４０８）。
【００８５】
なお、ＵＩ８２０において、レイアウト調整結果ファイルはすでに削減済みで利用不可であるが、削減したページ数８２７やサムネイル８２８などを、レイアウト調整結果の証跡として確認可能である。
一方、Ｓ１４０１で、削減ページ数６０５が１以上であるとＷｅｂＡＰ４０１が判断した場合、ＷｅｂＡＰ４０１は、さらに削減ページ数６０５が閾値（１）７０１以上であるか判定する（Ｓ１４０２）。ここで、削減ページ数６０５が閾値（１）７０１未満であるとＷｅｂＡＰ４０１が判断した場合、Ｓ１４０７へ進む。そして、レイアウト調整によるページ削減効果が十分でないと判定し、オリジナルファイルを推奨するＵＩを表示するようにクライアントコンピュータ１０９のブラウザ３０１に通知する（Ｓ１４０７）。
【００８６】
このオリジナルファイルを推奨するＵＩとＵＩ８２０との違いは、ラジオボタン８２１が推奨となっている、またラジオボタン８２５が選択不可ではなく選択可能となっている点のみである。
なお、Ｓ１４０８で、レイアウト調整結果ファイルはすでに削減済みで利用不可であるが、削減したページ数８２７やサムネイル８２８などを、レイアウト調整結果の証跡として確認可能であることをクライアントコンピュータ１０９のブラウザ３０１に通知する。なお、Ｓ１４０２の判定にも関わらず、非推奨であるレイアウト調整結果ファイルが選択された場合、Ｓ１２０９でレイアウト調整結果ファイルは削減済みである。なお、Ｓ１４０６、Ｓ１４０７、Ｓ１４０８は、ＷｅｂＡＰ４０１によるユーザインタフェース提供処理である。
【００８７】
そのため、再度キュー１１００にレイアウト調整の実行タスクを登録して、レイアウト調整結果を取得する必要がある。これは、Ｓ１２０９で、ページ削減効果が十分でないと判定されたレイアウト調整結果ファイルを削減して、ストレージ使用容量を節約する効果に比べれば、稀に起こり得る例外処理として十分許容可能である。
また、Ｓ１３０８同様、優先度を「１０」としてタスクに再登録すれば、例外処理時でも優先的にレイアウト調整結果ファイルが得られる。
【００８８】
Ｓ１４０３で、ＷｅｂＡＰ４０１は、チェックボックス９０１から面付け条件を反映するかを判定する。ここで、面付け条件を反映しないとＷｅｂＡＰ４０１が判定した場合、すでにＳ１４０２でページ削減効果ありと判定されているので、レイアウト調整結果を推奨するＵＩ８００を表示するようにブラウザ３０１に通知する（Ｓ１４０６）。
【００８９】
一方、Ｓ１４０３で、面付け条件を反映するとＷｅｂＡＰ４０１が判定した場合、レイアウト調整後ページ数と面付け条件９０２、９０３を合わせた印刷用紙必要枚数および印刷用紙削減枚数を算出する（Ｓ１４０４）。次に、ＷｅｂＡＰ４０１は、印刷用紙削減枚数が閾値（２）７０２以上であるかを比較判定する（Ｓ１４０５）。ここで、印刷用紙削減枚数が閾値（２）７０２未満であるとＷｅｂＡＰ４０１が判定した場合、オリジナルファイルを推奨するＵＩ９４０をブラウザ３０１に表示する（Ｓ１４０７）。
一方、Ｓ１４０５で、印刷用紙削減枚数が閾値（２）７０２以上であると判断した場合、レイアウト調整結果ファイルを推奨するＵＩ９２０を表示するようにクライアントコンピュータ１０９のブラウザ３０１に通知する（Ｓ１４０６）。
【００９０】
このようにレイアウト調整を非同期で実行することにより、処理結果をあらかじめ用意しておく。これにより、Ｓ１４０６、Ｓ１４０７、Ｓ１４０８のように、レイアウト調整結果をクライアントコンピュータ１０９上のブラウザ３０１を介して、ページ削減効果あるいは印刷用紙削減効果をユーザに提示することができる。
また、ユーザに対して、オリジナルファイルまたはレイアウト調整結果ファイルのうち、ページ削減効果あるいは印刷用紙削減効果を見比べて、好みのファイルを印刷する選択肢を与えることができる。これにより、前述の第１の課題を解決する効果を得られる。
【００９１】
上記Ｓ１４０６、Ｓ１４０７、Ｓ１４０８のいずれかによってブラウザ３０１がクライアントコンピュータ１０９上に表示するＵＩから、ユーザがオリジナルファイルまたはレイアウト調整結果ファイルのどちらかを印刷対象とするかを選択する。この選択操作に従い、ユーザドリブンで印刷開始がプリントサービス４０５に対して指示される。
【００９２】
ブラウザ３０１は、印刷対象および印刷開始のリクエストをＷｅｂＡＰ４０１に送信する（Ｓ１４０９）。なお、Ｓ１３０２でレイアウト調整オプションなしと判定された場合は、オリジナルファイルが印刷対象ファイルであることが既知なので、ブラウザ３０１は、印刷開始のリクエストのみを送信する。
次に、ＷｅｂＡＰ４０１は、印刷対象ファイルのロケーションおよび印刷開始要求をプリントサービス４０５に送信する（Ｓ１４１０）。ここで、Ｓ１４１０は、ＷｅｂＡＰ４０１を実行するサーバ装置がプリントサービス４０５を実行する第３のデータ処理装置に対するプリントサービスを依頼する第３の依頼処理に対応する。
プリントサービス４０５は、ストレージサービス３０８から印刷対象ファイル（印刷情報）を取得し（Ｓ１４１１）、ＰＤＬ変換処理を行う（Ｓ１４１２）。ここで、プリントサービス４０５は、ストレージサービス３０８から受取る文書情報とレイアウト調整情報とに従い印刷装置で印刷すべき印刷情報を生成する。次に、プリンタ１１０は、プリントサービス４０５からＰＤＬを受信して、目的の最終成果物を印刷する（Ｓ１４１３）。
【００９３】
図１５は、本実施形態を示す印刷システムのデータ処理を説明するフローチャートである。本例は、ＷｅｂサービスのＡＰＩ経由で、レイアウト調整結果を取得する場合の処理例である。なお、各ステップは、Ｗｅｂサービス・クライアント４０２、ＷｅｂＡＰ４０１、ストレージサービス３０８を実行するデータ処理装置やサーバ装置のＣＰＵがＲＡＭ上に対応するプログラムをロードして実行することで各処理が実現される。以下、Ｗｅｂサービス・クライアント４０２、ストレージサービス３０８、ＷｅｂＡＰ４０１を主体として説明を行う。
まず、Ｗｅｂサービス・クライアント４０２は、文書ＩＤ６０１などを指定して、ファイルのレイアウト調整結果取得要求をＷｅｂＡＰ４０１に送信する（Ｓ１５０１）。ＷｅｂＡＰ４０１は、ストレージサービス３０８内の処理結果テーブル６００に対し、指定された文書ＩＤ６０１を検索条件として、レイアウト調整結果の取得要求を送信する（Ｓ１５０２）。
【００９４】
次に、ストレージサービス３０８は、レイアウト調整結果をＷｅｂＡＰ４０１に返信する（Ｓ１５０３）。ＷｅｂＡＰ４０１は、レイアウト調整が実行済みであるか判定する（Ｓ１５０４）。レイアウト調整が実行済みであるとＷｅｂＡＰ４０１が判定した場合、Ｓ１５０３で取得したレイアウト調整結果をＷｅｂサービス・クライアント４０２に返信する（Ｓ１５０７）。
一方、Ｓ１５０４で、レイアウト調整が未実行であるとＷｅｂＡＰ４０１が判定した場合、最初の１回目のみ、ストレージサービス３０８に、キュー１１００内のタスクの優先度を「５」に変更要求する（Ｓ１５０６）。
【００９５】
以降、レイアウト調整が実行完了するまで、Ｓ１５０２からレイアウト調整結果の取得要求を繰り返す。繰り返しの２回目以降は、すでにタスク優先度が変更済みであるため、Ｓ１５０６は必要ない（Ｓ１５０５）。
Ｓ１５０６のタスク優先度変更により、Ｗｅｂサービスのリクエストとバックグラウンドで実行すべきタスクの優先度を区別・制御している。ブラウザに対してのＷｅｂＡＰのみならず、ＷｅｂサービスによるＡＰＩ呼び出しにおいても、リクエストに対して待ち時間をなるべく長くしないよう制御することができる。
これは、前述の第２の課題を解決する効果を得る手段のもう１つの例である。
これにより、プリントサービスを提供する印刷システムにおいて、クライアントからの印刷要求に対してシステム負荷をかけることなく、ユーザに印刷削減効果をユーザインタフェースを用いて提供するサービスを実現できる。
より具体的には、クラウドコンピューティング環境で、ページ削減効果の有無を提示するプリントサービスを実行する際に、以下の効果が期待である。第１には、クライアント装置のブラウザとは非同期のタイミングでレイアウト処理が実現されることで、システム上でデータ処理装置が実行するレイアウト処理に集中してしまうような事態をさけることができる。また、ユーザが登録したプリントサービスであって、印刷すべき文書情報からページ削減効果がなければそのレイアウト結果を削減してしまう。これにより、アクセスが集中してもあらかじめ設定されるページ削減効果が得られないようなレイアウト結果を保存させずに済み、ストレージのためのＨＤＤ資源を節減できる。さらに、非同期で処理されたページ削減効果のレベルに応じて、ユーザがＵＩ画面上で推奨されるレイアウト印刷結果とオリジナルの印刷結果と視覚的、かつ相対的に確認しながら、ユーザが好む印刷要求を選択できる。
【００９６】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００９７】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００９８】
１０５  サーバコンピュータ
１０９  クライアントコンピュータ
１１０  プリンタ
【図１】
0005743723.tif 000002
【図２】
0005743723.tif 000003
【図３】
0005743723.tif 000004
【図４】
0005743723.tif 000005
【図５】
0005743723.tif 000006
【図６】
0005743723.tif 000007
【図７】
0005743723.tif 000008
【図８】
0005743723.tif 000009
【図９】
0005743723.tif 000010
【図１０】
0005743723.tif 000011
【図１１】
0005743723.tif 000012
【図１２】
0005743723.tif 000013
【図１３】
0005743723.tif 000014
【図１４】
0005743723.tif 000015
【図１５】
0005743723.tif 000016