印刷中継サーバーシステム、その制御方法、およびプログラム。
【課題】 画像形成装置を印刷サービスに登録して印刷するシステムにおいて、画像形成装置に対し印刷サービスに準拠したインターフェースを設けないと連携できない。また、インターフェースを設けても複数のユーザーアカウントから同時に印刷を受け付けることができない。
【解決手段】 印刷サービスと画像形成装置を中継し、印刷サービス毎かつユーザー毎に各印刷サービスと通信するためのインターフェース(プロキシー)を持ち、画像形成装置を代替する仮想プリンターを登録する印刷中継サーバーを提供する。
【解決手段】 印刷サービスと画像形成装置を中継し、印刷サービス毎かつユーザー毎に各印刷サービスと通信するためのインターフェース(プロキシー)を持ち、画像形成装置を代替する仮想プリンターを登録する印刷中継サーバーを提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷サービスを提供する印刷サーバーシステム、および画像形成装置と通信可能な印刷中継サーバーシステム、その制御方法、およびプログラムに関するものである。
【背景技術】
【0002】
従来、クライアントからサーバーに対して印刷指示を送信し、印刷指示を受信したサーバーが印刷対象のコンテンツを印刷データに変換するコンテンツ印刷システムがある。近年、クラウドコンピューティングの概念が注目されているが、これも前述のシステム同様、サーバーがクライアントにサービスを提供する形態の一つと捉えることができる。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【0003】
中でも注目すべきベンダーはGoogle(登録商標)である。Googleは、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発する等の積極的な動きを見せている。例えば、Googleは画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、Googleが用意したクラウドコンピューティング環境とデータ通信を画像形成装置が行うためのインターフェースを公開した。このインターフェースを画像形成装置に実装することで、画像形成装置とサーバーがインターネットを介して接続されていたとしても、クライアントから画像形成装置を指定し印刷させることが可能になる。
【0004】
ここで、サーバーと画像形成装置とが連携する技術として特許文献1を紹介する。特許文献1では、サーバーが印刷データを生成するサービスが、印刷指示と印刷を制御するための情報とをクライアントから受信し、印刷を制御するための情報を基に印刷データを生成する方法が開示されている。この方法により、クライアントにプリンタードライバをインストールせずに画像形成装置に適した印刷を行うことができるようになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−196054
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、画像形成装置にサーバーと通信するための専用インターフェースの実装が必要なため、既存の画像形成装置、即ち既に販売されているレガシープリンターでは接続できないという問題があった。通信モジュールを含むボードの差し替え等を行えば利用可能となる場合もあるが、作業やコストの負荷が非常に高い。また、複数の印刷サービスに対応するためには、夫々のサービスを提供するベンダーの仕様に適合した通信モジュールを各画像形成装置に実装する必要があるが、複雑になりコストもかかる。また、画像形成装置販売後に追加になった印刷サービスには容易に対応できない場合もある。
【0007】
また、インターフェースを実装した場合でも、サーバーから取得可能な印刷データが、画像形成装置で解釈可能なフォーマットでない場合(たとえば、PDFを解釈できない画像形成装置でPDFデータを受け取った場合)は印刷できない。
【0008】
本発明の目的は、上述した課題の内、少なくとも1つの課題を解決することにある。そのために、印刷サービスを提供する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置との間に印刷中継サーバーを設けることで目的を達成する。
【課題を解決するための手段】
【0009】
本発明の一実施系に係る印刷中継サーバーシステムは、端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムであって、前記印刷中継サーバーシステムにおけるユーザー毎に設けられている、前記印刷サーバーシステムから印刷ジョブを受信するプロキシーと、前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている、受信された印刷ジョブを前記画像形成装置へ送信する中継仮想プリンターと、印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得する取得手段と、取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送することを特徴とする。
【発明の効果】
【0010】
ベンダーの仕様に準拠した通信モジュールを搭載しない画像形成装置でも、印刷サービスと連携することが可能となる。
【図面の簡単な説明】
【0011】
【図1】コンテンツ印刷システム1000の構成を示す図。
【図2】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のハードウェア構成図
【図3】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成図
【図4】印刷制御部310の構成図
【図5】中継仮想プリンター管理サービス322の構成図
【図6】中継仮想プリンター323の構成図
【図7】メイン処理管理サービス321の構成図
【図8】連携処理管理サービス324の構成図
【図9】印刷サービス用プロキシー325の構成図
【図10】印刷サービス330の構成図
【図11】(a)プリンター登録UIを示す図、(b)ユーザー情報UIを示す図、(c)印刷設定UIを示す図、(d)プリンターの追加/削除UIを示す図
【図12】(a)プリンター情報格納部505が格納する情報を示す図、(b)ユーザー情報格納部703が格納する情報を示す図、(c)ユーザー情報格納部803が格納する情報を示す図、(d)プリンター情報格納部804が格納する情報を示す図、(e)プリンター情報格納部1002が格納する情報を示す図
【図13】(a)XML形式で表現されたケーパビリティーズを示す図、(b)XML形式で表現された印刷設定初期値を示す図、(c)XML形式で表現された印刷設定を示す図、(d)XML形式で表現されたプリンター登録要求を示す図、(e)XML形式で表現されたプリンター登録要求の返信を示す図、(f)XML形式で表現された通知情報Aを示す図、(g)XML形式で表現された通知情報Bを示す図
【図14】(a)JSON形式で表現されたケーパビリティーズを示す図、(b)JSON形式で表現された印刷設定初期値を示す図、(c)JSON形式で表現された印刷設定を示す図、(d)JSON形式で表現されたプリンター登録要求を示す図、(e)JSON形式で表現されたプリンター登録要求の返信を示す図、(f)JSON形式で表現された通知情報Aを示す図、(g)JSON形式で表現された通知情報Bを示す図
【図15】印刷ボタン1501が押されていることを示す図
【図16】プリンター110を印刷中継サーバー120に登録する事前登録系処理を示すシーケンス図
【図17】中継仮想プリンター323を印刷サービス330に登録する本登録系処理を示すシーケンス図
【図18】印刷サーバー群130から送信される印刷データをプリンター110に印刷させる印刷系処理を示すシーケンス図
【図19】(a)印刷サービスのユーザー情報UIを示す図、(b)ユーザー情報UIを示す図、(c)プリンターの追加UIを示す図
【図20】(a)プロキシーと中継仮想プリンターとを非独立にした場合の構成図、(b)プロキシーと中継仮想プリンターとを独立にした場合の構成図。
【発明を実施するための形態】
【0012】
画像形成装置がアプリケーションサーバー上のコンテンツを印刷するシステムを想定する。ユーザー認証が必要なアプリケーションサーバーのコンテンツの印刷を行う際に、画像形成装置がクライアントから取得したユーザー情報に基づいて印刷サーバーにログインし、コンテンツを基に生成された印刷データを取得して印刷する方法が考えられる。
【0013】
画像形成装置が一度ログインした後、接続(セッション)を保持することで、ログインしたユーザーアカウントの印刷データはプッシュプリントが可能となる。しかしながら、別のアカウントを持つユーザーは印刷ができない。なぜなら、画像形成装置は別のユーザーが確立したセッションを保持しているからである。つまり、このままでは複数のユーザーからのプッシュプリントができない。
【0014】
また、画像形成装置本体で定期的にユーザーアカウントを切り替えるという方法も考えられるが、そのためには各ユーザーアカウントのIDやパスワードを画像形成装置に保持しなければならないため、セキュリティ上の問題があった。またユーザー数が多くなると各ユーザーの印刷順番が回るまでに時間がかかり、すぐに印刷されない。
【0015】
本発明はインターフェースを提供しているベンダーの環境と、プリンターとを中継する印刷中継サーバーに関する発明であって、複数の印刷サービス、かつ複数のユーザーアカウントからプッシュプリントを行う際に、通信の無駄を省いたプッシュプリントを可能とするシステムの提供を目的の1つとする。
【0016】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0017】
始めに、実施例1におけるコンテンツ印刷システム1000の構成について説明する。図1は、コンテンツ印刷システム1000の構成を示す図である。コンテンツシステム1000は、クライアント140、プリンター110を含む。2つの装置はユーザー環境に配置された装置であり、ネットワーク100を介して互いに接続されており、ネットワーク100はインターネット101に接続されている。また、コンテンツ印刷システム1000は、Webアプリケーションサーバー群150、印刷サーバー群130を含む。2つのサーバー群は、同じベンダーから提供されたサーバー群である場合もある。その場合は、両サーバー群はネットワーク100を介して接続されていてもよい。
【0018】
また、コンテンツ印刷システム1000は、印刷中継サーバー120を含む。印刷中継サーバー120はネットワーク100に接続されており、ネットワーク100はインターネット101に接続されている。コンテンツ印刷システム1000を構成する各装置、および各サーバー群は、インターネット101を介して接続可能であり、互いにデータ通信することができる。なお、各装置は1台のみであるが複数台あっても良い。また、各サーバー群は複数台で構成されているが1台であっても良い。よって、図1に記載されたサーバー装置、およびサーバー群をサーバーシステムと呼ぶこととする。例えば、印刷サーバー群130は印刷サーバーシステムに相当し、印刷中継サーバー120は印刷中継サーバーシステムに相当し、Webアプリケーションサーバー群150はアプリケーションサーバーシステムに相当する。また、プリンター110は画像形成装置に相当する。
【0019】
次に、コンテンツ印刷システム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を介してデータの送受信を行うことが可能である。また、プリンター110は、印刷ユニット(不図示)を搭載しており、印刷ユニットは、バス207を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを記録媒体に印刷することが可能なユニットである。
【0020】
次に、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成について説明する。図3は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成を示している。図3に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバー群のROM203に記憶されており、CPU202がRAM204にプログラムをロードし実行することで、これらの機能は実現される。
【0021】
これより、各装置、および各サーバー群が有する機能について説明する。ここで説明される機能は、次の3つの系に分類される。
【0022】
一つ目の系に分類される機能は、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する、事前登録系に分類される機能である。
二つ目の系に分類される機能は、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する本登録系に分類される機能である。
三つ目の系に分類される機能は、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる印刷系に分類される機能である。
【0023】
なお、各サーバーシステム、およびデバイスの機能の概略を説明すると、印刷サーバー群130は、クライアント140である端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する機能を有する。Webアプリケーションサーバー群150は、クライアントからの要求に対しコンテンツを生成するための画面を提供する他、その画面を介して入力された情報を基にコンテンツを生成し、生成されたコンテンツを保存する機能を有する。また、プリンター110は、印刷ジョブを出力する機能を有する。クライアント140は、Webアプリケーションサーバー群150、印刷サーバー群130が提供するサービスを、例えば、Webブラウザーのようなアプリケーションを介して受ける。また、クライアント140は、印刷中継サーバー120、プリンター110とも通信を行うことが可能である。
【0024】
まず、一つ目の系である事前登録系の機能について説明する。はじめに、プリンター110が有する事前登録系に分類される機能について説明する。プリンター110は、印刷制御部310を有する。印刷制御部310は、ユーザーの画面操作により、操作しているプリンターを印刷中継サーバー120に登録する。
【0025】
以下、図4を用いて印刷制御部310の機能を説明する
表示部401は、各種画面を表示する。ここでは、図11(a)に例示するUI(User Interface)を表示するものとする。ユーザーは本UIを通してプリンター110を印刷中継サーバー120に登録する指示を行うことができる。なお、印刷中継サーバーのURLやIPアドレスが入力できるようになっていても良い。入力可能であれば任意の印刷中継サーバーへの登録が可能となる。ただし実施例1では、URLやIPアドレスは内部的に記録されている値を使うものとする。
【0026】
ここで印刷中継サービス120にログインするためのユーザーID1101とパスワード1102を入力し、登録実行ボタン1103を押下すると、表示部401は登録要求送信部402に入力情報を送り、登録実行を指示する。登録要求送信部402は受信した入力情報を使ってまず印刷中継サーバー120にログインを行い、成功すれば、印刷中継サーバー120に対して本プリンターの登録情報を送信する。なお、登録指示は、プリンター110からではなく、後述するように印刷中継サーバー120からでも良い。
【0027】
ここで登録情報について説明する。登録情報には、プリンター110に割り当てられた固有の識別情報であるRPID(Real Printer ID)が含まれる。プリンター110を含む各プリンター(不図示)には、夫々固有の識別情報が割り当てられており、この識別情報により各プリンターは特定される。実施例1では、RPIDを特定することでプリンターの配置場所を特定できる。
【0028】
また、登録情報には、プリンター110のプリンターネームが含まれている。プリンターネームとは、プリンター110に割り当てられた名前であり、プリンター110を呼称するときに用いるものである。なお、プリンターネームは識別情報と異なり、各プリンターのプリンターネームが同一である場合もある。
【0029】
また、登録情報にはケーパビリティーズが含まれている。ケーパビリティーズとは、例えば、プリンター110が両面印刷可能であるか否か、およびカラー印刷可能であるか否か、および出力可能ペーパサイズ等の情報を含む。ケーパビリティーズは、図13(a)に示すようにXML形式で表現が可能である。この<Item>が、プリンター110の能力を示しており、プリンター110は、両面印刷可能であり、かつカラー出力可能であり、かつB5サイズ、およびA4サイズ、およびA3サイズの紙を出力可能であることが示されている。
【0030】
また、登録情報には印刷設定初期値が含まれている。図13(b)に示すようにXML形式で表現が可能であり、図13(a)のサブセットとなっており、各機能においていずれかの<Item>が選ばれている状態となる。図13(b)の例では、片面出力、カラー出力、A4サイズ、が設定されていることを意味する。
【0031】
次に、印刷中継サーバー120が有する事前登録系に分類される機能について説明する。印刷中継サーバー120は、中継仮想プリンター管理サービス部322を有する。中継仮想プリンター管理サービス部322は、プリンター登録要求を受信し、中継仮想プリンター323を生成する。中継仮想プリンターは、印刷中継サーバー120に接続されている画像形成装置毎に設けられており、受信された印刷ジョブを画像形成装置、即ちプリンター110へ送信する機能を有する。
【0032】
以下、図5を用いて中継仮想プリンター管理サービス部322の機能の詳細な説明を行う。
【0033】
登録要求受信部501は、登録要求送信部402から送信された登録情報を受信する。制御部502は、登録要求受信部501が受信した登録情報を取得し、その登録情報を解釈する。制御部502は、仮想プリンター生成部503へ、中継仮想プリンター323を生成する指示を出す。
【0034】
仮想プリンター生成部503は、対象となるプリンターとの通信方式に準拠した通信モジュールCx610を有する。通信モジュールCx610は、プリンター110と通信を行うためのインターフェースであり、前述したプリンター110が有する通信モジュールCy410と通信を行うことが可能である。
【0035】
仮想プリンター生成部503は、この通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、図6に示す各機能を実現する中継仮想プリンター323に相当する。中継仮想プリンター323は通信モジュールの他に、印刷通知を受け付けて印刷データ、および印刷設定を含む印刷ジョブを取得する機能、およびその印刷ジョブから新たな印刷ジョブを生成する機能を有する。各機能の詳細は後述する。
【0036】
仮想プリンター生成部503は、中継仮想プリンター323を実現した際に、実現した中継仮想プリンター323を識別するための識別情報であるVPID(Virtual Printer ID)を発行する。発行されたVPIDは、制御部502へ送られる。なお、中継仮想プリンターは、プリンター110から登録情報が送られる毎に実現される仮想プリンターであり、実現された夫々の中継仮想プリンターには固有の識別子であるVPIDが割り当てられる。実施例1では、VPIDを特定することで中継仮想プリンターを特定することが可能となる。
【0037】
仮想プリンター生成部503からVPIDを取得した制御部502は、プリンター情報格納部505に情報を格納するよう指示を出す。プリンター情報格納部505は、VPID、および登録情報を図12(a)に示すように関連付けて格納する。プリンター情報格納部505が格納する登録情報は、VPIDが1201、RPIDが1202、プリンターネームが1203、ケーパビリティーズが1204、印刷設定規定値が1205に相当する。
【0038】
なお、仮想プリンターは、個別のプロセスではなく、単一プロセスの中で論理的に区別して処理する構造であってもよい。すなわち、VPIDを特定することで対応するRPIDを制御できる構造であれば良い。
【0039】
以上、説明してきた機能が、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する事前登録系に分類される機能である。
【0040】
続いて、二つ目の系である本登録系に分類される機能について説明する。はじめに、印刷中継サーバー120が有する本登録系に分類される機能について説明する。印刷中継サーバー120は、メイン処理管理サービス部321を有する。メイン処理管理サービス部321は、印刷サービス330に非依存な共通処理部であり、ここではユーザーの指示に従って中継仮想プリンター323を印刷サービスに登録するための前処理を行う。
【0041】
以下、図7を用いてメイン処理管理サービス部321の機能を説明する。
【0042】
ログイン受付部701は、クライアント140がWebブラウザー340を通して行うログインを受け付ける。ユーザー認証が完了すると、ログインしたユーザーアカウントに応じた処理を行う。
【0043】
次に操作部702で、図11(b)に例示するようなユーザー操作を受け付ける画面を表示する。本画面もユーザー毎に設定されている情報に基づいて生成される。図11(b)には、該当ユーザーが利用可能なプリンター1111の一覧が表示されており、夫々のプリンターに対して印刷設定変更ボタン1112が配置される。また、該当ユーザーが利用できるプリンターを管理するための追加/削除ボタン1113が配置されている。また、印刷サービスベンダー一覧1114が表示されており、夫々の印刷サービスと連携するための連携ボタン1115がある。
【0044】
追加/削除ボタン1113が押下されると、図11(d)に例示するプリンターの追加/削除画面が表示される。ここでは、ユーザーにとって既に利用可能となっているプリンター一覧1131と、前記プリンターを削除するための削除ボタン1132が表示される。また、印刷中継サーバー120で利用可能でありユーザーが利用要求を出すことが可能なプリンター一覧1133と、追加要求を行うための追加ボタン1134が表示される。また、新たに印刷中継サーバー120にプリンターを登録するための情報入力欄1135と登録実行ボタン1136も表示されている。情報入力欄1135と登録実行ボタン1136は、前述したプリンター110の登録要求送信部402で行う処理と同等の処理をサーバーの操作画面上で行うものである。
【0045】
ここでユーザーが利用可能となるプリンターが決まると、操作部702はユーザー情報格納部703に指示し、図12(b)に示すように、ユーザーIDと利用可能なプリンターを識別するVPID、および夫々の印刷設定を関連付けて格納する。格納する情報は、ユーザーIDが1211、VPIDが1212、各VPIDの印刷設定規定値が1213となる。ユーザーがプリンターの追加や削除を行うと、ユーザーID1211に紐付くプリンター1212が増減する。印刷設定規定値1213は、アプリケーションからプリンターを選択して印刷設定を行う際の規定値となる。
【0046】
また、印刷設定規定値1213の初期値は、図12(a)に格納されている印刷設定初期値1205となる。この情報取得は以下の流れとなる。まず、操作部702はプリンター情報要求送信部704に指示し、中継仮想プリンター管理サービス322にプリンター情報を要求する。このとき、情報を必要とするプリンターのVPIDを渡す。中継仮想プリンター管理サービス322はプリンター情報要求受信部510で要求を受信する。プリンター情報要求受信部510は受信したVPIDに関連付いた図12(a)の情報を、プリンター情報格納部505を通して取得する。ここでは印刷設定初期値1205を取得する。プリンター情報要求受信部510は取得した情報をプリンター情報要求送信部704に返送し、プリンター情報要求送信部704は取得した情報を操作部702に返送する。以上により、印刷設定初期値が取得される。
【0047】
図11(d)の画面にて、OKボタン1137が押下されることで利用可能なプリンターは確定し、図11(b)の画面に戻る。この画面では、利用可能なプリンターの表示が更新される。以上により、ユーザー毎に利用可能なプリンターを管理することができる。
【0048】
図11(b)のUIにて印刷設定変更ボタン1112が押下されると、操作部702はプリンター情報要求送信部704に指示し、中継仮想プリンター管理サービス322にプリンター情報を要求する。このとき、情報を必要とするプリンターのVPIDを渡す。中継仮想プリンター管理サービス322はプリンター情報要求受信部510で要求を受信する。プリンター情報要求受信部510は受信したVPIDに関連付いた図12(a)の情報を、プリンター情報格納部505を通して取得する。ここではケーパビリティーズ1204を取得する。プリンター情報要求受信部510は取得した情報をプリンター情報要求送信部704に返送し、プリンター情報要求送信部704は取得した情報を操作部702に返送する。また、操作部702はユーザー情報格納部703に対し、情報を必要とするプリンターのVPIDを渡して情報を要求する。ここでは、ユーザー情報格納部703を通して、図12(b)で管理されている印刷設定規定値1213を取得するものとする。以上により、選択したプリンターのケーパビリティーズと印刷設定を取得する。
【0049】
次に操作部702は、図11(c)に例示する印刷設定画面を表示する。ここで、設定項目とその選択肢は、取得したケーパビリティーズを元に生成される。またその初期設定には、取得した印刷設定規定値が適用される。
【0050】
ユーザーがUI画面を通して設定を変更すると、その設定値は図13(c)のようにXML形式で保持される。図13(c)の例では、両面出力、モノクロ出力、A4サイズ、が設定されている状態を意味する。OKボタン1124が押下されると設定が確定し、操作部702は印刷設定を保持するXMLと該当プリンターのVPIDをユーザー情報格納部703に送る。ユーザー情報格納部703は該当ユーザーの該当プリンターの印刷設定規定値1213を受け取った設定で更新する。
【0051】
以上により、ユーザー毎に、プリンター毎の印刷設定が管理され、同じプリンターでもユーザー毎に異なる規定値を持つことが可能となる。
【0052】
図11(b)のUIにて連携ボタン1115が押下されると、操作部702は連携処理要求送信部710に連携処理を指示する。連携処理要求送信部710は、選択された印刷サービスに対応する連携処理管理サービス324に対して、連携処理要求を送信する。このとき、ユーザーIDと、ユーザーが利用可能なプリンターに対応するVPID一覧、および各VPIDに関連付けられている情報を送る。ここで必要となるVPIDに関連付けられている情報とは、プリンター情報格納部505で管理されているプリンターネーム1203、ケーパビリティーズ1204、およびユーザー情報格納部703で管理されている印刷設定規定値1213である。
【0053】
次に、印刷中継サーバー120が有する連携処理管理サービス324の本登録系に分類される機能について説明する。連携処理管理サービス324は印刷サーバーシステム毎にひとつずつ存在し、印刷サーバーシステムを提供するベンダーにより公開された印刷ジョブを受信するための通信仕様に対応するプロセスを作成する。このプロセスは、その通信仕様に対応するインターフェースを具備するため、印刷サーバーシステムと通信を行うことが可能になる。本実施例では印刷サービス用プロキシー325を生成する。印刷サービス用プロキシー325は、印刷中継サーバー120におけるユーザー毎に設けられており、各印刷サーバーシステムから印刷ジョブを受信する機能を有する。また連携処理管理サービス324は、通信や印刷実行に必要な情報を管理する。
【0054】
以下、図8を用いて連携処理管理サービス324の機能を説明する。
【0055】
連携処理要求受信部801は、連携処理要求送信部710からの要求を受信する。ここでは情報として、プリンターネーム、ケーパビリティーズ、印刷設定を受け取る。連携処理要求受信部801は、受け取った情報を制御部802に送る。制御部802は、受け取った情報を解釈する。制御部802は、ユーザー情報格納部803に指示し、ユーザー情報格納部803が管理する情報に該当するユーザーIDがあるかを確認する。なお、ユーザー情報格納部803が管理する情報の詳細については後述する。
【0056】
ユーザーIDがなかった場合はこのユーザーは初めてこの印刷サービスを利用したことを意味するので、対象の印刷サーバー群にユーザー認証を行う。ここでは、制御部802が印刷サービス認証部810に指示し、印刷サービス認証部810は印刷サーバー群130へのログインを行う。ここでは、ユーザーが、印刷サービス330が表示するログイン画面に、印刷サービスへアクセスするためのユーザーアカウント(IDやパスワード)を入力する。ユーザー認証が成功すると、印刷サービス認証部810は印刷サーバー群130から認証トークンを受け取るので、それを制御部802に渡す。なお、ユーザー認証に失敗した場合は、ユーザーは印刷サービスを利用できないことを意味するため、連携処理要求受信部801から失敗というステータスを連携処理要求送信部710に返す。
【0057】
次に、制御部802はプロキシー作成部811に指示し、印刷サービス用プロキシー325の機能を実現する。印刷サービス用プロキシー325は、図9に示す各機能を実現する。プロキシー作成部811は、対象となる印刷サービスとの通信方式に準拠した通信モジュールAy910を有する。通信モジュールAy910は、印刷サーバー群130と通信を行うためのインターフェースであり、後述する印刷サービス330が有する通信モジュールAx1010と通信を行うことが可能である。プロキシー作成部811は、この通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、印刷サービス用プロキシー325に相当する。印刷サービス用プロキシー325は、通信モジュールの他に、印刷サービスにプリンターを登録する機能、印刷サービスから取得した印刷データや印刷設定を別のモジュールに引き渡す機能を有する。印刷サービス用プロキシー325の各機能の詳細は後述する。
【0058】
プロキシー作成部811は、印刷サービス用プロキシー325を実現した際に、実現した印刷サービス用プロキシー325を識別するための識別情報であるプロキシーIDを発行する。発行されたプロキシーIDは、制御部802へ送られる。尚、印刷サービス用プロキシー325は、ユーザーIDごとに実現されるものであり、実現された夫々の印刷サービス用プロキシーには固有の識別情報であるプロキシーIDが割り当てられる。本実施例では、プロキシーIDから印刷サービス用プロキシー325を特定することができる。
【0059】
なお、プロキシーIDは印刷サービス330が発行する場合もある。このときは、印刷サービス330から受信したプロキシーIDを管理する。
【0060】
印刷サービス用プロキシー325が作成された後、制御部802は、プロキシー要求送信部812に指示し、プリンターの登録を行う。プロキシー要求送信部812は、印刷サービス用プロキシー325に対し、印刷サービス330へのプリンターの登録を要求する。このとき、ユーザーの認証トークン、プロキシーID、VPID一覧とその関連情報を送信する。後述するように、印刷サービス用プロキシー325は、プリンターの登録処理を行うと、各VPIDに対応するSPID(Service Printer ID)を返信する。装置情報に相当するSPIDについての詳細は後述する。SPID一覧を受け取ったプロキシー要求送信部812は、その情報を制御部802に返信する。
【0061】
上述したように、プロキシー作成部811とプロキシー要求送信部812が処理を終えると、制御部802は生成された印刷サービス用プロキシー325のプロキシーIDと、印刷サービス330に登録されたVPIDに対応するSPID一覧を取得する。制御部802は、ユーザー情報格納部803に指示し、印刷中継サーバー120で管理されているユーザーIDと印刷サービス330へのプロキシーID、および関連情報を、図12(c)のように関連付けて格納する。なお、ユーザーIDが1221、プロキシーIDが1222、本ユーザーが利用可能なVPID一覧が1223に相当する。また、制御部802は、プリンター情報格納部804に指示し、SPIDとVPID、および関連情報を、図12(d)のように関連付けて格納する。なお、SPIDが1231、VPIDが1232、プリンターネームが1233、ケーパビリティーズが1234、印刷設定規定値が1235に相当する。このように、登録の際に送信された装置情報、即ちSPIDと、登録された中継仮想プリンター、即ちVPIDとが関連するように保存される。
【0062】
なお、既に印刷サービス用プロキシーを作成しているユーザーが連携処理管理サービス324を再度利用した場合には、上述したプロキシー作成部811の処理をスキップする。その場合、制御部802は、連携処理要求受信部801から受け取ったVPID一覧と、ユーザー情報格納部803に格納されているユーザーに紐付けられたVPID一覧との比較で差があるか確認する。差がある場合は、印刷サービス330に登録されているプリンターと、本ユーザーが利用可能なプリンターが一致していないことを意味する。そこで制御部802は、追加すべきVPIDと削除すべきVPIDを確認し、プロキシー要求送信部812に指示してプリンターの追加や削除を行う。
【0063】
次に、印刷中継サーバー120が有する印刷サービス用プロキシー325の本登録系に分類される機能について説明する。印刷サービス用プロキシー325は、印刷サービス330との通信方式に対応した通信インターフェースを持つプロセスであり、印刷サービスごとに存在する連携処理管理サービス324が、夫々の印刷サービスに対して、ユーザーアカウントごとに生成する。そして、生成された各印刷サービス用プロキシー325が、夫々個別に印刷サービス330と接続されることにより、すべてのユーザーが、すべての印刷サービスに対して、同時に接続されている形態となる。ここでは印刷サービス330に対してプリンターを登録する処理を行う。
【0064】
以下、図9を用いて印刷サービス用プロキシー325の機能を説明する。
【0065】
要求受信部901は、プロキシー要求送信部812からプリンターの登録要求、およびユーザーの認証トークン、プロキシーID、VPID一覧とその関連情報を受け取る。要求受信部901は、印刷サービスプリンター生成部902に登録処理を指示する。印刷サービスプリンター生成部902は、受信した認証トークンを用いて印刷サービス330に接続し、以後接続を続ける。次に印刷サービスプリンター生成部902は、受信した情報を元に印刷サービス330に対してプリンターの登録要求を行う。図13(d)は、印刷サービス330に対する印刷要求情報の一例であり、XMLで記載された情報の中に、プリンターネーム1341、プロキシーID1342、ケーパビリティーズ1343、印刷設定1344が含まれている。ここでは一台分の情報が記載されているが、一度の要求で複数台分をまとめて登録してもよい。
【0066】
印刷サービスプリンター生成部902は、登録要求の応答として、印刷サービス330から装置情報に相当するSPIDを受け取る。図13(e)はその一例で、XMLで記載されており、各プリンターに対応するSPID1351が割り当てられている。ここでは一台分の情報が記載されているが、一度の返信で複数台分をまとめて応答してもよい。印刷サービスプリンター生成部902は受け取ったSPIDを要求受信部901に返信し、要求受信部901は同情報をプロキシー要求送信部812返信する。
【0067】
ここで、もし印刷中継サービスが、各印刷サービスに接続するためのユーザーアカウント情報(ユーザーIDやパスワード)を保持すると、セキュリティ上好ましくないという課題があった。しかし、上述したように、印刷サービスにログインした後は認証トークンを利用して接続を継続する。これにより、仮想中継サーバー上で印刷サービスのユーザーアカウント情報を保持する必要がないので、セキュリティ上のリスクが低減する効果がある。
【0068】
次に、印刷サーバー群130の有する本登録系に分類される機能について説明する。印刷サーバー群130は、印刷サービス330を有する。印刷サーバー群130は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーで印刷サービス330の機能を実現している。なお、印刷サーバー群130は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対して印刷サービス330の機能を実現させている。図3に示す印刷サービス330は、その内の1台を示したものである。
【0069】
印刷サービス330は、プリンターの登録を受け付け、アプリケーションから選択可能なサービスプリンターを作成する。以下、図10を用いて印刷サービス330の機能を説明する。
【0070】
プリンター情報登録部1001は、プリンター登録要求とその関連情報を印刷サービスプリンター生成部902から受信する。プリンター情報登録部1001は、受信した情報を元に登録要求のあった各プリンターに対応するサービスプリンターを作成し、夫々のサービスプリンターに対するSPIDを発行する。
【0071】
ここでSPID(Service Printer ID)について説明する。印刷サービス330は、プリンター登録要求を受けた際に、そのプリンターを識別するための識別情報であるSPIDを発行する。印刷時に印刷サービス330のプリンターが選択されると、印刷サービス330は選択されたプリンターに対応するSPIDでプリンターを識別する。
【0072】
印刷サービス330で発行されたSPIDは、プリンター情報格納部1002、および印刷サービスプリンター生成部902に送信される。
【0073】
プリンター情報格納部1002は、印刷サービス330におけるユーザーIDと、SPID、プリンターネーム、プロキシーID、ケーパビリティーズ、印刷設定を関連付けて格納する。図12(e)は、プリンター情報格納部1002が格納している情報を示す図であり、ユーザーIDが1241、SPIDが1242、プリンターネームが1243、プロキシーIDが1244、ケーパビリティーズが1245、印刷設定が1246に相当する。
【0074】
なお、図12(e)で例示するUserB@xxx.comで管理する情報のように、異なるプロキシーIDを持つインターフェースからプリンター登録を行った場合は、どのプリンターがどのプロキシーから登録されたか判るように管理される。プロキシーID1244は、印刷中継サーバー120のユーザー毎に設けられたプロキシーを特定するための固有情報である。よって、印刷中継サーバー120のプロキシー内の1つのプロキシーは、印刷指定を行う1人のユーザーに関連して登録されている。
【0075】
以上、説明してきた機能が、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する本登録系に分類される機能である。
【0076】
次に、印刷系に分類される機能について説明する。始めに、クライアント140が有する機能について説明する。クライアント140は、Webブラウザー340を有する。
【0077】
Webブラウザー340は、Webアプリケーションサーバー群150に保存されているコンテンツの印刷指示を、Webアプリケーションサーバー群150に送信する。また、Webブラウザー340は、Webアプリケーションサーバー群150から印刷サーバー群130へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバー群130へアクセスする。また、Webブラウザー340は、そのWebブラウザー340を利用しているユーザーが印刷可能なプリンターの一覧リストを、アクセスした印刷サーバー群130から取得し一覧リストを表示する。また、Webブラウザー340は、その一覧リストからユーザーが選択したプリンターに対応する印刷設定画面を、印刷サーバー群130から取得しその印刷設定画面を表示する。図11(c)は、Webブラウザー340が表示するユーザーが選択したプリンターに対応する印刷設定画面の一例である。また、Webブラウザー340は、その印刷設定画面でユーザーが設定した印刷設定値を印刷サーバー群130へ送信する。
【0078】
以上が、クライアント140が有するWebブラウザー340の説明である。
【0079】
次に、Webアプリケーションサーバー群150が有する機能について説明する。Webアプリケーションサーバー群150は、Webアプリケーション350を有する。Webアプリケーションサーバー群150は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーでWebアプリケーション350の機能を実現している。なお、Webアプリケーションサーバー群150は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対してWebアプリケーション350の機能を実現させている。
【0080】
Webアプリケーション350は、文書作成サービスを提供する。ユーザーは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアント140がWebアプリケーション350を利用する場合は、クライアント140にそのアプリケーションをインストールする必要はなく、Webブラウザー340を有していれば良い。Webアプリケーション350は、その資料を作成するための画面情報を、Webブラウザー340に送信する。なお、Webアプリケーション350は、Webブラウザー340を介してユーザーが入力したユーザーID、およびパスワードを含むユーザー情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したWebブラウザー340は、その画面情報を基に文書を作成するための作成画面を表示し、ユーザーはその作成画面を用いて会議で配布する資料を作成する。Webアプリケーション350は、ユーザーがその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツを作成し、Webアプリケーションサーバー群150の記憶装置に作成したコンテンツを記憶させる。なお、Webアプリケーション350は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【0081】
文書作成サービスを利用し作成したコンテンツを印刷したいユーザーは、その作成画面に表示されている印刷ボタンを押す。図15は、印刷ボタン1501が押されていることを示す図である。なお、ユーザーが作成したコンテンツは1502である。Webアプリケーション350は、その印刷ボタンが押されたという情報を受信し、印刷サーバー群130へのアクセス命令、即ち、リダイレクトの指示をWebブラウザー340へ送信する。なお、リダイレクト指示には、上述したWebブラウザー340を利用しているユーザーに対応する一覧リストを取得するための要求、およびユーザーが印刷を指示したコンテンツを識別するためのコンテンツ識別情報、およびユーザー情報が含まれている。また、Webアプリケーション350は、印刷サーバー群130からコンテンツの取得要求があった場合に、その取得要求と共に送られたコンテンツを識別するためのコンテンツ識別情報を基に、対象のコンテンツを印刷サーバー群130へ送信する。
【0082】
以上が、Webアプリケーションサーバー群150が有するWebアプリケーション350の説明である。
【0083】
次に、印刷サーバー群130の有する印刷系に分類される機能について説明する。印刷サーバー群130は、印刷サービス330を有する。印刷サービス330は、Webアプリケーションから印刷データを取得し、プリンター、またはそれに準拠するインターフェースを持つモジュールに対して印刷データを送信し、印刷を遂行する。
【0084】
以下、図10を用いて印刷サービス330の機能を説明する。
【0085】
印刷サービス330は、プリンター情報提示部1003を有する。プリンター情報提示部1003は、Webブラウザー340からの一覧リスト取得要求を受けたことに応じて、一覧リストをWebブラウザー340に送信する。なお、プリンター情報提示部1003は、ユーザー情報を基にプリンター情報格納部1002が格納しているSPID、プリンターネームを特定する。そして、プリンター情報提示部1003は、SPID、プリンターネームを基に、そのユーザーが利用可能なプリンターの一覧リストを生成する。また、プリンター情報提示部1003は、一覧リストからユーザーが選択したプリンターのSPIDを受信する。プリンター情報提示部1003は、受信したSPIDを基にプリンター情報格納部1002が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をWebブラウザー340へ送信する。また、受信したSPIDを基にプリンター情報格納部1002が格納している印刷設定規定値を特定し、設定の初期値とする。
【0086】
プリンター情報格納部1002は、図12(e)に示すケーパビリティーズの情報から図11(c)に示す印刷設定画面を生成する。図11(c)に示すように、プリンター情報格納部1002は、ケーパビリティーズに記載された印刷設定しか選択できないような印刷設定画面を生成する。
【0087】
印刷指示受付部1004は、印刷設定画面を介して設定された印刷設定と、SPIDをWebブラウザー340から受信する。また、印刷指示受付部1004は、Webブラウザー340がリダイレクトの指示に基づいてアクセスしてきた際に、ユーザーが印刷を指示したコンテンツを識別するためのコンテンツ識別情報を受信する。
【0088】
印刷データ情報取得部1005は、印刷指示受付部1004からコンテンツ識別情報を受信し、受信したコンテンツ識別情報を基にWebアプリケーション350から印刷対象となるコンテンツを取得する。また、印刷データ情報取得部1005は、印刷指示受付部1004からユーザーが入力した印刷設定、およびユーザーが選択したプリンターに対応するSPIDを受信する。なお、印刷データ情報取得部1005は、Webアプリケーション350から取得したコンテンツと印刷設定を基に、必要に応じてコンテンツを印刷データに変換する場合もある。
【0089】
制御部1006は、印刷データ情報取得部1005から印刷データ、印刷設定、SPIDを取得する。印刷設定は、図13(c)のようにXML形式で記載されている。図13(c)によれば、ユーザーは両面設定、およびモノクロ設定、および用紙サイズA4を設定したことが分かる。
【0090】
通信モジュールAx1010は、通信モジュールAy910を有する装置と通信を行うことが可能であり、2者間のデータ通信のインターフェースである。通信モジュールAx1010は印刷データ格納部1011、印刷設定格納部1012、印刷通知送信部1013を有する。印刷データ格納部1011は、制御部1006から印刷データを受信し格納する。印刷設定格納部1012は、制御部1006から印刷設定を受信し格納する。制御部1006は、印刷データ格納部1011、および印刷設定格納部1012から格納が終了した旨を受信したことに応じて、印刷通知送信部1013に通知情報を送るように指示をする。
【0091】
印刷通知送信部1013は、制御部1006から通知情報を送るように指示されたことに応じて、印刷データの格納場所、および印刷設定の格納場所を制御部1006から取得し、通知情報Aを生成する。通知情報Aは、図13(f)に示すXMLで表されており、1361にSPIDが、1362に印刷データの格納場所が、1363に印刷設定の格納場所が、夫々記載されている。また、印刷通知送信部1013は、SPIDを制御部1006から取得し、プリンター情報格納部1002が格納している情報を基にプロキシーIDを特定する。印刷通知送信部1013は、特定したプロキシーIDを持つインターフェースに対して、そのプロキシーが管理するSPIDに対する印刷データが準備できたことを通知するため通知情報Aを送信する。
【0092】
この通信情報Aは、印刷サービス独自の通信方式に準拠しており、通信にはこの独自の通信方式を解釈可能なインターフェースの実装が必要となる。プリンターに実装すればプリンターを直接印刷サーバーに登録することができるし、サーバーやクライアントなどの通信可能な装置に実装すればプロキシーとして登録可能となる。本実施例では、通信モジュールAy910がこの独自の通信方式を解釈可能なインターフェースを実装しており、通信モジュールAx1010との通信が可能となっている。
【0093】
なお、通信モジュールAxと、通信モジュールAyが通信を行えるような仕組みを、印刷サーバー群130を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバー群130を管理しているベンダーに深く依存する。印刷サーバー群130を管理しているベンダーは、印刷サーバー群130に通信モジュールAxを実装し、通信モジュールAxと通信を行うための通信モジュールAyの仕様を公開する。また、印刷サーバー群130を管理しているベンダーが公開するデータ通信の仕様は、第1の仕様に相当する。通信モジュールAx、および通信モジュールAyのインターフェースは、第1の仕様に準じて作成されるインターフェースである。そして、通信モジュールAyが第1の通信手段に相当する。
【0094】
なお、ベンダーの仕様に準拠した通信モジュールを搭載しないプリンターは、印刷サービスに接続できないという課題があった。また、ある印刷サービスに対応する通信モジュールを搭載していても、別の通信仕様を持つ印刷サービスには接続できないという課題があった。しかし次に説明する印刷中継サーバー120の印刷系に分類される機能を用いることでこれらの課題は解決する。
【0095】
次に、印刷中継サーバー120の印刷系に分類される機能について説明する。まず印刷サービス用プロキシー325の印刷系に分類される機能について説明する。印刷サービス用プロキシー325は、印刷サービス330から印刷通知とSPIDを受け取り、SPIDに対応するVPIDを特定する。また印刷サービス330から印刷データを受け取り、特定したVPIDに対応する中継仮想プリンター323に送信することで、印刷を遂行する。
【0096】
以下、図9を用いて印刷サービス用プロキシー325の機能を説明する。
【0097】
印刷サービス用プロキシー325は、通信モジュールAy910を有する。通信モジュールAy910の印刷通知受信部913は、印刷通知送信部1013から送信される通知情報Aを受信する。印刷サービス330には、印刷サービス用プロキシー325を通して中継仮想プリンター323が登録されているため、通知情報Aは印刷サービス用プロキシー325の通信モジュールAy910に送信される。この通信モジュールAyは通信モジュールAxと対をなすモジュールであるため、印刷通知受信部913は、通知情報Aを解釈することが可能である。
【0098】
印刷通知受信部913は、制御部915に指示し、出力するプリンターを確定する。制御部915は、まず印刷通知情報AからサービスプリンターSPID1361を取得する。このSPIDは、印刷指定時に指定された画像形成装置であって、印刷サーバーシステムに登録されている該画像形成装置に関する装置情報、即ち、印刷指示受付部1004がユーザーからの指示により受け付けたSPIDである。次に制御部915は、プリンター情報要求送信部916へ、SPIDに対応するVPID値を要求する。プリンター情報要求送信部916は、連携処理管理サービス324へ、SPIDに対応するプリンター情報を要求する。連携処理管理サービス324のプリンター情報要求受信部820は要求を受信し、プリンター情報格納部804から、指定されたSPIDに関連付けられた情報を取得し、プリンター情報要求受信部820へ返信する。プリンター情報要求受信部820は、同情報をプリンター情報要求送信部916へ返信する。プリンター情報要求送信部916は、取得した情報の中からVPID値を取得し、制御部915に送信する。制御部915は取得したVPIDを印刷通知送信部923へ送信する。印刷通知送信部923は、取得したVPIDから、データを送信すべき中継仮想プリンター323を特定する。
【0099】
また、印刷通知受信部913は、通知情報Aに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部911、印刷設定取得部912に通知する。印刷データ取得部911は、通知された印刷データの格納場所を基に、印刷データ格納部1011から印刷データを取得し、印刷データ格納部921に指示して格納する。印刷データを格納した印刷データ格納部921は、格納場所を印刷通知送信部923に通知する。また印刷設定取得部912は、通知された印刷設定の格納場所を基に、印刷設定格納部1012から印刷設定を取得し、印刷設定格納部922に指示して格納する。印刷設定を格納した印刷設定格納部922は、格納場所を印刷通知送信部923に通知する。
【0100】
印刷通知送信部923は、印刷データ格納部921、および印刷設定格納部922から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。通知情報Bは図13(g)に示すXML形式で表現することができる。1371に印刷データの格納場所が記載され、1372に印刷設定の格納場所が記載されている。印刷通知送信部923は、制御部915が特定した中継仮想プリンター323の印刷通知受信部603へ、通知情報Bを送信する。この通知情報Bは第2の仕様に相当し、印刷サービス用プロキシー325と中継仮想プリンター323の間の通信で用いられる。印刷サービス用プロキシー325と中継仮想プリンター323は中継仮想サーバー120内に存在し、任意の組み合わせで通信が可能となる。ここで、第2の仕様は、中継仮想サーバー120の内部フォーマットではあるが、印刷サービス用プロキシー325の実装や扱うデータフォーマットは印刷サービス330に大きく依存するため、汎用性の高いフォーマットとなる。そして、印刷通知送信部923および印刷通知受信部603が、第2の通信手段に相当する。このように、特定された中継仮想プリンターに印刷ジョブを転送する。なお、印刷ジョブを転送する際に、印刷データ、および印刷設定の両方を同時に転送しても良いし、独立したタイミングで転送しても良い。
【0101】
なお、通信モジュールを搭載したプリンターを直接印刷サービスに登録した場合、プリンターを接続しているユーザーアカウント以外のユーザーからはプッシュプリントできないという課題があった。またプリンター側で定期的にユーザーアカウントを切り替えて接続し直した場合、特定のユーザーに順番が回るまで時間がかかり、すぐに印刷できないという課題があった。しかし、印刷サービス用プロキシー325の本登録系に分類される機能で説明したように、印刷サービス用プロキシー325は、印刷中継サーバー120に接続された複数の印刷サーバーシステム毎、かつユーザーID毎に、独立して印刷サービス330と接続されている。従って、印刷サービス330が特定のユーザー向けの印刷準備ができると、印刷サービス用プロキシー325はすぐにその印刷データを受信できる。また、この後説明する中継仮想プリンター323の印刷系機能により、各プリンターに対してプッシュプリントができる。そして、印刷サービス用プロキシー325と、中継仮想プリンター323とは独立している。即ち、印刷サービスとその印刷サービス用のプロキシーは1ユーザーに対し1セッションを確立し、画像形成装置と中継仮想プリンターは1つの画像形成装置に対し1セッションを確立している。更に、装置情報から中継仮想プリンターを特定し、プロキシーから中継仮想プリンターへ印刷ジョブを転送する構成のため、無駄な通信を省きつつプッシュプリントを高速に行うことが可能になる。よって、前述した課題は解決する。更に、印刷中継サーバーシステムのユーザー毎に印刷サービスから印刷ジョブを取得する構成なので、ユーザー毎に印刷ジョブの管理を行うことが可能になる。例えば、印刷サービスをから受信した印刷ジョブの数をユーザー毎に管理できるようになる。印刷サービスを利用した回数に応じて、印刷サービスの利用を制限するような構成も可能となる。
【0102】
また、プロキシーと中継仮想プリンターとを独立させたことによるメリットについてより詳細に説明する。図20(a)は、プロキシーと中継仮想プリンターとを非独立にした場合の構成を示す図である。印刷サービスに登録したプリンターと中継仮想プリンターを紐づける必要がある。印刷サービス毎、かつユーザー毎に中継仮想プリンターを用意すると、ユーザー毎の印刷ジョブの管理を行うことができる。しかしながら、画像形成装置は、各ユーザーの印刷ジョブの確認をするため、複数の中継仮想プリンターにアクセスすることになる。この構成にした場合、印刷中継サーバーに対する通信トラフィックが発生するだけでなく、印刷ジョブの出力が遅くなってしまう。一方、本願発明の構成である図20(b)の構成であれば、上述した効果による印刷処理が可能となる。
【0103】
次に、印刷中継サーバー120の中継仮想プリンター323の印刷系に分類される機能について説明する。中継仮想プリンター323は、印刷サービス用プロキシー325から印刷データを受け取り、同時に受け取る印刷設定を元に印刷ジョブを生成し、プリンター110に送信することで、印刷を遂行する。
【0104】
以下、図6を用いて中継仮想プリンター323の機能を説明する
印刷通知受信部603は、印刷通知送信部923から通知情報Bを受け取る。印刷通知受信部603は、通知情報Bに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部601、印刷設定取得部602に通知する。
【0105】
印刷データ取得部601は、通知された印刷データの格納場所を基に、印刷データ格納部921から印刷データを取得する。印刷設定取得部602は、通知された印刷設定の格納場所を基に、印刷設定格納部922から印刷設定を取得する。
【0106】
印刷ジョブ生成部604は、印刷データ取得部601から印刷データを、また印刷設定取得部602から印刷設定を夫々受け取り、プリンターの能力と印刷設定に応じた印刷ジョブを生成する。ここで言うプリンターの能力とは、プリンターが解釈可能な印刷データのフォーマットや、プリンター自身が指定場所からデータをダウンロードすることが可能かどうか、という情報を含む。これは、中継仮想プリンター322が管理するプリンター情報の中のケーパビリティーズ1204に記載されている。従って、プリンター110が、印刷データ取得部601が受信した印刷データを解釈可能であれば、それを変換せずに印刷ジョブとしてもよい。なお、印刷サービス330から取得した印刷データ、および印刷設定を含む印刷ジョブを一度に取得する構成であっても良い。また、印刷ジョブ生成部604は、取得した印刷データ、および印刷設定、即ち印刷ジョブを基に新たな印刷ジョブを生成する構成であっても良い。新たな印刷ジョブには、例えば、地紋画像が付加された画像データや、帳票印刷用の画像データが含まれることもある。
【0107】
印刷ジョブ生成部604は、生成した印刷ジョブを印刷ジョブ格納部611にて格納し、印刷通知送信部612に格納場所を通知する。印刷通知送信部612は、格納場所を含む通知情報Cを生成し、プリンター110に通知情報Cを送信する。通信モジュールCx610に対応する通信モジュールCy410は、プリンター110に実装されている。
【0108】
上述の如く、プリンター110は、印刷中継サーバー120を介して印刷サーバー群130から印刷データを取得する構成である。これにより、プリンターが、印刷サービスベンダーに適合した通信モジュールを持っていない場合、または印刷サービスベンダーの通信方式が変更された場合、または新しい印刷サービスベンダーに対応する場合でも、デバイスベンダーはプリンター110の通信モジュールを変更する必要はない。デバイスベンダーは、印刷中継システムの印刷サービス用プロキシー325を変更することで、様々なユーザー環境に配置されたプリンター110と印刷サーバー群130との間で通信させることが可能になる。印刷サービス用プロキシー325の変更方法として、印刷サービス用プロキシー325の通信モジュールAyを変更する方法の他、現存する印刷サービス用プロキシー325を破棄し、新たに印刷サービス用プロキシー325を生成する方法が考えられる。
【0109】
また、プリンターでは、印刷サービス330が生成する印刷データがプリンターで解釈可能なフォーマットでない場合は印刷できないという課題があった。しかし、上述のように、中継仮想プリンター323において、プリンター110が解釈可能なフォーマットに変換するため、上記課題は解決する。
【0110】
次に、プリンター110の印刷系に分類される機能について説明する。
プリンター110の印刷制御部110は、中継仮想プリンター323から印刷データを受信し、印刷を実行する。
【0111】
以下に、図4を用いて印刷制御部110の機能を説明する。
【0112】
印刷制御部310は、通信モジュールCy410を有している。通信モジュールCy410の印刷通知受信部412は、印刷通知送信部612から送信されてくる通知情報Cを受信する。この通信モジュールCyは、通信モジュールCxと対を成すモジュールであるため、通知情報Cを解釈することが可能である。なお、中継仮想プリンター323とプリンター110がデータ通信を行うためにデバイスベンダーが規定した仕様は、第3の仕様に相当し、デバイスベンダーがハンドリング可能な仕様である。通信モジュールCx、および通信モジュールCyのインターフェースは、第3の仕様に準じて作成されるインターフェースである。そして、印刷通知送信部612が第3の通信手段に相当する。
【0113】
印刷通知受信部412は、通知情報Cに記載されている印刷ジョブの格納場所を確認し、その情報を印刷ジョブ取得部411に通知する。印刷ジョブ取得部411は、通知された印刷ジョブの格納場所を基に、印刷ジョブ格納部611から印刷ジョブを取得する。印刷通知受信部412は、印刷ジョブ取得部411が取得した印刷ジョブを印刷実行部413に送信し、印刷の実行を指示する。指示を受けた印刷実行部413は、受け取った印刷ジョブを出力するよう印刷ユニットに指示を出す。
【0114】
以上が、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる印刷系の説明である。
【0115】
ここからは、事前登録系に分類される処理、本登録系に分類される処理、印刷系に分類される処理の夫々について、夫々図16、図17、図18のシーケンス図を用いて説明する。
【0116】
一つ目として、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する処理について、図16を用いて説明する。
【0117】
S1601において、ユーザーはプリンター110のUIから中継仮想プリンター管理サービス322への登録操作を行う。S1602において、プリンター110の印刷制御部310は、中継仮想プリンター管理サービス322にプリンターの登録を要求する。S1603において、中継仮想プリンター管理サービス322は、登録情報を基に中継仮想プリンター323を実現する。S1604において、中継仮想プリンター323は、作成成功の応答を中継仮想プリンター管理サービス322へ送信する。S1605において、中継仮想プリンター管理サービス322は、作成した中継仮想プリンター323を識別するためのVPIDを発行する。S1606において、中継仮想プリンター管理サービス322は、VPIDとそれに関連付けられた情報をプリンター情報として格納する。これが図12(a)に示すテーブルに相当し、VPIDが、RPIDやその名称、能力等と関連づけられて管理される。S1607において、中継仮想プリンター管理サービス322は、プリンターの登録が完了した旨を印刷制御部310に通知する。S1608において、印刷制御部310は、印刷制御部310は、プリンター110のUIにプリンターの登録が完了した旨を表示するよう指示を出す。
【0118】
以上が一つ目の事前登録処理の説明となる。
【0119】
続いて、二つ目として、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する処理について、図17を用いて説明する。
【0120】
S1701において、ユーザーはWebブラウザー340を介して、中継仮想サーバー120にログインする。S1702において、中継仮想サーバー120のメイン処理管理サービス321は、作成したUIを通してユーザーの操作を受け付け、印刷サービス330との連携、すなわち印刷サービスへのプリンター登録の要求を受け取る。S1703において、メイン処理管理サービス321は、連携処理管理サービス324に対して、印刷サービス330へプリンターを登録するための要求とプリンター情報を送る。
【0121】
S1704において、連携処理管理サービス324は、 印刷サービス330に対してユーザー認証を行う。ここでは、ユーザーが、印刷サービス330が表示するログイン画面に、印刷サービスへアクセスするためのユーザーアカウント(IDやパスワード)を入力する。S1705において、印刷サービス330は、ユーザー認証が成功すると、認証成功応答と認証トークンを返送する。返送された印刷トークンは、連携処理管理サービス324が受け取る。本認証トークンは、以後印刷サービス330と通信を行うために利用可能となる。本実施例では、印刷サービス用プロキシー325が印刷サービス330と通信を行う際に用いられる。本認証トークンは印刷サービス用プロキシー325に渡れば良いので図示していないが、図12(c)で管理してもよい。S1706において、連携処理管理サービス324は、印刷サービス用プロキシー325を本ユーザーアカウント用に実現する。S1707において、印刷サービス用プロキシー325は、作成成功応答を連携処理管理サービス324へ送信する。S1708において、連携処理管理サービス324は、作成した印刷サービス用プロキシー325を識別するためのプロキシーIDを発行する。S1709において、連携処理管理サービス324は、印刷サービス用プロキシー325に対して、印刷サービス330への認証トークン、及び、印刷サービス330へプリンターを登録するための要求とプリンター情報を送る。S1710において、印刷サービス用プロキシー325は、前述した認証トークンを用いて印刷サービス330と接続を行い、次に印刷サービス330に対して、プリンターを登録するための要求とプリンター情報を送る。S1711において、印刷サービス330は、登録要求のあったプリンターをサービスプリンターとして登録し、サービスプリンターに対して個別に識別するためのSPIDを発行する。その際、印刷サービス330は、図12(e)のテーブルを作成する。S1712において、印刷サービス330は、印刷サービス用プロキシー325に対して、作成成功応答とSPIDを返信する。S1713において、印刷サービス用プロキシー325は、連携処理管理サービス324に対して、作成成功応答とSPIDを返信する。S1714において、連携処理管理サービス324は、ユーザーIDとそれに関連付けられたプロキシーIDなどの情報を、ユーザー情報として格納する。これが図12(c)に示すテーブルに相当する。S1715において、連携処理管理サービス324は、SPIDとそれに関連付けられたVPIDなどの情報を、プリンター情報として格納する。これが図12(d)に示すテーブルに相当する。S1716において、連携処理管理サービス324は、プリンターの登録が完了した旨をメイン処理管理サービス321に通知する。S1717において、メイン処理管理サービス321は、プリンターの登録が完了した旨をWebブラウザー340に表示する。
【0122】
以上が、二つ目の本登録処理の説明となる。
【0123】
以上示した通り、ユーザーアカウント毎に、また印刷サービス毎に印刷サービス用プロキシー325を生成し、それを通してユーザーが利用可能なプリンターを登録することが可能となる
最後に、三つ目として、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる処理について、図18を用いて説明する。
【0124】
S1801において、Webブラウザー340は、ユーザーが編集を行いたいコンテンツの表示を、Webアプリケーション350に要求する。S1802において、Webアプリケーション350は、要求されたコンテンツに対応するコンテンツの画面をWebブラウザー340に送信する。S1803において、Webブラウザー340は、ユーザーがコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス330に登録されているサービスプリンターの一覧画面を要求する。S1804において、印刷サービス330は、対応するサービスプリンターの一覧画面を、Webブラウザー340に送信する。サービスプリンターの一覧画面は、図12(e)のテーブルを参照し、該当するユーザーIDに紐付いたプリンターネーム一覧を取得することで作成可能である。S1805において、Webブラウザー340は、ユーザーが一覧画面からサービスプリンターを選択したことに応じて、選択されたサービスプリンターに対応する印刷設定画面を要求する。S1806において、印刷サービス330は、印刷設定画面をWebブラウザー340に送信する。S1807において、Webブラウザー340は、ユーザーが印刷設定画面を介して入力した印刷設定を印刷サービス330に送信する。
【0125】
S1811において、印刷サービス330は、ユーザーが印刷を指示した印刷データの識別情報をWebアプリケーション350から取得する。また、印刷サービス330は、印刷データの取得、または生成を行い、ダウンロード可能な状態を整える。S1812において、印刷サービス330は、図12(e)を参照し、指定されたプリンターネームと関連付けされているSPIDと印刷サービス用プロキシー325を特定する。即ち、印刷サービス330は、取得された装置情報と一致する図12(e)に示すように保存された装置情報から中継仮想プリンターを特定する。S1813において、印刷サービス330は、特定した印刷サービス用プロキシー325に対して、SPIDで指定されたサービスプリンター向けに印刷データが生成されたことを通知する。S1814において、印刷サービス用プロキシー325は、印刷サービス330に印刷データの取得を要求する。S1815において、印刷サービス用プロキシー325は、印刷サービス330から印刷データを取得する。S1816において、印刷サービス用プロキシー325は、印刷サービス330に印刷設定の取得を要求する。S1817において、印刷サービス用プロキシー325は、印刷サービス330から印刷設定を取得する。
【0126】
S1821において、印刷サービス用プロキシー325は、中継仮想プリンター管理サービス322に、SPIDに対応するVPID値を問い合わせる。S1822において、中継仮想プリンター管理サービス322は、図12(d)を参照し、指定されたSPIDに対応するVPIDを取得し、そのVPID値を印刷サービス用プロキシー325に返信する。S1823において、印刷サービス用プロキシー325は、取得したVPIDで識別される中継仮想プリンター323のプロセスを特定する。S1824において、印刷サービス用プロキシー325は、中継仮想プリンター323に印刷データが生成されたことを通知する。S1825において、中継仮想プリンター323は、印刷サービス用プロキシー325に印刷データの取得を要求する。S1826において、中継仮想プリンター323は、印刷サービス用プロキシー325から印刷データを取得する。S1827において、中継仮想プリンター323は、印刷サービス用プロキシー325に印刷設定の取得を要求する。S1828において、中継仮想プリンター323は、印刷サービス用プロキシー325から印刷設定を取得する。
【0127】
S1831において、中継仮想プリンター323は、取得した印刷設定に基づいて、取得した印刷データから印刷ジョブ(PDLデータやラスターイメージ)を生成する。S1832において、中継仮想プリンター323は、対応するプリンター110の印刷制御部310に印刷ジョブが生成されたことを通知する。ここで、対応するプリンター110は、すなわち、VPIDで識別可能な中継仮想プリンター323に関連付けられているRPIDで識別可能な実際のプリンターは、図12(a)のテーブルより取得可能である。なお、本実施例のように、中継仮想プリンター323を実現する際に、対応するプリンター110と接続関係を結んでおいてもよい。S1833において、印刷制御部310は、中継仮想プリンター323に印刷ジョブの取得を要求する。S1834において、印刷制御部310は、中継仮想プリンター323から印刷ジョブを取得する。S1835において、印刷制御部310は、取得した印刷ジョブを出力するよう印刷ユニットに指示を出す。
【0128】
S1840において、印刷制御部310は、印刷実行結果のステータスを中継仮想プリンター323に送る。S1841において、中継仮想プリンター323は、印刷実行結果のステータスを印刷用プロキシー325に送る。S1842において、印刷用プロキシー325は、印刷実行結果のステータスを印刷サービス330に送る。
【0129】
以上が、三つ目の印刷処理の説明となる。
【0130】
以上示した通り、ブラウザーを通して行った印刷指示は、指定したSPIDを持つ印刷サービス用プロキシーに通知され、SPIDに対応するVPIDが特定され、VPIDに対応するRPIDが特定され、RPIDに対応するプリンターに印刷される。また、印刷サービス用プロキシー325が、印刷サービス330ごとに、かつユーザーID毎に存在するため、いずれのユーザーのいずれの印刷サービスからの印刷も常時プッシュプリントが可能になる。
【0131】
次に、プリンターの追加や削除について説明する。
【0132】
図17のS1703で、プリンターの追加や削除の要求があった場合を説明する。印刷サービス330には既にログインしているため、S1704からS1705はスキップする。また印刷用プロキシー325も既に生成されているため、S1706からS1708はスキップする。
【0133】
S1709において、中継仮想プリンター323は、印刷用プロキシー325に対して、追加または削除の要求とその対象プリンターの情報を送る。
S1710において、印刷用プロキシー325は、印刷サービス330に対して、追加または削除の要求とその対象プリンターの情報を送る。S1711において、印刷サービス330は、追加または削除の要求に応じてサービスプリンターの追加または削除を行う。
【0134】
なお、本実施例において、コンテンツ印刷システム1000内で通信される情報の形式として、図13に示すようにXML形式で表現したが、その他の形式であってもよい。たとえば、図14に示すようにJSON形式で表現されていてもよい。
【実施例2】
【0135】
実施例1では、中継仮想サーバー120上でユーザーが利用可能となっているプリンターは、すべて印刷サービス330に登録する例を示したが、その中から登録するものを選択できても良い。
【0136】
図19(a)は、連携処理管理サービス324上に表示するUIの例で、登録や削除を行うプリンターの選択が可能となる。1901は、印刷サービス330に登録されているプリンター一覧が表示され、選択して印刷サービス330から削除することができる。1902は、印刷サービス330には登録されていないが該当ユーザーが印刷中継サービスで利用可能になっているプリンターの一覧が表示されており、選択して印刷サービス330に追加することができる。
【0137】
この追加や削除の要求は、図17のS1709において印刷サービス用プロキシー325に通知され、さらにS1710によって印刷サービス330に反映される。
【0138】
以上の処理により、中継仮想サーバーで利用可能になっているプリンターの中から、各印刷サービスに登録するプリンターを選択することが可能となる。
【実施例3】
【0139】
実施例1では、図11(b)において、連携する印刷サービスを決めて連携ボタン1115を押下することで連携を実現した。しかし、複数の印刷サービスにまとめてプリンターを登録しても良い。
【0140】
図19(b)は、中継仮想プリンター管理サービス322上に表示するUIの例で、複数の印刷サービスに対してプリンターの一括登録が可能となる。1911は、連携可能な印刷サービスの一覧が表示されており、選択することができる。1912の登録ボタンが押下されると、1911で選択された印刷サービスに対し、ユーザーが利用可能なプリンターを一括して登録することができる。
【0141】
また同手続きは、印刷中継サーバー上でユーザーが利用可能なプリンターを選択する際に行ってもよい。図19(c)は、図11(d)の代わりに表示するプリンターの追加を行うUIの例である。1921は印刷サービス一覧、1922は選択することでユーザーが利用可能になるプリンター一覧、1923は新規プリンター登録の機能を示す。ここで選択したプリンターは単にユーザーが利用可能になるだけでなく、1921で選択した印刷サービスにも登録される。
【0142】
この一括登録は、図17のS1702において操作を受け付ける。また、S1703において、複数の異なる連携処理管理サービス324に対して順次登録要求を行うことで登録を実現する。
【0143】
以上の処理により、一括して登録が可能となることで、ユーザーは利用したい印刷サービスにそれぞれ手続きを行う手間を省くことができる。
【実施例4】
【0144】
実施例3では、ユーザーが複数の印刷サービスを選択した場合、各印刷サービス330に対して順次登録処理が行われる。しかし、各印刷サービスの利用にはユーザー認証が必要な場合があるので、断続的にログイン要求が出るのはユーザーにとって面倒である。本実施例では、複数の印刷サービスに対してプリンターを一括登録する際に、処理の順番を変える例を示す。
【0145】
図17を用いて説明する。メイン処理管理サービスは、S1703にてある連携処理管理サービス324に要求を行うと、連携処理管理サービス324はまずユーザー認証S1704を行い、認証トークンを保持し、いったん処理をメイン処理管理サービス321に返す。同様にメイン処理管理サービス321は次の連携処理管理サービス324に要求を行い、ユーザー認証のみ行う。これらをすべての連携処理管理サービス324に対して行った後、メイン処理管理サービス321は再度夫々の連携処理管理サービス324に要求を行い、印刷サービス330への登録を行う。
【0146】
以上の処理により、ユーザーは作業が必要な処理を最初にまとめて行うことができるため、作業の待ち時間を減らすことができる。
【実施例5】
【0147】
実施3では、図19(c)において、新規プリンターの追加でプリンター情報1923を入力することができた。しかし、印刷サービス330に登録する場合には、印刷サービスに依存して更なる情報が必要になる場合もある。そこで、選択した印刷サービスに依存して、必要となる情報をあらかじめ入力可能とする。
【0148】
図19(c)の1923では、印刷サービス−Aでは項目1が必要であり、他の印刷サービスでは不要であるとする。この場合、1921の選択で、印刷サービス−Aがチェックされていれば項目1を入力可能とし、印刷サービス−Aがチェックされていなければ項目1を入力不可とする。
【0149】
以上の処理により、ユーザーはプリンター登録の際に、印刷サービスに登録するために必要な情報も含めて過不足のない入力が可能となる。
【実施例6】
【0150】
実施例1では、中継仮想プリンター323と、印刷サービス用プロキシー325を異なるプロセスとして説明してきたが、単一のプロセスとして実装しても良い。その場合、印刷サービスごとに、ユーザーIDごとのプロセスを作成する。これにより、いずれの印刷サービスのいずれのユーザーIDに対しても、プッシュプリントが可能となる。
【実施例7】
【0151】
実施例1では、第3の仕様をデバイスベンダーが規定した仕様としたが、デバイスベンダーに依存しない汎用的な仕様を利用してもよい。汎用的な仕様を利用することにより、何れのデバイスベンダーのプリンターでも接続可能なシステムを構築することが可能となる。
【0152】
本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。該プログラムコードを実行することにより、情報処理装置はプログラムコードの記述通りに制御される。
【符号の説明】
【0153】
310 印刷制御部
321 メイン処理管理サービス
322 中継仮想プリンター管理サービス
323 中継仮想プリンター
324 連携処理管理サービス
325 印刷サービス用プロキシー
330 印刷サービス
410 通信モジュールCy
610 通信モジュールCx
910 通信モジュールAy
1010 通信モジュールAx
【技術分野】
【0001】
本発明は、印刷サービスを提供する印刷サーバーシステム、および画像形成装置と通信可能な印刷中継サーバーシステム、その制御方法、およびプログラムに関するものである。
【背景技術】
【0002】
従来、クライアントからサーバーに対して印刷指示を送信し、印刷指示を受信したサーバーが印刷対象のコンテンツを印刷データに変換するコンテンツ印刷システムがある。近年、クラウドコンピューティングの概念が注目されているが、これも前述のシステム同様、サーバーがクライアントにサービスを提供する形態の一つと捉えることができる。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【0003】
中でも注目すべきベンダーはGoogle(登録商標)である。Googleは、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発する等の積極的な動きを見せている。例えば、Googleは画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、Googleが用意したクラウドコンピューティング環境とデータ通信を画像形成装置が行うためのインターフェースを公開した。このインターフェースを画像形成装置に実装することで、画像形成装置とサーバーがインターネットを介して接続されていたとしても、クライアントから画像形成装置を指定し印刷させることが可能になる。
【0004】
ここで、サーバーと画像形成装置とが連携する技術として特許文献1を紹介する。特許文献1では、サーバーが印刷データを生成するサービスが、印刷指示と印刷を制御するための情報とをクライアントから受信し、印刷を制御するための情報を基に印刷データを生成する方法が開示されている。この方法により、クライアントにプリンタードライバをインストールせずに画像形成装置に適した印刷を行うことができるようになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−196054
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、画像形成装置にサーバーと通信するための専用インターフェースの実装が必要なため、既存の画像形成装置、即ち既に販売されているレガシープリンターでは接続できないという問題があった。通信モジュールを含むボードの差し替え等を行えば利用可能となる場合もあるが、作業やコストの負荷が非常に高い。また、複数の印刷サービスに対応するためには、夫々のサービスを提供するベンダーの仕様に適合した通信モジュールを各画像形成装置に実装する必要があるが、複雑になりコストもかかる。また、画像形成装置販売後に追加になった印刷サービスには容易に対応できない場合もある。
【0007】
また、インターフェースを実装した場合でも、サーバーから取得可能な印刷データが、画像形成装置で解釈可能なフォーマットでない場合(たとえば、PDFを解釈できない画像形成装置でPDFデータを受け取った場合)は印刷できない。
【0008】
本発明の目的は、上述した課題の内、少なくとも1つの課題を解決することにある。そのために、印刷サービスを提供する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置との間に印刷中継サーバーを設けることで目的を達成する。
【課題を解決するための手段】
【0009】
本発明の一実施系に係る印刷中継サーバーシステムは、端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムであって、前記印刷中継サーバーシステムにおけるユーザー毎に設けられている、前記印刷サーバーシステムから印刷ジョブを受信するプロキシーと、前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている、受信された印刷ジョブを前記画像形成装置へ送信する中継仮想プリンターと、印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得する取得手段と、取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送することを特徴とする。
【発明の効果】
【0010】
ベンダーの仕様に準拠した通信モジュールを搭載しない画像形成装置でも、印刷サービスと連携することが可能となる。
【図面の簡単な説明】
【0011】
【図1】コンテンツ印刷システム1000の構成を示す図。
【図2】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のハードウェア構成図
【図3】コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成図
【図4】印刷制御部310の構成図
【図5】中継仮想プリンター管理サービス322の構成図
【図6】中継仮想プリンター323の構成図
【図7】メイン処理管理サービス321の構成図
【図8】連携処理管理サービス324の構成図
【図9】印刷サービス用プロキシー325の構成図
【図10】印刷サービス330の構成図
【図11】(a)プリンター登録UIを示す図、(b)ユーザー情報UIを示す図、(c)印刷設定UIを示す図、(d)プリンターの追加/削除UIを示す図
【図12】(a)プリンター情報格納部505が格納する情報を示す図、(b)ユーザー情報格納部703が格納する情報を示す図、(c)ユーザー情報格納部803が格納する情報を示す図、(d)プリンター情報格納部804が格納する情報を示す図、(e)プリンター情報格納部1002が格納する情報を示す図
【図13】(a)XML形式で表現されたケーパビリティーズを示す図、(b)XML形式で表現された印刷設定初期値を示す図、(c)XML形式で表現された印刷設定を示す図、(d)XML形式で表現されたプリンター登録要求を示す図、(e)XML形式で表現されたプリンター登録要求の返信を示す図、(f)XML形式で表現された通知情報Aを示す図、(g)XML形式で表現された通知情報Bを示す図
【図14】(a)JSON形式で表現されたケーパビリティーズを示す図、(b)JSON形式で表現された印刷設定初期値を示す図、(c)JSON形式で表現された印刷設定を示す図、(d)JSON形式で表現されたプリンター登録要求を示す図、(e)JSON形式で表現されたプリンター登録要求の返信を示す図、(f)JSON形式で表現された通知情報Aを示す図、(g)JSON形式で表現された通知情報Bを示す図
【図15】印刷ボタン1501が押されていることを示す図
【図16】プリンター110を印刷中継サーバー120に登録する事前登録系処理を示すシーケンス図
【図17】中継仮想プリンター323を印刷サービス330に登録する本登録系処理を示すシーケンス図
【図18】印刷サーバー群130から送信される印刷データをプリンター110に印刷させる印刷系処理を示すシーケンス図
【図19】(a)印刷サービスのユーザー情報UIを示す図、(b)ユーザー情報UIを示す図、(c)プリンターの追加UIを示す図
【図20】(a)プロキシーと中継仮想プリンターとを非独立にした場合の構成図、(b)プロキシーと中継仮想プリンターとを独立にした場合の構成図。
【発明を実施するための形態】
【0012】
画像形成装置がアプリケーションサーバー上のコンテンツを印刷するシステムを想定する。ユーザー認証が必要なアプリケーションサーバーのコンテンツの印刷を行う際に、画像形成装置がクライアントから取得したユーザー情報に基づいて印刷サーバーにログインし、コンテンツを基に生成された印刷データを取得して印刷する方法が考えられる。
【0013】
画像形成装置が一度ログインした後、接続(セッション)を保持することで、ログインしたユーザーアカウントの印刷データはプッシュプリントが可能となる。しかしながら、別のアカウントを持つユーザーは印刷ができない。なぜなら、画像形成装置は別のユーザーが確立したセッションを保持しているからである。つまり、このままでは複数のユーザーからのプッシュプリントができない。
【0014】
また、画像形成装置本体で定期的にユーザーアカウントを切り替えるという方法も考えられるが、そのためには各ユーザーアカウントのIDやパスワードを画像形成装置に保持しなければならないため、セキュリティ上の問題があった。またユーザー数が多くなると各ユーザーの印刷順番が回るまでに時間がかかり、すぐに印刷されない。
【0015】
本発明はインターフェースを提供しているベンダーの環境と、プリンターとを中継する印刷中継サーバーに関する発明であって、複数の印刷サービス、かつ複数のユーザーアカウントからプッシュプリントを行う際に、通信の無駄を省いたプッシュプリントを可能とするシステムの提供を目的の1つとする。
【0016】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0017】
始めに、実施例1におけるコンテンツ印刷システム1000の構成について説明する。図1は、コンテンツ印刷システム1000の構成を示す図である。コンテンツシステム1000は、クライアント140、プリンター110を含む。2つの装置はユーザー環境に配置された装置であり、ネットワーク100を介して互いに接続されており、ネットワーク100はインターネット101に接続されている。また、コンテンツ印刷システム1000は、Webアプリケーションサーバー群150、印刷サーバー群130を含む。2つのサーバー群は、同じベンダーから提供されたサーバー群である場合もある。その場合は、両サーバー群はネットワーク100を介して接続されていてもよい。
【0018】
また、コンテンツ印刷システム1000は、印刷中継サーバー120を含む。印刷中継サーバー120はネットワーク100に接続されており、ネットワーク100はインターネット101に接続されている。コンテンツ印刷システム1000を構成する各装置、および各サーバー群は、インターネット101を介して接続可能であり、互いにデータ通信することができる。なお、各装置は1台のみであるが複数台あっても良い。また、各サーバー群は複数台で構成されているが1台であっても良い。よって、図1に記載されたサーバー装置、およびサーバー群をサーバーシステムと呼ぶこととする。例えば、印刷サーバー群130は印刷サーバーシステムに相当し、印刷中継サーバー120は印刷中継サーバーシステムに相当し、Webアプリケーションサーバー群150はアプリケーションサーバーシステムに相当する。また、プリンター110は画像形成装置に相当する。
【0019】
次に、コンテンツ印刷システム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を介してデータの送受信を行うことが可能である。また、プリンター110は、印刷ユニット(不図示)を搭載しており、印刷ユニットは、バス207を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを記録媒体に印刷することが可能なユニットである。
【0020】
次に、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成について説明する。図3は、コンテンツ印刷システム1000を構成する各装置、および各サーバー群のソフトウェア構成を示している。図3に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバー群のROM203に記憶されており、CPU202がRAM204にプログラムをロードし実行することで、これらの機能は実現される。
【0021】
これより、各装置、および各サーバー群が有する機能について説明する。ここで説明される機能は、次の3つの系に分類される。
【0022】
一つ目の系に分類される機能は、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する、事前登録系に分類される機能である。
二つ目の系に分類される機能は、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する本登録系に分類される機能である。
三つ目の系に分類される機能は、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる印刷系に分類される機能である。
【0023】
なお、各サーバーシステム、およびデバイスの機能の概略を説明すると、印刷サーバー群130は、クライアント140である端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する機能を有する。Webアプリケーションサーバー群150は、クライアントからの要求に対しコンテンツを生成するための画面を提供する他、その画面を介して入力された情報を基にコンテンツを生成し、生成されたコンテンツを保存する機能を有する。また、プリンター110は、印刷ジョブを出力する機能を有する。クライアント140は、Webアプリケーションサーバー群150、印刷サーバー群130が提供するサービスを、例えば、Webブラウザーのようなアプリケーションを介して受ける。また、クライアント140は、印刷中継サーバー120、プリンター110とも通信を行うことが可能である。
【0024】
まず、一つ目の系である事前登録系の機能について説明する。はじめに、プリンター110が有する事前登録系に分類される機能について説明する。プリンター110は、印刷制御部310を有する。印刷制御部310は、ユーザーの画面操作により、操作しているプリンターを印刷中継サーバー120に登録する。
【0025】
以下、図4を用いて印刷制御部310の機能を説明する
表示部401は、各種画面を表示する。ここでは、図11(a)に例示するUI(User Interface)を表示するものとする。ユーザーは本UIを通してプリンター110を印刷中継サーバー120に登録する指示を行うことができる。なお、印刷中継サーバーのURLやIPアドレスが入力できるようになっていても良い。入力可能であれば任意の印刷中継サーバーへの登録が可能となる。ただし実施例1では、URLやIPアドレスは内部的に記録されている値を使うものとする。
【0026】
ここで印刷中継サービス120にログインするためのユーザーID1101とパスワード1102を入力し、登録実行ボタン1103を押下すると、表示部401は登録要求送信部402に入力情報を送り、登録実行を指示する。登録要求送信部402は受信した入力情報を使ってまず印刷中継サーバー120にログインを行い、成功すれば、印刷中継サーバー120に対して本プリンターの登録情報を送信する。なお、登録指示は、プリンター110からではなく、後述するように印刷中継サーバー120からでも良い。
【0027】
ここで登録情報について説明する。登録情報には、プリンター110に割り当てられた固有の識別情報であるRPID(Real Printer ID)が含まれる。プリンター110を含む各プリンター(不図示)には、夫々固有の識別情報が割り当てられており、この識別情報により各プリンターは特定される。実施例1では、RPIDを特定することでプリンターの配置場所を特定できる。
【0028】
また、登録情報には、プリンター110のプリンターネームが含まれている。プリンターネームとは、プリンター110に割り当てられた名前であり、プリンター110を呼称するときに用いるものである。なお、プリンターネームは識別情報と異なり、各プリンターのプリンターネームが同一である場合もある。
【0029】
また、登録情報にはケーパビリティーズが含まれている。ケーパビリティーズとは、例えば、プリンター110が両面印刷可能であるか否か、およびカラー印刷可能であるか否か、および出力可能ペーパサイズ等の情報を含む。ケーパビリティーズは、図13(a)に示すようにXML形式で表現が可能である。この<Item>が、プリンター110の能力を示しており、プリンター110は、両面印刷可能であり、かつカラー出力可能であり、かつB5サイズ、およびA4サイズ、およびA3サイズの紙を出力可能であることが示されている。
【0030】
また、登録情報には印刷設定初期値が含まれている。図13(b)に示すようにXML形式で表現が可能であり、図13(a)のサブセットとなっており、各機能においていずれかの<Item>が選ばれている状態となる。図13(b)の例では、片面出力、カラー出力、A4サイズ、が設定されていることを意味する。
【0031】
次に、印刷中継サーバー120が有する事前登録系に分類される機能について説明する。印刷中継サーバー120は、中継仮想プリンター管理サービス部322を有する。中継仮想プリンター管理サービス部322は、プリンター登録要求を受信し、中継仮想プリンター323を生成する。中継仮想プリンターは、印刷中継サーバー120に接続されている画像形成装置毎に設けられており、受信された印刷ジョブを画像形成装置、即ちプリンター110へ送信する機能を有する。
【0032】
以下、図5を用いて中継仮想プリンター管理サービス部322の機能の詳細な説明を行う。
【0033】
登録要求受信部501は、登録要求送信部402から送信された登録情報を受信する。制御部502は、登録要求受信部501が受信した登録情報を取得し、その登録情報を解釈する。制御部502は、仮想プリンター生成部503へ、中継仮想プリンター323を生成する指示を出す。
【0034】
仮想プリンター生成部503は、対象となるプリンターとの通信方式に準拠した通信モジュールCx610を有する。通信モジュールCx610は、プリンター110と通信を行うためのインターフェースであり、前述したプリンター110が有する通信モジュールCy410と通信を行うことが可能である。
【0035】
仮想プリンター生成部503は、この通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、図6に示す各機能を実現する中継仮想プリンター323に相当する。中継仮想プリンター323は通信モジュールの他に、印刷通知を受け付けて印刷データ、および印刷設定を含む印刷ジョブを取得する機能、およびその印刷ジョブから新たな印刷ジョブを生成する機能を有する。各機能の詳細は後述する。
【0036】
仮想プリンター生成部503は、中継仮想プリンター323を実現した際に、実現した中継仮想プリンター323を識別するための識別情報であるVPID(Virtual Printer ID)を発行する。発行されたVPIDは、制御部502へ送られる。なお、中継仮想プリンターは、プリンター110から登録情報が送られる毎に実現される仮想プリンターであり、実現された夫々の中継仮想プリンターには固有の識別子であるVPIDが割り当てられる。実施例1では、VPIDを特定することで中継仮想プリンターを特定することが可能となる。
【0037】
仮想プリンター生成部503からVPIDを取得した制御部502は、プリンター情報格納部505に情報を格納するよう指示を出す。プリンター情報格納部505は、VPID、および登録情報を図12(a)に示すように関連付けて格納する。プリンター情報格納部505が格納する登録情報は、VPIDが1201、RPIDが1202、プリンターネームが1203、ケーパビリティーズが1204、印刷設定規定値が1205に相当する。
【0038】
なお、仮想プリンターは、個別のプロセスではなく、単一プロセスの中で論理的に区別して処理する構造であってもよい。すなわち、VPIDを特定することで対応するRPIDを制御できる構造であれば良い。
【0039】
以上、説明してきた機能が、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する事前登録系に分類される機能である。
【0040】
続いて、二つ目の系である本登録系に分類される機能について説明する。はじめに、印刷中継サーバー120が有する本登録系に分類される機能について説明する。印刷中継サーバー120は、メイン処理管理サービス部321を有する。メイン処理管理サービス部321は、印刷サービス330に非依存な共通処理部であり、ここではユーザーの指示に従って中継仮想プリンター323を印刷サービスに登録するための前処理を行う。
【0041】
以下、図7を用いてメイン処理管理サービス部321の機能を説明する。
【0042】
ログイン受付部701は、クライアント140がWebブラウザー340を通して行うログインを受け付ける。ユーザー認証が完了すると、ログインしたユーザーアカウントに応じた処理を行う。
【0043】
次に操作部702で、図11(b)に例示するようなユーザー操作を受け付ける画面を表示する。本画面もユーザー毎に設定されている情報に基づいて生成される。図11(b)には、該当ユーザーが利用可能なプリンター1111の一覧が表示されており、夫々のプリンターに対して印刷設定変更ボタン1112が配置される。また、該当ユーザーが利用できるプリンターを管理するための追加/削除ボタン1113が配置されている。また、印刷サービスベンダー一覧1114が表示されており、夫々の印刷サービスと連携するための連携ボタン1115がある。
【0044】
追加/削除ボタン1113が押下されると、図11(d)に例示するプリンターの追加/削除画面が表示される。ここでは、ユーザーにとって既に利用可能となっているプリンター一覧1131と、前記プリンターを削除するための削除ボタン1132が表示される。また、印刷中継サーバー120で利用可能でありユーザーが利用要求を出すことが可能なプリンター一覧1133と、追加要求を行うための追加ボタン1134が表示される。また、新たに印刷中継サーバー120にプリンターを登録するための情報入力欄1135と登録実行ボタン1136も表示されている。情報入力欄1135と登録実行ボタン1136は、前述したプリンター110の登録要求送信部402で行う処理と同等の処理をサーバーの操作画面上で行うものである。
【0045】
ここでユーザーが利用可能となるプリンターが決まると、操作部702はユーザー情報格納部703に指示し、図12(b)に示すように、ユーザーIDと利用可能なプリンターを識別するVPID、および夫々の印刷設定を関連付けて格納する。格納する情報は、ユーザーIDが1211、VPIDが1212、各VPIDの印刷設定規定値が1213となる。ユーザーがプリンターの追加や削除を行うと、ユーザーID1211に紐付くプリンター1212が増減する。印刷設定規定値1213は、アプリケーションからプリンターを選択して印刷設定を行う際の規定値となる。
【0046】
また、印刷設定規定値1213の初期値は、図12(a)に格納されている印刷設定初期値1205となる。この情報取得は以下の流れとなる。まず、操作部702はプリンター情報要求送信部704に指示し、中継仮想プリンター管理サービス322にプリンター情報を要求する。このとき、情報を必要とするプリンターのVPIDを渡す。中継仮想プリンター管理サービス322はプリンター情報要求受信部510で要求を受信する。プリンター情報要求受信部510は受信したVPIDに関連付いた図12(a)の情報を、プリンター情報格納部505を通して取得する。ここでは印刷設定初期値1205を取得する。プリンター情報要求受信部510は取得した情報をプリンター情報要求送信部704に返送し、プリンター情報要求送信部704は取得した情報を操作部702に返送する。以上により、印刷設定初期値が取得される。
【0047】
図11(d)の画面にて、OKボタン1137が押下されることで利用可能なプリンターは確定し、図11(b)の画面に戻る。この画面では、利用可能なプリンターの表示が更新される。以上により、ユーザー毎に利用可能なプリンターを管理することができる。
【0048】
図11(b)のUIにて印刷設定変更ボタン1112が押下されると、操作部702はプリンター情報要求送信部704に指示し、中継仮想プリンター管理サービス322にプリンター情報を要求する。このとき、情報を必要とするプリンターのVPIDを渡す。中継仮想プリンター管理サービス322はプリンター情報要求受信部510で要求を受信する。プリンター情報要求受信部510は受信したVPIDに関連付いた図12(a)の情報を、プリンター情報格納部505を通して取得する。ここではケーパビリティーズ1204を取得する。プリンター情報要求受信部510は取得した情報をプリンター情報要求送信部704に返送し、プリンター情報要求送信部704は取得した情報を操作部702に返送する。また、操作部702はユーザー情報格納部703に対し、情報を必要とするプリンターのVPIDを渡して情報を要求する。ここでは、ユーザー情報格納部703を通して、図12(b)で管理されている印刷設定規定値1213を取得するものとする。以上により、選択したプリンターのケーパビリティーズと印刷設定を取得する。
【0049】
次に操作部702は、図11(c)に例示する印刷設定画面を表示する。ここで、設定項目とその選択肢は、取得したケーパビリティーズを元に生成される。またその初期設定には、取得した印刷設定規定値が適用される。
【0050】
ユーザーがUI画面を通して設定を変更すると、その設定値は図13(c)のようにXML形式で保持される。図13(c)の例では、両面出力、モノクロ出力、A4サイズ、が設定されている状態を意味する。OKボタン1124が押下されると設定が確定し、操作部702は印刷設定を保持するXMLと該当プリンターのVPIDをユーザー情報格納部703に送る。ユーザー情報格納部703は該当ユーザーの該当プリンターの印刷設定規定値1213を受け取った設定で更新する。
【0051】
以上により、ユーザー毎に、プリンター毎の印刷設定が管理され、同じプリンターでもユーザー毎に異なる規定値を持つことが可能となる。
【0052】
図11(b)のUIにて連携ボタン1115が押下されると、操作部702は連携処理要求送信部710に連携処理を指示する。連携処理要求送信部710は、選択された印刷サービスに対応する連携処理管理サービス324に対して、連携処理要求を送信する。このとき、ユーザーIDと、ユーザーが利用可能なプリンターに対応するVPID一覧、および各VPIDに関連付けられている情報を送る。ここで必要となるVPIDに関連付けられている情報とは、プリンター情報格納部505で管理されているプリンターネーム1203、ケーパビリティーズ1204、およびユーザー情報格納部703で管理されている印刷設定規定値1213である。
【0053】
次に、印刷中継サーバー120が有する連携処理管理サービス324の本登録系に分類される機能について説明する。連携処理管理サービス324は印刷サーバーシステム毎にひとつずつ存在し、印刷サーバーシステムを提供するベンダーにより公開された印刷ジョブを受信するための通信仕様に対応するプロセスを作成する。このプロセスは、その通信仕様に対応するインターフェースを具備するため、印刷サーバーシステムと通信を行うことが可能になる。本実施例では印刷サービス用プロキシー325を生成する。印刷サービス用プロキシー325は、印刷中継サーバー120におけるユーザー毎に設けられており、各印刷サーバーシステムから印刷ジョブを受信する機能を有する。また連携処理管理サービス324は、通信や印刷実行に必要な情報を管理する。
【0054】
以下、図8を用いて連携処理管理サービス324の機能を説明する。
【0055】
連携処理要求受信部801は、連携処理要求送信部710からの要求を受信する。ここでは情報として、プリンターネーム、ケーパビリティーズ、印刷設定を受け取る。連携処理要求受信部801は、受け取った情報を制御部802に送る。制御部802は、受け取った情報を解釈する。制御部802は、ユーザー情報格納部803に指示し、ユーザー情報格納部803が管理する情報に該当するユーザーIDがあるかを確認する。なお、ユーザー情報格納部803が管理する情報の詳細については後述する。
【0056】
ユーザーIDがなかった場合はこのユーザーは初めてこの印刷サービスを利用したことを意味するので、対象の印刷サーバー群にユーザー認証を行う。ここでは、制御部802が印刷サービス認証部810に指示し、印刷サービス認証部810は印刷サーバー群130へのログインを行う。ここでは、ユーザーが、印刷サービス330が表示するログイン画面に、印刷サービスへアクセスするためのユーザーアカウント(IDやパスワード)を入力する。ユーザー認証が成功すると、印刷サービス認証部810は印刷サーバー群130から認証トークンを受け取るので、それを制御部802に渡す。なお、ユーザー認証に失敗した場合は、ユーザーは印刷サービスを利用できないことを意味するため、連携処理要求受信部801から失敗というステータスを連携処理要求送信部710に返す。
【0057】
次に、制御部802はプロキシー作成部811に指示し、印刷サービス用プロキシー325の機能を実現する。印刷サービス用プロキシー325は、図9に示す各機能を実現する。プロキシー作成部811は、対象となる印刷サービスとの通信方式に準拠した通信モジュールAy910を有する。通信モジュールAy910は、印刷サーバー群130と通信を行うためのインターフェースであり、後述する印刷サービス330が有する通信モジュールAx1010と通信を行うことが可能である。プロキシー作成部811は、この通信モジュールをロードしたプロセス(スレッド)を実現する。このプロセスが、印刷サービス用プロキシー325に相当する。印刷サービス用プロキシー325は、通信モジュールの他に、印刷サービスにプリンターを登録する機能、印刷サービスから取得した印刷データや印刷設定を別のモジュールに引き渡す機能を有する。印刷サービス用プロキシー325の各機能の詳細は後述する。
【0058】
プロキシー作成部811は、印刷サービス用プロキシー325を実現した際に、実現した印刷サービス用プロキシー325を識別するための識別情報であるプロキシーIDを発行する。発行されたプロキシーIDは、制御部802へ送られる。尚、印刷サービス用プロキシー325は、ユーザーIDごとに実現されるものであり、実現された夫々の印刷サービス用プロキシーには固有の識別情報であるプロキシーIDが割り当てられる。本実施例では、プロキシーIDから印刷サービス用プロキシー325を特定することができる。
【0059】
なお、プロキシーIDは印刷サービス330が発行する場合もある。このときは、印刷サービス330から受信したプロキシーIDを管理する。
【0060】
印刷サービス用プロキシー325が作成された後、制御部802は、プロキシー要求送信部812に指示し、プリンターの登録を行う。プロキシー要求送信部812は、印刷サービス用プロキシー325に対し、印刷サービス330へのプリンターの登録を要求する。このとき、ユーザーの認証トークン、プロキシーID、VPID一覧とその関連情報を送信する。後述するように、印刷サービス用プロキシー325は、プリンターの登録処理を行うと、各VPIDに対応するSPID(Service Printer ID)を返信する。装置情報に相当するSPIDについての詳細は後述する。SPID一覧を受け取ったプロキシー要求送信部812は、その情報を制御部802に返信する。
【0061】
上述したように、プロキシー作成部811とプロキシー要求送信部812が処理を終えると、制御部802は生成された印刷サービス用プロキシー325のプロキシーIDと、印刷サービス330に登録されたVPIDに対応するSPID一覧を取得する。制御部802は、ユーザー情報格納部803に指示し、印刷中継サーバー120で管理されているユーザーIDと印刷サービス330へのプロキシーID、および関連情報を、図12(c)のように関連付けて格納する。なお、ユーザーIDが1221、プロキシーIDが1222、本ユーザーが利用可能なVPID一覧が1223に相当する。また、制御部802は、プリンター情報格納部804に指示し、SPIDとVPID、および関連情報を、図12(d)のように関連付けて格納する。なお、SPIDが1231、VPIDが1232、プリンターネームが1233、ケーパビリティーズが1234、印刷設定規定値が1235に相当する。このように、登録の際に送信された装置情報、即ちSPIDと、登録された中継仮想プリンター、即ちVPIDとが関連するように保存される。
【0062】
なお、既に印刷サービス用プロキシーを作成しているユーザーが連携処理管理サービス324を再度利用した場合には、上述したプロキシー作成部811の処理をスキップする。その場合、制御部802は、連携処理要求受信部801から受け取ったVPID一覧と、ユーザー情報格納部803に格納されているユーザーに紐付けられたVPID一覧との比較で差があるか確認する。差がある場合は、印刷サービス330に登録されているプリンターと、本ユーザーが利用可能なプリンターが一致していないことを意味する。そこで制御部802は、追加すべきVPIDと削除すべきVPIDを確認し、プロキシー要求送信部812に指示してプリンターの追加や削除を行う。
【0063】
次に、印刷中継サーバー120が有する印刷サービス用プロキシー325の本登録系に分類される機能について説明する。印刷サービス用プロキシー325は、印刷サービス330との通信方式に対応した通信インターフェースを持つプロセスであり、印刷サービスごとに存在する連携処理管理サービス324が、夫々の印刷サービスに対して、ユーザーアカウントごとに生成する。そして、生成された各印刷サービス用プロキシー325が、夫々個別に印刷サービス330と接続されることにより、すべてのユーザーが、すべての印刷サービスに対して、同時に接続されている形態となる。ここでは印刷サービス330に対してプリンターを登録する処理を行う。
【0064】
以下、図9を用いて印刷サービス用プロキシー325の機能を説明する。
【0065】
要求受信部901は、プロキシー要求送信部812からプリンターの登録要求、およびユーザーの認証トークン、プロキシーID、VPID一覧とその関連情報を受け取る。要求受信部901は、印刷サービスプリンター生成部902に登録処理を指示する。印刷サービスプリンター生成部902は、受信した認証トークンを用いて印刷サービス330に接続し、以後接続を続ける。次に印刷サービスプリンター生成部902は、受信した情報を元に印刷サービス330に対してプリンターの登録要求を行う。図13(d)は、印刷サービス330に対する印刷要求情報の一例であり、XMLで記載された情報の中に、プリンターネーム1341、プロキシーID1342、ケーパビリティーズ1343、印刷設定1344が含まれている。ここでは一台分の情報が記載されているが、一度の要求で複数台分をまとめて登録してもよい。
【0066】
印刷サービスプリンター生成部902は、登録要求の応答として、印刷サービス330から装置情報に相当するSPIDを受け取る。図13(e)はその一例で、XMLで記載されており、各プリンターに対応するSPID1351が割り当てられている。ここでは一台分の情報が記載されているが、一度の返信で複数台分をまとめて応答してもよい。印刷サービスプリンター生成部902は受け取ったSPIDを要求受信部901に返信し、要求受信部901は同情報をプロキシー要求送信部812返信する。
【0067】
ここで、もし印刷中継サービスが、各印刷サービスに接続するためのユーザーアカウント情報(ユーザーIDやパスワード)を保持すると、セキュリティ上好ましくないという課題があった。しかし、上述したように、印刷サービスにログインした後は認証トークンを利用して接続を継続する。これにより、仮想中継サーバー上で印刷サービスのユーザーアカウント情報を保持する必要がないので、セキュリティ上のリスクが低減する効果がある。
【0068】
次に、印刷サーバー群130の有する本登録系に分類される機能について説明する。印刷サーバー群130は、印刷サービス330を有する。印刷サーバー群130は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーで印刷サービス330の機能を実現している。なお、印刷サーバー群130は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対して印刷サービス330の機能を実現させている。図3に示す印刷サービス330は、その内の1台を示したものである。
【0069】
印刷サービス330は、プリンターの登録を受け付け、アプリケーションから選択可能なサービスプリンターを作成する。以下、図10を用いて印刷サービス330の機能を説明する。
【0070】
プリンター情報登録部1001は、プリンター登録要求とその関連情報を印刷サービスプリンター生成部902から受信する。プリンター情報登録部1001は、受信した情報を元に登録要求のあった各プリンターに対応するサービスプリンターを作成し、夫々のサービスプリンターに対するSPIDを発行する。
【0071】
ここでSPID(Service Printer ID)について説明する。印刷サービス330は、プリンター登録要求を受けた際に、そのプリンターを識別するための識別情報であるSPIDを発行する。印刷時に印刷サービス330のプリンターが選択されると、印刷サービス330は選択されたプリンターに対応するSPIDでプリンターを識別する。
【0072】
印刷サービス330で発行されたSPIDは、プリンター情報格納部1002、および印刷サービスプリンター生成部902に送信される。
【0073】
プリンター情報格納部1002は、印刷サービス330におけるユーザーIDと、SPID、プリンターネーム、プロキシーID、ケーパビリティーズ、印刷設定を関連付けて格納する。図12(e)は、プリンター情報格納部1002が格納している情報を示す図であり、ユーザーIDが1241、SPIDが1242、プリンターネームが1243、プロキシーIDが1244、ケーパビリティーズが1245、印刷設定が1246に相当する。
【0074】
なお、図12(e)で例示するUserB@xxx.comで管理する情報のように、異なるプロキシーIDを持つインターフェースからプリンター登録を行った場合は、どのプリンターがどのプロキシーから登録されたか判るように管理される。プロキシーID1244は、印刷中継サーバー120のユーザー毎に設けられたプロキシーを特定するための固有情報である。よって、印刷中継サーバー120のプロキシー内の1つのプロキシーは、印刷指定を行う1人のユーザーに関連して登録されている。
【0075】
以上、説明してきた機能が、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する本登録系に分類される機能である。
【0076】
次に、印刷系に分類される機能について説明する。始めに、クライアント140が有する機能について説明する。クライアント140は、Webブラウザー340を有する。
【0077】
Webブラウザー340は、Webアプリケーションサーバー群150に保存されているコンテンツの印刷指示を、Webアプリケーションサーバー群150に送信する。また、Webブラウザー340は、Webアプリケーションサーバー群150から印刷サーバー群130へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバー群130へアクセスする。また、Webブラウザー340は、そのWebブラウザー340を利用しているユーザーが印刷可能なプリンターの一覧リストを、アクセスした印刷サーバー群130から取得し一覧リストを表示する。また、Webブラウザー340は、その一覧リストからユーザーが選択したプリンターに対応する印刷設定画面を、印刷サーバー群130から取得しその印刷設定画面を表示する。図11(c)は、Webブラウザー340が表示するユーザーが選択したプリンターに対応する印刷設定画面の一例である。また、Webブラウザー340は、その印刷設定画面でユーザーが設定した印刷設定値を印刷サーバー群130へ送信する。
【0078】
以上が、クライアント140が有するWebブラウザー340の説明である。
【0079】
次に、Webアプリケーションサーバー群150が有する機能について説明する。Webアプリケーションサーバー群150は、Webアプリケーション350を有する。Webアプリケーションサーバー群150は、複数台のサーバーを仮想化して1台のサーバーとみなし、その1台のサーバーでWebアプリケーション350の機能を実現している。なお、Webアプリケーションサーバー群150は、その1台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対してWebアプリケーション350の機能を実現させている。
【0080】
Webアプリケーション350は、文書作成サービスを提供する。ユーザーは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアント140がWebアプリケーション350を利用する場合は、クライアント140にそのアプリケーションをインストールする必要はなく、Webブラウザー340を有していれば良い。Webアプリケーション350は、その資料を作成するための画面情報を、Webブラウザー340に送信する。なお、Webアプリケーション350は、Webブラウザー340を介してユーザーが入力したユーザーID、およびパスワードを含むユーザー情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したWebブラウザー340は、その画面情報を基に文書を作成するための作成画面を表示し、ユーザーはその作成画面を用いて会議で配布する資料を作成する。Webアプリケーション350は、ユーザーがその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツを作成し、Webアプリケーションサーバー群150の記憶装置に作成したコンテンツを記憶させる。なお、Webアプリケーション350は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【0081】
文書作成サービスを利用し作成したコンテンツを印刷したいユーザーは、その作成画面に表示されている印刷ボタンを押す。図15は、印刷ボタン1501が押されていることを示す図である。なお、ユーザーが作成したコンテンツは1502である。Webアプリケーション350は、その印刷ボタンが押されたという情報を受信し、印刷サーバー群130へのアクセス命令、即ち、リダイレクトの指示をWebブラウザー340へ送信する。なお、リダイレクト指示には、上述したWebブラウザー340を利用しているユーザーに対応する一覧リストを取得するための要求、およびユーザーが印刷を指示したコンテンツを識別するためのコンテンツ識別情報、およびユーザー情報が含まれている。また、Webアプリケーション350は、印刷サーバー群130からコンテンツの取得要求があった場合に、その取得要求と共に送られたコンテンツを識別するためのコンテンツ識別情報を基に、対象のコンテンツを印刷サーバー群130へ送信する。
【0082】
以上が、Webアプリケーションサーバー群150が有するWebアプリケーション350の説明である。
【0083】
次に、印刷サーバー群130の有する印刷系に分類される機能について説明する。印刷サーバー群130は、印刷サービス330を有する。印刷サービス330は、Webアプリケーションから印刷データを取得し、プリンター、またはそれに準拠するインターフェースを持つモジュールに対して印刷データを送信し、印刷を遂行する。
【0084】
以下、図10を用いて印刷サービス330の機能を説明する。
【0085】
印刷サービス330は、プリンター情報提示部1003を有する。プリンター情報提示部1003は、Webブラウザー340からの一覧リスト取得要求を受けたことに応じて、一覧リストをWebブラウザー340に送信する。なお、プリンター情報提示部1003は、ユーザー情報を基にプリンター情報格納部1002が格納しているSPID、プリンターネームを特定する。そして、プリンター情報提示部1003は、SPID、プリンターネームを基に、そのユーザーが利用可能なプリンターの一覧リストを生成する。また、プリンター情報提示部1003は、一覧リストからユーザーが選択したプリンターのSPIDを受信する。プリンター情報提示部1003は、受信したSPIDを基にプリンター情報格納部1002が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をWebブラウザー340へ送信する。また、受信したSPIDを基にプリンター情報格納部1002が格納している印刷設定規定値を特定し、設定の初期値とする。
【0086】
プリンター情報格納部1002は、図12(e)に示すケーパビリティーズの情報から図11(c)に示す印刷設定画面を生成する。図11(c)に示すように、プリンター情報格納部1002は、ケーパビリティーズに記載された印刷設定しか選択できないような印刷設定画面を生成する。
【0087】
印刷指示受付部1004は、印刷設定画面を介して設定された印刷設定と、SPIDをWebブラウザー340から受信する。また、印刷指示受付部1004は、Webブラウザー340がリダイレクトの指示に基づいてアクセスしてきた際に、ユーザーが印刷を指示したコンテンツを識別するためのコンテンツ識別情報を受信する。
【0088】
印刷データ情報取得部1005は、印刷指示受付部1004からコンテンツ識別情報を受信し、受信したコンテンツ識別情報を基にWebアプリケーション350から印刷対象となるコンテンツを取得する。また、印刷データ情報取得部1005は、印刷指示受付部1004からユーザーが入力した印刷設定、およびユーザーが選択したプリンターに対応するSPIDを受信する。なお、印刷データ情報取得部1005は、Webアプリケーション350から取得したコンテンツと印刷設定を基に、必要に応じてコンテンツを印刷データに変換する場合もある。
【0089】
制御部1006は、印刷データ情報取得部1005から印刷データ、印刷設定、SPIDを取得する。印刷設定は、図13(c)のようにXML形式で記載されている。図13(c)によれば、ユーザーは両面設定、およびモノクロ設定、および用紙サイズA4を設定したことが分かる。
【0090】
通信モジュールAx1010は、通信モジュールAy910を有する装置と通信を行うことが可能であり、2者間のデータ通信のインターフェースである。通信モジュールAx1010は印刷データ格納部1011、印刷設定格納部1012、印刷通知送信部1013を有する。印刷データ格納部1011は、制御部1006から印刷データを受信し格納する。印刷設定格納部1012は、制御部1006から印刷設定を受信し格納する。制御部1006は、印刷データ格納部1011、および印刷設定格納部1012から格納が終了した旨を受信したことに応じて、印刷通知送信部1013に通知情報を送るように指示をする。
【0091】
印刷通知送信部1013は、制御部1006から通知情報を送るように指示されたことに応じて、印刷データの格納場所、および印刷設定の格納場所を制御部1006から取得し、通知情報Aを生成する。通知情報Aは、図13(f)に示すXMLで表されており、1361にSPIDが、1362に印刷データの格納場所が、1363に印刷設定の格納場所が、夫々記載されている。また、印刷通知送信部1013は、SPIDを制御部1006から取得し、プリンター情報格納部1002が格納している情報を基にプロキシーIDを特定する。印刷通知送信部1013は、特定したプロキシーIDを持つインターフェースに対して、そのプロキシーが管理するSPIDに対する印刷データが準備できたことを通知するため通知情報Aを送信する。
【0092】
この通信情報Aは、印刷サービス独自の通信方式に準拠しており、通信にはこの独自の通信方式を解釈可能なインターフェースの実装が必要となる。プリンターに実装すればプリンターを直接印刷サーバーに登録することができるし、サーバーやクライアントなどの通信可能な装置に実装すればプロキシーとして登録可能となる。本実施例では、通信モジュールAy910がこの独自の通信方式を解釈可能なインターフェースを実装しており、通信モジュールAx1010との通信が可能となっている。
【0093】
なお、通信モジュールAxと、通信モジュールAyが通信を行えるような仕組みを、印刷サーバー群130を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバー群130を管理しているベンダーに深く依存する。印刷サーバー群130を管理しているベンダーは、印刷サーバー群130に通信モジュールAxを実装し、通信モジュールAxと通信を行うための通信モジュールAyの仕様を公開する。また、印刷サーバー群130を管理しているベンダーが公開するデータ通信の仕様は、第1の仕様に相当する。通信モジュールAx、および通信モジュールAyのインターフェースは、第1の仕様に準じて作成されるインターフェースである。そして、通信モジュールAyが第1の通信手段に相当する。
【0094】
なお、ベンダーの仕様に準拠した通信モジュールを搭載しないプリンターは、印刷サービスに接続できないという課題があった。また、ある印刷サービスに対応する通信モジュールを搭載していても、別の通信仕様を持つ印刷サービスには接続できないという課題があった。しかし次に説明する印刷中継サーバー120の印刷系に分類される機能を用いることでこれらの課題は解決する。
【0095】
次に、印刷中継サーバー120の印刷系に分類される機能について説明する。まず印刷サービス用プロキシー325の印刷系に分類される機能について説明する。印刷サービス用プロキシー325は、印刷サービス330から印刷通知とSPIDを受け取り、SPIDに対応するVPIDを特定する。また印刷サービス330から印刷データを受け取り、特定したVPIDに対応する中継仮想プリンター323に送信することで、印刷を遂行する。
【0096】
以下、図9を用いて印刷サービス用プロキシー325の機能を説明する。
【0097】
印刷サービス用プロキシー325は、通信モジュールAy910を有する。通信モジュールAy910の印刷通知受信部913は、印刷通知送信部1013から送信される通知情報Aを受信する。印刷サービス330には、印刷サービス用プロキシー325を通して中継仮想プリンター323が登録されているため、通知情報Aは印刷サービス用プロキシー325の通信モジュールAy910に送信される。この通信モジュールAyは通信モジュールAxと対をなすモジュールであるため、印刷通知受信部913は、通知情報Aを解釈することが可能である。
【0098】
印刷通知受信部913は、制御部915に指示し、出力するプリンターを確定する。制御部915は、まず印刷通知情報AからサービスプリンターSPID1361を取得する。このSPIDは、印刷指定時に指定された画像形成装置であって、印刷サーバーシステムに登録されている該画像形成装置に関する装置情報、即ち、印刷指示受付部1004がユーザーからの指示により受け付けたSPIDである。次に制御部915は、プリンター情報要求送信部916へ、SPIDに対応するVPID値を要求する。プリンター情報要求送信部916は、連携処理管理サービス324へ、SPIDに対応するプリンター情報を要求する。連携処理管理サービス324のプリンター情報要求受信部820は要求を受信し、プリンター情報格納部804から、指定されたSPIDに関連付けられた情報を取得し、プリンター情報要求受信部820へ返信する。プリンター情報要求受信部820は、同情報をプリンター情報要求送信部916へ返信する。プリンター情報要求送信部916は、取得した情報の中からVPID値を取得し、制御部915に送信する。制御部915は取得したVPIDを印刷通知送信部923へ送信する。印刷通知送信部923は、取得したVPIDから、データを送信すべき中継仮想プリンター323を特定する。
【0099】
また、印刷通知受信部913は、通知情報Aに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部911、印刷設定取得部912に通知する。印刷データ取得部911は、通知された印刷データの格納場所を基に、印刷データ格納部1011から印刷データを取得し、印刷データ格納部921に指示して格納する。印刷データを格納した印刷データ格納部921は、格納場所を印刷通知送信部923に通知する。また印刷設定取得部912は、通知された印刷設定の格納場所を基に、印刷設定格納部1012から印刷設定を取得し、印刷設定格納部922に指示して格納する。印刷設定を格納した印刷設定格納部922は、格納場所を印刷通知送信部923に通知する。
【0100】
印刷通知送信部923は、印刷データ格納部921、および印刷設定格納部922から格納場所の通知を受け付けたことに応じて、通知情報Bを生成する。通知情報Bは図13(g)に示すXML形式で表現することができる。1371に印刷データの格納場所が記載され、1372に印刷設定の格納場所が記載されている。印刷通知送信部923は、制御部915が特定した中継仮想プリンター323の印刷通知受信部603へ、通知情報Bを送信する。この通知情報Bは第2の仕様に相当し、印刷サービス用プロキシー325と中継仮想プリンター323の間の通信で用いられる。印刷サービス用プロキシー325と中継仮想プリンター323は中継仮想サーバー120内に存在し、任意の組み合わせで通信が可能となる。ここで、第2の仕様は、中継仮想サーバー120の内部フォーマットではあるが、印刷サービス用プロキシー325の実装や扱うデータフォーマットは印刷サービス330に大きく依存するため、汎用性の高いフォーマットとなる。そして、印刷通知送信部923および印刷通知受信部603が、第2の通信手段に相当する。このように、特定された中継仮想プリンターに印刷ジョブを転送する。なお、印刷ジョブを転送する際に、印刷データ、および印刷設定の両方を同時に転送しても良いし、独立したタイミングで転送しても良い。
【0101】
なお、通信モジュールを搭載したプリンターを直接印刷サービスに登録した場合、プリンターを接続しているユーザーアカウント以外のユーザーからはプッシュプリントできないという課題があった。またプリンター側で定期的にユーザーアカウントを切り替えて接続し直した場合、特定のユーザーに順番が回るまで時間がかかり、すぐに印刷できないという課題があった。しかし、印刷サービス用プロキシー325の本登録系に分類される機能で説明したように、印刷サービス用プロキシー325は、印刷中継サーバー120に接続された複数の印刷サーバーシステム毎、かつユーザーID毎に、独立して印刷サービス330と接続されている。従って、印刷サービス330が特定のユーザー向けの印刷準備ができると、印刷サービス用プロキシー325はすぐにその印刷データを受信できる。また、この後説明する中継仮想プリンター323の印刷系機能により、各プリンターに対してプッシュプリントができる。そして、印刷サービス用プロキシー325と、中継仮想プリンター323とは独立している。即ち、印刷サービスとその印刷サービス用のプロキシーは1ユーザーに対し1セッションを確立し、画像形成装置と中継仮想プリンターは1つの画像形成装置に対し1セッションを確立している。更に、装置情報から中継仮想プリンターを特定し、プロキシーから中継仮想プリンターへ印刷ジョブを転送する構成のため、無駄な通信を省きつつプッシュプリントを高速に行うことが可能になる。よって、前述した課題は解決する。更に、印刷中継サーバーシステムのユーザー毎に印刷サービスから印刷ジョブを取得する構成なので、ユーザー毎に印刷ジョブの管理を行うことが可能になる。例えば、印刷サービスをから受信した印刷ジョブの数をユーザー毎に管理できるようになる。印刷サービスを利用した回数に応じて、印刷サービスの利用を制限するような構成も可能となる。
【0102】
また、プロキシーと中継仮想プリンターとを独立させたことによるメリットについてより詳細に説明する。図20(a)は、プロキシーと中継仮想プリンターとを非独立にした場合の構成を示す図である。印刷サービスに登録したプリンターと中継仮想プリンターを紐づける必要がある。印刷サービス毎、かつユーザー毎に中継仮想プリンターを用意すると、ユーザー毎の印刷ジョブの管理を行うことができる。しかしながら、画像形成装置は、各ユーザーの印刷ジョブの確認をするため、複数の中継仮想プリンターにアクセスすることになる。この構成にした場合、印刷中継サーバーに対する通信トラフィックが発生するだけでなく、印刷ジョブの出力が遅くなってしまう。一方、本願発明の構成である図20(b)の構成であれば、上述した効果による印刷処理が可能となる。
【0103】
次に、印刷中継サーバー120の中継仮想プリンター323の印刷系に分類される機能について説明する。中継仮想プリンター323は、印刷サービス用プロキシー325から印刷データを受け取り、同時に受け取る印刷設定を元に印刷ジョブを生成し、プリンター110に送信することで、印刷を遂行する。
【0104】
以下、図6を用いて中継仮想プリンター323の機能を説明する
印刷通知受信部603は、印刷通知送信部923から通知情報Bを受け取る。印刷通知受信部603は、通知情報Bに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部601、印刷設定取得部602に通知する。
【0105】
印刷データ取得部601は、通知された印刷データの格納場所を基に、印刷データ格納部921から印刷データを取得する。印刷設定取得部602は、通知された印刷設定の格納場所を基に、印刷設定格納部922から印刷設定を取得する。
【0106】
印刷ジョブ生成部604は、印刷データ取得部601から印刷データを、また印刷設定取得部602から印刷設定を夫々受け取り、プリンターの能力と印刷設定に応じた印刷ジョブを生成する。ここで言うプリンターの能力とは、プリンターが解釈可能な印刷データのフォーマットや、プリンター自身が指定場所からデータをダウンロードすることが可能かどうか、という情報を含む。これは、中継仮想プリンター322が管理するプリンター情報の中のケーパビリティーズ1204に記載されている。従って、プリンター110が、印刷データ取得部601が受信した印刷データを解釈可能であれば、それを変換せずに印刷ジョブとしてもよい。なお、印刷サービス330から取得した印刷データ、および印刷設定を含む印刷ジョブを一度に取得する構成であっても良い。また、印刷ジョブ生成部604は、取得した印刷データ、および印刷設定、即ち印刷ジョブを基に新たな印刷ジョブを生成する構成であっても良い。新たな印刷ジョブには、例えば、地紋画像が付加された画像データや、帳票印刷用の画像データが含まれることもある。
【0107】
印刷ジョブ生成部604は、生成した印刷ジョブを印刷ジョブ格納部611にて格納し、印刷通知送信部612に格納場所を通知する。印刷通知送信部612は、格納場所を含む通知情報Cを生成し、プリンター110に通知情報Cを送信する。通信モジュールCx610に対応する通信モジュールCy410は、プリンター110に実装されている。
【0108】
上述の如く、プリンター110は、印刷中継サーバー120を介して印刷サーバー群130から印刷データを取得する構成である。これにより、プリンターが、印刷サービスベンダーに適合した通信モジュールを持っていない場合、または印刷サービスベンダーの通信方式が変更された場合、または新しい印刷サービスベンダーに対応する場合でも、デバイスベンダーはプリンター110の通信モジュールを変更する必要はない。デバイスベンダーは、印刷中継システムの印刷サービス用プロキシー325を変更することで、様々なユーザー環境に配置されたプリンター110と印刷サーバー群130との間で通信させることが可能になる。印刷サービス用プロキシー325の変更方法として、印刷サービス用プロキシー325の通信モジュールAyを変更する方法の他、現存する印刷サービス用プロキシー325を破棄し、新たに印刷サービス用プロキシー325を生成する方法が考えられる。
【0109】
また、プリンターでは、印刷サービス330が生成する印刷データがプリンターで解釈可能なフォーマットでない場合は印刷できないという課題があった。しかし、上述のように、中継仮想プリンター323において、プリンター110が解釈可能なフォーマットに変換するため、上記課題は解決する。
【0110】
次に、プリンター110の印刷系に分類される機能について説明する。
プリンター110の印刷制御部110は、中継仮想プリンター323から印刷データを受信し、印刷を実行する。
【0111】
以下に、図4を用いて印刷制御部110の機能を説明する。
【0112】
印刷制御部310は、通信モジュールCy410を有している。通信モジュールCy410の印刷通知受信部412は、印刷通知送信部612から送信されてくる通知情報Cを受信する。この通信モジュールCyは、通信モジュールCxと対を成すモジュールであるため、通知情報Cを解釈することが可能である。なお、中継仮想プリンター323とプリンター110がデータ通信を行うためにデバイスベンダーが規定した仕様は、第3の仕様に相当し、デバイスベンダーがハンドリング可能な仕様である。通信モジュールCx、および通信モジュールCyのインターフェースは、第3の仕様に準じて作成されるインターフェースである。そして、印刷通知送信部612が第3の通信手段に相当する。
【0113】
印刷通知受信部412は、通知情報Cに記載されている印刷ジョブの格納場所を確認し、その情報を印刷ジョブ取得部411に通知する。印刷ジョブ取得部411は、通知された印刷ジョブの格納場所を基に、印刷ジョブ格納部611から印刷ジョブを取得する。印刷通知受信部412は、印刷ジョブ取得部411が取得した印刷ジョブを印刷実行部413に送信し、印刷の実行を指示する。指示を受けた印刷実行部413は、受け取った印刷ジョブを出力するよう印刷ユニットに指示を出す。
【0114】
以上が、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる印刷系の説明である。
【0115】
ここからは、事前登録系に分類される処理、本登録系に分類される処理、印刷系に分類される処理の夫々について、夫々図16、図17、図18のシーケンス図を用いて説明する。
【0116】
一つ目として、プリンター110を印刷中継サーバー120に登録し、印刷中継サーバー120内に中継仮想プリンター323を実現する処理について、図16を用いて説明する。
【0117】
S1601において、ユーザーはプリンター110のUIから中継仮想プリンター管理サービス322への登録操作を行う。S1602において、プリンター110の印刷制御部310は、中継仮想プリンター管理サービス322にプリンターの登録を要求する。S1603において、中継仮想プリンター管理サービス322は、登録情報を基に中継仮想プリンター323を実現する。S1604において、中継仮想プリンター323は、作成成功の応答を中継仮想プリンター管理サービス322へ送信する。S1605において、中継仮想プリンター管理サービス322は、作成した中継仮想プリンター323を識別するためのVPIDを発行する。S1606において、中継仮想プリンター管理サービス322は、VPIDとそれに関連付けられた情報をプリンター情報として格納する。これが図12(a)に示すテーブルに相当し、VPIDが、RPIDやその名称、能力等と関連づけられて管理される。S1607において、中継仮想プリンター管理サービス322は、プリンターの登録が完了した旨を印刷制御部310に通知する。S1608において、印刷制御部310は、印刷制御部310は、プリンター110のUIにプリンターの登録が完了した旨を表示するよう指示を出す。
【0118】
以上が一つ目の事前登録処理の説明となる。
【0119】
続いて、二つ目として、印刷中継サーバー120で管理される中継仮想プリンター323を、印刷サービス用プロキシー325を通して印刷サービス330に登録する処理について、図17を用いて説明する。
【0120】
S1701において、ユーザーはWebブラウザー340を介して、中継仮想サーバー120にログインする。S1702において、中継仮想サーバー120のメイン処理管理サービス321は、作成したUIを通してユーザーの操作を受け付け、印刷サービス330との連携、すなわち印刷サービスへのプリンター登録の要求を受け取る。S1703において、メイン処理管理サービス321は、連携処理管理サービス324に対して、印刷サービス330へプリンターを登録するための要求とプリンター情報を送る。
【0121】
S1704において、連携処理管理サービス324は、 印刷サービス330に対してユーザー認証を行う。ここでは、ユーザーが、印刷サービス330が表示するログイン画面に、印刷サービスへアクセスするためのユーザーアカウント(IDやパスワード)を入力する。S1705において、印刷サービス330は、ユーザー認証が成功すると、認証成功応答と認証トークンを返送する。返送された印刷トークンは、連携処理管理サービス324が受け取る。本認証トークンは、以後印刷サービス330と通信を行うために利用可能となる。本実施例では、印刷サービス用プロキシー325が印刷サービス330と通信を行う際に用いられる。本認証トークンは印刷サービス用プロキシー325に渡れば良いので図示していないが、図12(c)で管理してもよい。S1706において、連携処理管理サービス324は、印刷サービス用プロキシー325を本ユーザーアカウント用に実現する。S1707において、印刷サービス用プロキシー325は、作成成功応答を連携処理管理サービス324へ送信する。S1708において、連携処理管理サービス324は、作成した印刷サービス用プロキシー325を識別するためのプロキシーIDを発行する。S1709において、連携処理管理サービス324は、印刷サービス用プロキシー325に対して、印刷サービス330への認証トークン、及び、印刷サービス330へプリンターを登録するための要求とプリンター情報を送る。S1710において、印刷サービス用プロキシー325は、前述した認証トークンを用いて印刷サービス330と接続を行い、次に印刷サービス330に対して、プリンターを登録するための要求とプリンター情報を送る。S1711において、印刷サービス330は、登録要求のあったプリンターをサービスプリンターとして登録し、サービスプリンターに対して個別に識別するためのSPIDを発行する。その際、印刷サービス330は、図12(e)のテーブルを作成する。S1712において、印刷サービス330は、印刷サービス用プロキシー325に対して、作成成功応答とSPIDを返信する。S1713において、印刷サービス用プロキシー325は、連携処理管理サービス324に対して、作成成功応答とSPIDを返信する。S1714において、連携処理管理サービス324は、ユーザーIDとそれに関連付けられたプロキシーIDなどの情報を、ユーザー情報として格納する。これが図12(c)に示すテーブルに相当する。S1715において、連携処理管理サービス324は、SPIDとそれに関連付けられたVPIDなどの情報を、プリンター情報として格納する。これが図12(d)に示すテーブルに相当する。S1716において、連携処理管理サービス324は、プリンターの登録が完了した旨をメイン処理管理サービス321に通知する。S1717において、メイン処理管理サービス321は、プリンターの登録が完了した旨をWebブラウザー340に表示する。
【0122】
以上が、二つ目の本登録処理の説明となる。
【0123】
以上示した通り、ユーザーアカウント毎に、また印刷サービス毎に印刷サービス用プロキシー325を生成し、それを通してユーザーが利用可能なプリンターを登録することが可能となる
最後に、三つ目として、印刷サーバー群130が生成した印刷データを、印刷中継サーバー120を経由して、印刷データをプリンター110に印刷させる処理について、図18を用いて説明する。
【0124】
S1801において、Webブラウザー340は、ユーザーが編集を行いたいコンテンツの表示を、Webアプリケーション350に要求する。S1802において、Webアプリケーション350は、要求されたコンテンツに対応するコンテンツの画面をWebブラウザー340に送信する。S1803において、Webブラウザー340は、ユーザーがコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス330に登録されているサービスプリンターの一覧画面を要求する。S1804において、印刷サービス330は、対応するサービスプリンターの一覧画面を、Webブラウザー340に送信する。サービスプリンターの一覧画面は、図12(e)のテーブルを参照し、該当するユーザーIDに紐付いたプリンターネーム一覧を取得することで作成可能である。S1805において、Webブラウザー340は、ユーザーが一覧画面からサービスプリンターを選択したことに応じて、選択されたサービスプリンターに対応する印刷設定画面を要求する。S1806において、印刷サービス330は、印刷設定画面をWebブラウザー340に送信する。S1807において、Webブラウザー340は、ユーザーが印刷設定画面を介して入力した印刷設定を印刷サービス330に送信する。
【0125】
S1811において、印刷サービス330は、ユーザーが印刷を指示した印刷データの識別情報をWebアプリケーション350から取得する。また、印刷サービス330は、印刷データの取得、または生成を行い、ダウンロード可能な状態を整える。S1812において、印刷サービス330は、図12(e)を参照し、指定されたプリンターネームと関連付けされているSPIDと印刷サービス用プロキシー325を特定する。即ち、印刷サービス330は、取得された装置情報と一致する図12(e)に示すように保存された装置情報から中継仮想プリンターを特定する。S1813において、印刷サービス330は、特定した印刷サービス用プロキシー325に対して、SPIDで指定されたサービスプリンター向けに印刷データが生成されたことを通知する。S1814において、印刷サービス用プロキシー325は、印刷サービス330に印刷データの取得を要求する。S1815において、印刷サービス用プロキシー325は、印刷サービス330から印刷データを取得する。S1816において、印刷サービス用プロキシー325は、印刷サービス330に印刷設定の取得を要求する。S1817において、印刷サービス用プロキシー325は、印刷サービス330から印刷設定を取得する。
【0126】
S1821において、印刷サービス用プロキシー325は、中継仮想プリンター管理サービス322に、SPIDに対応するVPID値を問い合わせる。S1822において、中継仮想プリンター管理サービス322は、図12(d)を参照し、指定されたSPIDに対応するVPIDを取得し、そのVPID値を印刷サービス用プロキシー325に返信する。S1823において、印刷サービス用プロキシー325は、取得したVPIDで識別される中継仮想プリンター323のプロセスを特定する。S1824において、印刷サービス用プロキシー325は、中継仮想プリンター323に印刷データが生成されたことを通知する。S1825において、中継仮想プリンター323は、印刷サービス用プロキシー325に印刷データの取得を要求する。S1826において、中継仮想プリンター323は、印刷サービス用プロキシー325から印刷データを取得する。S1827において、中継仮想プリンター323は、印刷サービス用プロキシー325に印刷設定の取得を要求する。S1828において、中継仮想プリンター323は、印刷サービス用プロキシー325から印刷設定を取得する。
【0127】
S1831において、中継仮想プリンター323は、取得した印刷設定に基づいて、取得した印刷データから印刷ジョブ(PDLデータやラスターイメージ)を生成する。S1832において、中継仮想プリンター323は、対応するプリンター110の印刷制御部310に印刷ジョブが生成されたことを通知する。ここで、対応するプリンター110は、すなわち、VPIDで識別可能な中継仮想プリンター323に関連付けられているRPIDで識別可能な実際のプリンターは、図12(a)のテーブルより取得可能である。なお、本実施例のように、中継仮想プリンター323を実現する際に、対応するプリンター110と接続関係を結んでおいてもよい。S1833において、印刷制御部310は、中継仮想プリンター323に印刷ジョブの取得を要求する。S1834において、印刷制御部310は、中継仮想プリンター323から印刷ジョブを取得する。S1835において、印刷制御部310は、取得した印刷ジョブを出力するよう印刷ユニットに指示を出す。
【0128】
S1840において、印刷制御部310は、印刷実行結果のステータスを中継仮想プリンター323に送る。S1841において、中継仮想プリンター323は、印刷実行結果のステータスを印刷用プロキシー325に送る。S1842において、印刷用プロキシー325は、印刷実行結果のステータスを印刷サービス330に送る。
【0129】
以上が、三つ目の印刷処理の説明となる。
【0130】
以上示した通り、ブラウザーを通して行った印刷指示は、指定したSPIDを持つ印刷サービス用プロキシーに通知され、SPIDに対応するVPIDが特定され、VPIDに対応するRPIDが特定され、RPIDに対応するプリンターに印刷される。また、印刷サービス用プロキシー325が、印刷サービス330ごとに、かつユーザーID毎に存在するため、いずれのユーザーのいずれの印刷サービスからの印刷も常時プッシュプリントが可能になる。
【0131】
次に、プリンターの追加や削除について説明する。
【0132】
図17のS1703で、プリンターの追加や削除の要求があった場合を説明する。印刷サービス330には既にログインしているため、S1704からS1705はスキップする。また印刷用プロキシー325も既に生成されているため、S1706からS1708はスキップする。
【0133】
S1709において、中継仮想プリンター323は、印刷用プロキシー325に対して、追加または削除の要求とその対象プリンターの情報を送る。
S1710において、印刷用プロキシー325は、印刷サービス330に対して、追加または削除の要求とその対象プリンターの情報を送る。S1711において、印刷サービス330は、追加または削除の要求に応じてサービスプリンターの追加または削除を行う。
【0134】
なお、本実施例において、コンテンツ印刷システム1000内で通信される情報の形式として、図13に示すようにXML形式で表現したが、その他の形式であってもよい。たとえば、図14に示すようにJSON形式で表現されていてもよい。
【実施例2】
【0135】
実施例1では、中継仮想サーバー120上でユーザーが利用可能となっているプリンターは、すべて印刷サービス330に登録する例を示したが、その中から登録するものを選択できても良い。
【0136】
図19(a)は、連携処理管理サービス324上に表示するUIの例で、登録や削除を行うプリンターの選択が可能となる。1901は、印刷サービス330に登録されているプリンター一覧が表示され、選択して印刷サービス330から削除することができる。1902は、印刷サービス330には登録されていないが該当ユーザーが印刷中継サービスで利用可能になっているプリンターの一覧が表示されており、選択して印刷サービス330に追加することができる。
【0137】
この追加や削除の要求は、図17のS1709において印刷サービス用プロキシー325に通知され、さらにS1710によって印刷サービス330に反映される。
【0138】
以上の処理により、中継仮想サーバーで利用可能になっているプリンターの中から、各印刷サービスに登録するプリンターを選択することが可能となる。
【実施例3】
【0139】
実施例1では、図11(b)において、連携する印刷サービスを決めて連携ボタン1115を押下することで連携を実現した。しかし、複数の印刷サービスにまとめてプリンターを登録しても良い。
【0140】
図19(b)は、中継仮想プリンター管理サービス322上に表示するUIの例で、複数の印刷サービスに対してプリンターの一括登録が可能となる。1911は、連携可能な印刷サービスの一覧が表示されており、選択することができる。1912の登録ボタンが押下されると、1911で選択された印刷サービスに対し、ユーザーが利用可能なプリンターを一括して登録することができる。
【0141】
また同手続きは、印刷中継サーバー上でユーザーが利用可能なプリンターを選択する際に行ってもよい。図19(c)は、図11(d)の代わりに表示するプリンターの追加を行うUIの例である。1921は印刷サービス一覧、1922は選択することでユーザーが利用可能になるプリンター一覧、1923は新規プリンター登録の機能を示す。ここで選択したプリンターは単にユーザーが利用可能になるだけでなく、1921で選択した印刷サービスにも登録される。
【0142】
この一括登録は、図17のS1702において操作を受け付ける。また、S1703において、複数の異なる連携処理管理サービス324に対して順次登録要求を行うことで登録を実現する。
【0143】
以上の処理により、一括して登録が可能となることで、ユーザーは利用したい印刷サービスにそれぞれ手続きを行う手間を省くことができる。
【実施例4】
【0144】
実施例3では、ユーザーが複数の印刷サービスを選択した場合、各印刷サービス330に対して順次登録処理が行われる。しかし、各印刷サービスの利用にはユーザー認証が必要な場合があるので、断続的にログイン要求が出るのはユーザーにとって面倒である。本実施例では、複数の印刷サービスに対してプリンターを一括登録する際に、処理の順番を変える例を示す。
【0145】
図17を用いて説明する。メイン処理管理サービスは、S1703にてある連携処理管理サービス324に要求を行うと、連携処理管理サービス324はまずユーザー認証S1704を行い、認証トークンを保持し、いったん処理をメイン処理管理サービス321に返す。同様にメイン処理管理サービス321は次の連携処理管理サービス324に要求を行い、ユーザー認証のみ行う。これらをすべての連携処理管理サービス324に対して行った後、メイン処理管理サービス321は再度夫々の連携処理管理サービス324に要求を行い、印刷サービス330への登録を行う。
【0146】
以上の処理により、ユーザーは作業が必要な処理を最初にまとめて行うことができるため、作業の待ち時間を減らすことができる。
【実施例5】
【0147】
実施3では、図19(c)において、新規プリンターの追加でプリンター情報1923を入力することができた。しかし、印刷サービス330に登録する場合には、印刷サービスに依存して更なる情報が必要になる場合もある。そこで、選択した印刷サービスに依存して、必要となる情報をあらかじめ入力可能とする。
【0148】
図19(c)の1923では、印刷サービス−Aでは項目1が必要であり、他の印刷サービスでは不要であるとする。この場合、1921の選択で、印刷サービス−Aがチェックされていれば項目1を入力可能とし、印刷サービス−Aがチェックされていなければ項目1を入力不可とする。
【0149】
以上の処理により、ユーザーはプリンター登録の際に、印刷サービスに登録するために必要な情報も含めて過不足のない入力が可能となる。
【実施例6】
【0150】
実施例1では、中継仮想プリンター323と、印刷サービス用プロキシー325を異なるプロセスとして説明してきたが、単一のプロセスとして実装しても良い。その場合、印刷サービスごとに、ユーザーIDごとのプロセスを作成する。これにより、いずれの印刷サービスのいずれのユーザーIDに対しても、プッシュプリントが可能となる。
【実施例7】
【0151】
実施例1では、第3の仕様をデバイスベンダーが規定した仕様としたが、デバイスベンダーに依存しない汎用的な仕様を利用してもよい。汎用的な仕様を利用することにより、何れのデバイスベンダーのプリンターでも接続可能なシステムを構築することが可能となる。
【0152】
本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。該プログラムコードを実行することにより、情報処理装置はプログラムコードの記述通りに制御される。
【符号の説明】
【0153】
310 印刷制御部
321 メイン処理管理サービス
322 中継仮想プリンター管理サービス
323 中継仮想プリンター
324 連携処理管理サービス
325 印刷サービス用プロキシー
330 印刷サービス
410 通信モジュールCy
610 通信モジュールCx
910 通信モジュールAy
1010 通信モジュールAx
【特許請求の範囲】
【請求項1】
端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムであって、
前記印刷中継サーバーシステムにおけるユーザー毎に設けられている、前記印刷サーバーシステムから印刷ジョブを受信するプロキシーと、
前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている、受信された印刷ジョブを前記画像形成装置へ送信する中継仮想プリンターと、
印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得する取得手段と、
取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送する転送手段と、を有する印刷中継サーバーシステム。
【請求項2】
前記プロキシーは、前記印刷サーバーシステムを提供するベンダーにより公開された前記印刷ジョブを受信するための通信仕様に基づき印刷ジョブを受信し、
前記取得手段は、前記印刷ジョブを受信する際にプロキシーが受信した装置情報を取得し、
前記印刷サーバーシステムには、前記プロキシーの内の1つのプロキシーが、印刷指定を行うユーザーに関連して登録されていることを特徴とする請求項1に記載の印刷中継サーバーシステム。
【請求項3】
前記装置情報は、前記中継仮想プリンターを前記印刷サーバーシステムへ登録した際にも送信される情報であって、
登録の際に送信された前記装置情報と、登録された前記中継仮想プリンターとが関連するように保存する保存手段と、
前記転送手段は、取得された装置情報と一致する前記保存手段により保存された装置情報から前記中継仮想プリンターを特定することを特徴とする請求項1または2に記載の印刷中継サーバーシステム。
【請求項4】
前記印刷サーバーシステムとは異なる印刷サーバーシステムとも通信可能であって、前記印刷中継サーバーシステムにおけるユーザー毎に設けられたプロキシーは、前記印刷中継サーバーシステムに接続された複数の印刷サーバーシステム毎に設けられていることを特徴とする請求項1乃至3の何れか1項に記載の印刷中継サーバーシステム。
【請求項5】
端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムを制御する制御方法であって、
前記印刷中継サーバーシステムにおけるユーザー毎に設けられているプロキシーは、前記印刷サーバーシステムから印刷ジョブを受信し、
前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている中継仮想プリンターは、受信された印刷ジョブを前記画像形成装置へ送信し、
取得手段は、印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得し、
転送手段は、取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送することを特徴とする制御方法。
【請求項6】
請求項5に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムであって、
前記印刷中継サーバーシステムにおけるユーザー毎に設けられている、前記印刷サーバーシステムから印刷ジョブを受信するプロキシーと、
前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている、受信された印刷ジョブを前記画像形成装置へ送信する中継仮想プリンターと、
印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得する取得手段と、
取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送する転送手段と、を有する印刷中継サーバーシステム。
【請求項2】
前記プロキシーは、前記印刷サーバーシステムを提供するベンダーにより公開された前記印刷ジョブを受信するための通信仕様に基づき印刷ジョブを受信し、
前記取得手段は、前記印刷ジョブを受信する際にプロキシーが受信した装置情報を取得し、
前記印刷サーバーシステムには、前記プロキシーの内の1つのプロキシーが、印刷指定を行うユーザーに関連して登録されていることを特徴とする請求項1に記載の印刷中継サーバーシステム。
【請求項3】
前記装置情報は、前記中継仮想プリンターを前記印刷サーバーシステムへ登録した際にも送信される情報であって、
登録の際に送信された前記装置情報と、登録された前記中継仮想プリンターとが関連するように保存する保存手段と、
前記転送手段は、取得された装置情報と一致する前記保存手段により保存された装置情報から前記中継仮想プリンターを特定することを特徴とする請求項1または2に記載の印刷中継サーバーシステム。
【請求項4】
前記印刷サーバーシステムとは異なる印刷サーバーシステムとも通信可能であって、前記印刷中継サーバーシステムにおけるユーザー毎に設けられたプロキシーは、前記印刷中継サーバーシステムに接続された複数の印刷サーバーシステム毎に設けられていることを特徴とする請求項1乃至3の何れか1項に記載の印刷中継サーバーシステム。
【請求項5】
端末を介して印刷指定されたコンテンツデータを基に印刷ジョブを生成し、生成された印刷ジョブを送信する印刷サーバーシステムと、印刷ジョブを出力する画像形成装置と通信可能な印刷中継サーバーシステムを制御する制御方法であって、
前記印刷中継サーバーシステムにおけるユーザー毎に設けられているプロキシーは、前記印刷サーバーシステムから印刷ジョブを受信し、
前記印刷中継サーバーシステムに接続されている画像形成装置毎に設けられている中継仮想プリンターは、受信された印刷ジョブを前記画像形成装置へ送信し、
取得手段は、印刷指定時に指定された画像形成装置であって、前記印刷サーバーシステムに登録されている該画像形成装置に関する装置情報を取得し、
転送手段は、取得された装置情報を基に中継仮想プリンターを特定し、受信された印刷ジョブを特定された中継仮想プリンターに転送することを特徴とする制御方法。
【請求項6】
請求項5に記載の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−12066(P2013−12066A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−144655(P2011−144655)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]