(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】サーバシステム、およびサーバシステムと通信する情報処理装置ならびにコンピュータプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240624BHJP
H04N 1/00 20060101ALI20240624BHJP
B41J 29/38 20060101ALI20240624BHJP
【FI】
G06F3/12 355
G06F3/12 305
G06F3/12 387
H04N1/00 127A
B41J29/38 202
(21)【出願番号】P 2020015843
(22)【出願日】2020-01-31
【審査請求日】2023-01-20
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】花井 宏彰
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2012-160009(JP,A)
【文献】特開2018-176467(JP,A)
【文献】特開2000-227847(JP,A)
【文献】特開2012-181762(JP,A)
【文献】特開2017-194766(JP,A)
【文献】特開2003-091373(JP,A)
【文献】特開2020-009420(JP,A)
【文献】特開2020-004158(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
H04N 1/00
G06F 13/00
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
情報処理装置から受信した印刷データを印刷装置に送信するサーバシステムであって、
前記印刷装置から、前記印刷装置の識別情報を受信する受信手段と、
受信した前記識別情報に基づき特定される禁則条件を取得する取得手段と、
前記印刷装置の前記識別情報と取得した前記禁則条件を対応づけて記憶する記憶手段と、
前記情報処理装置から受信した印刷設定に、前記情報処理装置から受信した前記印刷装置の前記識別情報に対応づけて記憶された前記禁則条件に合致する印刷設定が含まれるかを判定する判定手段と、
前記判定手段が前記情報処理装置から受信した前記印刷設定に、前記情報処理装置から受信した前記印刷装置の識別情報に対応づけて記憶された前記禁則条件に合致する印刷設定が含まれると判定したことに基づいて、第1の情報を前記情報処理装置に送信する送信手段と、を有し、
前記第1の情報は、前記印刷設定のうちいずれの設定項目が前記禁則条件に合致しているかを示す情報を含
み、
前記第1の情報が前記情報処理装置に送信された後、ユーザーにより変更された印刷設定について、前記判定手段により前記禁則条件に合致する印刷設定が含まれるかを判定することを特徴とするサーバシステム。
【請求項2】
前記送信手段は、前記判定手段が前記情報処理装置から受信した前記印刷設定に、前記情報処理装置から受信した前記印刷装置の前記識別情報に対応づけて記憶された前記禁則条件に合致する印刷設定が含まれていないと判定したことに基づいて、前記第1の情報と異なる第2の情報を前記情報処理装置に送信する請求項1に記載のサーバシステム。
【請求項3】
前記取得手段は、前記サーバシステムと異なる他のサーバシステムから前記禁則条件を取得することを特徴とする請求項1または2に記載のサーバシステム。
【請求項4】
前記識別情報は、前記印刷装置の機種情報であることを特徴とする請求項3に記載のサーバシステム。
【請求項5】
前記取得手段は、前記サーバシステムに登録された前記印刷装置のうち、前記印刷データの送信先として設定されている印刷装置の機種情報を取得し、
前記判定手段は、取得された前記印刷設定が取得された前記機種情報に基づき特定される前記禁則条件と合致する印刷設定を含むか否かを判定することを特徴とする請求項1乃至4のいずれか一項に記載のサーバシステム。
【請求項6】
前記送信手段は、前記判定手段により、前記禁則条件に合致する設定項目を含まないと判定された印刷設定の印刷データを前記印刷装置に送信することを特徴とする請求項1乃至5のいずれか一項に記載のサーバシステム。
【請求項7】
印刷装置の識別情報を受信し、受信した前記識別情報に基づき特定される禁則条件を前記印刷装置の前記識別情報と対応づけて記憶し、情報処理装置から受信した画像データを前記印刷装置に送信するサーバシステムと通信することのできる情報処理装置であって、
ユーザーから印刷設定を受け付ける受け付け手段と、
前記受け付け手段により受け付けられた前記印刷設定と前記印刷設定の送信先となる印刷装置の識別情報を前記サーバシステムに送信する送信手段と、
送信した前記印刷設定に送信した前記印刷装置の前記識別情報に対応づけられた前記禁則条件に合致する印刷設定が含まれる場合、前記サーバシステムから第1の情報を受信する受信手段と、
前記第1の情報に基づき、前記禁則条件に合致する印刷設定が前記印刷設定に含まれていることを表示する表示手段と、を有
し、
前記サーバシステムから前記第1の情報を受信したことに基づき、前記受け付け手段により、ユーザーから印刷設定の変更を受け付けることを特徴とする情報処理装置。
【請求項8】
前記表示手段は、送信した前記印刷設定のうち前記禁則条件に合致する印刷設定の項目名を表示することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記受信手段は、送信した前記印刷設定に送信した前記印刷装置の前記識別情報に対応づけられた前記禁則条件に合致する印刷設定が含まれない場合、前記第1の情報と異なる第2の情報を受信し、
前記送信手段は、前記第2の情報を受信したことに基づき前記印刷装置に送信される画像データを前記サーバシステムに送信する請求項7または8に記載の情報処理装置。
【請求項10】
印刷装置の識別情報を受信し、受信した前記識別情報に基づき特定される禁則条件を前記印刷装置の前記識別情報と対応づけて記憶し、情報処理装置から受信した画像データを前記印刷装置に送信するサーバシステムと通信することのできる情報処理装置に、
ユーザーから受け付ける印刷設定であって、前記印刷設定の送信先となる印刷装置の識別情報とともに前記サーバシステムへ送信される前記印刷設定を受け付けさせ、
前記印刷設定に前記印刷装置の前記識別情報に対応づけられた前記禁則条件に合致する印刷設定が含まれる場合に前記サーバシステムから受信される第1の情報に基づき、前記禁則条件に合致する印刷設定が前記印刷設定に含まれていることを表示させ
、
前記サーバシステムから前記第1の情報を受信したことに基づき、ユーザーから印刷設定の変更を受け付けさせることを特徴とするプログラム。
【請求項11】
送信した前記印刷設定のうち前記禁則条件に合致する印刷設定の項目名を表示させることを特徴とする請求項10に記載のプログラム。
【請求項12】
送信した前記印刷設定に送信した前記印刷装置の前記識別情報に対応づけられた前記禁則条件に合致する印刷設定が含まれない場合に前記サーバシステムから受信される、前記第1の情報と異なる第2の情報を受信したことに基づき、前記印刷装置に送信される画像データが前記サーバシステムに送信される請求項11に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はサーバシステム、およびサーバシステムと通信する情報処理装置ならびにコンピュータプログラムに関するものである。
【背景技術】
【0002】
予め、ユーザーがクラウドプリントサービスに印刷装置の情報を登録しておき、印刷データをクラウドプリントサービス経由で印刷装置に送信して印刷する印刷システムが知られている。ユーザーは、PC等の情報処理装置からクラウドプリントサービスにアクセスし、クラウドプリントサービスに登録された印刷装置から印刷に使用する印刷装置を選択し、印刷データの印刷を指示する。
【0003】
情報処理装置は、印刷ジョブを生成し、クラウドプリントサービス上の印刷キューに投入する。印刷装置は、クラウドプリントサービスにアクセスし、クラウドプリントサービス上に生成された印刷キューにスプールされた印刷ジョブを取得し、出力する(特許文献1)。
【0004】
クラウドプリントサービスの代表例として、例えばGoogleCloudPrint(登録商標)(特許文献1)、MicrosoftHybridCloudPrint(登録商標)、uniFLOW Online(登録商標)などがある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般的な印刷装置と対応するプリンタードライバーは用紙種類の選択、画質設定、フィニッシング処理の選択など、複数の設定項目を提供するが、機能毎の設定によっては複数機能を同時に利用できないケースがある。これらは通常、「禁則条件」と呼ばれており、禁則条件に合致する印刷設定がなされている場合、プリンタードライバーはユーザーに指定できない組み合わせをフィードバックする。
【0007】
しかし、クラウドプリントサービスでは、クラウドプリントサービス用のドライバーが用いられるため、印刷装置ごとの禁則条件に基づく判定を行うことができず、ユーザーにより設定された印刷設定が禁則条件に合致するかを知ることができなかった。
【0008】
本明細書は、クラウドプリントサービスを用いて印刷を行う場合に、ユーザーの行った印刷設定が禁則条件に合致する場合に、禁則条件が解消された状態で印刷が行われるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本明細書に記載のサーバシステムは、情報処理装置から受信した印刷データを印刷装置に送信するサーバシステムであって、前記印刷装置から、前記印刷装置の識別情報を受信する受信手段と、受信した前記識別情報に基づき特定される禁則条件を取得する取得手段と、前記印刷装置の前記識別情報と取得した前記禁則条件を対応づけて記憶する記憶手段と、前記情報処理装置から受信した印刷設定に、前記情報処理装置から受信した前記印刷装置の前記識別情報に対応づけて記憶された前記禁則条件に合致する印刷設定が含まれるかを判定する判定手段と、前記判定手段が前記情報処理装置から受信した前記印刷設定に、前記情報処理装置から受信した前記印刷装置の識別情報に対応づけて記憶された前記禁則条件に合致する印刷設定が含まれると判定したことに基づいて、第1の情報を前記情報処理装置に送信する送信手段と、を有し、前記第1の情報は、前記印刷設定のうちいずれの設定項目が前記禁則条件に合致しているかを示す情報を含み、前記第1の情報が前記情報処理装置に送信された後、ユーザーにより変更された印刷設定について、前記判定手段により前記禁則条件に合致する印刷設定が含まれるかを判定することを特徴とする。
【発明の効果】
【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】本実施形態においてOSが表示する印刷コモンダイアログの一例を示す図である。
【
図8B】本実施形態において、印刷拡張アプリケーションが表示する印刷設定画面の一例を示す図である。
【
図8C】本実施形態において、印刷拡張アプリケーションが表示するプッシュ通知の一例を示す図である。
【
図9】本実施形態におけるクラウドプリントサービス500におけるデバイス能力情報の一例を示す図である。
【
図10】本実施形態における印刷処理を示すフローチャートである。
【
図11A】本実施形態において、印刷拡張アプリケーションが実行する処理を示すフローチャートである。
【
図11B】本実施形態において、クラウドプリントサービスが実行する禁則処理を示すフローチャートである。
【
図12A】本実施形態において、印刷指示がなされたときにクライアントコンピューター100が実行する処理を示すフローチャートである。
【
図12B】本実施形態において、印刷指示がなされたときにクラウドプリントサービスが実行する処理を示すフローチャートである。
【
図13】本実施形態において、禁則情報の一例を示す図である。
【発明を実施するための形態】
【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】
図13はドライバー拡張パッケージ303のデバイス能力情報部305に記憶される禁則情報を示すテーブルの模式図である。当該テーブルは1行で1つの禁則条件を示す。なお、プリンターは、実際にはその他様々な禁則条件を有しているが、
図13では説明のため、8件の禁則条件を代表して表示している。禁則は、A列の管理番号で一意に識別される。B列は禁則項目数を示す。例えば、管理番号1の禁則条件は、禁則項目数が2であり、F列の用紙タイプOHPとN列の両面設定の機能がTrueとなっており、その他の機能がFalseとなっている。これは、OHPと両面印刷の組み合わせが禁則条件であり、プリンター200が処理できないことを示す。
図13の禁則条件はすべて2つの設定項目間での禁則条件であるが、3つの設定項目以上の設定項目間で禁則条件があってもよい。C列は禁則条件に沿って印刷ジョブをキャンセルした場合のエラー内容である。D列からS列までは印刷装置の印刷機能が機能単位で並んでおり、禁則項目の組み合わせを表現している。D~Fは用紙タイプ、G~Iは用紙サイズ、J~Mはステープル、Nは両面設定、O~Qは解像度設定、Rは地紋印刷設定、Sはスタンプ印刷設定である。
【0033】
本実施形態では、プリンター200からクラウドプリントサービス500に禁則情報が提供されない場合であっても、クラウドプリントサービス500がプリンター200の禁則情報を取得することができる。また、プリンター200からクラウドプリントサービス500に提供される禁則情報が、ドライバー拡張パッケージが提供する禁則情報の一部であっても、クラウドプリントサービス500に記憶される禁則情報を拡張することができる。
【0034】
図3Bは、印刷拡張アプリケーション配布サービス400の機能ブロックの一例を表した図である。アプリケーション登録部401、アプリケーション応答部402は、印刷拡張アプリケーション配布サービス400を構成する1または複数台の情報処理装置のCPUがプログラムを実行することで実現される。
【0035】
印刷拡張アプリケーション配布サービス400は、インターネットを通じたクラウド上に存在するサービスであり、外部サービスやクライアントコンピューター100に印刷拡張アプリケーションの配布を可能とする。尚、印刷拡張アプリケーション配布サービス400は、印刷拡張アプリケーション1052に限らず、他のアプリケーションの配布が可能であっても構わない。
【0036】
アプリケーション登録部401は、外部サービス及びクライアントコンピューター100から印刷拡張アプリケーション1052の登録指示があった際に、アップロードされたアプリケーションをアプリケーションデータベース410に登録する。
【0037】
アプリケーション応答部402は、外部サービスやクライアントコンピューター100から印刷拡張アプリケーション1052の取得要求があった場合にアプリケーションデータベース410から該当するアプリケーションを取得し、要求元に送信する。
【0038】
アプリケーションデータベース410は、ベンダー等が配布し、外部サービスやクライアントコンピューター100から登録要求を受信した印刷設定アプリケーションの情報が登録されるデータベースである。アプリケーションデータベース410に登録される情報の詳細は
図5Cを用いて後述する。
【0039】
本実施形態における印刷拡張アプリケーション1052は、設定ファイル部10521と実行ファイル部10522を持つ。設定ファイル部10521は、印刷拡張アプリケーション1052を識別するための識別子や、対応するプリンター200を識別するためのHWIDやCOIDなどの情報を持つ。実行ファイル部10522は、印刷拡張アプリケーション1052の実行ファイル部である。実行ファイル部10522は印刷設定UI(User Interface)や外部サービスからのプッシュ通知を受け取って表示をすることが可能である。
【0040】
図3Cは、本発明の実施形態を示すクラウドプリントサービス500の機能ブロック図である。それぞれの機能ブロックは、クラウドプリントサービス500を構成する1または複数台の情報処理装置のCPUがプログラムを実行することで実現される。
【0041】
クラウドプリントサービス500は、インターネットを通じたクラウド上に存在するサービスであり、印刷に関連する機能を提供可能とする。本実施形態では、プリンター登録部501、印刷キュー生成部502、プリンターリスト生成部503、探索応答部504、プリンターデータベース510の機能を持つ。さらに、印刷ジョブ管理部505、印刷ジョブ生成部506、印刷ジョブ保存領域511の機能を持つ。また、これらの機能がクラウドプリントサービス500と連携する別のクラウドプリントサービスにあっても構わない。
【0042】
以下、プリンター200をクラウドプリントサービス500に登録し、プリンター200を用いて印刷を行う場合を例に記載しているが、クラウドプリントサービス500と接続可能なプリンター201やプリンター202でも同様の処理で実現可能である。
【0043】
プリンター登録部501は、プリンター200からプリンターの登録指示があった場合、印刷キュー生成部502を利用して印刷キューを生成させ、生成された印刷キューをプリンターデータベース510にプリンター識別情報と紐づけて登録する。このようにプリンターの印刷キューとプリンター識別情報とが紐づけて登録されていることを、プリンターが登録されていると記載する。ここで登録されたプリンターに対して、様々な属性が付加される場合がある。例えば、プリンターの所在地が該当する。
【0044】
印刷キュー生成部502は、プリンター登録部501の制御に従い、クラウドプリントサービス500上の印刷キューを生成する。クライアントコンピューター100が印刷指示をすると、印刷キュー生成部502が生成した印刷キューに印刷ジョブが登録される。
【0045】
プリンターリスト生成部503は、登録されたプリンターのリストを生成する。クライアントコンピューター100からクラウドプリントサービス500に登録されているプリンターのリストを要求された場合等にプリンターのリストを生成する。
【0046】
探索応答部504は、クライアントコンピューター100からのクラウドプリントサービス500に対してプリンター探索に基づき、登録されているプリンターの情報をクライアントコンピューター100に応答する。
【0047】
印刷ジョブ管理部505は、クライアントコンピューター100から画像データと印刷設定を受信したり、印刷ジョブ生成部506が生成した印刷ジョブをプリンター200に送信する。また、印刷ジョブ管理部505は、印刷ジョブ生成部506が生成した印刷ジョブを印刷ジョブ保存領域511に保存する。
【0048】
プリンターデータベース510は、クラウドプリントサービス500に登録されているプリンターの情報を記憶するデータベースである。プリンターデータベース510に記憶される内容は、
図5Aで後述する。
【0049】
禁則処理部507は、クラウドプリントサービス500がドライバー拡張パッケージのデバイス能力情報部305から取得、追加した禁則情報を基にクライアントコンピューター100から取得した印刷設定に対する禁則処理を実行する。禁則処理部507はクライアントコンピューター100から取得した印刷設定に禁則条件に合致する設定が含まれる場合、禁則が発生していると判定する。クライアントコンピューター100から取得した印刷設定に禁則条件に合致する設定が含まれていない場合、禁則処理部507は禁則が発生していないと判定する。そして、禁則処理部507は禁則が発生しているか否かをクライアントコンピューター100に返す。
【0050】
はじめに、プリンター200をクラウドプリントサービス500に登録する処理について説明する。
【0051】
図4は、本発明の実施形態を示すプリンター200をクラウドプリントサービス500に登録する処理のシーケンス図である。本実施形態では、クライアントコンピューター100からプリンター200にアクセスし、プリンター200を操作することでクラウドプリントサービス500にプリンター200の登録要求を送信する。
【0052】
プリンター200はクラウドプリント機能(クラウドプリントサービスから印刷ジョブを受信して印刷する機能)と、クライアントコンピューター100からプリンター200を操作するためのWebUI機能をサポートしている。WebUI機能とは、UIを生成してネットワーク上に公開する機能である。クライアントコンピューター100はクラウドプリントクライアント機能(クラウドプリントサービスにファイルを送信する機能)と、WebUIを操作するためのWebUIクライアント(例えば、Webブラウザー)をサポートしている。また、クラウドプリントサービス500はインターネット上のクラウドプリントサービスを表す。
【0053】
ユーザーはまずクライアントコンピューター100のWebUIクライアントを利用して、プリンター200のWebUIを開き、当該WebUI上で、クラウドプリントサービスにプリンターを登録するためのボタンを選択する。当該選択がされると、クライアントコンピューター100は、クラウドプリントサービス登録要求をプリンター200に送信する(S410)。
【0054】
プリンター200は、S410においてクラウドプリントサービスへの登録要求を受信すると、クラウドプリントサービス500にクラウドプリントサービスへの登録要求を送信する(S411)。このように、本実施形態では、クライアントコンピューター100のWebUIクライアントからクラウドプリントサービス500へのプリンター200の登録要求を送信している。プリンター200に付随した入力装置、例えばパネルから操作することで本要求を送信可能としてもよい。このとき、クライアントコンピューター100から要求を行わず、プリンター200がクラウドプリントサービス500にプリンターの登録要求を送信するとしてもよい。
【0055】
S411において、クラウドプリントサービス500に送信されるクラウドプリントサービスへの登録要求には、プリンター200の情報が付随している。プリンター200の情報には、プリンター200の名称、プリンターの機種を識別する情報(HWID)、インクジェットプリンターやレーザープリンターなどのプリンターの種別を識別するためのCOIDが含まれる。さらに、プリンターの情報には、IPアドレス情報やIPPなどで標準化されている能力情報ファイルが含まれる。能力情報は、プリンター200が機能として備えている最大の能力である。すなわち、能力情報に記載されている設定であっても、プリンター200のハードウェア構成によって実行することのできない機能の情報も含まれている。たとえば、プリンター200にステープル機能を有するフィニッシャを接続可能であれば、フィニッシャの接続有無にかかわらず、能力情報にはステープル可能と記載される。
【0056】
また、S411において、プリンター200はプリンター200のハードウェア構成情報をクラウドプリントサービス500に送信する。ハードウェア構成とは、ステープルをすることのできる構成を持っているか否か、パンチ穴をあける構成を持っているか否か等の情報である。
【0057】
クラウドプリントサービス500は、S411において登録要求を受信すると、印刷キュー生成部502に、プリンター200に印刷ジョブを送信するための印刷キューを作成させる(S412)。印刷キュー生成部502が印刷キューの生成を行う。この印刷キューは、受信したプリンター200の情報である、プリンターの名称(デバイス名)、プリンターの機種を識別するHWID、COIDや、プリンターのIPアドレスを利用して作成される。プリンター登録部501は、登録要求がなされたプリンターのレコードを生成し、プリンターの情報と能力情報を登録する。プリンター登録部501は、プリンターの能力情報とハードウェア構成情報に基づき、プリンター200が実行することのできる機能情報を生成し、印刷キューに登録するとしてもよい。
【0058】
次に、クラウドプリントサービス500は、プリンタードライバー配布サービス300にドライバー拡張パッケージ303のダウンロード要求を送信する(S413)。これは、クラウドプリントサービス500に登録されたプリンターに対応するドライバー拡張パッケージ303を受信するための要求である。クラウドプリントサービス500は、ドライバー拡張パッケージ303ダウンロード要求とプリンター200のHWID、COIDをプリンタードライバー配布サービス300に送信する。
【0059】
プリンタードライバー配布サービス300は、受信したHWID及びCOIDに基づき、該当するドライバー拡張パッケージ303をクラウドプリントサービス500に送信する(S414)。プリンタードライバー配布サービス300は、プリンタードライバーデータベース310から、拡張フラグがTRUEのパッケージであって、受信したHWIDに一致するドライバー拡張パッケージを特定する。拡張フラグがTRUEであるが、受信したHWIDに一致するドライバー拡張パッケージが特定されない場合、プリンタードライバー配布サービス300は、拡張フラグがTRUEであって、受信したCOIDに一致するドライバー拡張パッケージを特定する。そして、プリンタードライバー配布サービス300は、クラウドプリントサービス500に特定されたドライバー拡張パッケージを送信する。なお、HWIDのみでドライバー拡張パッケージが特定可能である場合、S413において、HWIDのみをプリンタードライバー配布サービス300に送信するとしてもよい。
【0060】
その後、クラウドプリントサービス500は、ダウンロードされたドライバー拡張パッケージ303のデバイス能力情報部305を解析し、印刷キューを拡張する(S415)。クラウドプリントサービス500は、ドライバー拡張パッケージ303のデバイス能力情報部305からプリンター200の能力情報を取得する。そして、クラウドプリントサービス500は、プリンターデータベース510のプリンター情報の印刷キューに対応するプリンターの能力情報を更新する。S415において、クラウドプリントサービス500は、印刷キューに対応づけられている能力情報をドライバー拡張パッケージから取得された能力情報で書き換える。このとき、クラウドプリントサービス500は、拡張された能力情報とプリンター200のハードウェア構成からプリンター200が実行することのできる機能情報を更新するとしてもよい。
【0061】
上記の実施形態では、プリンター200から取得された能力情報をドライバー拡張パッケージから取得された能力情報で上書きするとした。クラウドプリントサービス500が、ドライバー拡張パッケージから取得された能力情報のうち、印刷キューに対応づけられていない設定項目に関する能力情報を印刷キューに対応する能力情報に追加するとしてもよい。
【0062】
また、本実施形態では、プリンター200から能力情報が送信されるとした。プリンター200がプリンターの能力情報と接続されているハードウェア構成を加味した情報をクラウドプリントサービス500に送信するとしてもよい。この場合、クラウドプリントサービス500は、ドライバー拡張パッケージから取得された能力情報をプリンター200とプリンター200から取得された能力情報に基づき、プリンター200の機能情報を特定する。そして、クラウドプリントサービス500が特定された機能情報でクラウドプリントサービス上の印刷キューの機能情報を更新するとしてもよい。
【0063】
上記の処理により、クラウドプリントサービス500に登録されたプリンター200に対してベンダー特有のデバイス能力情報で印刷キューが拡張される。そして、プリンター200の情報をプリンターデータベース510に登録する(S416)。上記の処理により、ドライバー拡張パッケージにより拡張された能力情報が印刷キューに対応する能力情報としてプリンターデータベース510に登録される。
【0064】
図5Aは、クラウドプリントサービス500が保持するプリンターデータベース510の一例である。デバイス名は、登録時にプリンター200から取得したプリンターの名称(デバイス名)を指す。HWIDはプリンター200の機種を識別する際に用いる識別子(機種固有の識別子)を指す。COIDはプリンター200がインクジェットプリンターであるかレーザービームプリンターであるかなどプリンターのカテゴリーを識別するための識別情報である。IPアドレスは、接続先のプリンター200のIPアドレスを指す。パッケージは、当該プリンターに対応する印刷キューの拡張に使われるドライバー拡張パッケージ303のパッケージ名を指す。なお、拡張されていない場合には、Nullとなる。さらに、
図5Aには示していないが、当該テーブルにはこの他にドライバー拡張パッケージ303で拡張されたベンダー特有のデバイスの能力情報などがJSON(Javascript Object Notation)形式でデータベースに登録される。デバイスの能力情報が記憶される形式は、JSONに限らず他のデータフォーマットであっても構わない。また、
図5Aがプリンターの情報と当該プリンターを使用することのできるユーザーの情報を対応づけて記憶するとしてもよい。
【0065】
図9は、印刷キューに対応づけて記憶される能力情報の一例である。一例として、能力情報は、JSON形式になっており、各設定は機能を表している。また、各機能は配列形式で設定できる選択肢を持つ。
【0066】
901はIPP等で定義された標準的な能力情報を示している。“Duplex”は、両面機能に関する設定項目であり、当該設定項目の選択肢として両面印刷を表す“Duplex”と片面印刷を表す“One-Sided”を持つことを示している。“Color”は、カラー印刷に関する設定項目であり、選択肢として白黒印刷を示す“Mono”とカラー印刷を示す“Color”を持つことを示している。“Orientation”は印刷に使用する用紙の向きに関する設定項目であり、選択肢として縦長方向を示す“Portrait”と横長方向を示す”Landscape“を持つことを示している。なお、プリンター200からクラウドプリントサービス500に提供される能力情報ではIPP等で定義された標準的な設定項目、選択肢である。ドライバー拡張パッケージを用いてデバイスの能力情報を拡張することで、901に記載のIPP等で定義された標準的な設定項目であっても、ベンダー固有の選択肢を持つようにすることができる。たとえば、用紙の綴じに関する設定項目である”Staple“について、標準的な選択肢である左上一か所綴じを示す”Staple left top“に加えて、中綴じを示す”Saddle Stitch“を設定することができるようになる。
【0067】
これらの情報を基に、印刷拡張アプリケーション1052は、
図8Bにおける印刷設定画面を生成する。
【0068】
902は、ドライバー拡張パッケージ303で拡張された能力情報であり、例えばベンダー固有の設定項目に関する能力情報である。機能がExtension_Setting1、Extension_Setting2となっており、その選択肢としてExtension_option1,Extension_option2となっている。Extension settingとしては、たとえば、中綴じ製本に関する設定項目や、複数種類の用紙が一つのジョブに混在する用紙混在に関する設定などがある。用紙混在機能であれば、“Extension_Setting1”に用紙混在を示す文字列が入る。そして、“Extension_option1”に例えばA3とA4の用紙を使用することを示す選択肢を示す文字列、“Extension_option2”B4とB5の用紙を使用することを示す選択肢を示す文字列が入る。ドライバー拡張パッケージ303のデバイス能力情報部に、IPP等の標準では選択することのできない選択肢が含まれているとしてもよい。
【0069】
即ち、拡張機能は1つから複数の定義をすることが可能である。本図では、一例としてJSONで説明をしたが、他のデータフォーマットであっても構わない。
【0070】
クラウドプリントサービス500は、プリンターデータベース510への登録が完了すると、クラウドプリント登録用の登録URLを含むクラウドプリントサービス登録要求応答および登録URL提示要求をプリンター200に送信する(S417)。
【0071】
プリンター200は、クラウドプリントサービス登録要求応答および登録URL提示要求を受信し、プリンター200は登録URL情報を出力する(S418)。S418において、プリンター200はモニター110にURLを表示する、もしくは登録URL情報が記載された紙を印刷し、ユーザーに登録URLを通知する。また、プリンター200がクライアントコンピューター100に対して、WebUI経由で登録URLを通知してもよい。
【0072】
ユーザーは、プリンター200から提示された登録URLに位置するクラウドプリントサービス500にアクセスする(S419)。その際は、クラウドプリントサービス500にアクセス可能なクラウドアカウントにログインしている必要があるため、ユーザーIDとPASSWORDの入力が必要である。
【0073】
クラウドプリントサービス500は、クラウドアカウントとプリンター情報を含む登録URLから、ユーザーとプリンター200を紐づける。紐づける方法として、例えば、プリンター情報とユーザートークンを紐づける方法がある。ただし、その方法に限定はしない。そして、クラウドプリントサービス500は、クラウドプリントサービス500の情報を含めたユーザートークンをプリンター200に送信し、プリンター200のクラウドプリントサービス500への登録処理を終了する(S420)。プリンター200は、以降当該ユーザートークンを用いてクラウドプリントサービス500にアクセスする。
【0074】
ここで、プリンタードライバー配布サービス300が保持するプリンタードライバーデータベース310について説明する。
図5Bは、プリンタードライバー配布サービス300が保持するプリンタードライバーデータベース310の一例である。パッケージ名は、登録時にドライバー情報部304から取得したパッケージの名称を指す。HWIDはプリンター200の機種を識別する際に用いる識別情報(機種固有の識別情報)を指す。COIDは、当該ドライバーを使用するプリンターのカテゴリーを識別する識別情報である。パッケージは、ドライバー拡張パッケージ303を含むパッケージの名称を指す。パッケージは当該レコードに対応するドライバーまたはドライバー拡張パッケージを特定することのできる情報であればファイルパス等の情報であってもよい。拡張は、ドライバー拡張パッケージ303が拡張ファイルかどうかを示している。拡張が“FALSE”の場合、当該パッケージは拡張パッケージではなくプリンタードライバーである。一方で、拡張が“TRUE”の場合、当該パッケージはプリンタードライバーではなく、ドライバーを拡張するパッケージである。アプリケーション識別子は、当該プリンター拡張パッケージの記憶する能力情報を使って印刷設定画面を拡張する際に使用するアプリケーションを識別する識別情報である。本実施形態では、プリンター拡張パッケージのみがアプリケーション識別子を有しているが、プリンタードライバーがアプリケーション識別子を有していてもよい。
【0075】
プリンタードライバー登録部301は、パッケージをプリンタードライバーデータベース310に登録する際に、ドライバー情報部304を解析する。プリンタードライバー登録部301は、パッケージ名、HWIDやCOID、ドライバー拡張パッケージであるかどうかの情報を取得し、ドライバー拡張パッケージ303と共にプリンタードライバーデータベース310に登録をする。
【0076】
次に、印刷拡張アプリケーション配布サービス400が保持するアプリケーションデータベース410について説明する。
図5Cは、印刷拡張アプリケーション配布サービス400が保持するアプリケーションデータベース410の一例である。アプリケーション名は、印刷拡張アプリケーション1052を含む、当該データベースに登録されたアプリケーションの名称である。アプリケーション識別子は、印刷拡張アプリケーション1052を含むアプリケーションを識別するための情報である。アプリパッケージは、印刷拡張アプリケーション1052を含むアプリケーションの記憶されたファイルパスである。アプリパッケージは登録されている印刷拡張アプリケーションのパッケージを特定することのできる情報であれば、アプリケーションの記憶されたフォルダ名等であってもよい。
【0077】
アプリケーション登録部401は、設定ファイル部10521を解析し、アプリケーション名とアプリケーション識別子を取得する。アプリケーション登録部401は、印刷拡張アプリケーション1052と共にアプリケーションデータベース410に上記の情報を登録する。
【0078】
次に、クラウドプリントサービス500に登録されたプリンター200の印刷キューをクライアントコンピューター100に生成し、印刷拡張アプリケーションをインストールするときの処理を説明する。
【0079】
図6は、本発明の実施形態を示すクライアントコンピューター100に印刷拡張アプリケーション1052をインストールする処理のシーケンス図である。
【0080】
クライアントコンピューター100では、クラウドプリントを利用してプリンター200に出力する場合、クラウドプリントサービス500に対して印刷ジョブを送信する。そのため、クライアントコンピューター100に、クラウドプリントサービス500に対して印刷ジョブを送信する印刷キューを生成する必要がある。
【0081】
本実施形態では、オペレーティングシステム1053が標準機能としてもつプリンター探索機能を利用して、クラウドプリントサービス500に登録されたプリンターの印刷キューを生成する。通常、プリンター探索を行う場合、同一イントラネット上にあるプリンターが対象となる。例えば、
図2においてクライアントコンピューター100がプリンター探索を行うとプリンター200を見つけることはできるが、イントラネットを超えたプリンター201、プリンター202を見つけることはできない。本実施形態では、クライアントコンピューター100はクラウドプリントサービス500へのアクセスが可能である。クラウドプリントサービス500にプリンターが登録されている場合にはプリンター探索で、クラウドプリントサービス500に登録されているプリンターを見つけることができる。本実施形態では、前述したプリンター200に加え、プリンター201、プリンター202がクラウドプリントサービス500に登録されている。
【0082】
クライアントコンピューター100は、前述したオペレーティングシステム1053の標準機能であるプリンター探索を行う(S610)。S610において、クライアントコンピューター100は、クライアントコンピューター100と同じイントラネット上にいるプリンターに加えて、クラウドプリントサービス500に登録されているプリンターを探索する。クライアントコンピューター100はクラウドプリントサービスにアクセスし、クラウドプリントサービス上に登録されているプリンター情報のリスト要求をクラウドプリントサービス500に送信する。
【0083】
クラウドプリントサービス500の探索応答部504は、プリンター探索の情報を受信すると、クライアントコンピューター100に対して利用可能なプリンターを提示する。そのために、クラウドプリントサービス500は、クライアントコンピューター100からクラウドプリントサービス500にアクセスしているユーザーが使用することのできるプリンター情報を含むプリンターリストを生成する(S611)。このプリンター情報は、前述したプリンターの名称(デバイス名)、プリンターの機種を識別するHWID、プリンターのIPアドレスである。プリンター情報を含むプリンターリスト作成は、クラウドプリントサービス500のプリンターリスト生成部503がプリンターデータベース510の情報を利用して作成する。
【0084】
クラウドプリントサービス500は、クライアントコンピューター100に対して、作成したプリンターリストを返答する(S612)。この際、クラウドプリントサービス500はプリンターリストに含まれるプリンター情報として
図5に記載されているプリンター識別情報であるHWID、COID等の情報も付随して送信する。クライアントコンピューター100は、プリンターリストに基づきユーザーが利用可能なプリンターの選択画面をモニター110に表示させる。ユーザーは、提示されたプリンター一覧から使用したいプリンターを選択する。
【0085】
クライアントコンピューター100のオペレーティングシステム1053が、クラウドプリントサービス500で利用されるクラウドドライバー1050をインストールし、選択されたプリンターの印刷キュー生成を行う(S613)。クライアントコンピューター100は、クラウドプリントサービス500からユーザーにより選択されたプリンターの情報を取得し、当該情報を使って印刷キューを生成する。クライアントコンピューター100は、クラウドプリントサービス500から取得したHWID、COID、IPアドレス、プリンターの能力情報に基づき印刷キューを生成する。なお、すでにクライアントコンピューター100にクラウドドライバー1050がインストールされている場合、クライアントコンピューター100はクラウドドライバー1050のインストールを行わない。クライアントコンピューター100はすでにインストールされているクラウドドライバーとクラウドプリントサービス500から取得したプリンターの情報を用いて、印刷キューを生成する。
【0086】
さらに、クライアントコンピューター100のオペレーティングシステム1053は、印刷キューの生成に成功すると、プリンタードライバー配布サービス300に、ドライバー拡張パッケージ303のダウンロード要求を行う(S614)。クライアントコンピューター100は、クラウドプリントサービス500にHWID、COIDとドライバー拡張パッケージの取得要求を送信する。なお、クライアントコンピューター100は、HWIDとCOIDのいずれかのみをクラウドプリントサービス500に送信するとしてもよい。
【0087】
プリンタードライバー配布サービス300は、ダウンロード要求を受信すると、クライアントコンピューター100に対してダウンロード処理を行う(S615)。プリンタードライバー配布サービス300は、プリンタードライバーデータベース310に登録されているドライバー拡張パッケージから受信したHWIDに一致するパッケージを特定し、クライアントコンピューター100に送信する。ドライバー拡張パッケージのうち受信したHWIDに一致するパッケージがない場合、プリンタードライバー配布サービス300は、受信したCOIDに一致するドライバー拡張パッケージを特定する。そして、プリンタードライバー配布サービス300は、特定したプリンター拡張パッケージをクライアントコンピューター100に送信する。
【0088】
クライアントコンピューター100のオペレーティングシステム1053は、ドライバー拡張パッケージ303のインストールを行い、前述のクラウドドライバー1050を基に生成された印刷キューの能力情報の拡張を行う(S616)。クライアントコンピューターは、印刷キューに対応する能力情報をプリンター拡張パッケージのデバイス能力情報で更新する。即ち、クラウドプリントサービス500に登録されたプリンター200に対してベンダー特有のデバイス能力で印刷キューを拡張する。クラウドプリントサービスからデバイス能力情報が取得されていない場合、ドライバー拡張パッケージに含まれる能力情報を印刷キューと対応づけることで印刷キューを拡張する。クラウドプリントサービス500から能力情報が取得されている場合、クラウドプリントサービス500から取得された能力情報をドライバー拡張パッケージに含まれる能力情報で上書きすることで印刷キューを拡張する。また、クラウドプリントサービス500から能力情報が取得されている場合に、ドライバー拡張パッケージに含まれる能力情報であって、クラウドプリントサービスから取得された能力情報に含まれていない能力情報を追加することで印刷キューを拡張してもよい。さらに、上記能力情報とプリンターのハードウェア構成情報に基づいて、プリンターが実行することのできる機能を能力情報として印刷キューに登録してもよい。
【0089】
次に、クライアントコンピューター100は、印刷拡張アプリケーション配布サービス400に対して、ダウンロード要求を送信する(S617)。その際、オペレーティングシステム1053は、前述の印刷拡張アプリケーション1052の識別子情報を基に、対象のプリンターと紐づく印刷拡張アプリケーション1052のダウンロード要求を行う。本実施形態では、印刷拡張アプリケーション配布サービス400において、ドライバー拡張パッケージ303の印刷拡張アプリケーション1052の識別子情報と印刷拡張アプリケーション1052は1対1で紐づいている。
【0090】
また、印刷拡張アプリケーション配布サービス400において、印刷拡張アプリケーション1052の識別子情報とプリンター情報に含まれるHWIDの紐づけ情報を記載したメタデータを保存しておいてもよい。その場合、そのメタデータを利用して、適切な印刷拡張アプリケーション1052をダウンロードする仕組みとなる。
【0091】
印刷拡張アプリケーション配布サービス400は、ダウンロード要求を受信すると、クライアントコンピューター100に対してダウンロード処理を行う(S618)。アプリケーション応答部402は、クライアントコンピューター100から通知されたアプリケーション識別子に対応するアプリケーションをアプリケーションデータベース410から特定する。アプリケーション応答部402は特定した印刷拡張アプリケーションをクライントコンピューターに送信する。クライアントコンピューター100は、印刷拡張アプリケーション1052のインストールを行う(S619)。
【0092】
インストール後、クライアントコンピューター100において印刷拡張アプリケーション1052は、プリンター200と1対1で紐づいている。従って、プリンター200において、プリンター200の機種情報や印刷設定情報を保持していることにより、ユーザーに対して適切な印刷設定UIを提示することが可能となる。もしくは、印刷拡張アプリケーション1052が、クラウドプリントサービス500と通信し、対象の機種情報や印刷設定情報を取得し、その情報を用いてUIを提供してもよい。ユーザーは、印刷拡張アプリケーション1052のインストールが完了すると、詳細な印刷設定変更が利用可能となる。
【0093】
なお、本実施形態では、クライアントコンピューター100に印刷キューを生成した後、クライアントコンピューターがプリンタードライバー配布サービスにアクセスし、ドライバー拡張パッケージを取得した。クライアントコンピューター100がクラウドプリントサービス500から拡張後の印刷キューの情報を取得し、クライアントコンピューター上での印刷キューの拡張を行わないとしてもよい。この場合、クライアントコンピューター100はS614~S616を省略する。また、クライアントコンピューター100がクラウドプリントサービス500から拡張後の印刷キューの情報を取得したうえで、S614~S616に記載の処理を実行するとしてもよい。
【0094】
次に、ユーザーがクライアントコンピューター100を操作し、クラウドプリントサービス500を介した印刷を行う場合について説明する。
【0095】
ユーザーがクラウドプリントを利用する場合、クライアントコンピューター100のアプリケーション1051から印刷指示を行う。具体的な例として、アプリケーションのファイルメニューから“印刷”ボタンを選択する。アプリケーション1051は、ユーザーからの印刷指示に従って、オペレーティングシステム1053に対して
図8Aに示す印刷コモンダイアログ(OSの提供する印刷設定画面)を表示するように指示を行う。オペレーティングシステム1053はアプリケーション1051から指示を受けて、印刷コモンダイアログを表示する。オペレーティングシステム1053が表示する印刷コモンダイアログは、クライアントコンピューター100に印刷キューが生成されているプリンターの一覧や、印刷するページの指定、部数、ステープルの設定ができるようになっている。領域801には、クライアントコンピューター100に生成されている印刷キューの名称が表示されている。領域801には、クライアントコンピューター100とイントラネットで接続されるプリンターの印刷キューに加え、クラウドプリントサービス500を介して印刷に使用することのできるプリンターの印刷キューが表示される。印刷コモンダイアログでは、ユーザーはいずれのプリンターを使用する場合にも設定するようなページ指定や部数の設定を行うことしかできない。
【0096】
ユーザーが印刷コモンダイアログでは設定することのできない印刷設定を行うためには、ユーザーは印刷コモンダイアログから出力したいプリンターの印刷キューを選択し、同じ画面に表示している“詳細設定”ボタン(オブジェクト)800を選択する。ユーザーが“詳細設定”ボタンを選択すると、インストールされた印刷拡張アプリケーション1052が起動され、
図8Bに示す印刷設定画面が表示される。印刷拡張アプリケーション1052が提供する印刷設定画面では、例えば、濃度や色味などの画像処理の設定やスタンプ合成の可否や、パンチ位置やステープル位置の設定など印刷コモンダイアログでは設定することのできない印刷設定を行うことができる。
【0097】
ここで、
図8Bを用いて、印刷拡張アプリケーション1052が提供する印刷設定画面について説明する。
【0098】
ユーザーが印刷コモンダイアログの“詳細設定”ボタン800を選択すると、印刷拡張アプリケーション1052は、クラウドプリントサービス500に作成されたクライアントコンピューター100上の印刷キューに紐づく能力情報を取得する。
【0099】
取得した能力情報を基に、実行ファイル部10522は
図8Bに示す印刷設定画面を生成する。803は、印刷設定部であり、印刷キューの能力情報を基に印刷設定の変更を行うことができる。804は、拡張設定であり、ドライバー拡張パッケージ303で拡張された能力情報によって、生成された操作部である。805は、表示されている画面を切り替え、設定する項目を変更するための領域である。“OK”ボタン806は、確定ボタンであり、印刷拡張アプリケーションによる印刷を完了するためのボタンである。ユーザーが“OK”ボタンを選択すると、印刷拡張アプリケーションはクラウドプリントサービス500に印刷設定と禁則処理の要求を送信する。
【0100】
クラウドプリントサービス500は禁則処理部507を利用して、印刷拡張アプリケーションから受信した印刷設定に禁則条件に合致する設定が含まれているか否かを判定する。クラウドプリントサービス500は禁則処理部507による判定結果を印刷拡張アプリケーションに送信する。クラウドプリントサービス500がクライアントコンピューター100に送信する判定結果には、印刷設定に禁則条件に合致する設定が含まれているか否かに加え、いずれの設定項目が禁則条件を満たしているかを通知する。
【0101】
印刷拡張アプリケーションは、禁則条件に合致する設定が含まれていることの通知を受け付けた場合、いずれの設定項目といずれの設定項目で禁則が発生しているかを通知するメッセージを表示する。禁則が発生している設定項目をユーザーが認識することのできる表示であれば、ハイライト表示や項目名の表示色を変えるなど他の方法であってもよい。また、本実施形態では、禁則条件と合致する設定項目を通知した。禁則条件に合致する設定項目に加え、いずれの設定値の組み合わせが禁則条件に合致しているかをクラウドプリントサービス500がクライアントコンピューター100に通知してもよい。さらに、禁則を解消するためにはいずれの設定項目をどのような設定値に変えればよいかをクラウドプリントサービス500がクライアントコンピューター100に通知してもよい。
【0102】
禁則条件に合致する設定がふくまれていることを示す通知を受けた場合、印刷拡張アプリケーションは印刷設定をOSに渡し、印刷拡張アプリケーションを終了する。OSは印刷拡張アプリケーションから受け取った印刷設定に従って印刷コモンダイアログを表示する。
【0103】
印刷コモンダイアログにて、ユーザーが“印刷”ボタン802を選択すると、画像データと印刷コモンダイアログで設定された印刷設定、印刷拡張アプリケーションで設定された印刷設定が印刷キューに送信される。領域801で設定されている印刷キューがクラウドプリントサービス500に登録されたプリンターの印刷キューである場合、クライアントコンピューター100は、クラウドプリントサービス500の当該印刷キュー宛てに画像データと印刷設定を送信する。クラウドプリントサービス500は受信した印刷設定が禁則条件に合致する設定を含むか否かを判定する。受信した印刷設定が禁則条件に合致する設定を含む場合、クライアントコンピューター100で再度印刷設定をさせる。
【0104】
ユーザーがプリンター200にログインすると、プリンター200はクラウドプリントサービス500の印刷キューに登録された印刷ジョブの書誌情報の取得要求をクラウドプリントサービス500に送信する。ここで取得される書誌情報とは、画像データのファイル名はカラーモード印刷部数、印刷ジョブの生成日時など、プリンター200のUI表示に必要な情報である。
【0105】
クラウドプリントサービス500は、印刷キューに記憶された印刷ジョブの書誌情報から印刷可能ジョブリストを生成する。そして、クラウドプリントサービス500は、プリンター200に生成した印刷可能ジョブリストを送信する。クラウドプリントサービス500が送付した印刷可能ジョブリストをプリンター200が受信すると、その印刷ジョブのリストを操作パネルに表示する。
図7は、クラウドプリントサービス500から受信した印刷可能ジョブリストを表示した操作パネルの一例である。ユーザーはその操作パネルから所望する印刷ジョブを選択しプリントボタンを押下して印刷を実行する。印刷実行を受け付けたプリンター200は、クラウドプリントサービス500に対して印刷ジョブの取得要求を行う。なお、この取得要求には、取得したい印刷ジョブのID、即ち、印刷ジョブIDが含まれている。クラウドプリントサービス500が指定されたIDの印刷ジョブをプリンター200に送信することで印刷が実行される。
【0106】
ここで、
図11Aを用いて印刷設定を行い、印刷開始をするまでのクライアントコンピューター100の処理を説明する。
図11Aに記載の処理は、クライアントコンピューター100のCPU101がプログラムを実行することで実現される。
図11に記載の処理はユーザーが文書作成アプリやプレゼンテーションアプリ等のアプリケーションで印刷設定画面の表示指示をし、OSが印刷コモンダイアログを表示することで開始される。
【0107】
OS1053は、ユーザーが印刷コモンダイアログの表示する詳細設定ボタン800を選択したことを検出する(S1101)。ユーザーが印刷コモンダイアログの表示する詳細設定ボタン(オブジェクト)を選択すると、OS1053は詳細ボタンが選択されたことを検出する。
【0108】
OS
1053は印刷コモンダイアログで選択されている印刷キューに対応するインストール済みの印刷拡張アプリケーション1052を起動させ、
図8Bに示す印刷設定画面を表示する(S1102)。S1102において、OS
1053は、コモンダイアログで選択されている印刷キューに紐づくHWIDを印刷拡張アプリケーションに通知する。
【0109】
その後、印刷拡張アプリケーション1052は印刷設定画面を介してユーザーからの印刷設定変更を受け付ける(S1103)。
【0110】
印刷拡張アプリケーション1052は“OK”ボタン806が選択されたか否かを判定する(S1104)。“OK”ボタン806が選択されていない場合、CPU101はS1103に処理を戻し、印刷設定を受け付ける。
【0111】
S1104において、“OK”ボタンが選択されたと判定された場合、印刷拡張アプリケーション1052はクラウドプリントサービス500へ印刷設定と禁則処理の要求を送信する(S1105)。S1105において、印刷拡張アプリケーションは、クラウドプリントサービス500にコモンダイアログから通知されたHWIDを通知する。ここで通知されるHWIDは、禁則が発生していない場合に、印刷データの送信先となる印刷装置のHWIDである。本実施例では、API(Application Programming Interface)を使って禁則処理の要求をクラウドプリントサービス500に送信する。
【0112】
印刷拡張アプリケーション1052は、クラウドプリントサービス500における禁則処理の結果を受信する(S1106)。S1106では、S1105で送信した禁則処理の要求の応答として、印刷拡張アプリケーション1052が禁則処理の結果を受信する。なお、S1105で禁則処理の要求をクラウドプリントサービス500に送信したのち、一定時間毎に印刷拡張アプリケーション1052がクラウドプリントサービスに禁則処理の結果の取得要求を送信するとしてもよい。その場合、S1106において、印刷拡張アプリケーション1052は、禁則処理の結果の取得要求の応答としてクラウドプリントサービス500における禁則処理の結果を取得する。
【0113】
そして、印刷拡張アプリケーション1052は、受信した禁則処理の結果に基づき、禁則が発生しているか否かを判定する(S1107)。禁則が発生している場合、印刷拡張アプリケーション1052は禁則が発生している設定項目の名称をクライアントコンピューター100のモニター110に表示する。そして、印刷拡張アプリケーション1052はS1103に処理を戻し、ユーザーから印刷設定の変更を受け付ける。設定変更後は、印刷拡張アプリケーション1052から再度、クラウドプリントサービス500に印刷設定と禁則処理要求が送信される。
【0114】
クラウドプリントサービス500から送信された禁則処理の結果に基づき、禁則が発生していないと判定した場合、印刷拡張アプリケーション1052は印刷設定をOS1053に渡す。そして、OS1053は印刷コモンダイアログの“印刷”ボタン802の選択を検知する(S1108)。なお、印刷コモンダイアログの“印刷”ボタン802が選択される前に、印刷コモンダイアログ上で印刷設定が変更されてもよい。
【0115】
OS
1053は、クラウドプリントサービス500に対して印刷データと印刷設定を送信する(S1109)。S1109にて印刷データを送信した後の処理については、
図12Aで後述する。
【0116】
一方で、印刷拡張アプリケーション1052から禁則処理の要求を受信したクラウドプリントサービス500が実行する処理について
図11Bを用いて説明する。
図11Bはクラウドプリントサービス500が、
図11AのS1105で印刷拡張アプリケーション1052が出力する禁則処理の要求を受信して実行する処理を示すフローチャートである。
図11Bに記載の処理はクラウドプリントサービス500を構成する1または複数の情報処理装置のCPUがプログラムを実行することで実現される。
【0117】
禁則処理部507は、印刷拡張アプリケーションから禁則処理の要求を受信したか否かを判定する(S1111)。禁則処理の要求を受信していない場合、禁則処理部507はS1111に記載の処理を継続して行う。
【0118】
禁則処理部507は初期化が完了しているか否かを判定する(S1112)。初期化が完了している場合、禁則処理部507はS1117に処理を進める。
図11Bにおいて、禁則処理部507の初期化とは、禁則処理部507に当該処理部が使用する禁則情報の設定を行う処理を示す。初期化完了していない場合、禁則処理部507は、印刷拡張アプリケーション1052から取得したプリンターのHWIDをプリンターデータベース510に渡す(S1113)。S1113において、禁則処理部507は、
図11AのS1105で印刷拡張アプリケーションから通知されたHWIDをプリンターデータベース510に渡し、当該HWIDに紐づく禁則情報の取得処理を行う。これにより、印刷データの送信先として選択されているプリンターに対応する禁則情報を取得することができる。
【0119】
禁則処理部507はプリンターデータベース510にHWIDに対応する禁則情報が格納されているか否かを判定する(S1114)。禁則処理部507は、
図5Aに示すプリンターデータベースを参照し、禁則処理の要求を送信した印刷拡張アプリケーションから通知されたHWIDに対応するドライバー拡張パッケージが登録されているか否かを判定する。HWIDに対応するドライバー拡張パッケージが登録されている場合、禁則処理部507は禁則情報が格納されている判定する。一方で、HWIDに対応するドライバー拡張パッケージが登録されていない場合、禁則処理部507は、禁則情報が格納されていないと判定する。なお、上記の方法のほかにプリンターデータベースに禁則情報の有無を示すフラグを登録しておき、印刷拡張アプリケーション1052から通知されたHWIDに対応するフラグの値を参照して、禁則情報が格納されているか否かを判定するとしてもよい。禁則情報が格納されていない場合、禁則処理部507は処理を終了する。
【0120】
禁則情報が格納されている場合、禁則処理部507はプリンターデータベース510から該当するプリンターのデバイス構成情報や禁則情報をドライバー拡張パッケージから読み出す(S1115)。デバイスの構成情報とは、選択されている印刷キューに対応するプリンターの装置構成であり、ステープル可能なフィニッシャが取り付けられているか、パンチ可能なフィニッシャが取り付けられているか、針なし綴じが可能かなどの情報である。デバイス構成情報は、クラウドプリントサービス500にプリンターを登録する際、プリンターから取得され、プリンターのハードウェア構成が変わる度に更新される情報である。
【0121】
禁則処理部507はプリンターデータベースから渡された禁則情報を用いて初期化処理を行う(S1116)。
【0122】
禁則処理部507は、印刷設定やデバイス構成情報、禁則情報に基づき禁則処理を実施する(S1117)。禁則処理部507は、
図13に示すテーブルを参照し、印刷設定に含まれる設定項目および設定値のうち禁則条件に合致する項目があるか否かを判定する。また、受信した印刷設定に、デバイス構成情報に基づくハードウェア構成では実行することのできない設定が含まれていないかを判定する。禁則条件に合致する設定が含まれている場合、および、プリンターが実行できない設定が含まれている場合、禁則処理部507は禁則が発生していると判定する。なお、禁則処理部507が禁則条件に基づく判定とハードウェア構成に基づく判定のいずれかのみをおこなうとしてもよい。
【0123】
禁則処理部507は、禁則処理の判定結果を印刷拡張アプリケーション1052に送信する(S1118)。禁則処理部507は禁則処理の結果を通知するAPIを用いて印刷拡張アプリケーション1052へと処理結果を送信する。なお、禁則が発生している場合、禁則処理部507は、いずれの設定項目といずれの設定項目の間で禁則が発生しているかを示す情報を印刷拡張アプリケーション1052に通知する。なお、S1118において、いずれの設定項目のいずれの設定値で禁則が発生しているかを印刷拡張アプリケーション1052に通知してもよい。また、どのような設定に変更すれば禁則が解消するかを印刷拡張アプリケーション1052に通知してもよい。
【0124】
禁則処理部507は、先の禁則処理の判定により禁則が発生していたか否かを判定する(S1119)。禁則が発生していなければ、禁則処理部507は
図11Bに記載の処理を終了する。一方で、禁則が発生している場合、印刷拡張アプリケーション1052から禁則処理の要求がなされる可能性があるため、S1111に処理を戻す。印刷拡張アプリケーション1052から再度、禁則処理の要求を受信した場合、禁則処理部507は既に禁則情報で初期化されているため、S1113~S1116における初期化処理を行わなくてもよい。ただし、デバイスの現在の状況を禁則処理に反映させるために、クラウドプリントサービス500が再度、プリンターデータベース510から禁則情報やデバイス能力情報を取得してもよい。
【0125】
次に、ユーザーが印刷コモンダイアログにて“印刷”ボタン802を選択したときに実行される処理について説明する。
【0126】
図12Aは“印刷”ボタン802が選択されたときに実行される処理を示すフローチャートである。
図12Aに記載の処理は、クライアントコンピューター100のCPU101がプログラムを実行することで実現される。
【0127】
OS1053は“印刷”ボタン802が選択されたことを検知する(S1201)。
【0128】
OS1053は、印刷データと印刷設定をクラウドプリントサービス500に対して送信する(S1202)。なお、本実施形態では、S1202において、OS1053が禁則要求をクラウドプリントサービス500に送信しないとするが、OS1053が禁則要求の送信をおこなうとしてもよい。S1202において送信される印刷設定には、印刷データの送信先を示す情報として印刷に用いられるプリンターの識別情報が含まれている。当該印刷データを受信したクラウドプリントサービス500は受信した印刷設定に禁則条件に合致する印刷設定がふくまれているか否かを判定する。
【0129】
印刷拡張アプリケーション1052は、クラウドプリントサービス500における禁則処理結果のプッシュ通知を受信したか否かを判定する(S1203)。禁則処理結果のプッシュ通知とは、S1202でクラウドプリントサービス500に送信した印刷設定に禁則が発生した場合にクラウドプリントサービスから送られる通知である。プッシュ通知を取得していない場合、クライアントコンピューター100は
図12Aに記載の処理を終了する。
【0130】
S1203において、印刷拡張アプリケーションがプッシュ通知を受信した場合、印刷拡張アプリケーションは、クライアントコンピューター100のモニター110に
図8Cの804のような通知を表示する(S1204)。
図8Cはクライアントコンピューター100のデスクトップ画面、または、ホーム画面である。上記の画面でなくても、クライアントコンピューター100のステータス表示をする領域やポップアップで上記プッシュ通知を表示するとしてもよい。ユーザーが通知807を選択した場合、印刷拡張アプリケーションはS1205以降の処理を実行する。ユーザーが通知807を選択しない場合、クライアントコンピューター100は
図12Aに記載の処理を終了する。なお、
図8Cでは禁則条件に合致する設定項目の名称が表示されている。設定項目に加え、現在の設定値や禁則を解消するために推奨される設定値が表示されるとしてもよい。
【0131】
印刷拡張アプリケーション1052は、ユーザーが通知を選択し、印刷拡張アプリケーション1052にメインプログラムの起動を指示したか否かを判定する(S1205)。
【0132】
印刷拡張アプリケーションは、通知が選択されたことをOS1053に通知し、OS1053が印刷拡張アプリケーション1052のメインプログラムを起動する(S1206)。S1206により、
図8Bに示す印刷設定画面が表示される。なお、通知には、現在設定されている印刷設定が含まれており、印刷拡張アプリケーションは、クラウドプリントサービス500から通知された印刷設定を反映した印刷設定画面を表示する。このとき、禁則が発生している項目について他の項目と表示色を変えるなど、禁則が発生している項目がわかるように表示するとしてもよい。
【0133】
印刷拡張アプリケーション1052はユーザーからの印刷設定変更を受け付ける(S1207)。
【0134】
印刷拡張アプリケーションは、“OK”ボタン806が選択されたか否かを判定する(S1208)。“OK”ボタン806が選択されるまで、印刷拡張アプリケーションはS1207に処理を戻す。“OK”ボタン806が選択されると、印刷拡張アプリケーションはS1209に処理を進める。
【0135】
印刷拡張アプリケーションは、クラウドプリントサービスに印刷設定と禁則処理の要求を送信する(S1209)。このとき、選択されている印刷キューのHWIDを通知するとしてもよい。また、本実施形態では、ユーザーが“OK”ボタン806を選択した際に、印刷拡張アプリケーションが禁則処理要求をクラウドプリントサービス500に送信するとした。ユーザーが印刷拡張アプリケーションで印刷設定を変更する度に、禁則処理要求をクラウドプリトサービス500に対して行うとしてもよい。
【0136】
印刷拡張アプリケーションは、クラウドプリントサービス500から禁則処理の結果を受信する。禁則が発生していないことを示す処理結果を受信したか否かを判定する(S1210)。禁則が発生している場合、印刷拡張アプリケーションはS1207に処理を戻す。
【0137】
禁則が発生していない場合、印刷拡張アプリケーションは印刷設定とジョブIDをクラウドプリントサービス500へ送信する(S1211)。そして、OS1053は、印刷拡張アプリケーションを終了する。なお、このときは、印刷拡張アプリケーションの印刷設定画面で“OK”ボタン802が選択されても、印刷コモンダイアログは表示されない。以上により、印刷が指示された印刷ジョブの禁則を解消する。
【0138】
図12Bは、クライアントコンピューター100から印刷データと印刷設定を受信したクラウドプリントサービス500が実行する処理を示すフローチャートである。
図12Bに記載の処理は、クラウドプリントサービス500を構成する1または複数台の情報処理装置のCPUがプログラムを実行することで実現される。
【0139】
クラウドプリントサービス500は、クライアントコンピューター100から送信された印刷データと印刷設定を受信する(S1213)。なお、S1213において、クラウドプリントサービス500は、クライアントコンピューター100からいずれの印刷キューあても印刷ジョブであるかを示す情報も取得する。
【0140】
クラウドプリントサービス500の印刷ジョブ管理部505は、受信した印刷ジョブを印刷ジョブ保存領域511に保存する(S1214)。
【0141】
次に、禁則処理部507は、クライアントコンピューター100のOS1053から取得したプリンターのHWIDをプリンターデータベース510に渡す(S1215)。
【0142】
禁則処理部507はプリンターデータベース510にHWIDに対応する禁則情報が格納されているか否かを判定する(S1216)。指定された印刷キューに対応する禁則情報がプリンターデータベースに格納されていない場合、禁則処理部507は
図12Bに示す処理を終了する。
【0143】
禁則情報が格納されている場合、禁則処理部507はプリンターデータベース510から該当するプリンターのデバイス構成情報や禁則情報をドライバー拡張パッケージから読み出す(S1217)。
【0144】
禁則処理部507はプリンターデータベースから渡された禁則情報を用いて初期化処理を行う(S1218)。
【0145】
禁則処理部507は、印刷設定やデバイス能力情報、禁則情報に基づき禁則処理を実施する(S1219)。禁則処理部507は受信した印刷設定が禁則情報に含まれる禁則条件に合致する設定を含むか否かを判定する。さらに、禁則処理部507は受信した印刷設定にハードウェア構成情報に基づくハードウェアが実行することのできない設定がなされているか否かを判定する。禁則条件に合致する設定が含まれている場合、および、プリンターが実行できない設定が含まれている場合、禁則処理部507は禁則が発生していると判定する。なお、禁則処理部507が禁則条件に基づく判定とハードウェア構成に基づく判定のいずれかのみをおこなうとしてもよい。
【0146】
禁則処理部507は、禁則が発生したかどうかを判定する(S1220)。禁則が発生している場合、禁則処理部507は、印刷ジョブ保存領域511内の印刷ジョブのステータスをサスペンドに変更する(S1222)。本実施形態において、クラウドプリントサービス500において、ジョブがサスペンド状態とは、クライアントコンピューターから受信した印刷ジョブをプリンター200に送信するための処理を一時停止する状態である。プリンターから印刷ジョブリストの取得要求が受信されても、クラウドプリントサービス500はサスペンド中のジョブはジョブリストに反映しない。したがって、サスペンド中のジョブがプリンターに送信されることもない。そして、禁則処理部507は、サスペンドさせたジョブのジョブID(ジョブの識別情報)と印刷設定、禁則が発生している設定項目を示す情報を印刷拡張アプリケーション1052へとプッシュ通知する(S1222)。通知後、禁則処理部507は、印刷拡張アプリケーション1052から再設定後の印刷設定や禁則処理の要求、ジョブIDを受信したか否かを判定する(S1225)。禁則処理部507は印刷拡張アプリケーション1052から禁則処理の要求を受けるまでS1225に記載の処理を実行する。
【0147】
禁則処理部507が印刷拡張アプリケーション1052から印刷設定、ジョブID、禁則処理要求を受信した場合、禁則処理部507は受信した印刷設定について禁則が発生しているか否かの判定処理を実行する(S1224)。S1224で実行される処理は
図11Bと同様の処理であるため、説明を省略する。
【0148】
禁則が発生しなくなった場合、禁則処理部507は、印刷ジョブ保存領域511に保持されている、印刷拡張アプリケーションから通知されたジョブIDの印刷ジョブの印刷設定を印刷拡張アプリケーションから通知された印刷設定に更新する。
【0149】
そして、禁則処理部507は、印刷拡張アプリケーション1052から通知されたジョブIDの印刷ジョブのサスペンド状態を解除する(S1225)。そして、印刷ジョブ保存領域511からサスペンド解除された印刷ジョブを印刷ジョブ管理部505が取り出して印刷を実行する(S1226)。サスペンド状態を解除することで、クライアントコンピューターから受信した印刷データをプリンターに送信するための処理が実行される。
【0150】
なお、本実施形態では、印刷拡張アプリケーション1052から印刷コモンダイアログに戻るタイミングと、ユーザーによる印刷指示がなされ印刷データがクラウドプリントサービス500に送信されたタイミングで禁則処理を実行するとした。上記2つのタイミングのうちいずれか一方で禁則判定処理をおこなうとしてもよい。
【0151】
また、
図11A、
図12Aでは、印刷拡張アプリケーション1052において、“OK”ボタン806が選択された場合に、クラウドプリントサービス500の禁則処理部507が禁則判定を行うとした。印刷拡張アプリケーション1052で印刷設定が変更される度に禁則処理部507が禁則処理を行い、禁則が発生しているか否かを判定するとしてもよい。
【0152】
本実施例では、クライアントコンピューター100では禁則判定を行わず、クラウドプリントサービス500で禁則判定処理を行うとした。クライアントコンピューター100がクラウドプリントサービス500またはプリンタードライバー配布サービス300から禁則情報を取得し、クライアントコンピューター100で禁則処理を行うとしてもよい。また、禁則処理の一部をクライアントコンピューター100で行い、そのほかの禁則判定をクラウドプリントサービス500で行うとしてもよい。たとえば、例えば二つの設定項目間での禁則判定のみクライアントコンピューター100で行い、3つ以上の設定項目間での禁則判定はクラウドプリントサービス500で行うなどである。
【0153】
また、上記の実施形態では、クライアントコンピューター100で行った印刷設定に禁則条件に合致する印刷設定が含まれている場合、クライアントコンピューター100で印刷設定の変更を行うとした。禁則条件に合致する印刷設定がある場合、クラウドプリントサービスが禁則条件に合致する設定項目のうち少なくとも一つの設定値の値を禁則が解消する値へと変更するとしてもよい。たとえば、
図11BのS1118において、禁則条件に合致する設定項目のうち、少なくとも一つの設定項目について禁則が解消する設定値への変更指示を送信するとしてもよい。また、
図12BのS1
222において、禁則条件に合致する設定項目のうち、少なくとも一つの設定項目について禁則が解消する設定値への変更したことをユーザーに知らせる通知を送信するとしてもよい。
【0154】
最後に、
図10を用いて、クラウドプリントサービス500を用いて印刷を実行するときのクラウドプリントサービス500の処理を説明する。
【0155】
図10は、本実施形態を示すクラウドプリントサービス500にプリンター200から印刷ジョブの取得要求を受信した場合に、クラウドプリントサービス500が行う処理のフローチャート図である。特に明記しない場合、本処理はクラウドプリントサービス500の各処理部で行われる。まず、印刷ジョブ管理部505は、プリンター200から印刷ジョブ取得要求(出力対象の印刷ジョブの印刷ジョブIDを含む)を受信する(S1001)。
【0156】
要求を受信した印刷ジョブ管理部505は、指定された印刷ジョブを印刷ジョブ保存領域511から特定する。印刷ジョブ管理部505は、特定された印刷ジョブを印刷ジョブ生成部506に渡し、出力先のプリンター200に適した印刷ジョブを生成する(S1002)。
【0157】
印刷ジョブ管理部505は生成された印刷ジョブを印刷ジョブ生成部506から取得し、印刷要求元のプリンター200に印刷ジョブを送信する(S1003)。
【0158】
本実施例では、ユーザーがプリンター200を操作し、選択した印刷ジョブをプリンター200がクラウドプリントサービス500から取得するとした。プリンター200が定期的にクラウドプリントサービス500にアクセスし、プリンター200の印刷キューと紐づいて管理される印刷ジョブをクラウドプリントサービス500から取得するとしてもよい。
【0159】
以上の処理により、クラウドプリントサービス500に登録された印刷ジョブが実行される。
【0160】
(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。