IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2023-183240印刷装置、情報処理装置、これらの制御方法及びプログラム
<>
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図1
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図2
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図3
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図4
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図5
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図6
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図7
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図8
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図9
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図10
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図11
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図12
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図13
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図14
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図15
  • 特開-印刷装置、情報処理装置、これらの制御方法及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183240
(43)【公開日】2023-12-27
(54)【発明の名称】印刷装置、情報処理装置、これらの制御方法及びプログラム
(51)【国際特許分類】
   B41J 29/00 20060101AFI20231220BHJP
   B41J 29/38 20060101ALI20231220BHJP
   G03G 21/00 20060101ALI20231220BHJP
   G06F 3/12 20060101ALI20231220BHJP
   H04N 1/00 20060101ALI20231220BHJP
【FI】
B41J29/00 Z
B41J29/38 201
B41J29/38 401
G03G21/00 396
G06F3/12 303
G06F3/12 338
G06F3/12 336
G06F3/12 386
G06F3/12 387
H04N1/00 838
H04N1/00 127A
H04N1/00 127B
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022096757
(22)【出願日】2022-06-15
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】佐光 律人
【テーマコード(参考)】
2C061
2H270
5C062
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AQ06
2C061CL10
2C061HJ08
2C061HN15
2H270KA59
2H270KA60
2H270NB15
2H270NB16
2H270NB17
2H270NB19
2H270NC03
2H270ND06
2H270ND32
2H270ZB01
2H270ZC03
2H270ZC04
2H270ZD04
5C062AA05
5C062AA35
5C062AB20
5C062AB22
5C062AB38
5C062AB42
5C062AB53
5C062AC02
5C062AC04
5C062AC22
5C062AC38
(57)【要約】
【課題】論理プリンタに関連付けられた物理プリンタを安全に特定する。
【解決手段】印刷装置は、印刷サーバから第1印刷ジョブを受信する第1受信部と、情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信部と、第1印刷ジョブに基づく印刷と、第2印刷ジョブに基づく印刷とを行う印刷部と、秘密鍵及びデジタル証明書を記憶する記憶部と、情報処理装置へローカルエリアネットワーク内でデジタル証明書を送信する送信部と、を有する。デジタル証明書は、秘密鍵とペアをなす公開鍵と、印刷サーバによって行われた電子署名とを含む。
【選択図】図8
【特許請求の範囲】
【請求項1】
印刷装置であって、
印刷サーバから第1印刷ジョブを受信する第1受信手段と、
情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信手段と、
前記第1印刷ジョブに基づく印刷と、前記第2印刷ジョブに基づく印刷とを行う印刷手段と、
秘密鍵及びデジタル証明書を記憶する記憶手段と、
前記情報処理装置へ前記ローカルエリアネットワーク内で前記デジタル証明書を送信する送信手段と、を備え、
前記デジタル証明書は、前記秘密鍵とペアをなす公開鍵と、前記印刷サーバによって行われた電子署名とを含む、印刷装置。
【請求項2】
前記第1受信手段は、インターネットプリンティングプロトコル(IPP)を用いて前記印刷サーバから前記第1印刷ジョブを受信し、
前記第2受信手段は、IPPを用いて前記情報処理装置から前記第2印刷ジョブを受信する、請求項1に記載の印刷装置。
【請求項3】
前記印刷装置を前記印刷サーバに登録することに関する要求を前記印刷サーバへ送信する要求手段をさらに備え、
前記要求は、前記公開鍵を含み、
前記デジタル証明書は、前記要求に対する応答に含まれる、請求項1に記載の印刷装置。
【請求項4】
前記デジタル証明書を用いて暗号化通信路を確立する暗号化通信手段をさらに備える、請求項1に記載の印刷装置。
【請求項5】
前記デジタル証明書は、第1デジタル証明書であり、
前記記憶手段は、第2デジタル証明書をさらに記憶し、
前記暗号化通信手段は、前記第2デジタル証明書を用いて暗号化通信路をさらに確立する、請求項4に記載の印刷装置。
【請求項6】
前記第1デジタル証明書と前記第2デジタル証明書との何れを用いて暗号化通信路を確立するかに関する指示をユーザから取得する取得手段をさらに備える、請求項5に記載の印刷装置。
【請求項7】
前記第2受信手段は、前記第1デジタル証明書を用いて確立された暗号化通信路を通じて前記情報処理装置から前記第2印刷ジョブを受信する、請求項5に記載の印刷装置。
【請求項8】
前記暗号化通信手段は、
前記第1デジタル証明書を用いて確立する暗号化通信路について、第1ポート番号を使用し、
前記第2デジタル証明書を用いて確立する暗号化通信路について、前記第1ポート番号とは異なる第2ポート番号を使用する、請求項5に記載の印刷装置。
【請求項9】
前記暗号化通信手段は、暗号化通信路の確立時に取得したホスト名に基づいて、前記第1デジタル証明書と前記第2デジタル証明書との何れを用いるかを決定する、請求項5に記載の印刷装置。
【請求項10】
請求項1乃至9の何れか1項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項11】
印刷装置の制御方法であって、
印刷サーバから第1印刷ジョブを受信する第1受信工程と、
前記第1印刷ジョブに基づく印刷を行う第1印刷工程と、
情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信工程と、
前記第2印刷ジョブに基づく印刷を行う第2印刷工程と、
秘密鍵及びデジタル証明書を記憶する記憶工程と、
前記情報処理装置へ前記ローカルエリアネットワーク内で前記デジタル証明書を送信する送信工程と、を有し、
前記デジタル証明書は、前記秘密鍵とペアをなす公開鍵と、前記印刷サーバによって行われた電子署名とを含む、制御方法。
【請求項12】
情報処理装置であって、
論理プリンタを提供する印刷サーバから、前記論理プリンタに関連付けられた第1デジタル証明書を受信する第1受信手段と、
印刷装置から、前記印刷装置の公開鍵を含む第2デジタル証明書を受信する第2受信手段と、
前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて、前記印刷装置が前記論理プリンタに関連付けられているかどうかを判定する判定手段と、を備える、情報処理装置。
【請求項13】
前記第1デジタル証明書及び前記第2デジタル証明書のそれぞれは、前記印刷サーバによって行われた電子署名を含む、請求項12に記載の情報処理装置。
【請求項14】
前記論理プリンタに印刷ジョブを投入できない場合に、前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて前記論理プリンタに関連付けられていると判定された印刷装置に前記印刷ジョブを投入する投入手段をさらに備える、請求項12に記載の情報処理装置。
【請求項15】
請求項12乃至14の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項16】
情報処理装置の制御方法であって、
論理プリンタを提供する印刷サーバから、前記論理プリンタに関連付けられた第1デジタル証明書を受信する第1受信工程と、
印刷装置から、前記印刷装置の公開鍵を含む第2デジタル証明書を受信する第2受信工程と、
前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて、前記印刷装置が前記論理プリンタに関連付けられているかどうかを判定する判定工程と、を有する、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、情報処理装置、これらの制御方法及びプログラムに関する。
【背景技術】
【0002】
クラウドを利用したクラウドプリントサービスが提案されている。クラウドプリントサービスは論理プリンタを提供し、論理プリンタに対する印刷ジョブは、論理プリンタに関連付けられた物理プリンタによって実行される。論理プリンタを用いた印刷はクラウドプリントと呼ばれることもあり、論理プリンタを用いない印刷はローカルプリントと呼ばれることもある。特許文献1は、クラウドプリントを行えない場合に、ローカルプリントにフォールバックするための技術を提案する。具体的に、情報処理装置は、クラウドプリントサービスと物理プリンタとのそれぞれから、物理プリンタのデバイスIDを取得する。両経路で取得したデバイスIDを比較することによって、情報処理装置は、論理プリンタに関連付けられた物理プリンタを特定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-40993号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
物理プリンタから取得するデバイスIDは文字列データであるため、詐称されたり、改ざんされたりする可能性がある。物理プリンタからデバイスIDを正しく取得できない場合に、論理プリンタに関連付けられた物理デバイスを正しく特定できない。その結果、ユーザが意図しない印刷装置で印刷が行われてしまうことがある。本発明の一部の側面は、論理プリンタに関連付けられた物理プリンタを安全に特定するための技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
一部の実施形態によれば、印刷装置であって、印刷サーバから第1印刷ジョブを受信する第1受信手段と、情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信手段と、前記第1印刷ジョブに基づく印刷と、前記第2印刷ジョブに基づく印刷とを行う印刷手段と、秘密鍵及びデジタル証明書を記憶する記憶手段と、前記情報処理装置へ前記ローカルエリアネットワーク内で前記デジタル証明書を送信する送信手段と、を備え、前記デジタル証明書は、前記秘密鍵とペアをなす公開鍵と、前記印刷サーバによって行われた電子署名とを含む、印刷装置が提供される。
【発明の効果】
【0006】
一部の実施形態によれば、論理プリンタに関連付けられた物理プリンタを安全に特定できる。
【図面の簡単な説明】
【0007】
図1】第1実施形態の印刷システムの構成例を説明する模式図。
図2】第1実施形態のコンピュータのハードウェア構成例を説明するブロック図。
図3】第1実施形態の印刷サーバの機能構成例を説明するブロック図。
図4】第1実施形態の情報処理装置の機能構成例を説明するブロック図。
図5】第1実施形態の印刷装置のハードウェア構成例を説明するブロック図。
図6】第1実施形態の印刷装置の操作部の構成例を説明する模式図。
図7】第1実施形態の印刷装置の機能構成例を説明するブロック図。
図8】第1実施形態のクラウドプリントの全体的な処理を説明するシーケンス図。
図9】第1実施形態の印刷装置による登録処理例を説明するフロー図。
図10】第1実施形態のローカルプリントの全体的な処理を説明するシーケンス図。
図11】第1実施形態の情報処理装置による物理プリンタの登録処理例を説明するフロー図。
図12】第1実施形態の情報処理装置のプリンタ情報の例を説明する図。
図13】第1実施形態の情報処理装置による印刷処理例を説明するフロー図。
図14】第2実施形態の画面例を説明する模式図。
図15】第3実施形態のメッセージ例を説明する模式図。
図16】第4実施形態のメッセージ例を説明する模式図。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0009】
<第1実施形態>
[印刷システムの構成例]
図1を参照して、第1実施形態に係る印刷システムの構成例について説明する。印刷システムは、例えば、情報処理装置110と、印刷装置120、121と、印刷サーバ130とを含む。印刷システムの各構成要素の個数は図1の例に限られない。また、印刷システムは、図1に示されていない構成要素を有していてもよい。
【0010】
情報処理装置110及び印刷装置120は、同一のローカルエリアネットワーク(LAN)101に接続されている。LAN101は、有線LANであってもよいし、無線LANであってもよいし、両者の組み合わせであってもよい。LAN101は、ファイアウォール102を通じて、広域ネットワーク103(例えば、インターネット)に接続されている。広域ネットワーク103には、印刷装置121及び印刷サーバ130も接続されている。情報処理装置110と印刷装置120とは、LAN101内で(すなわち、広域ネットワーク103を経由せずに)互いに通信可能である。また、情報処理装置110と印刷装置120とのそれぞれは、LAN101、ファイアウォール102及び広域ネットワーク103を通じて印刷サーバ130と通信可能である。印刷装置121は、LANやセルラーネットワーク(例えば、第4世代通信規格(4G)や第5世代通信規格(5G)に準拠するネットワーク)を通じて広域ネットワーク103に接続してもよい。情報処理装置110も、セルラーネットワークを通じて広域ネットワーク103に接続してもよい。
【0011】
印刷装置120、121は、印刷ジョブに基づいて印刷を行う印刷機能を有する。印刷装置120、121は、印刷機能以外に、スキャナ機能とファクス機能との少なくとも一方を含んでもよい。このように複数の機能を有する印刷装置は、複合機(MFP:multifunction printer)と呼ばれてもよい。これに代えて、印刷装置120、121は、印刷機能のみを有する専用機(SFP:Single Function Peripheral)であってもよい。印刷は、紙などのシート状の記録媒体に対する印刷であってもよいし、立体物の成形(いわゆる3次元印刷)であってもよい。
【0012】
印刷サーバ130は、情報処理装置110によって生成された印刷ジョブに従って、何れかの印刷装置(例えば、印刷装置120)に印刷ジョブを送信するプリントサービスを提供する。例えば、印刷サーバ130は、論理プリンタを情報処理装置110に提供し、論理プリンタに対する印刷ジョブを受け付ける。論理プリンタとは、印刷サーバ130によって提供される仮想的な印刷装置(例えば、プリンタオブジェクト)のことである。論理プリンタは、クラウドプリンタとも呼ばれうる。情報処理装置110は、印刷装置120、121と同様に、論理プリンタについても印刷キューを生成できる。論理プリンタと対比して、印刷装置120、121のような物理的な印刷装置は、物理プリンタとも呼ばれうる。物理プリンタは、印刷ジョブを投入する情報処理装置と同一のLANに接続されている場合に、ローカルプリンタとも呼ばれうる。以下の説明において、論理プリンタと物理プリンタとを総称して単にプリンタと表す。
【0013】
印刷サーバ130は、広域ネットワーク103に接続されたオンプレミス環境内のサーバであってもよいし、クラウドコンピューティング環境(以下、単にクラウドと表す)内のサーバであってもよい。クラウド内の印刷サーバ130によって提供されるプリントサービスは、クラウドプリントサービス(以下、CPSと呼ぶ)と呼ばれてもよい。クラウドプリントサービスの一例として、Microsoft(登録商標)社が提供するUniversal Print(登録商標)がある。以下の説明において、印刷サーバ130がクラウド内にある場合について説明する。しかし、印刷サーバ130がオンプレミス環境内にある場合についても以下の説明が同様に当てはまる。
【0014】
情報処理装置110は、情報処理装置110のユーザに印刷機能を提供する。情報処理装置110は、同一のLAN101に接続された物理プリンタ(例えば、印刷装置120)を出力先として指定してもよいし、印刷サーバ130によって提供される論理プリンタを出力先として指定してもよい。論理プリンタが出力先として指定された場合に、論理プリンタに関連付けられた物理プリンタ(例えば、印刷装置120)が印刷を行う。CPSを利用する情報処理装置110は、クライアントやクライアント端末と呼ばれてもよい。論理プリンタに印刷ジョブを投入することによって行われる印刷は、クラウドプリントとも呼ばれうる。クラウドプリントによる印刷は、情報処理装置110と同一のLAN101に接続された印刷装置120によって実行されてもよいし、LAN101に接続されていない印刷装置121によって実行されてもよい。物理プリンタに印刷ジョブを直接に(すなわち、LAN内で)投入することによって行われる印刷は、ローカルプリントとも呼ばれうる。
【0015】
[コンピュータのハードウェア構成例]
図2を参照して、本実施形態に係るコンピュータ200のハードウェア構成例について説明する。コンピュータ200は、情報処理装置110として使用されてもよいし、印刷サーバ130として使用されてもよい。コンピュータ200は、図2に示される構成要素を有してもよい。
【0016】
中央演算処理ユニット(CPU)201は、コンピュータ200の全体的な動作を制御する汎用処理回路である。ランダムアクセスメモリ(RAM)202は、揮発性のメモリ回路であり、CPU201による処理のためのワークエリア等の一時記憶領域として使用される。リードオンリメモリ(ROM)203は、不揮発性のメモリ回路であり、CPU201の処理で使用されるプログラムやデータを記憶する。記憶装置204は、不揮発性の記憶装置であり、CPU201の処理で使用されるプログラムやデータを記憶する。記憶装置204は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)であってもよい。記憶装置204は、二次記憶装置とも呼ばれうる。コンピュータ200による動作は、記憶装置204からRAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。
【0017】
入力インタフェース(I/F)205は、入力装置210との間で信号を交換するためのI/Fである。入力装置210は、コンピュータ200のユーザから入力を取得する装置である。入力装置210は、例えばキーボード、タッチパネル、マイク、マウス、又はこれらの任意の組み合わせであってもよい。出力I/F206は、出力装置220との間で信号を交換するためのI/Fである。出力装置220は、コンピュータ200のユーザへ情報を提供する装置である。出力装置220は、例えばディスプレイ、スピーカ、又はこれらの任意の組み合わせであってもよい。ネットワークI/F207は、コンピュータ200の外部の装置と通信するためのI/Fである。CPU201、RAM202、ROM203、記憶装置204、入力I/F205、出力I/F206、及びネットワークI/F207のそれぞれはシステムバス208に接続されている。図2の例では、入力装置210及び出力装置220がコンピュータ200とは別個の装置として示されている。これに代えて、コンピュータ200が入力装置210及び出力装置220を含んでもよい。
【0018】
[印刷サーバの機能構成例]
図3を参照して、印刷サーバ130の機能構成例について説明する。印刷サーバ130は、図3に示される機能部を有してもよい。印刷サーバ130は、図3に示されていない機能部を有してもよい。図3の各機能部は、RAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。これに代えて、図3の機能部の一部又は全部は、特定用途向け集積回路(ASIC)のような専用処理回路によって実現されてもよい。
【0019】
登録制御部301は、論理プリンタを登録するための処理を行う。例えば、登録制御部301は、印刷装置からの登録開始要求に応じて、物理プリンタに関連付けられた論理プリンタを生成し、プリンタ情報311に登録する。プリンタ情報311に登録された論理プリンタは、情報処理装置110からプリンタとして認識される。論理プリンタに関連付けられた物理プリンタとは、論理プリンタに対して投入された印刷ジョブに従って印刷を行う物理プリンタのことであってもよい。論理プリンタは1つの物理プリンタのみに関連付けられてもよい。物理プリンタは1つの論理プリンタのみに関連付けられてもよいし、複数の論理プリンタに関連付けられてもよい。
【0020】
印刷制御部302は、論理プリンタに対する印刷ジョブに関連する処理を行う。例えば、印刷制御部302は、論理プリンタに対する印刷ジョブを情報処理装置110から受信し、これに基づいて、論理プリンタに関連付けられた物理プリンタに印刷ジョブを送信する。また、印刷制御部302は、印刷ジョブに関連するイベントを制御してもよい。印刷ジョブに関連するイベントは、例えば印刷ジョブの受信などを含んでもよい。印刷制御部302は、物理プリンタからイベント要求を受信したことに応じて、当該物理プリンタに関連するイベントを応答してもよい。
【0021】
プリンタ管理部303は、印刷サーバ130に登録されている論理プリンタに関する情報を、プリンタ情報311として管理する。プリンタ情報311は、論理プリンタに関連付けられた物理プリンタの能力情報、論理プリンタに一意に割り当てられたクラウドプリンタID、印刷ジョブがスプールされる印刷キューの情報、論理プリンタに関連付けられたデジタル証明書の情報などを含む。論理プリンタに関連付けられたデジタル証明書とは、論理プリンタに関連付けられた物理プリンタのデジタル証明書のことであってもよい。物理プリンタのデジタル証明書とは、物理プリンタが使用する秘密鍵及び公開鍵のペアについてのデジタル証明書のことであってもよい。以下において、論理プリンタに関連付けられたデジタル証明書を、単に論理プリンタのデジタル証明書と表すこともある。
【0022】
ジョブ管理部304は、情報処理装置110から受信した印刷ジョブに関する情報を、ジョブ情報312として管理する。ジョブ情報312は、印刷ジョブの情報や状態、印刷ジョブに含まれる印刷データなどを含む。
【0023】
署名部305は、物理プリンタの公開鍵に対してサーバ秘密鍵313を用いて電子署名を行うことによって、プリンタ証明書315を生成する。サーバ秘密鍵313は、印刷サーバ130によって使用される秘密鍵である。プリンタ証明書315は、物理プリンタが使用する秘密鍵とペアをなす公開鍵と、サーバ秘密鍵313を用いて印刷サーバ130によって行われた電子署名とを含むデジタル証明書である。
【0024】
記憶制御部310は、他の機能部からの指示に従って情報をRAM202や記憶装置204に記憶したり、RAM202や記憶装置204から情報を読み出したりする。本実施形態によれば、記憶制御部310は、プリンタ情報311、ジョブ情報312、サーバ秘密鍵313、サーバ公開鍵314、及びプリンタ証明書315を記憶する。サーバ公開鍵314は、サーバ秘密鍵313とペアをなす公開鍵である。記憶制御部310は、印刷サーバ130に登録されている複数の論理プリンタのそれぞれについて、プリンタ証明書315を記憶してもよい。
【0025】
[情報処理装置の機能構成例]
図4を参照して、情報処理装置110の機能構成例について説明する。情報処理装置110は、図4に示される機能部を有してもよい。情報処理装置110は、図4に示されていない機能部を有してもよい。図4の各機能部は、RAM202に読み出されたプログラムをCPU201が実行することによって実現されてもよい。これに代えて、図4の機能部の一部又は全部は、ASICのような専用処理回路によって実現されてもよい。
【0026】
入力取得部401は、入力I/F205を用いて情報処理装置110のユーザから入力を取得する。情報出力部402は、出力I/F206を用いて情報処理装置110のユーザへ情報を出力する。
【0027】
登録制御部403は、論理プリンタを印刷サーバ130に登録するための処理を行う。印刷制御部404は、プリンタによる印刷に関連する処理を行う。例えば、印刷制御部404は、情報処理装置110のユーザからの印刷指示に従って、印刷サーバ130に登録された論理プリンタに印刷ジョブを送信してもよい。印刷制御部404は、情報処理装置110のユーザからの印刷指示に従って、物理プリンタに直接に(すなわち、同一のLAN内で)印刷ジョブを送信してもよい。
【0028】
プリンタ管理部405は、情報処理装置110が印刷ジョブを投入可能なプリンタに関する情報を、プリンタ情報411として管理する。プリンタ情報411は、プリンタの能力情報や、プリンタのデジタル証明書の情報などを含む。暗号化通信部406は、他の装置(例えば、印刷装置120)との暗号化通信のための処理を行う。
【0029】
記憶制御部410は、他の機能部からの指示に従って情報をRAM202や記憶装置204に記憶したり、RAM202や記憶装置204から情報を読み出したりする。本実施形態によれば、記憶制御部410は、プリンタ情報411及びプリンタ証明書412を記憶する。プリンタ証明書412は、物理プリンタの公開鍵と、サーバ秘密鍵313を用いて印刷サーバ130によって行われた電子署名とを含むデジタル証明書である。
【0030】
[印刷装置のハードウェア構成例]
図5を参照して、本実施形態に係る印刷装置500のハードウェア構成例について説明する。印刷装置500は、印刷装置120として使用されてもよいし、印刷装置121として使用されてもよい。印刷装置500は、図5に示される構成要素を有してもよい。印刷装置500は物理的な印刷装置であるため、物理プリンタとも呼ばれうる。
【0031】
CPU501は、印刷装置500の全体的な動作を制御する汎用処理回路である。RAM502は、揮発性のメモリ回路であり、CPU501による処理のためのワークエリア等の一時記憶領域として使用される。ROM503は、不揮発性のメモリ回路であり、CPU501の処理で使用されるプログラムやデータを記憶する。記憶装置504は、不揮発性の記憶装置であり、CPU501の処理で使用されるプログラムやデータ(例えば、印刷ジョブ、画像データ、設定情報)を記憶する。記憶装置504は、例えばHDDやSSDであってもよい。記憶装置504は、二次記憶装置とも呼ばれうる。印刷装置500による動作は、記憶装置504からRAM502に読み出されたプログラムをCPU501が実行することによって実現されてもよい。
【0032】
プリンタI/F505は、プリンタエンジン520との間で信号を交換するためのI/Fである。プリンタエンジン520は、プリンタI/F505を通じて制御部510から供給された信号(例えば、画像信号や印刷コマンド)に基づいて印刷を行う。印刷は、トナーを紙に転写して定着させる電子写真方式の印刷であってもよいし、紙にインクを吐出することによって印刷するインクジェット方式の印刷であってもよいし、3次元印刷であってもよい。
【0033】
スキャナI/F506は、スキャナエンジン530との間で信号を交換するためのI/Fである。スキャナエンジン530は、原稿を読み取ることによって得られた信号(例えば、画像信号)を、スキャナI/F506を通じて制御部510に供給する。CPU501は、スキャナエンジン530から供給された画像信号を処理し、これによって得られた記録画像信号をプリンタエンジン520に供給してもよい。また、CPU501は、スキャナエンジン530から供給された画像信号に基づいて画像データを生成し、これを外部の装置へ送信してもよい。
【0034】
操作部I/F507は、操作部540との間で信号を交換するためのI/Fである。操作部540は、印刷装置500のユーザから入力を取得し、印刷装置500のユーザへ情報を提供する装置である。操作部540は、例えば表示パネル(例えば、液晶ディスプレイ)、スピーカ、タッチパネル、キーボード、ボタン、タッチスクリーン、又はこれらの任意の組み合わせで構成されてもよい。
【0035】
ネットワークI/F508は、印刷装置500の外部の装置と通信するためのI/Fである。CPU501、RAM502、ROM503、記憶装置504、プリンタI/F505、スキャナI/F506、操作部I/F507、及びネットワークI/F508によって制御部510が構成される。制御部510に含まれる各構成要素はシステムバス509に接続されている。
【0036】
[印刷装置の操作部の構成例]
図6を参照して、印刷装置500の操作部540の構成例について説明する。図6の例で、操作部540は、パネル状に形成された操作パネルとして構成されている。操作部540は、図6に示される構成要素を有してもよい。操作部540は、図6に示されていない構成要素を有してもよい。
【0037】
表示パネル601は、ユーザからの入力を取得するためのタッチパネルと、ユーザへの情報を表示するためのディスプレイ(例えば、液晶ディスプレイ)とが一体に形成されたタッチスクリーンである。図6の例で、表示パネル601は、ボタン602~604を表示している。ボタン602は、コピーモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン602にタッチしたことに応じて、表示パネル601にコピー操作画面を表示する。ボタン603は、FAXモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン603にタッチしたことに応じて、表示パネル601にFAX操作画面を表示する。ボタン604は、スキャナモードへの移行指示をユーザから取得するためのソフトボタンである。印刷装置500は、ユーザがボタン604にタッチしたことに応じて、表示パネル601にスキャナ操作画面を表示する。そのほか、表示パネル601には、ユーザとのやり取りを行うためのダイアログや、クラウドプリントのジョブリストが表示されてもよい。
【0038】
テンキー605は、数字等の入力をユーザから取得するための物理ボタンの集合である。ボタン606は、表示パネル601の表示内容を決定する指示などをユーザから取得するための物理ボタンである。方向キー607は、表示パネル601に表示されたメニューから項目を選択する指示などをユーザから取得するための物理ボタンである。ボタン608は、モノクロコピーの指示をユーザから取得するための物理ボタンである。ボタン609は、カラーコピーの指示をユーザから取得するための物理ボタンである。ボタン610は、処理を停止することの指示をユーザから取得するための物理ボタンである。ボタン611は、印刷装置500の設定などを行うためのメニュー画面を表示することの指示をユーザから取得するための物理ボタンである。ボタン612は、印刷装置500が受信している印刷ジョブの一覧などのような、印刷装置500の状況を表示することの指示をユーザから取得するための物理ボタンである。
【0039】
[印刷装置の機能構成例]
図7を参照して、印刷装置500の機能構成例について説明する。印刷装置500は、図7に示される機能部を有してもよい。印刷装置500は、図7に示されていない機能部を有してもよい。図7の各機能部は、RAM502に読み出されたプログラムをCPU501が実行することによって実現されてもよい。これに代えて、図7の機能部の一部又は全部は、ASICのような専用処理回路によって実現されてもよい。
【0040】
入力取得部701は、操作部I/F507を用いて印刷装置500のユーザから入力を取得する。情報出力部702は、操作部I/F507を用いて印刷装置500のユーザへ情報を出力する。画像処理部703は、印刷ジョブを印刷用の画像データにレンダリングする。印刷処理部704は、画像処理部703によってレンダリングされた画像データを印刷する。
【0041】
登録制御部705は、印刷装置500に関連付けられた論理プリンタを印刷サーバ130に登録するための処理を行う。プリンタ管理部706は、印刷装置500に関する情報を、プリンタ情報721として管理する。プリンタ情報721は、例えば印刷装置500の状態、印刷装置500の能力、印刷装置500に関連付けられた論理プリンタに対して印刷サーバ130によって一意に割り当てられたクラウドプリンタIDを含んでもよい。また、プリンタ情報721は、情報処理装置110が同一のLAN101内の印刷装置を識別するためのローカルプリンタIDを含んでもよい。
【0042】
クラウドプリント(CP)制御部707は、クラウドプリントに関する処理を行う。例えば、CP制御部707は、印刷サーバ130から受信した印刷データを画像処理部703に転送してもよい。また、CP制御部707は、印刷サーバ130へイベント要求を送信してもよい。
【0043】
ローカルプリント(LP)制御部708は、ローカルプリントに関する処理を行う。例えば、LP制御部708は、情報処理装置110からのプリンタ検索に応答してもよい。また、LP制御部708は、情報処理装置110から直接に受信した印刷データを画像処理部703に転送してもよい。
【0044】
暗号化通信部709は、他の装置(例えば、情報処理装置110)との暗号化通信のための処理を行う。例えば、暗号化通信部709は、公開鍵暗号方式で使用される秘密鍵と公開鍵とのペアを生成してもよい。さらに、暗号化通信部709は、他の装置との間にSSL(Secure Sockets Layer)セッションを確立してもよい。SSLは、TLS(Transport Layer Security)を含んでもよい。
【0045】
記憶制御部720は、他の機能部からの指示に従って情報をRAM502や記憶装置504に記憶したり、RAM502や記憶装置504から情報を読み出したりする。本実施形態によれば、記憶制御部720は、プリンタ情報721、プリンタ秘密鍵722、プリンタ公開鍵723、プリンタ証明書724、SSL秘密鍵725、SSL公開鍵726、及びSSL証明書727を記憶する。プリンタ秘密鍵722は、印刷装置500によって使用される秘密鍵である。プリンタ公開鍵723は、プリンタ秘密鍵722とペアをなす公開鍵である。プリンタ証明書724は、プリンタ公開鍵723と、サーバ秘密鍵313を用いて印刷サーバ130によって行われた電子署名とを含むデジタル証明書である。SSL秘密鍵725は、SSLセッションを確立するために使用される秘密鍵である。SSL公開鍵726は、SSL秘密鍵725とペアをなす公開鍵である。SSL証明書727は、SSL公開鍵726と、認証局によって行われた電子署名とを含むデジタル証明書である。認証局は、印刷サーバ130であってもよいし、他の認証局であってもよい。SSL秘密鍵725とSSL公開鍵726とのペアは、印刷装置500によって生成されたものであってもよいし、外部の装置によって生成され、印刷装置500にインストールされたものであってもよい。
【0046】
[クラウドプリントの全体的な処理シーケンス]
図8を参照して、クラウドプリントを行うための全体的な処理のシーケンスについて説明する。図8の例では、情報処理装置110が、印刷装置120を印刷サーバ130に登録し、印刷装置120に関連付けられた論理プリンタに印刷ジョブを投入する場合を扱う。印刷装置120を印刷サーバ130に登録するとは、印刷装置120に関連付けられた論理プリンタを印刷サーバ130に登録することであってもよい。以下の例で、印刷装置120は、情報処理装置110から印刷装置120を操作するためのウェブユーザインタフェース(UI)機能をサポートしているとする。また、情報処理装置110は、ウェブUIクライアント機能をサポートしているとする。情報処理装置110と印刷装置120と印刷サーバ130との間の相互の通信は、インターネットプリンティングプロトコル(IPP)を用いて行われてもよい。
【0047】
S801で、情報処理装置110の登録制御部403は、情報処理装置110のユーザからの指示に従って、印刷装置120へ登録開始要求を送信する。登録開始要求は、印刷装置120を印刷サーバ130に登録するための処理を開始することの要求であってもよい。登録開始要求は、情報処理装置110のウェブUIクライアント機能を用いて送信されてもよい。
【0048】
S802で、印刷装置120の登録制御部705は、情報処理装置110から登録開始要求を受信したことに応じて、印刷サーバ130へ登録開始要求を送信する。登録開始要求は、印刷装置120を印刷サーバ130に登録するための処理を開始することの要求であってもよい。
【0049】
S803で、印刷サーバ130の登録制御部301は、印刷装置120から登録開始要求を受信したことに応じて、印刷装置120へ登録開始応答を送信する。登録開始応答は、情報処理装置110のユーザが印刷サーバ130に印刷装置120を登録するための情報を入力するためのウェブページのURL(Uniform Resource Locator)を含む。
【0050】
S804で、印刷装置120の登録制御部705は、印刷サーバ130から登録開始応答を受信したことに応じて、情報処理装置110へ登録情報を送信する。登録情報は、登録開始応答に含まれるURLを含む。情報処理装置110の情報出力部402は、印刷装置120から登録情報を受信したことに応じて、ウェブページをユーザに向けて表示する。
【0051】
S805で、情報処理装置110の登録制御部403は、情報処理装置110のユーザがURLにアクセスし、登録に必要な情報を入力したことに応じて、登録承認要求を印刷サーバ130へ送信する。登録承認要求は、情報処理装置110のユーザのクラウドアカウントを含む。クラウドアカウントとは、印刷サーバ130を含むクラウドのテナントをユーザが利用するためのアカウントのことである。
【0052】
S806で、印刷サーバ130の登録制御部301は、登録承認要求に含まれるクラウドアカウントが、印刷サーバ130に印刷装置120を登録する権限を有するユーザのものであるかどうかを確認する。印刷サーバ130の登録制御部301は、ユーザが権限を有する場合に、登録承認応答を情報処理装置110へ送信する。登録承認応答は、情報処理装置110のユーザが、印刷装置120を登録する権限を有するユーザであることの確認結果を通知するメッセージであってもよい。
【0053】
S807で、印刷装置120のプリンタ管理部706は、印刷サーバ130から登録開始応答を受信したことに応じて、印刷サーバ130へ登録確認要求を送信する。登録確認要求は、印刷装置120を印刷サーバ130に登録することに関する要求であり、具体的に、印刷装置120を印刷サーバ130に登録することの要求であってもよい。登録確認要求は、証明書署名要求(CSR)を含む。CSRは、プリンタ公開鍵723に対して電子署名を行うことを印刷サーバ130に要求するためのメッセージである。CSRは、プリンタ公開鍵723と、プリンタ秘密鍵722を用いて行われた電子署名と、その他の申請に使用される情報とを含む。プリンタ秘密鍵722とプリンタ公開鍵723とのペアは、このステップにおいて生成されてもよいし、事前に(例えば、図8の処理の開始前に)生成されてもよい。
【0054】
S808で、印刷サーバ130のプリンタ管理部303は、印刷装置120から登録確認要求を受信したことに応じて、新たな論理プリンタを生成し、印刷装置120に関連付けて当該論理プリンタをプリンタ情報311に追加する。これによって、印刷装置120が印刷サーバ130に登録され、情報処理装置110は、論理プリンタを用いたクラウドプリントが可能となる。また、印刷サーバ130のプリンタ管理部303は、生成された論理プリンタに一意のクラウドプリンタIDを割り当て、このクラウドプリンタIDを論理プリンタに関連付けてプリンタ情報311に追加する。さらに、印刷サーバ130の署名部305は、CSRに含まれるプリンタ公開鍵723に対して電子署名を行うことによってプリンタ証明書315を作成し、論理プリンタに関連付けてプリンタ情報311に追加する。プリンタ情報311に追加されたクラウドプリンタID及びプリンタ公開鍵723は、印刷サーバ130の記憶制御部310によって記憶される。その後、印刷サーバ130の登録制御部301は、印刷装置120へ登録確認応答を送信する。登録確認応答は、印刷装置120のクラウドプリンタIDと、プリンタ証明書315とを含む。
【0055】
S809で、印刷装置120のCP制御部707は、印刷サーバ130から登録確認応答を受信したことに応じて、イベント要求を印刷サーバ130へ送信する。イベント要求は、印刷装置120に関するイベントが発生した場合に印刷装置120へ通知することの要求であってもよい。イベント要求は、印刷装置120に関連付けられた論理プリンタに対して印刷ジョブが投入されたことのイベントに関してもよい。
【0056】
S810で、情報処理装置110のプリンタ管理部405は、情報処理装置110のユーザからの指示に従って、印刷サーバ130へ情報要求を送信する。情報要求は、情報処理装置110のユーザが使用可能な論理プリンタに関する情報を求める要求であってもよい。情報要求は、情報処理装置110のユーザのクラウドアカウントを含む。
【0057】
S811で、印刷サーバ130のプリンタ管理部303は、情報処理装置110から情報要求を受信したことに応じて、情報処理装置110へ情報応答を送信する。情報応答は、情報処理装置110のユーザが利用可能な1つ以上の論理プリンタのそれぞれについて、クラウドプリンタIDと、プリンタ証明書315と、プリンタ属性とを含む。プリンタ証明書315は、論理プリンタに関連付けられたデジタル証明書である。情報処理装置110のプリンタ管理部405は、情報応答に基づいてプリンタ情報411を更新する。情報処理装置110の記憶制御部410は、受信したプリンタ証明書315をプリンタ証明書412として記憶する。
【0058】
S812で、情報処理装置110のプリンタ管理部405は、情報処理装置110のユーザからの指示に従って、印刷サーバ130へ印刷要求を送信する。印刷要求は、クラウドプリンタIDと、印刷ジョブと、情報処理装置110のユーザのクラウドアカウントとを含む。印刷ジョブは、印刷データと、印刷設定とを含んでもよい。印刷要求は、印刷要求に含まれるクラウドプリンタIDを有する論理プリンタに対して、印刷要求に含まれる印刷データを印刷することの要求であってもよい。
【0059】
S813で、印刷サーバ130の印刷制御部302は、情報処理装置110から印刷要求を受信したことに応じて、論理プリンタに関連付けられた印刷装置120へイベント応答を送信する。イベント応答は、S809で受信したイベント要求に対する応答である。イベント応答は、イベント要求で指定された種類のイベントが発生したことを通知するための応答である。
【0060】
S814で、印刷装置120のCP制御部707は、印刷サーバ130からイベント応答を受信したことに応じて、印刷サーバ130へ印刷ジョブ要求を送信する。印刷ジョブ要求は、印刷装置120が実行すべき印刷ジョブを求める要求であってもよい。
【0061】
S815で、印刷サーバ130の印刷制御部302は、印刷装置120から印刷ジョブ要求を受信したことに応じて、印刷装置120へ印刷ジョブ応答を送信する。印刷ジョブ応答は、クラウドアカウントと、印刷ジョブとを含む。その後、印刷装置120は、印刷サーバ130から印刷ジョブ応答を受信したことに応じて、印刷ジョブに基づいて印刷を行う。印刷装置120によって印刷サーバ130から受信される印刷ジョブ応答は、IPPのFetch-Job Responseであってもよい。
【0062】
図8の説明において、S801~S806における印刷装置120の登録と、S810~S815におけるクラウドプリントとは、同じユーザによって行われてもよいし、別のユーザによって行われてもよい。また、S807で、印刷装置120は、CSRを登録確認要求に含めているが、登録確認要求とは別にCSRを送信してもよい。例えば、印刷装置120は、CSRを登録確認要求以外のメッセージに含めてもよいし、CSRを単独で送信してもよい。S808で、印刷サーバ130は、プリンタ証明書を登録確認応答に含めているが、登録確認応答とは別にプリンタ証明書を送信してもよい。例えば、印刷サーバ130は、プリンタ証明書を登録確認応答以外のメッセージに含めてもよいし、プリンタ証明書を単独で送信してもよい。
【0063】
[印刷装置による登録処理の動作フロー]
図9を参照して、印刷装置500を印刷サーバ130に登録するための印刷装置500の動作例の詳細について説明する。以下の動作は、図8のS801~S808に対応する。図9の動作は、情報処理装置110から登録開始要求(図8のS801)を受信したことに応じて開始されてもよい。印刷装置500は、印刷装置120であってもよいし、印刷装置121であってもよいし、他の印刷装置であってもよい。
【0064】
S901で、印刷装置500の登録制御部705は、印刷サーバ130へ登録開始要求を送信し(図8のS802)、その応答として印刷サーバ130から登録開始応答を受信する(図8のS803)。上述のように、登録開始要求は、情報処理装置110のユーザが印刷装置500の登録処理を行うためのURLを含む。
【0065】
S902で、印刷装置500の登録制御部705は、情報処理装置110へ登録情報を送信する(図8のS804)。上述のように、登録情報は、S901で受信した登録開始応答に含まれるURLを含む。S903で、印刷装置500の暗号化通信部709は、プリンタ秘密鍵722及びプリンタ公開鍵723のペアを生成し、記憶制御部720がこれらを記憶する。
【0066】
S904で、印刷装置500の登録制御部705は、CSRを含む登録確認要求を印刷サーバ130へ送信し(図8のS807)、その応答として登録確認応答を受信する(図8のS808)。CSRは、プリンタ公開鍵723と、プリンタ秘密鍵722を用いて行われた電子署名と、その他の申請に使用される情報とを含む。登録確認応答は、クラウドアカウントIDと、デジタル証明書とを含む。このデジタル証明書は、プリンタ公開鍵723と、印刷サーバ130によって行われた電子署名とを含む。
【0067】
S905で、印刷装置500の記憶制御部720は、登録確認応答に含まれるデジタル証明書を、プリンタ証明書724として記憶する。プリンタ証明書724は、プリンタ秘密鍵722及びプリンタ公開鍵723と関連付けて記憶される。
【0068】
S906で、印刷装置500の暗号化通信部709は、今後のSSL暗号化通信に使用するデジタル証明書として、プリンタ証明書724を設定する。これによって、S906以降に、暗号化通信部709は、プリンタ証明書724を用いて暗号化通信路を確立する。具体的に、SSLの暗号化通信路を確立するためのハンドシェイク処理において、印刷装置500から通信相手にプリンタ証明書724が送信される。S906の実行前に、SSL暗号化通信に使用するデジタル証明書として、SSL証明書727が設定されていてもよい。プリンタ証明書724は、印刷サーバ130から印刷装置500の登録が解除された場合に、印刷装置500から削除されてもよい。この場合に、SSL暗号化通信に使用するデジタル証明書として、SSL証明書727が設定されてもよい。SSL暗号化通信に使用するデジタル証明書として、SSL証明書727が設定されている場合に、暗号化通信部709は、SSL証明書727を用いて暗号化通信路を確立する。
【0069】
[ローカルプリントの全体的な処理シーケンス]
図10を参照して、ローカルプリントを行うための全体的な処理のシーケンスについて説明する。図10の動作の開始前に、印刷装置120は図9の動作を完了しているとする。情報処理装置110と印刷装置120との間の相互の通信は、IPPを用いて行われてもよい。また、情報処理装置110と印刷装置120との間の相互の通信は、LAN101内で行われる。そのため、LAN101が広域ネットワーク103にアクセスできない場合であっても、図10の処理は実行可能である。
【0070】
S1001で、情報処理装置110の登録制御部403は、例えばユーザからの指示に従って、LAN101に接続された装置に向けてプリンタ検索要求を送信する。プリンタ検索要求は、LAN101内に接続されている印刷装置に応答を要求するメッセージである。S1002で、LAN101に接続されている印刷装置120のLP制御部708は、プリンタ検索要求に応答して、プリンタ検索応答を情報処理装置110へ送信する。プリンタ検索応答は、印刷装置120のIP(インターネットプロトコル)アドレスを含む。情報処理装置110は、プリンタ検索応答を受信することによって、LAN101内の印刷装置を発見できる。S1002で複数の印刷装置が情報処理装置110へプリンタ検索応答を送信した場合に、複数の印刷装置のそれぞれについて後続のS1003~S1008が実行されてもよい。
【0071】
S1003~S1006で、SSL暗号化通信路を確立するためのハンドシェイク処理が行われる。S1003で、情報処理装置110の暗号化通信部406は、Client Helloメッセージを印刷装置120へ送信する。S1004で、印刷装置120の暗号化通信部709は、Client Helloメッセージを受信したことに応じて、Server Helloメッセージ、Server Certificateメッセージなどを情報処理装置110へ送信する。Server Certificateメッセージは、記憶制御部720によって記憶されているプリンタ証明書724を含む。
【0072】
S1005で、情報処理装置110の暗号化通信部406は、印刷装置120からのメッセージの送信が終了したことに応じて、Client Key Exchangeメッセージなどを印刷装置120へ送信する。Client Key Exchangeメッセージは、情報処理装置110によって生成された共通鍵を含む。S1006で、印刷装置120の暗号化通信部709は、情報処理装置110からのメッセージの送信が終了したことに応じて、Change Cipher Specメッセージなどを情報処理装置110へ送信する。印刷装置120からのメッセージの送信が終了したことに応じて、情報処理装置110と印刷装置120との間で共通鍵が共有される。S1006より後に情報処理装置110と印刷装置120との間で交換されるデータは、この共通鍵を用いて暗号化される。
【0073】
S1007で、情報処理装置110の登録制御部403は、暗号化通信路が確立されたことに応じて、印刷装置120へプリンタ情報要求を送信する。プリンタ情報要求は、印刷装置120の情報を求めるメッセージである。S1008で、印刷装置120のLP制御部708は、情報処理装置110からプリンタ情報要求を受信したことに応じて、プリンタ情報応答を情報処理装置110へ送信する。プリンタ情報応答は、印刷装置120のローカルプリンタIDと、印刷装置120のプリンタ属性とを含む。ローカルプリンタIDは、例えば印刷装置120の管理者によって印刷装置120に割り当てられた識別情報である。
【0074】
S1009で、情報処理装置110の印刷制御部404は、例えばユーザからの指示に従って、印刷装置120に印刷要求を送信する。印刷要求は、印刷データ及び印刷設定を含む印刷ジョブを含んでもよい。印刷要求は、IPPのPrint-Job Requestであってもよい。S1010で、印刷装置120のLP制御部708は、情報処理装置110から印刷要求を受信したことに応じて、印刷ジョブに従って印刷を行い、その結果を含む印刷応答を情報処理装置110へ送信する。
【0075】
[情報処理装置のローカルプリンタの登録フロー]
図11を参照して、印刷装置120を物理プリンタとして情報処理装置110に登録するための情報処理装置110の動作例の詳細について説明する。以下の動作は、図10のS1001~S1008に対応する。図11の動作は、情報処理装置110のユーザからローカルプリンタの追加の指示を受けたことに応じて開始されてもよい。
【0076】
S1101で、情報処理装置110の登録制御部403は、LAN101に接続された装置へプリンタ検索要求を送信する(図10のS1001)。S1102で、情報処理装置110の登録制御部403は、プリンタ検索応答を受信したかどうかを判定する。情報処理装置110の登録制御部403は、プリンタ検索応答を受信したと判定された場合(S1102で「YES」)に処理をS1103に遷移し、それ以外の場合(S1102で「NO」)に処理を終了する。プリンタ検索応答を受信しなかったと判定された場合に、情報処理装置110の情報出力部402は、印刷装置が発見されなかったことをユーザに通知してもよい。
【0077】
S1103で、情報処理装置110の暗号化通信部406は、プリンタ検索応答を送信した印刷装置120との間に暗号化通信路を確立する(図10のS1003~S1006)。暗号化通信路を確立するための動作において、情報処理装置110の暗号化通信部406は、印刷装置120からプリンタ証明書724を取得する(図10のS1004)。上述のように、プリンタ証明書724は、印刷サーバ130によって行われた電子署名を含む。
【0078】
S1104で、情報処理装置110の登録制御部403は、暗号化通信路を通じて、プリンタ情報要求を印刷装置120へ送信し(図10のS1007)、その応答として、プリンタ情報応答を受信する(図10のS1008)。
【0079】
S1105で、情報処理装置110の登録制御部403は、S1103で受信したプリンタ証明書724が、記憶制御部410によって記憶されている1つ以上の論理プリンタのプリンタ証明書412と一致するかどうかを判定する。情報処理装置110の登録制御部403は、プリンタ証明書724が何れかのプリンタ証明書412と一致すると判定された場合(S1105で「YES」)に処理をS1106に遷移し、それ以外の場合(S1105で「NO」)に処理をS1107に遷移する。
【0080】
S1106で、情報処理装置110のプリンタ管理部405は、S1105で証明書が一致すると判定された論理プリンタに関連付けて、プリンタ情報411に印刷装置120を登録する。S1107で、情報処理装置110のプリンタ管理部405は、何れの論理プリンタにも関連付けずに、プリンタ情報411に印刷装置120を登録する。
【0081】
[情報処理装置のプリンタ情報]
図12を参照して、情報処理装置110によって管理されるプリンタ情報411の具体例について説明する。図12の例で、プリンタ情報411は、テーブル形式で記憶されている。プリンタ情報411の各レコードは、プリンタを表す。上述のように、プリンタは、印刷サーバ130によって提供される論理プリンタであってもよいし、物理プリンタであってもよい。論理プリンタと物理プリンタとが互いに関連付けられている場合に、これらのプリンタの情報は1つのレコードで管理される。
【0082】
カラム1201は、プリンタの名称を表す。カラム1202は、プリンタの属性を表す。カラム1203は、印刷サーバ130によって論理プリンタに割り当てられたクラウドプリンタIDを表す。プリンタが論理プリンタでない場合に、カラム1203はブランクとなる。カラム1204は、プリンタのデジタル証明書を表す。カラム1205は、物理プリンタのローカルプリンタIDを表す。プリンタが物理プリンタとして情報処理装置110に登録されていない場合に、カラム1205はブランクとなる。
【0083】
情報処理装置110のプリンタ管理部405は、図8のS811で印刷サーバ130から情報応答を受信したことに応じて、情報応答に基づいてプリンタ情報411に新たなレコードを生成する。具体的に、情報処理装置110のプリンタ管理部405は、このレコードのカラム1202~1204に、情報応答に含まれるプリンタ属性、クラウドプリンタID、プリンタ証明書をそれぞれ登録する。情報処理装置110のプリンタ管理部405は、このレコードのカラム1201に、プリンタ属性に基づく名称を登録してもよいし、ユーザの指示に基づく名称を登録してもよい。図12の例では、レコード1211及び1213が論理プリンタの情報を表す。
【0084】
情報処理装置110のプリンタ管理部405は、図11のS1105で、印刷装置120から取得したプリンタ証明書が、プリンタ情報411のカラム1204に表される何れかのデジタル証明書に一致するかどうかを判定する。例えば、印刷装置120から取得したプリンタ証明書が、レコード1213のデジタル証明書と一致したとする。この場合に、情報処理装置110のプリンタ管理部405は、レコード1213のカラム1205に、S1104で取得した印刷装置120のローカルプリンタIDを登録する。これによって、レコード1213が表すプリンタは、論理プリンタ及び物理プリンタの両方として登録される。これに代えて、印刷装置120から取得したプリンタ証明書が、何れのレコードのデジタル証明書とも一致しなかったとする。この場合に、情報処理装置110のプリンタ管理部405は、新たなレコード(例えば、レコード1212)を生成し、このレコードのカラム1202、1205に、S1104で取得したプリンタ属性、ローカルプリンタIDをそれぞれ登録する。また、情報処理装置110のプリンタ管理部405は、このレコードのカラム1204に、S1103で取得したプリンタ証明書を登録する。さらに、情報処理装置110のプリンタ管理部405は、このレコードのカラム1201に、プリンタ属性に基づく名称を登録してもよいし、ユーザの指示に基づく名称を登録してもよい。
【0085】
以上のように生成されたプリンタ情報411において、レコード1211は、クラウドプリントのみをサポートするプリンタの情報を表す。レコード1212は、ローカルプリントのみをサポートするプリンタの情報を表す。レコード1213は、クラウドプリントとローカルプリントとの両方をサポートするプリンタの情報を表す。
【0086】
[情報処理装置の印刷フロー]
図13を参照して、情報処理装置110がクラウドプリントを実行する動作例の詳細について説明する。図13の動作は、情報処理装置110のユーザからクラウドプリントの指示を受けたことに応じて開始されてもよい。ユーザからの指示は、クラウドプリントを実行する論理プリンタを指定する。
【0087】
S1301で、情報処理装置110の印刷制御部404は、ユーザによって指定されたクラウドプリンタIDを有する論理プリンタに対する印刷要求を印刷サーバ130へ送信する(図8のS812)。S1302で、情報処理装置110の印刷制御部404は、印刷要求の送信に成功したかどうかを判定する。情報処理装置110の印刷制御部404は、印刷要求の送信に成功したと判定された場合(S1302で「YES」)に処理を終了し、それ以外の場合(S1302で「NO」)に処理をS1303に遷移する。印刷要求の送信に成功したと判定された場合には、そのままクラウドプリントが実行される。例えば、印刷サーバ130によるCPSが停止している場合や、広域ネットワーク103のネットワーク障害などによって印刷サーバ130にアクセスできない場合に、印刷要求の送信に失敗しうる。
【0088】
論理プリンタに印刷ジョブを投入できない場合に、S1303で、情報処理装置110の印刷制御部404は、ユーザによって指示された論理プリンタに関連付けられた物理プリンタがプリンタ情報411に登録されているかどうかを判定する。情報処理装置110の印刷制御部404は、このような物理プリンタが登録されていると判定された場合(S1303で「YES」)に処理をS1303に遷移し、それ以外の場合(S1303で「NO」)に処理を終了する。処理を終了する場合に、情報処理装置110の情報出力部402は、印刷に失敗したことをユーザに通知してもよい。
【0089】
S1304で、情報処理装置110の印刷制御部404は、印刷要求を送信した論理プリンタに関連付けられていると判定された物理プリンタに向けて印刷要求を送信する。ここで送信される印刷要求は、S1301で送信された印刷要求と同じ内容であってもよい。
【0090】
以上のように、情報処理装置110は、印刷サーバ130から受信したプリンタ証明書412と、印刷装置120から受信したプリンタ証明書724との比較結果に基づいて、印刷装置120が論理プリンタに関連付けられているかどうかを判定する。プリンタ証明書412とプリンタ証明書724とはいずれも印刷サーバ130の電子署名を含むため、これらのデジタル証明書を偽造することは困難である。そのため、情報処理装置110は、論理プリンタに関連付けられた物理プリンタを安全に特定できる。また、SSL暗号化通信路を確立するための処理において印刷装置120から情報処理装置110にプリンタ証明書が提供されるため、プリンタ証明書を提供するための特別なメッセージを規定する必要がない。
【0091】
<第2実施形態>
図14を参照して、第2実施形態に係る印刷システムについて説明する。第1実施形態と同様であってもよい内容については重複する説明を省略する。第1実施形態では、図9のS906で、印刷装置500の暗号化通信部709は、今後のSSL暗号化通信に使用するデジタル証明書として、プリンタ証明書724を使用することを設定する。第2実施形態で、印刷装置500は、SSL暗号化通信に使用するデジタル証明書を印刷装置500のユーザに問い合わせる。
【0092】
図14(a)は、印刷装置500に関連付けられた論理プリンタが印刷サーバ130に登録されていない場合に印刷装置500によってユーザに提示される画面1401を示す。例えば、画面1401は、印刷装置500が印刷サーバ130からプリンタ証明書を取得する前や、印刷装置500に関連付けられた論理プリンタの登録が解除された場合に表示される。画面1401は、表示パネル601に表示されてもよい。画面1401の例では、SSL暗号化通信に使用可能なデジタル証明書がSSL証明書727だけであることを示す。
【0093】
図14(b)は、印刷装置500に関連付けられた論理プリンタが印刷サーバ130に登録されている場合に印刷装置500によってユーザに提示される画面1402を示す。画面1402は、表示パネル601に表示されてもよい。画面1402の例では、SSL暗号化通信に使用可能なデジタル証明書がプリンタ証明書724及びSSL証明書727であることを示す。印刷装置500の入力取得部701は、プリンタ証明書724とSSL証明書との何れを用いて暗号化通信路を確立するかに関する指示を印刷装置500のユーザから取得する。印刷装置500の暗号化通信部709は、印刷装置500のユーザによって指定されたデジタル証明書を用いて、SSL暗号化通信を行う。
【0094】
<第3実施形態>
図15を参照して、第3実施形態に係る印刷システムについて説明する。第1実施形態と同様であってもよい内容については重複する説明を省略する。第1実施形態では、図9のS906で、印刷装置500の暗号化通信部709は、今後のSSL暗号化通信に使用するデジタル証明書として、プリンタ証明書724を使用することを設定する。しかし、印刷装置500がSSL暗号化通信を使用する他の機能を有する場合に、これらの機能に使用するデジタル証明書をプリンタ証明書724に変更しない方がよい場合がありうる。例えば、ユーザが独自に生成した鍵及びデジタル証明書を印刷装置500にインストールし、このデジタル証明書をSSL暗号化通信に使用している場合などである。
【0095】
本実施形態で、印刷装置500の暗号化通信部709は、ポート番号に基づいて、SSL暗号化通信に使用するデジタル証明書を決定する。暗号化通信部709は、SSL証明書727を用いて確立する暗号化通信路について443番ポートを使用し、プリンタ証明書724を用いて確立する暗号化通信路について、443番とは異なるポート番号、例えば10443番ポートを使用する。
【0096】
例えば、図10のS1001で、情報処理装置110は、Multicast Domain Name System(mDNS)を用いてプリンタ検索要求を送信してもよい。S1002で、印刷装置500は、このプリンタ検索要求に対するプリンタ検索応答に、ポート番号として、10443番を含める。例えば、印刷装置500は、プリンタ検索応答に、図15に含まれるSRVレコード1501を含める。mDNSのSRVレコードはサービスごとに構成される。
【0097】
レコード1501の属性は、サービス名(Service)、使用されるプロトコル(Protocol)、ドメイン名(Name)、ポート番号(Port)、サービス対象のホスト名(Target)を含む。レコード1501では、使用されるプロトコルとして、IPP over SSL(IPPS)を示す"_ipps"が設定されている。レコード1501では、ポート番号として、10443番ポートが設定されている。
【0098】
このレコード1501を受信した情報処理装置110は、印刷装置500とのSSL暗号化通信に10443番ポートを使用する。印刷装置500は10443番ポートを宛先とするSSL暗号化通信にプリンタ証明書724を使用し、443番ポートを宛先とするSSL暗号化通信にSSL証明書727を使用する。これによって、既存のSSL暗号化通信に使用されるデジタル証明書が変更されない。
【0099】
<第4実施形態>
図16を参照して、第4実施形態に係る印刷システムについて説明する。第1実施形態と同様であってもよい内容については重複する説明を省略する。上述の第3実施形態では、異なるポート番号を使用することによって、SSL暗号化通信に使用するデジタル証明書を使い分ける。しかし、プリンタ証明書724を使用するSSL暗号化通信にも443番ポートを使用したい場合がある。
【0100】
本実施形態では、SSL通信において1つのサーバが複数のデジタル証明書を使い分けるための技術であるServer Name Indication(SNI)という機能が使用される。例えば、情報処理装置110は、図10のS1001で、mDMSによってプリンタ検索要求を送信する。印刷装置500は、S1002で、プリンタ検索応答に含めるSRVレコードのサービス対象のホスト名(Target)に、印刷装置500のホスト名として、"iRC3500-1.local"を設定する。S1003で、情報処理装置110は、拡張情報を含むClient Helloメッセージを送信する。
【0101】
図16(a)は、拡張情報1601の一例を示す。拡張情報1601の"Server Name"には、情報処理装置110が接続しようとしているサーバ(印刷装置500)の名称が設定される。情報処理装置110は、サーバの名称として、S1002で取得したホスト名("iRC3500-1.local")を設定する。S1003で、印刷装置500は、ホスト名が"iRC3500-1.local"である場合に、プリンタ証明書724を送信し、それ以外のホスト名である場合に、SSL証明書727を送信する。これによって、暗号化通信路の確立時にクライアントが指定するホスト名に基づいて使用するデジタル証明書を決定できるため、既存のSSL暗号化通信に使用されるデジタル証明書が変更されない。
【0102】
上述の例では、情報処理装置110は、印刷装置500から受信したプリンタ検索応答から印刷装置500のホスト名を取得する。これに代えて、情報処理装置110は、印刷装置500のホスト名を印刷サーバ130から取得してもよい。例えば、印刷サーバ130は、印刷装置500から、プリンタ証明書724を使用するホスト名を取得する。ホスト名は、図8のS802の登録開始要求に含まれてもよいし、S807の登録確認要求に含まれてもよいし、他のメッセージに含まれてもよい。印刷装置500は、CPSへの登録が完了すると、IPPに従って、図16(b)に示されるupdate-output-device-attributesメッセージ1602を送信してもよい。印刷装置500は、このメッセージの「printer-dns-name」属性に、プリンタ証明書724を使用することを示すホスト名("iRC3500-1.local")を含めてもよい。印刷サーバ130は、このホスト名を情報処理装置110に提供する。ホスト名は、S811の情報応答に含まれてもよいし、他のメッセージに含まれてもよい。
【0103】
<実施形態のまとめ>
[項目1]
印刷装置であって、
印刷サーバから第1印刷ジョブを受信する第1受信手段と、
情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信手段と、
前記第1印刷ジョブに基づく印刷と、前記第2印刷ジョブに基づく印刷とを行う印刷手段と、
秘密鍵及びデジタル証明書を記憶する記憶手段と、
前記情報処理装置へ前記ローカルエリアネットワーク内で前記デジタル証明書を送信する送信手段と、を備え、
前記デジタル証明書は、前記秘密鍵とペアをなす公開鍵と、前記印刷サーバによって行われた電子署名とを含む、印刷装置。
[項目2]
前記第1受信手段は、インターネットプリンティングプロトコル(IPP)を用いて前記印刷サーバから前記第1印刷ジョブを受信し、
前記第2受信手段は、IPPを用いて前記情報処理装置から前記第2印刷ジョブを受信する、項目1に記載の印刷装置。
[項目3]
前記印刷装置を前記印刷サーバに登録することに関する要求を前記印刷サーバへ送信する要求手段をさらに備え、
前記要求は、前記公開鍵を含み、
前記デジタル証明書は、前記要求に対する応答に含まれる、項目1又は2に記載の印刷装置。
[項目4]
前記デジタル証明書を用いて暗号化通信路を確立する暗号化通信手段をさらに備える、項目1乃至3の何れか1項に記載の印刷装置。
[項目5]
前記デジタル証明書は、第1デジタル証明書であり、
前記記憶手段は、第2デジタル証明書をさらに記憶し、
前記暗号化通信手段は、前記第2デジタル証明書を用いて暗号化通信路をさらに確立する、項目4に記載の印刷装置。
[項目6]
前記第1デジタル証明書と前記第2デジタル証明書との何れを用いて暗号化通信路を確立するかに関する指示をユーザから取得する取得手段をさらに備える、項目5に記載の印刷装置。
[項目7]
前記第2受信手段は、前記第1デジタル証明書を用いて確立された暗号化通信路を通じて前記情報処理装置から前記第2印刷ジョブを受信する、項目5又は6に記載の印刷装置。
[項目8]
前記暗号化通信手段は、
前記第1デジタル証明書を用いて確立する暗号化通信路について、第1ポート番号を使用し、
前記第2デジタル証明書を用いて確立する暗号化通信路について、前記第1ポート番号とは異なる第2ポート番号を使用する、項目5に記載の印刷装置。
[項目9]
前記暗号化通信手段は、暗号化通信路の確立時に取得したホスト名に基づいて、前記第1デジタル証明書と前記第2デジタル証明書との何れを用いるかを決定する、項目5に記載の印刷装置。
[項目10]
項目1乃至9の何れか1項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
[項目11]
印刷装置の制御方法であって、
印刷サーバから第1印刷ジョブを受信する第1受信工程と、
前記第1印刷ジョブに基づく印刷を行う第1印刷工程と、
情報処理装置からローカルエリアネットワーク内で第2印刷ジョブを受信する第2受信工程と、
前記第2印刷ジョブに基づく印刷を行う第2印刷工程と、
秘密鍵及びデジタル証明書を記憶する記憶工程と、
前記情報処理装置へ前記ローカルエリアネットワーク内で前記デジタル証明書を送信する送信工程と、を有し、
前記デジタル証明書は、前記秘密鍵とペアをなす公開鍵と、前記印刷サーバによって行われた電子署名とを含む、制御方法。
[項目12]
情報処理装置であって、
論理プリンタを提供する印刷サーバから、前記論理プリンタに関連付けられた第1デジタル証明書を受信する第1受信手段と、
印刷装置から、前記印刷装置の公開鍵を含む第2デジタル証明書を受信する第2受信手段と、
前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて、前記印刷装置が前記論理プリンタに関連付けられているかどうかを判定する判定手段と、を備える、情報処理装置。
[項目13]
前記第1デジタル証明書及び前記第2デジタル証明書のそれぞれは、前記印刷サーバによって行われた電子署名を含む、項目12に記載の情報処理装置。
[項目14]
前記論理プリンタに印刷ジョブを投入できない場合に、前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて前記論理プリンタに関連付けられていると判定された印刷装置に前記印刷ジョブを投入する投入手段をさらに備える、項目12又は13に記載の情報処理装置。
[項目15]
項目12乃至14の何れか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
[項目16]
情報処理装置の制御方法であって、
論理プリンタを提供する印刷サーバから、前記論理プリンタに関連付けられた第1デジタル証明書を受信する第1受信工程と、
印刷装置から、前記印刷装置の公開鍵を含む第2デジタル証明書を受信する第2受信工程と、
前記第1デジタル証明書と前記第2デジタル証明書との比較結果に基づいて、前記印刷装置が前記論理プリンタに関連付けられているかどうかを判定する判定工程と、を有する、制御方法。
【0104】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0105】
110 情報処理装置、120 印刷装置、130 印刷サーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16