(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004363
(43)【公開日】2024-01-16
(54)【発明の名称】第1の通信装置のためのコンピュータプログラム
(51)【国際特許分類】
H04W 12/0431 20210101AFI20240109BHJP
H04W 84/12 20090101ALI20240109BHJP
H04W 12/069 20210101ALI20240109BHJP
H04W 12/77 20210101ALI20240109BHJP
H04W 12/75 20210101ALI20240109BHJP
H04W 84/10 20090101ALI20240109BHJP
H04W 88/06 20090101ALI20240109BHJP
H04W 76/10 20180101ALI20240109BHJP
【FI】
H04W12/0431
H04W84/12
H04W12/069
H04W12/77
H04W12/75
H04W84/10 110
H04W88/06
H04W76/10
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022103994
(22)【出願日】2022-06-28
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】朝倉 弘崇
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067DD11
5K067DD17
5K067EE02
5K067EE10
5K067EE25
5K067FF23
5K067HH21
(57)【要約】
【課題】Wi-Fi接続が確立されない場合に、DPP処理を第1の通信装置に適切に再実行するための技術を提供すること。
【解決手段】第1の通信装置は、第2の通信装置のブートストラッピングキーが取得される場合に、DPPに従ったDPP処理を実行し、Wi-Fi接続が確立されない場合に、第1の通信装置にDPP処理を再実行させるための複数個の手法のうち、ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す手法画面を前記第1の通信装置の表示部に表示してもよい
【選択図】
図21
【特許請求の範囲】
【請求項1】
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
第1の所定操作が実行される場合に、第2の通信装置のブートストラッピングキーを取得する取得部と、
前記ブートストラッピングキーが取得される場合に、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)に従ったDPP処理を実行するDPP処理実行部であって、
前記DPP処理は、
前記Wi-Fiインターフェースを介して、前記ブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する処理と、
前記第2の通信装置に前記認証要求が送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する処理と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする処理であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間に、前記Wi-Fiインターフェースを介したWi-Fi接続を確立するための情報である、前記処理と、
を含む、前記DPP処理実行部と、
前記Wi-Fi接続が確立されない場合に、前記第1の通信装置に前記DPP処理を再実行させるための複数個の手法のうち、前記ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す手法画面を前記第1の通信装置の表示部に表示させる表示制御部と、
として機能させる、コンピュータプログラム。
【請求項2】
前記取得手段は、コード画像の撮影と、Bluetooth(登録商標)通信を含む第1の通信と、NFC(Near Field Communicationの略)通信を含む第2の通信と、のいずれかの手段である、請求項1に記載のコンピュータプログラム。
【請求項3】
前記手法画面は、前記取得手段が前記コード画像の撮影である場合に、コード画像の撮影をユーザに促す第1のメッセージを含む、請求項2に記載のコンピュータプログラム。
【請求項4】
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、
前記取得手段が前記コード画像の撮影であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーであることを示す場合に、前記第1のメッセージを含み、
前記取得手段が前記コード画像の撮影であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーでないことを示す場合に、前記第1のメッセージを含まず、前記第1の通信装置への第2の所定操作の実行を前記ユーザに促す第2のメッセージを含む、
請求項3に記載のコンピュータプログラム。
【請求項5】
前記手法画面は、前記取得手段が前記第1の通信である場合に、前記第1の通信装置への第2の所定操作の実行をユーザに促す第2のメッセージを含む、請求項2に記載のコンピュータプログラム。
【請求項6】
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、前記取得手段が前記第1の通信である場合に、前記ワンタイム情報によって示される内容に関わらず、前記第2のメッセージを含む、請求項5に記載のコンピュータプログラム。
【請求項7】
前記手法画面は、前記取得手段が前記第2の通信である場合に、前記第1の通信装置を前記第2の通信装置に近づけることをユーザに促す第3のメッセージを含む、請求項2に記載のコンピュータプログラム。
【請求項8】
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、
前記取得手段が前記第2の通信であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーであることを示す場合に、前記第3のメッセージを含み、
前記取得手段が前記第2の通信であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーでないことを示す場合に、前記第3のメッセージを含まず、前記第1の通信装置への第2の所定操作の実行を前記ユーザに促す第2のメッセージを含む、
請求項7に記載のコンピュータプログラム。
【請求項9】
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記第2の通信装置の状態を非応答状態から応答状態に移行させるために、ユーザが第3の所定操作を前記第2の通信装置に実行する必要があるのか否かを示す移行情報を取得し、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記手法画面は、
前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第3の所定操作の実行を前記ユーザに促す第4のメッセージを含み、
前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記前記第4のメッセージを含まない、
請求項2に記載のコンピュータプログラム。
【請求項10】
前記第1の通信である前記取得手段は、前記第2の通信装置から前記ブートストラッピングキーを含むアドバタイズ信号を受信する第1種の手段と、アドバタイズ信号の通信の後に確立されるBluetooth接続又はWi-Fi接続を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第2種の手段と、を含み、
前記手法画面は、
前記取得手段が前記第1の通信のうちの前記第1種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第4のメッセージを含み、
前記取得手段が前記第1の通信のうちの前記第1種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記第4のメッセージを含まず、
前記取得手段が前記第1の通信のうちの前記第2種の手段である場合に、前記移行情報によって示される内容に関わらず、前記第4のメッセージを含まない、請求項9に記載のコンピュータプログラム。
【請求項11】
前記第2の通信である前記取得手段は、NFC通信を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第3種の手段と、NFC通信の後に確立されるWi-Fi接続を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第4種の手段と、を含み、
前記手法画面は、
前記取得手段が前記第2の通信のうちの前記第3種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第4のメッセージを含み、
前記取得手段が前記第2の通信のうちの前記第3種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記第4のメッセージを含まず、
前記取得手段が前記第2の通信のうちの前記第4種の手段である場合に、前記移行情報によって示される内容に関わらず、前記第4のメッセージを含まない、請求項9に記載のコンピュータプログラム。
【請求項12】
前記取得部は、さらに、前記取得手段を示す手段情報を取得し、
前記表示制御部は、前記複数個の手法のうち、取得済みの前記手段情報によって示される前記取得手段に基づいて決定される前記1個の手法を示す前記手法画面を前記表示部に表示させる、請求項1に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、通信装置と外部装置との間に無線接続を確立させるための技術を開示する。
【背景技術】
【0002】
特許文献1には、DPP(Device Provisioning Protocolの略)に従って、一対の装置の間にWi-Fi接続を確立させる技術が開示されている。特に、特許文献1には、端末は、QRコード(登録商標)、NFC(Near Field Communicationの略)通信、Bluetooth(登録商標)通信等のいずれか1つの手段を利用して、プリンタの公開鍵を取得することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、DPPに従った処理が失敗する場合、即ち、一対の装置の間にWi-Fi接続が確立されない場合に、DPPに従った処理を再実行するための手段について、何ら開示されていない。本明細書では、Wi-Fi接続が確立されない場合に、DPP処理を第1の通信装置に適切に再実行するための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、第1の通信装置のためのコンピュータプログラムを開示する。前記第1の通信装置は、Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、コンピュータと、を備えてもよい。前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、第1の所定操作が実行される場合に、第2の通信装置のブートストラッピングキーを取得する取得部と、前記ブートストラッピングキーが取得される場合に、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)に従ったDPP処理を実行するDPP処理実行部であって、前記DPP処理は、前記Wi-Fiインターフェースを介して、前記ブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する処理と、前記第2の通信装置に前記認証要求が送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する処理と、前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする処理であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間に、前記Wi-Fiインターフェースを介したWi-Fi接続を確立するための情報である、前記処理と、を含む、前記DPP処理実行部と、前記Wi-Fi接続が確立されない場合に、前記第1の通信装置に前記DPP処理を再実行させるための複数個の手法のうち、前記ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す手法画面を前記第1の通信装置の表示部に表示させる表示制御部と、として機能させてもよい。
【0006】
上記の構成によると、第1の通信装置は、第2の通信装置のブートストラッピングキーを取得する。そして、第1の通信装置は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続が確立されない場合に、DPP処理を再実行させるための複数個の手法のうち、ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す手法画面を表示する。このように、Wi-Fi接続が確立されない場合に、手法画面に従って、第1の通信装置にDPP処理を適切に再実行させることができる。
【0007】
上記の第1の通信装置のためのコンピュータプログラムを記憶するコンピュータ可読記録媒体、当該コンピュータプログラムによって実現される第1の通信装置そのもの、及び、当該第1の通信装置によって実行される方法も、新規で有用である。また、上記の第1の通信装置と第2の通信装置とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0008】
【
図4】アプリによって実行される処理のフローチャートを示す。
【
図9】ケースB1及びケースB2のシーケンス図を示す。
【
図11】ケースD1及びケースD2のシーケンス図を示す。
【
図12】ケースE1及びケースE2のシーケンス図を示す。
【
図15】ケースG1及びケースG2のシーケンス図を示す。
【
図16】ケースH1及びケースH2のシーケンス図を示す。
【
図17】ケースI1及びケースI2のシーケンス図を示す。
【
図20】ケースK1及びケースK2のシーケンス図を示す。
【発明を実施するための形態】
【0009】
(通信システムの概略;
図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、複数個のプリンタ10A~10Kと、端末100と、を備える。以下では、プリンタ10A~10Kを特に区別しないときは、単に「プリンタ10」と記載することがある。本実施例では、端末100を利用して、各プリンタ10A~10KとAP6との間にWi-Fi規格に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
【0010】
(各プリンタの特徴;
図2)
図2を参照して、各プリンタ10A~10Kの特徴を説明する。
図2は、各プリンタ10A~10Kについて、セットアップ情報出力手段とワンタイム情報との組合せを示す。セットアップ情報出力手段は、各プリンタ10A~10Kがセットアップ情報を出力する手段を示す。ここで、セットアップ情報とは、各プリンタ10A~10KとAP6との間にWi-Fi接続を確立させる際に利用される情報を意味し、例えば、各プリンタ10A~10Kの公開鍵を含む。セットアップ情報の詳細については後述する。ワンタイム情報は、セットアップ情報に含まれる公開鍵がワンタイムキーであること(即ち1回のみ利用可能なキーであること)を示す「YES」と、公開鍵がワンタイムキーでないこと(即ち永続的に利用可能なキーであること)を示す「NO」と、のいずれか一方を示す。
【0011】
プリンタ10A及び10Bのそれぞれは、セットアップ情報をコード化することによって得られるQRコード(登録商標)を表示することによって、セットアップ情報を出力することができる。特に、プリンタ10Aの公開鍵はワンタイムキーであり、プリンタ10Bの公開鍵はワンタイムキーでない。また、プリンタ10Cは、セットアップ情報をコード化することによって得られるQRコードが貼り付けられている筐体50(
図1参照)を備える。
【0012】
プリンタ10D~10Gは、Bluetooth(登録商標)規格に従った無線通信を利用することによって、セットアップ情報を出力することができる。以下では、Bluetoothのことを「BT」と記載し、BT規格に従った無線通信のことを「BT通信」と記載する。BT規格は、例えば、IEEE802.15.1の規格、及び、それに準ずる規格である。より具体的に言うと、各プリンタ10D~10Gは、BLE(Bluetooth Low Energyの略)をサポートしている。BLEは、BT規格のバージョン4.0以降のバージョンで実現されている。特に、プリンタ10D及び10Eのそれぞれは、アドバタイズ信号を利用して、セットアップ情報を端末100に送信する。プリンタ10F及びプリンタ10Gのそれぞれは、BTによる1対1接続(例えばGATT(Generic Attribute Profileの略))を利用して、セットアップ情報を端末100に送信する。また、プリンタ10D及びプリンタ10Fのそれぞれの公開鍵はワンタイムキーであり、プリンタ10E及びプリンタ10Gのそれぞれの公開鍵はワンタイムキーではない。
【0013】
プリンタ10H~10Kのそれぞれは、NFC(Near Field Communicationの略)方式に従った通信(以下では「NFC通信」と記載する)を利用することによって、セットアップ情報を出力することができる。NFC方式は、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。プリンタ10H及び10Iのそれぞれは、NFC通信を利用して、セットアップ情報を端末100に直接的に送信する。また、プリンタ10J及びプリンタ10Kのそれぞれは、NFC通信を利用して、当該プリンタとのWi-Fi接続を確立するための情報を端末100に送信し、当該Wi-Fi接続を利用して、セットアップ情報を端末100に送信する。このように、一対のデバイスの間において、NFC通信を利用して、Wi-Fi接続を確立するための情報を通信し、その後、Wi-Fi接続を利用して、目的のデータを通信することを「NFCハンドオーバ」と記載することがある。また、プリンタ10H及びプリンタ10Jの公開鍵はワンタイムキーであり、プリンタ10I及びプリンタ10Kの公開鍵はワンタイムキーではない。
【0014】
(各デバイスの制御構成;
図3)
続いて、
図3を参照して、プリンタ10(即ち各プリンタ10A~10K)及び端末100の制御構成を説明する。
【0015】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば、端末100の周辺装置)である。変形例では、プリンタ10は、スキャン機能、ファクシミリ機能等を実行可能な多機能機であってもよい。プリンタ10は、操作部12とWi-Fiインターフェース16と印刷実行部18とを備える。以下では、インターフェースのことを「I/F」と記載する。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0016】
Wi-FiI/F16は、Wi-Fi規格に従ったWi-Fi通信を実行するための無線I/Fである。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によって作成された規格書「Wi-Fi Easy Connect (商標)Specification Version 2.0」に記述されている。
【0017】
また、プリンタ10J及びプリンタ10KのWi-FiI/F16は、さらに、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)をサポートしている。その理由については後述する。WFDの詳細は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Direct (登録商標)Specification Version1.9」に記述されている。以下では、WFDに従って確立されるWi-Fi接続のことを「WFD接続」と記載する。なお、他の各プリンタ10A~10IのWi-FiI/F16は、WFDをサポートしていてもよいし、WFDをサポートしていなくてもよい。
【0018】
また、プリンタ10A及び10Bは、表示部14を備える。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルであり、操作部12としても機能する。本実施例では、表示部14にはQRコードが表示される。なお、他の各プリンタ10C~10Kは、表示部14を備えていてもよいし、表示部14を備えていなくてもよい。
【0019】
また、各プリンタ10D~10Gは、BTI/F20を備える。BTI/F20は、BT通信を実行するためのI/Fである。なお、他の各プリンタ10A~10C及び10H~10Kは、BTI/F20を備えていてもよいし、BTI/F20を備えていなくてもよい。
【0020】
また、各プリンタ10H~10Kは、NFCI/F22を備える。NFCI/F22は、NFC通信を実行するためのI/Fである。なお、他の各プリンタ10A~10Gは、NFCI/F22を備えていてもよいし、NFCI/F22を備えていなくてもよい。
【0021】
ここで、Wi-Fi通信とBT通信とNFC通信との相違点を記述しておく。各通信の通信速度は、Wi-Fi通信の通信速度(例えば最大の通信速度が600Mbps)、BT通信の通信速度(例えば最大の通信速度が24Mbps)、NFC通信の通信速度(例えば最大の通信速度が424kbps)の順に速い。各通信における搬送波の周波数は、Wi-Fi通信における搬送波の周波数が2.4GHz帯又は5.0GHz帯であり、BT通信における搬送波の周波数が2.4GHz帯であり、NFC通信における搬送波の周波数が13.56MHzである。即ち、Wi-Fi通信における搬送波の周波数として5.0GHz帯が採用される場合には、各通信における搬送波の周波数は互いに異なる。また、各通信を実行可能な最大の距離は、Wi-Fi通信を実行可能な最大の距離(例えば100m)、BT通信を実行可能な最大の距離(例えば約数十m)、NFC通信を実行可能な最大の距離(例えば約10cm)の順に大きい。
【0022】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、さらに、自身のモデル名MNを記憶する。
【0023】
(端末100の構成)
端末100は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末100は、据置型のPC、ノートPC等であってもよい。端末100は、操作部112と表示部114とWi-FiI/F116とカメラ118と制御部130とを備える。各部112~130は、バス線(符号省略)に接続されている。
【0024】
操作部112は、様々な指示を端末100に入力するためのI/Fである。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、いわゆるタッチパネルであり、操作部112としても機能する。カメラ118は、物体を撮影するためのデバイスである。本実施例では、カメラ118は、プリンタ10のQRコードを撮影するために利用される。Wi-FiI/F116は、DPPとWFDとをサポートしている。
【0025】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に記憶されているプログラム136,138に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0026】
OS(Operating Systemの略)プログラム136は、端末100の基本的な動作を実現するためのプログラムである。アプリケーション138は、端末100とAP6との間にWi-Fi接続を確立させたり、プリンタ10とAP6との間にWi-Fi接続を確立させたりするためのプログラムである。以下では、OSプログラム、アプリケーションのことを、それぞれ、「OS」、「アプリ」と記載する。アプリ138は、例えば、プリンタ10のベンダによって提供されるインターネット上のサーバ(図示省略)又はOS136のベンダによって提供されるインターネット上のサーバ(図示省略)から端末100にインストールされる。
【0027】
なお、アプリ138は、OS136に指示を供給することによって、OS136に様々な処理を実行させたり、OS136を介して他のアプリに様々な処理を実行させたりすることができる。従って、アプリ138からの指示に応じてOS136又は他のアプリによって実行される各処理も、アプリ138によって実現される処理である(即ち当該処理を実行する実行部としてCPU132を機能させる)と言える。
【0028】
(アプリの処理;
図4)
続いて、
図4を参照して、端末100のCPU132がアプリ138を実行することによって実現される処理を説明する。
図4は、DPPに従ってプリンタ10とAP6との間にWi-Fi接続を確立させるための処理である。以下では、Wi-Fi接続の確立対象のプリンタのことを「対象プリンタ」と記載する。また、以下では、
図4の処理を説明する際に、CPU132ではなくアプリ138を主体として記載する。
図4の処理は、Wi-Fiセットアップ操作がユーザから受け付けられることをトリガとして開始される。
【0029】
アプリ138は、S10において、通知画面SC1(
図5参照)を表示部114に表示させる。通知画面SC1は、対象プリンタの選択を促すメッセージと、対象プリンタの選択の具体的な手段の選択肢(即ち、QRコード撮影、BT、NFC、及びモデル名選択)と、を含む。選択肢「QRコード撮影」は、対象プリンタに表示又は貼り付けられたQRコードを撮影することによって対象プリンタを選択することを意味する。選択肢「BT」は、対象プリンタとBT通信を実行することによって対象プリンタを選択することを意味する。選択肢「NFC」は、対象プリンタとNFC通信を実行することによって対象プリンタを選択することを意味する。選択肢「モデル名選択」は、対象プリンタのモデル名を選択することによって対象プリンタを選択することを意味する。
【0030】
アプリ138は、S12において、対象プリンタを選択する手段の選択をユーザから受け付ける。具体的には、アプリ138は、まず、通知画面SC1内の選択肢の中から1つの選択肢の選択をユーザから受け付ける。この場合、選択された選択肢に応じた処理が実行される。
【0031】
例えば、選択肢「QRコード撮影」が選択された場合には、アプリ138は、対象プリンタに表示又は貼り付けられたQRコードの撮影操作をユーザから受け付ける。この結果、アプリ138は、当該QRコードをデコードすることによって、セットアップ情報を取得する。選択肢「BT」が選択された場合には、アプリ138は、対象プリンタとのBT通信を利用して、対象プリンタからセットアップ情報を受信する。選択肢「NFC」が選択された場合には、アプリ138は、端末100が対象プリンタに近づけられることに応じて、対象プリンタとのNFC通信を利用して、対象プリンタからセットアップ情報を受信する。選択肢「モデル名選択」が選択された場合には、アプリ138は、対象プリンタのモデル名の選択をユーザから受け付ける。この場合、セットアップ情報は取得されない。
【0032】
ここで、
図4に示されるように、セットアップ情報は、手段情報と公開鍵とワンタイム情報とDPP自動移行情報とを含む。手段情報は、セットアップ情報取得手段(即ちQRコード撮影、BT通信、又は、NFC通信)を示す情報である。公開鍵は、DPPに従った認証を実行する際に利用される情報である。ワンタイム情報は、公開鍵がワンタイムキーであることを示す「YES」と、公開鍵がワンタイムキーでないことを示す「NO」と、のいずれか一方を示す。DPP自動移行情報は、対象プリンタがユーザからDPP移行操作を受け付けることなくDPP非応答状態からDPP応答状態に移行することを示す「YES」と、対象プリンタがユーザからDPP移行操作を受け付けることに応じてDPP非応答状態からDPP応答状態に移行することを示す「NO」と、のいずれか一方を示す。DPP応答状態は、DPP処理を実行可能な状態、即ち、DPPのAuthentication Requestを受信して、DPPのAuthentication Responseを送信可能な状態である。DPP非応答状態は、DPP処理を実行不可能な状態、即ち、DPPのAuthentication Responseを送信不可能な状態である。上記のセットアップ情報の取得が、DPPのBootstrappingに相当する。
【0033】
アプリ138は、S14において、セットアップ情報を取得したのか否かを判断する。具体的には、アプリ138は、選択肢「QRコード」、「BT」、及び「NFC」のいずれかが選択される場合には、選択肢に応じた処理が実行されることによってセットアップ情報が取得されるので、S14でYESと判断して、S20に進み、セットアップ情報を記憶する。一方、アプリ138は、選択肢「モデル名選択」が選択される場合に、セットアップ情報が取得されないので、S14でNOと判断して、S16に進む。
【0034】
アプリ138は、S16において、セットアップ情報取得手段を表示部14に表示させる。アプリ138は、プリンタのモデル名毎に、当該モデル名を有するプリンタのセットアップ情報出力手段(
図2参照)を記憶している。アプリ138は、選択済みのモデル名を有するプリンタ(即ち対象プリンタ)のセットアップ情報出力手段から、セットアップ情報取得手段(即ち、QRコード撮影、BT、及びNFCのうちの1つ以上の手段)を特定する。そして、アプリ138は、特定済みの取得手段を表示部14に表示させる。ユーザは、当該表示を見ることによって、対象プリンタからセットアップ情報を取得するための手段を知ることができる。アプリ138は、S16の処理が終了すると、再びS10の処理を実行する。
【0035】
アプリ138は、S22において、取得済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、DPP自動移行情報が「NO」を示すのか否かを判断する。アプリ138は、手段情報が「QRコード」を示し、かつ、DPP自動移行情報が「NO」を示す場合に、S22でYESと判断してS24に進む。一方、アプリ138は、上記の場合以外(即ち、手段情報が「QRコード」とは異なる場合、又は、DPP自動移行情報が「YES」を示す場合)に、S22でNOと判断してS30に進む。
【0036】
アプリ138は、S24において、対象プリンタにDPP移行操作を実行済みであるのか否かをユーザに問い合わせる画面を表示部114に表示させる。当該画面は、対象プリンタに対するDPP移行操作を実行済みであるのか否かをユーザに問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。
【0037】
アプリ138は、S26において、上記の画面のYESボタンが選択されたのかNOボタンが選択されたのかを判断する。アプリ138は、YESボタンが選択される場合(S26でYES)にS30に進み、NOボタンが選択される場合(S26でNO)にS28に進む。なお、上記の画面でYESボタンが選択される状況は、対象プリンタがユーザからのDPP移行操作を受け付けることに応じてQRコードを表示させるケースである(例えば、後述のケースA2参照)。一方、上記の画面でNOボタンが選択される状況は、対象プリンタの筐体にQRコードが貼付されているケースである(後述のケースC参照)。
【0038】
アプリ138は、S28において、対象プリンタに対してDPP移行操作を実行することをユーザに促す画面を表示部114に表示させる。この結果、当該画面を見たユーザから、対象プリンタに対してDPP移行操作が実行された後に、S30以降の処理が実行される。
【0039】
アプリ138は、S30において、DPP処理を開始する。具体的には、アプリ138は、まず、取得済みの公開鍵が利用されたAuthentication Requestを対象プリンタに送信する。この結果、DPPのAuthentication(以下では「Auth」と記載する)、Configuration(以下では「Config」と記載する)等のDPPに従った各種処理(以下では「DPP処理」と記載する)が、端末100と対象プリンタとの間で実行される。
【0040】
アプリ138は、S32において、対象プリンタとAP(例えばAP6)との間にWi-Fi接続が確立されたのか否かを判断する。具体的には、アプリ138は、対象プリンタとAPの間にWi-Fi接続が確立される場合に、対象プリンタから、Wi-Fi接続が確立されたことを示す情報を含むStatus Query Result(以下では、単に「Result」と記載する)を受信する。一方、アプリ138は、対象プリンタとAPとの間にWi-Fi接続が確立されない場合に、対象プリンタから、Wi-Fi接続が確立されなかったことを示す情報を含むResultを受信する。アプリ138は、対象プリンタから、Wi-Fi接続が確立されたことを示す情報を含むResultを受信する場合に、S32でYESと判断して、
図4の処理を終了する。一方、アプリ138は、対象プリンタから、Wi-Fi接続が確立されなかったことを示す情報を含むResultを受信する場合に、S32でNOと判断して、S34に進む。
【0041】
アプリ138は、S34において、S20で記憶済みのセットアップ情報に含まれる手段情報に基づいて、DPP処理の再実行手段(例えばQRコードの再撮影等)を表わす画面を表示部114に表示させる。当該画面の具体例及びその詳細については後述する。手段情報に基づいて決定される再実行手段が表示されるので、適切な再実行手段をユーザに提示することができる。
【0042】
アプリ138は、S36において、ユーザから再実行手段の実行を受け付けたのか否かを判断する。アプリ138は、ユーザから再実行手段の実行を受け付ける場合に、S36でYESと判断して、S30の処理を再実行する。一方、アプリ138は、ユーザからDPP処理の再実行をキャンセルする操作を受け付ける場合に、S36でNOと判断して、
図4の処理を終了する。
【0043】
(ケースA1;
図5及び
図6)
続いて、
図5~
図20を参照して、
図4の処理によって実現される具体的なケースを説明する。まず、
図5及び
図6を参照して、ケースA1を説明する。ケースA1は、端末100とプリンタ10Aとの間でDPP処理が実行されるケースである。特に、ケースA1は、プリンタ10AがDPPのConfigration Object(以下では「CO」と記載する)を記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
【0044】
図示省略しているが、
図5の初期状態では、端末100とAP6との間でDPP処理が実行されており、端末100とAP6との間にWi-Fi接続が確立済みである。
図5の以下の説明では、理解の容易化のために、各デバイスのCPU(例えばCPU32、132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ10A、端末100等)を主体として記載する。
図6~
図20の説明でも同様である。
【0045】
図5のT100において、ユーザによってプリンタ10Aの電源をONする操作が実行されると、T102において、プリンタ10Aの電源がONされる。この場合、プリンタ10Aは、T104において、公開鍵PKA1を生成し、T106において、QRコードQRA1を生成し、T110において、DPP非応答状態からDPP応答状態に移行し、T112において、QRコードQRA1を表示部14に表示する。QRコードQRA1は、手段情報「QRコード」と、公開鍵PKA1と、ワンタイム情報「YES」と、DPP自動移行情報「YES」と、をコード化することによって得られるコード画像(即ち、セットアップ情報をコード化することによって得られるコード画像)である。
【0046】
また、図示省略しているが、プリンタ10Aは、T104において、公開鍵PKA1に対応する秘密鍵を生成する。公開鍵PKA1及び秘密鍵は、DPPに従った認証を実行する際に利用される。このように、プリンタ10Aの電源がONされる際に、T104において公開鍵PKA1が生成されるので、プリンタ10Aは、予め公開鍵PKA1を記憶しておく必要がない。
【0047】
端末100は、T120において、ユーザからアプリ138を起動する操作を受け付ける。この結果、アプリ138が起動されると、アプリ138は、T122において、通知画面SC1を表示部114に表示させる(
図4のS10)。
【0048】
端末100は、T124において、ユーザから、通知画面SC1内の選択肢「QRコード撮影」の選択を受け付ける。この場合、端末100は、カメラ118を起動させる。そして、端末100は、T126において、プリンタ10Aに表示されているQRコードQRA1をカメラ118によって撮影する操作を受け付ける(S12)。この場合、端末100は、撮影済みのQRコードQRA1をデコードすることによってセットアップ情報を取得し(S14でYES)、T128において、取得済みのセットアップ情報をメモリ134に記憶する(S20)。T126の処理は、DPPのBootstrappingに相当する。
【0049】
また、端末100は、T128において、セットアップ情報を記憶すると、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので(S22でNO)、T130において、Wi-FiI/F116を介して、公開鍵PKA1が利用されたAuth Requestをプリンタ10Aに送信する(S30)。以下では、Requestのことを「Req」と記載する。
【0050】
Auth Reqは、送信元の端末100の認証の実行を要求する信号である。具体的には、端末100は、まず、端末100の秘密鍵(図示省略)とプリンタ10Aの公開鍵PKA1とを利用して共有鍵を生成し、共有鍵を利用してランダム値を暗号化することによって暗号化データを生成する。そして、端末100は、端末100の公開鍵(図示省略)と暗号化データと端末100のCapabilityとを含むAuth Reqをプリンタ10Aに送信する。端末100のCapabilityは、DPPのConfiguratorのみとして動作可能であることを示す値を含む。
【0051】
プリンタ10Aは、T130において、Wi-FiI/F16を介して、端末100からAuth Reqを受信すると、Auth Reqに含まれる暗号化データの認証を実行する。具体的には、プリンタ10Aは、Auth Reqに含まれる端末100の公開鍵とプリンタ10Aの秘密鍵とを利用して共有鍵を生成し、共有鍵を利用して暗号化データを復号する。プリンタ10Aは、暗号化データの復号が成功する場合に、認証が成功したと判断し、T132以降の処理を実行する。
【0052】
プリンタ10Aは、T132において、DPP応答状態からDPP非応答状態に移行する。暗号化データの認証が成功したので、DPP応答状態を維持する必要がないからである。DPP応答状態はDPP非応答状態と比較してプリンタ10Aの処理負荷が高い状態であるので、DPP応答状態からDPP非応答状態に移行することによって、プリンタ10Aの処理負荷を低減することができる。
【0053】
また、プリンタ10Aは、T134において、Wi-FiI/F16を介して、プリンタ10AのCapabilityを含むAuth Respnoseを端末100に送信する。以下では、Responseのことを「Res」と記載する。プリンタ10AのCapabilityは、DPPのEnrolleeのみとして動作可能であることを示す値を含む。
【0054】
端末100は、T134において、プリンタ10AからAuth Resを受信すると、Auth Resに含まれるプリンタ10AのCapability(即ちEnrollee)と、端末100自身のCapability(即ちConfigurator)と、が衝突しないと判断する。そして、端末100は、T135において、Wi-FiI/F116を介して、Auth ConfirmをAP6に送信する。Auth Confirmは、端末100がConfiguratorとして動作し、かつ、プリンタ10AがEnrolleeとして動作することを示す情報を含む。この結果、端末100は、T136において、Configuratorとして動作することを決定する。Configuratorは、COをEnrolleeに送信する役割を担うデバイスである。
【0055】
また、T138では、プリンタ10Aは、Enrolleeとして動作することを決定する。Enrolleeは、ConfiguratorからCOを受信する役割を担うデバイスである。T130及びT134~T138の処理は、DPPのAuthに相当する。
【0056】
プリンタ10Aは、T140において、Wi-FiI/F16を介して、Config Reqを端末100に送信する。Config Reqは、COの送信を要求する信号である。
【0057】
端末100は、T140において、プリンタ10AからConfig Reqを受信すると、プリンタ用COを生成する。具体的には、端末100は、まず、Wi-Fi接続を確立するためにプリンタ10Aによって利用されるべき情報であるプリンタ用Signed Connector(以下では「SC」と記載する)を生成する。プリンタ用SCは、例えば、無線ネットワークを識別する識別子であるグループIDを含む。そして、端末100は、プリンタ用SCを含むプリンタ用COを生成し、T142において、Wi-FiI/F116を介して、プリンタ用COを含むConfig Resをプリンタ10Aに送信する。
【0058】
プリンタ10Aは、T142において、Wi-FiI/F16を介して、端末100からConfig Resを受信すると、T144において、Wi-FiI/F16を介して、Config Resultを端末100に送信する。Config Resultは、Configが成功したことを示す情報を含む。T140~T144の処理は、DPPのConfigに相当する。
【0059】
プリンタ10Aは、T150において、Wi-FiI/F16を介して、プリンタ用SCを含むDiscovery ReqをAP6に送信する。Discovery Reqは、相手のSCの送信を要求する信号である。しかしながら、本ケースでは、AP6の電波環境が悪いことに起因して、AP6は、Discovery Reqを受信しない。この結果、AP6は、Discovery Resをプリンタ10Aに送信しない。
【0060】
プリンタ10Aは、T152において、Discovery ReqをAP6に送信してから所定時間が経過しても、AP6からDiscovery Resを受信しない場合に、端末100にResultを送信する。当該Resultは、プリンタ10AとAP6との間にWi-Fi接続が確立されなかったことを示す情報「エラー」を含む。なお、図示省略しているが、プリンタ10AとAP6との間にWi-Fi接続が確立されない場合には、プリンタ10Aは、T142で受信済みのプリンタ用COを削除する。
【0061】
(
図5の続き;
図6)
端末100は、
図5のT152において、対象プリンタから、Wi-FiI/F116を介して、エラーを含むResultを受信すると、
図6のT154において、通知画面SC2を表示部114に表示させる(
図4のS34)。具体的には、まず、端末100は、セットアップに失敗したこと(即ちプリンタ10AとAP6との間にWi-Fi接続が確立されなかったこと)を示すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、ワンタイム情報が「YES」を示すので、QRコードの再撮影を促すメッセージを特定する。プリンタ10Aの公開鍵がワンタイムキーであるので、公開鍵を再取得する必要があるからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。この結果、通知画面SC2は、セットアップに失敗したことを示すメッセージと、QRコードの再撮影を促すメッセージと、を含み、DPP移行操作を促すメッセージを含まない。即ち、通知画面SC2は、端末100が特定したメッセージを含むと共に、端末100が特定しないメッセージを含まない。これにより、セットアップに失敗したこと、及び、QRコードの再撮影を実行すべきこと、がユーザに通知される。
【0062】
プリンタ10Aは、エラーを含むResultを端末100に送信すると、T156において、公開鍵PKA1とは異なる公開鍵PKA2を生成し、T158において、QRコードQRA2を生成し、T160において、DPP非応答状態からDPP応答状態に移行し、T162において、QRコードQRA2を表示部14に表示する。即ち、プリンタ10Aは、
図5のT150でDiscovery ReqをAP6に送信してから所定時間が経過しても、AP6からDiscovery Resを受信しない場合に、ユーザからの操作を受け付けることなく、T156~T162の処理を実行する。このように、プリンタ10AとAP6との間のWi-Fi接続が確立されない場合に、T156において、自動的に(即ちユーザからの操作を受け付けることなく)公開鍵PKA2が生成されるので、ユーザの利便性が向上する。QRコードQRA2は、公開鍵PKA1に代えて公開鍵PKA2を含むセットアップ情報がコード化されることによって得られるコード画像である。
【0063】
ユーザは、通知画面SC2を見ることに応じて、T164において、QRコードQRA2を再撮影する。T164及びT166の処理は、セットアップ情報が異なる(具体的には公開鍵PKA2が利用される)点を除いて、
図5のT126及びT128の処理と同様である。その後、公開鍵PKA2が利用される点を除いて、
図5のT130~T144の処理と同様の処理が実行される。
【0064】
プリンタ10Aは、T166において、Wi-FiI/F16を介して、プリンタ用SCを含むDiscovery ReqをAP6に送信する。T166の段階では、AP6の電波環境が改善されている。このため、AP6は、T166において、プリンタ10AからDiscovery Reqを受信する。
【0065】
AP6は、T166において、プリンタ10AからDiscovery Reqを受信すると、AP用SCを利用して、Discovery Reqに含まれるプリンタ用SCの認証を実行する。AP6は、プリンタ用SCの認証が成功すると、接続キーを生成する。そして、APは、T168において、AP用SCを含むDiscovery Resをプリンタ10Aに送信する。
【0066】
プリンタ10Aは、T168において、AP6からDiscovery Resを受信すると、プリンタ用SCを利用して、Discovery Resに含まれるAP用SCの認証を実行する。プリンタ10Aは、AP用SCの認証が成功すると、接続キーを生成する。ここで生成される接続キーは、AP6によって生成される接続キーと同じである。即ち、プリンタ10A及びAP6によって接続キーが共有される。
【0067】
次いで、プリンタ10Aは、接続キーを利用して、4way-handshakeの通信をAP6と実行する。この結果、T170において、プリンタ10AとAP6との間にWi-Fi接続が確立される。端末100とAP6との間にもWi-Fi接続が確立済みであるので、端末100とプリンタ10Aとは、AP6を介して相互に通信可能となる。T166~T170の処理は、DPPのNetwork Accessに相当する。
【0068】
また、図示省略しているが、プリンタ10Aは、AP6とのWi-Fi接続が確立されると、受信済みのプリンタ用COをメモリ34に記憶する。従って、これ以降、プリンタ10Aでは、DPP自動移行情報として「YES」に代えて「NO」が利用される。プリンタ用COが記憶されている状況では、プリンタ10Aとデバイス(本ケースではAP6)との間にWi-Fi接続が確立されている。このような状況でDPP自動移行情報が「YES」であると(即ちDPP応答状態に自動的に移行すると)、ユーザが意図しない状況でプリンタ10AがDPP処理を実行してしまうおそれがある。この結果、例えば、プリンタ10Aのユーザとは異なる第三者によってプリンタ10AのQRコードが撮影され得る。ユーザが意図しない状況でプリンタ10AがDPP処理を実行すると、プリンタ10Aが新たなプリンタ用COを受信することによって記憶済みのプリンタ用COを削除することに応じて、AP6とのWi-Fi接続が切断される可能性がある。このような事象を抑制するために、プリンタ10AとAP6との間にWi-Fi接続が確立されると、即ち、プリンタ10Aがプリンタ用COを記憶すると、DPP自動移行情報が「YES」から「NO」に変更される。
【0069】
また、プリンタ10Aは、AP6とのWi-Fi接続が確立されると、Wi-FiI/F16を介して、Wi-Fi接続が確立されたことを示す情報「成功」を含むResultを端末100に送信する。
【0070】
端末100は、T172において、Wi-FiI/F116を介してプリンタ10Aから成功を含むResultを受信する(
図4のS32でYES)。
【0071】
上述したように、プリンタ10Aは、AP6とのWi-Fi接続を確立することができる。このために、プリンタ10Aは、端末100からAP6を介して印刷対象の画像を表わす印刷データを受信して、当該印刷データによって表わされる画像の印刷を実行することができる。
【0072】
(ケースA2;
図7)
続いて、
図7を参照して、ケースA2を説明する。ケースA2は、端末100とプリンタ10Aとの間でDPP処理が実行されるケースである。特に、ケースA2は、プリンタ10AがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。
【0073】
図7のT200において、ユーザによってプリンタ10Aの電源をONする操作が実行されると、T202において、プリンタ10Aの電源がONされる。本ケースでは、プリンタ10AがCOを記憶済みであるので、プリンタ10Aは、DPP応答状態に自動的に移行しない。プリンタ10Aは、T203において、ユーザからDPP移行操作を受け付けると、T204~T212の処理を実行する。T204~T212の処理は、公開鍵PKA3が利用される点、及び、QRコードQRA3が利用される点を除いて、
図5のT104~T112と同様である。プリンタ10Aは、ユーザからDPP移行操作を受け付ける場合に公開鍵を生成するので、適切なタイミングで公開鍵を生成することができる。QRコードQRA3は、公開鍵PKA1に代えて公開鍵PKA3を含み、かつ、DPP自動移行情報「NO」を含むセットアップ情報がコード化されることによって得られるコード画像である。その後、
図5のT120~T128と同様の処理が実行される。
【0074】
本ケースでは、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、DPP自動移行情報が「NO」を示すので(
図4のS22でYES)、端末100は、T214において、問合画面(
図4参照)を表示部114に表示させる(S24)。本ケースでは、ユーザはDPP移行操作をプリンタ10Aに実行済みであるので(T203参照)、端末100は、T216において、ユーザから問合画面内のYESボタンの選択を受け付ける(S26でYES)。この場合、公開鍵PKA3が利用される点を除いて、
図5のT130~T152と同様の処理が実行される。即ち、プリンタ10AとAP6との間のWi-Fi接続が確立されない。
【0075】
この場合、端末100は、T254において、通知画面SC3を表示部114に表示させる(
図4のS34)。具体的には、まず、端末100は、セットアップに失敗したことを示すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、ワンタイム情報が「YES」を示すので、QRコードの再撮影を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。従って、通知画面SC3は、セットアップに失敗したことを示すメッセージと、QRコードの再撮影を促すメッセージと、DPP移行操作を促すメッセージと、を含む。これにより、セットアップに失敗したこと、QRコードの再撮影を実行すべきこと、及び、DPP移行操作を実行すべきこと、がユーザに通知される。
【0076】
ユーザは、通知画面SC3を見ることに応じて、T255において、DPP移行操作をプリンタ10Aに実行する。その後のT256~T266の処理は、公開鍵PKA4が利用される点、QRコードQRA4が利用される点、及び、DPP自動移行情報「NO」が利用される点を除いて、
図6のT156~T166と同様である。プリンタ10Aは、ユーザからDPP移行操作を受け付ける場合に公開鍵を生成するので、適切なタイミングで公開鍵を生成することができる。その後、公開鍵PKA4が利用される点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10AとAP6との間にWi-Fi接続が確立される。
【0077】
(ケースA3;
図8)
続いて、
図8を参照して、ケースA3を説明する。ケースA3は、端末100とプリンタ10Aとの間でDPP処理が実行されるケースである。特に、ケースA3は、対象プリンタの選択手段として「モデル名選択」が選択されるケースである。ケースA3の初期状態は、ケースA1の初期状態と同様である。ケースA3では、まず、
図5のT100~T112と同様の処理が実行される。T320及びT322の処理は、
図5のT120及びT122の処理と同様である。
【0078】
端末100は、T324において、通知画面SC1内の選択肢「モデル名選択」の選択を受け付けた後、プリンタ10Aのモデル名MNAの選択を受け付ける(
図4のS12)。この場合、端末100は、セットアップ情報を取得しないので(S14でNO)、まず、プリンタ10Aのセットアップ情報出力手段(即ちQRコード)を特定する。そして、アプリ138は、T326において、通知画面SC4を表示部114に表示させる(S16)。通知画面SC4は、QRコードの撮影を促すメッセージを含む。ユーザは、通知画面SC4を見ることによって、QRコードを撮影すべきことを知ることができる。その後、
図5のT126~T152の処理、及び
図6と同様の処理が実行され、プリンタ10AとAP6との間にWi-Fi接続が確立される。
【0079】
(ケースB1;
図9)
続いて、
図9を参照して、ケースB1を説明する。ケースB1は、端末100とプリンタ10Bとの間でDPP処理が実行されるケースである。特に、ケースB1は、プリンタ10BがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
図2に示されるように、プリンタ10Bの公開鍵はワンタイムキーでない。プリンタ10Bは、公開鍵PKBをプリンタ10Bの出荷段階から予め記憶している。
【0080】
T400及びT402の処理は、
図5のT100及びT102の処理と同様である。また、T406~T412の処理は、セットアップ情報が異なる点(具体的には公開鍵PKBが利用される点及びワンタイム情報「NO」が利用される点)を除いて、
図5のT106~T112の処理と同様である。なお、変形例では、プリンタ10Bは、QRコードQRB1をプリンタ10Bの出荷段階から記憶していてもよい。この変形例では、T406の処理を省略可能である。その後、公開鍵PKBが利用される点、及び、処理の主体がプリンタ10Bである点を除いて、
図5のT120~T152と同様の処理が実行される。即ち、プリンタ10BとAP6との間のWi-Fi接続が確立されない。
【0081】
端末100は、T422において、通知画面SC5を表示部114に表示させる(
図3のS34)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、ワンタイム情報が「NO」を示すので、QRコードの再撮影を促すメッセージを特定せずに、DPP再実行操作の実行を促すメッセージを特定する。プリンタ10Bの公開鍵はワンタイムキーでないので、公開鍵を再取得する必要がないからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。この結果、通知画面SC5は、セットアップに失敗したことを示すメッセージと、DPP再実行操作の実行を促すメッセージと、を含み、DPP移行操作を促すメッセージを含まない。
【0082】
プリンタ10Bは、エラーを含むResultを端末100に送信すると(
図9で参照する
図5のT152)、T423において、DPP非応答状態(
図5のT132参照)からDPP応答状態に移行する。
【0083】
ユーザは、通知画面SC5を見ることに応じて、T424において、DPP再実行操作を端末100に実行する。この場合、公開鍵PKBが利用される点、及び、処理の主体がプリンタ10Bである点を除いて、
図5のT130~T144、及び、
図6のT166~T172と同様の処理が実行され、プリンタ10BとAP6との間にWi-Fi接続が確立される。
【0084】
(ケースB2;
図9)
続いて、
図9を参照して、ケースB2を説明する。ケースB2は、端末100とプリンタ10Bとの間でDPP処理が実行されるケースである。特に、ケースB2は、プリンタ10BがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースB2では、まず、公開鍵PKBが利用される点を除いて、
図7のT200~T203及びT206~T212と同様の処理が実行される。その後、公開鍵PKBが利用される点、及び、処理の主体がプリンタ10Bである点を除いて、
図5のT120~T128、
図7のT214、T216、及び
図5のT130~T152と同様の処理が実行される。即ち、プリンタ10BとAP6との間のWi-Fi接続が確立されない。
【0085】
端末100は、T432において、通知画面SC6を表示部114に表示させる(
図3のS34)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、ワンタイム情報が「NO」を示すので、QRコードの再撮影を促すメッセージを特定せずに、DPP再実行操作の実行を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。この結果、通知画面SC6は、セットアップに失敗したことを示すメッセージと、DPP再実行操作の実行を促すメッセージと、DPP移行操作を促すメッセージと、を含む。
【0086】
ユーザは、通知画面SC6を見ることに応じて、T434において、DPP移行操作をプリンタ10Bに実行する。この場合、プリンタ10Bは、T436において、DPP非応答状態からDPP応答状態に移行する。T438の処理は、T424の処理と同様である。その後、公開鍵PKBが利用される点、及び、処理の主体がプリンタ10Bである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10BとAP6との間にWi-Fi接続が確立される。
【0087】
(ケースC;
図10)
続いて、
図10を参照して、ケースCを説明する。ケースCは、端末100とプリンタ10Cとの間でDPP処理が実行されるケースである。上記の通り、プリンタ10Cは、QRコードQRCが貼り付けられた筐体50を備える(
図1参照)。従って、プリンタ10Cは、プリンタ10Cの出荷段階からワンタイムキーでない公開鍵PKCを記憶している(
図2参照)。また、プリンタ10CがCOを記憶しているのか否かに関わらず、DPP自動移行情報は「NO」を示す。
【0088】
T500及びT502の処理は、
図5のT100及びT102の処理と同様である。その後、
図5のT120~T128と同様の処理が実行される。本ケースでは、記憶済みのセットアップ情報に含まれる手段情報が「QRコード」を示し、かつ、DPP自動移行情報が「NO」を示すので(
図4のS22でYES)、端末100は、T504において、問合画面(
図4参照)を表示部114に表示させる(S24)。本ケースでは、ユーザはDPP移行操作をプリンタ10Cに実行済みでないので、端末100は、T506において、ユーザから問合画面内のNOボタンの選択を受け付ける(S26でNO)。この場合、端末100は、T508において、DPP移行操作を促す画面(
図4参照)を表示部114に表示させる(S28)。
【0089】
プリンタ10Cは、T510において、当該画面を見たユーザからDPP移行操作を受け付けると、T512において、DPP応答状態に移行する。その後、公開鍵PKCが利用される点、及び、処理の主体がプリンタ10Cである点を除いて、
図5のT130~T152と同様の処理が実行される。即ち、プリンタ10CとAP6との間のWi-Fi接続が確立されない。
【0090】
端末100は、T522において、通知画面SC6を表示部114に表示させる(
図3のS34、
図9参照)。具体的な処理は、
図9のT432の処理と同様である。T530~T534の処理は、
図9のT434~T438の処理と同様である。その後、公開鍵PKCが利用される点、及び、処理の主体がプリンタ10Cである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10CとAP6との間にWi-Fi接続が確立される。
【0091】
(ケースD1;
図11)
続いて、
図11を参照して、ケースD1を説明する。ケースD1は、端末100とプリンタ10Dとの間でDPP処理が実行されるケースである。特に、ケースD1は、プリンタ10DがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。ケースD1では、まず、公開鍵PKD1が利用される点を除いて、
図5のT100~T104及びT110と同様の処理が実行される。
【0092】
プリンタ10Dは、T612において、セットアップ情報をBTI/F20に供給する。本ケースのセットアップ情報は、手段情報が「BT(ADV_EXT)」を示し、公開鍵がPKD1であり、ワンタイム情報が「YES」を示し、DPP自動移行情報が「YES」を示す。手段情報「BT(ADV_EXT)」は、アドバタイズ信号を利用して、セットアップ情報がプリンタ10Dから端末100に送信されることを示す情報である。
【0093】
プリンタ10Dは、セットアップ情報を含むアドバタイズ信号であるBLE_ADV_EXTを繰り返し送信する。T614の段階では、端末100によってアドバタイズ信号は受信されない。
【0094】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。端末100は、T624において、ユーザから、通知画面SC1内の選択肢「BT」の選択を受け付ける(S12)。この場合、端末100は、端末100のBTI/F120の状態を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に移行させる。この結果、端末100は、T626において、プリンタ10Dから、アドバタイズ信号を受信してセットアップ情報を取得し(S14でYES)、T628において、取得済みのセットアップ情報をメモリ134に記憶する(S20)。その後、記憶済みのセットアップ情報に含まれるセットアップ手段が「BT(ADV_EXT)」を示すので(S22でNO)、公開鍵PKD1が利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T152と同様の処理が実行される。特に、
図11で引用するT132において、プリンタ10DがDPP非応答状態に移行すると、プリンタ10Dは、アドバタイズ信号の送信を停止する。
【0095】
端末100は、T654において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(ADV_EXT)」を示すので、DPP再実行操作の実行を促すメッセージを特定する。ユーザがDPP再実行操作を端末100に実行すれば、端末100が、プリンタ10Dからアドバタイズ信号を受信することによって、新たな公開鍵を含むセットアップ情報を取得することができるからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。
【0096】
T656及びT660の処理は、公開鍵PKD2が利用される点を除いて、
図6のT156及びT160の処理と同様である。T662の処理は、セットアップ情報が異なる点(具体的には公開鍵PKD2が利用される点)を除いて、T612の処理と同様である。T664の処理は、
図9のT424の処理と同様である。その後、T626及びT628と同様の処理が実行され、端末100は、新たなセットアップ情報を取得及び記憶する。さらに、公開鍵PKD2が利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10DとAP6との間にWi-Fi接続が確立される。
【0097】
(ケースD2;
図11)
続いて、
図11を参照して、ケースD2を説明する。ケースD2は、端末100とプリンタ10Dとの間でDPP処理が実行されるケースである。特に、ケースD2は、プリンタ10DがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースD2では、まず、公開鍵PKD3が利用される点を除いて、
図7のT200~T204及びT210と同様の処理が実行される。T672の処理は、セットアップ情報が異なる点(具体的には公開鍵PKD3が利用される点及びDPP自動移行情報「NO」が利用される点)を除いて、T612の処理と同様である。その後、
図5のT120及びT122が実行され、T624~T628と同様の処理が実行される。この結果、端末100は、セットアップ情報を取得及び記憶する。その後、公開鍵PKD3が利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0098】
端末100は、T674において、通知画面SC6を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(ADV_EXT)」を示すので、DPP再実行操作の実行を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。T675の処理は、
図7のT255の処理と同様である。また、T676の処理は、公開鍵がPKD4である点を除いて、
図6のT156の処理と同様である
【0099】
その後、T660~T664と同様の処理が実行され、T626及びT628と同様の処理が実行され、端末100は、新たなセットアップ情報(即ち公開鍵PKD4を含むセットアップ情報)を取得及び記憶する。その後、公開鍵PKD4が利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10DとAP6との間にWi-Fi接続が確立される。
【0100】
(ケースE1;
図12)
続いて、
図12を参照して、ケースE1を説明する。ケースE1は、端末100とプリンタ10Eとの間でDPP処理が実行されるケースである。特に、ケースE1は、プリンタ10EがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
図2に示されるように、プリンタ10Eの公開鍵はワンタイムキーでない。プリンタ10Eは、公開鍵PKEをプリンタ10Eの出荷段階から予め記憶している。ケースE1では、まず、
図5のT100、T102、及び、T110と同様の処理が実行される。
【0101】
T712及びT714の処理は、セットアップ情報が異なる点(具体的には公開鍵PKEが利用される点)を除いて、
図11のT612及びT614の処理と同様である。その後、
図5のT120及びT122の処理と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。T724~T728の処理は、セットアップ情報が異なる点、及び、処理の主体がプリンタ10Eである点を除いて、
図11のT624~T628の処理と同様である。その後、公開鍵PKEが利用される点、及び、処理の主体がプリンタ10Eである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0102】
端末100は、T754において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(ADV_EXT)」を示すので、DPP再実行操作の実行を促すメッセージを特定する。このように、手段情報が「BT(ADV_EXT)」を示す場合には、ワンタイム情報が「YES」を示す場合であっても「NO」を示す場合であっても、端末100は、DPP再実行操作の実行を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。
【0103】
T760及びT764の処理は、
図11のT660及びT664の処理と同様である。その後、公開鍵PKEが利用される点、及び、処理の主体がプリンタ10Eである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10EとAP6との間にWi-Fi接続が確立される。
【0104】
(ケースE2;
図12)
続いて、
図12を参照して、ケースE2を説明する。ケースE2は、端末100とプリンタ10Eとの間でDPP処理が実行されるケースである。特に、ケースE2は、プリンタ10EがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースE2では、まず、
図7のT200~T203及びT210と同様の処理が実行される。T772の処理は、セットアップ情報が異なる点(具体的にはDPP自動移行情報「NO」が利用される点)を除いて、T712の処理と同様である。その後、
図5のT120及びT122が実行され、T724~T728と同様の処理が実行される。この結果、端末100は、セットアップ情報を取得及び記憶する。その後、公開鍵PKEが利用される点、及び、処理の主体がプリンタ10Eである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0105】
端末100は、T774において、通知画面SC6を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(ADV_EXT)」を示すので、DPP再実行操作の実行を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。
【0106】
T775~T784の処理は、
図9のT434~T438の処理と同様である。その後、公開鍵PKEが利用される点、及び、処理の主体がプリンタ10Eである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10EとAP6との間にWi-Fi接続が確立される。
【0107】
(ケースF1;
図13)
続いて、
図13を参照して、ケースF1を説明する。ケースF1は、端末100とプリンタ10Fとの間でDPP処理が実行されるケースである。特に、ケースF1は、プリンタ10FがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。ケースF1では、まず、公開鍵PKF1が利用される点を除いて、
図5のT100~T104及びT110と同様の処理が実行される。T812の処理は、セットアップ情報が異なる点(具体的には、手段情報「BT(GATT)」が利用される点及び公開鍵PKF1が利用される点)を除いて、
図11のT612の処理と同様である。手段情報「BT(GATT)」は、BTによる1対1接続を利用して、セットアップ情報がプリンタ10Fから端末100に送信されることを示す情報である。
【0108】
プリンタ10Fは、アドバタイズ信号であるBLE_ADV_INDを繰り返し送信する。当該アドバタイズ信号は、セットアップ情報を含まない。T814の段階では、端末100によってアドバタイズ信号は受信されない。
【0109】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。端末100は、T824において、ユーザから、通知画面SC1内の選択肢「BT」の選択を受け付ける(S12)。この場合、端末100は、端末100のBTI/F120を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に移行させる。この結果、端末100は、T825において、プリンタ10Fから、アドバタイズ信号を受信して、T826において、BTによる1対1接続(即ちGATT接続)を確立する。
【0110】
端末100は、T827において、BTI/F120を介して、GATT接続を利用して、セットアップ情報要求をプリンタ10Fに送信する。
【0111】
プリンタ10Fは、T827において、端末100からセットアップ情報要求を受信すると、T828において、BTI/F20を介して、GATT接続を利用して、セットアップ情報を端末100に送信する。
【0112】
端末100は、T828において、プリンタ10Fからセットアップ情報を受信すると(
図4のS14でYES)、受信済みのセットアップ情報をメモリ134に記憶する(S20)。その後、記憶済みのセットアップ情報に含まれる手段情報が「BT(GATT)」を示すので(S22でNO)、公開鍵PKF1が利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T152と同様の処理が実行される。特に、
図13で引用するT132において、プリンタ10FがDPP非応答状態に移行すると、プリンタ10Fは、アドバタイズ信号の送信を停止する。
【0113】
端末100は、T854において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(GATT)」であるので、DPP再実行操作の実行を促すメッセージを特定する。ユーザがDPP再実行操作を端末100に実行すれば、端末100が、プリンタ10Fから、GATT接続を利用して、新たな公開鍵を含むセットアップ情報を取得することができるからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」であるので、DPP移行操作を促すメッセージを特定しない。
【0114】
T856及びT860の処理は、公開鍵PKF2が利用される点を除いて、
図6のT156及びT160の処理と同様である。T862の処理は、セットアップ情報が異なる点(具体的には公開鍵PKF2が利用される点)を除いて、T812の処理と同様である。T864の処理は、
図9のT424の処理と同様である。その後、T827~T830と同様の処理が実行され、端末100は、新たなセットアップ情報を取得及び記憶する。さらに、公開鍵PKF2が利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10FとAP6との間にWi-Fi接続が確立される。
【0115】
(ケースF2;
図14)
続いて、
図14を参照して、ケースF2を説明する。ケースF2は、端末100とプリンタ10Fとの間でDPP処理が実行されるケースである。特に、ケースF2は、プリンタ10FがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースF2では、まず、
図5のT100及びT102と同様の処理が実行される。
【0116】
プリンタ10Fは、電源がONされると、アドバタイズ信号であるBLE_ADV_INDを繰り返し送信する。アドバタイズ信号は、セットアップ情報を含まない。T874の段階では、端末100によってアドバタイズ信号は受信されない。
【0117】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。端末100は、T876において、ユーザから、通知画面SC1内の選択肢「BT」の選択を受け付ける(S12)。この場合、端末100は、端末100のBTI/F120を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に移行させる。この結果、端末100は、T877において、プリンタ10Fから、アドバタイズ信号を受信して、T826において、BTによる1対1接続(即ちGATT接続)を確立する。
【0118】
端末100は、T880において、BTI/F120を介して、GATT接続を利用して、プリンタ10Fのシリアル番号の送信を要求するシリアル番号要求をプリンタ10Fに送信する。
【0119】
プリンタ10Fは、T880において、端末100からシリアル番号要求を受信すると、T882において、BTI/F20を介して、GATT接続を利用して、プリンタ10Fのシリアル番号を端末100に送信する。
【0120】
端末100は、T882において、プリンタ10Fからシリアル番号を要求すると、T884において、BTI/F120を介して、GATT接続を利用して、パスワードをプリンタ10Fに送信する。当該パスワードは、端末100において、プリンタ10Fのシリアル番号と関連付けて予め記憶されていてもよいし、T882の処理の後にユーザによって入力されてもよい。
【0121】
プリンタ10Fは、T884において、端末100からパスワードを受信すると、当該パスワードの認証を実行する。本ケースでは、パスワードの認証が成功するので、プリンタ10Fは、T886において、BTI/F20を介して、GATT接続を利用して、認証OKを示す信号を端末100に送信する。なお、認証が失敗する場合には、プリンタ10Fは、T886以降の処理を実行しない。
【0122】
端末100は、T886において、プリンタ10Fから認証OKを示す信号を受信すると、T888において、BTI/F120を介して、GATT接続を利用して、DPP移行要求をプリンタ10Fに送信する。DPP移行要求は、プリンタ10Fの状態をDPP非応答状態からDPP応答状態に移行させることをプリンタ10Fに要求する信号である。このように、本ケースでは、プリンタ10Fの状態をDPP非応答状態からDPP応答状態に移行させるために、プリンタ10FにDPP移行操作を直接的に実行する必要がない。
【0123】
上記のT880~T886の認証のための処理を実行するのは、以下の理由による。即ち、上記の通り、ケースF2では、プリンタ10Fがプリンタ用COを記憶している。また、プリンタ10FにDPP移行操作を直接的に実行する必要がない。このため、仮に上記の認証のための処理が実行されないとすると、プリンタ10Fが、第三者の端末からDPP移行要求を受信し、記憶済みのプリンタ用COに代えて新たなCOを記憶してしまう可能性がある。この結果、プリンタ10Fとデバイスとの間のWi-Fi接続が切断される可能性がある。一方、本ケースでは、上記の認証が実行されるので、プリンタ10Fの正規のユーザのみが、端末100を利用して、DPP移行要求をプリンタ10Fに送信することができる。このために、上記の事象が発生することを抑制できる。
【0124】
T889及びT890の処理は、公開鍵がPKF3である点を除いて、
図5のT104及びT110の処理と同様である。また、T891~T894の処理は、セットアップ情報が異なる点(具体的には公開鍵PKF3及びDPP自動移行情報「NO」が利用される点)を除いて、
図13のT812及びT827~T830の処理と同様である。その後、公開鍵PKF3が利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0125】
端末100は、T895において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(GATT)」を示すので、DPP再実行操作の実行を促すメッセージを特定するとともに、DPP移行操作を促すメッセージを特定しない。上記の通り、本ケースでは、端末100は、GATT接続を利用して、DPP移行要求をプリンタ10Fに送信するので、DPP移行操作をプリンタ10Fに直接的に実行する必要がないからである。T896の処理は、
図9のT424の処理と同様である。また、T897及びT898の処理は、公開鍵がPKF4である点を除いて、T888及びT889の処理と同様である。
【0126】
その後、公開鍵PKF4が利用される点を除いて、T890~T894と同様の処理が実行され、端末100は、新たなセットアップ情報を取得及び記憶する。その後、公開鍵PKF4が利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10FとAP6との間にWi-Fi接続が確立される。
【0127】
(ケースG1;
図15)
続いて、
図15を参照して、ケースG1を説明する。ケースG1は、端末100とプリンタ10Gとの間でDPP処理が実行されるケースである。特に、ケースG1は、プリンタ10GがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
図2に示されるように、プリンタ10Gの公開鍵はワンタイムキーでない。プリンタ10Gは、公開鍵PKGをプリンタ10Gの出荷段階から予め記憶している。ケースG1では、まず、
図5のT100、T102、及び、T110と同様の処理が実行される。
【0128】
T912の処理は、セットアップ情報が異なる点(具体的には、公開鍵PKGが利用される点及びワンタイム情報「NO」が利用される点)を除いて、
図13のT812の処理と同様である。また、T914の処理は、
図13のT814の処理と同様である。
【0129】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、
図13のT824~T830と同様の処理が実行され、端末100は、GATT接続を利用して、プリンタ10Gからセットアップ情報を受信し、セットアップ情報を記憶する(S12、S14でYES、S20)。次いで、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0130】
端末100は、T954において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(GATT)」を示すので、DPP再実行操作の実行を促すメッセージを特定するとともに、DPP移行操作を促すメッセージを特定しない。このように、手段情報が「BT(GATT)」を示す場合には、ワンタイム情報が「YES」を示す場合であっても「NO」を示す場合であっても、端末100は、DPP再実行操作の実行を促すメッセージを特定する。
【0131】
T960の処理は、
図6のT160の処理と同様である。また、T964の処理は、
図9のT424の処理と同様である。その後、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10GとAP6との間にWi-Fi接続が確立される。
【0132】
(ケースG2;
図15)
続いて、
図15を参照して、ケースG2を説明する。ケースG2は、端末100とプリンタ10Gとの間でDPP処理が実行されるケースである。特に、ケースG2は、プリンタ10GがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースG2では、まず、
図5のT100及びT102と同様の処理が実行される。T974の処理は、
図14のT874の処理と同様である。
【0133】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、
図14のT876~T894と同様の処理が実行され、端末100は、GATT接続を利用して、プリンタ10Gからセットアップ情報を受信し、セットアップ情報を記憶する(S12、S14でYES、S20)。次いで、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0134】
端末100は、T992において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「BT(GATT)」を示すので、DPP再実行操作の実行を促すメッセージを特定するとともに、DPP移行操作を促すメッセージを特定しない。
【0135】
T995の処理は、
図9のT424の処理と同様である。端末100は、T995において、ユーザからDPP再実行操作の実行を受け付けると、T996において、BTI/F120を介して、GATT接続を利用して、DPP移行要求をプリンタ10Gに送信する。
【0136】
プリンタ10Gは、T996において、端末100からDPP移行要求を受信すると、T997において、DPP非応答状態からDPP応答状態に移行する。その後、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10GとAP6との間にWi-Fi接続が確立される。
【0137】
(ケースH1;
図16)
続いて、
図16を参照して、ケースH1を説明する。ケースH1は、端末100とプリンタ10Hとの間でDPP処理が実行されるケースである。特に、ケースH1は、プリンタ10HがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。ケースH1では、まず、公開鍵PKH1が利用される点を除いて、
図5のT100~T104及びT110と同様の処理が実行される。
【0138】
プリンタ10Hは、T1012において、セットアップ情報をNFCI/F22に供給するとともに、NFCI/F22の状態を、NFC通信を実行不可能な状態からNFC通信を実行可能な状態に移行させる。本ケースのセットアップ情報は、手段情報が「NFC(直接通信)」を示し、公開鍵がPKH1であり、ワンタイム情報が「YES」を示し、DPP自動移行情報が「YES」を示す。手段情報「NFC(直接通信)」は、NFC通信を利用して、セットアップ情報がプリンタ10Hから端末100に直接的に送信されることを示す情報である。
【0139】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。端末100は、T1024において、ユーザから、通知画面SC1内の選択肢「NFC」の選択を受け付ける(S12)。この場合、端末100は、端末100のNFCI/F122の状態を、NFC通信を実行不可能な状態から、NFC通信を実行可能な状態に移行させる。その後、端末100のユーザは、T1026において、端末100をプリンタ10Hにタッチして、端末100とプリンタ10Hとの間でNFC接続を確立させる。そして、端末100は、T1027において、NFCI/F122を介して、NFC接続を利用して、プリンタ10Hからセットアップ情報を受信し、T1028において、受信済みのセットアップ情報をメモリ134に記憶する(S20)。その後、記憶済みのセットアップ情報に含まれる手段情報が「NFC(直接通信)」を示すので(S22でNO)、公開鍵PKH1が利用される点、及び、処理の主体がプリンタ10Hである点を除いて、
図5のT130~T152と同様の処理が実行される。特に、
図16で引用するT132において、プリンタ10HがDPP非応答状態に移行すると、プリンタ10Hは、NFCI/F22の状態を、NFC通信を実行可能な状態からNFC通信を実行不可能な状態に移行させる。
【0140】
端末100は、T1054において、通知画面SC7を表示部114に表示させる(
図4のS34)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFC(直接通信)」を示し、かつ、ワンタイム情報が「YES」を示すので、端末100をプリンタ10Hに再びタッチすることを促すメッセージを特定する。端末100をプリンタ10Hに再びタッチすれば、NFC接続を利用して、新たな公開鍵を含むセットアップ情報を取得することができるからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。従って、通知画面SC7は、セットアップに失敗したことを示すメッセージと、端末100をプリンタ10Hに再びタッチすることを促すメッセージと、を含む。
【0141】
T1056及びT1060の処理は、公開鍵PKH2が利用される点を除いて、
図6のT156及びT160の処理と同様である。また、T1062の処理は、セットアップ情報が異なる点(具体的には公開鍵PKH2が利用される点)を除いて、T1012の処理と同様である。T1064の処理は、T1026の処理と同様である。
【0142】
その後、T1027及びT1028の処理が実行され、端末100は、NFC接続を介して、公開鍵PKH2を含むセットアップ情報を受信し、記憶する。そして、公開鍵PKH2が利用される点、及び、処理の主体がプリンタ10Hである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10HとAP6との間にWi-Fi接続が確立される。
【0143】
(ケースH2;
図16)
続いて、
図16を参照して、ケースH2を説明する。ケースH2は、端末100とプリンタ10Hとの間でDPP処理が実行されるケースである。特に、ケースH2は、プリンタ10HがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースH2では、まず、公開鍵PKH3が利用される点を除いて、
図7のT200~T204及びT210と同様の処理が実行される。T1072の処理は、セットアップ情報が異なる点(具体的には公開鍵PKH3が利用される点及びDPP自動移行情報「NO」が利用される点)を除いて、T1012の処理と同様である。
【0144】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、セットアップ情報が異なる点を除いて、T1024~T1028の処理と同様の処理が実行され、端末100は、セットアップ情報を受信及び記憶する。その後、公開鍵PKH3が利用される点、及び、処理の主体がプリンタ10Hである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0145】
端末100は、T1074において、通知画面SC8を表示部114に表示させる(
図4のS34)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFC(直接通信)」を示し、かつ、ワンタイム情報が「YES」を示すので、端末100をプリンタ10Hに再びタッチすることを促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。従って、通知画面SC8は、セットアップに失敗したことを示すメッセージと、端末100をプリンタ10Hに再びタッチすることを促すメッセージと、DPP移行操作を促すメッセージと、を含む。T1075の処理は、
図7のT255の処理と同様である。また、T1076の処理は、公開鍵PKH4が利用される点を除いて、
図6のT156の処理と同様である。
【0146】
その後、T1060~T1064と同様の処理が実行された後にT1027及びT1028と同様の処理が実行され、NFC接続を介して、公開鍵PKH4を含むセットアップ情報を受信し、記憶する。そして、公開鍵PKH4が利用される点、及び、処理の主体がプリンタ10Hである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10HとAP6との間にWi-Fi接続が確立される。
【0147】
(ケースI1;
図17)
続いて、
図17を参照して、ケースI1を説明する。ケースI1は、端末100とプリンタ10Iとの間でDPP処理が実行されるケースである。特に、ケースI1は、プリンタ10IがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
図2に示されるように、プリンタ10Iの公開鍵はワンタイムキーでない。プリンタ10Iは、公開鍵PKIをプリンタ10Iの出荷段階から予め記憶している。ケースI1では、まず、
図5のT100、T102、及び、T110と同様の処理が実行される。T1112の処理は、セットアップ情報が異なる点(具体的には公開鍵PKIが利用される点及びワンタイム情報「NO」が利用される点)を除いて、
図16のT1012の処理と同様である。
【0148】
その後、
図5のT120及びT122の処理と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。T1124~T1128の処理は、セットアップ情報が異なる点、及び、処理の主体がプリンタ10Iである点を除いて、
図16のT1024~T1028の処理と同様である。その後、公開鍵PKIが利用される点、及び、処理の主体がプリンタ10Iである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0149】
端末100は、T1154において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFC(直接通信)」を示し、かつ、ワンタイム情報が「NO」であるので、DPP再実行操作の実行を促すメッセージを特定する。プリンタ10Iの公開鍵はワンタイムキーでないので、公開鍵を再取得する必要がないからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。
【0150】
T1160の処理は、
図6のT160の処理と同様である。また、T1164の処理は、
図9のT424の処理と同様である。その後、公開鍵PKIが利用される点、及び、処理の主体がプリンタ10Iである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10IとAP6との間にWi-Fi接続が確立される。
【0151】
(ケースI2;
図17)
続いて、
図17を参照して、ケースI2を説明する。ケースI2は、端末100とプリンタ10Iとの間でDPP処理が実行されるケースである。特に、ケースI2は、プリンタ10IがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースHIでは、まず、
図7のT200~T203及びT210と同様の処理が実行される。T1172の処理は、セットアップ情報が異なる点(具体的にはDPP自動移行情報「NO」が利用される点)を除いて、T1112の処理と同様である。
【0152】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、セットアップ情報が異なる点を除いて、T1124~T1128の処理と同様の処理が実行され、端末100は、セットアップ情報を受信及び記憶する。その後、公開鍵PKIが利用される点、及び、処理の主体がプリンタ10Iである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0153】
端末100は、T1174において、通知画面SC6を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFC(直接通信)」を示し、かつ、ワンタイム情報が「NO」を示すので、DPP再実行操作の実行を促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「NO」を示すので、DPP移行操作を促すメッセージを特定する。T1175~T1184の処理は、
図9のT434~T438の処理と同様である。
【0154】
その後、公開鍵PKIが利用される点、及び、処理の主体がプリンタ10Iである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10IとAP6との間にWi-Fi接続が確立される。
【0155】
(ケースJ1;
図18)
続いて、
図18を参照して、ケースJ1を説明する。ケースJ1は、端末100とプリンタ10Jとの間でDPP処理が実行されるケースである。特に、ケースJ1は、プリンタ10JがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。ケースJ1では、まず、公開鍵PKJ1が利用される点を除いて、
図5のT100~T104及びT110と同様の処理が実行される。詳しくは後述するが、ケースJ1のセットアップ情報は、手段情報「NFCハンドオーバ」を含む。手段情報「NFCハンドオーバ」は、NFC通信を利用してWi-Fi接続を確立するための情報を通信し、その後、Wi-Fi接続を利用して、セットアップ情報がプリンタ10Jから端末100に送信されることを示す情報である。
【0156】
プリンタ10Jは、T1212において、WFD接続情報をNFCI/F22に供給する。WFD接続情報は、プリンタ10Jと端末100との間にWFD接続を確立させるために利用される情報(例えば、プリンタ10JがWFDの親局として動作する無線ネットワークのSSID(Service Set Identifierの略))である。
【0157】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。T1224及びT1226の処理は、
図16のT1024及びT1026の処理と同様である。
【0158】
端末100は、T1227において、NFCI/F122を介して、NFC接続を利用して、プリンタ10HからWFD接続情報を受信し、T1028において、受信済みのWFD接続情報を利用して、プリンタ10JとのWFD接続を確立する。
【0159】
端末100は、T1230において、Wi-FiI/F116を介して、WFD接続を利用して、セットアップ情報要求をプリンタ10Jに送信する。
【0160】
プリンタ10Jは、T1230において、端末100からセットアップ情報要求を受信すると、T1231において、セットアップ情報をWi-FiI/F16に供給し、T1232において、Wi-FiI/F16を介して、WFD接続を利用して、セットアップ情報を端末100に送信する。本ケースのセットアップ情報は、手段情報が「NFCハンドオーバ」を示し、公開鍵がPKJ1であり、ワンタイム情報が「YES」を示し、DPP自動移行情報が「YES」を示す。
【0161】
端末100は、プリンタ10Jからセットアップ情報を受信すると(
図4のS14でYES)、T1234において、セットアップ情報を記憶する(S20)。その後、T1236において、端末100とプリンタ10Jとの間のWFD接続が切断される。
【0162】
その後、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示すので(S22でNO)、公開鍵PKJ1が利用される点、及び、処理の主体がプリンタ10Jである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0163】
端末100は、T1254において、通知画面SC7を表示部114に表示させる(
図4のS34、
図16参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示し、かつ、ワンタイム情報が「YES」を示すので、端末100をプリンタ10Hに再びタッチすることを促すメッセージを特定する。端末100をプリンタ10Hに再びタッチすれば、NFCハンドオーバによって確立されるWFD接続を利用して、新たな公開鍵を含むセットアップ情報を受信することができるからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。
【0164】
T1256及びT1260の処理は、公開鍵PKJ2が利用される点を除いて、
図6のT156及びT160の処理と同様である。T1262の処理は、T1212の処理と同様である。また、T1264の処理は、T1226の処理と同様である。
【0165】
その後、T1227~T1236と同様の処理が実行され、端末100は、公開鍵PKJ2を含むセットアップ情報を取得及び記憶する。そして、公開鍵PKJ2が利用される点、及び、処理の主体がプリンタ10Jである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10JとAP6との間にWi-Fi接続が確立される。
【0166】
(ケースJ2;
図19)
続いて、
図19を参照して、ケースJ2を説明する。ケースJ2は、端末100とプリンタ10Jとの間でDPP処理が実行されるケースである。特に、ケースJ2は、プリンタ10JがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースJ2では、まず、公開鍵PKJ3が利用される点を除いて、
図5のT100~T104と同様の処理が実行される。T1272の処理は、
図18のT1212の処理と同様である。
【0167】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)T1274~T1278の処理は、
図18のT1224~T1228の処理と同様である。
【0168】
端末100は、T1280において、Wi-FiI/F116を介して、WFD接続を利用して、プリンタ10Jのシリアル番号の送信を要求するシリアル番号要求をプリンタ10Jに送信する。
【0169】
プリンタ10Jは、T1280において、端末100からシリアル番号要求を受信すると、T1282において、Wi-FiI/F16を介して、WFD接続を利用して、プリンタ10Jのシリアル番号を端末100に送信する。
【0170】
端末100は、T1282において、プリンタ10Jからシリアル番号を受信すると、T1284において、Wi-FiI/F116を介して、WFD接続を利用して、DPP移行要求をプリンタ10Jに送信する。図示省略しているが、DPP移行要求は、パスワード含む。当該パスワードは、端末100において、プリンタ10Jのシリアル番号と関連付けて予め記憶されていてもよいし、T1282の処理の後にユーザによって入力されてもよい。このように、本ケースでは、プリンタ10JにDPP移行操作を直接的に実行する必要がない。
【0171】
プリンタ10Jは、T1282において、端末100からDPP移行要求を受信すると、DPP移行要求に含まれるパスワードの認証を実行する。本ケースでは、パスワードの認証が成功するので、プリンタ10Jは、T1286~T1288の処理を実行する。なお、認証が失敗する場合には、プリンタ10Jは、T1286以降の処理を実行しない。T1286及びT1287の処理は、公開鍵PKJ3が利用される点を除いて、
図6のT156及びT160の処理と同様である。また、T1288の処理は、セットアップ情報が異なる点(具体的には公開鍵PKJ3が利用される点及びDPP自動移行情報「NO」が利用される点)を除いて、
図18のT1231の処理と同様である。
【0172】
T1289~T1292の処理は、セットアップ情報が異なる点を除いて、
図18のT1230~T1236の処理と同様である。その後、公開鍵PKJ3が利用される点、及び、処理の主体がプリンタ10Jである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0173】
端末100は、T1254において、通知画面SC7を表示部114に表示させる(
図4のS34、
図16参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示し、かつ、ワンタイム情報が「YES」を示すので、端末100をプリンタ10Jに再びタッチすることを促すメッセージを特定する。次いで、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示すので、DPP移行操作を促すメッセージを特定しない。上記の通り、本ケースでは、端末100は、NFCハンドオーバによって確立されるWFD接続を利用して、DPP移行要求をプリンタ10Jに送信するので、DPP移行操作をプリンタ10Jに直接的に実行する必要がないからである。T1296の処理は、T1276の処理と同様である。その後、T1277及びT1278と同様の処理が実行され、端末100とプリンタ10Jとの間にWFD接続が確立される。
【0174】
T1297の処理は、T1284の処理と同様である。また、T1298の処理は、公開鍵PKJ4が利用される点を除いて、
図6のT156の処理と同様である。その後、T1287~T1292と同様の処理が実行され、端末100は、公開鍵PKJ4を含むセットアップ情報を取得及び記憶する。そして、公開鍵PKJ4が利用される点、及び、処理の主体がプリンタ10Jである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10JとAP6との間にWi-Fi接続が確立される。
【0175】
(ケースK1;
図20)
続いて、
図20を参照して、ケースK1を説明する。ケースK1は、端末100とプリンタ10Kとの間でDPP処理が実行されるケースである。特に、ケースK1は、プリンタ10KがCOを記憶していないことに起因して、DPP移行情報が「YES」を示すケースである。
図2に示されるように、プリンタ10Kの公開鍵はワンタイムキーでない。プリンタ10Kは、公開鍵PKKをプリンタ10Kの出荷段階から予め記憶している。ケースK1では、まず、
図5のT100、T102、及び、T110と同様の処理が実行される。T1312の処理は、
図18のT1212の処理と同様である。
【0176】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、
図18のT1224~T1236と同様の処理が実行され、端末100は、NFCハンドオーバによって確立されるWFD接続を利用して、プリンタ10Kからセットアップ情報を受信し、セットアップ情報を記憶する(S12、S14でYES、S20)。次いで、公開鍵PKKが利用される点、及び、処理の主体がプリンタ10Kである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0177】
端末100は、T1354において、通知画面SC5を表示部114に表示させる(
図4のS34、
図9参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示し、かつ、ワンタイム情報が「NO」を示すので、DPP再実行操作の実行を促すメッセージを特定する。プリンタ10Kの公開鍵がワンタイムキーでないので、プリンタ10Kの公開鍵を再取得する必要がないからである。次いで、端末100は、記憶済みのセットアップ情報に含まれるDPP自動移行情報が「YES」を示すので、DPP移行操作を促すメッセージを特定しない。
【0178】
T1360の処理は、
図6のT160の処理と同様である。また、T1364の処理は、
図9のT424の処理と同様である。その後、公開鍵PKKが利用される点、及び、処理の主体がプリンタ10Kである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10KとAP6との間にWi-Fi接続が確立される。
【0179】
(ケースK2;
図20)
続いて、
図20を参照して、ケースK2を説明する。ケースK2は、端末100とプリンタ10Kの間でDPP処理が実行されるケースである。特に、ケースK2は、プリンタ10KがCOを記憶済みであることに起因して、DPP移行情報が「NO」を示すケースである。ケースK2では、まず、
図5のT100及びT102と同様の処理が実行される。T1372の処理は、
図19のT1312の処理と同様である。
【0180】
その後、
図5のT120及びT122と同様の処理が実行され、通知画面SC1が表示される(
図4のS10、
図5参照)。次いで、
図19のT1274~T1292と同様の処理が実行され、端末100は、NFCハンドオーバによって確立されるWFD接続を利用して、プリンタ10Kからセットアップ情報を受信し、セットアップ情報を記憶する(S12、S14でYES、S20)。次いで、公開鍵PKKが利用される点、及び、処理の主体がプリンタ10Kである点を除いて、
図5のT130~T152と同様の処理が実行される。
【0181】
端末100は、T1394において、通知画面SC7を表示部114に表示させる(
図4のS34、
図16参照)。具体的には、端末100は、記憶済みのセットアップ情報に含まれる手段情報が「NFCハンドオーバ」を示し、かつ、DPP自動移行情報が「NO」を示すので、端末100をプリンタ10Kに再びタッチすることを促すメッセージを特定するとともに、DPP移行操作を促すメッセージを特定しない。T1396の処理は、
図6のT1026の処理と同様である。
【0182】
その後、
図19のT1277、T1278、T1284、T1287、及びT1292と同様の処理が実行され、プリンタ10Kの状態がDPP非応答状態からDPP応答状態に移行される。その後、公開鍵PKKが利用される点、及び、処理の主体がプリンタ10Kである点を除いて、
図5のT130~T144及び
図6のT166~T172の処理と同様の処理が実行され、プリンタ10KとAP6との間にWi-Fi接続が確立される。
【0183】
(本実施例のまとめ;
図21)
図21に、本実施例のまとめを示す。
図21は、セットアップ情報出力手段とワンタイム情報とDPP自動移行情報と再実行手段の通知内容との組合せを示す。例えば、
図21の2行目は、セットアップ情報をコード化することによって得られるQRコードを表示することによってセットアップ情報を出力することができ、公開鍵がワンタイムキーであるプリンタ10Aについて、DPP自動移行情報が「YES」を示す状況では、プリンタ10AとAP6との間にWi-Fi接続が確立されない場合に、QRコードの撮影を促すメッセージを含む通知画面(SC2、
図6参照)が表示されることを示す(ケースA1、
図5及び
図6参照)。他の行についても同様である。
【0184】
特に、ケースA1及びA2では、通知画面はQRコードの撮影を促すメッセージを含み(
図6の通知画面SC2、
図7の通知画面SC3参照)、ケースB1、B2及びCでは、通知画面はQRコードの撮影を促すメッセージを含まず、DPP再実行操作の実行を促すメッセージを含む(
図9の通知画面SC5、SC6参照)。また、ケースA1及びB1では、通知画面はDPP移行操作の実行をユーザに促すメッセージを含まず(
図6の通知画面SC2、
図9の通知画面SC5参照)、ケースA2、B2、及びCでは、通知画面はDPP移行操作の実行をユーザに促すメッセージを含む(
図7の通知画面SC3、
図9の通知画面SC6参照)。このように、端末100は、セットアップ情報出力手段がQRコード表示(又は貼り付け)の場合に、ワンタイム情報及びDPP移行情報に応じた適切な通知画面を表示することができる。
【0185】
また、ケースD1~G2では、ワンタイム情報が「YES」を示すのか「NO」を示すのかに関わらず、通知画面は、DPP再実行操作の実行を促すメッセージを含む(
図11~
図15で参照する
図9の通知画面SC5、SC6参照)。特に、ケースD1、E1、及びF1~G2では、通知画面はDPP移行操作の実行をユーザに促すメッセージを含まず(
図11~
図15で参照する
図6の通知画面SC2、
図9の通知画面SC5参照)、ケースD2及びE2では、通知画面はDPP移行操作の実行をユーザに促すメッセージを含む(
図11及び
図12で参照する
図9の通知画面SC6参照)。このように、端末100は、セットアップ情報出力手段がBT(即ちBT(ADV_EXT)又はBT(GATT))の場合に、適切な通知画面を表示することができる。
【0186】
また、ケースH1及びH2では、通知画面は端末をプリンタにタッチすることを促すメッセージを含み(
図16の通知画面SC7、SC8参照)、ケースI1及びI2では、通知画面は端末をプリンタにタッチすることを促すメッセージを含まず、DPP再実行操作の実行を促すメッセージを含む(
図17で参照する
図9の通知画面SC5、SC6参照)。特に、ケースH1、I1、J1~K2では、通知画面はDPP移行操作の実行をユーザに促すメッセージを含まず(
図16の通知画面SC7、
図17~
図20で参照する
図9の通知画面SC5及び
図16の通知画面SC7参照)、ケースH2及びI2では、通知画面はDPP移行操作の実行をユーザに促すメッセージを含む(
図16の通知画面SC8、
図17で参照する
図9の通知画面SC6参照)。このように、端末100は、セットアップ情報出力手段がNFC(即ちNFC(直接通信)又はNFCハンドオーバ)の場合に、適切な通知画面を表示することができる。
【0187】
(本実施例の効果)
上記の構成によると、プリンタ10Aは、プリンタ10Aの公開鍵PKA1と、ワンタイム情報「YES」と、をコード化することによって得られるQRコードQRA1を表示部14に表示させる(
図5のT112)。端末100は、QRコードQRA1を撮影することによって、プリンタ10Aの公開鍵PKA1と、ワンタイム情報「YES」とを取得し(
図5のT126)、公開鍵PKA1が利用されたDPP処理を実行する(
図5のT130~T144)。プリンタ10Aは、プリンタ10AとAP6との間のWi-Fi接続が確立されない場合に、ワンタイム情報が「YES」を示すので、公開鍵PKA1とは異なる公開鍵PKA2をコード化することによって得られるQRコードQRA2を表示部14に表示させる(
図6のT162)。端末100は、QRコードQRA2を撮影することによって、公開鍵PKA2を取得し(
図6のT164)、公開鍵PKA2が利用されたDPP処理を実行する(
図6で参照する
図5のT130~T144)。また、プリンタ10Bは、プリンタ10Bの公開鍵PKBと、ワンタイム情報「NO」と、をコード化することによって得られるQRコードQRB1を表示部に表示させる(
図9のT412)。端末100は、QRコードQRB1を撮影することによってプリンタ10Bの公開鍵PKBと、ワンタイム情報「NO」とを取得し(
図9で参照する
図5のT126)、公開鍵PKBが利用されたDPP処理を実行する(
図9で参照する
図5のT130~T144)。端末100は、プリンタ10BとAP6との間のWi-Fi接続が確立されない場合に、ワンタイム情報が「NO」を示すので、取得済みの公開鍵PKBが利用されたDPP処理を再び実行する。プリンタ10Cの筐体50にプリンタ10Cの公開鍵PKBと、ワンタイム情報「NO」と、をコード化することによって得られるQRコードQRCが貼り付けられている場合も同様である(
図10のケースC参照)。このように、端末100は、プリンタ10(即ち各プリンタ10A~10K)とAP6との間のWi-Fi接続が確立されない場合に、公開鍵がワンタイムキーであるのか否かに応じて、新たな公開鍵を取得するのか否かを切替えることができる。従って、端末100は、プリンタとAP6との間にWi-Fi接続が確立されない場合に、DPP処理を適切に再実行することができる。
【0188】
また、上記の構成によると、端末100は、第1の通信装置又は第2の通信装置と外部装置との間にWi-Fi接続が確立されない場合に、DPP処理を再実行させるための複数個の手法(本実施例ではQRコード撮影、BT、NFC)のうち、ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す通知画面(例えば、
図6の通知画面SC2等参照)を表示する。このように、ユーザは、Wi-Fi接続が確立されない場合に、通知画面に従って、DPP処理を適切に再実行させることができる。
【0189】
(対応関係)
端末100、プリンタ10(即ちプリンタ10A~10K)、AP6が、それぞれ、「第1の通信装置」、「第2の通信装置」、「外部装置」の一例である。公開鍵PKA1が、「ブートストラッピングキー」の一例である。QRコードQRA1が、「コード画像」の一例である。BT通信、NFC通信が、それぞれ、「第1の通信」、「第2の通信」の一例である。特に、BT(ADV_EXT)、BT(GATT)のそれぞれに対応する手段が、それぞれ、「第1種の手段」、「第2種の手段」の一例である。また、NFC(直接通信)、NFCハンドオーバのそれぞれに対応する手段が、それぞれ、「第3種の手段」、「第4種の手段」の一例である。DPP非応答状態、DPP応答状態が、それぞれ、「非応答状態」、「応答状態」の一例である。DPP自動移行情報が、「移行情報」の一例である。各通知画面SC2等が、「手法画面」の一例である。Auth Req、Auth Res、プリンタ用COが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。
図5のT130~T144の処理が、「DPP処理」の一例である。通知画面SC1内の「QRコード」の選択及びQRコードの撮影が、「第1の所定操作」の一例である。DPP再実行操作、DPP移行操作が、それぞれ、「第2の所定操作」、「第3の所定操作」の一例である。QRコードの撮影を促すメッセージ(
図6の通知画面SC2参照)、DPP再実行操作の実行を促すメッセージ(
図7の通知画面SC3参照)、端末をプリンタに近づけることを促すメッセージ(
図16の通知画面SC7参照)、プリンタにDPP移行操作を実行することをユーザに促すメッセージ(
図7の通知画面SC3参照)が、それぞれ、「第1のメッセージ」、「第2のメッセージ」、「第3のメッセージ」、「第4のメッセージ」の一例である。
【0190】
図5のT126の処理、T130~T144の処理が、それぞれ、「取得部」、「DPP処理実行部」によって実行される処理の一例である。特に、T130の処理、T134の処理、T142の処理が、それぞれ、「認証要求を送信する処理」、「認証応答を受信する処理」、「第1の接続情報の通信を実行する処理」の一例である。
【0191】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0192】
(変形例1)上記の実施例では、例えばプリンタ10AとAP6との間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行された。変形例では、端末100とAP6との間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行されてもよい。本変形例では、プリンタ10AがConfiguratorとして動作し、端末100がEnrolleeとして動作し、プリンタ10Aが端末用COを端末100に送信してもよい。本変形例では、端末用COが、「第1の接続情報(及び接続情報)」の一例である。また、別の変形例では、端末100とプリンタ10Aとの間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行されてもよい。本変形例では、端末100又はプリンタ10Aが、「外部装置」の一例である。また、別の変形例では、端末100は、プリンタ用SCを含むプリンタ用COをプリンタ10Aに送信することに代えて、AP6のSSID及びパスワードを含むプリンタ用COをプリンタ10Aに送信してもよい。本変形例では、AP6のSSID及びパスワードを含むプリンタ用COが、「第1の接続情報(及び接続情報)」の一例である。
【0193】
(変形例2)セットアップ情報は、手段情報を含まなくてもよい。この場合、端末100自身が、セットアップ情報の取得手段を判断してもよい。例えば、端末100は、QRコードが撮影されることに応じてセットアップ情報が取得される場合に(
図5のT126参照)に、セットアップ情報の取得手段として「QRコード」を特定してもよい。即ち、端末100は、セットアップ情報を取得した際の手段(即ち、QRコード、BT(ADV_EXT)、BT(GATT)、NFC(直接通信)、及びNFCハンドオーバ)のいずれかを自身で判断し、これを記憶してもよい。
【0194】
(変形例3)端末100は、ワンタイム情報が「YES」を示すのか「NO」を示すのかに関わらず、公開鍵の再取得を促すメッセージ(例えばQRコードの撮影を促すメッセージ)を含む通知画面を表示部114に表示させてもよい。特に、本変形例では、セットアップ情報は、ワンタイム情報を含まなくてもよい。一般的に言うと、「手法画面」は、「第1(又は第3)のメッセージ」を含んでいてもよい。
【0195】
(変形例4)端末100は、DPP自動移行情報が「YES」を示すのか「NO」を示すのかに関わらず、DPP移行操作の実行をユーザに促すメッセージを含んでいてもよい。特に、本変形例では、セットアップ情報は、DPP自動移行情報を含まなくてもよい。この場合、各通知画面SC2等は、DPP移行操作の実行をユーザに促すメッセージを含んでいてもよい。一般的に言うと、「手法画面」は「第4のメッセージ」を含んでいてもよい。
【0196】
(変形例5)プリンタ10Fは、
図13のT812において、WFD接続情報をBTI/F20に供給してもよい。この場合、端末100は、T825において、プリンタ10から、BTI/F120を介して、WFD接続情報を含むアドバタイズ信号を受信してもよい。この結果、端末100とプリンタ10Fとの間にWFD接続が確立され、端末100は、当該WFD接続を利用して、プリンタ10Fからセットアップ情報を受信してもよい。本ケースでは、BT通信を利用してWFD接続を確立するための情報を通信し、その後WFD接続を利用してセットアップ情報を受信する手段が、「第2種の手段」の一例である。
【0197】
(変形例6)本実施例では、各プリンタ10が1個のセットアップ情報出力手段(即ち、QRコード、BT、NFCのいずれか)を実行可能な例を説明した。変形例では、プリンタ10は、上記のセットアップ情報出力手段のうちの2個以上のセットアップ情報出力手段を実行可能に構成されていてもよい。本変形例でも、セットアップ情報の取得手段に基づいて通知画面(例えばSC2)が表示されるので、ユーザは、Wi-Fi接続が確立されない場合に、通知画面に従って、DPP処理を適切に再実行させることができる。
【0198】
(変形例7)本実施例では、端末100は、手段情報と公開鍵とワンタイム情報とDPP自動移行情報との4つの情報を含むセットアップ情報を同時に取得した(例えば
図5のT126参照)。変形例では、端末100は、これらの情報を同時ではなく、別のタイミングで取得してもよい。例えば、プリンタ10Aは、それぞれの情報をコード化することによって4つのQRコードを生成及び表示し、これらのQRコードが順次撮影されることによって、セットアップ情報(即ち4つの情報)を取得してもよい。
【0199】
(変形例8)上記の実施例では、
図4~
図20の各処理がプログラム36等のソフトウェアによって実現されたが、これらの各処理の少なくとも1つの処理が、論理回路等のハードウェアによって実現されてもよい。
【0200】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0201】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
第1の所定操作が実行される場合に、第2の通信装置のブートストラッピングキーを取得する取得部と、
前記ブートストラッピングキーが取得される場合に、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)に従ったDPP処理を実行するDPP処理実行部であって、
前記DPP処理は、
前記Wi-Fiインターフェースを介して、前記ブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する処理と、
前記第2の通信装置に前記認証要求が送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する処理と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする処理であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間に、前記Wi-Fiインターフェースを介したWi-Fi接続を確立するための情報である、前記処理と、
を含む、前記DPP処理実行部と、
前記Wi-Fi接続が確立されない場合に、前記第1の通信装置に前記DPP処理を再実行させるための複数個の手法のうち、前記ブートストラッピングキーの取得手段に基づいて決定される1個の手法を示す手法画面を前記第1の通信装置の表示部に表示させる表示制御部と、
として機能させる、コンピュータプログラム。
(項目2)
前記取得手段は、コード画像の撮影と、Bluetooth(登録商標)通信を含む第1の通信と、NFC(Near Field Communicationの略)通信を含む第2の通信と、のいずれかの手段である、項目1に記載のコンピュータプログラム。
(項目3)
前記手法画面は、前記取得手段が前記コード画像の撮影である場合に、コード画像の撮影をユーザに促す第1のメッセージを含む、項目2に記載のコンピュータプログラム。
(項目4)
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、
前記取得手段が前記コード画像の撮影であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーであることを示す場合に、前記第1のメッセージを含み、
前記取得手段が前記コード画像の撮影であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーでないことを示す場合に、前記第1のメッセージを含まず、前記第1の通信装置への第2の所定操作の実行を前記ユーザに促す第2のメッセージを含む、
項目3に記載のコンピュータプログラム。
(項目5)
前記手法画面は、前記取得手段が前記第1の通信である場合に、前記第1の通信装置への第2の所定操作の実行をユーザに促す第2のメッセージを含む、項目2又は3に記載のコンピュータプログラム。
(項目6)
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、前記取得手段が前記第1の通信である場合に、前記ワンタイム情報によって示される内容に関わらず、前記第2のメッセージを含む、項目5に記載のコンピュータプログラム。
(項目7)
前記手法画面は、前記取得手段が前記第2の通信である場合に、前記第1の通信装置を前記第2の通信装置に近づけることをユーザに促す第3のメッセージを含む、項目2から6のいずれか一項に記載のコンピュータプログラム。
(項目8)
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記ブートストラッピングキーがワンタイムキーであるのか否かを示すワンタイム情報を取得し、
前記手法画面は、
前記取得手段が前記第2の通信であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーであることを示す場合に、前記第3のメッセージを含み、
前記取得手段が前記第2の通信であり、かつ、前記ワンタイム情報が、前記ブートストラッピングキーがワンタイムキーでないことを示す場合に、前記第3のメッセージを含まず、前記第1の通信装置への第2の所定操作の実行を前記ユーザに促す第2のメッセージを含む、
項目7に記載のコンピュータプログラム。
(項目9)
前記取得部は、さらに、前記第1の所定操作が実行される場合に、前記第2の通信装置の状態を非応答状態から応答状態に移行させるために、ユーザが第3の所定操作を前記第2の通信装置に実行する必要があるのか否かを示す移行情報を取得し、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記手法画面は、
前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第3の所定操作の実行を前記ユーザに促す第4のメッセージを含み、
前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記前記第4のメッセージを含まない、
項目2から8のいずれか一項に記載のコンピュータプログラム。
(項目10)
前記第1の通信である前記取得手段は、前記第2の通信装置から前記ブートストラッピングキーを含むアドバタイズ信号を受信する第1種の手段と、アドバタイズ信号の通信の後に確立されるBluetooth接続又はWi-Fi接続を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第2種の手段と、を含み、
前記手法画面は、
前記取得手段が前記第1の通信のうちの前記第1種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第4のメッセージを含み、
前記取得手段が前記第1の通信のうちの前記第1種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記第4のメッセージを含まず、
前記取得手段が前記第1の通信のうちの前記第2種の手段である場合に、前記移行情報によって示される内容に関わらず、前記第4のメッセージを含まない、項目9に記載のコンピュータプログラム。
(項目11)
前記第2の通信である前記取得手段は、NFC通信を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第3種の手段と、NFC通信の後に確立されるWi-Fi接続を利用して前記第2の通信装置から前記ブートストラッピングキーを受信する第4種の手段と、を含み、
前記手法画面は、
前記取得手段が前記第2の通信のうちの前記第3種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要があることを示す場合に、前記第4のメッセージを含み、
前記取得手段が前記第2の通信のうちの前記第3種の手段であり、かつ、前記移行情報が、前記ユーザが前記第3の所定操作を実行する必要がないことを示す場合に、前記第4のメッセージを含まず、
前記取得手段が前記第2の通信のうちの前記第4種の手段である場合に、前記移行情報によって示される内容に関わらず、前記第4のメッセージを含まない、項目9又は10に記載のコンピュータプログラム。
(項目12)
前記取得部は、さらに、前記取得手段を示す手段情報を取得し、
前記表示制御部は、前記複数個の手法のうち、取得済みの前記手段情報によって示される前記取得手段に基づいて決定される前記1個の手法を示す前記手法画面を前記表示部に表示させる、項目1から11のいずれか一項に記載のコンピュータプログラム。
【符号の説明】
【0202】
2:通信システム、6:AP、10,10A~10K:プリンタ、12,112:操作部、14,114:表示部、16,116:Wi-FiI/F、18:印刷実行部、20,120:BTI/F、22,122:NFCI/F、30,130:制御部、32,132:CPU、34,134:メモリ、36:プログラム、100:端末、118:カメラ、136:OSプログラム、138:アプリケーション