説明

印刷システム、印刷中継サーバー、印刷中継サーバーを制御する制御方法、およびそのプログラム。

【課題】 本発明は、印刷サービスを提供するベンダーサーバーから、印刷データに変換する前のコンテンツを取得する仕組みを設けることを目的とする。
【解決手段】 取得されたコンテンツ識別情報を基に取得した印刷データのロケーション情報と、取得された通知情報に含まれる印刷データのロケーション情報とが一致したとき、該コンテンツ識別情報に対応するコンテンツデータを、アプリケーションサーバーから取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷サービスを提供するWebサーバーと画像形成装置とから構成される印刷システム、印刷中継サーバー、印刷中継サーバーを制御する制御方法、およびそのプログラム。
【背景技術】
【0002】
従来技術として、クライアントからサーバーに対して印刷指示を送信し、印刷指示を受信したサーバーが印刷対象のコンテンツを印刷データに変換する技術がある。
【0003】
特許文献1には、印刷指示と、印刷を制御するための情報とをサーバーがクライアントから受信し、印刷を制御するための情報を基にサーバーが印刷データを生成する方法が開示されている。特許文献1のサーバーは、印刷データを生成するサービスをクライアントに提供している。
【0004】
上述のように、サーバーがクライアントにサービスを提供する形態は従来から存在している。近年、注目を集めているクラウドコンピューティングもサーバーがクライアントにサービスを提供する形態である。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【0005】
中でも注目すべきベンダーはGoogle(登録商標)である。Google(登録商標)は、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発する等の積極的な動きを見せている。例えば、Google(登録商標)は画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、画像形成装置がGoogle(登録商標)が用意したクラウドコンピューティング環境とデータ通信を行うためのインターフェースを公開した。このインターフェースを画像形成装置に実装すれば、特許文献1と同じくクライアントにプリンタドライバをインストールする必要がないと言うメリットが生まれる。さらに、このインターフェースを画像形成装置に実装すれば、画像形成装置とサーバーとがインターネットを介して接続されていたとしても、クライアントから画像形成装置を指定し印刷させることが可能になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−196054号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、クラウドコンピューティング環境のベンダーサーバーが印刷データを生成するため、下記のような課題がある。第1の課題として、ベンダーサーバー上のアプリケーションの印刷データ生成品質が低い場合、印刷データを利用する印刷システム全体の印刷品質も低下してしまうという課題がある。第2の課題として、画像形成装置はベンダーサーバーが提供する印刷データを印刷できない場合がある。このような場合、中継サーバーがベンダーサーバーから印刷データを取得後、再度、画像形成装置が印刷できる形式に変換する必要がある。データ変換を複数回行うことで、印刷品質が損なわれる可能性があることは自明である。第3の課題として、ベンダーサーバーが印刷データを生成する際に、印刷データサイズが非常に大きくなる場合がある。この場合、中継サーバーがネットワークを介して印刷データを取得するための時間が増大する場合する。これは、フォントデータやベクターデータで構成されたアプリケーション上のデータを印刷データに展開することに起因する。第4の課題として、ベンダーサーバーから受信した印刷に関する情報を基に、ベンダーサーバーからコンテンツを取得できない場合がある。この課題が発生する理由として、ベンダーサーバーが公開しているコンテンツを取得するためのインターフェースの仕組みが、ベンダーサーバーから受信した印刷に関する情報を基に取得できる仕組みではないからである。無論、ベンダーサーバーから受信した印刷に情報がコンテンツを取得するために必要な情報を十分有していればよいが、受信できる情報はベンダーサーバーの都合によって決まるため、必ずコンテンツを取得できる保証はない。
【0008】
本願発明は、上述した課題の内、少なくとも1つの課題を解決するために、印刷サービスを提供するベンダーサーバーから印刷データに変換する前のコンテンツを取得する仕組みを提案することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施系に係る印刷中継サーバーは、コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバー、前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバー、および印刷データを基に印刷を行う印刷ユニットを有する画像形成装置と通信可能な印刷中継サーバーであって、印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報であって、コンテンツデータ、および印刷データの両方のデータに共通して付与されている共通情報を含む通知情報を取得する通知情報取得手段と、取得された共通情報が付与されたコンテンツデータを識別するためのコンテンツ識別情報を、前記アプリケーションサーバーから取得する識別情報取得手段と、取得されたコンテンツ識別情報を基に取得した印刷データのロケーション情報と、取得された通知情報に含まれる印刷データのロケーション情報とが一致したとき、該コンテンツ識別情報に対応するコンテンツデータを、前記アプリケーションサーバーから取得するデータ取得手段と、取得されたコンテンツデータを基に印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段により生成された印刷データを前記画像形成装置へ送信することを特徴とする。
【発明の効果】
【0010】
印刷サービスを提供するベンダーサーバーから印刷データに変換する前のコンテンツを取得する仕組みを提案した。本提案により、印刷データへの変換品質を向上させることができる。
【図面の簡単な説明】
【0011】
【図1】コンテンツ印刷システム1000の構成を示す図。
【図2】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のハードウェア構成を示す。
【図3】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成を示す図。
【図4】印刷制御ソフトウェア301が実現する機能を示す図。
【図5】中継仮想プリンタ管理サービス部302が実現する機能を示す図。
【図6】中継仮想プリンタ303が実現する機能を示す図。
【図7】印刷サービス304が実現する機能を示す図。
【図8】(a)印刷サービスの情報を示す図。(b)印刷サービス情報管理部505が格納する情報を示す図。(c)プリンタ情報格納部702が格納する情報を示す図。
【図9】(a)登録UIを示す図。(b)印刷設定画面を示す図。
【図10】(a)XML形式で表現されたケーパビリティーズを示す図。(b)XML形式で表現された印刷設定を示す図。(c)XML形式で表現された通知情報Aを示す図。(d)XML形式で表現された通知情報Bを示す図。
【図11】(a)JSON形式で表現されたケーパビリティーズを示す図。(b)JSON形式で表現された印刷設定を示す図。(c)JSON形式で表現された通知情報Aを示す図。(d)JSON形式で表現された通知情報Bを示す図。
【図12】印刷ボタン1201が押されていることを示す図。
【図13】印刷サービス304に中継仮想プリンタ303を登録する処理を示すシーケンス図。
【図14】Webアプリケーション303で印刷指示後、画像形成装置が印刷するまでの処理フローを示すシーケンス図。
【図15】仮想プリンタ303がコンテンツをWebアプリケーション306から取得する処理フローを示すシーケンス図。
【図16】印刷サービス304が保持する印刷データと、Webアプリケーション306の保持するコンテンツデータのサイズを比較し、小さい方のデータを優先的に取得するフローを示すシーケンス図。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0013】
本発明はインターフェースを提供しているベンダーの環境と、画像形成装置とを中継する印刷中継サーバー装置に関する発明である。本発明は印刷中継サーバーが印刷サービスを提供するベンダーの環境から印刷データへ変換する前のコンテンツを取得することで、より高い変換品質を提供することを第1の目的とする。しかしながら、印刷サービスを提供するベンダーの仕組みによっては、印刷データを含む印刷をするために必要な情報を基に、コンテンツを取得するための仕組みが公開されていない場合もある。この場合、印刷をするために必要な情報を印刷中継サーバーが受信しても、印刷中継サーバーは、印刷サービスを提供するベンダーサーバーからコンテンツを取得することができない。そこで、本願発明では、印刷をするために必要な情報を基にしてコンテンツを取得するためのインターフェースが公開されていなくとも、限られた情報を基にしてベンダーサーバーからコンテンツを取得する仕組みを提供することを第2の目的とする。
【0014】
コンテンツとは、ユーザーがベンダーの環境やユーザーのローカルコンピュータにインストールされたアプリケーションを使用して作成、編集したデータのことである。代表的なコンテンツとして、ワープロドキュメント、表計算ドキュメント、プレゼンテーションドキュメントが挙げられる。以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【実施例1】
【0015】
始めに、実施例1におけるコンテンツ印刷システム1000の構成について説明する。図1は、コンテンツ印刷システム1000の構成を示す図である。コンテンツシステム1000は、クライアントコンピュータ104、画像形成装置101を含む。2つの装置はユーザー環境に配置された装置であり、ネットワーク100を介して互いに接続されており、ネットワーク100はインターネット110に接続されている。また、コンテンツ印刷システム1000は、Webアプリケーションサーバー群105、印刷サーバー群103を含む。2つのサーバー群は、同じベンダーから提供されたサーバー群である場合もある。また、2つのサーバー群はネットワーク100を介して互いに接続されており、ネットワーク100はインターネット110に接続されている。インターネット110を介することで各装置は通信可能となる。
【0016】
なお、実施例1において2つのサーバー群はネットワーク100を介して接続されているが、インターネット110を介して接続されていても良い。また、コンテンツ印刷システム1000は、印刷中継サーバー102を含む。印刷中継サーバー102はネットワーク100に接続されており、ネットワーク100はインターネット110に接続されている。コンテンツ印刷システム1000を構成する各装置、および各サーバー群は、インターネット110を介して接続可能であり、互いにデータ通信することができる。なお、各装置は1台のみであるが複数台あっても良い。また、各サーバー群は複数台で構成されているが1台であっても良い。本実施例では、台数に依らず、印刷中継サーバーは単数で呼称し、印刷サーバー群、およびWebアプリケーションサーバー群は複数で呼称する。
【0017】
Webアプリケーションサーバーは、コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存する。印刷サーバーは、アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する。画像形成装置は、印刷データを基に印刷を行う印刷ユニットを有する。印刷中継サーバーは、送信先へ提供される印刷データを印刷サーバー、またはアプリケーションサーバーから取得する。
【0018】
次に、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のハードウェア構成について説明する。図2は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のハードウェア構成を示す図である。201は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群である。202は、CPU(Central Processing Unit)であり、各種プログラムを実行し、様々な機能を実現するユニットである。203は、ROM(Read Only Memory)であり、各種プログラムを記憶するユニットである。204は、RAM(Random Access Memory)であり、CPU202は、ROM203に記憶されているプログラムをRAM204にロードしプログラムを実行する。また、RAM204は、CPU202の一時的な作業記憶領域としても利用されるユニットである。Input/Outputインターフェース205は、各装置、および各サーバー群に接続されているディスプレイ(不図示)にデータを送信する他、ポインティングデバイス(不図示)からデータを受信するインターフェースユニットである。NIC(Network Interface Card)206は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群をネットワーク100に接続するためのユニットである。以上説明してきたユニットは、バス207を介してデータの送受信を行うことが可能である。また、画像形成装置101は、印刷ユニット(不図示)を搭載しており、印刷ユニットは、バス207を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを記録媒体に印刷することが可能なユニットである。
【0019】
次に、コンテンツ印刷システム1000を構成する各装置、および各サーバー群の機能について説明する。図3は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成を示している。図3に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバー群のROM203に記憶されており、CPU202がRAM204にプログラムをロードし実行することで、これらの機能は実現される。
【0020】
これより、各装置、および各サーバー群が有する機能について説明する。ここで説明される機能は、次の2つの系に分類される。1つ目の系に分類される機能が、画像形成装置101を印刷中継サーバー102に登録し、印刷中継サーバー102内に中継仮想プリンタ303を実現し、印刷サービス304に中継仮想プリンタ303を登録する登録系に分類される機能である。2つ目の系に分類される機能が、Webアプリケーションサーバー群105で生成されたコンテンツデータの印刷指示を印刷サーバー群103に送信し、印刷サーバー群103から送信される印刷通知を基に印刷データを画像形成装置に印刷させる印刷系に分類される機能である。なお、印刷サーバー群103から送信される印刷通知情報を基に印刷データを画像形成装置101に印刷させる場合、印刷サーバー群103は、仲介役である印刷中継サーバー102を介して画像形成装置101に印刷通知を送信し印刷させる。
【0021】
始めに、登録系に分類される機能について説明する。画像形成装置101が有する登録系に分類される機能について説明する。画像形成装置101は、印刷制御ソフトウェア301を有する。印刷制御ソフトウェア301は、図4に示す各機能を実現する。表示部401は、各種画面を表示する。印刷サービス情報保持部402は、印刷サービスの情報を有している。図8(a)は、印刷サービスの情報を示す。図8(a)には、複数の印刷サービスの情報が示されているが、実施例1における印刷サービス304は、PrintServiceAに相当する。表示部301は、印刷サービス304に対し画像形成装置101の登録を行う処理をユーザーから指示された場合に、図8(a)の情報を基に、図9(a)に示すような印刷サービスへの登録UIを生成し表示する。ユーザーは、図9(a)に示す画面において、画像形成装置101を登録したい印刷サービスを901から選択する。
【0022】
実施例1の場合、印刷サービスは印刷サービス304の1つのみのため、ユーザーはPrintServiceA以外選択できない。ユーザーは、選択した印刷サービスに対するユーザーID、およびパスワードを902、および903に入力する。さらに、ユーザーはチェックボックス904で印刷品質向上機能の有効化を選択する。印刷品質向上機能を有効化した場合、後述する印刷系に分類される機能において、印刷の品質、速度における品質向上機能を利用することができる。なお、本実施例においてはユーザーが印刷品質向上機能の有効化を選択できるが、常に印刷品質向上機能を有効化してもよい。この場合、904の項目は表示する必要はない。
【0023】
続いてユーザーは登録ボタン904を押す。登録部403は、ユーザーが登録ボタンを押したことに応じて、登録情報を発行する。実施例1においては、印刷サービスは印刷サービス303のみであるが、複数の印刷サービスが選択できる場合、各印刷サービスに対して、ユーザーID、パスワード、印刷品質向上機能の有効化を別々に設定できる。
【0024】
また、登録部403は、発行した登録情報を、後述する中継仮想プリンタ302が有する要求受信部501へ送信する。その他、説明しなかった機能については後述する。
【0025】
ここで登録情報について説明する。登録情報には、印刷サービスネームが含まれている。印刷サービスネームとは、ユーザーが選択した印刷サービスを特定するための情報であり、印刷サーバー群103の印刷サービス304を特定するための情報である。また、登録情報には、ユーザーID、パスワードが含まれている。ユーザーID、およびパスワードは、印刷サービス304、およびWebアプリケーションサーバー群105を利用するために必要な情報であり、このような情報をユーザー情報と呼ぶ。なお、Webアプリケーションサーバー群105、および印刷サーバー群103を提供するベンダーは同じであることを想定しているため、ユーザーが両方のサーバー群が提供するサービスを利用する場合は、ユーザーは同じユーザー情報で両方のサービスを受けられる。また、登録情報には、印刷品質向上機能の有効化、無効化を示す印刷品質向上機能情報が含まれている。印刷品質向上機能情報は、後述する印刷系に分類される機能において、印刷品質向上機能の有効化、無効化を切り替えるために必要な情報である。また、印刷品質向上機能を無効化にしていた場合においても、印刷後に印刷品質向上機能を有効化して印刷させることも可能である。実施例1において、ユーザーは事前にWebアプリケーションサーバー群105にユーザー情報を登録している。
【0026】
また、登録情報には、画像形成装置101に割り当てられた固有の識別情報であるRPID(Real Printer ID)が含まれる。画像形成装置101を含む各画像形成装置(不図示)には、夫々固有の識別情報が割り当てられており、この識別情報により各画像形成装置は特定される。実施例1では、RPIDを特定することで画像形成装置の配置場所を特定できる。また、登録情報には、画像形成装置101の機種情報であるPrinterKindが含まれている。機種情報は、同一機種に同一の機種情報が割り当てられる。なお、2つの画像形成装置が同一機種とは、同一の通信モジュールB‘を搭載していることを指す。なお、通信モジュールB’、および後述する通信モジュールA、通信モジュールA‘、通信モジュールBの詳細については別途詳細に説明する。また、登録情報には、画像形成装置101のプリンタネームが含まれている。プリンタネームとは、画像形成装置101に割り当てられた名前であり、画像形成装置101を呼称するときに用いるものである。なお、プリンタネームは識別情報と異なり、各画像形成装置のプリンタネームが同一である場合もある。また、登録情報にはケーパビリティーズが含まれている。ケーパビリティーズとは、例えば、画像形成装置101が両面印刷可能であるか否か、およびカラー印刷可能であるか否か、および出力可能ペーパサイズ等の情報を含む。ケーパビリティーズは画像形成装置101の印刷機能である。また、ケーパビリティーズは、図10(a)に示すようにXML形式で要求受信部501へ送信される。なお、図10(a)の<Item>が、画像形成装置101の能力を示しており、画像形成装置102は、面付け印刷可能であり、かつカラー出力可能であり、かつB5サイズ、およびA4サイズ、およびA3サイズの紙を出力可能であることが示されている。
【0027】
次に、印刷中継サーバー102が有する登録系に分類される機能について説明する。印刷中継サーバー102は、中継仮想プリンタ管理サービス部302を有する。中継仮想プリンタ管理サービス部302は、図5に示す各機能を実現する。要求受信部501は、登録情報を受信する。制御部502は、要求受信部501が受信した登録情報を取得し、その登録情報を解釈する。そして、制御部502は、次の2つの処理を行うように仮想プリンタ生成部503、および印刷サービスプリンタ生成部504へ指示を出す。1つ目の処理は、仮想プリンタ生成部503が中継仮想プリンタ303の機能を実現する処理である。2つ目の処理は、印刷サービスプリンタ生成部504が印刷サービス304に中継仮想プリンタ303の情報を登録させる処理である。
【0028】
1つ目の処理、即ち、仮想プリンタ生成部503が中継仮想プリンタ303の機能を実現する処理について説明する。中継仮想プリンタ303は、図6に示す各機能を実現するが詳細については後述する。仮想プリンタ生成部503は、制御部702から送信されたPrinterKindを基に、インターフェース情報管理部506に格納されている通信モジュールB602を特定し取得する。また、仮想プリンタ生成部503は、印刷サービスネームを基に、インターフェース情報管理部506に格納されている通信モジュールA‘601を特定し取得する。通信モジュールBは画像形成装置101と通信を行うためのモジュールであり、上述したように同一機種は同じ通信モジュールBを有するので、PrinterKindから通信モジュールBを特定することが可能である。なお、通信モジュールBは、印刷制御ソフトウェア301が有する通信モジュールB’410と通信を行う。通信モジュールA‘601は、印刷サーバー群103と通信を行うためのモジュールであり、印刷サービス304が有する通信モジュールA707と通信を行うことが可能なモジュールである。次に、仮想プリンタ生成部503は、印刷品質向上機能情報を参照する。印刷品質向上機能が有効化されていた場合は、以下の処理を行う。仮想プリンタ生成部は、インターフェース情報管理部506に格納されている通信モジュールC603を特定し取得する。通信モジュールC603はWebアプリケーション306が有する通信モジュールC’(不図示)と通信を行うことが可能なモジュールである。
【0029】
2つ以上の通信モジュールを取得した仮想プリンタ生成部503は、これら2つ以上の通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、中継仮想プリンタ303に相当する。
【0030】
仮想プリンタ生成部503は、中継仮想プリンタ303を実現した後に、実現した中継仮想プリンタ303を識別するための識別情報であるVPID(Virtual Printer ID)を発行する。発行されたVPIDは、制御部502へ送られる。なお、中継仮想プリンタは、画像形成装置101から登録情報が送られるごとに実現されるものであり、実現された夫々の中継仮想プリンタには固有の識別子であるVPIDが割り当てられる。実施例1では、VPIDを特定することで中継仮想プリンタの配置場所を特定できる。次に、2つ目の処理、即ち、印刷サービスプリンタ生成部504が、印刷サービス304に中継仮想プリンタ303の情報を登録する処理について説明する。制御部502は、ユーザー情報を印刷サービスプリンタ生成部504へ送信する。印刷サービスプリンタ生成部504は、受信したユーザー情報を基に印刷サーバー群103の認証を行う。認証が成功した場合、印刷サービスプリンタ生成部504は、印刷サービス304にプリンタネーム、ケーパビリティーズ、VPIDを送信する。印刷サービスプリンタ生成部504は、その応答としてSPID(Service Printer ID)を受信する。SPIDについては後述する。制御部502は、仮想プリンタ生成部503、および印刷サービスプリンタ生成部504から、VPID、およびSPIDを取得する。VPID、およびSPIDを取得した制御部502は、印刷サービス情報管理部505にそれらの情報を格納するよう指示を出す。印刷サービス情報管理部505は、VPID、およびSPID、および登録情報を図8(b)に示すように関連付けて格納する。なお、VPIDが1301、印刷サービスネームが1302、RPIDが1303、PrinterKindが1304、SPIDが1305、プリンタネームが1306、ケーパビリティーズが1307に相当する。
【0031】
次に、印刷サーバー群103の有する登録系に分類される機能について説明する。印刷サーバー群103は、印刷サービス304を有する。印刷サーバー群103は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーで印刷サービス304の機能を実現している。なお、印刷サーバー群103は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対して印刷サービス304の機能を実現させている。図3に示す印刷サービス304は、その内の1台を示したものである。
【0032】
印刷サービス304は、図7に示す機能を実現する。プリンタ情報登録部701は、ユーザー情報を印刷サービスプリンタ生成部504から受信する。プリンタ情報登録部701は、Webアプリケーションサーバー群105のWebアプリケーション306が格納しているユーザー情報を読み込み、受信したユーザー情報が存在するか否かを確認する。存在する場合、プリンタ情報登録部701は認証が成功したとみなし、プリンタネーム、ケーパビリティーズ、VPIDを印刷サービスプリンタ生成部504から受信し、プリンタ情報格納部702に受信したVPIDを格納するよう指示を出す。また、プリンタ情報登録部701は、VPIDに対応するSPIDを発行し、プリンタ情報格納部702、および印刷サービスプリンタ生成部504に発行したSPIDを送信する。プリンタ情報格納部702は、プリンタネーム、ケーパビリティーズ、VPID、SPID、ユーザーID、パスワードを関連付けて格納する。図8(c)は、プリンタ情報格納部702が格納している情報を示す図であり、SPIDが1401、プリンタネームが1402、ケーパビリティーズが1403、VPIDが1404、ユーザーIDが1405、パスワードが1406に相当する。その他、説明しなかった機能については後述する。以上、説明してきた機能が、画像形成装置101を印刷中継サーバー102に登録し、印刷中継サーバー102内に中継仮想プリンタ303を実現し、印刷サービス304に中継仮想プリンタ303を登録する登録系に分類される機能である。
【0033】
次に、印刷系に分類される機能について説明する。始めに、クライアント104が有する機能について説明する。クライアント104は、Webブラウザ305を有する。Webブラウザ305は、Webアプリケーションサーバー群105に保存されているコンテンツの印刷指示を、Webアプリケーションサーバー群105に送信する。また、Webブラウザ305は、Webアプリケーションサーバー群105から印刷サーバー群103へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバー群103へアクセスする。また、Webブラウザ305は、そのWebブラウザ305を利用しているユーザーが印刷可能な画像形成装置の一覧リストを、アクセスした印刷サーバー群103から取得し一覧リストを表示する。また、Webブラウザ305は、その一覧リストからユーザーが選択した画像形成装置に対応する印刷設定画面を、印刷サーバー群103から取得しその印刷設定画面を表示する。図9(b)は、Webブラウザ305が表示するユーザーが選択した画像形成装置に対応する印刷設定画面を示す。また、Webブラウザ305は、その印刷設定画面でユーザーが設定した印刷設定値を印刷サーバー群103へ送信する。以上が、クライアント104が有するWebブラウザ305の説明である。
【0034】
次に、Webアプリケーションサーバー群105が有する機能について説明する。Webアプリケーションサーバー群105は、Webアプリケーション306を有する。Webアプリケーションサーバー群105は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーでWebアプリケーション306の機能を実現している。なお、Webアプリケーションサーバー群105は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対してWebアプリケーション306の機能を実現させている。
【0035】
Webアプリケーション306は、文書作成に関するWebサービスを提供する。ユーザーは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアント104がWebアプリケーション306を利用する場合は、クライアント104にそのアプリケーションをインストールする必要はなく、Webブラウザ305を有していれば良い。Webアプリケーション306は、その資料を作成するための画面情報を、Webブラウザ305に送信する。なお、Webアプリケーション306は、Webブラウザ305を介してユーザーが入力したユーザーID、およびパスワードを含むユーザー情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したWebブラウザ305は、その画面情報を基に文書を作成するための作成画面を表示し、ユーザーはその作成画面を用いて会議で配布する資料を作成する。Webアプリケーション306は、ユーザーがその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツを作成し、Webアプリケーションサーバー群105の記憶装置に作成したコンテンツに対応するコンテンツデータを保存させる。その際、ユーザーはコンテンツのタイトルを入力する。また、作成されたコンテンツは複数保存されることになり、夫々のコンテンツのタイトルが重複する場合もある。このような場合、夫々のコンテンツに対応するコンテンツデータ毎に、コンテンツを一意に識別できるようにコンテンツ識別情報が割り当てられ、かつコンテンツデータはさまざまな形式で保存される。たとえば、一般的なワープロドキュメント、表計算ドキュメント、プレゼンテーションドキュメント、PDF(Protable Document Format)形式、またはHTML(Hyper Text Markup Language)形式である。なお、Webアプリケーション306は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【0036】
文書作成サービスを利用し作成したコンテンツを印刷したいユーザーは、その作成画面に表示されている印刷ボタンを押す。図12は、印刷ボタン1201が押されていることを示す図である。なお、ユーザーが作成したコンテンツは1202である。Webアプリケーション306は、その印刷ボタンが押されたという情報を受信し、印刷サーバー群103へのアクセス命令、即ち、リダイレクトの指示をWebブラウザ305へ送信する。なお、リダイレクト指示には、上述したWebブラウザ305を利用しているユーザーに対応する一覧リストを取得するための要求、およびユーザーが印刷を指示したコンテンツを識別するためのコンテンツ識別情報、およびユーザー情報が含まれている。また、Webアプリケーション306は、印刷サーバー群103から印刷データの取得要求があった場合に、印刷データを識別するための印刷データ識別情報を印刷サーバー群103へ送信する。本実施例において、印刷データはPDF形式のコンテンツである。よって、印刷データ識別情報は、PDF形式のコンテンツに関する識別情報である。
【0037】
上述の通り、Webアプリケーション306は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。Webアプリケーション306が提供するこれらのサービスによって生成されるコンテンツは、Webアプリケーション306のインターフェースにより第三者が提供するプログラムやサービスから利用することができる。Webアプリケーション306はコンテンツを様々な形式で保持しているため、上記インターフェースでも様々な形式でコンテンツを取得できる。以上が、Webアプリケーションサーバー群105が有するWebアプリケーション306の説明である。
【0038】
次に、印刷サーバー群103の有する印刷系に分類される機能について説明する。図7に示すように、印刷サーバー群103が有する印刷サービス304は、プリンタ情報提示部703を有する。プリンタ情報提示部703は、Webブラウザ305からの一覧リスト取得要求を受けたことに応じて、一覧リストをWebブラウザ305に送信する。なお、プリンタ情報提示部703は、ユーザー情報を基にプリンタ情報格納部702が格納しているSPID、プリンタネームを特定する。そして、プリンタ情報提示部703は、SPID、プリンタネームを基に、そのユーザーが利用可能な画像形成装置の一覧リストを生成する。また、プリンタ情報提示部703は、一覧リストからユーザーが選択した画像形成装置のSPIDを受信する。プリンタ情報提示部703は、受信したSPIDを基にプリンタ情報格納部702が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をWebブラウザ305へ送信する。プリンタ情報格納部702は、図8(c)に示すケーパビリティーズの情報から図9(b)に示す印刷設定画面を生成する。図9(b)に示すように、プリンタ情報格納部702は、ケーパビリティーズに記載された印刷設定しか選択できないような印刷設定画面を生成する。印刷指示受付部704は、印刷設定画面を介して設定された印刷設定と、SPIDをWebブラウザ305から受信する。また、印刷指示受付部704は、Webブラウザ305がリダイレクトの指示に基づいてアクセスしてきた際に、ユーザーが印刷を指示した印刷データを識別するための印刷データ識別情報を受信する。
【0039】
印刷データ情報取得部705は、印刷指示受付部704から印刷データ識別情報を受信する。また、印刷データ情報取得部705は、印刷指示受付部704からユーザーが入力した印刷設定、およびユーザーが選択した画像形成装置に対応するSPIDを受信する。制御部706は、印刷データ情報取得部705から印刷データ識別情報、印刷設定、SPIDを取得する。印刷設定は、図10の(b)のようにXML形式で記載されている。図10の(b)によれば、ユーザーは両面設定、およびモノクロ設定、および用紙サイズA4を設定したことが分かる。通信モジュールA707は、通信モジュールA‘601を有する装置と通信を行うことが可能であり、2者間のデータ通信のインターフェースである。通信モジュールA’601は、通信モジュールA707と通信を行う。この理由については、通信モジュールA707の有する機能を説明した後に説明する。
【0040】
通信モジュールA707は印刷データ識別情報格納部708、印刷設定情報格納部709、印刷ジョブ通知部710を有する。印刷データ識別情報格納部708は、制御部706から印刷データ識別情報を受信し格納する。印刷設定情報格納部709は、制御部706から印刷設定を受信し格納する。なお、印刷データ識別情報格納部708、および印刷設定情報格納部709は、制御部706からの格納指示を受信し格納処理を行う。制御部706は、印刷データ識別情報格納部708、および印刷設定情報格納部709から格納が終了した旨を受信したことに応じて、印刷ジョブ通知部710に通知情報を送るように指示をする。印刷ジョブ通知部710は、制御部706から通知情報を送るように指示されたことに応じて、SPIDを制御部706から取得し、プリンタ情報格納部702が格納している情報を基にVPIDを特定する。なお、SPIDに対応する送信先の情報、即ち、実施例1におけるVPIDをターゲットと呼ぶ。ユーザーは、SPIDを選択することでVPIDを指定している。また、印刷ジョブ通知部710は、印刷データの格納場所、および印刷設定の格納場所を制御部706から取得し、通知情報Aを生成し、登録されている画像形成装置に通知情報Aを送信する。
【0041】
印刷ジョブ通知部710は第1の送信手段に相当し、印刷ジョブ通知部710が送信する情報がデータに関する情報に相当する。なお、実施例1におけるデータに関する情報は通知情報Aではあるが、通信仕様に応じてその他の情報、データ等も含む場合もある。これは、後述する通知情報Bに関しても同様のことが言える。なお、実施例1における登録されている画像形成装置とは、VPIDに対応する中継仮想プリンタを指す。通知情報Aは、図10(c)に示すようなXMLで表されており、1701に印刷データの格納場所が、1702に印刷設定の格納場所が記載されている。なお、通知情報は、印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報であって、コンテンツデータ、および印刷データの両方のデータに共通して付与されている共通情報を含む。共通情報については後述するが、図10(c)では<title>の項目に記載されている“Doc1”が共通情報に相当する。なお、通知情報Bは図11(d)に示すようなJSON形式となる。
【0042】
ここで、なぜ、通信モジュールA‘以外の通信モジュールが、通信モジュールAと通信できないかを説明する。それは、通信モジュールA‘以外の通信モジュールは、印刷ジョブ通知部710が送信するXMLで記載された通知情報Aを解釈することができないからである。また、通信モジュールA‘以外の通信モジュールが、通信モジュールAと通信できない他の例として、次のような例もある。例えば、通信モジュールAが印刷ジョブ通知部710を有しておらず、別の方法で印刷データ、および印刷設定を通信モジュールA’に取得させる場合、通知情報Aを取得する通信モジュールA‘では取得することができない。なぜなら、通知情報Aを取得する通信モジュールA’は、通信モジュールAからの通知情報Aを待つ状態となっているため、通知情報Aが通知されない限り印刷データ、および印刷設定を取得することができない。この通信モジュールAと通信できる通信モジュールA‘には、通信モジュールAに対し取得するデータが存在するか否かを問い合わせる構成が要求される。このように通信モジュールA’が、通信モジュールAのデータ通信の規格に対応していないことにより、通信モジュールAと、通信モジュールA’が通信できない場合もある。なお、通信モジュールAと、通信モジュールA‘が通信を行えるような仕組みを、印刷サーバー群103を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバー群103を管理しているベンダーに深く依存する。
【0043】
印刷サーバー群103を管理しているベンダーは、印刷サーバー群103に通信モジュールAを実装し、通信モジュールAと通信を行うための通信モジュールA’を公開する。事実、近年このような体系が確立されつつあり、印刷サーバー群103を管理しているベンダーは、印刷サーバー群103とデバイスがデータ通信を行うための独自仕様を公開している。画像形成装置101が印刷サーバー群103と通信するために画像形成装置101のデバイスベンダーは、画像形成装置101に通信モジュールA‘を搭載しなくてはならない。そして、仮に、印刷サーバー群103を管理しているベンダーが通信モジュールAの構成を変更したとする。即ち、印刷サーバー群103を管理しているベンダーが仕様の変更を行ったと仮定する。すると、デバイスベンダーは仕様の変更に伴い、画像形成装置101の通信モジュールA’を変更しなくてはいけない。この作業は非常に負荷が高い。なぜなら、画像形成装置は様々な顧客環境に配置されており、再び印刷サーバー群103と画像形成装置が通信を行うようにするためには、その様々な顧客環境へサービスマンが出向き、通信モジュールA‘を変更しなくてはいけないからである。また、サービスマンを利用せずに通信モジュールA’を配布する解決方法も考えられるが、複数の画像形成装置に配布せねばならず、通信帯域に負荷をかけることになる。しかし、次に説明する印刷中継サーバー102の印刷系に分類される機能を用いることでこの課題は解決する。なお、印刷サーバー群103を管理しているベンダーが公開するデータ通信の仕様は、第1の仕様に相当する。通信モジュールA、および通信モジュールA‘のインターフェースは、第1の仕様に準じて作成されるインターフェースである。
【0044】
次に、印刷中継サーバー102の印刷系に分類される機能について説明する。図6に示すように、中継仮想プリンタ303は、通信モジュールA‘601、および通信モジュールB602を有する。通信モジュールA’601の印刷通知受付部604は、印刷ジョブ通知部710から送信される通知情報Aを受信する。印刷サービス304には、画像形成装置101のRPIDではなく中継仮想プリンタ303が登録されているため、通知情報Aは印刷通知受付部604に送信される。そして、この通信モジュールA‘は通信モジュールAと対をなすモジュールであるため、印刷通知受付部604は、通知情報Aを解釈することが可能である。印刷通知受付部604が第1の取得手段に相当する。印刷通知受付部604は、通知情報Aに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷設定取得部605、印刷データ取得部606に通知する。印刷設定取得部605は、通知された印刷設定の格納場所を基に、印刷設定格納部709から印刷設定を取得する。印刷データ取得部606は、通知された印刷データの格納場所を基に、印刷データ識別情報格納部708から印刷データを取得する。
【0045】
印刷データ取得部606は、印刷データ格納部607に対して印刷データ取得部606が取得した印刷データを格納するように指示を出す。印刷設定取得部605は、印刷設定格納部608に対して印刷設定取得部605が取得した印刷設定を格納するように指示を出す。印刷データを格納した印刷データ格納部607は、格納場所を印刷ジョブ通知部609に通知する。印刷設定を格納した印刷設定格納部608は、格納場所を印刷ジョブ通知部609に通知する。印刷ジョブ通知部609は、印刷データ格納部607、および印刷設定格納部608から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。通知情報Bは図10(d)に示すようなXML形式で表現される。1703に印刷データの格納場所が記載され、1704に印刷設定の格納場所が記載されている。印刷ジョブ通知部609は、通知情報Bを印刷制御ソフトウェア301へ送信する。印刷ジョブ通知部609が第2の送信手段に相当する。このようにして、前者の通信モジュールである通信モジュールA‘601は、後者の通信モジュールである通信モジュールB602に印刷データ、および印刷設定を渡し、モジュール間通信を実現する。
【0046】
通信モジュールBに対応する通信モジュールB’は、画像形成装置101に実装されている。上述の如く、画像形成装置101は、印刷サービス304から印刷データを取得する構成である。これにより、通信モジュールAの変更に伴い通信モジュールA‘が変更になったとしても、印刷中継サーバー102の通信モジュールA’を変更することで画像形成装置101に通知情報を送ることができる。即ち、印刷サーバー群103を管理しているベンダーが印刷サーバー群103と画像形成装置101がデータ通信を行うための独自仕様を変更したとしても、デバイスベンダーは画像形成装置101の通信モジュールを変更する必要はない。デバイスベンダーは、印刷中継システムの仮想プリンタ303を変更することで、様々なユーザー環境に配置された画像形成装置101と印刷サーバー群103とが通信させることが可能になる。仮想プリンタ303の変更方法として、仮想プリンタ303の通信モジュールA‘を変更する方法の他、現存する仮想プリンタ303を破棄し、新たに仮想プリンタ303を生成する方法が考えられる。
【0047】
コンテンツ取得部610はWebアプリケーション306からコンテンツを取得する。コンテンツ取得部610は、Webアプリケーション306が提供するインターフェースに従って、文書一覧や、コンテンツを取得することができる。コンテンツ取得部610は、取得したコンテンツをコンテンツ格納部611に格納する。また、印刷データ生成部612は、コンテンツ格納部611に格納されたコンテンツを印刷データに変換し、印刷データ格納部607に印刷データを格納する。なお、印刷データを格納する際、または生成された際、印刷データには印刷データの生成日時、および印刷データのタイトルが付与されて格納される。印刷データのタイトルはコンテンツデータのタイトルと同一になるように付与される。よって、タイトルはコンテンツデータ、および印刷データの両方のデータに共通して付与されている共通情報である。
【0048】
通信モジュールCに対応する通信モジュールC‘は、Webアプリケーション306に実装されている(不図示)。印刷中継サーバー102は、通信モジュールA’601の印刷通知受付部604で受け付けた情報をもとに、通信モジュールC603のコンテンツ取得部610が要求する内容を決定する。これにより、印刷中継サーバー102は印刷サービス304によって印刷データに変換される前のコンテンツをWebアプリケーション306から取得することができる。
【0049】
コンテンツ特定部613は、コンテンツ取得部610がコンテンツを取得する際に、印刷データの元となったコンテンツを特定するために呼び出される。コンテンツ特定部613は、印刷データのタイトルや所在情報から印刷データの元となったコンテンツを特定する。特定するための処理フローに関しては、図15で詳述する。
【0050】
次に、画像形成装置101の印刷系に分類される機能について説明する。図4に示すように、印刷制御ソフトウェア301は、通信モジュールB‘410を有している。通信モジュールB’410の印刷通知受付部404は、印刷ジョブ通知部609から送信されてくる通知情報Bを受信する。印刷通知受付部404が第2の取得手段に相当する。そして、この通信モジュールB‘は通信モジュールBと対を成すモジュールであるため、印刷通知受付部404は、通知情報Bを解釈することが可能である。なお、中継仮想プリンタ303と画像形成装置101がデータ通信を行うためにデバイスベンダーが規定した仕様は、第2の仕様に相当し、デバイスベンダーがハンドリング可能な仕様である。通信モジュールB、および通信モジュールB’のインターフェースは、第2の仕様に準じて作成されるインターフェースである。
【0051】
印刷通知受付部404は、通知情報Bに記載されている印刷データの格納場所を確認し、夫々の情報を印刷設定取得部405、印刷データ取得部406に通知する。印刷設定取得部405は、通知された印刷設定の格納場所を基に、印刷設定格納部607から印刷設定を取得する。印刷データ取得部406は、通知された印刷データの格納場所を基に、印刷データ格納部608から印刷データを取得する。取得された印刷設定、および印刷データは、刷通知受付部403を介してジョブ管理部407へ送信される。ジョブ管理部407は、印刷データと印刷設定情報を取得し、印刷の実行を印刷実行部408へ指示する。指示を受けた印刷実行部408は、印刷設定と印刷データを基にラスタイメージを生成し、生成したラスタイメージを印刷するよう印刷ユニットに指示を出す。以上が、Webアプリケーションサーバー群105で生成されたコンテンツの印刷指示を印刷サーバー群103に送信し、印刷サーバー群103から送信される印刷データを画像形成装置に印刷させる印刷系の説明である。
【0052】
次に、画像形成装置101を印刷中継サーバー102に登録し、印刷中継サーバー102内に中継仮想プリンタ303を実現し、印刷サービス304に中継仮想プリンタ303を登録する処理について図13を用いて説明する。始めに、S1301において、ユーザーは画像形成装置101のUIから登録したい印刷サービスを選択し、ユーザーID、パスワードを入力する。S1302において、画像形成装置101の印刷制御ソフトウェア301は、中継仮想プリンタ管理サービス302にプリンタの登録を要求する。この際、印刷制御ソフトウェア301は上述の登録情報を中継仮想プリンタ管理サービス302に送信する。S1303において、中継仮想プリンタ管理サービス302は、登録情報を基に中継仮想プリンタ303を実現する。S1304において、中継仮想プリンタ303は作成成功の応答としてVPIDを中継仮想プリンタ管理サービス302へ送信する。S1305において、中継仮想プリンタ管理サービス302は、印刷サービス304にユーザーID、およびパスワードを送信し認証を受ける。印刷サービス304による認証が成功した場合、S1306において、印刷サービス304は中継仮想プリンタ管理サービス302に認証が成功した旨を送信する。S1307において、中継仮想プリンタ管理サービス302は、印刷サービス304がユーザーに提供するプリンタ(サービスプリンタ)としてVPIDを登録するように要求する。S1308において、印刷サービス304は、VPIDをサービスプリンタとして登録したことに応じて、SPIDを発行し中継仮想プリンタ管理サービス302に送信する。
【0053】
S1309において、中継仮想プリンタ管理サービス302は、SPIDを格納するよう印刷サービス情報管理部505に指示を出し、設定が完了した旨を中継仮想プリンタ303に送信する。S1310において、中継仮想プリンタ303は、SPIDを基に印刷サービス304の通信モジュールAに接続し、通知情報Aが送信されるのを待つ。S1311において、中継仮想プリンタ管理サービス302は、プリンタの登録が完了した旨を印刷制御ソフトウェア301に通知する。S1312において、印刷制御ソフトウェア301は、画像形成装置101のUIに画像形成装置の登録が完了した旨を表示するよう指示を出す。S1313において、印刷制御ソフトウェア301は、VPIDを基に中継仮想プリンタ303に接続し、通知情報Bが送信されるのを待つ。以上が、登録処理の説明となる。
【0054】
次に、Webアプリケーションサーバー群105で生成されたコンテンツデータの印刷指示を印刷サーバー群103に送信し、印刷サーバー群103から送信される印刷データを画像形成装置101に印刷させる処理について図14を用いて説明する。始めに、S1401において、Webブラウザ305は、ユーザーが編集を行いたいコンテンツデータの表示を、Webアプリケーション306に要求する。S1402において、Webアプリケーション306は、要求されたコンテンツに対応するコンテンツデータの画面をWebブラウザ305に送信する。S1403において、Webブラウザ305は、ユーザーがコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス304に登録されている画像形成装置(サービスプリンタ)の一覧画面を要求する。S1404において、印刷サービス304は、Webブラウザ305を利用しているユーザーに対応するサービスプリンタの一覧画面を、Webブラウザ305に送信する。S1405において、Webブラウザ305は、ユーザーが一覧画面から画像形成装置を選択したことに応じて、選択された画像形成装置に対応する印刷設定画面を要求する。S1406において、印刷サービス304は、印刷設定画面をWebブラウザ305に送信する。S1407において、Webブラウザ305は、ユーザーが印刷設定画面を介して入力した印刷設定を印刷サービス304に送信する。S1408において、印刷サービス304は、ユーザーが印刷を指示した印刷データの識別情報をWebアプリケーション305から取得する。また、印刷サービス304は、印刷データの識別情報と、印刷設定とを組み合わせジョブとする。S1409において、印刷サービス304は、中継仮想プリンタ303にジョブが生成されたことを通知する。即ち、中継仮想プリンタ303は、通知情報取得を行う。
【0055】
次に、仮想プリンタ303は、印刷サービス304からコンテンツを取得する。本実施例では、コンテンツを取得し、中継仮想プリンタ303がコンテンツを印刷データに変換することで印刷品質の向上やデータの取得時間の短縮を実現している。コンテンツデータの取得フローについて別図15を利用して説明する。
【0056】
S1501において、仮想プリンタ303はコンテンツリスト取得要求を行う。コンテンツのタイトルで検索することにより、印刷データに変換される前の印刷対象のコンテンツを絞り込むことができる。コンテンツリスト取得要求は、仮想プリンタ303がS1409で取得した印刷データの通知情報に含まれるタイトル情報、即ち、図10(c)で示す“title“の項目に記載された情報を用いて要求する。上述した通り、タイトルは印刷データ、およびコンテンツに共通して利用される名称であって、印刷データ、およびコンテンツに共通して付与れる共通情報である。本実施例ではタイトルを用いてコンテンツの特定を行うが、”””title“に限らず、2つのデータに共通して用いられる情報であればどのような情報で特定を行っても良い。このように、印刷データの通知情報からコンテンツを特定できるキー情報を共通情報と呼称する。なお、Webアプリケーション306は、共通情報からコンテンツリストを取得するためのインターフェースを実装している。
【0057】
S1502において、Webアプリケーション306は仮想プリンタ303にコンテンツリスト応答を行う。Webアプリケーション306上で同じタイトルのコンテンツが許されていない場合は、S1502で印刷対象のコンテンツを特定できる。しかし、本実施例ではタイトル情報から一意に印刷対象のコンテンツを特定できない場合を想定している。また、本実施例においては、取得されたタイトル情報が“a”であることを想定しており、それに対応するコンテンツリストとして、“a.xls”、“a.doc”、“a.txt”の3つに対応するコンテンツ情報を含むコンテンツリストを取得している。コンテンツリストには、各コンテンツを一意に識別するためのコンテンツ識別情報が少なくとも1つ含まれており、コンテンツリストはコンテンツ識別情報の一覧であるとも言えなくもない。“a.xls”、“a.doc”、および“a.txt”は、夫々異なるコンテンツ識別情報が対応しており、コンテンツ識別情報が重複することはない。ゆえに、タイトルが同じであっても、コンテンツ識別情報から所望のコンテンツを特定することは可能である。なお、コンテンツリストの取得は、コンテンツ識別情報取得とほぼ同じ行為であることは自明である。
【0058】
S1503において、仮想プリンタ303はS1502で取得したコンテンツリストを基に、コンテンツリストに含まれる各コンテンツに対応したコンテンツPDFデータのURL(Uniform Resource Locator)を取得する。コンテンツPDFデータと、印刷データは実質同じものであるが、コンテンツリストから特定する印刷データをコンテンツPDFデータと称する。仮想プリンタ303は、コンテンツリスト内のコンテンツ情報に含まれるコンテンツ識別情報を基に、そのコンテンツ識別情報に対応するコンテンツPDFデータのURLを取得することができる。なお、コンテンツPDFデータのURLを取得するためのインターフェースは、コンテンツ識別情報を基にコンテンツPDFデータのURLを取得することが可能なインターフェースであり、Webアプリケーション306に実装されている。S1504で、Webアプリケーション306はコンテンツPDFデータを取得するためのURLを応答として受ける。なお、URLはロケーション情報に相当し、ロケーション情報はURL、URI(Uniform Resource Identifier)等を含んでおり、データの配置場所を特定するための情報である。
【0059】
S1505において、仮想プリンタ303は、S1504で取得したコンテンツPDFのURLと、通知情報に記載されている印刷データのURLとが一致した場合、そのコンテンツ識別情報に対応するコンテンツデータのURLを取得するためのインターフェースを呼び出す。S1504で取得したURLが印刷データのURLと一致しなかった場合、S1503に処理が戻る。通知情報に記載れている印刷データのURLは、図10の(c)の“data Url”に記載されたURLである。なお、コンテンツデータのURLを取得するためのインターフェースは、コンテンツ識別情報を基にコンテンツデータのURLを取得することが可能なインターフェースであり、Webアプリケーション306に実装されている。また、S1505の処理は、コンテンツPDFのURLと、印刷データのURLとが等しくなるまで、または取得した全てのコンテンツPDFのURLは印刷データのURLに等しくないことがわかるまで繰り返される。印刷データのURLが全てのコンテンツPDFのURLと一致しなかった場合、S1505で処理は終了する。2つのURLが一致した場合、仮想プリンタ303は、そのコンテンツPDFのURLに対応するコンテンツ識別情報を用いて、コンテンツデータのURLを取得する処理へ移行する。2つのURLが一致なかった場合、仮想プリンタ303は、通知情報に含まれる印刷データのURLを基に印刷サーバー群103から印刷データを取得する。
【0060】
S1506において、Webアプリケーション306は、S1505で特定したコンテンツ識別情報を基にコンテンツデータの取得を要求した仮想プリンタ303に対し、要求されたコンテンツデータのURLを応答する。S1507において、仮想プリンタ303は、コンテンツデータを取得するためのインターフェースを呼び出し、コンテンツ識別情報に対応するコンテンツデータを取得する。呼び出されたインターフェースを用いることで、仮想プリンタ303はWebアプリケーション306からコンテンツデータの取得が可能となる。なお、コンテンツを取得するためのインターフェースは、コンテンツ識別情報を基にコンテンツを取得することが可能なインターフェースであり、Webアプリケーション306に実装されている。
【0061】
S1508において、Webアプリケーション306は、S1507で要求されたコンテンツデータを仮想プリンタ303に送信する。S1509において、仮想プリンタ303は、S1508で取得したコンテンツデータを印刷データに変換し、印刷データを生成する。なお、コンテンツデータを生成し、生成されたコンテンツデータを画像形成装置101へ送信する場合、印刷サーバー群103から印刷データの提供を受けることなく送信する。つまり、この場合、印刷中継サーバー102は印刷サーバー群103からの通知情報に従い印刷データを取得することはない。以上が印刷元文書の取得を行うための処理の説明である。
【0062】
なお、本実施例において本フローはユーザーが印刷品質向上機能の有効化をあらかじめ選択していた場合に実行される。印刷品質向上機能が有効化されていない場合は、中継仮想プリンタ303はS1409で受信したジョブに従って印刷データを印刷サービス304から取得する。以降の処理は、図14のS1412以降の処理である。S1412において、中継仮想プリンタ303は、印刷サービス304に印刷設定の取得を要求する。S1413において、中継仮想プリンタ303は、印刷サービス304から印刷設定を取得する。
【0063】
S1414において、中継仮想プリンタ303は、印刷制御ソフトウェア301にジョブが生成されたことを通知する。S1415において、印刷制御ソフトウェア301は、中継仮想プリンタ303に印刷データの取得を要求する。S1416において、印刷制御ソフトウェア301は、中継仮想プリンタ303から送信された印刷データを取得する。S1417において、印刷制御ソフトウェア301は、中継仮想プリンタ303に印刷設定の取得を要求する。S1418において、印刷制御ソフトウェア301は、中継仮想プリンタ303から印刷設定を取得する。S1419において、印刷制御ソフトウェア301は、取得した印刷設定と印刷データを基にラスタイメージを描画し、画像形成装置101にラスタイメージを印刷させる。
【実施例2】
【0064】
実施例2では、Webサービスが提供する印刷データ、またはコンテンツを仮想プリンタ303が取得し、より高速に印刷処理を実行する方法を説明する。実施例1における仮想プリンタ303は、Webアプリケーション306からコンテンツを取得し、取得したコンテンツを印刷データへ変換することでサイズの大きい印刷データの取得に長時間を要すことを回避している。しかし、より厳密に述べると、印刷データ、およびコンテンツデータのサイズが同一、もしくは2つのデータのサイズはほとんど変わらない場合がある。そのような場合、仮想プリンタ303はコンテンツを印刷データへ変換するのに時間を要するため、印刷サービスのインターフェースを利用し印刷データを取得するほうが印刷完了までの時間が短い場合が考えられる。そのため、実施例2では、印刷サービス304の印刷データ、またはWebアプリケーション306のコンテンツを取得する前に、2つのデータのサイズを確認し小さいほうのサイズのデータを取得する実施例を示す。
【0065】
実施例2の処理フローについて図16を用いて説明する。S1601からS1606までの処理は、S1501からS1506の処理と同一であるため説明は省略する。
【0066】
S1607において、仮想プリンタ303はコンテンツ識別情報を基にコンテンツデータのヘッダーの取得要求を行う。本実施例におけるヘッダーとはHTTPプロトコルのヘッダーのことである。ヘッダーを参照することで、取得しようとしているコンテンツデータのサイズを事前に確認することができる。なお、コンテンツデータのサイズを取得するためのインターフェースは、コンテンツ識別情報を基にコンテンツを取得することが可能なインターフェースであり、Webアプリケーション306に実装されている。
【0067】
S1608において、Webアプリケーション306は仮想プリンタ303にコンテンツデータのヘッダーを送信する。S1609において、仮想プリンタ303は印刷サービス304に印刷データのヘッダーの取得要求を行う。ヘッダーを参照することで、取得しようとしている印刷データのサイズを事前に確認することができる。なお、印刷データのサイズを取得するためのインターフェースは、印刷データのURLを基にサイズを取得することが可能なインターフェースであり、Webアプリケーション306に実装されている。
【0068】
S1610において、印刷サービス304は仮想プリンタ303に印刷データのヘッダーを送信する。ここで、仮想プリンタ303はコンテンツデータのサイズと、印刷データのサイズを比較する。コンテンツデータのサイズが印刷データのサイズよりも大きい、もしくは同等の場合はS1611へ移行し、コンテンツデータのサイズが印刷データのサイズ未満の場合はS1612へ処理を分岐させる。なお、2つのデータのサイズが同等の場合S1612へ移行するよう処理しても良い。
【0069】
S1611において、仮想プリンタ303は印刷データのURLを基に、印刷サービス304から印刷データの取得を行う。S1612において、印刷サービス304は仮想プリンタ303に印刷データを送信する。S1613において、仮想プリンタ303はコンテンツデータのURLを基に、Webアプリケーション306からコンテンツデータの取得を行う。S1614において、Webアプリケーション306は仮想プリンタ303にコンテンツを送信する。S1615において、仮想プリンタ303はS1614で取得したコンテンツを印刷データへ変換する。
【0070】
以上説明したように、実施例2ではあらかじめWebアプリケーション306と印刷サービス304のどちらからデータを取得すればよいかをヘッダーを参照することで確認している。印刷を完了するまでに効率の良い取得方法を選択することにより、仮想プリンタ303はサイズが小さいデータを取得することができるので、印刷完了までの時間を短縮することができる。
【0071】
[その他の実施例]
実施例1の図15の処理フローは、印刷品質向上機能が有効化されていた場合に実行されるが、印刷サービスごとに常に印刷品質向上機能を有効化してもよい。たとえば、印刷サービスがコンテンツを印刷データへ変換する品質が著しく低い場合は、常に有効化する。
【0072】
実施例1の図15の処理フローは、印刷品質向上機能が有効化されていた場合に実行されるが、画像形成装置102の能力に従って、有効化、無効化を切り替えてもよい。画像形成装置の能力によっては、Webアプリケーション306から取得できる印刷データを印刷できない場合がある。この場合、印刷データをさらに画像形成装置が印刷できる形式に変換すると、二重の変換となり、印刷品質が低下することは自明である。二重の変換を避けるため、画像形成措置がWebアプリケーション306により提供される印刷データを印刷できない場合は、印刷中継サーバー102がコンテンツを取得して、画像形成装置が印刷できる形式に変換する。
【0073】
実施例1の図15の処理フローは、印刷品質向上機能が有効化されていた場合に実行されるが、常に印刷データだけでなく、コンテンツも取得しておいてもよい。上記により、印刷サービスがコンテンツを印刷データへ変換する品質が著しく低く、ユーザーが印刷物に満足できなかった場合、印刷品質向上機能を有効化して再印刷させることができる。
【符号の説明】
【0074】
304 印刷サービス
306 Webアプリケーション
105 印刷中継サーバー
601 第一の取得手段
602 第二の取得手段
613 コンテンツ特定手段

