(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】プリンタ及びプリンタのためのコンピュータプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20241106BHJP
B41J 29/38 20060101ALI20241106BHJP
【FI】
G06F3/12 329
G06F3/12 303
G06F3/12 388
G06F3/12 387
B41J29/38
(21)【出願番号】P 2020217547
(22)【出願日】2020-12-25
【審査請求日】2023-12-05
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】山本 亮
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2020-185730(JP,A)
【文献】特開2020-166372(JP,A)
【文献】特開2015-054412(JP,A)
【文献】特開2006-338582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00- 29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
プリンタであって、
印刷エンジンと、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が
前記無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第1の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第1の指示送信部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を前記印刷エンジンに実行させるエンジン制御部と、
を備える、プリンタ。
【請求項2】
前記第1の指示送信部は、さらに、前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った第2の通知指示を前記サーバに送信し、
前記第2の通知指示は、印刷ジョブのステータスが変更された旨の前記プリンタへの通知を前記サーバに実行させるための指示である、請求項
1に記載のプリンタ。
【請求項3】
前記プリンタは、さらに、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、問合画面を表示部に表示させる表示制御部であって、前記問合画面は、前記サービス状態を前記有効状態に移行させるのか否かを前記ユーザに問い合わせるための画面である、前記表示制御部を備え、
前記第2の状態制御部は、前記問合画面において、前記サービス状態を前記有効状態に移行させることが前記ユーザによって選択される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させ、
前記問合画面において、前記サービス状態を前記有効状態に移行させないことが前記ユーザによって選択される場合に、前記サービス状態は前記無効状態に維持される、請求項1
または2に記載のプリンタ。
【請求項4】
前記プリンタは、さらに、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得され、かつ、前記問合画面において、前記サービス状態を前記有効状態に移行させることが前記ユーザによって選択される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第1の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第1の指示送信部と、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得され、かつ、前記問合画面において、前記サービス状態を前記有効状態に移行させないことが前記ユーザによって選択される場合に、前記第1の通知指示を前記サーバに送信することなく、前記受付指示を前記サーバに送信する第2の指示送信部と、
を備える、請求項
3に記載のプリンタ。
【請求項5】
前記プリンタは、さらに、
前記サービス状態が前記有効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第3の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第3の指示送信部を備える、請求項1から
4のいずれか一項に記載のプリンタ。
【請求項6】
プリンタであって、
印刷エンジンと、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、問合画面を表示部に表示させる表示制御部であって、前記問合画面は、前記サービス状態を前記有効状態に移行させるのか否かを前記ユーザに問い合わせるための画面である、前記表示制御部と、
前記問合画面において、前記サービス状態を前記有効状態に移行させることが前記ユーザによって選択される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部
であって、前記問合画面において、前記サービス状態を前記有効状態に移行させないことが前記ユーザによって選択される場合に、前記サービス状態は前記無効状態に維持される、前記第2の状態制御部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を前記印刷エンジンに実行させるエンジン制御部と、
を備える、プリンタ。
【請求項7】
プリンタであって、
印刷エンジンと、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が
前記無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を前記印刷エンジンに実行させるエンジン制御部と、
前記サービス状態が前記有効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第3の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第3の指示送信部と、
を備える、プリンタ。
【請求項8】
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が
前記無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第1の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第1の指示送信部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を印刷エンジンに実行させるエンジン制御部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書が開示する技術は、サーバから印刷ジョブを受信するプリンタに関する。
【背景技術】
【0002】
特許文献1には、プリンタとサーバとを備えるクラウドプリントシステムが開示されている。プリンタは、印刷ジョブがサーバに追加される場合に、サーバから印刷ジョブを受信して印刷を実行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、プリンタがサーバから印刷ジョブを適切に受信するための技術を開示する。
【課題を解決するための手段】
【0005】
本明細書によって開示されるプリンタは、印刷エンジンと、サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、前記サービス状態が無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を前記印刷エンジンに実行させるエンジン制御部と、を備えてもよい。
【0006】
上記の構成によると、プリンタは、サービス状態が無効状態である状況において、登録指示を取得する場合に、ユーザから所定指示を取得しなくても、サービス状態を無効状態から有効状態に移行させる。このために、プリンタ情報がサーバに登録されたにも関わらず、サービス状態が無効状態であることに起因して、プリンタがサーバから印刷ジョブを受信することができないという事象が発生するのを抑制することができる。従って、プリンタは、サーバから印刷ジョブを適切に受信することができる。
【0007】
上記のプリンタのためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、上記のプリンタによって実行される方法も新規で有用である。また、上記のプリンタとサーバとを備えるシステムも新規で有用である。
【図面の簡単な説明】
【0008】
【
図2】第1実施例のケースAのシーケンス図を示す。
【
図5】第1実施例のケースBのシーケンス図を示す。
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システムの構成;
図1)
図1に示されるように、通信システム2は、プリンタ10と端末50と印刷仲介サーバ100とを備える。各デバイス10,50,100は、インターネット6に接続されており、インターネット6を介して相互に通信可能である。
【0010】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば、端末50の周辺装置)である。変形例では、プリンタ10は、スキャン機能、FAX機能等を実行可能な多機能機であってもよい。プリンタ10には、プリンタ10を識別するためのプリンタID「P1」が割り当てられている。プリンタ10は、操作部12と、表示部14と、通信インターフェース16と、印刷エンジン18と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0011】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。通信I/F16は、インターネット6に接続されている。印刷エンジン18は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0012】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、さらに、サーバ100からIPP(Internet Printing Protocolの略)に従ったジョブ提供サービス(換言するとクラウド印刷サービス)を受けるためのサービス状態を記憶する。
【0013】
サービス状態は、プリンタ10がサーバ100からジョブを受信可能であることを示す「有効」と、プリンタ10がサーバ100からジョブを受信不可能であることを示す「無効」と、のいずれか一方を示す。以下では、メモリ34内のサービス状態が「有効」を示す状態、メモリ34内のサービス状態が「無効」を示す状態を、それぞれ、「プリンタ10のサービス状態が有効状態である」、「プリンタ10のサービス状態が無効状態である」と表現することがある。
【0014】
(端末50の構成)
端末50は、例えば、携帯電話、スマートフォン、PDA、ノートPC、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末50は、デスクトップPC等の据置型の端末装置であってもよい。端末50は、図示省略の操作部、表示部、通信I/F、制御部等を備える。
【0015】
(印刷仲介サーバ100の構成)
以下では、印刷仲介サーバ100のことを「サーバ100」と短縮して記載する。サーバ100は、クラウド印刷サービスを提供するサーバである。サーバ100は、プリンタ10のベンダとは異なる事業者(例えばクラウド印刷サービスを提供する事業者)によってインターネット6上に設置されるサーバである。変形例では、サーバ100は、プリンタ10のベンダによって設置されてもよい。サーバ100は、例えば端末50から画像データを受信する場合に、ジョブを生成し、当該ジョブをプリンタ10に送信する。ジョブは、画像データをプリンタ10が解釈可能なデータ形式に変換することによって生成される印刷データを含む。
【0016】
サーバ100は、通信I/F116と制御部130とを備える。各部116及び130は、バス線(符号省略)に接続されている。通信I/F116は、インターネット6に接続されている。
【0017】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ134は、さらに、プリンタテーブル138を記憶する。
【0018】
プリンタテーブル138は、プリンタIDと、アクセストークンと、accepting-jobsと、Subscriptionsと、を対応付けて記憶するテーブルである。アクセストークンは、プリンタ10とサーバ100との間でIPPに従ったリクエストが通信される際に、プリンタ10を認証するためにサーバ100によって利用される情報である。また、アクセストークンは、プリンタ10とサーバ100との間に常時接続を確立するために利用される。本実施例では、プリンタ10は、HTTP(Hyper Text Transfer Protocolの略)に従った持続的接続を利用して、常時接続のような挙動を実現する。変形例では、常時接続は、XMPP(eXtensible Messaging and Presence Protocolの略)に従った接続であってもよい。accepting-jobsは、IPPに従ったプリンタ属性を示す情報であり、具体的には、サーバ100が印刷要求を受け付けるのか否かを示す情報である。accepting-jobsは、印刷要求を受け付けることを示すyesと、印刷要求を受け付けないことを示すnoと、のいずれか一方を示す。ここで、「印刷要求を受け付ける」とは、サーバ100が印刷要求を受信することに応じてジョブを生成することを意味する。「印刷要求を受け付けない」とは、サーバ100が印刷要求を受信してもジョブを生成しないことを意味する。Subscriptionsは、サーバ100が監視して通知すべきイベントを示す情報である。
【0019】
(各デバイス10,50,100によって実行されるケースAの処理:
図2)
図2を参照して、ケースAの処理を説明する。ケースAは、プリンタ10のサービス状態が無効状態から有効状態に変更された後に、プリンタ10に関する情報をサーバ100に登録するケースである。なお、以下では、理解の容易化のために、各デバイスのCPU(例えばCPU32等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ10)を主体として記載する。また、各デバイス10,100によって実行される全ての通信は、通信I/F16,116を介して実行される。このため、以下では、「通信I/F16(又は116)を介して」という記載を省略する。
【0020】
端末50は、ユーザからの操作を受け付けることに応じて、プリンタ10内のウェブサーバにアクセスする。そして、端末50は、T100において、ユーザから設定変更操作を受け付けることに応じて、T102において、設定変更画面要求をプリンタ10に送信する。
【0021】
プリンタ10は、T102において、端末50から設定変更画面要求を受信すると、設定変更画面SC1を表わす設定変更画面データを端末50に送信する。
【0022】
端末50は、T104において、プリンタ10から設定変更画面データを受信すると、T106において、設定変更画面SC1を表示する。設定変更画面SC1は、クラウド印刷サービスに関する設定を実行するための画面であり、プリンタID「P1」と、サービス状態を有効に設定するためのチェック欄と、サービス状態を無効に設定するためのチェック欄と、OKボタンと、プリンタ10に関する情報をサーバ100に登録するための登録ボタンと、を含む。現時点ではプリンタ10のサービス状態が無効状態であるので、設定変更画面SC1では、無効のチェック欄にチェックが付されている。
【0023】
端末50は、T110において、ユーザから、設定変更画面SC1内の有効のチェック欄にチェックを入れる操作を受け付けた後に、OKボタンの選択を受け付ける。この場合、端末50は、T112において、有効化指示をプリンタ10に送信する。
【0024】
プリンタ10は、T112において、端末50から有効化指示を受信すると、T114において、サービス状態を無効状態から有効状態に移行させる。具体的には、プリンタ10は、メモリ34内のサービス状態を無効から有効に変更する。そして、プリンタ10は、T116において、完了画面SC2を表わす完了画面データを端末50に送信する。
【0025】
端末50は、T116において、プリンタ10から完了画面データを受信すると、T118において、完了画面SC2を表示する。完了画面SC2は、プリンタ10のサービス状態が変更されたことを示すメッセージを含む。このため、ユーザは、完了画面SC2を見ることによって、プリンタ10のサービス状態の変更が完了したことを確認することができる。
【0026】
(
図2の続き:
図3)
その後、
図2のT100~T106と同様の処理が実行される。現時点ではプリンタ10のサービス状態が有効状態であるので(
図2のT114参照)、
図3で引用する
図2のT106の設定変更画面SC1では、有効のチェック欄にチェックが付されている。端末50は、T200において、ユーザから、設定変更画面SC1内の登録ボタンの選択を受け付ける。この場合、端末50は、T210において、登録指示をプリンタ10に送信する。
【0027】
プリンタ10は、T210において、端末50から登録指示を受信すると、T212において、プリンタID「P1」を含む登録要求をサーバ100に送信する。
【0028】
サーバ100は、T212において、プリンタ10から登録要求を受信すると、T214において、PINコード「C」を生成する。なお、変形例では、PINコードに代えて、パスワードが利用されてもよい。そして、サーバ100は、登録要求に含まれるプリンタID「P1」と生成済みのPINコード「C」とを対応付けてメモリ134に記憶する。次いで、サーバ100は、T220において、PINコード「C」とログイン用URL(Uniform Resource Locatorの略)とをプリンタ10に送信する。ログイン用URLは、サーバ100内の後述の認証画面データの位置を示す情報である。
【0029】
プリンタ10は、T220において、サーバ100からPINコード「C」とURLとを受信すると、T222において、それらを端末50に送信する。
【0030】
端末50は、T222において、プリンタ10からPINコード「C」とURLとを受信すると、T230において、それらを表示する。次いで、端末50は、T232において、ユーザからURLを選択する操作を受け付けると、T240において、URLを含む認証要求をサーバ100に送信する。
【0031】
サーバ100は、T240において、端末50から認証要求を受信すると、T242において、認証要求に含まれるURLによって特定される認証画面データを端末50に送信する。認証画面データは、PINコードを入力するための認証画面を表わすデータである。
【0032】
端末50は、T242において、サーバ100から認証画面データを受信すると、T244において、認証画面を表示する。次いで、端末50は、T246において、ユーザから、T230で表示されたPINコード「C」の入力を受け付ける。この場合、端末50は、T250において、入力済みのPINコード「C」をサーバ100に送信する。
【0033】
サーバ100は、T250において、端末50からPINコード「C」を受信すると、T252において、受信済みのPINコード「C」の認証を実行する。具体的には、サーバ100は、受信済みのPINコード「C」を記憶済みであるのか否かを判断する。サーバ100は、受信済みのPINコード「C」を記憶済みであると判断する場合、即ち、認証が成功する場合に、T254において、ユニークな文字列であるアクセストークンAT1を生成する。そして、サーバ100は、T256において、T214で記憶されたプリンタID「P1」に対応付けて、生成済みのアクセストークンAT1をプリンタテーブル138に記憶する。その後、サーバ100は、T260において、生成済みのアクセストークンAT1を含む認証通知をプリンタ10に送信する。
【0034】
プリンタ10は、T260において、サーバ100から認証通知を受信すると、T262において、認証通知に含まれるアクセストークンAT1をメモリ34に記憶する。
【0035】
プリンタ10は、T270において、記憶済みのアクセストークンAT1を利用して、常時接続をサーバ100と確立する。サーバ100は、常時接続を利用すれば、プリンタ10から要求を受信しなくても、プリンタ10が所属するLANのファイヤウォールを越えて、プリンタ10に信号を送信することができる。即ち、常時接続は、サーバプッシュ型の通信を実行可能な接続である。プリンタ10のサービス状態が無効状態に移行されるまで、常時接続が維持される。
【0036】
プリンタ10は、T280~T284において、プリンタID「P1」を含む各種コマンドをサーバ100に送信する。T280のコマンドは、accepting-jobsとして「yes」をサーバ100に登録するためのコマンドである。これにより、印刷要求の受け付けをサーバ100に実行させることができる。T282,T284の各コマンドは、Create-Printer-Subscriptions(以下では「CPS」と記載する)である。CPSは、Subscriptionsとして新たなイベントをサーバ100に登録するためのコマンドである。
【0037】
T282のCPSは、job-fetchableをサーバ100に登録するためのコマンドである。job-fetchableは、印刷要求の受け付けのイベントである。即ち、T282のCPSは、印刷要求の受け付けの監視及び印刷要求が受け付けられた旨のプリンタ10への通知をサーバ100に実行させるための指示である。
【0038】
T284のCPSは、job-state-changedをサーバ100に登録するためのコマンドである。job-state-changedは、ジョブのステータス変化のイベントである。即ち、T284のCPSは、ジョブのステータス変化の監視及びジョブのステータス変化があった旨のプリンタ10への通知をサーバ100に実行させるための指示である。なお、変形例では、T282,T284の処理は1個のCPSによって実現されてもよい。即ち、プリンタ10は、job-fetchable及びjob-state-changedの双方をサーバ100に登録するための1個のCPSを送信してもよい。
【0039】
サーバ100は、T280~284において、プリンタ10から各種コマンドを受信すると、T286において、これらの情報をプリンタテーブル138に記憶する。具体的には、サーバ100は、T280のコマンドに含まれるプリンタID「P1」に対応付けて、accepting-jobsとしてyesを記憶する。サーバ100は、さらに、T282,T284の各CPSに含まれるプリンタID「P1」に対応付けて、Subscriptionsとしてjob-fetchable及びjob-state-changedを記憶する。
【0040】
(
図3の続き:
図4)
端末50は、ユーザから、印刷を実行すべきプリンタ(本ケースではプリンタ10)の指定と、印刷対象の画像の指定と、を含む指示を受け付けることに応じて、T300において、印刷要求をサーバ100に送信する。印刷要求は、ユーザによって指定されたプリンタ10を識別するプリンタID「P1」と、印刷対象の画像を表わす画像データと、を含む。
【0041】
サーバ100は、T300において、端末50から印刷要求を受信すると、まず、プリンタテーブル138から、当該要求に含まれるプリンタID「P1」を特定する。そして、プリンタ10は、プリンタテーブル138において、プリンタID「P1」に対応付けられているaccepting-jobsがyesを示すのかnoを示すのかを判断する。本ケースでは、accepting-jobsがyesを示すので(
図3のT280,T286参照)、サーバ100は、印刷要求を受け付ける。即ち、サーバ100は、T302において、ジョブID「Job1」によって識別されるジョブを生成する。具体的には、サーバ100は、まず、端末50から受信済みの画像データを変換して、プリンタ10が解釈可能なデータ形式を有する印刷データを生成する。そして、サーバ100は、プリンタID「P1」とジョブID「Job1」と印刷データとを対応付けてメモリ134に記憶する。
【0042】
次いで、サーバ100は、プリンタテーブル138において、プリンタID「P1」に対応付けられているSubscriptionsとしてjob-fetchableが記憶されているのか否かを判断する。本ケースでは、job-fetchableが記憶されているので(
図3のT282,T286参照)、サーバ100は、印刷要求の受け付けイベントが発生したことをプリンタ10に通知する。即ち、サーバ100は、T304において、常時接続(
図3のT270参照)を利用して、ジョブが生成されたことを示すジョブ通知をプリンタ10に送信する。当該ジョブ通知は、T302で生成されたジョブのジョブID「Job1」を含む。
【0043】
プリンタ10は、T304において、サーバ100からジョブ通知を受信すると、T310において、ジョブID「Job1」を含むジョブ要求をサーバ100に送信する。
【0044】
サーバ100は、T310において、プリンタ10からジョブ要求を受信すると、当該ジョブ要求に含まれるジョブID「Job1」に対応付けて記憶されている印刷データを特定する。そして、サーバ100は、T312において、当該印刷データを含むジョブをプリンタ10に送信する。
【0045】
プリンタ10は、T312において、サーバ100から印刷データを含むジョブを受信すると、T320において、当該印刷データを印刷エンジン18に供給する。これにより、当該印刷データによって表わされる画像の印刷が印刷エンジン18によって実行される。このように、プリンタ10は、クラウド印刷サービスを利用して画像の印刷を実行することができる。
【0046】
なお、
図4のケースでは示されていないが、サーバ100は、端末50から、ジョブID「Job1」によって識別されるジョブをキャンセルするための指示を受信し得る。この場合、サーバ100は、プリンタテーブル138において、プリンタID「P1」に対応付けられているSubscriptionsとしてjob-state-changedが記憶されているのか否かを判断する。本ケースでは、job-state-changedが記憶されているので(
図3のT284,T286参照)、サーバ100は、ジョブのステータス変更イベントが発生したことをプリンタ10に通知する。即ち、サーバ100は、常時接続(
図3のT270参照)を利用して、ジョブがキャンセルされたことを示すステータス変更通知をプリンタ10に送信する。これにより、プリンタ10は、ジョブID「Job1」によって識別されるジョブの印刷を停止することができる。なお、ステータス変更通知は、ジョブがキャンセルされたことを示すものに限らず、ジョブに従った印刷の保留を示すものであってもよい。
【0047】
(各デバイス10,50,100によって実行されるケースBの処理:
図5)
図5を参照して、ケースBの処理を説明する。ケースBは、プリンタ10のサービス状態が無効状態である状況において、プリンタ10に関する情報をサーバ100に登録するケースである。
【0048】
図2のT100~T106と同様の処理が実行される。端末50は、T400において、ユーザから、設定変更画面SC1内の登録ボタンの選択を受け付ける。この場合、
図3のT210~T262と同様の処理が実行される。
【0049】
プリンタ10は、端末50から
図2のT112の有効化指示を受信しなくても、T410において、サービス状態を無効状態から有効状態に移行させる。T410の処理は、
図2のT114の処理と同様である。この後、
図5では図示省略しているが、
図2のT116及びT118と同様の処理が実行されてもよい。
【0050】
次いで、プリンタ10は、T420において、常時接続をサーバ100と確立する。T420の処理は、
図3のT270の処理と同様である。その後、プリンタ10は、T430~T434において、各種コマンドをサーバ100に送信する。T430~T434の処理は、
図3のT280~T284の処理と同様である。これにより、印刷要求の受け付けをサーバ100に実行させることができると共に、印刷要求の受け付けの通知及びジョブのステータス変化の通知をサーバ100に実行させることができる。
【0051】
サーバ100によって実行されるT436の処理は、
図3のT286の処理と同様である。
図5の処理が終了すると、
図4と同様の処理が実行される。
【0052】
(第1実施例の効果)
本実施例によると、プリンタ10は、サービス状態が無効状態である状況において、登録指示を取得する場合(
図5で引用する
図3のT210)に、ユーザからサービス状態を有効状態に移行させるための有効化指示(
図2のT112参照)を取得しなくても、サービス状態を無効状態から有効状態に移行させる(T410)。このために、プリンタ10は、常時接続を確立していない状態から常時接続を確立している状態に移行し(T420)、この結果、常時接続を利用して、サーバ100からジョブ通知を適切に受信することができる(
図4のT304)。従って、プリンタ10は、サーバ100からジョブを適切に受信することができる(T312)。
【0053】
なお、本実施例では、プリンタ10は、サービス状態を無効状態から有効状態に移行させると、常時接続をサーバ100と確立する。変形例では、プリンタ10は、サービス状態を無効状態から有効状態に移行させると、常時接続をサーバ100と確立せずに、ポーリング信号をサーバ100に繰り返し送信してもよい。即ち、無効状態が、ポーリング信号をサーバ100に送信しない状態であり、有効状態が、ポーリング信号をサーバ100に送信する状態であってもよい。この場合、サーバ100は、ポーリング信号に対する応答としてジョブ通知及びステータス変更通知をプリンタ10に送信することができる。本変形例でも、プリンタ10は、サーバ100からジョブ通知及びステータス変更通知を受信することができる。
【0054】
上記の実施例及び変形例のどちらでも、プリンタ10は、サービス状態が無効状態である状況において、登録指示を取得する場合に、サービス状態を無効状態から有効状態に自動的に移行させる。即ち、プリンタ10は、サーバ100からジョブ通知を受信不可能な状態から、サーバ100からジョブ通知を受信可能な状態に自動的に移行する。このために、プリンタID「P1」がサーバ100に登録されたにも関わらず、サービス状態が無効状態であることに起因して、プリンタ10がサーバ100からジョブを受信することができないという事象が発生するのを抑制することができる。従って、プリンタ10は、サーバ100から印刷ジョブを適切に受信することができる。
【0055】
(対応関係)
図2のT112の有効化指示が、「所定指示」の一例である。プリンタID「P1」が、「プリンタ情報」の一例である。印刷要求が、「ジョブ送信要求」の一例である。
図3のT280のコマンド、T282のコマンド、T284のコマンドが、それぞれ、「受付指示」、「第1の通知指示」、「第2の通知指示」の一例である。
【0056】
図2のT114の処理が、「第1の状態制御部」によって実行される処理の一例である。
図3のT212の処理、T280~T282の処理が、それぞれ、「プリンタ情報送信部」、「第3の指示送信部」によって実行される処理の一例である。
図4のT320の処理が、「エンジン制御部」によって実行される処理の一例である。
図5のT410の処理、T430~T434の処理が、それぞれ、「第2の状態制御部」、「第1の指示送信部」によって実行される処理の一例である。
【0057】
(第2実施例;
図6)
図6を参照して、第2実施例を説明する。第2実施例では、プリンタ10のサービス状態が無効状態である状況において、プリンタ10に関する情報をサーバ100に登録する場合に、問合画面データがプリンタ10から端末50に送信される。
図6の各処理は、第1実施例の
図5の各処理に代えて実行される処理である。
【0058】
図2のT100~T106と同様の処理が実行される。端末50は、T400において、ユーザから、設定変更画面SC1内の登録ボタンの選択を受け付ける。この場合、
図3のT210~T262と同様の処理が実行される。その後、プリンタ10は、T510において、問合画面SC3を表わす問合画面データを端末50に送信する。
【0059】
端末50は、T510において、プリンタ10から問合画面データを受信すると、T512において、問合画面SC3を表示する。問合画面SC3は、サービス状態を無効状態から有効状態に移行させるのか否かを問い合わせるためのメッセージと、YESボタンと、NOボタンと、を含む。
【0060】
(ケースC)
ケースCでは、端末50は、T520において、ユーザから問合画面SC3内のYESボタンの選択を受け付ける。この場合、端末50は、T522において、YESボタンが選択されたことを示すYES選択情報をプリンタ10に送信する。
【0061】
プリンタ10は、T522において、端末50からYES選択情報を受信すると、T530において、サービス状態を無効状態から有効状態に移行させる。即ち、プリンタ10は、端末50から
図2のT112の有効化指示を受信しなくても、サービス状態を無効状態から有効状態に移行させる。T540~T554の処理は、
図5のT420~T434の処理と同様である。ケースCの処理が終了すると、
図4と同様の処理が実行される。
【0062】
(ケースD)
ケースDでは、端末50は、T560において、ユーザから問合画面SC3内のNOボタンの選択を受け付ける。この場合、端末50は、T562において、NOボタンが選択されたことを示すNO選択情報をプリンタ10に送信する。
【0063】
プリンタ10は、T562において、端末50からNO選択情報を受信すると、サービス状態を無効状態に維持する。即ち、プリンタ10は、常時接続をサーバ100と確立しない。次いで、プリンタ10は、T570において、accepting-jobsとして「yes」を登録するためのコマンドをサーバ100に送信する。ただし、プリンタ10は、CPSをサーバ100に送信しない。
【0064】
サーバ100は、T572において、accepting-jobsとして「yes」をプリンタテーブル138に記憶する。ただし、サーバ100は、Subscriptionsとしてjob-fetchable及びjob-state-changedを記憶しない。従って、サーバ100は、印刷要求を受け付ける(即ちジョブを生成して記憶する)が、ジョブ通知及びステータス変更通知をプリンタ10に送信しない。
【0065】
(第2実施例の効果)
本実施例によると、プリンタ10は、サービス状態が無効状態である状況において、プリンタ10に関する情報をサーバ100に登録する場合に、問合画面データを端末50に送信する(T510)。例えば、ユーザは、クラウド印刷サービスをすぐに利用することを望む場合には、問合画面SC3内のYESボタンを選択することができる。この場合、プリンタ10は、サービス状態を無効状態から有効状態に自動的に移行させる。従って、プリンタ10は、サーバ100から印刷ジョブを適切に受信することができる。ユーザは、クラウド印刷サービスをすぐに利用することを望まない場合には、問合画面SC3内のNOボタンを選択することができる。そして、プリンタ10は、ユーザから取得される問合結果に応じて、サービス状態を有効状態に移行させるのか(ケースC)、サービス状態を無効状態に維持するのか(ケースD)、を切り替えることができる。
【0066】
特に、プリンタ10は、サービス状態を無効状態に維持する場合(ケースD)には、CPSをサーバ100に送信しない。このために、プリンタ10とサーバ100との間に常時接続が確立されないにも関わらず(即ちサーバ100が通知をプリンタ10に送信することができないにも関わらず)、サーバ100が印刷要求の受け付けのイベント及びジョブのステータス変化のイベントを監視するという事象が発生するのを抑制することができる。この結果、サーバ100において、イベントの監視に起因する処理の負荷が高くなるのを抑制することができる。
【0067】
(対応関係)
端末50の表示部が「表示部」の一例である。
図6のT510の処理、T550~T552の処理、T560の処理が、それぞれ、「表示制御部」、「第1の指示送信部」、「第2の指示送信部」によって実行される処理の一例である。
【0068】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0069】
(変形例1)
上記の実施例では、ユーザは、端末50を利用してプリンタ10内のウェブサーバにアクセスし、有効化指示及び登録指示をプリンタ10に与える(
図2のT112、
図3のT210等)。これに代えて、ユーザは、プリンタ10の操作部12を操作することによって、有効化指示及び登録指示をプリンタ10に与えてもよい。本変形例では、操作部12に対する操作によって取得される有効化指示、登録指示が、それぞれ、「所定指示」、「登録指示」の一例である。
【0070】
(変形例2)
上記の実施例では、プリンタ10のサービス状態が有効状態に移行すると、
図3のT280~T284、
図5のT430~T434、又は、
図6のT550~T554の各種コマンドがサーバ100に送信される。また、
図6のT570でも、コマンドがサーバ100に送信される。変形例では、これらのコマンドがサーバ100に送信されなくてもよい。この場合、サーバ100は、これらのコマンドを受信しなくても、ジョブ通知、ステータス変更通知等をプリンタ10に送信するように構成されてもよい。本変形例では、「第1の指示送信部」、「第2の指示送信部」、及び、「第3の指示送信部」を省略可能である。
【0071】
(変形例3)
第2実施例では、プリンタ10は、問合画面データを端末50に送信して(T510)、問合画面SC3を端末50の表示部に表示させる。これに代えて、プリンタ10は、問合画面SC3をプリンタ10の表示部14に表示させてもよい。本変形例では、プリンタ10の表示部14が、「表示部」の一例である。
【0072】
(変形例4)上記の各実施例では、
図2~
図6の処理がソフトウェア(例えばプログラム36,136)によって実行されるが、これらの各処理の少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0073】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願時の特許請求の範囲に記載の要素である。
(項目1)
プリンタであって、
印刷エンジンと、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を前記印刷エンジンに実行させるエンジン制御部と、
を備える、プリンタ。
(項目2)
前記プリンタは、さらに、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第1の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第1の指示送信部を備える、項目1に記載のプリンタ。
(項目3)
前記第1の指示送信部は、さらに、前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った第2の通知指示を前記サーバに送信し、
前記第2の通知指示は、印刷ジョブのステータスが変更された旨の前記プリンタへの通知を前記サーバに実行させるための指示である、項目2に記載のプリンタ。
(項目4)
前記プリンタは、さらに、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得される場合に、問合画面を表示部に表示させる表示制御部であって、前記問合画面は、前記サービス状態を前記有効状態に移行させるのか否かを前記ユーザに問い合わせるための画面である、前記表示制御部を備え、
前記第2の状態制御部は、前記問合画面において、前記サービス状態を前記有効状態に移行させることが前記ユーザによって選択される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させ、
前記問合画面において、前記サービス状態を前記有効状態に移行させないことが前記ユーザによって選択される場合に、前記サービス状態は前記無効状態に維持される、項目1から3のいずれか一項に記載のプリンタ。
(項目5)
前記プリンタは、さらに、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得され、かつ、前記問合画面において、前記サービス状態を前記有効状態に移行させることが前記ユーザによって選択される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第1の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第1の指示送信部と、
前記サービス状態が前記無効状態である状況において、前記登録指示が取得され、かつ、前記問合画面において、前記サービス状態を前記有効状態に移行させないことが前記ユーザによって選択される場合に、前記第1の通知指示を前記サーバに送信することなく、前記受付指示を前記サーバに送信する第2の指示送信部と、
を備える、項目4に記載のプリンタ。
(項目6)
前記プリンタは、さらに、
前記サービス状態が前記有効状態である状況において、前記登録指示が取得される場合に、前記IPPに従った受付指示と、前記IPPに従った第1の通知指示と、を前記サーバに送信する第3の指示送信部であって、前記受付指示は、前記サーバを介して前記印刷ジョブを前記プリンタに送信するためのジョブ送信要求の受け付けを前記サーバに実行させるための指示であり、前記第1の通知指示は、前記ジョブ送信要求を受け付けた旨の前記プリンタへの通知を前記サーバに実行させるための指示である、前記第3の指示送信部を備える、項目1から5のいずれか一項に記載のプリンタ。
(項目7)
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
サーバから印刷ジョブ提供サービスを受けるためのサービス状態が無効状態である状況において、ユーザから所定指示が取得される場合に、前記サービス状態を前記無効状態から有効状態に移行させる第1の状態制御部であって、前記無効状態は、前記サーバからIPP(Internet Printing Protocolの略)に従った印刷ジョブを受信不可能な状態であり、前記有効状態は、前記サーバから前記IPPに従った前記印刷ジョブを受信可能な状態である、前記第1の状態制御部と、
前記プリンタに関連するプリンタ情報を前記サーバに登録するための登録指示が取得される場合に、前記プリンタ情報を前記サーバに送信するプリンタ情報送信部と、
前記サービス状態が無効状態である状況において、前記登録指示が取得される場合に、前記ユーザから前記所定指示が取得されなくても、前記サービス状態を前記無効状態から前記有効状態に移行させる第2の状態制御部と、
前記プリンタ情報が前記サーバに登録され、かつ、前記サービス状態が前記無効状態から前記有効状態に移行された後に、前記サーバから前記IPPに従った前記印刷ジョブが受信される場合に、前記印刷ジョブに従った印刷を印刷エンジンに実行させるエンジン制御部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0074】
2:通信システム、6:インターネット、10:プリンタ、12:操作部、14:表示部、16:通信インターフェース、18:印刷エンジン、30:制御部、32:CPU、34:メモリ、36:プログラム、50:端末、100:印刷仲介サーバ、138:プリンタテーブル