(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-26
(45)【発行日】2024-02-05
(54)【発明の名称】サーバシステム、およびサーバシステムと通信する印刷装置
(51)【国際特許分類】
G06F 3/12 20060101AFI20240129BHJP
【FI】
G06F3/12 331
G06F3/12 332
G06F3/12 303
G06F3/12 387
(21)【出願番号】P 2020015841
(22)【出願日】2020-01-31
【審査請求日】2023-01-18
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】三枝 弘和
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2012-160009(JP,A)
【文献】特開2019-159570(JP,A)
【文献】特開2009-025865(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
(57)【特許請求の範囲】
【請求項1】
印刷装置の第1の能力情報と前記印刷装置の情報とを受信する受信手段と、
受信した前記印刷装置の前記情報を他のサーバシステムに送信する送信手段と、
前記印刷装置の情報と前記第1の能力情報とを記憶する記憶手段と、を有し、
前記受信手段は、送信した前記情報に基づき前記他のサーバシステムが特定する前記印刷装置の第2の能力情報を前記他のサーバシステムから受信し、
前記記憶手段は、前記印刷装置の前記情報と前記印刷装置の前記第2の能力情報を対応付けて記憶し、
前記送信手段は、
前記記憶手段に記憶された前記第1の能力情報と前記第2の能力情報を情報処理装置に送信することを特徴とするサーバシステム。
【請求項2】
前記第2の能力情報は、前記第1の能力情報と異なることを特徴とする請求項1に記載のサーバシステム。
【請求項3】
前記第2の能力情報は、前記印刷装置から取得される前記第1の能力情報に含まれない情報を含むことを特徴とする請求項2に記載のサーバシステム。
【請求項4】
印刷装置の前記情報は、前記印刷装置の機種を識別する情報であることを特徴とする請求項1乃至
3のいずれか一項に記載のサーバシステム。
【請求項5】
印刷装置の前記情報は、前記印刷装置の種別を識別する情報であることを特徴とする請求項1乃至4のいずれか一項に記載のサーバシステム。
【請求項6】
前記受信手段は、印刷装置の情報の取得要求を前記情報処理装置から受信し、
前記送信手段は、受信した前記取得要求に基づき、
前記記憶手段に記憶された前記印刷装置の前記情報を前記情報処理装置に送信することを特徴とする請求項1乃至
5のいずれか一項に記載のサーバシステム。
【請求項7】
前記受信手段は、
前記送信手段により前記情報処理装置に送信された前記印刷装置の前記情報であって、ユーザーにより選択された
前記印刷装置
の前記情報を前記情報処理装置から受信し、
前記送信手段は、ユーザーにより選択された前記印刷装置の
前記情報に対応づけられた前記第1の能力情報と前記第2の能力情報を前記情報処理装置に送信することを特徴とする請求項
6に記載のサーバシステム。
【請求項8】
前記他のサーバシステムは、前記印刷装置のドライバーを含む第1のパッケージと前記ドライバーに含まれていない前記第2の能力情報を含む第2のパッケージとを記憶することを特徴とする請求項1乃至
7のいずれか一項に記載のサーバシステム。
【請求項9】
前記送信手段は、前記情報に基づき前記第2のパッケージを取得するための要求を前記他のサーバシステムに送信することを特徴とする請求項
8に記載のサーバシステム。
【請求項10】
サーバシステムの制御方法であって、
印刷装置の第1の能力情報と前記印刷装置の情報とを受信する受信工程と、
受信した前記印刷装置の前記情報を他のサーバシステムに送信する送信工程と、
送信した前記情報に基づき前記他のサーバシステムが特定する前記印刷装置の第2の能力情報を前記他のサーバシステムから受信する他の受信工程と、
前記印刷装置の前記情報と前記印刷装置の前記第1の能力情報と前記第2の能力情報を対応付けて記憶する記憶工程と、
前記記憶工程において記憶された前記第1の能力情報と前記第2の能力情報を情報処理装置に送信する他の送信工程と、を有することを特徴とする制御方法。
【請求項11】
請求項10に記載の各工程をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
サーバシステム、およびサーバシステムと通信する印刷装置に関するものである。
【背景技術】
【0002】
予め、ユーザーがクラウドプリントサービスに印刷装置の情報を登録しておき、印刷データをクラウドプリントサービス経由で印刷装置に送信して印刷する印刷システムが知られている。
【0003】
ユーザーは、PC等の情報処理装置からクラウドプリントサービスにアクセスし、クラウドプリントサービスに登録された印刷装置から印刷に使用する印刷装置を選択し、印刷データの印刷を指示する。
【0004】
情報処理装置は、印刷ジョブを生成し、クラウドプリントサービス上の印刷キューに投入する。印刷装置は、クラウドプリントサービスにアクセスし、クラウドプリントサービス上に生成された印刷キューにスプールされた印刷ジョブを取得し、出力する(特許文献1)。
【0005】
クラウドプリントサービスの代表例として、例えばGoogleCloudPrint(登録商標)(特許文献1)、MicrosoftHybridCloudPrint(登録商標)、uniFLOW Online(登録商標)などがある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
クラウドプリントサービスに印刷キューを登録する際に、使用する印刷装置の能力情報をクラウドプリントサービスに登録しておくことで、印刷に使用される印刷装置にあった印刷設定画面をユーザーに提供することができるようになる。印刷装置の能力情報をクラウドプリントサービスに登録する方法として、印刷装置に能力情報を記憶させておき、印刷装置から能力情報を取得する方法が考えられる。しかし、印刷装置からクラウドプリントサービスが取得することのできる能力情報は標準化された項目に限られている。そのため、印刷装置から提供される能力情報には含まれていないベンダー固有の設定項目などの能力情報をクラウドプリントサービスが取得することができない。
【0008】
本発明は、サーバシステムに登録された印刷装置について、印刷装置から提供されない能力情報を当該サーバシステムに登録することを目的とする。
【課題を解決するための手段】
【0009】
本明細書に記載のサーバシステムは、印刷装置の第1の能力情報と前記印刷装置の情報とを受信する受信手段と、受信した前記印刷装置の前記情報を他のサーバシステムに送信する送信手段と、前記受信手段は、送信した前記情報に基づき前記他のサーバシステムが特定する前記印刷装置の第2の能力情報を前記他のサーバシステムから受信し、前記記憶手段は、前記印刷装置の前記情報と前記印刷装置の前記第1の能力情報と前記第2の能力情報を対応付けて記憶し、前記送信手段は、前記記憶手段に記憶された前記第1の能力情報と前記第2の能力情報を情報処理装置に送信することを特徴とする。
【発明の効果】
【0010】
本発明に記載のサーバシステムに登録された印刷装置について、当該印刷装置から提供されない能力情報を当該サーバシステムに登録することができる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態において、クライアントコンピューター100におけるハードウェア構成の一例を示す図である。
【
図2】本実施形態におけるネットワーク構成の一例を示す図である。
【
図3A】本実施形態におけるプリンタードライバー配布サービス300における機能ブロックの一例を示す図である。
【
図3B】本実施形態における印刷拡張アプリケーション配布サービス400における機能ブロックの一例を示す図である。
【
図3C】本実施形態におけるクラウドプリントサービス500における機能ブロックの一例を示す図である。
【
図4】本実施形態において、クラウドプリントサービス500にプリンター200を登録するシーケンスの一例を示す図である。
【
図5A】本実施形態において、クラウドプリントサービス500が保持するプリンターの情報データベースの一例を示す図である。
【
図5B】本実施形態において、プリンタードライバー配布サービス300が保持するプリンターの情報データベースの一例を示す図である。
【
図5C】本実施形態において、印刷拡張アプリケーション配布サービス400が保持するプリンターの情報データベースの一例を示す図である。
【
図6】本実施形態において、クライアントコンピューター100に印刷設定アプリケーション1052をインストールするシーケンスの一例を示す図である。
【
図7】本実施形態において、クラウドプリントサービス500から受信した印刷可能ジョブリストを表示した操作パネルの一例を示す図である。
【
図8A】本実施形態において、印刷設定を変更するためのUIの一例を示す図である。
【
図8B】本実施形態において、印刷設定を変更するためのUIの一例を示す図である。
【
図9】本実施形態において、拡張された印刷設定の一例を示す図である。
【
図10】本実施形態において、クラウドプリントサービス500における印刷のフローチャートである。
【
図11】本実施形態において、ドライバー拡張パッケージを更新する処理を示すシーケンスの一例である。
【
図12】本実施形態において、クラウドプリントサービスがドライバー拡張パッケージを取得する処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
図1は、本実施形態においてクラウドプリントサービスを利用するクライアントコンピューター(情報処理装置)のハードウェア構成図である。以下に詳細な説明を記載する。
【0013】
CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。
【0014】
RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はクラウドドライバー1050、オペレーティングシステム(OS)1053やアプリケーション1051、印刷拡張アプリケーション1052等を記録する。以降の説明では、主記憶装置102と補助記憶装置105を合わせて記憶装置と記載する。
【0015】
マウス・タッチパネルなどに代表されるポインティングデバイス109やキーボード108などの入力機器は、入力I/F103を通じてシステムバス107に接続され、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。
【0016】
出力I/F104は、データを外部に出力するためのインターフェースであり、モニター110やパネル111のような出力機器に対してデータを出力する。また、クライアントコンピューター100は撮影機能を有しており、カメラ112が搭載されている。
【0017】
クライアントコンピューター100は、通信I/F106を経由しネットワーク150を通じて
図2にて後述するプリンター200や各システムと接続される。また、107は共通データシステムバスで、I/Fやモジュール間でデータのやり取りを行う。
【0018】
図2は、本実施形態を示すネットワークの環境を簡略した印刷システムの概略図である。
【0019】
ネットワーク150にはクライアントコンピューター100とプリンター200が接続されている。クライアントコンピューター100とプリンター200は同一イントラネットワークに接続され、通信可能な状態である。
【0020】
また、別のイントラネット204にはプリンター201、プリンター202が接続されており、ネットワーク150はインターネット203を通じてイントラネット204に接続されている。インターネット203には、プリンタードライバー配布サービス300、印刷拡張アプリケーション配布サービス400、クラウドプリントサービス500が接続されている。
【0021】
プリンタードライバー配布サービス300は、Webベースでプリンタードライバーをクライアントコンピューター100に配布するサービスを実行する1または複数台の情報処理装置で構成されるサーバシステムである。クライアントコンピューター100は、プリンター200をWSD(Web Services for Devices)やIPP(Internet Printing Protocol)などのプロトコルで探索する。クライアントコンピューター100は発見したプリンター200のプリンター識別情報に基づくプリンタードライバーをプリンタードライバー配布サービス300から取得し、インストールする。プリンタードライバー配布サービス300に登録されているプリンタードライバーはプリンターベンダーによって更新される。クライアントコンピューター100は、バージョンの新しいプリンタードライバーを自動または手動でプリンタードライバー配布サービス300から取得し、インストールされているプリンタードライバーを更新する。
【0022】
印刷拡張アプリケーション配布サービス400は、クライアントコンピューター100で実行されるアプリケーションを配布するサービスを実行するサーバシステムである。印刷拡張アプリケーションとは、クラウドプリントサービスやOSが提供する印刷機能を拡張するためのアプリケーションである。クラウドプリントサービスやOSが提供する印刷機能ではいずれのベンダーのプリンターでも使用することのできる一般的な機能、たとえば、カラーモードや両面印刷等しか印刷設定を行うことができない。印刷拡張アプリケーションを利用することで、クラウドプリントサービスやOSの提供する印刷機能では設定することのできない印刷機能、例えば針なしステープルやポスター印刷、製本印刷などの印刷設定を行うことができるようになる。
【0023】
クライアントコンピューター100は、印刷拡張アプリケーションのインストールを要求するユーザー操作を受け付けた場合、印刷拡張アプリケーション配布サービス400にアクセスし、印刷拡張アプリケーションをインストールする。また、クライアントコンピューター100にインストールされたプリンタードライバーのInf(Information)ファイルにアプリケーション識別子が記述されている場合に、印刷拡張アプリケーションのインストールが行われる。クライアントコンピューター100は、印刷拡張アプリケーション配布サービス400にアクセスし、Infファイルに記述された識別子に対応する印刷拡張アプリケーションをインストールする。
【0024】
クラウドプリントサービス500は、1台または複数台の情報処理装置からなるサーバシステムであるクラウド上に構築されるサービスである。本実施形態において、クラウドプリントサービス500は其々のイントラネットに対して接続が可能であり、インターネットを通じてクライアントコンピューター100およびプリンター200やプリンター201、プリンター202との接続が可能である。クラウドプリントサービス500は、ユーザーIDとPASSWORDを利用したアカウント管理がなされており、クライアントコンピューター100はユーザーが入力したアカウント情報を利用してクラウドプリントサービス500にアクセスする。
【0025】
なお、本実施例において、クライアントコンピューター100はクラウドプリントサービス500、印刷拡張アプリケーション配布サービス400のURLをあらかじめ記憶しているものとする。また、クラウドプリントサービス500は、プリンタードライバー配布サービス300のURLをあらかじめ記憶しているものとする。
【0026】
図3Aは、プリンタードライバー配布サービス300の機能ブロックの一例を示した図である。プリンタードライバー配布サービス300は、
図1に示す情報処理装置と同様の構成の1または複数台の情報処理装置で構成されるサーバシステムである。プリンタードライバー登録部301、プリンタードライバー応答部302は、プリンタードライバー配布サービス300を構成する情報処理装置のCPUがプログラムを実行することで実現される。
【0027】
プリンタードライバー配布サービス300は、インターネットを通じたクラウド上に存在するサービスであり、外部サービスやクライアントコンピューター100にプリンタードライバーに関するパッケージの配布を可能とする。プリンタードライバーに関するパッケージとは、たとえば、プリンタードライバーやドライバー拡張パッケージなどである。
【0028】
プリンタードライバー登録部301は、外部サービス及びクライアントコンピューター100からプリンタードライバーに関するパッケージの登録指示があった際に、アップロードされたパッケージをプリンタードライバーデータベース310に登録する。プリンタードライバー登録部301は、たとえば、プリンターベンダー等が配布するプリンタードライバーや、プリンタードライバーを拡張するためのドライバー拡張パッケージをプリンタードライバーデータベース310に登録する。
【0029】
プリンタードライバー応答部302は、外部サービスやクライアントコンピューター100からプリンタードライバーに関するパッケージに関する要求があった場合に、プリンタードライバーデータベース310から該当するパッケージを取得し、応答する。例えば、クライアントコンピューター100から、印刷キューが生成されたプリンター200に対応するプリンタードライバーの要求を受信したとする。プリンタードライバー応答部302は、プリンタードライバーデータベース310からプリンター200に対応するプリンタードライバーを読み出して、クライアントコンピューター100に送信する。また、プリンタードライバー応答部302は、クライアントコンピューター100から、インストールされているプリンタードライバーを拡張するためのドライバー拡張パッケージの取得要求を受信する。プリンタードライバー応答部302は、プリンタードライバーデータベース310から要求されたプリンタードライバーに対応するドライバー拡張パッケージを読み出して、クライアントコンピューター100に送信する。
【0030】
プリンタードライバーデータベース310には
図5Bで後述するデータベースが記憶されている。プリンタードライバーデータベース310には様々なプリンターに対応するプリンタードライバーに加え、ドライバー拡張パッケージ303も記憶されている。
【0031】
ドライバー拡張パッケージ303は、プリンタードライバー配布サービス300から配布されるパッケージの一例である。ドライバー拡張パッケージ303は、ドライバー情報部304とデバイス能力情報部305を持つ。ドライバー情報部304は、ドライバーを識別するためのHWID、COID(Compatible ID)、当該パッケージがドライバー拡張パッケージであることを示す情報や、ドライバー拡張パッケージ303のバージョンなどの情報を持つ。デバイス能力情報部305は、対応するプリンター200のデバイス能力情報や禁則情報を持つ。デバイスの能力情報とは、たとえば、製本印刷に関する折り位置や折りしろの情報や異なるサイズや種別の用紙を使って一つのジョブを実行する用紙混在に関する情報などである。
【0032】
図3Bは、印刷拡張アプリケーション配布サービス400の機能ブロックの一例を表した図である。アプリケーション登録部401、アプリケーション応答部402は、印刷拡張アプリケーション配布サービス400を構成する1または複数台の情報処理装置のCPUがプログラムを実行することで実現される。
【0033】
印刷拡張アプリケーション配布サービス400は、インターネットを通じたクラウド上に存在するサービスであり、外部サービスやクライアントコンピューター100に印刷拡張アプリケーションの配布を可能とする。尚、印刷拡張アプリケーション配布サービス400は、印刷拡張アプリケーション1052に限らず、他のアプリケーションの配布が可能であっても構わない。
【0034】
アプリケーション登録部401は、外部サービス及びクライアントコンピューター100から印刷拡張アプリケーション1052や他のアプリケーションの登録指示があった際に、アップロードされたアプリケーションをアプリケーションデータベース410に登録する。
【0035】
アプリケーション応答部402は、外部サービスやクライアントコンピューター100から印刷拡張アプリケーション1052の取得要求があった場合にアプリケーションデータベース410から該当するアプリケーションを取得し、要求元に送信する。
【0036】
アプリケーションデータベース410は、ベンダー等が配布し、外部サービスやクライアントコンピューター100から登録要求を受信した印刷設定アプリケーションの情報が登録されるデータベースである。アプリケーションデータベース410に登録される情報の詳細は
図5Cを用いて後述する。
【0037】
本実施形態における印刷拡張アプリケーション1052は、設定ファイル部10521と実行ファイル部10522を持つ。設定ファイル部10521は、印刷拡張アプリケーション1052を識別するための識別子や、対応するプリンター200を識別するためのHWIDやCOIDなどの情報を持つ。実行ファイル部10522は、印刷拡張アプリケーション1052の実行ファイル部である。実行ファイル部10522は印刷設定UI(User Interface)や外部サービスからのプッシュ通知を受け取って表示をすることが可能である。
【0038】
図3Cは、本発明の実施形態を示すクラウドプリントサービス500の機能ブロック図である。それぞれの機能ブロックは、クラウドプリントサービス500を構成する1または複数台の情報処理装置のCPUがプログラムを実行することで実現される。
【0039】
クラウドプリントサービス500は、インターネットを通じたクラウド上に存在するサービスであり、印刷に関連する機能を提供可能とする。本実施形態では、プリンター登録部501、印刷キュー生成部502、プリンターリスト生成部503、探索応答部504、プリンターデータベース510の機能を持つ。さらに、印刷ジョブ管理部505、印刷ジョブ生成部506、印刷ジョブ保存領域511の機能を持つ。また、これらの機能がクラウドプリントサービス500と連携する別のクラウドプリントサービスにあっても構わない。
【0040】
以下、プリンター200をクラウドプリントサービス500に登録し、プリンター200を用いて印刷を行う場合を例に記載しているが、クラウドプリントサービス500と接続可能なプリンター201やプリンター202でも同様の処理で実現可能である。
【0041】
プリンター登録部501は、プリンター200からプリンターの登録指示があった場合、印刷キュー生成部502を利用して印刷キューを生成させ、生成された印刷キューをプリンターデータベース510にプリンター識別情報と紐づけて登録する。このようにプリンターの印刷キューとプリンター識別情報とが紐づけて登録されていることを、プリンターが登録されていると記載する。ここで登録されたプリンターに対して、様々な属性が付加される場合がある。例えば、プリンターの所在地が該当する。
【0042】
印刷キュー生成部502は、プリンター登録部501の制御に従い、クラウドプリントサービス500上の印刷キューを生成する。クライアントコンピューター100が印刷指示をすると、印刷キュー生成部502が生成した印刷キューに印刷ジョブが登録される。
【0043】
プリンターリスト生成部503は、登録されたプリンターのリストを生成する。クライアントコンピューター100からクラウドプリントサービス500に登録されているプリンターのリストを要求された場合等にプリンターのリストを生成する。
【0044】
探索応答部504は、クライアントコンピューター100からのクラウドプリントサービス500に対してプリンター探索に基づき、登録されているプリンターの情報をクライアントコンピューター100に応答する。
【0045】
印刷ジョブ管理部505は、クライアントコンピューター100から画像データと印刷設定を受信したり、印刷ジョブ生成部506が生成した印刷ジョブをプリンター200に送信する。また、印刷ジョブ管理部505は、印刷ジョブ生成部506が生成した印刷ジョブを印刷ジョブ保存領域511に保存する。
【0046】
プリンターデータベース510は、クラウドプリントサービス500に登録されているプリンターの情報を記憶するデータベースである。プリンターデータベース510に記憶される内容は、
図5Aで後述する。
【0047】
はじめに、プリンター200をクラウドプリントサービス500に登録する処理について説明する。
【0048】
図4は、本発明の実施形態を示すプリンター200をクラウドプリントサービス500に登録する処理のシーケンス図である。本実施形態では、クライアントコンピューター100からプリンター200にアクセスし、プリンター200を操作することでクラウドプリントサービス500にプリンター200の登録要求を送信する。
【0049】
プリンター200はクラウドプリント機能(クラウドプリントサービスから印刷ジョブを受信して印刷する機能)と、クライアントコンピューター100からプリンター200を操作するためのWebUI機能をサポートしている。WebUI機能とは、UIを生成してネットワーク上に公開する機能である。クライアントコンピューター100はクラウドプリントクライアント機能(クラウドプリントサービスにファイルを送信する機能)と、WebUIを操作するためのWebUIクライアント(例えば、Webブラウザー)をサポートしている。また、クラウドプリントサービス500はインターネット上のクラウドプリントサービスを表す。
【0050】
ユーザーはまずクライアントコンピューター100のWebUIクライアントを利用して、プリンター200のWebUIを開き、当該WebUI上で、クラウドプリントサービスにプリンターを登録するためのボタンを選択する。当該選択がされると、S410において、クライアントコンピューター100は、クラウドプリントサービスへの登録要求をプリンター200に送信する。
【0051】
S411において、プリンター200は、S410においてクラウドプリントサービスへの登録要求を受信すると、クラウドプリントサービス500にクラウドプリントサービスへの登録要求を送信する。このように、本実施形態では、クライアントコンピューター100のWebUIクライアントからクラウドプリントサービス500へのプリンター200の登録要求を送信している。プリンター200に付随した入力装置、例えばパネルから操作することで本要求を送信可能としてもよい。このときは、クライアントコンピューター100から要求を行わず、プリンター200がクラウドプリントサービス500にプリンターの登録要求を送信する。
【0052】
S411において、クラウドプリントサービス500に送信されるクラウドプリントサービス登録要求には、プリンター200の情報が付随している。プリンター200の情報には、プリンター200の名称、プリンターの機種を識別する情報(HWID)、インクジェットプリンターやレーザープリンターなどのプリンターの種別を識別するためのCOIDが含まれる。さらに、プリンターの情報には、IPアドレス情報やIPPなどで標準化されている機能に関する能力情報ファイルが含まれる。
【0053】
クラウドプリントサービス500は、S411において登録要求を受信すると、S412において、印刷キュー生成部502に、プリンター200に印刷ジョブを送信するための印刷キューを作成させる。プリンター登録部501は、プリンターデータベース510にプリンターの情報と能力情報を登録し、登録要求がなされたプリンターのレコードを生成する。さらに印刷キュー生成部502が印刷キューの生成を行う。この印刷キューは、受信したプリンター200の情報である、プリンターの名称(デバイス名)、プリンターの機種を識別するHWID、COIDや、プリンターのIPアドレスを利用して作成される。
【0054】
次に、S413にて、クラウドプリントサービス500は、プリンタードライバー配布サービス300にドライバー拡張パッケージ303のダウンロード要求を送信する。これは、クラウドプリントサービス500に登録されたプリンターに対応するドライバー拡張パッケージ303を受信するための要求である。クラウドプリントサービス500は、ドライバー拡張パッケージ303ダウンロード要求とプリンター200のHWID、COIDをプリンタードライバー配布サービス300に送信する。
【0055】
S414にて、プリンタードライバー配布サービス300は、受信したHWID及びCOIDに基づき、該当するドライバー拡張パッケージ303をクラウドプリントサービス500に送信する。プリンタードライバー配布サービス300は、プリンタードライバーデータベース310から、拡張フラグがTRUEのパッケージであって、受信したHWIDに一致するドライバー拡張パッケージを特定する。拡張フラグがTRUEであるが、受信したHWIDに一致するドライバー拡張パッケージが特定されない場合、プリンタードライバー配布サービス300は、拡張フラグがTRUEであって、受信したCOIDに一致するドライバー拡張パッケージを特定する。そして、プリンタードライバー配布サービス300は、クラウドプリントサービス500に特定されたドライバー拡張パッケージを送信する。なお、HWIDのみでドライバー拡張パッケージが特定可能である場合、S413において、HWIDのみをプリンタードライバー配布サービス300に送信するとしてもよい。
【0056】
その後、S415にて、クラウドプリントサービス500は、ダウンロードされたドライバー拡張パッケージ303のデバイス能力情報部305を解析し、印刷キューを拡張する。クラウドプリントサービス500は、ドライバー拡張パッケージ303のデバイス能力情報部305からプリンター200の能力情報を取得する。そして、クラウドプリントサービス500は、プリンターデータベース510のプリンター情報の印刷キューに対応するプリンターの能力情報を更新する。S415において、クラウドプリントサービス500は、印刷キューに対応づけられている能力情報をドライバー拡張パッケージから取得された能力情報で書き換える。なお、クラウドプリントサービス500が、ドライバー拡張パッケージから取得された能力情報のうち、印刷キューに対応づけられていない設定項目に関する能力情報を印刷キューに対応する能力情報に追加するとしてもよい。また、クラウドプリントサービス500が、プリンター200からプリンター200のハードウェア構成を示す情報を取得し、ドライバー拡張パッケージに含まれる能力情報とハードウェア構成情報から能力情報を決定するとしてもよい。
【0057】
上記の処理により、クラウドプリントサービス500に登録されたプリンター200に対してベンダー特有のデバイス能力情報で印刷キューが拡張される。そして、S416にて、プリンター200の情報をプリンターデータベース510に登録する。上記の処理により、ドライバー拡張パッケージにより拡張された能力情報が印刷キューに対応する能力情報としてプリンターデータベース510に登録される。
【0058】
図5Aは、クラウドプリントサービス500が保持するプリンターデータベース510の一例である。デバイス名は、登録時にプリンター200から取得したプリンターの名称(デバイス名)を指す。HWIDはプリンター200の機種を識別する際に用いる識別子(機種固有の識別子)を指す。COIDはプリンター200がインクジェットプリンターであるかレーザービームプリンターであるかなどプリンターのカテゴリーを識別するための識別情報である。IPアドレスは、接続先のプリンター200のIPアドレスを指す。パッケージは、当該プリンターに対応する印刷キューの拡張に使われるドライバー拡張パッケージ303のパッケージ名を指す。なお、拡張されていない場合には、Nullとなる。さらに、不図示であるが、当該テーブルにはこの他にドライバー拡張パッケージ303で拡張されたベンダー特有のデバイスの能力情報などがJSON(Javascript(登録商標) Object Notation)形式で登録される。デバイスの能力情報が記憶される形式は、JSONに限らず他のデータフォーマットであっても構わない。また、
図5Aがプリンターの情報と当該プリンターを使用することのできるユーザーの情報を対応づけて記憶するとしてもよい。
【0059】
図9は、印刷キューに対応づけて記憶される能力情報の一例である。一例として、能力情報は、JSON形式になっており、各設定は機能を表している。また、各機能は配列形式で設定できる選択肢を持つ。
【0060】
901はIPP等で定義された標準的な能力情報を示している。“Duplex”は、両面機能に関する設定項目であり、当該設定項目の選択肢として両面印刷を表す“Duplex”と片面印刷を表す“One-Sided”を持つことを示している。“Color”は、カラー印刷に関する設定項目であり、選択肢として白黒印刷を示す“Mono”とカラー印刷を示す“Color”を持つことを示している。“Orientation”は印刷に使用する用紙の向きに関する設定項目であり、選択肢として縦長方向を示す“Portrait”と横長方向を示す”Landscape“を持つことを示している。なお、プリンター200からクラウドプリントサービス500に提供される能力情報ではIPP等で定義された標準的な設定項目、選択肢である。ドライバー拡張パッケージを用いてデバイスの能力情報を拡張することで、901に記載のIPP等で定義された標準的な設定項目であっても、ベンダー固有の選択肢を持つようにすることができる。たとえば、用紙の綴じに関する設定項目である”Staple“を拡張することで、標準的な選択肢である左上一か所綴じを示す”Staple left top“に加え、中綴じを示す”Saddle Stitch“を設定することができるようになる。
【0061】
902は、ドライバー拡張パッケージ303で拡張された能力情報であり、例えばベンダー固有の設定項目に関する能力情報である。機能がExtension_Setting1、Extension_Setting2となっており、その選択肢としてExntension_option1,Extension_option2となっている。Extension settingとしては、たとえば、複数種類の用紙が一つのジョブに混在する用紙混在に関する設定などがある。用紙混在機能であれば、“Extension_Setting1”に用紙混在を示す文字列が入る。そして、“Exntension_option1”に例えばA3とA4の用紙を使用することを示す選択肢を示す文字列、“Exntension_option2”B4とB5の用紙を使用することを示す選択肢を示す文字列が入る。ドライバー拡張パッケージ303のデバイス能力情報部に、IPP等の標準では選択することのできない選択肢が含まれているとしてもよい。
【0062】
即ち、拡張機能は複数の定義をすることが可能である。本図では、一例としてJSONで説明をしたが、他のデータフォーマットであっても構わない。
【0063】
これらの情報を基に、印刷拡張アプリケーション1052は、
図8Bにおける印刷設定画面を生成する。
【0064】
ここで、説明を
図4に戻す。S417において、クラウドプリントサービス500は、プリンターデータベース510への登録が完了すると、クラウドプリント登録用の登録URLを含むクラウドプリントサービス登録要求応答および登録URL提示要求をプリンター200に送信する。
【0065】
S418において、プリンター200は、クラウドプリントサービス登録要求応答および登録URL提示要求を受信し、登録URL情報を出力する。S418において、プリンター200はモニター110にURLを表示する、もしくは登録URL情報が記載された紙を印刷し、ユーザーに登録URLを通知する。また、プリンター200がクライアントコンピューター100に対して、WebUI経由で登録URLを通知してもよい。
【0066】
S419において、ユーザーは、プリンター200から提示された登録URLで特定されるクラウドプリントサービス500にアクセスする。その際は、クラウドプリントサービス500にアクセス可能なクラウドアカウントにログインしている必要があるため、ユーザーIDとPASSWORDの入力が必要である。
【0067】
クラウドプリントサービス500は、クラウドアカウントとプリンター情報を含む登録URLから、ユーザーとプリンター200を紐づける。紐づける方法として、例えば、プリンター情報とユーザートークンを紐づける方法がある。ただし、その方法に限定はしない。そして、S420にて、クラウドプリントサービス500は、クラウドプリントサービス500の情報を含めたユーザートークンをプリンター200に送信し、プリンター200のクラウドプリントサービス500への登録処理を終了する。プリンター200は、以降当該ユーザートークンを用いてクラウドプリントサービス500にアクセスする。
【0068】
ここで、
図4のS413で参照されるプリンタードライバーデータベース310について説明する。
図5Bは、プリンタードライバー配布サービス300が保持するプリンタードライバーデータベース310の一例である。パッケージ名は、登録時にドライバー情報部304から取得したパッケージの名称を指す。HWIDはプリンター200の機種を識別する際に用いる識別情報(機種固有の識別情報)を指す。COIDは、当該ドライバーを使用するプリンターのカテゴリーを識別する識別情報である。パッケージは、ドライバー拡張パッケージ303を含むパッケージの名称を指す。パッケージは当該レコードに対応するドライバーまたはドライバー拡張パッケージを特定することのできる情報であればファイルパス等の情報であってもよい。拡張は、ドライバー拡張パッケージ303が拡張ファイルかどうかを示している。拡張が“FALSE”の場合、当該パッケージは拡張パッケージではなくプリンタードライバーである。一方で、拡張が“TRUE”の場合、当該パッケージはプリンタードライバーではなく、ドライバーを拡張するパッケージである。アプリケーション識別子は、当該
ドライバー拡張パッケージの記憶する能力情報を使って印刷設定画面を拡張する際に使用するアプリケーションを識別する識別情報である。本実施形態では、
ドライバー拡張パッケージのみがアプリケーション識別子を有しているが、プリンタードライバーがアプリケーション識別子を有していてもよい。
【0069】
プリンタードライバー登録部301は、パッケージをプリンタードライバーデータベース310に登録する際に、ドライバー情報部304を解析する。プリンタードライバー登録部301は、パッケージ名、HWIDやCOID、ドライバー拡張パッケージであるかどうかの情報を取得し、ドライバー拡張パッケージ303と共にプリンタードライバーデータベース310に登録をする。
【0070】
つぎに、後述する
図6のS617で参照されるアプリケーションデータベース410について説明する。
図5Cは、印刷拡張アプリケーション配布サービス400が保持するアプリケーションデータベース410の一例である。アプリケーション名は、印刷拡張アプリケーション1052を含む当該データベースに登録されたアプリケーションの名称である。アプリケーション識別子は、印刷拡張アプリケーション1052を含むアプリケーションを識別するための情報である。アプリパッケージは、印刷拡張アプリケーション1052を含むアプリケーションの記憶されたファイルパスである。アプリパッケージは登録されている印刷拡張アプリケーションのパッケージを特定することのできる情報であれば、アプリケーションの記憶されたフォルダ名等であってもよい。
【0071】
アプリケーション登録部401は、設定ファイル部10521を解析し、アプリケーション名とアプリケーション識別子を取得する。アプリケーション登録部401は、印刷拡張アプリケーション1052と共にアプリケーションデータベース410に上記の情報を登録する。
【0072】
次に、
図6を用いてクラウドプリントサービス500に登録されたプリンター200の印刷キューをクライアントコンピューター100に生成し、印刷拡張アプリケーションをインストールするときの処理を説明する。
【0073】
図6は、本発明の実施形態を示すクライアントコンピューター100に印刷拡張アプリケーション1052をインストールする処理のシーケンス図である。
【0074】
クライアントコンピューター100では、クラウドプリントを利用してプリンター200に出力する場合、クラウドプリントサービス500に対して印刷ジョブを送信する。そのため、クライアントコンピューター100に、クラウドプリントサービス500に対して印刷ジョブを送信する印刷キューを生成する必要がある。
【0075】
本実施形態では、オペレーティングシステム1053が標準機能としてもつプリンター探索機能を利用して、クラウドプリントサービス500に登録されたプリンターの印刷キューを生成する。通常、プリンター探索を行う場合、同一イントラネット上にあるプリンターが対象となる。例えば、
図2においてクライアントコンピューター100がプリンター探索を行うとプリンター200を見つけることはできるが、イントラネットを超えたプリンター201、プリンター202を見つけることはできない。本実施形態では、クライアントコンピューター100はクラウドプリントサービス500へのアクセスが可能である。クラウドプリントサービス500にプリンターが登録されている場合にはプリンター探索で、クラウドプリントサービス500に登録されているプリンターを見つけることができる。本実施形態では、前述したプリンター200に加え、プリンター201、プリンター202がクラウドプリントサービス500に登録されており、OSのプリンター探索機能でこれらのプリンターも見つけることができる。
【0076】
クライアントコンピューター100は、前述したオペレーティングシステム1053の標準機能であるプリンター探索を行う(S610)。S610において、クライアントコンピューター100は、クライアントコンピューター100と同じイントラネット上にいるプリンターに加えて、クラウドプリントサービス500に登録されているプリンターを探索する。クライアントコンピューター100はクラウドプリントサービスにアクセスし、クラウドプリントサービス上に登録されているプリンター情報のリスト要求をクラウドプリントサービス500に送信する。
【0077】
クラウドプリントサービス500の探索応答部504は、プリンター探索の情報を受信すると、クライアントコンピューター100に対して利用可能なプリンターを提示する。そのために、クラウドプリントサービス500は、クライアントコンピューター100からクラウドプリントサービス500にアクセスしているユーザーが使用することのできるプリンター情報を含むプリンターリストを生成する(S611)。このプリンター情報は、前述したプリンターの名称(デバイス名)、プリンターの機種を識別するHWID、プリンターのIPアドレスである。プリンター情報を含むプリンターリスト作成は、クラウドプリントサービス500のプリンターリスト生成部503がプリンターデータベース510の情報を利用して作成する。
【0078】
クラウドプリントサービス500は、クライアントコンピューター100に対して、作成したプリンターリストを返答する(S612)。この際、プリンターリストに含まれるプリンター情報には
図5Aに記載されているプリンター識別情報であるHWID、COID等の情報も付随して送信する。クライアントコンピューター100は、プリンターリストに基づきユーザーが利用可能なプリンターの選択画面をモニター110に表示させる。ユーザーは、提示されたプリンター一覧から使用したいプリンターを選択する。
【0079】
クライアントコンピューター100のオペレーティングシステム1053が、クラウドプリントサービス500で利用されるクラウドドライバー1050をインストールし、選択されたプリンターの印刷キュー生成を行う(S613)。クライアントコンピューター100は、クラウドプリントサービス500からユーザーにより選択されたプリンターの情報を取得し、当該情報を使って印刷キューを生成する。クライアントコンピューター100は、クラウドプリントサービス500から取得したHWID、COID、IPアドレス、プリンターの能力情報に基づき印刷キューを生成する。なお、すでにクライアントコンピューター100にクラウドドライバー1050がインストールされている場合、クライアントコンピューター100はクラウドドライバー1050のインストールを行わない。クライアントコンピューター100はクラウドプリントサービス500から取得したプリンターの情報を用いて、印刷キューを生成する。
【0080】
さらに、クライアントコンピューター100のオペレーティングシステム1053は、印刷キューの生成に成功すると、プリンタードライバー配布サービス300に、ドライバー拡張パッケージ303のダウンロード要求を行う(S614)。クライアントコンピューター100は、クラウドプリントサービス500にHWID、COIDとドライバー拡張パッケージの取得要求を送信する。なお、クライアントコンピューター100は、HWIDとCOIDのいずれかのみをクラウドプリントサービス500に送信するとしてもよい。
【0081】
プリンタードライバー配布サービス300は、ダウンロード要求を受信すると、クライアントコンピューター100に対してダウンロード処理を行う(S615)。プリンタードライバー配布サービス300は、プリンタードライバーデータベース310に登録されているドライバー拡張パッケージから受信したHWIDに一致するパッケージを特定し、クライアントコンピューター100に送信する。ドライバー拡張パッケージのうち受信したHWIDに一致するパッケージがない場合、プリンタードライバー配布サービス300は、受信したCOIDに一致するドライバー拡張パッケージを特定する。そして、プリンタードライバー配布サービス300は、特定したドライバー拡張パッケージをクライアントコンピューター100に送信する。
【0082】
S616でクライアントコンピューター100のオペレーティングシステム1053は、ドライバー拡張パッケージ303のインストールを行い、前述のクラウドドライバー1050を基に生成された印刷キューの能力情報の拡張を行う(S616)。クライアントコンピューターは、印刷キューに対応する能力情報をドライバー拡張パッケージのデバイス能力情報で更新する。即ち、クラウドプリントサービス500に登録されたプリンター200に対してベンダー特有のデバイス能力で印刷キューを拡張する。クラウドプリントサービスからプリンター能力情報が取得されていない場合、ドライバー拡張パッケージに含まれる能力情報を印刷キューと対応づけることで印刷キューを拡張する。クラウドプリントサービス500から能力情報が取得されている場合、クラウドプリントサービス500から取得された能力情報をドライバー拡張パッケージに含まれる能力情報で上書きすることで印刷キューを拡張する。また、クラウドプリントサービス500から能力情報が取得されている場合に、ドライバー拡張パッケージに含まれる能力情報であって、クラウドプリントサービスから取得された能力情報に含まれていない能力情報を追加することで印刷キューを拡張してもよい。さらに、上記能力情報とプリンターのハードウェア構成情報に基づいて、プリンターが実行することのできる機能を能力情報として印刷キューに登録してもよい。
【0083】
次に、クライアントコンピューター100は、印刷拡張アプリケーション配布サービス400に対して、ダウンロード要求を送信する(S617)。その際、オペレーティングシステム1053は、前述の印刷拡張アプリケーション1052の識別子情報を基に、対象のプリンターと紐づく印刷拡張アプリケーション1052のダウンロード要求を行う。本実施形態では、印刷拡張アプリケーション配布サービス400において、ドライバー拡張パッケージ303の印刷拡張アプリケーション1052の識別子情報と印刷拡張アプリケーション1052は1対1で紐づいている。
【0084】
また、印刷拡張アプリケーション配布サービス400において、印刷拡張アプリケーション1052の識別子情報とプリンター情報に含まれるHWIDの紐づけ情報を記載したメタデータを保存しておいてもよい。その場合、そのメタデータを利用して、適切な印刷拡張アプリケーション1052をダウンロードする仕組みとなる。
【0085】
印刷拡張アプリケーション配布サービス400は、ダウンロード要求を受信すると、クライアントコンピューター100に対してダウンロード処理を行う(S618)。アプリケーション応答部402は、クライアントコンピューター100から通知されたアプリケーション識別子に対応するアプリケーションをアプリケーションデータベース410から特定する。アプリケーション応答部402は特定した印刷拡張アプリケーションをクライントコンピューターに送信する。クライアントコンピューター100は、印刷拡張アプリケーション1052のインストールを行う(S619)。
【0086】
インストール後、クライアントコンピューター100において印刷拡張アプリケーション1052は、プリンター200と1対1で紐づいている。従って、クライアントコンピューター100上の印刷キューがプリンター200の機種情報や印刷設定情報を保持していることにより、ユーザーに対して適切な印刷設定UIを提示することが可能となる。もしくは、印刷拡張アプリケーション1052が、クラウドプリントサービス500と通信し、対象の機種情報や印刷設定情報を取得し、その情報を用いてUIを提供してもよい。ユーザーは、印刷拡張アプリケーション1052のインストールが完了すると、詳細な印刷設定変更が利用可能となる。
【0087】
なお、本実施形態では、クライアントコンピューター100に印刷キューを生成した後、クライアントコンピューターがプリンタードライバー配布サービスにアクセスし、ドライバー拡張パッケージを取得した。クライアントコンピューター100がクラウドプリントサービス500から拡張後の印刷キューの情報を取得し、クライアントコンピューター上での印刷キューの拡張を行わないとしてもよい。この場合、クライアントコンピューター100はS614~S616を省略する。また、クライアントコンピューター100がクラウドプリントサービス500から拡張後の印刷キューの情報を取得したうえで、S614~S616に記載の処理を実行するとしてもよい。
【0088】
次に、ユーザーがクライアントコンピューター100を操作し、クラウドプリントサービス500を介した印刷を行う場合について説明する。
【0089】
ユーザーがクラウドプリントを利用する場合、クライアントコンピューター100のアプリケーション1051から印刷指示を行う。具体的な例として、アプリケーションのファイルメニューから“印刷”ボタンを選択する。アプリケーション1051は、ユーザーからの印刷指示に従って、オペレーティングシステム1053に対して
図8Aに示す印刷コモンダイアログ(OSの提供する印刷設定画面)を表示するように指示を行う。オペレーティングシステム1053はアプリケーション1051から指示を受けて、印刷コモンダイアログを表示する。オペレーティングシステム1053が表示する印刷コモンダイアログは、クライアントコンピューター100に印刷キューが生成されているプリンターの一覧や、印刷するページの指定、部数の設定ができるようになっている。領域801には、クライアントコンピューター100に生成されている印刷キューの名称が表示されている。領域801には、クライアントコンピューター100とイントラネットで接続されるプリンターの印刷キューに加え、クラウドプリントサービス500を介して印刷に使用することのできるプリンターの印刷キューが表示される。印刷コモンダイアログでは、ユーザーはいずれのプリンターを使用する場合にも設定するようなページ指定や部数の設定を行うことしかできない。
【0090】
ユーザーが印刷コモンダイアログでは設定することのできない印刷設定を行うためには、ユーザーは印刷コモンダイアログから出力したいプリンターの印刷キューを選択し、同じ画面に表示している詳細設定ボタン(オブジェクト)800を選択する。ユーザーが“詳細設定”ボタンを選択すると、インストールされた印刷拡張アプリケーション1052が起動され、
図8Bに示す印刷設定画面が表示される。印刷拡張アプリケーション1052が提供する印刷設定画面では、例えば、濃度や色味などの画像処理の設定やスタンプ合成の可否や、パンチ位置やステープル位置の設定など印刷コモンダイアログでは設定することのできない印刷設定を行うことができる。
【0091】
ここで、
図8Bを用いて、印刷拡張アプリケーション1052が提供する印刷設定画面について説明する。
【0092】
ユーザーが印刷コモンダイアログの詳細設定ボタン800を選択すると、印刷拡張アプリケーション1052は、クラウドプリントサービス500に作成されたクライアントコンピューター100上の印刷キューに紐づく能力情報を取得する。
【0093】
取得した能力情報を基に、実行ファイル部10522は
図8Bに示す印刷設定画面を生成する。803は、印刷設定部であり、印刷キューの能力情報を基に印刷設定の変更を行うことができる。804は、拡張設定であり、ドライバー拡張パッケージ303で拡張された能力情報によって、生成された操作部である。805は、表示されている画面を切り替え、設定する項目を変更するための領域である。806は、確定ボタンであり、押下されることで設定情報を確定し、OS1053に確定した設定情報を渡す。
【0094】
印刷コモンダイアログにて、ユーザーが“印刷”ボタン802を選択すると、画像データと印刷コモンダイアログで設定された印刷設定、印刷拡張アプリケーションで設定された印刷設定が印刷キューに送信される。領域801で設定されている印刷キューがクラウドプリントサービス500に登録されたプリンターの印刷キューである場合、クライアントコンピューター100は、クラウドプリントサービス500の当該印刷キュー宛てに画像データと印刷設定を送信する。
【0095】
つぎに、ユーザーがプリンターを操作して印刷するときの処理について説明する。ユーザーがプリンター200にログインすると、プリンター200はクラウドプリントサービス500の印刷キューに登録された印刷ジョブの書誌情報の取得要求をクラウドプリントサービス500に送信する。ここで取得される書誌情報とは、画像データのファイル名、カラーモード印刷部数、印刷ジョブの生成日時など、プリンター200のUI表示に必要な情報である。
【0096】
クラウドプリントサービス500は、印刷キューに記憶された印刷ジョブの書誌情報から印刷可能ジョブリストを生成する。そして、クラウドプリントサービス500は、プリンター200に生成した印刷可能ジョブリストを送信する。クラウドプリントサービス500が送付した印刷可能ジョブリストをプリンター200が受信すると、その印刷ジョブのリストを操作パネルに表示する。
図7は、クラウドプリントサービス500から受信した印刷可能ジョブリストを表示した操作パネルの一例である。ユーザーはその操作パネルから所望する印刷ジョブを選択しプリントボタン(“プリントする”700)を押下して印刷を指示する。印刷実行を受け付けたプリンター200は、クラウドプリントサービス500に対して印刷ジョブの取得要求を行う。なお、この取得要求には、取得したい印刷ジョブのID、即ち、印刷ジョブIDが含まれている。クラウドプリントサービス500が、受信した印刷ジョブIDに対応する印刷ジョブをプリンター200に送信することで印刷が実行される。
【0097】
図10は、本実施形態を示すクラウドプリントサービス500にプリンター200から印刷ジョブの取得要求を受信した場合に、クラウドプリントサービス500が行う処理のフローチャート図である。特に明記しない場合、本処理はクラウドプリントサービス500の各処理部で行われる。まず、印刷ジョブ管理部505は、プリンター200から印刷ジョブ取得要求(出力対象の印刷ジョブの印刷ジョブIDを含む)を受信する(S1001)。
【0098】
要求を受信した印刷ジョブ管理部505は、指定された印刷ジョブを印刷ジョブ保存領域511から特定する。印刷ジョブ管理部505は、特定された印刷ジョブを印刷ジョブ生成部506に渡し、出力先のプリンター200に適した印刷ジョブを生成する(S1002)。
【0099】
印刷ジョブ管理部505は生成された印刷ジョブを印刷ジョブ生成部506から取得し、印刷要求元のプリンター200に印刷ジョブを送信する(S1003)。
【0100】
本実施形態では、ユーザーがプリンター200を操作し、選択した印刷ジョブをプリンター200がクラウドプリントサービス500から取得するとした。プリンター200が定期的にクラウドプリントサービス500にアクセスし、プリンター200の印刷キューと紐づいて管理される印刷ジョブをクラウドプリントサービス500から取得するとしてもよい。
【0101】
以降、本実施形態において特徴的な動作となる、クラウドプリン
トサービスへのプリンターの登録処理の詳細を説明する。
図12は、プリンター200をクラウドプリントサービス500に登録し、クラウドプリントサービスが印刷キューを拡張する処理を示すフローチャートである。
図12に示す処理は、クラウドプリントサービス500を構成する1または複数の情報処理装置のCPUがプログラムを実行することで実現される。
【0102】
プリンター登録部501は、プリンター200から登録要求を受信したか否かを判定する(S1201)。プリンター200から登録要求を受信した場合、プリンター登録部501は処理をS1202に進める。一方で、プリンター200から登録要求を受信していない場合、プリンター登録部501はS1201に記載の処理を続ける。
【0103】
プリンター登録部501は、プリンター200からメタ情報とデバイス能力情報を取得し、プリンターデータベース510に登録する(S1202)。メタ情報とは、プリンター200のHWIDやCOIDなどである。また、プリンター200から取得されるメタ情報には、プリンター200が提供するデバイス能力情報のファイルのバージョンが記憶されている。プリンター200から取得されるデバイス能力情報は、両面印刷の可・不可や、モノクロ印刷、カラー印刷の可・不可、印刷に用いられる用紙の向き等の情報であり、IPP等で標準化された能力情報である。プリンター登録部501は、取得したメタ情報、デバイス能力情報をプリンターデータベース510に登録する。さらにS1202において、クラウドプリントサービス500がプリンター200からプリンター200のハードウェア構成を受信するとしてもよい。
【0104】
印刷キュー生成部502は、プリンター登録部501からメタ情報、デバイス能力情報を取得し、プリンター200の印刷キューを生成する(S1203)。
【0105】
プリンター登録部501は、プリンタードライバー配布サービス300にドライバー拡張パッケージの取得要求を送信する(S1204)。プリンター登録部501は、ドライバー拡張パッケージの取得要求とともに、プリンター200から取得したメタ情報に含まれるHWID、COIDを送信する。なお、本実施形態ではHWID、COIDの両方をプリンタードライバー配布サービスに送信するとしたが、いずれか一方のみをプリンタードライバー配布サービスに送信するとしてもよい。
【0106】
プリンター登録部501は、プリンタードライバー配布サービスから、ドライバー拡張パッケージを取得したか否かを判定する(S1205)。たとえば、クラウドプリントサービス500がプリンタードライバー配布サービス300から対応するドライバー拡張パッケージが存在しないことを示す応答を受信した場合、プリンター登録部501はドライバー拡張パッケージを取得していないと判定する。また、ドライバー拡張パッケージの取得要求を送信して、所定時間が経過してもドライバー拡張パッケージが取得されない場合、プリンター登録部501がドライバー拡張パッケージを取得していないと判定してもよい。プリンター登録部501がドライバー拡張パッケージを取得していない場合、プリンター登録部501は
図12に記載のフローチャートを終了する。
【0107】
プリンター登録部501がドライバー拡張パッケージを取得した場合、プリンター登録部501はS1206に記載の処理を実行する。
【0108】
プリンター登録部501は、プリンタードライバー配布サービス300から取得されたドライバー拡張パッケージに含まれるデバイス能力情報ファイルが、プリンター200から取得されたデバイス能力情報ファイルよりも新しいか否かを判定する(S1206)。プリンター登録部501は、プリンタードライバー配布サービス300から取得したデバイス能力情報ファイルのバージョンと、プリンター200から取得されたデバイス能力情報ファイルのバージョンを比較する。プリンタードライバー配布サービス300から取得されたデバイス能力情報ファイルの方が、プリンター200から取得したデバイス能力情報よりも新しいファイルである場合、プリンター登録部501はS1207に記載の処理を実行する。なお、プリンタードライバー配布サービス300から取得されたデバイス能力情報ファイルが、プリンター200から取得されたデバイス能力情報ファイルよりも新しいか否かは、ファイルのバージョン以外のものによって判定されるとしてもよい。例えば、プリンター200から取得されたデバイス能力情報ファイルの生成日と、プリンタードライバー配布サービス300から取得されたデバイス能力情報ファイルの生成日を比較するとしてもよい。
【0109】
プリンター登録部501は、プリンターデータベース510に登録されているデバイス能力情報をプリンタードライバー配布サービス300から取得したデバイス能力情報ファイルで更新する(S1207)。さらに、プリンター登録部501は、デバイス能力情報ファイルを印刷キュー生成部502にデバイス能力情報を送信し、印刷キューに対応するデバイス能力情報を更新する。プリンター登録部501は、プリンターデータベース510のデバイス能力情報をドライバー拡張パッケージに含まれるデバイス能力情報で上書きする。また、プリンター登録部501が、ドライバー拡張パッケージに含まれる能力情報のうちプリンターから取得したデバイス能力情報に含まれていない部分をデバイス能力情報に追加するとしてもよい。印刷キュー生成部502についても、印刷キューに紐づくデバイス能力情報をドライバー拡張パッケージに含まれる能力情報で上書きしてもよいし、デバイスから取得した能力情報に含まれていない能力情報を追加するとしてもよい。また、S1202において、プリンター200のハードウェア構成を受信している場合、ハードウェア構成を加味してプリンター200で実行することのできる機能を能力情報としてプリンターデータベースを更新してもよい。
【0110】
図12のようにすることで、プリンターから取得された能力情報と、ドライバー拡張パッケージに含まれる能力情報のうち、新しい能力情報をクラウドプリントサービス500に登録することができる。なお、
図12では、プリンター200から取得したデバイス能力情報とプリンタードライバー配布サービス300から取得した能力情報のうち新しい能力情報をクラウドプリントサービス500に登録するとした。必ず、プリンタードライバー配布サービス300から取得したドライバー拡張パッケージに含まれる能力情報をクラウドプリントサービス500に登録するとしてもよい。
【0111】
ここで、プリンタードライバー配布サービス300のプリンタードライバーデータベースに登録されているドライバー拡張パッケージ303が更新された場合の処理について説明する。
図11はプリンタードライバー配布サービス300に登録されているドライバー拡張パッケージが更新されたときの処理を示すシーケンス図である。
【0112】
ベンダー等が配布したドライバー拡張パッケージがプリンタードライバー配布サービス300のプリンタードライバー登録部301によってプリンタードライバーデータベース310に登録されることで、ドライバー拡張パッケージ303が更新される。プリンタードライバー配布サービス300に登録されたドライバー拡張パッケージ303が更新された場合、クラウドプリントサービス500に登録されている印刷キューに対応するドライバー拡張パッケージも更新することが望ましい。そこで、以下の処理を行うことでクラウドプリントサービス500に登録されているドライバー拡張パッケージを更新する。
【0113】
クライアントコンピューター100は、クラウドプリントサービス500にアクセスし、クラウドプリントサービス500にログイン要求を送信する(S1101)。ユーザーはクラウドプリントサービス500にアクセスし、ユーザーID、Passwordを入力し、クラウドプリントサービス500にログインする。クラウドプリントサービス500は入力されたユーザーID、Passwordに基づき、ユーザー認証を行う。
【0114】
ユーザー認証に成功した場合、クラウドプリントサービス500は当該ユーザーに紐づくプリンター情報についてドライバー拡張パッケージ情報の取得要求をプリンタードライバー配布サービス300に送信する(S1102)。クラウドプリントサービス500は、プリンタードライバー配布サービス300にログインしたユーザーに紐づくプリンターのHWID、COIDを送信する。S1102において、クラウドプリントサービス500がHWID、COIDのいずれかを送信するとしてもよい。
【0115】
プリンタードライバー配布サービス300は、クラウドプリントサービス500から受信したHWIDに紐づく、ドライバー拡張パッケージのパッケージ情報をクラウドプリントサービス500に送信する(S1103)。プリンタードライバー配布サービス300は、プリンタードライバーデータベース310に記憶されたドライバー拡張パッケージのパッケージ情報を送信する。ここで送信されるパッケージ情報とは、ドライバー拡張パッケージのバージョン情報や、最新の更新日時情報などである。
【0116】
クラウドプリントサービス500は、受信したドライバー拡張パッケージのパッケージ情報と、印刷キューと対応づけて記憶したドライバー拡張パッケージ情報とを比較し、ドライバー拡張パッケージの更新が必要であるか判定する。クラウドプリントサービス500は、たとえば、プリンターデータベース510に登録されているドライバー拡張パッケージのバージョンと、プリンタードライバー配布サービスから受信したドライバー拡張パッケージのバージョン情報を比較する。プリンタードライバー配布サービス300から受信したバージョンの方が新しいバージョンを示す値である場合、S1104に後述する処理を実行する。クラウドプリントサービス500は、プリンタードライバー配布サービス300から受信したドライバー拡張パッケージの更新日時と、プリンターデータベース510に記憶しているドライバー拡張パッケージの更新日時とを比較するとしてもよい。プリンタードライバー配布サービス300から受信した更新日時の方が後の日時である場合、クラウドプリントサービス500は、S1104に記載の処理を実行する。なお、クラウドプリントサービス500にインストールされているドライバー拡張パッケージが最新のものである場合、S1104以降の処理は行われず、
図11に示すシーケンスは終了する。
【0117】
クラウドプリントサービス500は、更新が必要なドライバー拡張パッケージについて、更新を行うか否かユーザーに問い合わせる画面をクライアントコンピューター100に表示させる(S1104)。S1104では、たとえば、ドライバー拡張パッケージの更新が必要なプリンターの情報をリスト表示し、ドライバー拡張パッケージの更新を行うプリンターをユーザーに選択させる。
【0118】
ユーザーがドライバー拡張パッケージの更新を要求した場合、クライアントコンピューター100は、ユーザーが指示したプリンターについてドライバー拡張パッケージの更新要求をクラウドプリントサービス500に送信する(S1105)。
【0119】
クラウドプリントサービス500は、プリンタードライバー配布サービス300にドライバー拡張パッケージの取得要求を送信する(S1106)。S1106において、クラウドプリントサービス500はユーザーから更新が指示されたプリンターのHWID、COIDをプリンタードライバー配布サービス300に送信する。なおS1106において、クラウドプリントサービス500がHWID、COIDのいずれかのみをプリンタードライバー配布サービスに送信するとしてもよい。
【0120】
プリンタードライバー配布サービス300は、指示されたHWIDに基づき特定されるドライバー拡張パッケージをクラウドプリントサービス500に送信する(S1107)。クラウドプリントサービス500は、あらかじめプリンター情報と対応づけて記憶していたドライバー拡張パッケージを受信したドライバー拡張パッケージで更新する。これにより、クラウドプリントサービス500に登録されているドライバー拡張パッケージをプリンタードライバー配布サービス300に登録された最新のものに更新することができる。なお、上記の例では、ユーザーによる更新指示に従って、ドライバー拡張パッケージの更新を行った。プリンタードライバー配布サービス300の配布するドライバー拡張パッケージが更新された場合に、ユーザーに問い合わせることなく、新しいドライバー拡張パッケージをクラウドプリントサービス500にインストールするとしてもよい。
【0121】
クラウドプリントサービス500は、更新後のドライバー拡張パッケージをクライアントコンピューター100にもインストールする(S1108)。クライアントコンピューター100は、クラウドプリントサービス500から更新後のドライバー拡張パッケージを取得して、クライアントコンピューター100の記憶するドライバー拡張パッケージの情報を更新する。
【0122】
なお、
図11では、ユーザーがクラウドプリントサービスにログインしたS1102で、プリンタードライバー配布サービス300に登録されているドライバー拡張パッケージ情報の取得要求を行った。所定時間毎、または、決まった日時にクラウドプリントサービス500がプリンタードライバー配布サービス300にドライバー拡張パッケージ情報の取得要求を送信するとしてもよい。
【0123】
また、
図11ではユーザーがログインしたタイミングでS1102に記載の処理を実行するとした。クラウドプリントサービス500にログインしたユーザーがクラウドプリントサービス500でプリンター情報の管理を行う権限を有している場合にS1102以降の処理を実行するとしてもよい。
【0124】
以上の処理を実行することで、クラウドプリントサービス500に登録されたプリンターの能力情報をクラウドプリントサービスと異なる他のサーバシステムか提供する能力情報で拡張することができる。
【0125】
(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。