【特許請求の範囲】
【請求項1】
コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバー、前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバー、および印刷データを基に印刷を行う印刷ユニットを有する画像形成装置と通信可能な印刷中継サーバーであって、
印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報であって、コンテンツデータ、および印刷データの両方のデータに共通して付与されている共通情報を含む通知情報を取得する通知情報取得手段と、
取得された共通情報が付与されたコンテンツデータを識別するためのコンテンツ識別情報を、前記アプリケーションサーバーから取得する識別情報取得手段と、
取得されたコンテンツ識別情報を基に取得した印刷データのロケーション情報と、取得された通知情報に含まれる印刷データのロケーション情報とが一致したとき、該コンテンツ識別情報に対応するコンテンツデータを、前記アプリケーションサーバーから取得するデータ取得手段と、
取得されたコンテンツデータを基に印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段により生成された印刷データを前記画像形成装置へ送信する送信手段と、を有する印刷中継サーバー。
【請求項2】
前記送信手段は、前記アプリケーションサーバーからコンテンツデータが取得された場合、前記印刷サーバーから印刷データの提供を受けることなく、前記生成手段により生成された印刷データを前記画像形成装置へ送信することを特徴とする請求項1に記載の印刷中継サーバー。
【請求項3】
前記データ取得手段は、取得されたコンテンツ識別情報を基に取得した印刷データのロケーション情報と、前記通知情報に含まれる印刷データのロケーション情報とが一致しなかったとき、前記通知情報に含まれる印刷データのロケーション情報を基に前記印刷サーバーから印刷データを取得し、
前記送信手段は、取得された印刷データを前記画像形成装置へ送信することを特徴とする請求項1または2に記載の印刷中継サーバー。
【請求項4】
前記共通情報が付与されているコンテンツデータは前記アプリケーションサーバーに複数保存されており、
前記識別情報取得手段は、前記共通情報が付与されている複数のコンテンツデータ毎に対応したコンテンツ識別情報を取得し、
前記データ取得手段は、取得された複数のコンテンツ識別情報を基に取得した印刷データのロケーション情報の内、何れのロケーション情報が、取得された通知情報に含まれる印刷データのロケーション情報と一致するかを確認し、一致したロケーション情報に対応するコンテンツ識別情報に対応するコンテンツデータを、前記アプリケーションサーバーから取得することを特徴とする請求項1乃至3の何れか1項に記載の印刷中継サーバー。
【請求項5】
前記データ取得手段は、取得されたコンテンツ識別情報を基にコンテンツデータのサイズを取得し、取得された通知情報を基に印刷データのサイズを取得し、コンテンツデータのサイズが印刷データのサイズ未満の場合、前記アプリケーションサーバーからコンテンツデータを取得し、それ以外の場合、前記印刷サーバーから印刷データを取得することを特徴とする請求項1乃至4の何れか1項に記載の印刷中継サーバー。
【請求項6】
前記コンテンツ識別情報はコンテンツデータ毎に一意に割り当てられる情報であり、前記共通情報とはコンテンツデータ、および印刷データの両方のデータに付与されているタイトルであることを特徴とする請求項1乃至5の何れか1項に記載の印刷中継サーバー。
【請求項7】
コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバー、前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバー、および印刷データを基に印刷を行う画像形成装置と通信可能な印刷中継サーバーであって、
印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報を取得する通知情報取得手段と、
コンテンツデータを識別するためのコンテンツ識別情報を基に取得した印刷データのロケーション情報と、取得された通知情報に含まれる印刷データのロケーション情報とが一致したとき、該コンテンツ識別情報に対応するコンテンツデータを、前記アプリケーションサーバーから取得するデータ取得手段と、
取得されたコンテンツデータを基に印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段により生成された印刷データを前記画像形成装置へ送信する送信手段と、を有する印刷中継サーバー。
【請求項8】
コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバー、前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバー、および印刷データを基に印刷を行う印刷ユニットを有する画像形成装置と通信可能な印刷中継サーバーであって、
印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報を受信する受信手段と、
前記受信手段により受信された通知情報を基に前記印刷サーバーから印刷データの提供を受け、提供された印刷データを前記画像形成装置へ送信する方法、および前記アプリケーションサーバーが保存するコンテンツデータを取得し、取得されたコンテンツデータを基に印刷データを生成し、生成された印刷データを前記画像形成装置へ送信する方法の内、何れか1つの方法により前記画像形成装置へ印刷データを送信する送信手段を有する印刷中継サーバー。
【請求項9】
コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバーと、
前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバーと、
送信先へ提供される印刷データを取得する印刷中継サーバーと、
印刷データを基に印刷を行う画像形成装置と、を含み
前記アプリケーションサーバーは、印刷データのロケーション情報に対応するコンテンツデータのロケーション情報を基に印刷データを提供する提供手段を更に有することを特徴とする印刷システム。
【請求項10】
コンテンツデータを作成するためのWebサービスをクライアントに提供し、提供されたWebサービスを利用することでクライアントが作成したコンテンツデータを保存するアプリケーションサーバー、前記アプリケーションサーバーが保存するコンテンツデータを基に生成された印刷データを送信先へ提供する印刷サーバー、および印刷データを基に印刷を行う印刷ユニットを有する画像形成装置と通信可能な印刷中継サーバーを制御する制御方法であって、
通知情報取得手段は、印刷データを送信先へ提供するために前記印刷サーバーが送信する通知情報であって、コンテンツデータ、および印刷データの両方のデータに共通して付与されている共通情報を含む通知情報を取得し、
識別情報取得手段は、取得された共通情報が付与されたコンテンツデータを識別するためのコンテンツ識別情報を、前記アプリケーションサーバーから取得し、
データ取得手段は、取得されたコンテンツ識別情報を基に取得した印刷データのロケーション情報と、取得された通知情報に含まれる印刷データのロケーション情報とが一致したとき、該コンテンツ識別情報に対応するコンテンツデータを、前記アプリケーションサーバーから取得し、
印刷データ生成手段は、取得されたコンテンツデータを基に印刷データを生成し、
送信手段は、前記印刷データ生成手段により生成された印刷データを前記画像形成装置へ送信することを特徴とする印刷中継サーバーを制御する制御方法。
【請求項11】
請求項10に記載の制御方法をサーバー装置に実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−226700(P2012−226700A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−96235(P2011−96235)
【出願日】平成23年4月22日(2011.4.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】