(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】プリンタとプリンタのためのコンピュータプログラム
(51)【国際特許分類】
H04W 76/10 20180101AFI20221129BHJP
H04W 12/06 20210101ALI20221129BHJP
H04W 84/12 20090101ALI20221129BHJP
【FI】
H04W76/10
H04W12/06
H04W84/12
(21)【出願番号】P 2018068820
(22)【出願日】2018-03-30
【審査請求日】2021-03-12
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】鈴木 智詞
【審査官】三枝 保裕
(56)【参考文献】
【文献】特開2018-037978(JP,A)
【文献】特開2014-222865(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24- 7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
プリンタであって、
印刷実行部と、
無線インターフェースと、
メモリと、
操作部と、
表示部と、
前記操作部を介した印刷指示を受け付ける受付部と、
前記操作部を介した前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部においてエラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を不可能状態に制御し、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備え、
前記印刷制御部は、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させ、
前記プリンタは、さらに、
前記接続情報が前記メモリに記憶されている状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像の印刷を前記プリンタに実行させることを確認するための確認画面を前記表示部に表示させる表示制御部であって、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記確認画面は表示されない、前記表示制御部を備え、
前記印刷制御部は、さらに、前記確認画面が表示されている状況において、前記コード画像の印刷を前記プリンタに実行させることが指示される場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させる、プリンタ。
【請求項2】
前記操作部を介した前記印刷指示が受け付けられる前の前記プリンタの動作状態は、前記不可能状態であり、
前記状態制御部は、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させることによって、前記プリンタの動作状態を前記可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部において前記エラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を前記不可能状態に維持することによって、前記プリンタの動作状態を前記不可能状態に制御する、請求項1に記載のプリンタ。
【請求項3】
前記状態制御部は、さらに、前記印刷実行部において前記エラーが発生した後に前記エラーが解消されることに起因して前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させる、請求項2に記載のプリンタ。
【請求項4】
前記操作部を介した前記印刷指示が受け付けられる前の前記プリンタの動作状態は、前記不可能状態であり、
前記状態制御部は、
前記操作部を介した前記印刷指示が受け付けられた後であって、前記コード画像の印刷が完了する前に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させ、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記可能状態に維持することによって、前記プリンタの動作状態を前記可能状態に制御し、
前記コード画像の印刷が開始された後であって、前記プリンタの動作状態が
前記可能状態に移行された後に、前記コード画像の印刷が実行されている状況において、前記印刷実行部において前記エラーが発生する場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させることによって、前記プリンタの動作状態を前記不可能状態に制御する、請求項1に記載のプリンタ。
【請求項5】
前記状態制御部は、さらに、前記印刷実行部において前記エラーが発生した後に前記エラーが解消される場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させる、請求項4に記載のプリンタ。
【請求項6】
前記状態制御部は、さらに
、前記操作部を介した
前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させる、請求項1から5のいずれか一項に記載のプリンタ。
【請求項7】
プリンタであって、
印刷実行部と、
無線インターフェースと、
メモリと、
操作部と、
表示部と、
前記操作部を介した印刷指示を受け付ける受付部と、
前記操作部を介した前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記操作部を介した前記印刷指示が受け付けられた後に、前記プリンタの動作状態を不可能状態から可能状態に移行させ、
前記操作部を介した前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させ、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備え、
前記印刷制御部は、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させ、
前記プリンタは、さらに、
前記接続情報が前記メモリに記憶されている状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像の印刷を前記プリンタに実行させることを確認するための確認画面を前記表示部に表示させる表示制御部であって、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記確認画面は表示されない、前記表示制御部を備え、
前記印刷制御部は、さらに、前記確認画面が表示されている状況において、前記コード画像の印刷を前記プリンタに実行させることが指示される場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させる、プリンタ。
【請求項8】
前記操作部を介した前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信されることなく所定時間が経過する場合に、前記特定条件が満たされる、請求項6又は7に記載のプリンタ。
【請求項9】
前記プリンタは、さらに、
前記操作部を介した前記印刷指示が受け付けられる毎に、前回生成された公開鍵とは異なる公開鍵を生成する公開鍵生成部と、
公開鍵が生成される毎に、生成済みの公開鍵をコード化することによって、前回生成されたコード画像とは異なるコード画像を生成するコード画像生成部と、
を備える、請求項1から8のいずれか一項に記載のプリンタ。
【請求項10】
前記印刷制御部は、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像と、前記コード画像とは異なる画像と、の印刷を前記印刷実行部に実行させ、
前記異なる画像は、前記第1の外部装置にインストールされるべきアプリケーションプログラムの位置を示す位置情報に関する画像である、請求項1から9のいずれか一項に記載のプリンタ。
【請求項11】
前記コード画像は、前記公開鍵をコード化することによって得られるQRコード(登録商標)である、請求項1から10のいずれか一項に記載のプリンタ。
【請求項12】
前記コード画像は、前記公開鍵と、前記プリンタにおいて予め決められている第1の通信チャネルを示す通信チャネル情報と、をコード化することによって得られる画像であり、
前記印刷媒体に印刷された前記コード画像が前記第1の外部装置によって撮影される場合に、前記公開鍵と前記通信チャネル情報とが前記第1の外部装置によって取得され、
前記可能状態は、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記プリンタの動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、請求項1から11のいずれか一項に記載のプリンタ。
【請求項13】
前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する、請求項12に記載のプリンタ。
【請求項14】
前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記確立部は、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立して、前記プリンタを前記無線ネットワークに子局として参加させる、請求項1から13のいずれか一項に記載のプリンタ。
【請求項15】
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、請求項1から14のいずれか一項に記載のプリンタ。
【請求項16】
前記プリンタは、さらに、
前記認証応答が前記第1の外部装置に送信された後に、前記プリンタをWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、請求項1から15のいずれか一項に記載のプリンタ。
【請求項17】
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
前記プリンタの操作部を介した印刷指示を受け付ける受付部と、
前記操作部を介した前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記プリンタの印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部においてエラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を不可能状態に制御し、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記プリンタの無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記プリンタのメモリに記憶する記憶制御部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させ、
前記印刷制御部は、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させ、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記接続情報が前記メモリに記憶されている状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像の印刷を前記プリンタに実行させることを確認するための確認画面を前記プリンタの表示部に表示させる表示制御部であって、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記確認画面は表示されない、前記表示制御部として機能させ
、
前記印刷制御部は、さらに、前記確認画面が表示されている状況において、前記コード画像の印刷を前記プリンタに実行させることが指示される場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させる、コンピュータプログラム。
【請求項18】
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
前記プリンタの操作部を介した印刷指示を受け付ける受付部と、
前記操作部を介した前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記プリンタの印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記操作部を介した前記印刷指示が受け付けられた後に、前記プリンタの動作状態を不可能状態から可能状態に移行させ、
前記操作部を介した前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させ、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記プリンタの無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記プリンタのメモリに記憶する記憶制御部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させ、
前記印刷制御部は、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させ、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記接続情報が前記メモリに記憶されている状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像の印刷を前記プリンタに実行させることを確認するための確認画面を前記プリンタの表示部に表示させる表示制御部であって、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記確認画面は表示されない、前記表示制御部として機能させ、
前記印刷制御部は、さらに、前記確認画面が表示されている状況において、前記コード画像の印刷を前記プリンタに実行させることが指示される場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、外部装置との無線接続を確立可能なプリンタに関する技術を開示する。
【背景技術】
【0002】
特許文献1には、スマートフォンを利用して、プリンタとAP(Access Pointの略)との間の無線接続を確立するための技術が開示されている。プリンタは、ユーザから操作を受け付けることに応じて、通信パラメータの設定を行うための情報を含むQRコード(登録商標)を表示し、認証要求の受信待ち状態に移行する。スマートフォンは、プリンタに表示されたQRコードを読み取ることによって、通信パラメータの設定を行うための情報を取得し、認証要求をプリンタに送信して、プリンタから認証応答を受信する。そして、スマートフォンは、取得済みの情報を利用して通信パラメータを設定し、設定済みの通信パラメータをプリンタに送信する。また、スマートフォンは、同様の処理をAPと実行して、通信パラメータをAPに送信する。これにより、プリンタは、受信済みの通信パラメータを利用して、APとの無線接続を確立することができる。また、特許文献1には、プリンタが、QRコードを表示することに代えて、QRコードを印刷する構成が採用されてもよいことが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-28458号公報
【文献】特開2017-135517号公報
【文献】特開2017-28454号公報
【文献】特開2017-130727号公報
【文献】特開2018-6983号公報
【文献】特開2018-37978号公報
【非特許文献】
【0004】
【文献】「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, 2017年
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の受信待ち状態は、通常、受信待ち状態でない状態よりもプリンタの処理負荷が高い。また、QRコードを印刷する構成では、QRコードを印刷する際に、プリンタにおいてエラー(例えば紙詰まり等)が発生して、QRコードの印刷が失敗する可能性があるので、スマートフォンがQRコードを読み取れない状況が起こり得る。この場合、認証要求がスマートフォンからプリンタに送信されないにも関わらず、プリンタが受信待ち状態を継続し得る。即ち、プリンタの処理負荷が高い状態が継続され得る。
【0006】
本明細書では、第1の外部装置を利用して、プリンタと第2の外部装置との間に無線接続を確立させることが可能な技術において、プリンタの処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【0007】
本明細書によって開示されるプリンタは、印刷実行部と、無線インターフェースと、印刷指示を受け付ける受付部と、前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、前記プリンタの動作状態を制御する状態制御部であって、前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を可能状態に制御し、前記コード画像の印刷が開始された後に、前記印刷実行部においてエラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を不可能状態に制御し、前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
【0008】
上記の構成によると、プリンタは、コード画像の印刷が完了する場合、即ち、公開鍵が第1の外部装置によって取得され、第1の外部装置から公開鍵が利用された認証要求を受信し得る場合に、動作状態を可能状態に制御する。これにより、プリンタは、第1の外部装置から認証要求を受信することに応じて認証応答を第1の外部装置に送信し、第1の外部装置から接続情報を受信し、接続情報を利用して第2の外部装置との無線接続を確立することができる。一方、プリンタは、エラーが発生することに起因してコード画像の印刷が完了しない場合、即ち、公開鍵が第1の外部装置によって取得されず、第1の外部装置から認証要求を受信し得ない場合には、動作状態を可能状態よりも低い処理負荷である不可能状態に制御する。従って、第1の外部装置を利用して、プリンタと第2の外部装置との間に無線接続を確立させることが可能な技術において、プリンタの処理負荷を軽減することができる。
【0009】
また、本明細書によって開示される通信装置は、印刷実行部と、無線インターフェースと、印刷指示を受け付ける受付部と、前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、前記プリンタの動作状態を制御する状態制御部であって、前記印刷指示が受け付けられた後に、前記プリンタの動作状態を不可能状態から可能状態に移行させ、前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させ、前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、を備えてもよい。
【0010】
上記の構成によると、プリンタは、印刷指示を受け付けた後に、動作状態を不可能状態から可能状態に移行する。これにより、プリンタは、第1の外部装置から認証要求を受信することに応じて認証応答を第1の外部装置に送信し、第1の外部装置から接続情報を受信し、接続情報を利用して第2の外部装置との無線接続を確立することができる。また、プリンタは、印刷指示が受け付けられた後に、動作状態が可能状態である状況において、特定条件が満たされる場合に、可能状態よりも低い処理負荷である不可能状態に移行する。従って、第1の外部装置を利用して、プリンタと第2の外部装置との間に無線接続を確立させることが可能な技術において、プリンタの処理負荷を軽減することができる。
【0011】
上記のプリンタを実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記のプリンタによって実行される方法も新規で有用である。また、上記のプリンタと他の装置(例えば第1の外部装置、第2の外部装置)とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0012】
【
図2】実施例の概略を説明するための説明図を示す。
【
図3】Bootstrappingの処理のシーケンス図を示す。
【
図4】Authenticationの処理のシーケンス図を示す。
【
図5】Configurationの処理のシーケンス図を示す。
【
図6】Network Accessの処理のシーケンス図を示す。
【
図7】第1実施例のBootstrapping処理のフローチャート図を示す。
【
図8】第2実施例のBootstrapping処理のフローチャート図を示す。
【発明を実施するための形態】
【0013】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが端末10を利用して、プリンタ100とAP6との間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
【0014】
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、カメラ15と、Wi-Fiインターフェース16を備える。以下では、インターフェースを単に「I/F」と記載する。カメラ15は、物体を撮影するためのデバイスであり、本実施例では、特に、AP6及びプリンタ100のためのQRコードを撮影するために利用される。また、端末10は、接続アプリケーション40(以下では単に「アプリ40」と記載する)を記憶している。アプリ40は、プリンタ100とAP6との間にWi-Fi接続を確立させるためのプログラムであり、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
【0015】
Wi-FiI/F16は、Wi-Fi方式に従ったWi-Fi通信を実行するための無線インターフェースである。Wi-Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n,11ac等)に従って、無線通信を実行するための無線通信方式である。特に、Wi-FiI/F16は、Wi-Fi Allianceによって策定される予定であるDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末10を利用して一対のデバイス(例えばプリンタ100とAP6)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
【0016】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0017】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。ただし、表示部114は、比較的小さいサイズ(例えば1行分の文字列しか表示できないサイズ)を有するディスプレイである。このために、表示部114は、後述のQRコードを表示することができない。表示部114として比較的小さいサイズを有するディスプレイを採用すれば、プリンタ100を安価に製造することができる。なお、変形例では、プリンタ100は、表示部114を備えていなくてもよい。Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、DPP方式をサポートしている。また、Wi-FiI/F116は、MACアドレス「abc」を有する。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0018】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0019】
(本実施例の概要;
図2)
続いて、
図2を参照して、本実施例の概要を説明する。端末10及びプリンタ100がDPP方式をサポートしていることを上述したが、AP6もDPP方式をサポートしている。そして、本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6との間のWi-Fi接続を確立することを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ100)を主体として記載する。
【0020】
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
【0021】
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
【0022】
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第1のConfiguration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、第1のCOをAP6に送信する。この結果、AP6では、第1のCOが記憶される。
【0023】
次いで、端末10は、T20において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100によって印刷されるQRコードが端末10によって撮影されることに応じて、後述のT25のAuthで利用される情報をプリンタ100から端末10に提供する処理である。上記のように、プリンタ100の表示部114は、比較的小さいサイズを有するので、QRコードを表示することができない。本実施例では、プリンタ100は、QRコードを表示せずに印刷するので、Authで利用される情報を端末10に適切に供給することができる。また、QRコードがプリンタ100に貼り付けられている比較例の構成が想定できるが、当該構成では、第三者によってQRコードが容易に撮影され得る。即ち、第三者によってプリンタ100の情報が容易に取得され得るので、セキュリティの観点が好ましくない。これに対し、本実施例では、プリンタ100がQRコードの印刷を実行するので、上記の比較例と比較して、セキュリティを向上させることができる。
【0024】
T25では、端末10は、T20のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0025】
T30では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第2のCOを生成して、第2のCOをプリンタ100に送信する。この結果、プリンタ100では、第2のCOが記憶される。
【0026】
T35では、プリンタ100及びAP6は、記憶済みの第1及び第2のCOを利用して、DPP方式のNetwork Access(以下では、単に「NA」と記載する)を実行する。NAは、Wi-Fi接続を確立するための接続キーをプリンタ100及びAP6の間で共有するための処理である。
【0027】
T40では、プリンタ100及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6は、T35のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ100とAP6との間にWi-Fi接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができ、この結果、AP6を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ100及びAP6は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
【0028】
T45では、プリンタ100は、Wi-Fi接続がAP6と確立されたことを示す完了画面を表示部114に表示させる。T45の処理が終了すると、
図2の処理が終了する。
【0029】
DPP方式では、プリンタ100とAP6との間にWi-Fi接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID(Service Set Identifierの略)、パスワード等)をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP6との間のWi-Fi接続を容易に確立させることができる。
【0030】
(各処理の説明;
図3~
図7)
続いて、
図3~
図7を参照して、
図2のT20~T35において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ100に代えてAP6が利用される点を除いて、T20~T30の処理と同様であるので、その詳細な説明を省略する。
【0031】
(Bootstrapping(BS);
図3)
まず、
図3を参照して、
図2のT20のBSの処理を説明する。プリンタ100は、T100において、ユーザから電源ON操作を受け付けることに応じて、T105において、メニュー画面MSを表示部114に表示させる。画面MSは、換言すればプリンタ100のデフォルト画面であり、プリンタ100に印刷を実行させる印刷ボタンと、プリンタ100の各種設定(例えば印刷設定等)を指定するための設定ボタンと、を含む。
【0032】
プリンタ100は、T106において、画面MS内の設定ボタンがユーザによって選択されることに応じて、T107において、設定画面SSを表示部114に表示させる。画面SSは、プリンタ100の印刷設定を変更するための印刷設定ボタンと、プリンタ100の無線設定を実行するための無線設定ボタンと、を含む。上記のように、
図2のT20のBSの処理では、プリンタ100によって印刷されるQRコードが利用される。従って、無線設定ボタンは、換言すれば、QRコードの印刷をプリンタ100に指示するためのボタンである。
【0033】
プリンタ100は、T120において、画面SS内の無線設定ボタンがユーザによって選択されることに応じて、T121において、公開鍵PPK1及び秘密鍵psk1を生成する。そして、プリンタ100は、生成済みの公開鍵PPK1と、メモリ134に予め記憶されているチャネルリストと、Wi-FiI/F116のMACアドレス「abc」と、をコード化することによって、無線設定用QRコードを生成する。チャネルリストは、Auth(
図2のT25参照)で利用されるべき複数個の通信チャネルの値のリストである。
【0034】
T122では、プリンタ100は、生成済みの無線設定用QRコードを利用して、無線設定用画像を表わす無線設定用画像データを生成する。無線設定用画像は、無線設定用QRコードと、アプリインストール用QRコードと、を含む。アプリインストール用QRコードは、アプリ40の位置を示すURL「U」がコード化されたコード画像である。当該QRコードは、T122の処理が実行される際にプリンタ100によって生成されてもよいし、プリンタ100の出荷段階からメモリ134に予め記憶されていてもよい。次いで、プリンタ100は、無線設定用画像データを印刷実行部118に供給して、無線設定用画像の印刷を印刷実行部118に実行させる。無線設定用画像がアプリインストール用QRコードを含むので、アプリ40が端末10にインストールされていない状況において、ユーザは、端末10を利用して当該QRコードを撮影することによって、アプリ40を端末10にインストールすることができる。従って、ユーザの利便性が向上する。
【0035】
次いで、T124では、プリンタ100は、不可能状態から可能状態に移行する。不可能状態は、Wi-FiI/F116が、端末10からDPP Authentication Request(以下では、単に「AReq」と記載する)(後述の
図4のT200参照)を受信しても、DPP Authentication Response(以下では、単に「ARes」と記載する)(後述のT210参照)を送信しない状態である。可能状態は、Wi-FiI/F116が、端末10からAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態から可能状態に移行することによって、Auth(
図2のT25参照)を実行可能な状態になる。具体的には、本実施例では、不可能状態は、Wi-FiI/F116が、外部から信号を受信しても、当該信号をCPU132に供給しない状態である。また、可能状態は、Wi-FiI/F116が、外部から信号を受信することに応じて、当該信号をCPU132に供給し、当該信号に対する応答を送信する状態である。可能状態は、CPU132が外部から受信した信号を処理する状態であるので、不可能状態と比較して処理負荷が高い。なお、変形例では、不可能状態がWi-FiI/F116に通電されていない状態であり、可能状態がWi-FiI/F116に通電されている状態であってもよい。また、別の変形例では、不可能状態は、Wi-FiI/F116が、外部からAReqを受信しても、AReqが受信されたことを示す通知をCPU132に供給しない状態であり、可能状態は、Wi-FiI/F116が、外部からAReqを受信することに応じて、AReqが受信されたことを示す通知をCPU132に供給する状態であってもよい。
【0036】
端末10は、T130において、ユーザからアプリ40の起動操作を受け付けることに応じて、アプリ40を起動し、さらに、カメラ15を起動する。端末10によって実行される以降の各処理は、アプリ40によって実現される。次いで、端末10は、T132において、カメラ15を利用して、印刷済みの無線設定用画像内の無線設定用QRコード(T122参照)を撮影する。そして、端末10は、T134において、撮影済みのQRコードをデコードして、公開鍵PPK1とチャネルリストとMACアドレス「abc」とを取得する。
【0037】
T136では、端末10は、プリンタ100とAP6との間にWi-Fi接続を確立するための接続処理を実行するのか否かをユーザに問い合せる端末側確認画面TCSを表示する。画面TCSは、接続処理を実行することを示すYESボタンと、接続処理を実行しないことを示すNOボタンと、を含む。T140では、端末10は、ユーザから画面TCS内のYESボタンの選択を受け付ける。T140の処理が終了すると、
図3の処理が終了する。
【0038】
(Authentication(Auth);
図4)
続いて、
図4を参照して、
図2のT25のAuthの処理を説明する。端末10は、
図3のT140において、画面TCS内のYESボタンがユーザによって選択されることに応じて、T141において、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T142において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、
図3のT134で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T144において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0039】
T200では、端末10は、Wi-FiI/F16を介して、
図3のT134で取得されたMACアドレス「abc」を送信先として、AReqをプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。ここで、端末10は、T134で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。当該AReqは、T141で生成された端末10の公開鍵TPK1と、T144で生成された暗号化データED1と、端末10のcapabilityと、を含む。
【0040】
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。なお、Configuratorは、Config(
図2のT30)において、NA(
図2のT35)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10が第1又は第2のCOを生成してAP6又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0041】
プリンタ100は、T200において、端末10から、Wi-FiI/F116を介して、AReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「abc」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0042】
また、プリンタ100は、
図3のT124で可能状態に移行すると、チャネルリスト内の複数個の通信チャネルのうちの1個の通信チャネルが利用されたAReqを受信することを監視する。上記のように、T200のAReqは、チャネルリスト内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0043】
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、まず、プリンタ100は、T202において、ECDHに従って、当該AReq内の端末10の公開鍵TPK1と、
図3のT121で生成されたプリンタ100の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T142で端末10によって生成される共有鍵SK1と、T204でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T204において、生成済みの共有鍵SK1を用いて、当該AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、当該AReqの送信元がプリンタ100によって印刷された無線設定用QRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T206以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、当該AReqの送信元がプリンタ100によって印刷された無線設定用QRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T206以降の処理を実行しない。
【0044】
プリンタ100は、T206において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。次いで、プリンタ100は、T207において、ECDHに従って、T200のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T208において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0045】
T210では、プリンタ100は、Wi-FiI/F116を介して、AResを端末10に送信する。当該AResは、T206で生成されたプリンタ100の公開鍵PPK2と、T208で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0046】
端末10は、T210において、プリンタ100から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、まず、端末10は、T212において、ECDHに従って、T141で生成された端末10の秘密鍵tsk1と、当該ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T207でプリンタ100によって生成される共有鍵SK2と、T212で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T214において、生成済みの共有鍵SK2を用いて、当該ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、当該AResの送信元が撮影済みの無線設定用QRコードを印刷したデバイスであると判断し、即ち、認証が成功したと判断し、T220以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、当該AResの送信元が撮影済みの無線設定用QRコードを印刷したデバイスでないと判断し、即ち、認証が失敗したと判断し、T220以降の処理を実行しない。
【0047】
T220において、端末10は、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T222において、Configuratorとして動作することが端末10によって決定され、T224において、Enrolleeとして動作することがプリンタ100によって決定される。T224の処理が終了すると、
図4の処理が終了する。なお、
図4の処理が終了すると、端末10が公開鍵TPK1及び秘密鍵tsk1を破棄し(即ちメモリから削除し)、プリンタ100が公開鍵PPK1及び秘密鍵psk1を破棄する。
【0048】
(Configuration(Config);
図5)
続いて、
図5を参照して、
図2のT30のConfigの処理を説明する。T300では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、CO(即ちプリンタ100とAP6との間のWi-Fi接続を確立するための情報)の送信を要求する信号である。
【0049】
端末10は、T300において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T301において、端末10のメモリ(図示省略)から、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上述したように、端末10は、
図2のT15のConfigをAP6と実行済みであり、この際に、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを生成してメモリに記憶する。グループID「Group1」は、プリンタ100とAP6との間のWi-Fi接続が確立されることによって形成される無線ネットワークを識別する情報である。なお、変形例では、ユーザによって指定された文字列がグループIDとして利用されてもよい。即ち、T301では、端末10は、
図2のT15で記憶された各情報を取得する。次いで、端末10は、T302において、第2のCO(
図2のT30参照)を生成する。具体的には、端末10は、以下の各処理を実行する。
【0050】
端末10は、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「Group1」と、
図4のT210のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を用いて、生成済みの特定値を暗号化することによって、電子署名DS1を生成する。この結果、端末10は、ハッシュ値HVと、グループID「Group1」と、プリンタ100の公開鍵PPK2と、電子署名DS1と、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを単に「SCont」と記載する)を生成することができる。そして、端末10は、プリンタ用SContと、端末10の公開鍵TPK2と、を含む第2のCOを生成する。
【0051】
T310では、端末10は、Wi-FiI/F16を介して、第2のCOを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をプリンタ100に送信する。
【0052】
プリンタ100は、T310において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T312において、当該CRes内の第2のCOをメモリ134に記憶する。T312の処理が終了すると、
図5の処理が終了する。
【0053】
(Network Access(NA);
図6)
続いて、
図6を参照して、プリンタ100とAP6との間で実行される
図2のT35のNAの処理を説明する。上記のように、
図2のT20~T30と同様に、
図2のT5~T15の処理が端末10及びAP6の間で実行済みである。ただし、AP6は、
図3のT105~T124の処理を実行しない。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のチャネルリストと、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末10が当該QRコードを撮影することによって、端末10及びAP6の間でT134以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(
図4のT206参照)、さらに、端末10から受信される第1のCOを記憶する(
図5のT312参照)。第1のCOは、AP用SContと、端末10の公開鍵TPK2と、を含む。当該公開鍵TPK2は、第2のCOに含まれる公開鍵TPK2と同じである。また、AP用SContは、ハッシュ値HVと、グループID「Group1」と、AP6の公開鍵APK2と、電子署名DS2と、を含む。当該ハッシュ値HV及び当該グループID「Group1」は、それぞれ、第2のCOに含まれるハッシュ値HV及びグループID「Group1」と同じである。電子署名DS2は、ハッシュ値HVとグループID「Group1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10の秘密鍵tsk2によって暗号化された情報であり、第2のCOに含まれる電子署名DS1とは異なる値である。
【0054】
プリンタ100は、T400において、Wi-FiI/F116を介して、プリンタ用SContを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SContの送信と、をAP6に要求する信号である。
【0055】
AP6は、T400において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済みのプリンタ用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のAP判断処理を実行する。
図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、受信済みのプリンタ用SCont内のハッシュ値HVと、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、AP6は、受信済みのプリンタ用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、AP6は、記憶済みの第1のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのプリンタ用SCont内の電子署名DS1を復号する。
図6のケースでは、電子署名DS1の復号が成功するので、AP6は、電子署名DS1を復号することによって得られた特定値と、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。
図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で「一致する」と判断されることは、第2のCOがプリンタ100に記憶された後に、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DS1の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
【0056】
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
【0057】
T410では、AP6は、AP用SContを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
【0058】
プリンタ100は、T410において、Wi-FiI/F116を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T412において、まず、受信済みのAP用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SCont内のハッシュ値HVと、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、プリンタ100は、受信済みのAP用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、プリンタ100は、記憶済みの第2のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのAP用SCont内の電子署名DS2を復号する。
図6のケースでは、電子署名DS2の復号が成功するので、プリンタ100は、電子署名DS2を復号することによって得られた特定値と、受信済みのAP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で「一致する」と判断されることは、第1のCOがAP6に記憶された後に、AP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DS2の復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T414以降の処理を実行しない。
【0059】
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SCont内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、Wi-Fi接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。T414が終了すると、
図6の処理が終了する。
【0060】
上述したように、接続キーCKがプリンタ100及びAP6の間で共有された後に、
図2のT40において、プリンタ100及びAP6は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にWi-Fi接続が確立される。なお、上述したように、プリンタ100は、プリンタ100のチャネルリストに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10から
図4のT200のAReqを受信する。即ち、プリンタ100は、プリンタ100と端末10との双方が利用可能な通信チャネルを利用して、端末10からT200のAReqを受信する。一方、
図2のT40では、プリンタ100は、プリンタ100とAP6との双方が利用可能な通信チャネルを利用して、Wi-Fi接続をAP6と確立する。ここで、端末10が利用可能な通信チャネルと、AP6が利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ100が
図4のT200で端末10からAReqを受信するための通信チャネルと、プリンタ100が
図2のT40でWi-Fi接続をAP6と確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
【0061】
ここで、例えば、
図3のT122において、プリンタが無線設定用画像を印刷する際に、印刷実行部118においてエラー(例えば、紙詰まり等)が発生することに起因して、無線設定用画像の印刷が完了しない状況が想定される。この場合、端末10は、T132において、無線設定用QRコードを撮影することができないので、T136以降の処理を実行できない。従って、プリンタ100は、端末10からAResを受信することがないので、可能状態として動作する必要がない。上記のように、可能状態は、不可能状態と比較して処理負荷の高い状態である。従って、端末10からAResを受信することがない状況において、プリンタ100が可能状態として動作すると、プリンタ100の処理負荷が無駄に増加してしまう。本実施例では、
図7の処理を実行することによってプリンタ100の処理負荷を軽減することを実現する。
【0062】
(Bootstrapping処理;
図7)
続いて、
図7を参照して、
図3のBSの処理でプリンタ100によって実行される処理の詳細を説明する。プリンタ100の表示部114に表示される設定画面SS内の無線設定ボタンが選択されることに応じて(
図3のT120)、
図7の処理が実行される。
【0063】
S3では、プリンタ100は、AP6とのWi-Fi接続を確立するための確立情報がメモリ134内に記憶されているのか否かを判断する。プリンタ100は、DPP方式を利用して、AP6とのWi-Fi接続を確立することもできるが、DPP方式を利用せずに、通常のWi-Fi方式(即ちSSID及びパスワードを利用する方式)に従って、AP6とのWi-Fi接続を確立することもできる。プリンタ100は、DPP方式を利用してAP6とのWi-Fi接続を確立済みである場合には、第2のCOをメモリ134に記憶している(
図5のT312)。また、プリンタ100は、通常のWi-Fi方式に従ってAP6とのWi-Fi接続を確立済みである場合には、SSID及びパスワードを含む無線設定情報をメモリ134に記憶している。S3の判断対象の確立情報は、第2のCOと無線設定情報とを含む。プリンタ100は、メモリ134内に第2のCO及び無線設定情報の一方が記憶されている場合には、S3でYESと判断して、S5に進む。一方、プリンタ100は、メモリ134内に第2のCO及び無線設定情報のどちらも記憶されていない場合には、S3でNOと判断して、S9に進む。
【0064】
S5では、プリンタ100は、DPP方式に従った通信をプリンタ100に実行させるのか否か、即ち、無線設定用画像の印刷をプリンタ100に実行させるのかをユーザに確認するためのプリンタ側確認画面PCSを表示部114に表示させる。画面PCSは、プリンタ100がAP6とのWi-Fi接続を確立するための確立情報(換言すると無線設定)を記憶済みであることを示す文字列と、無線設定用画像の印刷を実行することを示すYESボタンと、無線設定用画像の印刷を実行しないことを示すNOボタンと、を含む。これにより、ユーザは、プリンタ100がAPとのWi-Fi接続を確立するための確立情報を記憶済みであること、即ち、DPP方式に従った処理が新たに実行されると当該確立情報が破棄されること、を知ることができる。
【0065】
S7では、プリンタ100は、画面PCS内のYESボタンが選択されたのか否かを判断する。プリンタ100は、画面PCS内のYESボタンがユーザによって選択される場合に、S7でYESと判断して、S9に進む。一方、プリンタ100は、画面PCS内のNOボタンがユーザによって選択される場合に、S7でNOと判断して、S9以降の処理を実行することなく、非実行ENDとして
図7の処理を終了する。非実行ENDは、DPP方式に従った処理を中止すること意味する。
【0066】
S9では、プリンタ100は、公開鍵及び秘密鍵を生成する(
図3のT121)。そして、プリンタ100は、生成済みの公開鍵等をコード化することによって無線設定用QRコードを生成する。ここで、プリンタ100は、S9の処理を実行する毎に、前回生成された公開鍵及び秘密鍵とは異なる公開鍵及び秘密鍵を生成する。従って、プリンタ100は、S9の処理を実行する毎に、前回生成された無線設定用QRコードとは異なる無線設定用QRコードを生成する。これにより、印刷媒体に印刷された無線設定用QRコードが第三者の端末によって撮影されることに起因して、プリンタ100のユーザが意図していない装置とプリンタ100との間にWi-Fi接続が確立されるのを抑制することができる。
【0067】
S10では、プリンタ100は、S9で生成された無線設定用QRコードと、メモリ134内に予め記憶されているアプリインストール用QRコードと、を用いて無線設定用画像データを生成し、無線設定用画像データに従った印刷を印刷実行部118に開始させる(T122)。
【0068】
S12では、プリンタ100は、印刷実行部118において印刷が完了することを監視する。プリンタ100(即ちCPU132)は、印刷実行部118から印刷の完了を示す情報を取得する場合に、S12でYESと判断して、S20において、不可能状態から可能状態に移行する(T124)。
【0069】
一方、プリンタ100(即ちCPU132)は、印刷実行部118から印刷の完了を示す情報を取得する前にエラーの発生を示す情報を取得する場合に、S12でNOと判断して、不可能状態を維持する。そして、S15において、プリンタ100は、エラーが解消されることに起因して印刷が完了することを監視する。プリンタ100は、印刷実行部118から印刷の完了を示す情報を取得する場合に、S15でYESと判断して、S20において、不可能状態から可能状態に移行する。これにより、ユーザがプリンタ100のエラーを解消するための作業を実行するだけで、プリンタ100の動作状態が不可能状態から可能状態に移行される。従って、ユーザの利便性が向上する。一方、プリンタ100は、ユーザから印刷を中止すべきことを示す中止操作を受け付ける場合に、S15でNOと判断して、印刷の中止を印刷実行部118に指示し、非実行ENDとして
図7の処理を終了する。
【0070】
S25では、プリンタ100は、S20で可能状態に移行してから所定時間が経過するまでの間にAReqを受信したのか否かを判断する。プリンタ100は、所定時間内にAReqを受信した場合(T200)に、S25でYESと判断して、
図4のT202以降の処理を実行する実行ENDとして
図7の処理を終了する。
【0071】
一方、プリンタ100は、所定時間内にAReqを受信しなかった場合(S25でNO)に、S30において、可能状態から不可能状態に移行し、非実行ENDとして
図7の処理を終了する。これにより、プリンタ100において、処理負荷の高い可能状態が長時間に亘って継続されることを抑制することができる。
【0072】
(本実施例の効果)
本実施例では、プリンタ100は、無線設定用QRコードの印刷が完了する場合(
図7のS12でYES、
図3のT122)、即ち、S9で生成された公開鍵が端末10によって取得され、端末10から公開鍵が利用されたAReqを受信し得る場合に、動作状態を不可能状態から可能状態に移行させる(S20、T124)。これにより、プリンタ100は、端末10からAReqを受信することに応じて(
図4のT200)、AResを端末10に送信し(T210)、端末10から第2のCOを受信し(
図5のT310)、第2のCOを利用してAP6とのWi-Fi接続を確立することができる(
図2のT35、T40)。一方、プリンタ100は、エラーが発生することに起因して無線設定用QRコードの印刷が完了しない場合(
図7のS12でNO)、即ち、公開鍵が端末10によって取得されず、端末10からAReqを受信し得ない場合には、動作状態を不可能状態から可能状態に移行させない(S20を実行せずにS15を実行する)。従って、端末10を利用して、プリンタ100とAP6との間にWi-Fi接続を確立させることが可能な技術において、プリンタ100の処理負荷を軽減することができる。
【0073】
また、本実施例では、プリンタ100は、設定画面SS内の無線設定ボタンがユーザに行って選択された後(
図3のT120)に、不可能状態から可能状態に移行する(
図7のS20、T124)。これにより、プリンタ100は、端末10からAReqを受信することに応じて(
図4のT200)、AResを端末10に送信し(T210)、端末10から第2のCOを受信し(
図5のT310)、第2のCOを利用してAP6とのWi-Fi接続を確立することができる(
図2のT35、T40)。また、プリンタ100は、画面SS内の無線設定ボタンがユーザによって選択された後に、可能状態である状況において、端末10からAReqが受信されることなく所定時間が経過する場合(S25でNO)に、可能状態よりも低い処理負荷である不可能状態に移行する(S30)。従って、端末10を利用して、プリンタ100とAP6との間にWi-Fi接続を確立させることが可能な技術において、プリンタ100の処理負荷を軽減することができる。
【0074】
(対応関係)
端末10、AP6が、それぞれ、「第1の外部装置」、「第2の外部装置」の一例である。Wi-FiI/F116が、「無線インターフェース」の一例である。画面SS内の無線設定ボタンの選択が、「印刷指示」の一例である。無線設定用QRコード、
図7のS9で生成される公開鍵が、それぞれ、「コード画像」、「公開鍵」の一例である。AReq、ARes、第2のCOが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。
図2のT40で確立されるWi-Fi接続が、「無線接続」の一例である。
【0075】
画面PCSが、「確認画面」の一例である。アプリインストール用QRコード、URL「U」が、それぞれ、「異なる画像」、「位置情報」の一例である。チャネルリスト、
図4のT200で利用される通信チャネル、
図2のT40で利用される通信チャネルが、それぞれ、「通信チャネル情報」、「第1の通信チャネル」、「第2の通信チャネル」の一例である。AP用SCont、第2のCO内のハッシュ値HVが、それぞれ、「受信情報」、「認証情報」の一例である。
【0076】
図3のT120の処理、S10の処理、
図4のT200の処理、T210の処理、
図5のT310の処理、
図2のT35(及びT40)の処理が、それぞれ、「受付部」、「印刷制御部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。S20及びS30の処理が、「状態制御部」によって実行される処理の一例である。
【0077】
(第2実施例;
図8)
本実施例では、プリンタ100は、
図7の処理に代えて、
図8の処理を実行する。
【0078】
S103~S110は、
図7のS3~S10と同様である。S111では、プリンタ100は、印刷実行部118において印刷が完了する前に、不可能状態から可能状態に移行する。S112は、
図7のS12と同様である。プリンタ100は、印刷実行部118から印刷の完了を示す情報を取得する場合に、S112でYESと判断し、可能状態を維持してS125に進む。
【0079】
また、プリンタ100は、印刷実行部118からエラーの発生を示す情報を取得する場合に、S112でNOと判断して、S115において、可能状態から不可能状態に移行する。次いで、S118において、プリンタ100は、印刷実行部118からエラーの解消を示す情報を取得することを監視する。プリンタ100は、印刷実行部118からエラーの解消を示す情報を取得する場合に、S118でYESと判断して、S111に戻り、不可能状態から可能状態に移行する。即ち、プリンタ100は、印刷が完了する前に、不可能状態から可能状態に移行する。これにより、ユーザがプリンタ100のエラーを解消するための作業を実行するだけで、プリンタ100の動作状態が不可能状態から可能状態に移行される。従って、ユーザの利便性が向上する。一方、プリンタ100は、ユーザから印刷を中止すべきことを示す中止操作を受け付ける場合に、S118でNOと判断して、印刷の中止を印刷実行部118に指示し、非実行ENDとして
図8の処理を終了する。S125及びS130は、
図7のS25及びS30と同様である。
【0080】
(本実施例の効果)
本実施例では、プリンタ100は、無線設定用QRコードの印刷が完了する前に、動作状態を不可能状態から可能状態に移行させる(S111)。そして、プリンタ100は、エラーが発生することに起因して無線設定用QRコードの印刷が完了しない場合(
図8のS112でNO)には、動作状態を可能状態から不可能状態に移行させる(S115)。従って、端末10を利用して、プリンタ100とAP6との間にWi-Fi接続を確立させることが可能な技術において、プリンタ100の処理負荷を軽減することができる。
【0081】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0082】
(変形例1)
図3のT122で印刷される無線設定用QRコードは、チャネルリスト及びMACアドレス「abc」がコード化されたものでなくてもよい。即ち、「コード画像」は、少なくとも公開鍵をコード化することによって得られる画像であればよい。この場合、プリンタ100は、T124で不可能状態から可能状態に移行することに応じて、プリンタ100が利用可能な全ての無線チャネルのうちの1個の無線チャネルが利用されたAReqを受信することを監視する。また、端末10は、
図4のT200において、端末10が利用可能な全ての無線チャネルを順次利用して、AReqをブロードキャストによって順次送信する。
【0083】
(変形例2)共有鍵(例えばSK1)を生成するための処理(例えば、
図4のT142、T202)は、ECDHに従った上記の実施例の処理に限らず、ECDHに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ECDHに従った処理に限らず、他の方式(例えば、DH(Diffie-Hellman key exchangeの略)等)に従った処理が実行されてもよい。また、上記の実施例では、電子署名DS1及びDS2が、ECDSAに従って生成されたが、他の方式(例えば、DSA(Digital Signature Algorithmの略)、RAS(Rivest-Shamir-Adleman cryptosystemの略)等)に従って生成されてもよい。
【0084】
(変形例3)プリンタ100は、端末10から、Wi-FiI/F116を介して、特定の信号(例えば所定の文字列を含むProbe Request)を受信することに応じて、T121以降の処理を実行してもよい。即ち、「印刷指示」は、「操作部」を介した操作でなくてもよい。
【0085】
(変形例4)第1実施例において、
図7のS15の処理が省略されてもよい。この場合、プリンタ100は、S12でNOと判断する場合に、非実行ENDとして
図7の処理を終了する。また、第2実施例において、
図8のS118の処理が省略されてもよい。この場合、プリンタ100は、S112でNOと判断する場合に、S115において、可能状態から不可能状態に移行して、非実行ENDとして
図8の処理を終了する。
【0086】
(変形例5)変形例では、プリンタ100は、
図7のS20で可能状態に移行した後に、プリンタ100の動作状態を可能状態から不可能状態に移行させるための移行ボタンを含む特定画面を表示部114に表示させてもよい。この場合、プリンタ100は、特定画面内の移行ボタンがユーザによって選択されることに応じて、可能状態から不可能状態に移行する。本変形例によると、ユーザがWi-Fi接続の確立を望まない場合(例えば設定画面SS内の無線設定ボタンを誤って選択してしまった場合)には、特定画面内の移行ボタンを選択することによって、プリンタ100とAP6との間にWi-Fi接続が確立されることを抑制することができる。本変形例では、移行ボタンの選択操作が、「特定条件」が満たされる場合の一例である。
【0087】
(変形例6)Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」には、共有コード、キー、フレーズ、及び、ワードを「コード」と呼ぶことが記載されている。従って、プリンタ100は、T122において、無線設定用QRコードに代えて、公開鍵PPK1とチャネルリストとMACアドレス「abc」とがコード化されることによって得られる共有コード、キー、フレーズ、及び、ワードを含む無線設定用画像を印刷してもよい。
【0088】
(変形例7)
図2のT35において、端末10とプリンタ100との間でNAの処理が実行されて、端末10とプリンタ100との間でWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「第1の外部装置」と同じ装置であってもよい。
【0089】
(変形例8)
図3のT121の処理が省略されてもよい。この場合、プリンタ100は、公開鍵PPK1及び秘密鍵psk1と、公開鍵PPK1をコード化することによって得られる無線設定用QRコードと、をメモリ134内に予め記憶していてもよい。本変形例では、「公開鍵生成部」、「コード画像生成部」が省略可能である。
【0090】
(変形例9)T122で印刷される無線設定用画像が、アプリインストール用QRコードを含んでいなくてもよい。即ち、「印刷制御部」は、「異なる画像」の印刷を「印刷実行部」に実行させなくてもよい。
【0091】
(変形例10)上記の実施例では、端末10を利用して、プリンタ100とAP6との間のWi-Fi接続が確立される。これに代えて、例えば、端末10を利用して、WFD方式のG/O(Group Ownerの略)として動作するプリンタ100(即ち親局として動作するデバイス)と、他のデバイス(即ち子局として動作するデバイス)と、の間のWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「親局装置」でなくてもよい。
【0092】
(変形例11)上記の各実施例では、
図2~
図8の各処理がソフトウェア(即ちプログラム136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0093】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願当初の特許請求の範囲に記載の要素である。
(項目1)
プリンタであって、
印刷実行部と、
無線インターフェースと、
印刷指示を受け付ける受付部と、
前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部においてエラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を不可能状態に制御し、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、プリンタ。
(項目2)
前記印刷指示が受け付けられる前の前記プリンタの動作状態は、前記不可能状態であり、
前記状態制御部は、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させることによって、前記プリンタの動作状態を前記可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部において前記エラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を前記不可能状態に維持することによって、前記プリンタの動作状態を前記不可能状態に制御する、項目1に記載のプリンタ。
(項目3)
前記状態制御部は、さらに、前記印刷実行部において前記エラーが発生した後に前記エラーが解消されることに起因して前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させる、項目2に記載のプリンタ。
(項目4)
前記印刷指示が受け付けられる前の前記プリンタの動作状態は、前記不可能状態であり、
前記状態制御部は、
前記印刷指示が受け付けられた後であって、前記コード画像の印刷が完了する前に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させ、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を前記可能状態に維持することによって、前記プリンタの動作状態を前記可能状態に制御し、
前記コード画像の印刷が開始された後であって、前記プリンタの動作状態が可能状態に移行された後に、前記コード画像の印刷が実行されている状況において、前記印刷実行部において前記エラーが発生する場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させることによって、前記プリンタの動作状態を前記不可能状態に制御する、項目1に記載のプリンタ。
(項目5)
前記状態制御部は、さらに、前記印刷実行部において前記エラーが発生した後に前記エラーが解消される場合に、前記プリンタの動作状態を前記不可能状態から前記可能状態に移行させる、項目4に記載のプリンタ。
(項目6)
前記状態制御部は、さらに、前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させる、項目1から5のいずれか一項に記載のプリンタ。
(項目7)
プリンタであって、
印刷実行部と、
無線インターフェースと、
印刷指示を受け付ける受付部と、
前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記印刷指示が受け付けられた後に、前記プリンタの動作状態を不可能状態から可能状態に移行させ、
前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させ、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
を備える、プリンタ。
(項目8)
前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信されることなく所定時間が経過する場合に、前記特定条件が満たされる、項目6又は7に記載のプリンタ。
(項目9)
前記プリンタは、さらに、
前記印刷指示が受け付けられる毎に、前回生成された公開鍵とは異なる公開鍵を生成する公開鍵生成部と、
公開鍵が生成される毎に、生成済みの公開鍵をコード化することによって、前回生成されたコード画像とは異なるコード画像を生成するコード画像生成部と、
を備える、項目1から8のいずれか一項に記載のプリンタ。
(項目10)
前記プリンタは、さらに、
メモリと、
操作部と、
表示部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記メモリに記憶する記憶制御部と、を備え、
前記受付部は、前記操作部を介した前記印刷指示を受け付け、
前記印刷制御部は、前記接続情報が前記メモリに記憶されていない状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させ、
前記プリンタは、さらに、
前記接続情報が前記メモリに記憶されている状況において、前記操作部を介した前記印刷指示が受け付けられる場合に、前記コード画像の印刷を前記プリンタに実行させることを確認するための確認画面を前記表示部に表示させる表示制御部を備え、
前記印刷制御部は、前記確認画面が表示されている状況において、前記コード画像の印刷を前記プリンタに実行させることが指示される場合に、前記印刷媒体への前記コード画像の印刷を前記印刷実行部に開始させる、項目1から9のいずれか一項に記載のプリンタ。
(項目11)
前記印刷制御部は、前記印刷指示が受け付けられる場合に、前記コード画像と、前記コード画像とは異なる画像と、の印刷を前記印刷実行部に実行させ、
前記異なる画像は、前記第1の外部装置にインストールされるべきアプリケーションプログラムの位置を示す位置情報に関する画像である、項目1から10のいずれか一項に記載のプリンタ。
(項目12)
前記コード画像は、前記公開鍵をコード化することによって得られるQRコード(登録商標)である、項目1から11のいずれか一項に記載のプリンタ。
(項目13)
前記コード画像は、前記公開鍵と、前記プリンタにおいて予め決められている第1の通信チャネルを示す通信チャネル情報と、をコード化することによって得られる画像であり、
前記印刷媒体に印刷された前記コード画像が前記第1の外部装置によって撮影される場合に、前記公開鍵と前記通信チャネル情報とが前記第1の外部装置によって取得され、
前記可能状態は、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記プリンタの動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目1から12のいずれか一項に記載のプリンタ。
(項目14)
前記確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する、項目13に記載のプリンタ。
(項目15)
前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記確立部は、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立して、前記プリンタを前記無線ネットワークに子局として参加させる、項目1から14のいずれか一項に記載のプリンタ。
(項目16)
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、項目1から15のいずれか一項に記載のプリンタ。
(項目17)
前記プリンタは、さらに、
前記認証応答が前記第1の外部装置に送信された後に、前記プリンタをWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、項目1から16のいずれか一項に記載のプリンタ。
(項目18)
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
印刷指示を受け付ける受付部と、
前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記プリンタの印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記コード画像の印刷が開始された後に、前記コード画像の印刷が完了する場合に、前記プリンタの動作状態を可能状態に制御し、
前記コード画像の印刷が開始された後に、前記印刷実行部においてエラーが発生することに起因して前記コード画像の印刷が完了しない場合に、前記プリンタの動作状態を不可能状態に制御し、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記プリンタの無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
(項目19)
プリンタのためのコンピュータプログラムであって、
前記プリンタのコンピュータを、以下の各部、即ち、
印刷指示を受け付ける受付部と、
前記印刷指示が受け付けられた後に、印刷媒体へのコード画像の印刷を前記プリンタの印刷実行部に開始させる印刷制御部であって、前記コード画像は、公開鍵をコード化することによって得られる画像であり、前記印刷媒体に印刷された前記コード画像が第1の外部装置によって撮影される場合に、前記公開鍵が前記第1の外部装置によって取得される、前記印刷制御部と、
前記プリンタの動作状態を制御する状態制御部であって、
前記印刷指示が受け付けられた後に、前記プリンタの動作状態を不可能状態から可能状態に移行させ、
前記印刷指示が受け付けられた後に、前記プリンタの動作状態が前記可能状態である状況において、特定条件が満たされる場合に、前記プリンタの動作状態を前記可能状態から前記不可能状態に移行させ、
前記可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信することに応じて、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する状態であり、
前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態である、前記状態制御部と、
前記第1の外部装置から、前記プリンタの無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記プリンタの動作状態が前記可能状態である状況において、前記第1の外部装置から前記認証要求が受信される場合に、前記無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記プリンタと第2の外部装置との間に前記無線インターフェースを介した無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記プリンタと前記第2の外部装置との間に前記無線インターフェースを介した前記無線接続を確立する確立部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0094】
2:通信システム、6:AP、10:端末、16,116:Wi-FiI/F、40:接続アプリケーション、100:プリンタ、112:操作部、114:表示部、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム