(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161161
(43)【公開日】2024-11-15
(54)【発明の名称】サーバ、制御方法、プログラム、印刷システム
(51)【国際特許分類】
G06F 3/12 20060101AFI20241108BHJP
H04N 1/00 20060101ALI20241108BHJP
B41J 29/38 20060101ALI20241108BHJP
【FI】
G06F3/12 324
G06F3/12 303
G06F3/12 332
G06F3/12 387
H04N1/00 127A
B41J29/38 202
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024146684
(22)【出願日】2024-08-28
(62)【分割の表示】P 2023193410の分割
【原出願日】2020-04-16
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】井上 剛
(57)【要約】
【課題】 クラウドプリントサービス経由の印刷の利便性を高めることを目的の1つとする。
【解決手段】 クラウドプリントサービスを提供するサーバは、印刷装置を前記クラウドプリントサービスの出力先プリンタとして登録する際に、印刷装置の印刷能力を示す属性情報を取得する。また、サーバは、取得された属性情報と出力先を示す情報を対応付けて出力先プリンタ情報を登録する。ここで、サーバは、登録処理を行う際に取得された印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれていても、当該属性情報を破棄することなく、出力先プリンタ情報として登録する。サーバは、出力先プリンタの能力情報を取得する要求を受け付けた場合に、登録された属性情報に基づいて、前記要求に対応する出力先プリンタの能力情報を要求元に送信する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
クラウドプリントサービスを提供するサーバであって、
印刷装置を前記クラウドプリントサービスの出力先プリンタとして登録する際に、印刷装置の印刷能力を示す属性情報を取得する取得手段と、
前記取得手段で取得された前記属性情報と出力先を示す情報を対応付けて出力先プリンタ情報を登録する登録手段と、
クライアント端末から前記登録された出力先プリンタの能力情報を取得する要求を受け付けた場合に、前記登録手段に登録された前記属性情報に基づいて、前記要求に対応する出力先プリンタの能力情報を前記クライアント端末に送信する送信手段と、
を有し、
前記登録手段は、前記取得手段で取得された前記印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれていても、当該属性情報を破棄することなく、前記出力先プリンタ情報として登録することを特徴とするサーバ。
【請求項2】
クラウドプリントサービスをユーザに提供する制御方法であって、
印刷装置を前記クラウドプリントサービスの出力先プリンタとして登録する際に、印刷装置の印刷能力を示す属性情報を取得する取得工程と、
前記取得工程で取得された前記属性情報と出力先を示す情報を対応付けて出力先プリンタ情報を登録する登録工程と、
クライアント端末から前記クラウドプリントサービスに登録された出力先プリンタの能力情報を取得する要求を受け付けた場合に、前記登録工程で登録された前記属性情報に基づいて、前記要求に対応する出力先プリンタの能力情報を前記クライアント端末に送信する送信工程と、
を有し、
前記登録工程では、前記取得工程で取得された前記印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれていても、当該属性情報が破棄されることなく、前記出力先プリンタ情報として登録されることを特徴とする制御方法。
【請求項3】
前記取得工程で取得された前記印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれているかどうかを判定する判定工程と、
前記判定工程で前記サポートしていない属性が含まれていると判定された場合に、前記印刷装置に対して、前記サポートしていない属性を登録したことを示す情報を含む応答を送信する第2の送信工程と、
を更に有することを特徴とする請求項2に記載の制御方法。
【請求項4】
クライアント端末から印刷ジョブに関する要求であって、印刷設定を示す印刷属性情報を含む要求を受信する受信工程と、
前記受信工程で受信した前記印刷ジョブに関する要求に含まれる前記属性情報に前記クラウドプリントサービスがサポートしていない属性が含まれている場合であっても、前記要求に対応する印刷ジョブを前記クライアント端末から受信し、当該受信した印刷ジョブを所定の記憶領域に格納する格納工程を更に有することを特徴とする請求項2又は3に記載の制御方法。
【請求項5】
前記印刷ジョブに関する要求に、前記クラウドプリントサービスでサポートしていない属性が含まれているかどうかを判定する第2の判定工程と、
前記第2の判定工程で前記サポートしていない属性が含まれていると判定された場合に、前記クライアント端末に対して、要求が成功したことを示す応答を送信する第3の送信工程と、を更に有することを特徴とする請求項4に記載の制御方法。
【請求項6】
請求項2乃至5のいずれか1項に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項7】
クラウドプリントサービスを提供する印刷システムであって、
印刷装置を前記クラウドプリントサービスの出力先プリンタとして登録する際に、印刷装置の印刷能力を示す属性情報を取得する取得手段と、
前記取得手段で取得された前記属性情報と出力先を示す情報を対応付けて出力先プリンタ情報を登録する登録手段と、
前記登録された出力先プリンタの能力情報を取得する要求を受け付けた場合に、前記登録手段に登録された前記属性情報に基づいて、前記要求に対応する出力先プリンタの能力情報を要求の問い合わせ元に送信する送信手段と、
を有し、
前記登録手段は、前記取得手段で取得された前記印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれていても、当該属性情報を破棄することなく、前記出力先プリンタ情報として登録することを特徴とする印刷システム。
【請求項8】
前記印刷システムにはプリントクライアントが含まれており、
前記プリントクライアントは、
前記クラウドプリントサービスが管理する出力先プリンタを探索する探索手段と、
前記探索の結果、見つかった出力先プリンタを選択するユーザ操作を受け付けた場合に、前記要求を送信し、要求に対する応答に含まれる属性情報と、出力先を示す情報を対応付けた出力先プリンタ情報を登録する第2の登録手段と、
前記第2の登録手段は、前記ユーザ操作により選択された出力先プリンタの機種情報を特定し、前記特定した機種情報に対応する拡張アプリケーションを外部から取得できる場合、前記プリントクライアントがサポートしていない属性情報を破棄することなく前記出力先プリンタ情報として登録し、前記特定した機種情報に対応する拡張アプリケーションを外部から取得できない場合、前記プリントクライアントがサポートしていない属性情報を破棄して前記出力先プリンタ情報を登録し、
前記拡張アプリケーションは、前記プリントクライアントから前記属性情報を取得し、当該属性情報に基づき、印刷設定画面を表示することを特徴とする請求項7に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリントサービスを提供するサーバ、制御方法、プログラム、印刷システムに関する。
【背景技術】
【0002】
近年、クラウド経由で印刷ジョブを投入し、印刷装置に印刷ジョブを送信するクラウドプリントサービスが普及し始めている(特許文献1)。このような印刷システムでは、まず管理者が印刷装置を、管理者が所属するクラウドプリントサービスへ登録する。また、ITベンダなどが提供するクラウドプリントサービスは、ユーザの利便性を鑑み、様々な種類の印刷装置に対応することが望まれる。このようなクラウドプリントサービスは、登録された印刷装置からIPP等の汎用の印刷技術で定義されている能力情報を取得し、印刷装置の能力を管理する。
【0003】
続けて、管理者はどのユーザに、印刷装置の使用を許可させるかを設定する。使用が許可されたユーザは、PC等のクライアント端末からクラウドプリントサービスにアクセスし、クラウドプリントサービスに登録された印刷装置から印刷に使用する印刷装置を選択する。続けて、クラウドプリントサービスは、当該印刷装置の能力情報をクライアント端末に通知する。この際、クライアント端末側のプリントクライアントがサポートしない能力情報は読み捨てられる。
【0004】
クライアント端末は、通知された能力情報に基づき出力先プリンタの能力情報を管理する。印刷設定を変更するユーザ操作がなされた場合、クライアント端末は管理する能力情報に基づき印刷設定画面を生成して表示する。これによりユーザはクライアント端末上で印刷装置が有する能力に応じた印刷設定を行うことが可能となる。続けて、情報処理装置のユーザにより印刷が指示されると、情報処理装置は、印刷データをクラウドプリントサービスに送信する。クラウドプリントサービスは受信した印刷ジョブをストレージに保存する。印刷装置はクラウドプリントサービスに保存された印刷ジョブを取得し、印刷する。このような一連の処理でクラウドを経由した印刷が行われる。
【0005】
クラウドプリントサービスの一例としては、GoogleCloudPrint(登録商標)、MicrosoftHybridCloudPrint(登録商標)、UniflowOnLine(登録商標)などがある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
近年、複数のOSベンダのクライアント端末(例えばWindows(登録商標)OS、macOS(登録商標)、Chrome(登録商標)OSなど)が組織や会社で使用されることが増えている。ここで、クライアント端末の種類により、プリントクライアントのサポートする能力が異なる場合がある。例えば、シェアが高いOS用のプリントクライアントは高頻度でアップデートが行われ、クライアントとして、サポートする能力が向上するが、シェアが低いOS用のプリントクライアントはアップデートの提供回数が少なくサポートする能力が低いことがある。また例えば、モバイル端末等、複雑な印刷設定を行う要望が少ないクライアント端末用のプリントクライアントでは、ユーザが設定を直感的に行えるように意図的にサポートする能力を少なく構成することもある。
【0008】
また、前述したように、印刷装置の能力情報を取得した場合の処理として、サポートしない能力情報は読み捨てることが一般的に知られている。従って、クラウドプリントサービス(以降、CPSとも呼ぶ)に印刷装置を登録する際に、単純に登録処理を行うと、CPSがサポートしていない能力情報を読み捨ててプリンタを登録することになると考えられる。
【0009】
また、プリントクライアントは、バージョンアップデートなどに改善され、従前サポートしていなかった印刷属性を追加でサポートする場合がある。しかし、CPSに対するプリンタ登録時にCPSがサポートしない能力を読み捨てて登録してしまうと、印刷装置とアップデートされたクライアントの両方がサポートする印刷属性であるのに、その印刷属性に対応する印刷設定を行えないといった問題が生じる。また、プリントクライアントがサポートする印刷属性を増やすたびに、CPSがサポートする印刷属性も拡張し、CPS上に印刷装置を再登録するなどの更新作業を行うことも考えられるが、管理者等に過度な手間を強いることになり、現実的ではない。また、印刷拡張アプリケーションを使って、プリントクライアントが提供する印刷設定を拡張し、標準的な項目以外の項目も設定できる仕組みを構築することも考えられる。しかしながら、このようなケースでも、CPS上でサポートしない属性の読み捨てが行われると、CPSから標準的な項目以外を取得できないといった問題がある。
【0010】
本発明は上述の問題点の少なくとも1つを鑑みなされたものである。本発明の1つの側面としては、クラウドプリントサービスに印刷装置を登録する際に、サービス上でサポートしていない能力情報も登録し、印刷装置の能力をクライアントに適切に通知できるようにすることを目的の1つとする。また、本発明の1つの側面としては、クラウドプリントサービスを経由する印刷の利便性を高めることを目的の1つとする。
【課題を解決するための手段】
【0011】
上記の少なくとも1つの目的を達成するために本発明のサーバは、クラウドプリントサービスを提供するサーバであって、印刷装置を前記クラウドプリントサービスの出力先プリンタとして登録する際に、印刷装置の印刷能力を示す属性情報を取得する取得手段と、前記取得手段で取得された前記属性情報と出力先を示す情報を対応付けて出力先プリンタ情報を登録する登録手段と、クライアント端末から前記登録された出力先プリンタの能力情報を取得する要求を受け付けた場合に、前記登録手段に登録された前記属性情報に基づいて、前記要求に対応する出力先プリンタの能力情報を前記クライアント端末に送信する送信手段と、を有し、前記登録手段は、前記取得手段で取得された前記印刷装置の前記属性情報に前記クラウドプリントサービスでサポートしていない属性が含まれていても、当該属性情報を破棄することなく、前記出力先プリンタ情報として登録することを特徴とする。
【発明の効果】
【0012】
本発明の1つの側面によれば、クラウドプリントサービスに印刷装置を登録する際に、サービス上でサポートしていない能力情報も当該印刷装置の能力情報として登録することで、印刷装置の能力をクライアントに適切に通知できるようになる。また、本発明の1つの側面によれば、クラウドプリントサービスを経由する印刷の利便性を高めることができるようになる。
【図面の簡単な説明】
【0013】
【
図2】従来のクラウドプリントサービスの動作を説明するシーケンス図である。
【
図3】従来のクラウドプリントサービスの印刷設定画面の一例を説明する図である。
【
図4】サポートする印刷能力の差異について説明する図である。
【
図5】印刷装置のハードウェア構成の一例を説明する図である。
【
図6】サーバ、クライアント端末のハードウェア構成の一例を説明する図である。
【
図7】プリンタ登録処理と印刷処理の一例を示すシーケンス図である。
【
図8】クライアント端末の操作部に表示される印刷設定画面の一例である。
【
図9】印刷装置101が実行する登録制御の一例を示すフローチャートである。
【
図10】CPS102が実行する登録制御の一例を示すフローチャートである。
【
図11】クライアント端末が実行する制御の一例を示すフローチャートである。
【
図12】CPS102が実行する印刷ジョブの受信、転送制御の一例を示すフローチャートである。
【
図13】印刷装置101が実行する印刷制御の一例を示すフローチャートである。
【
図14】能力情報の要求及び応答を示す送受信パケットの一例である。
【
図15】第2の実施形態におけるプリンタ登録処理と印刷設定の拡張の一例を示すシーケンス図である。
【
図16】第2の実施形態において、印刷拡張アプリケーションが表示する印刷設定画面の一例である。
【
図17】印刷ジョブに対応する属性情報の一例を説明する図である。
【
図18】第2の実施形態におけるクライアント端末が実行する制御の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものではなく、また、実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
【0015】
<第1の実施形態>
まず、
図1を用いて、本発明に係る印刷システムの構成を説明する。本実施形態に係る印刷システムは、印刷装置101、クライアント端末103~105、クラウドプリントサービス(以下、CPSとも呼ぶ)102を含む。印刷装置101は、ネットワーク100を経由してインターネット上のCPS102と通信する。ネットワーク100は例えばLAN、WANなどの通信ネットワーク、セルラネットワーク(例えば、LTEや5Gなど)、IEEE802.11に準拠する無線ネットワークなどを組み合わせて構成されてもよい。すなわち、ネットワーク100はデータの送受信が可能であればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。クライアント端末103~105も、通信ネットワークやセルラネットワークを介してインターネット上のCPS102と通信する。
【0016】
印刷装置101は、スキャナを用いて読み取って得られた画像に基づくデータを外部に送信するスキャン機能や、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を印刷する印刷機能、コピー機能を有する。また、印刷装置101はCPS102を経由して印刷ジョブを受信し、印刷を行うこともできる。本実施形態では、印刷装置の一例として複数の機能を有するMFP(Multi Function Peripheral)を例示しているがこれに限定されるものではない。例えば、印刷機能のみを有する単機能のSFP(Single Function Peripheral)などであってもよい。また、本実施形態では、一例として紙などのシートへの印刷を例示しているがこれに限定されるものではなく、3次元形状データに基づき立体物を成型する3Dプリントなどにおける印刷制御にも適用することができる。
【0017】
CPS102はクライアント端末103~105等のクライアント端末から印刷ジョブを受信し、当該印刷ジョブを保存する。続けて、CPS102に登録された印刷装置101に対して印刷ジョブが入稿されたことを通知する。当該通知を受け取った印刷装置101は印刷ジョブを取得して印刷処理を行う。
【0018】
<従来のクラウドプリントサービスの説明>
続けて、従来から知られている一般的なクラウドプリントサービス(CPS)におけるプリンタ登録、印刷について
図2、
図3を用いて説明する。
図2は、一般的なCPSにおけるプリンタ登録、印刷のシーケンスの一例を示している。
図3は、当該CPSに対してクライアント端末から印刷データを入稿する際の印刷設定画面の一例を示している。
【0019】
まず、最初に管理者等のユーザ操作に基づき、クラウドプリントサービス(CPS)に対する印刷装置の登録が行われる(S201~S202)。シーケンスS201~S202の処理を実行し、CPS上へのクラウドプリンタの登録が行われると、印刷装置は、印刷能力を示す属性情報をCPSに通知する(S203)。S203で属性情報を受信した印刷装置は、当該属性情報を解析する。具体的には、CPSは、CPSがサポートできない印刷属性を破棄し、CPSがサポートできる印刷属性を抽出する(S204)。続けてサポートできる印刷属性と登録プリンタを紐づける。S201~S204の処理により、CPS上に印刷装置の能力を模した出力先プリンタが登録される。なお、本実施形態では、CPSがクライアント端末から受信した印刷ジョブを印刷装置に中継するIPPプロキシとして機能する場合を想定している。この場合、IPP(Internet Printing Protocol)規定に則り、クラウドプリントサービスでサポートできない属性情報(理解できない属性情報)を破棄し、サポートできる属性情報のみを使用してクラウド経由の印刷を実現する。
【0020】
続けて、CPSは、能力の更新結果を通知する(S206)。S206では印刷装置はサポートしているが、CPSがサポートしていない属性情報があった場合を例示している。この場合、一部属性情報を無視したことを示すステータスコード(succesful-ok-but-ignored-attributes)を応答する。
【0021】
続けてクライアント端末からの印刷処理について説明する。クライアント端末は、ユーザからプリンタの探索指示がなされたことを検知すると、周囲のプリンタやCPS上のプリンタを探索し、当該ユーザが使用できるプリンタのリストを表示する(S207~S209)。クラウドプリンタの探索は、以下のように行われる。例えば、クライアント端末は、クライアント端末にログインしているユーザのアカウント情報をCPSに対して送信する。CPSは当該ユーザが使用できる、CPS上で管理する出力先プリンタを抽出し、クライアント端末に通知する(S208)。通知を受けたクライアント端末は当該通知に基づきリストを表示する(S209)。
【0022】
続けて、クライアント端末は、プリンタを選択するユーザ操作を受け付ける(S210)。選択されたプリンタがCPS上で管理されるプリンタであって、クライアントに当該プリンタが未登録の場合、クライアント端末上での出力先プリンタの登録処理が行われる(S211~S212)。登録処理では、クライアント端末のOSが提供するプリントフレームワークに対してCPS経由で印刷を行うための出力先プリンタを登録する処理が実行される。例えば、OSがWindows(登録商標)の場合、プリントキューの生成やプリンタドライバのコンフィグレーション処理が行われる。
【0023】
続けてクライアント端末は登録した出力先プリンタに対応する印刷設定画面を表示し、ユーザ操作に基づく印刷設定の変更を受け付ける(S213)。クライアント端末は、印刷を開始するユーザ操作を検知すると、印刷対象のファイルと印刷設定に基づき印刷ジョブを生成し、CPSに送信する(S214)。
【0024】
CPSは、印刷ジョブに含まれる印刷設定を示す属性情報のうち、非サポートの属性情報を破棄し、サポートする属性情報とジョブに含まれる印刷データを含む印刷ジョブを記憶領域に記憶する(S215~S217)。続けて、印刷ジョブが入稿されたことを示すイベントを印刷装置に送信(通知)する(S218)。なお、当該通知は、CPSから印刷装置に対して直接通知する方式であってもよいし、印刷装置が定期的にイベント発生状況を問合せ、CPSが当該問い合せの応答としてイベントを通知する構成であってもよい。
【0025】
イベントを受信した印刷装置は、印刷ジョブを取得する要求をCPSに送信する(S219)。要求を受信したCPSは、サポート属性を含む印刷ジョブを要求元の印刷装置に送信する(S220)。最後に当該印刷ジョブを受信した印刷装置は、印刷ジョブに基づきシートに画像を印刷し(S221)、一連の処理を終了する。
【0026】
ところで、
図2を用いて説明した従来の処理では、印刷装置の能力情報を取得した場合に、サポートしない能力情報は読み捨てることになる。従って、クラウドプリントサービス(以降、CPSとも呼ぶ)に印刷装置を登録する際に、単純に登録処理を行うと、CPSがサポートしていない能力情報を読み捨ててプリンタを登録することになると考えられる。
【0027】
図4は、本実施形態におけるクライアント、CPS102、印刷装置がサポートする能力を説明するための図である。ここでは紙面の都合上一部の能力を抜粋して表示している。実際には、この他にも印刷装置がサポートする用紙サイズを示す能力やサポートする用紙種別を示す情報なども含まれているものとする。また、受信可能なデータサイズを示す能力なども含まれている。
【0028】
印刷装置101は
図4に列挙した全ての属性をサポートする。本実施形態では、印刷装置が、RFCなどの標準規格で定義されている標準属性と、標準規格で定義されていないベンダ独自のVendor Uniqueな独自属性をサポートしている場合を想定している。
図4では、標準属性の一例としてIPP(Internet Printing Procotol)に基づく属性情報を例示している。
【0029】
属性情報について具体的に説明する。「Print-color-mode-supported」属性は、カラーモードに関する属性情報である。取りうる値は「Auto」「Color」「Monochrome」の3種類である。対応する印刷設定の名称は、「カラーモード」設定となり、取りうる値は「自動」「カラー」「白黒」である。「カラーモード」は印刷出力の色設定を選択できる設定であり、「カラー」を選択すればカラー出力に、「白黒」を選択すれば白黒出力に、「自動」を選択すれば印刷装置で、カラーあるいは白黒出力を行うことになる。
【0030】
「Print-Quality-supported」属性は、印刷品質に関する属性情報であり、当該属性の取りうる値は「High」「Normal」「Draft」の3種類である。対応する印刷設定の名称は、「印刷品質」設定となり、取りうる値は「高品質」「普通」「低品質」となる。「印刷品質」は消費するトナーの使用量を選択できる設定であり、「高品質」ならトナー消費量を多く、「普通」なら通常のトナー消費量で、「低品質」ならトナー消費量を少なくして印刷が行われる。
【0031】
「Number-Up-supported」属性は集約印刷に関する属性情報である。当該属性の取りうる値は数値であり、1つの印字面に、宣言した数値に対応するページを集約して印刷ができることを表す。例えば「1,2,4」の値が格納されている場合、印刷設定では「1 IN 1」、「2 IN 1」、「4 IN 1」が設定可能になる。
【0032】
「Finishing-supported」属性は後処理に関する属性情報である。当該属性の取りうる値は数値であり、印刷装置がサポートするフィニッシング情報に対応する数値が格納されている。例えば「20」は「Staple-top-left」に対応づけされており「22」は「Staple-top-right」に対応づけされていることを表す。これらの数値は印刷設定では「ステープル」設定として取り扱われ、「左上1か所」や「右上1か所」等が設定可能となる。
【0033】
また、「Emphasize-Thin-Lines-supported」属性はベンダ独自の属性の一例であり、細線の取扱いに関する属性情報である。当該属性の取りうる値は「True」「False」である。当該属性情報に対応する印刷設定は「細線を強調する」設定となり、「True」なら強調する、「False」なら強調しない印刷を行う設定となる。この設定は、例えば、印字の解像度の低い廉価な印刷装置等において、細線の一部が印字で再現できず消滅して途切れたりすることを抑制したい場合に使用される。
【0034】
同様に「Color-Adjust-supported」属性はベンダ独自の属性であり、特定の色味を強調して印刷する特殊印刷に関する設定である。取りうる値は「Strengthen Blue」「Strengthen Yellow」「Strengthen Red」である。対応する印刷設定の名称は例えば、色味強調であり、「強調なし」「青色を強調する」「黄色を強調する」「赤色を強調する」といった設定が可能となる。
【0035】
印刷装置101は説明したすべての属性情報をサポートしている。しかしながら、CPS102は、資料の2か所を針で綴じる機能に相当する属性を現時点ではサポートしていない。一方、クライアント端末103にインストールされているプリントクライアントは、バージョンアップデートなどに改善され、従前サポートしていなかった印刷属性(例えば、2か所を針で綴じる機能)を追加でサポートしている。
【0036】
このような状況が発生することを鑑みると、CPSへプリンタを登録する際に、CPSがサポートしない能力を読み捨てて単純に登録する制御を行うと下記の問題が生じる。即ち、印刷装置とアップデートされたクライアントの両方が実際にサポートしている印刷属性であるにも関わらず、その印刷属性に対応する印刷設定をCPS経由の印刷では行えないといった問題が生じる。
【0037】
具体的な例について
図3を用いて説明する。
図3は、クライアント端末103相当の能力を有するプリントクライアントで印刷設定を行う場合の画面を例示している。従来通りの単純な登録を行うとS203~S205の登録処理で、資料の2か所を針で綴じる属性値や、集約印刷の属性情報が破棄された状態でCPS上に出力先プリンタが登録される。プリントクライアントは、CPS上で丸め処理が行われた能力情報をS211~S212の処理で取得することになる。従って、本来は、印刷装置とクライアントの両方が集約印刷の設定や、複雑なステープル設定をサポートできているのにもかかわらず、
図3の印刷設定画面を介して当該印刷設定が行えないといった問題が生じうる。また、プリントクライアントがサポートする印刷属性を増やすたびに、CPSがサポートする印刷属性も拡張し、CPS上に印刷装置を再登録するなどの更新作業を行うことも考えられるが、管理者等に過度な手間を強いることになり、現実的ではない。
【0038】
上述の問題点を鑑み、本実施形態では、クラウドプリントサービスに印刷装置を登録する際に、サービス上でサポートしていない能力情報も当該印刷装置の能力情報として登録することで、印刷装置の能力をクライアントに適切に通知する制御を行う。以下具体的に説明する。
【0039】
<印刷装置101のハードウェア構成>
まず
図5を用いて、印刷装置101について説明する。
図2は、印刷装置101のハードウェア構成を示すブロック図である。印刷装置101はシート上の画像を読み取る読取機能、当該読み取った画像を外部の通信装置に送信可能なファイル送信機能などを有している。また、シートに画像を印刷する印刷機能も有する。また、CPS102から印刷ジョブを受信して印刷する機能も備えているものとする。
【0040】
CPU(Central Processing Unit)111を含む制御部110は、印刷装置101全体の動作を制御する。CPU111は、ROM(Read Only Memory)112又はストレージ114に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ROM112は、CPU111で実行可能な制御プログラムを格納する。RAM(Random Access Memory)113は、CPU111がアクセスする主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ114は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。このように、CPU111、ROM112、RAM113、ストレージ114等のハードウェアは、いわゆるコンピュータを構成している。
【0041】
なお、本実施形態の印刷装置101では、1つのCPU111が1つのメモリ(RAM113)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサ、メモリ、及びストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、ハードウェア回路を用いて一部の処理を実行するようにしてもよい。
【0042】
プリンタI/F(インタフェース)119は、プリンタ120(プリンタエンジン)と制御部110とを接続する。プリンタ120は、プリンタI/F119を介して入力された印刷データに基づいて、不図示の給紙カセットから給紙されたシートに画像を印刷する。印刷の方式はトナーを紙に転写して定着させる電子写真方式であってもよいし、紙にインクを吐出して印刷するインクジェット方式であってもよい。
【0043】
スキャナI/F117は、スキャナ118と制御部110とを接続する。スキャナ118は、図示省略の原稿台に載置された原稿を読み取り、そして画像データを生成する。スキャナ118が生成した画像データは、プリンタ120で印刷されたり、ストレージ114に記憶されたり、ネットワークI/F121を介して外部装置に送信されたりする。
【0044】
操作部I/F115は、操作部116と制御部110とを接続する。操作部116には、タッチパネル機能を有する液晶表示部や各種ハードキーなどが備えられている。操作部116は、ユーザに情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。CPU111は、操作部116と協働して情報の表示制御やユーザ操作の受け付け制御を行う。
【0045】
ネットワークI/F121には、ネットワークケーブルが接続され、ネットワーク100上やインターネット上の外部装置と通信を実行することができる。本実施形態では、ネットワークI/F121がイーサネット(登録商標)に準拠する有線通信を行う通信インタフェースである場合を想定しているがこれに限定されるものではない。例えば、IEEE802.11シリーズに準拠する無線通信インタフェースであってもよい。また、両方が無線通信インタフェースであってもよい。また、CDMA等の3G回線、LTEなどの4G回線、5G NRなどの移動体通信を行う通信インタフェースであってもよい。
【0046】
<CPS102を提供するサーバリソースのハードウェア構成>
図2は、
図1で説明した、CPS102を提供する実リソースであるサーバのハードウェア構成を示すブロック図である。以降CPS102を提供するサーバをサーバ102とも呼ぶ。CPU131は、各部と協働しサーバの動作を制御する。CPU131は、ROM132又はストレージ134に記憶されたOS(Operating System)や、制御プログラムを読み出して実行する。ROM132は、CPU131で実行可能な制御プログラムを格納する。RAM133は、CPU131の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ134は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。本実施形態ではストレージ134としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid StateDrive)などの不揮発性メモリを用いるようにしても良い。このように、CPU131、ROM132、RAM133等のハードウェアは、いわゆるコンピュータを構成している。なお、サーバ102は、印刷データのレンダリングを行うASICなどを更に備えていてもよい。本実施形態では、説明のため、1つのCPU131が1つのメモリ(RAM133)を用いて後述するフローチャートに示す各処理を実行する場合を例示するが、他の様態であっても構わない。例えば複数のプロセッサ、RAM、ROM、ストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、複数のサーバコンピュータを用いて各処理を実行することもできる。サーバ102はコンテナ化や仮想化技術を用いることで、複数の異なるテナントにクラウドプリントサービスを提供することができる。
【0047】
ネットワークI/F(インタフェース)131は、外部とネットワーク通信するためのインタフェースである。サーバ102は、ネットワークI/Fを介してインターネットに接続される。操作部I/F135は、キーボード、マウス、ディスプレイなどの操作部136を接続するインタフェースである。I/Fに接続された各入出力デバイスは、クラウドプリントサービスを提供する実サーバのメンテナンスを行う場合などに使用される。
【0048】
なお、クライアント端末103~105のハードウェア構成はサーバ102と同様の構成である。
【0049】
サーバ102のリソースによって提供されるCPS102は、出力先プリンタを登録、管理する機能、印刷ジョブの進捗状況を管理する機能、印刷ジョブをスプールする機能を有する。CPS102は、出力先プリンタを管理するための出力先プリンタ情報を記憶している。出力先プリンタ情報は、印刷装置の能力を示す属性情報や、プリンタと通信するための情報(IPアドレスやプリンタのホスト名、通信に必要なアクセストークン等)、印刷装置の機種名を特定する情報が対応付けられた管理情報である。当該管理情報は適宜後述のフローチャートにて参照される。
【0050】
また、クライアント端末103~105には、Windows(登録商標)やAndroid(登録商標)、macOS(登録商標)、iOS(登録商標)等がインストールされている。ユーザは、OSにプリインストールされたCPS102用のプリントクライアント及びプリントフレームワークを利用することができる。プリントクライアント及びプリントフレームワークは、プリンタの探索、登録処理、印刷設定画面の表示処理、印刷データの生成処理、CPS102との通信処理、印刷の進捗をモニタするステータスモニタ機能等をユーザに提供する。なお、本実施形態では、プリントクライアントがプリインストールされている場合を例示したがこれに限定されるものではない。例えば、ユーザが後からプリントクライアントをインストールする構成であってもよい。
【0051】
<第1の実施形態におけるプリンタ登録、印刷シーケンス>
続けて、第1の実施形態におけるCPS102へのプリンタ登録、印刷の処理を
図7、
図14を用いて説明する。
図7は処理シーケンスの一例であり、
図14は能力情報のやり取りの一例である。
【0052】
S701~S702は
図2のS201~S202と同様の登録処理である。管理者等のユーザは、印刷装置101の操作部116を介して登録先のCPSを選択して「登録」ボタンを選択する。選択を検知した印刷装置101は、登録作業を開始する。選択を検知した印刷装置101は、S701においてCPS102に対して登録処理要求を送信する。登録処理のプロトコルはCPSで規定されているプロトコルに準拠するものとする。ここでは、一例として、PWG5100.22で規定されているRegister-Output-Deviceオペレーションを使用するものとして説明する。登録処理要求を受信したCPS102は登録要求内容を確認し、S702において印刷装置101に対して登録処理要求応答を送信する。登録処理要求内容に問題がなければ成功応答を行い、問題があれば失敗応答を行う。本実施例では成功応答をしたものとして説明をする。S701~S702の処理により、CPS102上に出力先プリンタ情報が登録される。また、登録処理において、印刷装置101からCPS102にアクセスするためのアクセストークンの発行が行われる。印刷装置101は、当該アクセストークンをストレージ114に記憶し、印刷装置101がCPS102に問合せを行ったり、要求を行ったりする場合に使用する。
【0053】
次にS703において、印刷装置101は自身がサポートする能力情報を含んだ能力通知をCPS102に対して送信する。本実施形態では、PWG5100.18で規定されているUpdate-Output-Device-Attributesオペレーションなどを使用する場合を想定している。S703の処理では、例えば、
図14(A)に示す能力情報を示すパケットが送信される。
図14(A)のパケットは
図4で説明した属性情報を列挙した文字列を含んでいる。即ち、
図14(A)のパケットにはIPPに準拠する標準属性情報とベンダ独自の属性情報が含まれる。
【0054】
続けて印刷装置101から能力情報を受信したCPS102は、S704において自身がサポートする属性情報に加えて、非サポートの属性情報についても出力先プリンタ情報に登録する。サポートする属性情報と、非サポートの属性情報は、区別して記憶される。
【0055】
そしてS705においてCPS102は印刷装置101に対して、
図14(C)に例示する「Success-ok」の登録成功応答を送信する。当該情報には補足情報として、ステータスメッセージが付与される。ステータスメッセージは、いくつかの属性がクラウドプリントサービスでサポートされていないことや、サポートされていない属性を登録したことを示す情報が含まれる。この処理により、CPSがサポートしている属性以上のスペック情報で印刷装置の登録処理を行うことができ、本来の印刷装置のスペック情報を記憶することができる。
【0056】
続けて、クライアント端末(例えばクライアント端末103)からCPS経由の印刷を行うシーケンスについてS706からS712を用いて説明する。まずユーザはクライアント端末103の操作部からCPS102のプリンタの検索を実行する。ユーザからのプリンタ検索指示を検知したクライアント端末103はS706において、CPS102にプリンタ検索要求を送信する。当該探索要求には、クライアント端末にログインしているユーザに対応するクラウドアカウント情報が含まれている。クラウドアカウント情報は、ユーザが属するテナントを特定するために用いられる。プリンタ検索は、CPS102に登録されている、ユーザが属するテナントで管理される全プリンタを指定して検索する方法でも、特定のプリンタ名称や場所などによるフィルタ条件を用いて検索する方法でもよい。
【0057】
S707において、クライアント端末103からの検索要求を受信したCPS102は、CPS102に登録済で検索要求に合致するプリンタ情報をクライアント端末103に送信する。この時点ではプリンタに紐づくスペック情報を含めて応答する必要はなく、プリンタ名称など出力先の選択に必要となる代表的な属性情報のみを応答すればよい。CPS102からプリンタ一覧情報を受信したクライアント端末103は、S708において操作部にプリンタ一覧を表示する。なお、クライアント端末103は、ローカルネットワーク上のプリンタをmDNS等の探索プロトコルを用いて探索し、当該探索結果をマージしてプリンタ一覧画面に表示してもよい。また、当該画面にはクライアント端末103のプリントフレームワークに既に登録されている出力先プリンタも一覧表示されるものとする。S709においてユーザはプリンタ一覧のリストから所望のプリンタを選択する。ここでは、CPS102に登録されているプリンタであって、クライアント端末103に未登録のプリンタが選択され場合を例に説明する。
【0058】
プリンタ選択を検知したクライアント端末103は、S710において該当プリンタのより詳細なスペックを取得するためCPS102に対してプリンタ能力取得要求を送信する。本実施形態では、プリンタ能力取得要求は例えばIPPのGet-Printer-Attributesオペレーションを想定している。プリンタ能力取得要求を受信したCPS102は、S711においてCPS102のサポート属性も、非サポート属性も含めたプリンタ能力応答をクライアント端末103に送信する。S711の処理では、例えば、
図14(B)に示す能力情報を示すパケットが送信される。
図14(B)のパケットはS704でCPS102に登録された属性情報を列挙した文字列を含んでいる。
図14(B)に示すように、CPS102では非サポートだが、印刷装置101がサポートしている属性を含めて通知することができる。続いて、クライアント端末103は、S712aにおいて、端末内のプリントクライアントでサポートしている属性情報を抽出し、当該抽出された属性情報と、出力先を対応付けて出力先プリンタ情報を登録する。S712aの処理で、プリントクライアントがサポートしていない非サポートの属性は読み捨てられる。
【0059】
続けて、S712bにおいて、クライアント端末103は、S712aで登録された出力先プリンタ情報に基づき印刷設定画面を表示する。
図8はS712bで表示される印刷設定画面の一例である。クライアント端末103のプリントクライアントは、
図4に例示しているように説明したように、「Number-up」や針で出力物の2箇所を閉じる属性値をサポートしているため、これらの設定値を適切に表示することができるようになる。
図8において、太字で強調表示している部分は、
図2で説明した従来技術では表示できなかった印刷設定である。従って、クライアント端末のプリントクライアントがバージョンアップし新たな機能などに対応する場合であっても、適切に印刷UIを表示することができるようになる。従って、ユーザが所望の印刷設定を行える可能性を高めることができる。
【0060】
次に、印刷実行時のシーケンスについてS713からS719を用いて説明する。S713においてユーザは
図8の画面を介して印刷設定を必要に応じて変更し、印刷ボタンを押下する。印刷ボタンの押下を検知したクライアント端末103はS714において、CPS102に対して、印刷設定は示す属性情報を含む印刷要求を送信する。本実施形態では、印刷要求は、IPPのCreate-Jobオペレーションや、Print-Jobオペレーションを想定している。Print-Jobオペレーションで指示を行う場合、属性情報と印刷データが共に送信される。Create-Jobオペレーションで指示を行う場合は、後続する印刷対象のドキュメントを追加するためのオペレーションを用いて複数のドキュメントデータを印刷対象として登録することになる。
【0061】
次にCPS102は、S715においてクライアント端末103から受信した印刷実行要求を解析し、要求に含まれる印刷属性(印刷設定を示す情報)と、印刷対象のドキュメントデータを対応付けた印刷ジョブの情報を、CPS102のストレージ上に保存する。
【0062】
この際も、CPS102が非サポートの属性値が含まれていても、サポート属性と同様に保存する。なお、保存に際し、CPS102上で印刷データのレンダリング等の処理を行うようにしてもよい。
【0063】
続けて、S716において、CPS102は印刷装置101に対して印刷ジョブが投入されたことを通知する。通知には例えばIPPのGet-Notificationオペレーションを用いることができる。
【0064】
CPS102に印刷ジョブが存在することを検知した印刷装置101は、S717においてCPS102に対して印刷ジョブ取得要求を行う。印刷ジョブ取得要求は例えばIPPのFeteh-Jobオペレーションを用いることができる。印刷ジョブ取得要求を受信したCPS102は、S718において、ストレージに保存されている印刷データと印刷属性値を応答する。本実施形態には、S715で非サポート属性も破棄することなく保存しているため、CPS102がサポートしない属性情報についても印刷装置101に適切に伝達することができる。S719において、印刷装置101は、受信した印刷ジョブに基づきシートに画像を印刷する。
【0065】
例えば、クライアント端末103に表示される
図8の画面で「2in1」の印刷設定がなされた場合、当該「2in1」に相当する属性情報がCPS102で破棄されることなく、印刷装置101まで伝達される。従って印刷装置は当該属性情報に基づき集約印刷を行うべきと判断することでき、適切に集約印刷を行うことができるようになる。
【0066】
印刷システムを構成する各装置における制御について
図9乃至
図13のフローチャートを用いて説明する。
図9、
図13は印刷装置における処理を示しており、
図10、
図12はCPS102における処理を示している。
図11は、クライアント端末における処理を示している。
【0067】
図9のフローチャートに示す各動作(ステップ)は、CPU111がROM112またはストレージ114に記憶された制御プログラムを実行することにより実現される。
図9の処理は、管理者からCPS102に対してプリンタを登録する登録要求を受け付けたことに従って実行される。
【0068】
S901においてCPU111は、CPS102に対して登録要求を送信する。S902において、CPU111は、CPS102に対するプリンタ登録が成功したかどうかを判断する。具体的には、CPS102から受信した登録結果が成功を示している場合、成功したと判断し、処理をS903に進める。一方、CPS102から受信した登録結果が失敗を示している場合、もしくは、所定時間が経過しても応答がない場合、登録に失敗したと判断し、処理をS907に進める。
【0069】
S903においてCPU111はCPS102に対して
図14(A)で例示した能力通知を送信する。S904においてCPU111はS903で送信した能力通知に対する応答の種類を判定する。CPU111は、応答がフォーマットエラーや認証エラーなどの場合、エラー応答であると判定し、処理をS907に進める。一方、応答が
図14(C)に示すような「Success-ok」のような成功応答の場合、成功応答であると判定し、処理をS906に進める。最後に、応答が「Successful-ok-but-ignored-attributes」等、登録は成功したが一部属性は読み捨てた、という応答である場合、条件付きの成功応答であると判定し処理をS905に進める。
【0070】
S905において、CPU111は、操作部116に登録に成功したが、一部の属性は無視されたことを示す登録結果を表示する。S906において、CPU111は、操作部116に登録に成功したことを示す登録結果を表示する。最後にS907において、CPU111は、操作部116に登録に失敗したことを示す登録結果を表示する。
【0071】
続けて、
図10を用いてCPS102を提供するサーバ102が実行するクラウドプリントサービスに対する出力先プリンタの登録処理を説明する。
図10のフローチャートに示す各動作(ステップ)は、サーバ102を構成するCPU131がROM132またはストレージ134に記憶された制御プログラムを実行することにより実現される。なお、
図6の説明で前述したように当該処理は複数のコンピュータリソースや協働させて実行することもできる。また、通信処理などはネットワークI/Fと協働して実現される。
【0072】
S1001において、サーバ102のCPU131は、印刷装置101から登録要求を受信し、出力先プリンタをCPS102上に登録する登録処理を実行する。CPU131は、CPS102上でクラウドプリンタを管理するための出力先プリンタ情報を作成する。また、印刷装置101からCPS102にアクセスするためのアクセストークンの発行を行う。登録処理が完了すると、処理をS1002に進める。S1002において、CPU131は、印刷装置101に対して、登録処理の結果を応答する。ユーザ認証に失敗した場合や、要求内容に問題があった場合など、登録処理がエラー完了した場合、エラーが通知される。エラーを通知した場合、CPU131は、以降の能力更新の処理を行うことなく登録処理を中止する。
【0073】
続けて、S1003において、CPU131は、S1002で登録に成功した印刷装置から
図14(A)で説明した能力通知を受信する。S1004において、CPU131は、S1003で受信した能力通知に含まれる属性情報の解析処理を行う。具体的には、CPU131は、受信内容が規定の形式を満たしていない場合や、インジェクション攻撃などを目的としたデータを含んでないかをチェックする。形式を満たしていない場合やインジェクション攻撃などを目的としたデータを含んでいる場合、内容が不適切であると判定し、解析結果としてエラーであることを示す情報を記録する。一方、内容が正常である場合、解析結果として内容が正常であることを示す情報を記録する。また、CPU131は、CPS102でサポートする属性情報と、CPS102でサポートしていない属性情報を分類する処理を行う。更に、CPU131は、CPS102でサポートしていない属性情報が一つでも含まれている場合、非サポート属性が含まれていることを示す解析結果を記録する。一方、CPU131は、CPS102でサポートしていない属性情報が含まれていなかった場合、サポート属性のみを含むことを示す解析結果を記録する。
【0074】
S1005において、CPU131は、S1004で実行した解析結果の種類を判定する。解析結果がエラーを示している場合、処理をS1006に進め、解析結果が正常であることを示し、且つ、サポート属性のみを含むことを示している場合、処理をS1007に進める。一方、CPU131は、解析結果が正常であることを示し、且つ、非サポートの属性を含むことを示している場合、処理をS1009に進める。
【0075】
S1006において、CPU131は、S1001で登録した出力先プリンタ情報を削除し、印刷装置101に対してエラー応答を送信し、一連の登録処理を終了する。
【0076】
S1007において、CPU131は、S1001で登録した出力先プリンタ情報の印刷能力を示す情報をS1003で取得した属性情報を用いて更新する。即ち、出力先プリンタ情報に印刷装置101の印刷能力を登録する。続いて、S1008において、CPU131は印刷装置101に対して正常応答を送信する。
【0077】
S1009において、CPU131は、S1001で登録した出力先プリンタ情報の印刷能力を示す情報を、S1005で分類した属性情報を用いて更新する。具体的には、出力先プリンタ情報に対して、CPS102がサポートする属性情報と、CPS102がサポートしていない属性情報とを識別可能に登録する。続いて、S1010において、CPU131は、印刷装置101に対して、
図14(C)を用いて説明した、非サポートの属性情報が登録された旨の情報を含む正常応答を送信する。応答が完了すると一連の登録処理を終了する。
【0078】
図10で説明した処理により、
図4で説明した印刷装置のフルスペックの能力情報をCPS102に登録することが可能となる。
【0079】
次に
図11を用いて、CPS102に登録されたプリンタをクライアント端末から利用する場合の制御を説明する。
【0080】
図11のフローチャートに示す各動作(ステップ)は、クライアント端末(例えばクライアント端末103)のCPU131がROM132またはストレージ134に記憶された制御プログラムを実行することにより実現される。
図11のフローチャートは、ユーザからプリンタを探索する操作を受け付けたことに応じて実行される。
【0081】
S1101において、クライアント端末のCPU131は、プリンタ探索を行い、見つかったプリンタを一覧表示する。
【0082】
続けてS1102において、クライアント端末のCPU131は、プリントクライアントに未登録のプリンタを選択するユーザ操作を受け付けたかどうかを判断する。プリントクライアントに未登録のプリンタを選択するユーザ操作を受け付けた場合、処理をS1103に進め、登録済みのプリンタを選択するユーザ操作を受け付けた場合、処理をS1109に進める。S1109において、クライアント端末のCPU131は、選択された登録済みプリンタを出力先に設定する。続けて、CPU131は、選択されたプリンタに対応する出力先プリンタ情報を参照し、属性情報を取得する。続けて当該取得した属性情報に基づき印刷設定画面を生成する。生成が完了すると、CPU131は、操作部136上に生成した印刷設定画面を表示し、一連の処理を終了する。一連の処理が完了すると、
図7で説明した印刷設定の変更処理や印刷ジョブの送信処理が行われる。
【0083】
S1103において、クライアント端末のCPU131は、選択されたプリンタに対して属性情報の取得要求を送信し、当該要求に対する応答を受信する。続けてS1104においてCPU131は、属性情報を解析し、クライアントがサポートしていない属性情報を破棄し、クライアントがサポートしている属性情報のみを抽出する。続けて、当該抽出されたクライアントがサポートしている属性情報と、出力先を特定する情報(例えば、CPS102のIPアドレスやホスト名等)を対応づけた出力先プリンタ情報をOSが提供するプリントフレームワーク上に登録する。例えば、OSがWindows(登録商標)の場合、出力先プリンタ情報の登録とは、CPS102にデータを送信するためのプリントキューの生成や、取得した能力情報に基づき、プリンタドライバをコンフィグレーションする処理を行うことを意味する。
【0084】
続けて、S1107において、クライアント端末103のCPU131は、登録処理が完了したプリンタを出力先に設定する。続けて、CPU131は、出力先として設定したプリンタに対応する属性情報を取得し、印刷設定画面を生成する。生成が完了すると、CPU131は、操作部136上に生成した印刷設定画面を表示し、一連の処理を終了する。一連の処理が完了すると、続けて、
図7、
図8で説明した印刷設定の変更処理や印刷ジョブの送信処理が行われるものとする。
【0085】
以上説明した処理により、クライアント端末のプリントクライアントがバージョンアップし新たな機能などに対応する場合であっても、適切に印刷UIを表示できるようになる。
【0086】
続けて、CPS102がクライアント端末から印刷ジョブを受信する場合の制御について
図12のフローチャートを用いて説明する。
図12のフローチャートに示す各動作(ステップ)は、
図10と同様、サーバ102を構成するCPU131がROM132またはストレージ134に記憶された制御プログラムを実行することにより実現される。
【0087】
S1200においてサーバ102のCPU131は、クライアント端末から印刷ジョブに関する要求を受信したかどうかを判断する。クライアント端末から印刷ジョブに関する要求を受信した場合、処理をS1201に進め、クライアント端末から印刷ジョブに関する要求を受信していない場合、処理をS1205に進める。本実施形態では、印刷ジョブに関する要求は、IPPのCreate-Jobオペレーションや、Print-Jobオペレーションを想定しているがこれに限定されるものではない。例えば、クライアントが、印刷ジョブを送信する前に、相手先で印刷ジョブを処理できるかどうかを問い合わせるValidate-Jobオペレーションであってもよい。
【0088】
S1201において、サーバ102のCPU131は、クライアント端末から印刷要求の後に送信される印刷データを含む一連の印刷ジョブを受信する。続けてS1202において、CPU131は、印刷ジョブの印刷設定を示す属性情報にCPS102がサポートしていない属性情報が含まれているか否かを判断する。CPS102がサポートしていない属性情報が含まれていない場合、処理をS1203に進め、CPS102がサポートしていない属性情報が含まれている場合、処理をS1204に進める。なお、S1200で受信した印刷要求が、Create-JobオペレーションやValidate-Jobオペレーションの場合、印刷データ(ドキュメントデータ)を受信する前に、属性情報のみがCPS102に通知される。従って、印刷データ(ドキュメントデータ)データを受信する前に、S1202の判断を行い、その後に印刷データを受信するよう構成してもよい。
【0089】
S1203では、CPU131は、サポートしている属性情報に基づき、サーバサイドでのレンダリングやデータ変換処理が必要である場合、レンダリング処理やデータ変換処理を実行する。そして、変換が必要な場合、変換が行われた印刷データと、属性情報を含む印刷ジョブを記憶領域に保存する。変換が必要でない場合、受信した印刷データと、属性情報を含む印刷ジョブを記憶領域に保存する。
【0090】
一方、S1204では、CPU131は、サポートしていない属性情報と、サポートしている属性情報の両方と、印刷データとを含む印刷ジョブを記憶領域に保存する。S1203の処理との差異は、サポートしていない属性情報と、サポートしている属性情報に依存関係がある場合を考慮して、レンダリング処理やデータ変換処理を行わない点である。
【0091】
なお、CPS102上でのレンダリングやデータ変換を行わないよう構成することもできる、この場合、S1202~S1204の処理に代えて単に受信した印刷ジョブを保存するよう構成すればよい。
【0092】
続けて、S1205において、CPU131は、印刷装置(例えば印刷装置101)から印刷ジョブの取得要求を受信したかどうかを判断する。受信した場合は、処理をS1206に進め、受信していない場合、一連の処理を終了する。
【0093】
S1206において、CPU131は、取得要求に対応する印刷ジョブを要求元の印刷装置に送信する。送信が完了すると一連の処理を終了する。
図12で説明した受信処理及び送信処理は、CPS102がプリントサービスを提供している間、繰り返し行われるものとする。
【0094】
続けて、印刷装置101がCPS102から印刷ジョブを受信して印刷する場合の制御について
図13のフローチャートを用いて説明する。
図13のフローチャートに示す各動作(ステップ)は、
図9と同様、CPU111がROM112またはストレージ114に記憶された制御プログラムを実行することにより実現される。
【0095】
S1301において、CPU111は、CPS102から印刷すべきジョブが格納された旨の通知を受信する。続けてS1302において、CPU111は、印刷ジョブの取得要求を送信する。具体的には、CPS102に対して、印刷装置101が取得可能なジョブの一覧を問い合わせる。続けて、一覧に含まれる印刷ジョブのデータを取得するための取得要求を送信する。
【0096】
続けてS1303において、CPU111はCPS102から印刷ジョブを取得する。S1304において、CPU111は、取得した印刷ジョブに含まれる属性情報を解析し、印刷装置がサポートしていない属性情報を破棄して印刷処理を実行する。以上説明した
図9~
図13の処理により、クラウドプリントサービス経由での印刷を行うケースにおいても、クライアント端末103がサポートする能力を最大限活用することができるようになる。なお、上述の実施形態では、プリンタの初回登録時の能力通知を例示したが、これに限定されるものではない。例えば、所定の間隔(例えば30日)ごとに、クライアント端末が管理する出力先プリンタ情報の更新を行うようにしてもよい。
【0097】
<第2の実施形態>
第2の実施形態では、第1の実施形態の処理に加えて、クライアント端末104上に印刷装置101のベンダが提供する印刷拡張アプリケーションをインストールする仕組みを提供する。この印刷拡張アプリケーションは、クライアント端末側での印刷設定や印刷設定のユーザインタフェースの見た目を拡張する。
【0098】
なお、第2の実施形態における各装置のハードウェア構成は第1の実施形態と同様である。以下第1の実施形態との差分について説明する。第2の実施形態における印刷システムでは、第1の実施形態の各装置に加えて、印刷拡張アプリケーションを配布するサーバが更に含まれる。本実施形態では、クライアント端末104に印刷拡張アプリケーションをインストールする場合を例に説明する。
【0099】
以下配布の仕組みと、印刷拡張アプリケーションの呼び出し方法について
図15のシーケンス図を用いて説明する。
図15は第1の実施形態における
図7のシーケンスに代わる第2の実施形態における処理を説明するためのシーケンス図である。
【0100】
S1501~S1511に記載のCPS102へのプリンタ登録処理、クライアント端末におけるプリンタ選択、能力取得処理は、
図7のS701~S711と同様のため説明を省略する。
【0101】
S1512において、クライアント端末103は、S1509で選択された印刷装置の機種を特定する。続けて、特定した機種を示す情報(機種情報とも呼ぶ)を配布サーバに送信し、印刷拡張アプリケーションが存在するかどうかを問い合わせる。問い合わせを受け付けた配布サーバは、当該機種向けの印刷拡張アプリケーションが存在するどうかを判断し、印刷拡張アプリケーションの有無をクライアント端末104に対して応答する(S1513)。配布サーバは、印刷拡張アプリケーションが存在する場合、当該アプリケーションをダウンロード先についても当該応答に含めるものとする。
【0102】
まず、印刷拡張アプリケーションが配布サーバから提供される場合についてS1514~S1518で説明する。S1514において、クライアント端末104のOSは、応答に含まれる段ロード先情報に基づき印刷拡張アプリケーションを配布サーバからダウンロードし、クライアント端末104にインストールする。
【0103】
続けて、クライアントがサポートする属性情報及びクライアントがサポートしない属性情報の両方の属性情報と、出力先を特定する情報とを対応付けた出力先プリンタ情報を登録する(S1515)。
【0104】
続けて、クライアント端末104のOSは、印刷拡張アプリケーションと出力先プリンタ情報の対応関係をレジストリDBに登録する(S1516)。なお、対応関係の記憶先は一例であり、クライアント端末104のOSが参照できる記憶領域に対応関係を記憶すればよい。
【0105】
続けて、ユーザは、OSが提供する印刷設定画面や汎用アプリケーションが提供する簡易印刷設定画面を介して、詳細印刷設定ボタンを押下する(S1517)。当該詳細設定ボタンの押下を検知したクライアント端末104のOSは、詳細設定ボタンが押下された際に、出力先として選択されているプリンタの情報を特定する。続けて、当該特定した情報に基づきレジストリDBを参照し、対応する印刷拡張アプリケーションを特定し、起動する(S1518)。
【0106】
OSにより起動された印刷拡張アプリケーションは、関連付けられている出力先プリンタ情報に含まれる属性情報を取得し、当該取得した属性情報に基づき拡張印刷設定画面を表示する(S1519)。
図16は、印刷拡張アプリケーションが提供する拡張印刷設定画面の一例である。例えば、印刷拡張アプリケーションは、印刷装置101を製造するベンダが提供するアプリケーションであり、印刷装置101用に特化した印刷設定を行うことができるように構成される。
図16では、メイン画面を例示しており、丸括弧1~6は詳細設定画面に遷移にするためのキーを示している。ユーザは各キーを選択することで、ステープル等の後処理設定を行うことができる。また、第1の実施形態において汎用のプリントクライアントがサポートできなかった、カラー調整や、細線強調等、ベンダ独自の属性情報に対応する印刷設定を設定することもできる。印刷拡張アプリケーションはOKボタンが選択されたことを検知すると、画面を介してなされた設定に基づき、属性情報の内容を更新し、アプリケーションを終了する。
図17は、第2の実施形態における印刷属性情報を説明する図であり、
図17(A)は、CPS102に対して送信される印刷ジョブに関する要求の一例を示すパケットである。ここでは、拡張アプリケーションが提供する画面を介して細線印刷が有効、且つ、色強調の設定として青強調が選択された場合を例示している。プリントクライアントは、自身がサポートしない属性情報であっても破棄することなくCPS102に対して送信する。当該印刷ジョブはCPS102に一時記憶される。CPS102は、印刷装置101からのジョブ取得要求を受信したことに応じて、当該印刷ジョブを印刷装置101に送信する。
図17(B)はCPS102から印刷装置101に送信される印刷ジョブの属性情報を示している。CPS102は自身がサポートしない属性情報を破棄することなく、そのまま印刷装置101に転送する。従って、印刷装置101は、当該CPS102経由で受信した属性情報を適切に解釈して印刷できるようになる。
【0107】
続いて、対応する印刷拡張アプリケーションがない場合の代替シーケンスについて説明する。S1530において、クライアント端末は、S1511で取得した属性情報の中から、プリントクライアントがサポートする属性情報を抽出する。続けて、当該抽出された属性情報と出力先を対応付けた出力先プリンタ情報を登録し、一連の処理を終了する。
【0108】
クライアント端末における具体的な制御について
図18を用いて説明する。
図11のフローチャートに示す各動作(ステップ)は、クライアント端末104のCPU131がROM132またはストレージ134に記憶された制御プログラムを実行することにより実現される。処理の主体となるプログラムを明確に示したい場合、プロセッサにより実行される制御プログラム(OSや拡張アプリケーション)を主語として説明する。
【0109】
図11のフローチャートは、探索で見つかったプリンタの中からCPS102上に登録されたプリンタであって、且つ、クライアント端末104に未登録のプリンタを選択する操作を受け付けたことに応じて実行される。
【0110】
S1801において、クライアント端末のOSは、登録対象の出力先プリンタに対応する印刷拡張アプリケーションが存在するかどうかを、配布サーバに問い合わせる。問い合わせの結果、印刷拡張アプリケーションが存在する場合、処理をS1802に進め、印刷拡張アプリケーションが存在しない場合、処理をS1104に進める。S1802において、クライアント端末のOSは、配布サーバから拡張アプリケーションをダウンロードし、クライアント端末上にインストールする。インストールが完了すると処理をS1803に進める。
【0111】
S1803において、クライアント端末のOSは、クライアントがサポートする属性情報及びサポートしない属性情報の両方の属性情報と出力先を対応付けた出力先プリンタ情報をプリントフレームワークに登録する。続けて、S1804において、クライアント端末のOSは、レジストリDBに印刷拡張アプリケーションと出力先プリンタの対応関係を保存する。例えば、印刷拡張アプリケーションを起動するためのアプリケーションパス等と、出力先プリンタを特定するための情報を対応付けてレジストリDBに保存する。
【0112】
S1805において、クライアント端末のOSは、登録処理が完了したプリンタを出力先に設定し、プリントクライアントがサポートする属性情報に基づき生成した印刷設定画面を表示する。ここでは、プリントクライアントがサポートしない属性情報に対応する印刷設定は表示されない。
【0113】
S1806において、クライアント端末のOSは、S1805で表示した印刷設定画面を介して詳細印刷設定を行うユーザ指示がなされたかどうかを判定する。詳細印刷設定を行うユーザ指示がなされたことを検知した場合、処理をS1807に進め、詳細印刷設定を行うユーザ指示がなされたことを検知していない場合、処理をS1811に進める。
【0114】
S1807において、クライアント端末のOSは、出力先プリンタに対応する印刷拡張アプリケーションが存在するかどうかを判定する。具体的には、OSは、出力先プリンタを特定する情報を取得し、レジストリDBに当該出力先プリンタに対応する印刷拡張アプリケーションを特定する情報が記憶されているかどうかを判定する。当該出力先プリンタに対応する印刷拡張アプリケーションを特定する情報が記憶されている場合、処理をS1808に進める。一方、当該出力先プリンタに対応する印刷拡張アプリケーションを特定する情報が記憶されていない場合、詳細設定画面を表示することなく、処理をS1811に進める。
【0115】
S1808において、クライアント端末のOSは、印刷拡張アプリケーションを起動する。OSにより起動された印刷拡張アプリケーションは、出力先プリンタ情報の属性情報を取得し、当該属性情報に基づき
図16に例示した詳細印刷設定画面を表示する。ユーザは、当該設定画面を介して、印刷設定を変更することができる。変更操作を受け付けた印刷アプリケーションは、設定画面の表示を更新し、ユーザに現在の設定状態をフィードバックする。
【0116】
S1809において、印刷拡張アプリケーションは、印刷設定を完了するユーザ操作を受け付けたか否かを判断する。印刷設定を完了するユーザ操作を受け付けた場合、処理をS1810に進める。印刷設定を完了するユーザ操作を受け付けていない場合、印刷拡張アプリケーションの画面を介した更なる印刷設定操作を待ち受ける。
【0117】
S1810において、印刷拡張アプリケーションは、画面を介してなされた印刷ジョブに適用すべき印刷設定に基づき、OSが管理する属性情報を更新する。更新が完了すると、印刷拡張アプリケーションは自身の動作を停止する。印刷拡張アプリケーションの停止を検知したOSのプリントクライアントは、当該更新された印刷設定に基づく印刷設定画面を表示する。この際、プリントクライアントは、自身がサポートしない属性情報は無視して印刷設定画面を表示する。
【0118】
S1811において、OSは、印刷設定画面を介して印刷開始指示がなされたか判定する。印刷開始指示がなされた場合、処理をS1812に進め、印刷開始指示がなされていない場合、S1806に戻り更なる印刷設定操作を待ち受ける。
【0119】
S1812において、クライアント端末のプリントクライアントは、印刷ジョブを生成し、CPS102に対して送信する。当該印刷ジョブの生成は、IPPのCreate-Jobオペレーションや、Print-Jobオペレーションによるジョブ生成を想定している。Print-Jobオペレーションで指示を行う場合、属性情報と印刷データが共に送信される。Create-Jobオペレーションで指示を行う場合は、印刷属性を含むCreate-JobオペレーションでCPS102上にジョブを生成する。続けて、印刷対象のドキュメントを追加するためのオペレーションを用いて、当該生成した印刷ジョブに1以上のドキュメントデータを対応付ける処理を行う。この際、プリントクライアントは、自身がサポートしていない属性情報についても、印刷ジョブに関する属性情報としてCPS102に送信する。従って、印刷拡張アプリケーションによって更新された属性情報を、プリントクライアント側で破棄することなくCPS102に送信することになる。以上説明した処理により、より柔軟な印刷設定のサポートを行うことができるようになる。
【0120】
<変形例>
本実施形態では、クラウドプリントサービス経由のプリント処理の際の印刷設定について例示したがこれに限定されるものではない。例えば、MFPで読み取ったスキャンデータをクラウド経由でユーザPCに送信する場合のスキャン設定に適用することもできる。この場合、MFPは、クラウドスキャンサービスにMFPを登録する際に、自身が有するフルスペックのスキャン能力をクラウドスキャンサービスに通知する。この際に、ベンダ独自の属性を含む能力をクラウドサービスに通知する。クラウドスキャンサービスは、自身がサポートしていないスキャン能力についてもクラウド上に登録する。クラウドスキャンサービスを使用するクライアント端末にインストールされたスキャンクライアントは、当該クラウドスキャンサービスからフルスペックの能力情報を取得する。最後にスキャンクライアントは、フルスペックの能力情報から、スキャンクライアントがサポートする能力情報を抽出し、抽出したスキャン能力をスキャンフレームワークに登録すればよい。なお、第2の実施形態に対してクラウドスキャンを適用する場合、配布サーバからスキャン拡張アプリケーションがダウンロードされてインストールされるものとする。この場合、MFPが提供する高性能なOCR処理や、MFPのAIエンジンが提供するスキャンコンテンツの要約サービスなどをスキャン拡張アプリケーションの拡張印刷設定画面から設定することができる。
【0121】
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
【符号の説明】
【0122】
101 印刷装置
102 クラウドプリントサービス
103 クライアント端末
104 クライアント端末
105 クライアント端末
【手続補正書】
【提出日】2024-09-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
クライアント端末と印刷装置と通信可能なサーバーシステムであって、
IPP(Internet Printing Protocol)の規格に定義されている第1属性の情報とIPPの規格に定義されていない第2属性の情報とをIPPオペレーションを用いて前記印刷装置から受信する受信手段と、
前記第1属性の情報と前記第2属性の情報とを前記IPPオペレーションとは異なるIPPオペレーションを用いて前記クライアント端末へ送信する送信手段と、を有し、
前記第1属性の情報に基づく第1の印刷設定情報と前記第2属性の情報に基づく第2の印刷設定情報とを前記クライアント端末から受信した場合、前記第1の印刷設定情報と前記第2の印刷設定情報を前記印刷装置へ提供することを特徴とするサーバーシステム。
【請求項2】
IPPの規格に定義されている前記第1属性の属性名はIPPの規格に記載されており、IPPの規格に定義されていない前記第2属性の属性名はIPPの規格に記載されていないことを特徴とする請求項1に記載のサーバーシステム。
【請求項3】
IPPの規格に定義されていない前記第2属性の属性名はベンダ独自の属性の属性名であることを特徴とする請求項1または2に記載のサーバーシステム。
【請求項4】
前記サーバーシステムは、前記クライアント端末および前記印刷装置とインターネットを介して通信可能であることを特徴とする請求項1乃至3の何れか1項に記載のサーバーシステム。
【請求項5】
前記第1の属性情報と前記第2の属性情報は、前記印刷装置が属性情報を送信する際の前記印刷装置の構成に基づく属性情報であることを特徴とする請求項1乃至4の何れか1項に記載のサーバーシステム。
【請求項6】
前記第2の属性情報には、印刷物に対する後処理に関する属性情報が含まれていることを特徴とする請求項1乃至5の何れか1項に記載のサーバーシステム。
【請求項7】
前記サーバーシステムは、前記第1の印刷設定情報と前記第2の印刷設定情報とを含む印刷ジョブを登録済みの印刷装置に対して送信するクラウドプリントサービスを備えたサーバーシステムであることを特徴とする請求項1乃至6の何れか1項に記載のサーバーシステム。
【請求項8】
クライアント端末と印刷装置と通信可能なサーバーシステムの制御方法であって、
IPP(Internet Printing Protocol)の規格に定義されている第1属性の情報とIPPの規格に定義されていない第2属性の情報とをIPPオペレーションを用いて前記印刷装置から受信する受信ステップと、
前記第1属性の情報と前記第2属性の情報とを前記IPPオペレーションとは異なるIPPオペレーションを用いて前記クライアント端末へ送信する送信ステップと、を含み、
前記第1属性の情報に基づく第1の印刷設定情報と前記第2属性の情報に基づく第2の印刷設定情報とを前記クライアント端末から受信した場合、前記第1の印刷設定情報と前記第2の印刷設定情報を前記印刷装置へ提供することを特徴とする制御方法。
【請求項9】
請求項8に記載の制御方法を情報処理装置に実行させるためのプログラム。