説明

情報処理装置、印刷制御方法及びコンピュータプログラム

【課題】外部装置から取得した印刷データを画像形成装置に中継する情報処理装置であって、情報処理装置に新たな機能が追加された場合に、既存のデータ通信の仕様を変更することなく、この機能に応じたサービスを提供する情報処理装置を提供する。
【解決手段】印刷サーバ140が生成した印刷データを画像形成装置に中継する印刷中継サーバ130を設ける。印刷中継サーバ130が、対応する画像形成装置に対して印刷データを印刷する指示を行う中継仮想プリンタと、印刷サーバ140により提供されていない特定の印刷サービスを実現するための機能を有する機能的中継仮想プリンタを備える。機能的中継仮想プリンタは、クライアントからの印刷要求に応じた印刷データを生成した印刷サーバ130から印刷データを取得し、中継仮想プリンタを介して、上記特定の印刷サービスを実現する処理を実行する画像形成装置に対し印刷データの印刷を指示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、印刷制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
クライアントからサーバに対して印刷指示を送信し、印刷指示を受信したサーバが印刷対象のコンテンツを印刷データに変換する印刷システムが提案されている。近年、注目されているクラウドコンピューティングも、サーバがクライアントにサービスを提供するシステム形態の一つである。
【0003】
クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【0004】
クラウドコンピューティング環境上でサービスを提供するベンダーの中で注目すべきベンダーはGoogle(登録商標)である。Google(登録商標)は、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発している。Google(登録商標)は、画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、Google(登録商標)が用意したクラウドコンピューティング環境とデータ通信を画像形成装置が行うためのインタフェースを公開した。このインタフェースを画像形成装置に実装することで、画像形成装置とサーバがインターネットを介して接続されていたとしても、クライアントから画像形成装置を指定し印刷させることが可能になる。
【0005】
なお、特許文献1は、標準インタフェースの呼び出しを要求するメッセージから、メッセージの送信元のユーザの証明情報を抽出し、証明情報に基づいてユーザの正当性を検証した上で、上記標準インタフェースに応じた処理を実行する通信装置を開示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−278144号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
デバイスベンダーが、クラウドコンピューティングベンダーによって公開されているインタフェースに則り、画像形成装置と連携させたサービスを提供する機会が増えていくと考えられる。従って、デバイスベンダーが、他ベンダーとの差別化のため、提供するサービスに独自の機能を実装したい場合がある。
【0008】
クラウドコンピューティング環境の特性上、クラウドコンピューティング環境に対して提供されるサービスの特徴として、単一の画像形成装置内で完結する機能だけでなく、複数の画像形成装置間での連携が必要な機能が含まれることがある。しかし、クラウドコンピューティングベンダーによって公開されているインタフェースに則り実装された既存のサービスに加え、クラウドコンピューティング環境上に、デバイスベンダー独自の機能を持つ別のサービスを提供する場合、次のような問題が生じる。
【0009】
新たに追加するデバイスベンダー独自の機能を持つサービスが、クラウドコンピューティングベンダーの想定しない独自の機能を提供する場合、その機能に関するクラウドコンピューティング環境のデータ通信の仕様は存在しない。従って、既存のクラウドコンピューティング環境から利用できるようにするためには、クラウドコンピューティング環境のデータ通信の既存の仕様の変更が必要となってしまう。
【0010】
例えば、クラウドコンピューティング環境上に配置され、印刷データを印刷データ生成装置から取得し、ネットワークを介して、上記取得した印刷データの印刷を画像形成装置に指示する情報処理装置に、新たな機能が追加された場合を想定する。図21は、情報処理装置へ新たな機能サービスが追加された場合の問題を説明する図である。ユーザが、印刷データ生成装置に印刷指示を行う。印刷データ生成装置が、この印刷指示に応じた印刷データを、情報処理装置が備えるVP(仮想プリンタ)に送信し、VPが、当該VPに対応するRP(実プリンタ)に対して、印刷データの印刷を指示する。これにより、ユーザは、印刷データ生成装置および情報処理装置を介して、印刷指示に応じた印刷サービスの提供を受けることができる。ここで、図21中に示すように、情報処理装置に、新たな機能サービスが追加されたものとする。この機能サービスは、印刷データ生成装置が提供していない特定の印刷サービスである。従って、ユーザが、情報処理装置に追加された機能サービスを、既存の印刷データ生成装置を経由して利用できるようにするためには、印刷データ生成装置と情報処理装置との間のデータ通信の既存の仕様を変更しなければならなくなる。
【0011】
また、情報処理装置への機能サービスの追加に伴い、追加された機能サービスから個別の画像形成装置への印刷指示の際の通信経路(図21中の点線で示す通信経路)が増加し、個々の画像形成装置に対する通信負荷が増大してしまう。なお、複数の画像形成装置間での連携が必要な機能が追加された場合以外であっても、印刷データ生成装置により提供されていない特定の印刷サービスを実現する機能が情報処理装置に追加された場合には、上述した問題が起こる可能性がある。
【0012】
本発明は、上述した問題のうちの少なくとも一つを解決するためになされたものである。本発明は、外部装置から取得した印刷データを画像形成装置に中継する情報処理装置であって、情報処理装置に新たな機能が追加された場合に、既存のデータ通信の仕様を変更することなく、この機能に応じたサービスを提供する情報処理装置の提供を目的とする。
【課題を解決するための手段】
【0013】
本発明の一実施形態の情報処理装置は、ユーザ装置からの要求に応じて印刷データ生成装置が生成した印刷データを前記印刷データ生成装置から取得して画像形成装置に中継する情報処理装置であって、前記画像形成装置に対応し、対応する画像形成装置に対して、前記印刷データ生成装置が生成した印刷データを印刷する指示を行う第1の印刷制御手段と、前記ユーザ装置からの印刷要求に応じた機能であって、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現するための機能を有する第2の印刷制御手段とを備え、前記第2の印刷制御手段は、前記ユーザ装置からの印刷要求に応じた印刷データを生成した前記印刷データ生成装置から該印刷データを取得する印刷データ取得手段と、前記第1の印刷制御手段を介して、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置に対して、前記取得した印刷データを印刷する指示を行う印刷指示手段とを備える。
【発明の効果】
【0014】
本発明によれば、外部装置から取得した印刷データを画像形成装置に中継する情報処理装置であって、新たな機能が追加された場合に、既存のデータ通信の仕様を変更することなく、この機能に応じたサービスを提供する情報処理装置を提供することができる。
【図面の簡単な説明】
【0015】
【図1】実施例1のシステム構成例を示す図である。
【図2】コンテンツ印刷システムを構成する各装置、各サーバのハードウェア構成例を示す図である。
【図3】印刷制御部の機能ブロック図の例である。
【図4】中継仮想プリンタ管理サービスおよび中継仮想プリンタの機能ブロック図の例である。
【図5】機能的中継仮想プリンタの機能ブロック図の例である。
【図6】印刷サービスの機能ブロック図の例である。
【図7】サービス有効・無効情報、印刷サービス情報、プリンタ情報の例である。
【図8】設定UI及び登録UIの例である。
【図9】ケーパビリティーズ、印刷設定、通知情報A、通知情報Bの例である。
【図10】文書作成サービスの作成画面の例を示す図である。
【図11】中継仮想プリンタの作成処理を説明するシーケンス図である。
【図12】機能的中継仮想プリンタの生成・登録処理を示すシーケンス図である。
【図13】印刷指示を行う処理を示すシーケンス図である。
【図14】印刷指示を行う処理を示すシーケンス図である。
【図15】印刷指示を行う処理を示すシーケンス図である。
【図16】印刷指示を行う処理を示すシーケンス図である。
【図17】登録UIの例である。
【図18】他の実施例における印刷中継サーバの機能ブロック図の例である。
【図19】印刷指示を行う処理を示すシーケンス図である。
【図20】印刷指示を行う処理を示すシーケンス図である。
【図21】情報処理装置に新たな機能サービスを追加する場合の問題を説明する図である。
【発明を実施するための形態】
【0016】
図1は、本発明の実施例1のシステム構成例を示す。実施例1のコンテンツ印刷システム1000は、まとめ印刷機能を実現する。まとめ印刷機能とは、クライアントコンピュータ150による一度の印刷要求があった場合に、複数の画像形成装置に対して印刷データの印刷を指示する機能である。
【0017】
図1(A)に示すコンテンツ印刷システム1000は、クライアントコンピュータ150、画像形成装置110、120を備える。クライアントコンピュータと画像形成装置とは、ユーザ環境に配置された装置であり、ネットワーク100を介して互いに接続されている。ネットワーク100は、インターネット101に接続されている。
【0018】
また、コンテンツ印刷システム1000は、Webアプリケーションサーバ160、印刷サーバ140を含む。Webアプリケーションサーバ160と印刷サーバ140とが、同じベンダーから提供されたサーバであってもよい。
【0019】
また、Webアプリケーションサーバ160と印刷サーバ140とは、ネットワーク100を介して互いに接続されている。なお、Webアプリケーションサーバ160と印刷サーバ140とが、インターネット101を介して接続されていてもよい。また、コンテンツ印刷システム1000は、印刷中継サーバ130を備える。
【0020】
印刷中継サーバ130は、ユーザ装置であるクライアント装置からの要求に応じて印刷サーバ140が生成した印刷データを印刷サーバ140から取得して画像形成装置に中継する情報処理装置である。印刷中継サーバ130はネットワーク100に接続されている。コンテンツ印刷システム1000を構成する各装置、及び各サーバは、インターネット101を介して接続可能であり、互いにデータ通信することができる。なお、各装置は図中で示された数である必要はなく、複数台であってもよい。本実施形態の印刷制御方法は、図1に示すシステムが備える装置の機能によって実現される。また、本実施形態のコンピュータプログラムは、当該印刷制御方法をコンピュータに実行させることを特徴とする。
【0021】
図1(B)は、コンテンツ印刷システムを構成する各装置、各サーバのハードウェア構成例を示す。図1(B)では、画像形成装置110のハードウェア構成を例にとって説明する。CPU(Central Processing Unit )202は、各種プログラムを実行し、画像形成装置110全体を制御する。
【0022】
ROM(Read Only Memory)203は、各種プログラムを記憶するユニットである。RAM(Random Access Memory)204は、CPU202の一時的な作業記憶領域として機能する記憶手段である。CPU202は、ROM203に記憶されているプログラムをRAM204にロードしプログラムを実行する。Input/Outputインタフェース205は、画像形成装置110に接続されているディスプレイ(不図示)にデータを送信する。
【0023】
また、Input/Outputインタフェース205は、ポインティングデバイス(不図示)からデータを受信する。NIC(Network Interface Card)206は、画像形成装置110をネットワーク100に接続する。図1(B)中に示す各処理部は、バス207を介してデータの送受信を行うことが可能である。また、画像形成装置101は、印刷ユニット(不図示)を備える。印刷ユニットは、バス207を介して、各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスターイメージを記録媒体に印刷することが可能なユニットである。
【0024】
図2は、コンテンツ印刷システムを構成する各装置、各サーバの機能ブロック図の例である。図2(A)は、実施例1のコンテンツ印刷システムを構成する各装置、各サーバの機能ブロック図である。図2(A)に示す各装置、各サーバの機能を実現するプログラムは、各装置、及び各サーバのROM203に記憶されている。CPU202が、RAM204にプログラムをロードし実行することで、この機能が実現される。
【0025】
各装置及び各サーバが有する機能について説明する。ここで説明する機能は、次の3つの系に分類される。一つ目の系に分類される機能は、画像形成装置110及び120を印刷中継サーバ130に登録し、印刷中継サーバ130内に中継仮想プリンタ331及び332を実現する、事前登録系に分類される機能である。
【0026】
二つ目の系に分類される機能は、印刷中継サーバ130に機能的中継仮想プリンタ333を実現し、印刷サービス340に中継仮想プリンタ331及び332、並びに機能的中継仮想プリンタ333を登録する本登録系に分類される機能である。機能的中継仮想プリンタ333は、印刷サーバ140により提供されていない特定の印刷サービスを実現するための機能を有する。
【0027】
三つ目の系に分類される機能は、Webアプリケーションサーバ160で生成されたコンテンツの印刷指示を印刷サーバ140に送信し、印刷サーバ140から送信される印刷通知に基づいて、印刷データを画像形成装置に印刷させる印刷系に分類される機能である。
【0028】
印刷サーバ140は、クライアントコンピュータからの要求に応じて印刷データを生成する印刷データ生成装置である。また、印刷サーバ140は、仲介役である印刷中継サーバ130を介して、画像形成装置110乃至120に印刷通知を送信し、印刷データを印刷させる。図中では中継仮想プリンタは331と332の二つしか示されていないが、中継対象となる画像形成装置が複数ある場合は、その分中継仮想プリンタが存在するものとする。同様に、図中では機能的中継仮想プリンタ333は一つしか示されていないが、コンテンツ印刷システム1000の持つ機能が複数ある場合は、その分、機能的中継仮想プリンタが存在する。
【0029】
実施例1では、機能的中継仮想プリンタ333は、まとめ印刷機能を有する。すなわち、機能的中継仮想プリンタ333は、クライアントコンピュータによる一度の印刷要求があった場合に、印刷サーバ140から取得した印刷データの印刷を画像形成装置に対して指示する。
【0030】
まず、一つ目の系である事前登録系の機能について説明する。画像形成装置110及び120を印刷中継サーバ130に登録する方法として、画像形成装置110及び120から登録する方法や、印刷中継サーバ130内での画像形成装置110及び120の設定情報の入力により登録する方法がある。また、印刷中継サーバ130と画像形成装置110及び120が定期的に通信を行うことにより、自動的に印刷中継サーバ130内の登録情報を更新する方法もある。以下、画像形成装置110及び120が、画像形成装置110及び120を印刷中継サーバ130に登録する方法を例にとって説明する。
【0031】
画像形成装置110及び120が有する、事前登録系に分類される機能について説明する。画像形成装置110及び120は、印刷制御部310及び320を有する。
【0032】
図3は、印刷制御部の機能ブロック図の例である。図3(A)は、実施例1における印刷制御部の機能ブロック図である。画像形成装置120及び印刷制御部320も、その構成は画像形成装置110及び印刷制御部310と同様である。従って、以下の説明では、画像形成装置110及び印刷制御部310についてのみ言及する。表示部401は、各種画面を表示する。仮想プリンタ管理サービス情報保持部402は、仮想プリンタ管理サービスの有効/無効を示す情報(以下、サービス有効・無効情報と記述)を有している。
【0033】
図7(A)は、サービス有効/無効情報の例である。図7(A)に示すサービス有効・無効情報は、仮想プリンタ管理サービスが無効であることを示す。表示部401は、中継仮想プリンタ管理サービス330に対して画像形成装置110の登録を行う処理をユーザから指示された場合に、サービス有効/無効情報に基づいて、図8(A)に示す設定UIを生成して表示する。この設定UIは、中継仮想プリンタ管理サービス330に対して画像形成装置110の登録を行うためのUIである。
【0034】
中継仮想プリンタ管理サービス330に対して画像形成装置110の登録を行う場合、ユーザは、図10(A)に示す設定UIが備える有効化ボタン1001を押下する。登録部403は、ユーザが有効化ボタン1002を押下したことに応じて、中継仮想プリンタ管理サービス330への登録情報を発行する。続いて、登録部403は、発行した中継仮想プリンタ管理サービス330への登録情報を、中継仮想プリンタ管理サービス330が有する要求受信部501(図4(A))へ送信する。
【0035】
ここで、登録情報について説明する。登録情報は、印刷サービスネームを含む。印刷サービスネームは、ユーザが選択した印刷サービスを特定するための情報である。すなわち、印刷サービスネームは、印刷サーバ140の印刷サービス340を特定するための情報である。また、登録情報は、画像形成装置110に割り当てられた固有の識別情報であるRPID(Real Printer ID)を含む。画像形成装置には、夫々固有の識別情報が割り当てられており、この識別情報により各画像形成装置は特定される。本実施例では、RPIDを特定することで画像形成装置の配置場所を特定できる。
【0036】
また、登録情報は、画像形成装置110の機種情報であるPrinterKindを含む。同一機種に同一の機種情報が割り当てられる。なお、二つの画像形成装置が同一機種とは、同一の通信モジュールB’を搭載していることを指す。通信モジュールB’、及び後述する通信モジュールA、通信モジュールA’、通信モジュールBの詳細については別途詳細に説明する。
【0037】
また、登録情報は、画像形成装置110のプリンタネームを含む。プリンタネームは、画像形成装置110に割り当てられた名前である。プリンタネームについては、識別情報と異なり、各画像形成装置のプリンタネームが同一である場合もある。
【0038】
また、登録情報は、ケーパビリティーズを含む。ケーパビリティーズは、画像形成装置110の能力を示す情報である。ケーパビリティーズは、例えば、画像形成装置110が両面印刷可能であるか否かを示す情報、カラー印刷可能であるか否かを示す情報、及び出力可能ペーパーサイズ等の情報を含む。
【0039】
図9(A)は、ケーパビリティーズの記述例を示す図である。図9(A)中に示す記述中の<Item>が、画像形成装置110の能力を示している。この例では、画像形成装置110は、面付け印刷可能であり、カラー出力可能であり、B5サイズ、A4サイズ、及びA3サイズの紙を出力可能であることが示される。
【0040】
次に、印刷中継サーバ130が有する事前登録系に分類される機能について説明する。印刷中継サーバ130は、中継仮想プリンタ管理サービス330を有する。
【0041】
図4は、中継仮想プリンタ管理サービス及び中継仮想プリンタの機能ブロック図の例である。図4(A)は、中継仮想プリンタ管理サービスの機能ブロック図である。中継仮想プリンタ管理サービス330が備える要求受信部501は、中継仮想プリンタ管理サービス330への登録情報を受信する。制御部502は、要求受信部501が受信した中継仮想プリンタ管理サービス330への登録情報を取得し、解釈する。そして、制御部502は、中継仮想プリンタ生成部503が中継仮想プリンタ331の機能を実現する処理を行うように、中継仮想プリンタ生成部503に指示を出す。
【0042】
中継仮想プリンタ生成部503が、中継仮想プリンタ331の機能を実現する処理について説明する。中継仮想プリンタ331は、図4(B)に示す各処理部を有するが、詳細については後述する。
【0043】
中継仮想プリンタ生成部503は、制御部502から送信されたPrinterKindに基づいて、インタフェース情報管理部507に格納されている通信モジュールB(660)を特定して取得する。また、中継仮想プリンタ生成部503は、印刷サービスネームに基づいて、インタフェース情報管理部507に格納されている通信モジュールA’(650)を特定して取得する。
【0044】
通信モジュールBは、画像形成装置110と通信を行うためのモジュールである。同一機種は、同じ通信モジュールBを有するので、PrinterKindから通信モジュールBを特定することが可能である。通信モジュールBは、印刷制御部310が有する通信モジュールB’(410)と通信を行う。通信モジュールA’(650)は、印刷サーバ140と通信を行うためのモジュールであり、後述する印刷サービス340が有する通信モジュールA(850)と通信を行うことが可能なモジュールである。この通信モジュールA(850)は、印刷サーバ140が印刷サービスを提供するために公開している通信プロトコルを用いて、通信を行う。すなわち、通信モジュールA’(650)は、この通信プロトコルに対応する。
【0045】
二つ以上の通信モジュールを取得した中継仮想プリンタ生成部503は、これら二つ以上の通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、中継仮想プリンタ331に相当する。中継仮想プリンタ331は、画像形成装置に対応し、対応する画像形成装置に対して、印刷サーバ140が生成した印刷データを印刷する指示を行う第1の印刷制御手段として機能する。
【0046】
中継仮想プリンタ生成部503は、中継仮想プリンタ331を実現した後に、実現した中継仮想プリンタ331を識別するための識別情報であるVPID(Virtual Printer ID)を発行する。中継仮想プリンタ生成部503は、発行したVPIDを制御部502へ送る。なお、中継仮想プリンタ331は、画像形成装置110から登録情報が送られる度に実現される。実現された夫々の中継仮想プリンタには、固有の識別子であるVPIDが割り当てられる。本実施例では、VPIDを特定することで中継仮想プリンタ331を特定できる。
【0047】
続いて、二つ目の系である本登録系の機能について説明する。印刷中継サーバ130に機能的中継仮想プリンタ333を実現し、印刷サービス340に中継仮想プリンタ、機能的中継仮想プリンタ333を登録する方法として、印刷中継サーバ130に対して、印刷サービス340への登録指示を行う方法がある。以下に、印刷中継サーバ130に対して、印刷サービス340への登録指示を行う処理について説明する。
【0048】
はじめに、印刷中継サーバ130が有する本登録系に分類される機能について説明する。印刷中継サーバ130は、中継仮想プリンタ管理サービス330を有する。中継仮想プリンタ管理サービス330は、図4(A)に示す各処理部を備える。
【0049】
表示部508は、印刷サービス340に対して画像形成装置110の登録や機能的中継仮想プリンタ333の持つ機能の有効化を行う処理をユーザから指示された場合に、以下の処理を実行する。すなわち、表示部508は、印刷サービス情報管理部506の登録情報に基づいて、図8(B)に示すような印刷サービスへの登録UIを生成し表示する。
【0050】
ユーザは、図8(B)に示す登録UI上で、印刷サービス340に対するユーザID、及びパスワードを、設定欄1010及び1011に入力する。また、ユーザは、印刷サービス340に登録する画像形成装置を選択し、選択した画像形成装置に対応するチェックボックス(1012、1013、または1014)にチェックする。
【0051】
ユーザが、まとめ印刷機能を有効化したい場合には、ユーザは、チェックボックス1015にチェックし、登録ボタン1016を押下する。表示部508は、ユーザが登録ボタン1016を押下したことに応じて、印刷サービス340への登録情報を、要求受信部501へ送信する。
【0052】
印刷サービス340への登録情報について説明する。この登録情報は、ユーザID、パスワードを含む。ユーザID及びパスワードは、印刷サービス340及びWebアプリケーションサーバ160を利用するために必要な情報である。ユーザID及びパスワードをユーザ情報と呼ぶ。
【0053】
なお、Webアプリケーションサーバ160及び印刷サーバ140を提供するベンダーは同じであることを想定している。従って、ユーザが両方のサーバが提供するサービスを利用する場合は、ユーザは、同じユーザ情報で両方のサービスを受けられる。本実施例においては、ユーザは、事前にWebアプリケーションサーバ160にユーザ情報を登録している。
【0054】
制御部502は、要求受信部501が受信した印刷サービス340への登録情報を取得し、取得した登録情報を解釈する。そして、制御部502は、次の二つの処理を行うように機能的中継仮想プリンタ生成部504及び印刷サービスプリンタ生成部505へ指示を出す。一つ目の処理は、機能的中継仮想プリンタ生成部504が機能的中継仮想プリンタ333の機能を実現する処理である。二つ目の処理は、印刷サービスプリンタ生成部505が印刷サービス340に中継仮想プリンタ331及び機能的中継仮想プリンタ333の情報を登録させる処理である。
【0055】
一つ目の処理、即ち、機能的中継仮想プリンタ生成部504が機能的中継仮想プリンタ333の機能を実現する処理について説明する。機能的中継仮想プリンタ333は、クライアントコンピュータからの印刷要求に応じた機能であって、印刷サーバ140により提供されていない特定の印刷サービスを実現するための機能を有する第2の印刷制御手段として機能する。
【0056】
機能的中継仮想プリンタ333は、図5(A)に示す各処理部を備えるが、詳細については後述する。機能的中継仮想プリンタ生成部504は、印刷サービスネームに基づいて、インタフェース情報管理部507に格納されている通信モジュールAn(760)及び通信モジュールAm(765)を特定して取得する。また、機能的中継仮想プリンタ生成部504は、印刷サービスネームに基づいて、インタフェース情報管理部507に格納されている通信モジュールA’(750)を特定して取得する。
【0057】
通信モジュールAn(760)は、中継仮想プリンタ331と通信を行うためのモジュールである。通信モジュールAm(765)は、中継仮想プリンタ332と通信を行うためのモジュールである。通信モジュールA’(750)は、印刷サーバ140と通信を行うためのモジュールであり、後述する印刷サービス340が有する通信モジュールA(850)と通信を行うことが可能なモジュールである。すなわち、通信モジュールA’(750)は、印刷サーバ140が印刷サービスを提供するために公開している通信プロトコルに対応する。
【0058】
二つ以上の通信モジュールを取得した機能的中継仮想プリンタ生成部504は、これら二つ以上の通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、機能的中継仮想プリンタ333に相当する。
【0059】
機能的中継仮想プリンタ生成部504は、機能的中継仮想プリンタ333を実現した後に、実現した機能的中継仮想プリンタ333を識別するための識別情報であるVPID(Virtual Printer ID)を発行する。機能的中継仮想プリンタ333には、その機能に応じた固有の識別子であるVPIDが割り当てられる。発行されたVPIDは、制御部502へ送られる。本実施例では、VPIDを特定することで機能的中継仮想プリンタ333を特定できる。なお、機能的中継仮想プリンタ333から直接画像形成装置110へ印刷指示のための通信を行うことはない。
【0060】
本実施例では、まとめ印刷機能による出力先として、画像形成装置110及び120を想定しているため、機能的中継仮想プリンタ333が通信モジュールAn(760)及び通信モジュールAm(765)を取得している。しかしながら、機能的中継仮想プリンタ333の機能に依存するため、機能的中継仮想プリンタ333の構成は、本実施例の構成に限定されるものではない。
【0061】
続いて、二つ目の処理、即ち、印刷サービスプリンタ生成部505が、印刷サービス340に中継仮想プリンタ331及び機能的中継仮想プリンタ333の情報を登録する処理について説明する。本実施例において、印刷サービスプリンタ生成部505は、機能的中継仮想プリンタ333を生成して印刷サーバ140に登録する登録手段として機能する。制御部502は、ユーザ情報を印刷サービスプリンタ生成部505へ送信する。印刷サービスプリンタ生成部505は、受信したユーザ情報に基づいて、印刷サーバ140の認証を行う。認証が成功した場合、印刷サービスプリンタ生成部505は、印刷サービス340にプリンタネーム、ケーパビリティーズ、VPIDを送信する。印刷サービスプリンタ生成部505は、その応答としてSPID(Service Printer ID)を受信する。SPIDについては後述する。
【0062】
制御部502は、中継仮想プリンタ生成部503、機能的中継仮想プリンタ生成部504からVPIDを取得する。また、制御部502は、印刷サービスプリンタ生成部505からSPIDを取得する。VPID及びSPIDを取得した制御部502は、印刷サービス情報管理部506に、それらの情報を印刷サービス情報の一部として格納するように指示する。
【0063】
図7(B)は、印刷サービス情報管理部が格納する印刷サービス情報の例である。印刷サービス情報管理部506は、VPID、SPID、及び登録情報を、図7(B)に示すように関連付け、これを印刷サービス情報として格納する。
【0064】
VPIDが911、印刷サービスネームが912、RPIDが913、PrinterKindが914、SPIDが915、プリンタネームが916、ケーパビリティーズが917に相当する。
【0065】
次に、印刷サーバ140の有する本登録系に分類される機能について説明する。印刷サーバ140は、印刷サービス340を有する。印刷サーバ140は、複数台のサーバを仮想化して1台のサーバとし、その1台のサーバで印刷サービス340の機能を実現する。なお、印刷サーバ140は、その1台のサーバ内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対して印刷サービス340の機能を実現させている。図2(A)に示す印刷サービス340は、その内の1台である。
【0066】
図6は、印刷サービスの機能ブロック図の例である。印刷サービス340が備えるプリンタ情報登録部801は、印刷サービスプリンタ生成部505からユーザ情報を受信する。プリンタ情報登録部801は、印刷サービスプリンタ生成部505から受信したユーザ情報に対応するユーザが存在するか否かを確認する。存在する場合、プリンタ情報登録部801は、認証が成功したと判断し、プリンタネーム、ケーパビリティーズ、VPIDを印刷サービスプリンタ生成部505から受信する。そして、プリンタ情報登録部801は、プリンタ情報格納部802に対して、受信したVPIDを格納するように指示する。
【0067】
また、プリンタ情報登録部801は、VPIDに対応するSPIDを発行し、プリンタ情報格納部802、及び印刷サービスプリンタ生成部505に発行したSPIDを送信する。プリンタ情報格納部802は、プリンタネーム、ケーパビリティーズ、VPID、SPID、ユーザID、パスワードを関連付けて格納する。
【0068】
図7(C)は、プリンタ情報格納部が格納するプリンタ情報の例である。プリンタ情報は、SPID921、プリンタネーム922、ケーパビリティーズ923、VPID924、ユーザID925、パスワード926を含む。
【0069】
以上が、印刷サービス340に機能的中継仮想プリンタ333を実現し、中継仮想プリンタ331及び332、並びに機能的中継仮想プリンタ333を登録する本登録系に分類される機能の説明である。
【0070】
次に、印刷系に分類される機能について説明する。始めに、クライアントコンピュータ150が有する機能について説明する。図2(A)に示すように、クライアントコンピュータ150は、Webブラウザ350を有する。Webブラウザ350は、Webアプリケーションサーバ160に保存されているコンテンツの印刷指示を、Webアプリケーションサーバ160に送信する。
【0071】
また、Webブラウザ350は、Webアプリケーションサーバ160から印刷サーバ140へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバ140へアクセスする。また、Webブラウザ350は、そのWebブラウザ350を利用しているユーザが印刷可能な画像形成装置の一覧リストを、アクセスした印刷サーバ140から取得し一覧リストを表示する。また、Webブラウザ350は、その一覧リストからユーザが選択した画像形成装置に対応する印刷設定画面を、印刷サーバ140から取得しその印刷設定画面を表示する。
【0072】
図8(D)は、Webブラウザが表示する印刷設定画面(設定UI)を示す。この印刷設定画面は、ユーザが選択した画像形成装置に対応する。また、Webブラウザ350は、その印刷設定画面でユーザが設定した印刷設定値を印刷サーバ140へ送信する。以上が、クライアントコンピュータ150が有するWebブラウザ350の説明である。
【0073】
次に、Webアプリケーションサーバ160が有する機能について説明する。図2(A)に示すように、Webアプリケーションサーバ160は、Webアプリケーション360を有する。Webアプリケーションサーバ160は、複数台のサーバを仮想化して1台のサーバとし、その1台のサーバでWebアプリケーション360の機能を実現している。なお、Webアプリケーションサーバ160は、その1台のサーバ内に複数のヴァーチャルマシンを起動し、夫々の仮想マシンに対して、Webアプリケーション360の機能を実現させている。
【0074】
Webアプリケーション360は、文書作成サービスを提供する。ユーザは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアントコンピュータ150がWebアプリケーション360を利用する場合は、クライアントコンピュータ150にそのアプリケーションをインストールする必要はなく、Webブラウザ350を有していれば良い。Webアプリケーション360は、その資料を作成するための画面情報を、Webブラウザ350に送信する。
【0075】
Webアプリケーション360は、Webブラウザ350を介してユーザが入力したユーザID、及びパスワードを含むユーザ情報に基づいて認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したWebブラウザ350は、その画面情報に基づいて文書を作成するための作成画面を表示し、ユーザはその作成画面を用いて会議で配布する資料を作成する。Webアプリケーション360は、ユーザがその作成画面を用いて作成した資料の情報を受信し、受信した情報に基づいてコンテンツを作成し、Webアプリケーションサーバ160の記憶装置に作成したコンテンツを記憶させる。なお、Webアプリケーション360は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【0076】
図10は、文書作成サービスの作成画面の例を示す図である。文書作成サービスを利用して作成したコンテンツ1202を印刷したいユーザは、文書作成サービスの作成画面に表示されている印刷ボタン1201を押す。Webアプリケーション360は、印刷ボタン1201が押されたという情報を受信し、印刷サーバ140へのアクセス命令、即ち、リダイレクトの指示をWebブラウザ350へ送信する。
【0077】
リダイレクト指示は、Webブラウザ350を利用しているユーザに対応する一覧リストを取得するための要求(一覧リスト取得要求)、ユーザが印刷を指示したコンテンツを識別するためのコンテンツ識別情報、及びユーザ情報を含む。また、Webアプリケーション360は、印刷サーバ140からコンテンツの取得要求があった場合に、そのコンテンツの取得要求と共に送られたコンテンツ識別情報に基づいて、対象のコンテンツを取得して印刷サーバ140へ送信する。以上が、Webアプリケーションサーバ160が有するWebアプリケーション360の説明である。
【0078】
次に、印刷サーバ140の有する印刷系に分類される機能について説明する。図6は、印刷サーバが備える印刷サービスの機能ブロック図の例である。印刷サービス340は、プリンタ情報提示部803を備える。プリンタ情報提示部803は、Webブラウザ350から一覧リスト取得要求を受ける。プリンタ情報提示部803は、一覧リスト取得要求を受けたことに応じて、一覧リストをWebブラウザ350に送信する。なお、プリンタ情報提示部803は、ユーザ情報に基づいて、プリンタ情報格納部802が格納しているSPID、プリンタネームを特定する。そして、プリンタ情報提示部803は、SPID、プリンタネームに基づいて、ユーザが利用可能な画像形成装置の一覧リストを生成する。また、プリンタ情報提示部803は、一覧リストからユーザが選択した画像形成装置のSPIDを受信する。
【0079】
プリンタ情報提示部803は、受信したSPIDに基づいて、プリンタ情報格納部802が格納しているケーパビリティーズを特定して、印刷設定画面を生成し、生成した印刷設定画面をWebブラウザ350へ送信する。
【0080】
プリンタ情報格納部802は、例えば、図9(A)に示すケーパビリティーズの情報に基づいて、図8(D)に示す印刷設定画面を生成する。図8(D)に示すように、プリンタ情報格納部802は、ケーパビリティーズに記述された印刷設定しか選択できない印刷設定画面を生成する。印刷指示受付部804は、印刷設定画面を介して設定された印刷設定と、SPIDとを、Webブラウザ350から受信する。また、印刷指示受付部804は、Webブラウザ350がリダイレクトの指示に基づいてアクセスしてきた場合に、ユーザが印刷を指示した印刷データを識別するための印刷データ識別情報を受信する。
【0081】
印刷データ情報取得部805は、印刷指示受付部804から印刷データ識別情報を受信する。また、印刷データ情報取得部805は、印刷指示受付部804からユーザが入力した印刷設定、及びユーザが選択した画像形成装置に対応するSPIDを受信する。制御部806は、印刷データ情報取得部805から印刷データ識別情報、印刷設定、SPIDを取得する。印刷設定は、図9(B)のように、XML形式で記述されている。
【0082】
図9(B)に示す印刷設定の記述例によれば、ユーザは、両面設定、モノクロ設定、及び用紙サイズA4を設定したことが分かる。通信モジュールA(850)は、通信モジュールA’(650)を有する装置及び通信モジュールA’(750)を有する装置と通信を行うことが可能である。すなわち、通信モジュールA(850)は、二者間のデータ通信のインタフェースである。通信モジュールA’(650)及び通信モジュールA’(750)以外の通信モジュールは、通信モジュールA(850)と通信を行うことができない。
【0083】
図6に戻って、通信モジュールA(850)は、印刷ジョブ通知部851、印刷設定格納部852、印刷データ格納部853を備える。印刷データ格納部853は、制御部806から印刷データ識別情報を受信し格納する。印刷設定格納部852は、制御部806から印刷設定を受信し格納する。なお、印刷データ格納部853及び印刷設定格納部852は、制御部806からの格納指示を受信し格納処理を行う。制御部806は、印刷データ格納部853及び印刷設定格納部852から格納が終了した旨を受信したことに応じて、印刷ジョブ通知部851に通知情報を送るように指示をする。
【0084】
印刷ジョブ通知部851は、制御部806から通知情報を送るように指示されたことに応じて、SPIDを制御部806から取得し、プリンタ情報格納部802が格納しているプリンタ情報に基づいて、VPIDを特定する。なお、SPIDに対応する送信先の情報、即ち、本実施例におけるVPIDをターゲットと呼ぶ。ユーザは、SPIDを選択することでVPIDを指定する。
【0085】
また、印刷ジョブ通知部851は、印刷データの格納場所、及び印刷設定の格納場所を制御部806から取得して、通知情報Aを生成し、登録されている画像形成装置に通知情報Aを送信する。印刷ジョブ通知部851は、第1の送信手段である。また、印刷ジョブ通知部851が送信する情報は、データに関する情報である。本実施例におけるデータに関する情報は、通知情報Aであるが、通信仕様に応じてその他の情報、データ等も含む場合もある。また、本実施例において、登録されている画像形成装置とは、VPIDに対応する中継仮想プリンタを指す。通知情報は、図9(C)に示すようなXMLで記述されている。1101に印刷データの格納場所が、1102に印刷設定の格納場所が記述されている。
【0086】
ここで、なぜ、通信モジュールA’以外の通信モジュールが、通信モジュールAと通信できないかを説明する。それは、通信モジュールA’以外の通信モジュールは、印刷ジョブ通知部851が送信するXMLで記載された通知情報Aを解釈することができないからである。また、通信モジュールA’以外の通信モジュールが、通信モジュールAと通信できない他の例として、次のような例もある。例えば、通信モジュールAが印刷ジョブ通知部851を有しておらず、別の方法で印刷データ、及び印刷設定を通信モジュールA’に取得させる場合、通知情報Aを取得する通信モジュールA’では取得することができない。なぜなら、通知情報Aを取得する通信モジュールA’は、通信モジュールAからの通知情報Aを待つ状態となっているため、通知情報Aが通知されない限り印刷データ、及び印刷設定を取得することができないからである。
【0087】
通信モジュールAと通信できる通信モジュールA’には、通信モジュールAに対し取得するデータが存在するか否かを問い合わせる機能が必要である。このように、通信モジュールA’が、通信モジュールAのデータ通信の規格に対応していないことに起因して、通信モジュールAと通信モジュールA’とが通信できない場合もある。
【0088】
通信モジュールAと、通信モジュールA’が通信を行えるような仕組みを、印刷サーバ140を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバ140を管理しているベンダーに強く依存する。なお、印刷サーバ140を管理しているベンダーが公開するデータ通信の仕様は、第1の仕様である。通信モジュールA及び通信モジュールA’のインタフェースは、第1の仕様に準じて作成されるインタフェースである。
【0089】
次に、印刷中継サーバ130の印刷系に分類される機能について説明する。まず、中継仮想プリンタ331について説明する。なお、中継仮想プリンタ332の構成は、中継仮想プリンタ331の構成と同様であるため、以下の説明では、中継仮想プリンタ331についてのみ言及する。
【0090】
図6は、中継仮想プリンタの機能ブロック図の例を示す。中継仮想プリンタ331は、通信モジュールA’(650)及び通信モジュールB(660)を備える。通信モジュールA’(650)の印刷通知受付部651は、印刷ジョブ通知部851から送信される通知情報Aを受信する。印刷サービス340には、画像形成装置110のRPIDではなく中継仮想プリンタ331が登録されているため、通知情報Aは印刷通知受付部651に送信される。そして、この通信モジュールA’は、通信モジュールAと対をなすモジュールであるため、印刷通知受付部651は、通知情報Aを解釈することが可能である。印刷通知受付部651が第1の取得手段に相当する。
【0091】
印刷通知受付部651は、通知情報Aに記載されている印刷データの格納場所、及び印刷設定の格納場所を確認し、夫々の情報を印刷設定取得部652、印刷データ取得部653に通知する。印刷設定取得部652は、通知された印刷設定の格納場所に基づいて、印刷設定格納部852から印刷設定を取得する。印刷データ取得部653は、通知された印刷データの格納場所に基づいて、印刷データ格納部853から印刷データを取得する。
【0092】
印刷データ取得部653は、印刷データ格納部663に対して、印刷データ取得部653が取得した印刷データを格納するように指示する。印刷設定取得部652は、印刷設定格納部662に対して、印刷設定取得部652が取得した印刷設定を格納するように指示する。印刷データ格納部663は、印刷データを格納し、その格納場所を印刷ジョブ通知部661に通知する。また、印刷設定格納部662は、印刷設定を格納し、その格納場所を印刷ジョブ通知部661に通知する。印刷ジョブ通知部661は、印刷データ格納部663及び印刷設定格納部662から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。
【0093】
通知情報Bは、図9(D)に示すようなXML形式で記述される。符号1103は、印刷データの格納場所の記述例を示す。符号1104は、印刷設定の格納場所の記述例を示す。印刷ジョブ通知部661は、通知情報Bを画像形成装置の印刷制御部310(320)へ送信する。印刷ジョブ通知部661が第2の送信手段として機能する。これにより、画像形成装置に対して、印刷データを印刷する指示が行われる。以上のようにして、通信モジュールA’(650)は、通信モジュールB(660)に印刷データ及び印刷設定を渡し、モジュール間通信を実現する。
【0094】
通信モジュールBに対応する通信モジュールB’は、画像形成装置110に実装されている。これにより、中継仮想プリンタ331から画像形成装置110に対して通知情報を送ることができる。
【0095】
図5(A)は、実施例1における機能的中継仮想プリンタの機能ブロック図の例である。機能的中継仮想プリンタ333は、通信モジュールA’750を有する。通信モジュールA’750が備える印刷通知受付部751は、印刷ジョブ通知部851から送信される通知情報Aを受信する。印刷サービス340には、機能的中継仮想プリンタ333が登録されているため、通知情報Aは印刷通知受付部751に送信される。そして、通信モジュールA’は、通信モジュールAと対をなすモジュールであるため、印刷通知受付部751は、通知情報Aを解釈することが可能である。印刷通知受付部751が第1の取得手段に相当する。
【0096】
印刷通知受付部751は、通知情報Aに記載されている印刷データの格納場所と印刷設定の格納場所を確認し、印刷データの格納場所を印刷設定取得部752に通知する。また、印刷通知受付部751は、印刷データの格納場所を印刷データ取得部753に通知する。印刷設定取得部752は、通知された印刷設定の格納場所に基づいて、印刷設定格納部852から印刷設定を取得する。印刷データ取得部753は、通知された印刷データの格納場所に基づいて、印刷データ格納部853から印刷データを取得する。すなわち、印刷データ取得部753は、クライアントコンピュータからの印刷要求に応じた印刷データを生成した印刷サーバ140から該印刷データを取得する印刷データ取得手段として機能する。
【0097】
本実施例において、機能的中継仮想プリンタ333はまとめ印刷機能を有している。機能的中継仮想プリンタ333の通信モジュールA’750を介して通知され、取得された印刷ジョブは、通信モジュールAn760及び通信モジュールAm765を介して、中継仮想プリンタ331及び332へ通知される。具体的には、印刷データ取得部753が、印刷サーバ140が備える印刷データを送信する送信手段(通信モジュールA)と通信して、印刷データを取得する。そして、印刷データ取得部753が、印刷データ格納部763及び768に対して、印刷データ取得部753が取得した印刷データを格納するように指示する。
【0098】
印刷設定取得部752は、印刷設定格納部762及び767に対して、印刷設定取得部752が取得した印刷設定を格納するように指示する。印刷データを格納した印刷データ格納部763及び768は、格納場所を印刷ジョブ通知部761及び766に通知する。印刷設定を格納した印刷設定格納部762及び767は、格納場所を印刷ジョブ通知部761及び766に通知する。
【0099】
印刷ジョブ通知部761及び766は、印刷データ格納部763及び768、並びに印刷設定格納部762及び767から格納場所の通知を受け付けたことに応じて、通知情報Aを生成する。通知情報Aには、印刷データの格納場所と印刷設定の格納場所が記述されている。印刷ジョブ通知部761及び766は、通知情報Aを中継仮想プリンタ331及び332へ送信する。印刷ジョブ通知部761及び766が第1の送信手段に相当する。そして、印刷ジョブ通知部761及び766は、中継仮想プリンタ331が備える、通信モジュールA’(図4(B))を介して、画像形成装置に対して印刷データを印刷する指示を行う手段(図4(B)中の印刷ジョブ通知部661)と通信する。すなわち、印刷ジョブ通知部761及び766は、中継仮想プリンタを介して、印刷サーバ140により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置に対して、取得した印刷データを印刷する指示を行う印刷指示手段である。
【0100】
続いて、画像形成装置110及び120の印刷系に分類される機能について説明する。なお、画像形成装置120の構成は、画像形成装置110の構成と同様であるため、以下の説明では、画像形成装置110についてのみ言及する。
【0101】
図3(A)に示すように、印刷制御部310は、通信モジュールB’(410)を有している。通信モジュールB’(410)の印刷通知受付部411は、印刷ジョブ通知部661から送信されてくる通知情報Bを受信する。印刷通知受付部411が第2の取得手段に相当する。通信モジュールB’は、通信モジュールBと対を成すモジュールであるため、印刷通知受付部411は、通知情報Bを解釈することが可能である。なお、中継仮想プリンタ331と画像形成装置110がデータ通信を行うためにデバイスベンダーが規定した仕様は、第2の仕様に相当し、デバイスベンダーがハンドリング可能な仕様である。通信モジュールB、及び通信モジュールB’のインタフェースは、第2の仕様に準じて作成されるインタフェースである。
【0102】
印刷通知受付部411は、通知情報Bに記載されている印刷データの格納場所と印刷設定の格納場所を確認する。印刷通知受付部411は、印刷設定の格納場所を印刷設定取得部412に通知する。また、印刷通知受付部411は、印刷データの格納場所を印刷データ取得部413に通知する。印刷設定取得部412は、通知された印刷設定の格納場所に基づいて、印刷設定格納部662から印刷設定を取得する。
【0103】
印刷データ取得部413は、通知された印刷データの格納場所に基づいて、印刷データ格納部663から印刷データを取得する。取得された印刷設定及び印刷データは、印刷通知受付部411を介してジョブ管理部407へ送信される。ジョブ管理部407は、印刷データと印刷設定情報を取得し、印刷実行部408に対して印刷の実行を指示する。指示を受けた印刷実行部408は、印刷設定と印刷データに基づいて、ラスターイメージを生成し、生成したラスターイメージを印刷するよう印刷ユニットに指示を出す。
【0104】
以上が、Webアプリケーションサーバ160で生成されたコンテンツの印刷指示を印刷サーバ140に送信し、印刷サーバ140から送信される印刷データを画像形成装置110に印刷させる、印刷系に分類される機能の説明である。
【0105】
次に、事前登録系に分類される処理、本登録系に分類される処理、印刷系に分類される処理のそれぞれについて、図11乃至図14のシーケンス図を用いて説明する。
【0106】
図11は、中継仮想プリンタの作成処理を説明するシーケンス図の例である。図11に示す中継仮想プリンタの作成処理は、画像形成装置110及び120を印刷中継サーバ130に登録し、印刷中継サーバ130内に中継仮想プリンタ331及び332を実現する。
【0107】
まず、S1300において、ユーザは画像形成装置110のUIから中継仮想プリンタ管理サービスへの登録操作を行う。S1301において、画像形成装置110の印刷制御部310は、中継仮想プリンタ管理サービス330にプリンタの登録を要求する。S1302において、中継仮想プリンタ管理サービス330は、登録情報に基づいて中継仮想プリンタ331を実現する。
【0108】
S1303において、中継仮想プリンタ331は、作成成功の応答を中継仮想プリンタ管理サービス330へ送信する。S1304において、中継仮想プリンタ管理サービス330は、プリンタの登録が完了した旨を印刷制御部310に通知する。S1305において、印刷制御部310は、画像形成装置110のUIに画像形成装置の登録が完了した旨を表示するよう指示を出す。なお、S1310からS1315までの処理は、画像形成装置120を印刷中継サーバ130に登録する処理である。この処理は、S1300からS1305までの処理と同様であるため、説明は省略する。以上が、一つ目の事前登録処理の説明となる。
【0109】
図12は、機能的中継仮想プリンタの生成・登録処理を説明するシーケンス図の例である。続いて、二つ目の事前登録処理として、印刷サービス340に機能的中継仮想プリンタ333を実現し、中継仮想プリンタ331及び332、並びに機能的中継仮想プリンタ333を登録する処理を説明する。
【0110】
S1400において、ユーザは、Webブラウザ350を介して、中継仮想プリンタ管理サービス330のUIから、印刷サービスに登録するデバイス及び機能を選択し、ユーザID、パスワードを入力することで、印刷サービス340への登録を要求する。S1401において、中継仮想プリンタ管理サービス330は、登録要求の中に機能的中継仮想プリンタ333が含まれるか否かを判断する。
【0111】
登録要求の中に機能的中継仮想プリンタ333が含まれる場合、S1450において、中継仮想プリンタ管理サービス330は、登録情報に基づいて機能的中継仮想プリンタ333を実現する。S1451において、機能的中継仮想プリンタ333は、作成成功の応答として、VPIDを中継仮想プリンタ管理サービス330へ送信する。S1402において、中継仮想プリンタ管理サービス330は、印刷サービス340にユーザID及びパスワードを送信し認証を受ける。印刷サービス340による認証が成功した場合、S1503において、印刷サービス340は、中継仮想プリンタ管理サービス330に認証が成功したことを通知する。
【0112】
S1404において、中継仮想プリンタ管理サービス330は、印刷サービス340がユーザに提供するプリンタ(サービスプリンタ)としてVPIDを登録するように要求する。S1405において、印刷サービス340は、VPIDをサービスプリンタとして登録したことに応じて、SPIDを発行し、中継仮想プリンタ管理サービス330に送信する。S1406において、中継仮想プリンタ管理サービス330は、印刷サービス情報の更新を行う。
【0113】
S1410において、中継仮想プリンタ管理サービス330は、SPIDを格納するよう印刷サービス情報管理部506に指示し、設定が完了したことを中継仮想プリンタ331に通知する。S1411において、中継仮想プリンタ331は、SPIDに基づいて、印刷サービス340の通信モジュールAに接続し、通知情報Aが送信されるのを待つ。
【0114】
S1420からS1421までの処理は、中継仮想プリンタ332に対応する処理である。この処理は、S1410からS1411までの処理と同様であるため、説明を省略する。また、S1430からS1431までの処理は、機能的中継仮想プリンタ333に対応する処理である。この処理は、S1410からS1411までの処理と同様であるため、説明を省略する。
【0115】
S1440において、中継仮想プリンタ管理サービス330は、プリンタの登録が完了したことをWebブラウザ350に通知する。上述した処理によって印刷サービス340に登録された機能的中継仮想プリンタ333は、印刷サービス340に対しては、中継仮想プリンタ331及び332と同様の振舞いを示す。すなわち、印刷サーバ140は、機能的中継仮想プリンタと中継仮想プリンタとを、機能の違いを意識することなく、印刷中継サーバ上すなわち情報処理装置上で動作するプリンタとして登録している。これにより、印刷中継サーバに、既存のデータ通信の仕様の変更なしに、新たな機能を追加することが可能となる。本発明によれば、印刷中継サーバ130に新たな機能が追加された場合に、印刷中継サーバ130が、既存のデータ通信の仕様を変更することなく、この機能に応じたサービスを提供することができる。
【0116】
図13及び14は、画像形成装置に対する印刷指示を行う処理を説明するシーケンス図の例である。以下に、Webアプリケーションサーバ160で生成された印刷データを画像形成装置に印刷させる処理について説明する。本実施例では、機能的中継仮想プリンタ333が、まとめ印刷機能を有する。そして、画像形成装置110及び120が連携して、当該まとめ印刷機能に対応する処理を実行する。
【0117】
図13のS1501において、Webブラウザ350は、ユーザが編集を行いたいコンテンツ(文書)の表示を、Webアプリケーション360に要求する。S1502において、Webアプリケーション360は、要求されたコンテンツに対応するコンテンツの画面をWebブラウザ350に送信する。
【0118】
S1503において、Webブラウザ350は、ユーザがコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス340に登録されている画像形成装置(サービスプリンタ)の一覧画面を要求する。
【0119】
S1504において、印刷サービス340は、対応するサービスプリンタの一覧画面を、Webブラウザ350に送信する。S1505において、Webブラウザ350は、ユーザが一覧画面から画像形成装置を選択したことに応じて、選択された画像形成装置に対応する印刷設定画面を要求する。S1506において、印刷サービス340は、印刷設定画面をWebブラウザ350に送信する。S1507において、Webブラウザ350は、ユーザが印刷設定画面を介して入力した印刷設定を印刷サービス340に送信する。
【0120】
S1508において、印刷サービス340は、ユーザが印刷を指示した印刷データの識別情報をWebアプリケーション360から取得する。また、印刷サービス340は、印刷データの識別情報と、印刷設定とを組み合わせて、ジョブを生成する。S1509において、印刷サービス340は、機能的中継仮想プリンタ333にジョブが生成されたことを通知する。S1510において、機能的中継仮想プリンタ333は、印刷サービス340に印刷データの取得を要求する。S1511において、機能的中継仮想プリンタ333は、印刷サービス340から印刷データを取得する。
【0121】
S1512において、機能的中継仮想プリンタ333は、印刷サービス340に対して、印刷設定の取得要求を行う。S1513において、機能的中継仮想プリンタ333は、印刷サービス340から印刷設定を取得する。
【0122】
次に、機能的中継仮想プリンタ333のまとめ印刷機能により、機能的中継仮想プリンタ333が取得した印刷データ及び印刷設定が、中継仮想プリンタ331及び332へそれぞれ通知される。図14のS1520からS1530までが中継仮想プリンタ331への通知処理に相当し、S1540からS1550までが中継仮想プリンタ332への通知処理に相当する。
【0123】
図14のS1520において、機能的中継仮想プリンタ333は、中継仮想プリンタ331にジョブが生成されたことを通知する。S1521において、中継仮想プリンタ331は、機能的中継仮想プリンタ333に印刷データの取得を要求する。S1522において、中継仮想プリンタ331は、機能的中継仮想プリンタ333から印刷データを取得する。
【0124】
S1523において、中継仮想プリンタ331は、機能的中継仮想プリンタ333に印刷設定の取得を要求する。S1524において、中継仮想プリンタ331は、機能的中継仮想プリンタ333から印刷設定を取得する。S1525において、中継仮想プリンタ331は、印刷制御部310にジョブが生成されたことを通知する。
【0125】
S1526において、印刷制御部310は、中継仮想プリンタ331に印刷データの取得を要求する。S1527において、印刷制御部310は、中継仮想プリンタ331から印刷データを取得する。S1528において、印刷制御部310は、中継仮想プリンタ331に印刷設定の取得を要求する。
【0126】
S1529において、印刷制御部310は、中継仮想プリンタ331から印刷設定を取得する。S1530において、印刷制御部310は、取得した印刷設定と印刷データに基づいて、ラスターイメージを描画し、画像形成装置110にラスターイメージを印刷させる。
【0127】
なお、S1540からS1550までの処理は、中継仮想プリンタ332に対応する処理である。この処理は、S1520からS1530までの処理と同様であるため、説明を省略する。図13及び14を参照して行った説明から分かるように、機能的中継仮想プリンタ333の機能により、画像形成装置110及び120に印刷させる場合であっても、機能的中継仮想プリンタ333から直接印刷制御部310及び310に印刷指示をすることはない。これにより、機能的中継仮想プリンタ333から個別の画像形成装置に対する通信負荷の増大を抑えて、新たなサービスとして追加することが可能となる。
【0128】
次に、実施例2について説明する。実施例2では、コンテンツ印刷システム1000は、貯め置き印刷機能を実現する。貯め置き印刷機能は、当初の印刷指示の段階では、出力する画像形成装置を選択せずに印刷指示を行い、ユーザが出力を希望する画像形成装置から印刷指示を行ってはじめて、その画像形成装置で印刷が行われるようにする機能である。
【0129】
実施例1との差分として、画像形成装置110及び120の構成、機能的中継仮想プリンタ333の構成、印刷系に分類される処理が挙げられる。以下の説明では、実施例1との差分について特記し、その他については、実施例1に準ずるものとする。
【0130】
まず、画像形成装置110及び120の構成について説明する。なお、画像形成装置120の構成は画像形成装置110の構成と同様であるので、以下の説明では画像形成装置110についてのみ言及する。
【0131】
図3(B)は、実施例2における印刷制御部の機能ブロック図である。図3(B)に示す印刷制御部310は、実施例1における印刷制御部(図3(A))が備える構成に加えて、特定機能処理部450を備える。ユーザが、表示部401を介して、画像形成装置110から貯め置き印刷の指示をすると、特定機能処理部450は、機能的中継仮想プリンタ333の印刷要求受付部790(図5(B))へ貯め置き印刷を通知する。
【0132】
図5(B)は、実施例2における機能的中継仮想プリンタの機能ブロック図の例である。図5(B)に示す機能的中継仮想プリンタ333は、通信モジュールA’(770)を備える。通信モジュールA’(770)の印刷通知受付部771は、印刷ジョブ通知部851から送信される通知情報Aを受信する。印刷サービス340には、機能的中継仮想プリンタ333が登録されているため、通知情報Aは、印刷通知受付部771に送信される。
【0133】
通信モジュールA’は、通信モジュールAと対をなすモジュールであるため、印刷通知受付部771は、通知情報Aを解釈することが可能である。印刷通知受付部771が、第1の取得手段に相当する。印刷通知受付部771は、通知情報Aに記述されている印刷データの格納場所と印刷設定の格納場所とを確認する。印刷通知受付部771は、印刷設定の格納場所を印刷設定取得部772に通知する。また、印刷通知受付部771は、印刷データの格納場所を印刷データ取得部773に通知する。
【0134】
印刷設定取得部772は、通知された印刷設定の格納場所に基づいて、印刷設定格納部852から印刷設定を取得する。また、印刷データ取得部773は、通知された印刷データの格納場所に基づいて、印刷データ格納部853から印刷データを取得する。
【0135】
機能的中継仮想プリンタ333は、貯め置き印刷機能を有している。従って、機能的中継仮想プリンタ333の通信モジュールA’(770)を介して通知され、取得された印刷ジョブは、通信モジュールAx(780)を介して、中継仮想プリンタ331乃至332へ通知される。しかし、通信モジュールA'(770)を介して通知され、取得された印刷ジョブは、特定機能処理部791により、一時的に処理が中断される。印刷要求受付部790が、印刷制御部310の特定機能処理部450から貯め置き印刷の通知を受けてはじめて、以降の処理が実行される。
【0136】
印刷データ取得部773は、印刷データ格納部783に対して、印刷データ取得部773が取得した印刷データを格納するように指示する。印刷設定取得部772は、印刷設定格納部782に対して、印刷設定取得部772が取得した印刷設定を格納するように指示する。印刷データ格納部783は、印刷データを格納し、その格納場所を印刷ジョブ通知部781に通知する。印刷設定格納部782は、印刷設定を格納し、その格納場所を印刷ジョブ通知部781に通知する。
【0137】
印刷ジョブ通知部781は、印刷データ格納部783、印刷設定格納部782から格納場所の通知を受け付けたことに応じて、通知情報Aを生成する。印刷ジョブ通知部781は、通知情報Aを中継仮想プリンタ331及び332へ送信する。印刷ジョブ通知部781が第1の送信手段に相当する。
【0138】
図15及び16は、実施例2における、画像形成装置に対する印刷指示を行う処理を説明するシーケンス図の例である。本実施例では、機能的中継仮想プリンタ333が、貯め置き印刷機能を有する。従って、機能的中継仮想プリンタ333は、画像形成装置からの印刷指示(貯め置き印刷の指示)を受けたことを契機として、該画像形成装置に対して、印刷データの印刷を指示する。機能的中継仮想プリンタ333は、クライアントコンピュータによる印刷要求があった場合に、印刷サーバ140から取得した印刷データを保存し、この保存した印刷データの印刷を画像形成装置に対して指示する。本実施例では、画像形成装置110乃至120が、貯め置き印刷の指示を行うものとする。図15のS1601からS1613については、図13のS1501からS1513と同様であるため、説明を省略する。
【0139】
機能的中継仮想プリンタ333の貯め置き印刷機能によれば、機能的中継仮想プリンタ333が取得した印刷データ及び印刷設定は、印刷制御部310乃至320から貯め置き印刷の通知を受けるまで、中継仮想プリンタ331乃至332へ通知されない。
【0140】
図16のS1619において、機能的中継仮想プリンタ333が、印刷制御部310から貯め置き印刷の通知を受けたことを契機として、S1620からS1630までの処理が実行される。また、S1639において、機能的中継仮想プリンタ333が、印刷制御部310から貯め置き印刷の通知を受けたことを契機として、S1640からS1650までの処理が実行される。なお、図16のS1620からS1630までの処理は、図14のS1520からS1530までの処理と同様である。また、図16のS1640からS1650までの処理は、図14のS1540からS1550までの処理と同様である。
【0141】
次に、本発明の他の実施例について説明する。実施例1、実施例2において、機能的中継仮想プリンタ333は、中継仮想プリンタ331及び中継仮想プリンタ332と通信を行うためのモジュールAを備えている。しかし、機能的中継仮想プリンタ333が中継仮想プリンタ331及び332と通信を行うための構成は、印刷サービス340と中継仮想プリンタ331及び332と通信を行うための構成と同一の構成でなくてもよい。
【0142】
図18は、他の実施例における印刷中継サーバの機能ブロック図の例である。図18(A)は、中継仮想プリンタの機能ブロック図を示す。図18(B)は、機能的中継仮想プリンタの機能ブロック図を示す。
【0143】
機能的中継仮想プリンタ333は、図18(B)に示すように、中継仮想プリンタ331及び332と通信を行う通信モジュールC’を備える。また、中継仮想プリンタ331は、図18(A)に示すように、機能的中継仮想プリンタ333と通信を行う通信モジュールCを備える。なお、中継仮想プリンタ332の構成は中継仮想プリンタ331の構成と同様であるので、以下の説明では中継仮想プリンタ331についてのみ言及する。
【0144】
図18(A)に示すように、中継仮想プリンタ331は、通信モジュールA’(1800)、通信モジュールB(1810)、及び通信モジュールC’(1820)を有する。通信モジュールA’(1800)は、図4(B)に示す通信モジュールA’(650)と同様である。また、通信モジュールB(1810)は、図4(B)に示す通信モジュールB(660)と同様である。
【0145】
通信モジュールC’(1820)が備える印刷通知受付部1821は、印刷ジョブ通知部1841から送信される通知情報Cを受信する。通知情報Cは、印刷データの格納場所、印刷設定の格納場所を含む。通信モジュールC’は、通信モジュールCと対をなすモジュールであるため、印刷通知受付部1821は、通知情報Cを解釈することが可能である。印刷通知受付部1821は第1の取得手段で定義される仕様とは異なる仕様に基づく取得手段である。
【0146】
印刷通知受付部1821は、通知情報Cが含む印刷データの格納場所、及び印刷設定の格納場所を確認し、夫々の情報を印刷設定取得部1822、印刷データ取得部1823に通知する。印刷設定取得部1822は、通知された印刷設定の格納場所に基づいて、印刷設定格納部1842から印刷設定を取得する。印刷データ取得部1823は、通知された印刷データの格納場所に基づいて、印刷データ格納部1843から印刷データを取得する。
【0147】
印刷データ取得部1823は、印刷データ格納部1813に対して、印刷データ取得部1823が取得した印刷データを格納するように指示する。印刷設定取得部1822は、印刷設定格納部1812に対して、印刷設定取得部1822が取得した印刷設定を格納するように指示する。
【0148】
印刷データ格納部1813は、印刷データを格納し、その格納場所を印刷ジョブ通知部1811に通知する。印刷設定格納部1812は、印刷設定を格納し、その格納場所を印刷ジョブ通知部1811に通知する。印刷ジョブ通知部1811は、印刷データ格納部1813及び印刷設定格納部1812から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。
【0149】
図18(B)では、機能的中継仮想プリンタ333と中継仮想プリンタ331との通信に関する構成のみを示す。機能的中継仮想プリンタ333の通信モジュールA’(1830)を介して通知され、取得された印刷ジョブは、通信モジュールC(1840)を介して、中継仮想プリンタ331へ通知される。印刷データ取得部1833は、印刷データ格納部1843に対して、印刷データ取得部1833が取得した印刷データを格納するように指示する。印刷設定取得部1832は、印刷設定格納部1842に対して、印刷設定取得部1832が取得した印刷設定を格納するように指示する。
【0150】
印刷データ格納部1843は、印刷データを格納し、その格納場所を印刷ジョブ通知部1841に通知する。印刷設定格納部1842は、印刷設定を格納し、その格納場所を印刷ジョブ通知部1841に通知する。印刷ジョブ通知部1841は、印刷データ格納部1843及び印刷設定格納部1842から格納場所の通知を受け付けたことに応じて、通知情報Cを生成する。印刷ジョブ通知部1841は、通知情報Cを中継仮想プリンタ331へ送信する。印刷ジョブ通知部1841は、第1の取得手段で定義される仕様とは異なる仕様に基づく送信手段である。
【0151】
前述した実施例1、2においては、中継仮想プリンタ331は、印刷サービス340と通信を行うための通信モジュールA’と、印刷制御部310と通信を行うための通信モジュールBとを備えている。その他の実施例においては、印刷サービス340と通信を行うための通信モジュールA’を中継仮想プリンタ331から分離してもよい。そして、印刷中継サーバ130が、印刷サービス用プロキシー1935(図18(E))を備えるようにし、この印刷サービス用プロキシー1935が、印刷サービス340と通信を行うための通信モジュールA’を備えるようにしてもよい。
【0152】
図2(B)は、他の実施例におけるコンテンツ印刷システムの構成を示す図である。図2(B)に示すコンテンツ印刷システムが備える機能的中継仮想プリンタ1933は、図18(D)に示す構成を有する。また、このコンテンツ印刷システムが備える中継仮想プリンタ1931、1932は、図18(C)に示す構成を有する。また、このコンテンツ印刷システムが備える印刷サービス用プロキシー1935は、図18(E)に示す構成を有する。その他の構成については、実施例1及び実施例2の構成に準ずるものとする。すなわち、Webアプリケーション1960、Webブラウザ1950、印刷サービス1940は、それぞれ、図2(A)中のWebアプリケーション360、Webブラウザ350、印刷サービス340と同様である。また、印刷制御部1910、印刷制御部1920、中継仮想プリンタ管理サービス1930は、それぞれ、図2(A)中の印刷制御部310、印刷制御部320、中継仮想プリンタ管理サービス330と同様である。
【0153】
図2(B)に示す機能的中継仮想プリンタ1933が中継仮想プリンタ1931及び1932と通信を行う構成が通信モジュールD’である。中継仮想プリンタ1931及び1932が機能的中継仮想プリンタ1933と通信を行う構成が、通信モジュールDである。
【0154】
図18(C)に示すように、中継仮想プリンタ1931は、通信モジュールD’(1850)及び通信モジュールB(1860)を備える。通信モジュールD’(1850)が備える印刷通知受付部1851は、印刷ジョブ通知部1896から送信される通知情報Dを受信する。通信モジュールD’は、通信モジュールDと対をなすモジュールである。従って、印刷通知受付部1851は、通知情報Dを解釈することが可能である。印刷通知受付部1851は、第1の取得手段で定義される仕様とは異なる仕様に基づく取得手段である。
【0155】
印刷通知受付部1851は、通知情報Dに記述されている印刷データの格納場所、印刷設定の格納場所を確認する。そして、印刷通知受付部1851は、印刷設定の格納場所を印刷設定取得部1852に通知する。また、印刷通知受付部1851は、印刷データの格納場所を印刷データ取得部1853に通知する。印刷設定取得部1852は、通知された印刷設定の格納場所に基づいて、印刷設定格納部1897から印刷設定を取得する。印刷データ取得部1853は、通知された印刷データの格納場所に基づいて、印刷データ格納部1898から印刷データを取得する。
【0156】
印刷データ取得部1853は、印刷データ格納部1863に対して、印刷データ取得部1853が取得した印刷データを格納するように指示する。また、印刷設定取得部1852は、印刷設定格納部1862に対して、印刷設定取得部1852が取得した印刷設定を格納するように指示する。
【0157】
印刷データ格納部1863は、印刷データを格納し、その格納場所を印刷ジョブ通知部1861に通知する。印刷設定格納部1862は、印刷設定を格納し、その格納場所を印刷ジョブ通知部1861に通知する。印刷ジョブ通知部1861は、印刷データ格納部1863及び印刷設定格納部1862から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。
【0158】
機能的中継仮想プリンタ1933は、実施例1、2と同様に、印刷サーバ140により提供されていない特定の印刷サービスを実現するための機能を有している。しかしながら、機能的中継仮想プリンタ1933と中継仮想プリンタ1931との通信についての説明を目的とするため、図18(D)では、当該機能に関わる構成を省略している。
【0159】
機能的中継仮想プリンタ(1933)の通信モジュールD’(1970)を介して通知され、取得された印刷ジョブは、通信モジュールD(1880)を介して、中継仮想プリンタ1931へ通知される。印刷データ取得部1873は、印刷データ格納部1883に対して、印刷データ取得部1873が取得した印刷データを格納するように指示する。印刷設定取得部1872は、印刷設定格納部1882に対して、印刷設定取得部1872が取得した印刷設定を格納するように指示する。
【0160】
印刷データ格納部1883は、印刷データを格納し、その格納場所を印刷ジョブ通知部1881に通知する。印刷設定格納部1882は、印刷設定を格納し、その格納場所を印刷ジョブ通知部1881に通知する。印刷ジョブ通知部1881は、印刷データ格納部1883及び印刷設定格納部1882から格納場所の通知を受け付けたことに応じて、通知情報Dを生成する。印刷ジョブ通知部1881は、通知情報Dを中継仮想プリンタ1931へ送信する。印刷ジョブ通知部1881は、第1の取得手段で定義される仕様とは異なる仕様に基づく送信手段である。
【0161】
図18(E)に示すように、印刷サービス用プロキシー1935は、通信モジュールA’(1890)及び通信モジュールD(1895)を有する。通信モジュールA’(1890)は、実施例1、2における通信モジュールA’(650)と同様である。
【0162】
印刷サービス用プロキシー1935の通信モジュールA’1890を介して通知され、取得された印刷ジョブは、通信モジュールD(1895)を介して、中継仮想プリンタ1931乃至機能的中継仮想プリンタ1933へ通知される。
【0163】
印刷データ取得部1893は、印刷データ格納部1898に対して印刷データ取得部1893が取得した印刷データを格納するように指示を出す。印刷設定取得部1892は、印刷設定格納部1897に対して印刷設定取得部1892が取得した印刷設定を格納するように指示出す。印刷データ格納部1898は、印刷データを格納し、その格納場所を印刷ジョブ通知部1896に通知する。印刷設定格納部1897は、印刷設定を格納し、その格納場所を印刷ジョブ通知部1896に通知する。
【0164】
印刷ジョブ通知部1896は、印刷データ格納部1898、並びに印刷設定格納部1897から格納場所の通知を受け付けたことに応じて、通知情報Dを生成する。印刷ジョブ通知部1896は、通知情報Dを中継仮想プリンタ1931乃至機能的中継仮想プリンタ1933へ送信する。印刷ジョブ通知部1896は第1の取得手段で定義される仕様とは異なる仕様に基づく送信手段である。
【0165】
印刷サービス340に中継仮想プリンタ331及び332、並びに機能的中継仮想プリンタ333を登録する処理を、図14に示すシーケンス図を参照して説明した。しかしながら、以下に説明するように、画像形成装置110及び画像形成装置120からの登録処理により、印刷サービス340に中継仮想プリンタ331及び332を登録するようにしてもよい。なお、画像形成装置120及び印刷制御部320の構成は、画像形成装置110及び印刷制御部310と同様であるので、以下の説明では画像形成装置110及び印刷制御部310についてのみ言及する。
【0166】
画像形成装置110が備える表示部401(図3(A),(B))は、各種画面を表示する。仮想プリンタ管理サービス情報保持部402は、仮想プリンタ管理サービスの有効/無効を示す情報(サービス有効・無効情報)を有している。
【0167】
表示部401は、印刷サービス340に対して、画像形成装置110の登録を行う処理をユーザから指示された場合に、図7(B)に示す印刷サービス情報に基づいて、図8(C)に示すような、印刷サービス340への登録UIを生成して表示する。
【0168】
ユーザが、図8(C)に示す登録UI上の入力欄1021にユーザIDを入力し、入力欄1022にパスワードを入力した上で、印刷サービス340への登録ボタン1023を押下する。登録部403(図3(A),(B))は、ユーザが有効化ボタン1002を押下したことに応じて、印刷サービス340への登録情報を発行する。続いて、登録部403は、発行した印刷サービス340への登録情報を、中継仮想プリンタ管理サービス330が有する要求受信部501へ送信する。
【0169】
実施例1、2においては、印刷系の機能として、機能的中継仮想プリンタ333が中継仮想プリンタ331及び332に印刷通知を行い、当該印刷通知を受けて、中継仮想プリンタ331及び332が印刷データ及び印刷設定を取得する処理を実行する。しかしながら、中継仮想プリンタ331及び332が機能的中継仮想プリンタ333から取得する印刷データ及び印刷設定は、必ずしも実際の印刷データ及び印刷設定である必要はない。中継仮想プリンタ331及び332が、例えば、印刷データ及び印刷設定への参照情報を取得するようにしてもよい。
【0170】
また、実施例1、2においては、本登録系の機能として、印刷サービスプリンタ生成部505が、印刷サービス340に機能的中継仮想プリンタ333の情報を登録する処理を実行する。この処理において、印刷サービスプリンタ生成部505は、印刷サービス340に、プリンタネーム、ケーパビリティーズ、VPIDを送信する。その他の実施例において、機能的中継仮想プリンタ333のケーパビリティーズは、まとめ印刷乃至貯め置き印刷の対象となる画像形成装置のケーパビリティーズの論理積あるいは論理和であってもよい。
【0171】
ケーパビリティーズを、まとめ印刷乃至貯め置き印刷の対象となる画像形成装置のケーパビリティーズの論理積とした場合、印刷サービス340を介して機能的中継仮想プリンタ333に対して印刷指示を行う際に、最低限の印刷設定のみ実現することになる。しかしながら、いずれの画像形成装置においても実現可能な印刷設定であることが保証される。
【0172】
一方、ケーパビリティーズを、まとめ印刷又は貯め置き印刷の対象となる画像形成装置のケーパビリティーズの論理和とした場合、印刷サービス340を介して機能的中継仮想プリンタ333に対して印刷指示を行う際に、可能な限りの印刷設定を実現できる。しかしながら、その印刷設定は、ある画像形成装置においては実現できない可能性があるため、適宜、印刷設定の丸めこみ処理などが必要となる。
【0173】
また、実施例1,2において、本登録系の機能として、印刷サービスプリンタ生成部505が、印刷サービス340に機能的中継仮想プリンタ333の情報を登録する処理を実行する。この処理において、印刷サービスプリンタ生成部505は、印刷サービス340に、機能的中継仮想プリンタ333のプリンタネーム、ケーパビリティーズ、VPIDを送信する。このプリンタネームは、例えば、特殊印刷である(図7(C))。しかしながら、プリンタネームは、機能的中継仮想プリンタ333の機能を想起させるものであってもよい。例えば、「まとめ印刷」、「貯め置き印刷」をプリンタネームとしてもよい。また、その機能や効果に応じて、機能的中継仮想プリンタ333の登録時にプリンタネームを自動的に設定する構成であってもよい。
【0174】
また、実施例1、2においては、機能的中継仮想プリンタ333が、まとめ印刷乃至貯め置き印刷のいずれか1つの機能のみを有する。しかしながら、機能的中継仮想プリンタを複数実現することで、印刷中継サーバ130に複数の機能を実現するようにしてもよい。例えば、印刷中継サーバ130内に、例えば、まとめ印刷機能を有する機能的中継仮想プリンタと、貯め置き印刷機能を有する機能的中継仮想プリンタとが共存するようにしてもよい。図17は、貯め置き印刷機能を有する機能的中継仮想プリンタとが共存するようにするための登録UIの例を示す図である。
【0175】
また、クラウドコンピューティング環境の特性上、ユーザが印刷サービス340への印刷指示を行った場合、その印刷結果を直ちにユーザが把握できないことがある。そのため、印刷サービス340の仕様として、ユーザビリティの向上のため印刷ジョブのステータスを管理し、Webアプリケーション360を介して、印刷ジョブのステータスに関する情報をユーザに表示することがある。例えば、印刷ジョブのステータスとして、「印刷中」、「印刷完了」などが考えられる。このような背景から、印刷系の機能として、印刷完了時に、印刷制御部310から中継仮想プリンタ331へ、中継仮想プリンタ331から機能的中継仮想プリンタ333へ、機能的中継仮想プリンタ333から印刷サービス340へ、印刷完了通知を返してもよい。
【0176】
ここで、前述した実施例1における印刷処理は、push印刷である。実施例2における印刷処理は、pull印刷である。push印刷とは、Webアプリケーション360からの印刷指示の後、改めて別の印刷指示を必要とすることなく、画像形成装置110で印刷実行可能な印刷機能全般を意味する。また、pull印刷とは、Webアプリケーション360からの印刷指示の後、改めて別の印刷指示を必要とする、画像形成装置110で印刷実行可能な印刷機能全般を意味する。
【0177】
印刷中継サーバ130が、push印刷とpull印刷の双方を実行するようにしてもよい。そして、push印刷の場合とpull印刷の場合とで、機能的中継仮想プリンタ333から印刷サービス340へ印刷完了通知を返すタイミングに差を設けてもよい。
【0178】
図20は、push印刷とpull印刷とが実行される実施例における、画像形成装置に対する印刷指示を行う処理を説明するシーケンス図の例である。図20のS2001乃至S2030は、図13及び14のS1501乃至S1530と同様である。また、図20のS2050乃至S2062は、図20のS2020乃至S2032と同様である。
【0179】
印刷中継サーバ130が、push印刷を実行する場合、全ての印刷が完了した段階で、機能的中継仮想プリンタ333から印刷サービス340へ印刷完了通知を返す。すなわち、印刷制御部310が印刷完了通知を中継仮想プリンタ331に返し、中継仮想プリンタ331が機能的中継仮想プリンタ333に対して印刷完了通知を行うと、機能的中継仮想プリンタ333が、印刷サービス340に対して印刷完了通知を返す。
【0180】
印刷中継サーバ130が、pull印刷を実行する場合、機能的仮想プリンタ333は、印刷ジョブを取得した段階で、S2048において、印刷サービス340へ印刷完了通知を返す。このために、機能的仮想プリンタ333は、印刷サーバ140が貯め置き印刷機能に対応する印刷データを印刷サーバ140から取得したことを契機として、以下の処理を実行する通知手段(不図示)を備える。この通知手段は、印刷指示手段である印刷ジョブ通知部766が中継仮想プリンタを介して貯め置き印刷機能を実現する処理を実行する画像形成装置に対して印刷データを印刷する指示を行う前に、印刷サーバ140に対して該印刷の完了を通知する。
【0181】
機能的仮想プリンタ333が、印刷ジョブを取得した段階で、印刷サービス340へ印刷完了通知を返すのは、以下の理由による。印刷中継サーバ130が、pull印刷を実行する場合、S2049におけるpull印刷指示がされた後、別の印刷指示が発生するタイミングが保証されていない場合がある。そのような場合に、印刷サービス340に、処理中扱いの印刷データが滞留し、印刷サービス340の仕様によっては、印刷処理のタイムアウトなどのエラーが発生する。機能的仮想プリンタ333が、印刷ジョブを取得した段階で、印刷サービス340へ印刷完了通知を返すようにすれば、印刷サービス340におけるタイムアウトなどのエラーの発生を防止することができる。
【0182】
なお、実施例1、2において、コンテンツ印刷システム1000内で通信される情報は、図9に示すようにXML形式で表現される情報としたが、コンテンツ印刷システム1000内で通信される情報が、その他の形式で表現される情報であってもよい。例えば、コンテンツ印刷システム1000内で通信される情報が、XML形式ではなく、JSON形式で表現されていてもよい。
【0183】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0184】
130 印刷中継サーバ
330 中継仮想プリンタ管理サービス
331 中継仮想プリンタ
333 機能的中継仮想プリンタ
340 印刷サービス

【特許請求の範囲】
【請求項1】
ユーザ装置からの要求に応じて印刷データ生成装置が生成した印刷データを前記印刷データ生成装置から取得して画像形成装置に中継する情報処理装置であって、
前記画像形成装置に対応し、対応する画像形成装置に対して、前記印刷データ生成装置が生成した印刷データを印刷する指示を行う第1の印刷制御手段と、
前記ユーザ装置からの印刷要求に応じた機能であって、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現するための機能を有する第2の印刷制御手段とを備え、
前記第2の印刷制御手段は、
前記ユーザ装置からの印刷要求に応じた印刷データを生成した前記印刷データ生成装置から該印刷データを取得する印刷データ取得手段と、
前記第1の印刷制御手段を介して、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置に対して、前記取得した印刷データを印刷する指示を行う印刷指示手段とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記第1、第2の印刷制御手段の夫々が、前記印刷データ生成装置が印刷サービスを提供するために公開している通信プロトコルに対応する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記印刷データ生成装置は、前記第1、第2の印刷制御手段を、前記情報処理装置上で動作するプリンタとして登録している
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記印刷データ取得手段は、前記印刷データ生成装置が備える前記印刷データを送信する送信手段と通信し、
前記印刷指示手段は、前記第1の印刷制御手段が備える、前記画像形成装置に対して前記印刷データを印刷する指示を行う手段と通信する
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第2の印刷制御手段は、前記ユーザ装置による一度の印刷要求があった場合に、前記印刷データ生成装置から取得した印刷データの印刷を前記画像形成装置に対して指示するまとめ印刷機能、または、前記ユーザ装置による印刷要求があった場合に、前記印刷データ生成装置から取得した印刷データを保存し、前記画像形成装置からの印刷指示を受けたことを契機として、該画像形成装置に対して、前記保存した印刷データの印刷を指示する貯め置き印刷機能を有する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第2の印刷制御手段が、前記まとめ印刷機能を有しており、
前記印刷データ生成装置が、前記ユーザ装置による一度の印刷要求に応じた印刷ジョブを生成して前記第2の印刷制御手段に通知し、
前記第2の印刷制御手段が、前記印刷データ生成手段から前記印刷ジョブに応じた印刷データを取得し、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置の夫々に対応する前記第1の印刷制御手段に対して、前記取得した印刷データを送信し、
前記第2の印刷制御手段から印刷データを受信した前記第1の印刷制御手段の夫々が、対応する前記画像形成装置に対して、前記印刷データの印刷を指示する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記第2の印刷制御手段が、前記貯め置き印刷機能を有しており、
前記印刷データ生成装置が、前記ユーザ装置による印刷要求に応じた印刷ジョブを生成して前記第2の印刷制御手段に通知し、
前記第2の印刷制御手段が、前記印刷データ生成手段から前記印刷ジョブに応じた印刷データを取得し、
前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置からの印刷指示を受けたことを契機として、該画像形成装置の夫々に対応する前記第1の印刷制御手段に対して、前記取得した印刷データを送信し、
前記第2の印刷制御手段から前記印刷データを受信した前記第1の印刷制御手段の夫々が、対応する前記画像形成装置に対して、前記印刷データの印刷を指示する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記第2の印刷制御手段が、前記貯め置き印刷機能を有し、印刷データを前記印刷データ生成装置から取得したことを契機として、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置に対応する前記第1の印刷制御手段に対して前記印刷データを送信する前に、前記印刷データ生成装置に対して印刷の完了を通知する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
ユーザ装置からの要求に応じて印刷データ生成装置が生成した印刷データを前記印刷データ生成装置から取得して画像形成装置に中継する情報処理装置における印刷制御方法であって、
前記情報処理装置は、前記画像形成装置に対応し、対応する画像形成装置に対して、前記印刷データ生成装置が生成した印刷データを印刷する指示を行う第1の印刷制御手段と、前記ユーザ装置からの印刷要求に応じた機能であって、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現するための機能を有する第2の印刷制御手段とを備え、
前記第2の印刷制御手段が、前記ユーザ装置からの印刷要求に応じた印刷データを生成した前記印刷データ生成装置から該印刷データを取得する工程と、
前記第2の印刷制御手段が、前記第1の印刷制御手段を介して、前記印刷データ生成装置により提供されていない特定の印刷サービスを実現する処理を実行する画像形成装置に対して、前記取得した印刷データを印刷する指示を行う工程とを有する
ことを特徴とする印刷制御方法。
【請求項10】
請求項9に記載の印刷制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図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

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−248171(P2012−248171A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−122027(P2011−122027)
【出願日】平成23年5月31日(2011.5.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】