(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004365
(43)【公開日】2024-01-16
(54)【発明の名称】通信装置のためのコンピュータプログラム、通信装置、及び、通信装置によって実行される方法
(51)【国際特許分類】
H04W 76/10 20180101AFI20240109BHJP
H04W 84/12 20090101ALI20240109BHJP
H04W 12/06 20210101ALI20240109BHJP
H04W 12/77 20210101ALI20240109BHJP
H04W 88/02 20090101ALI20240109BHJP
H04W 92/08 20090101ALI20240109BHJP
【FI】
H04W76/10 130
H04W84/12
H04W12/06
H04W12/77
H04W88/02 110
H04W92/08 110
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022103997
(22)【出願日】2022-06-28
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】朝倉 弘崇
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA23
5K067EE02
5K067EE06
5K067EE10
5K067FF02
5K067GG01
(57)【要約】
【課題】通信装置と外部装置との間にWi-Fi接続を適切に確立させる技術を提供すること。
【解決手段】第1の通信装置は、第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個の取得手段を含む第1の手段選択情報を表示部に表示させる第1の表示制御部と、第1の手段選択情報に含まれるM個の取得手段の中から特定の取得手段が選択される場合に、特定のサポート情報を表示部に表示させる第2の表示制御部と、特定のブートストラッピングキー記特定の取得手段によって取得する取得部と、認証要求送信部と、認証応答受信部と、接続情報通信部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御部と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御部であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御部と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得部と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信部と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信部と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信部であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信部と、
として機能させる、コンピュータプログラム。
【請求項2】
前記コンピュータプログラムは、前記コンピュータを、さらに、
通信装置のモデル名の指定を受け付けるためのモデル名受付情報を前記表示部に表示させる第3の表示制御部として機能させ、
前記第1の表示制御部は、
前記モデル名受付情報が表示されている状態においてモデル名が指定されない場合に、前記第1の手段選択情報を前記表示部に表示させ、
前記モデル名受付情報が表示されている状態において特定のモデル名が指定される場合に、第2の手段選択情報を前記表示部に表示させ、
前記第2の手段選択情報は、前記M個の取得手段のうち、前記特定のモデル名を有する通信装置に応じたN個(前記Nは1以上前記M未満の整数)の取得手段であって、選択可能な態様を有する前記N個の取得手段を含む、請求項1に記載のコンピュータプログラム。
【請求項3】
前記第2の手段選択情報は、さらに、前記M個の取得手段のうち、前記N個の取得手段とは異なる(M-N)個の取得手段であって、選択不可能な態様を有する前記(M-N)個の取得手段を含む、請求項2に記載のコンピュータプログラム。
【請求項4】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記モデル名受付情報が表示されている状態においてモデル名が指定される場合に、指定済みの前記モデル名を有する通信装置の状態を非応答状態から応答状態に移行させるための第1の操作を示す第1の手法情報を前記表示部に表示させる第4の表示制御部として機能させ、
前記非応答状態は、指定済みの前記モデル名を有する前記通信装置が認証応答を送信不可能な状態であり、
前記応答状態は、指定済みの前記モデル名を有する前記通信装置が認証応答を送信可能な状態である、請求項2に記載のコンピュータプログラム。
【請求項5】
前記特定の取得手段が、前記異なる通信装置のブートストラッピングキーを用いて得られるコード画像の撮影である場合に、前記特定のサポート情報は、前記コード画像の撮影をユーザに促す第1のメッセージを含む、請求項1に記載のコンピュータプログラム。
【請求項6】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記特定の取得手段が前記コード画像の撮影である場合に、前記コード画像が見つかったのか否かを前記ユーザに確認するための第1の確認情報を前記表示部に表示させる第5の表示制御部として機能させる、請求項5に記載のコンピュータプログラム。
【請求項7】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第1の確認情報が表示されている状態において、前記コード画像が見つからなかったことが選択される場合に、前記異なる通信装置の状態を非応答状態から応答状態に移行させるための第2の操作を示す第2の手法情報を前記表示部に表示させる第6の表示制御部として機能させ、
前記非応答状態は、前記異なる通信装置が認証応答を送信不可能な状態であり、
前記応答状態は、前記異なる通信装置が認証応答を送信可能な状態である、請求項6に記載のコンピュータプログラム。
【請求項8】
前記特定の取得手段がBluetooth(登録商標)通信を含む第1の通信である場合に、前記特定のサポート情報は、前記第1の通信を利用して前記異なる通信装置のブートストラッピングキーを受信するのか否かをユーザに確認するための第2のメッセージを含む、請求項1に記載のコンピュータプログラム。
【請求項9】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2のメッセージを含む前記特定のサポート情報が表示されている状態において、前記異なる通信装置のブートストラッピングキーを受信することが選択された後に、前記異なる通信装置の前記ブートストラッピングキーが受信されない場合に、前記異なる通信装置の状態を非応答状態から応答状態に移行させるための第3の操作を示す第3の手法情報を前記表示部に表示させる第7の表示制御部として機能させ、
前記非応答状態は、前記異なる通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記異なる通信装置が前記認証応答を送信可能な状態である、請求項8に記載のコンピュータプログラム。
【請求項10】
前記特定の取得手段がNFC(Near Field Communicationの略)通信を含む第2の通信である場合に、前記特定のサポート情報は、前記第1の通信装置を前記異なる通信装置に近づけることをユーザに促す第3のメッセージを含む、請求項1に記載のコンピュータプログラム。
【請求項11】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記特定の取得手段が前記第2の通信である場合に、前記異なる通信装置のNFCインターフェースの近傍に配置されている所定マークが見つかったのか否かを前記ユーザに確認するための第2の確認情報を前記表示部に表示させる第8の表示制御部として機能させる、請求項10に記載のコンピュータプログラム。
【請求項12】
前記取得部は、さらに、前記第2の通信装置の前記特定のブートストラッピングキーと共に、前記第2の通信装置の移行情報を取得し、
前記移行情報は、前記第2の通信装置の状態を非応答状態から応答状態に移行させるための所定操作が必要であるのか否かを示す情報であり、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定操作が必要であることを示す場合に、前記所定操作を示す第4の手法情報を前記表示部に表示させる第9の表示制御部であって、前記移行情報が、前記所定操作が必要でないことを示す場合に、前記第4の手法情報は表示されない、前記第9の表示制御部として機能させる、請求項1に記載のコンピュータプログラム。
【請求項13】
前記取得部は、さらに、前記第2の通信装置の前記特定のブートストラッピングキーと共に、前記第2の通信装置の移行情報を取得し、
前記移行情報は、前記第2の通信装置の状態を非応答状態から応答状態に移行させるための所定指示の送信が必要であるのか否かを示す情報であり、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定指示の送信が必要であることを示す場合に、前記所定指示を前記第2の通信装置に送信する所定指示送信部であって、前記移行情報が、前記所定指示の送信が必要でないことを示す場合に、前記所定指示は送信されない、前記所定指示送信部として機能させる、請求項1に記載のコンピュータプログラム。
【請求項14】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定指示の送信が必要であることを示す場合に、前記所定指示を送信するのか否かをユーザに確認するための第3の確認情報を前記表示部に表示させる第10の表示制御部として機能させ、
前記所定指示送信部は、前記第3の確認情報が表示されている状態において、前記所定指示を送信することが選択される場合に、前記所定指示を前記第2の通信装置に送信し、
前記第3の確認情報が表示されている状態において、前記所定指示を送信しないことが選択される場合に、前記所定指示は送信されない、請求項13に記載のコンピュータプログラム。
【請求項15】
第1の通信装置であって、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御部と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御部であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御部と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得部と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信部と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信部と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信部であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信部と、
を備える、第1の通信装置。
【請求項16】
第1の通信装置によって実行される方法であって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
を備え、
前記方法は、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御工程と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御工程であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御工程と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得工程と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信工程と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信工程と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信工程であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信工程と、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、通信装置と外部装置との間に無線接続を確立させるための技術を開示する。
【背景技術】
【0002】
特許文献1には、DPP(Device Provisioning Protocolの略)に従って、一対の装置の間にWi-Fi接続を確立させる技術が開示されている。特に、特許文献1には、端末は、QRコード(登録商標)、NFC(Near Field Communicationの略)通信、Bluetooth(登録商標)通信等のいずれか1つの手段を利用して、プリンタの公開鍵を取得することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、通信装置と外部装置との間にWi-Fi接続を適切に確立させる技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、第1の通信装置のためのコンピュータプログラムを開示する。前記第1の通信装置は、Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、表示部と、コンピュータと、を備えてもよい。前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御部と、前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御部であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御部と、前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得部と、前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信部と、前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信部と、前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信部であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信部と、として機能させてもよい。
【0006】
上記の構成によると、第1の通信装置は、ブートストラッピングキーを取得するためのM個の取得手段を示す第1の手段選択情報を表示し、選択済みの特定の取得手段に対応する特定のサポート情報を表示する。この結果、特定の取得手段によって特定のブートストラッピングキーが取得され、認証要求の送信等の各種通信が実行される。この結果、通信装置と外部装置との間にWi-Fi接続を適切に確立させることができる。
【0007】
上記の第1の通信装置のためのコンピュータプログラムを記憶するコンピュータ可読記録媒体、当該コンピュータプログラムによって実現される第1の通信装置そのもの、及び、当該第1の通信装置によって実行される方法も、新規で有用である。
【図面の簡単な説明】
【0008】
【
図1】通信システムの概略及び各プリンタの特徴を示す。
【
図3】アプリによって実行される処理のフローチャートを示す。
【
図8】ケースC1及びケースC2のシーケンス図を示す。
【
図12】ケースF1及びケースF2のシーケンス図を示す。
【発明を実施するための形態】
【0009】
(通信システム2の概略;
図1)
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、複数個のプリンタ10A~10Gと、端末100と、を備える。以下では、プリンタ10A~10Gを特に区別しないときは、単に「プリンタ10」と記載することがある。本実施例では、端末100を利用して、各プリンタ10A~10GとAP6との間にWi-Fi規格に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
【0010】
(各プリンタの特徴)
各プリンタ10A~10Gの特徴を説明する。
図1の右下のテーブルは、各プリンタ10A~10Gのセットアップ情報出力手段を示す。セットアップ情報出力手段は、セットアップ情報を出力するための手段であり、セットアップ情報は、プリンタ10とAP6との間にWi-Fi接続を確立させる際に利用される情報である。セットアップ情報は、プリンタ10の公開鍵を含む。
【0011】
プリンタ10Aは、セットアップ情報をコード化することによって得られるQRコード(登録商標)を表示することによって、セットアップ情報を出力することができる。また、プリンタ10Bは、セットアップ情報をコード化することによって得られるQRコードQRBが貼り付けられている筐体50(
図1参照)を備える。
【0012】
プリンタ10C~10Eは、Bluetooth(登録商標)規格に従った無線通信を利用することによって、セットアップ情報を出力することができる。以下では、Bluetoothのことを「BT」と記載し、BT規格に従った無線通信のことを「BT通信」と記載する。BT規格は、例えば、IEEE802.15.1の規格、及び、それに準ずる規格である。より具体的に言うと、各プリンタ10C~10Eは、BLE(Bluetooth Low Energyの略)をサポートしている。BLEは、BT規格のバージョン4.0以降のバージョンで実現されている。特に、プリンタ10Dは、アドバタイズ信号を利用して、セットアップ情報を端末100に送信する。プリンタ10E及びプリンタ10Fのそれぞれは、BTによる1対1接続(例えばGATT(Generic Attribute Profileの略))を利用して、セットアップ情報を端末100に送信する。
【0013】
プリンタ10F及び10Gのそれぞれは、NFC(Near Field Communicationの略)方式に従った通信(以下では「NFC通信」と記載する)を利用することによって、セットアップ情報を出力することができる。NFC方式は、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。プリンタ10Fは、NFC通信を利用して、セットアップ情報を端末100に直接的に送信する。また、プリンタ10Gは、NFC通信を利用して、当該プリンタとのWi-Fi接続を確立するための情報を端末100に送信し、当該Wi-Fi接続を利用して、セットアップ情報を端末100に送信する。このように、一対のデバイスの間において、NFC通信を利用して、Wi-Fi接続を確立するための情報を通信し、その後、Wi-Fi接続を利用して、目的のデータを通信することを「NFCハンドオーバ」と記載することがある。
【0014】
(各デバイスの制御構成;
図2)
続いて、
図2を参照して、プリンタ10(即ち各プリンタ10A~10G)及び端末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】
また、プリンタ10Gの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~10FのWi-FiI/F16は、WFDをサポートしていてもよいし、WFDをサポートしていなくてもよい。
【0018】
また、プリンタ10Aは、表示部14を備える。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルであり、操作部12としても機能する。本実施例では、表示部14にはQRコードが表示される。なお、他の各プリンタ10B~10Gは、表示部14を備えていてもよいし、表示部14を備えていなくてもよい。
【0019】
また、各プリンタ10C~10Eは、BTI/F20を備える。BTI/F20は、BT通信を実行するためのI/Fである。なお、他の各プリンタ10A~10B及び10F~10Gは、BTI/F20を備えていてもよいし、BTI/F20を備えていなくてもよい。
【0020】
また、各プリンタ10F~10Gは、NFCI/F22を備える。NFCI/F22は、NFC通信を実行するためのI/Fである。なお、他の各プリンタ10A~10Eは、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を記憶する。ここで、モデル名MNは各プリンタ10A~10Gを区別しない場合のモデル名を示し、例えば、
図1に示されるように、プリンタ10Aはモデル名MNAを記憶し、プリンタ10Bはモデル名MNBを記憶する。他の各プリンタについても同様である。
【0023】
(端末100の構成)
端末100は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末100は、据置型のPC、ノートPC等であってもよい。端末100は、操作部112と表示部114とWi-FiI/F116とカメラ118とBTI/F120とNFCI/F122と制御部130とを備える。各部112~130は、バス線(符号省略)に接続されている。
【0024】
操作部112は、様々な指示を端末100に入力するためのI/Fである。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、いわゆるタッチパネルであり、操作部112としても機能する。カメラ118は、物体を撮影するためのデバイスである。本実施例では、カメラ118は、プリンタ10のQRコードを撮影するために利用される。Wi-FiI/F116は、DPPとWFDとをサポートしている。BTI/F120、NFCI/F122は、それぞれ、プリンタ10のBTI/F20、NFCI/F22と同様である。
【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】
(アプリの処理;
図3及び
図4)
続いて、
図3及び
図4を参照して、端末100のCPU132がアプリ138を実行することによって実現される処理を説明する。
図3及び
図4は、DPPに従ってプリンタ10とAP6との間にWi-Fi接続を確立させるための処理である。以下では、Wi-Fi接続の確立対象のプリンタのことを「対象プリンタ」と記載する。また、以下では、
図3及び
図4の処理を説明する際に、CPU132ではなくアプリ138を主体として記載する。
図3の処理は、アプリ138が起動されることをトリガとして開始される。
【0029】
アプリ138は、S10において、選択画面SC1を表示部114に表示させる。選択画面SC1は、モデル名を入力するためのモデル名入力領域と、3個のセットアップ情報取得手段を示す3個のマーク(即ち、QRコード、BT、NFC)と、を含む。QRコードを示すマークは、対象プリンタに表示されるQRコード又は対象プリンタに貼り付けられたQRコードを撮影することによってセットアップ情報を取得することを意味する。BTを示すマークは、対象プリンタとBT通信を実行することによってセットアップ情報を取得することを意味する。NFCを示すマークは、対象プリンタとNFC通信を実行することによってセットアップ情報を取得することを意味する。
【0030】
アプリ138は、S12において、選択画面SC1内のモデル名入力領域にモデル名が入力されたのか否かを判断する。アプリ138は、モデル名が入力される場合にS12でYESと判断してS14に進み、モデル名が入力されない場合にS12でNOと判断してS20に進む。
【0031】
アプリ138は、S14において、選択画面SC2を表示部114に表示させる。選択画面SC2は、モデル名入力領域に入力済みのモデル名が記述されている。また、選択画面SC2は、さらに、対象プリンタ(即ち入力済みのモデル名によって識別されるプリンタ)の状態をDPP非応答状態からDPP応答状態に移行させるためにユーザが実行すべき操作を示すメッセージM1を含む。DPP非応答状態は、DPPのAuthentication Requestに応じてAuthentication Responseを送信不可能な状態である。以下では、Authenticationのことを「Auth」と記載し、Request、Responseのことを、それぞれ、「Req」、「Res」と記載する。
【0032】
プリンタ10の状態をDPP非応答状態からDPP応答状態に移行させるための操作は、プリンタ10のモデルに応じて異なる。アプリ138は、複数個のモデル名のそれぞれについて、当該モデル名と、当該モデル名を有するプリンタ10の状態をDPP応答状態に移行させるための操作と、を関連付けて記憶している。アプリ138は、選択画面SC1にモデル名が入力されると、当該モデル名に関連付けられている操作を特定し、当該操作を示すメッセージM1を含む選択画面SC2を表示部114に表示させる。従って、ユーザは、プリンタ10をDPP応答状態に移行させるための操作を認識することができる。
【0033】
選択画面SC2では、3個のセットアップ情報取得手段を示す3個のマークのうちの1個のマークのみが選択可能な態様で表示される。セットアップ情報取得手段は、プリンタ10のモデルに応じて異なる。アプリ138は、複数個のモデル名のそれぞれについて、当該モデル名と、当該モデル名を有するプリンタ10に適合するセットアップ情報取得手段と、を関連付けて記憶している。アプリ138は、選択画面SC1にモデル名が入力されると、当該モデル名に関連付けられている1個以上のセットアップ情報取得手段を特定し、当該1個以上のセットアップ情報取得手段のみを選択可能な態様を有する選択画面SC2を表示部114に表示させる。換言すると、アプリ138は、入力済みのモデル名に関連付けられていないセットアップ情報取得手段を選択不可能な態様(例えばグレーアウト)を有する選択画面SC2を表示部114に表示させる。このために、ユーザは、対象プリンタに対応するセットアップ情報取得手段を容易に認識することができる。なお、アプリ138は、入力済みのモデル名に関連付けられている2個以上のセットアップ情報取得手段が存在する場合には、当該2個以上のセットアップ情報取得手段のうちの1個のセットアップ情報取得手段のみを選択可能な態様を有する選択画面SC2を表示させてもよい。例えば、アプリ138は、3個のセットアップ情報取得手段について、ユーザに提示する優先順位を記憶しており、上記の2個以上のセットアップ情報取得手段のうち、優先順位が最も高いセットアップ情報取得手段のみを選択可能な態様を有する選択画面SC2を表示部114に表示させてもよい。
【0034】
アプリ138は、S20において、選択画面SC1又はSC2においてQRコードを示すマークが選択されたのか否かを判断する。QRコードを示すマークが選択される場合(S20でYES)にS22に進む。
【0035】
アプリ138は、S22において、確認画面SC3を表示部114に表示させる。確認画面SC3は、対象プリンタにおいてQRコードが見つかったのか否かをユーザに問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。例えば、対象プリンタがQRコードを表示していない場合には、ユーザがQRコードを見つけることができない可能性がある。ユーザは、確認画面SC3を見ることによって、セットアップを実行するためにQRコードを探すべきことを認識することができる。
【0036】
アプリ138は、S24において、確認画面SC3内のYESボタンが選択されたのか否かを判断する。アプリ138は、YESボタンが選択される場合(S24でYES)にS26に進み、NOボタンが選択される場合(S24でNO)にS10に戻る。
【0037】
アプリ138は、S26において、QRコード処理を実行する。QRコード処理は、QRコードの撮影を促す画面の表示等を含む。
【0038】
アプリ138は、S28において、セットアップ情報を取得する。具体的には、アプリ138は、カメラ118によって撮影されたQRコードをデコードして、セットアップ情報を取得する。
【0039】
アプリ138は、S30において、選択画面SC1又はSC2においてBTを示すマークが選択されたのか否かを判断する。BTを示すマークが選択される場合(S30でYES)にS32に進む。
【0040】
アプリ138は、S32において、確認画面SC4を表示部114に表示させる。確認画面SC4は、セットアップ(即ち対象プリンタをAP6に接続すること)を実行するのか否かをユーザに問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。このために、ユーザは、セットアップの実行を望む場合に、YESボタンを選択することによって、セットアップを実行させることができる。
【0041】
アプリ138は、S34において、確認画面SC4内のYESボタンが選択されたのか否かを判断する。アプリ138は、YESボタンが選択される場合(S34でYES)にS36に進み、NOボタンが選択される場合(S34でNO)にS10に戻る。
【0042】
アプリ138は、S36において、BT処理を実行する。BT処理は、セットアップ情報を取得するためのBT通信を含む。
【0043】
アプリ138は、S38において、セットアップ情報が取得されたのか否かを判断する。アプリ138は、セットアップ情報が取得される場合(S38でYES)に
図4の処理に進み、セットアップ情報が取得されない場合(S38でNO)にS10に戻る。
【0044】
アプリ138は、S40において、選択画面SC1又はSC2においてNFCを示すマークが選択されたのか否かを判断する。NFCを示すマークが選択される場合(S40でYES)にS42に進む。
【0045】
アプリ138は、S42において、確認画面SC5を表示部114に表示させる。確認画面SC5は、対象プリンタにおいてNFCマークN1(即ち、NFC接続を確立するために端末100を近づけるべき箇所、
図1参照)が見つかったのか否かをユーザに問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。例えば、対象プリンタがNFCI/Fを備えない場合には、ユーザがNFCマークN1を見つけることができない。ユーザは、確認画面SC5を見ることによって、セットアップを実行するためにNFCマークN1を探すべきことを認識することができる。
【0046】
アプリ138は、S44において、確認画面SC5内のYESボタンが選択されたのか否かを判断する。アプリ138は、YESボタンが選択される場合(S44でYES)にS46に進み、NOボタンが選択される場合(S44でNO)にS10に戻る。
【0047】
アプリ138は、S46において、NFC処理を実行する。詳しくは後述するが、NFC処理は、セットアップ情報を取得するためのNFC通信を含む。
【0048】
アプリ138は、S48において、セットアップ情報が取得されたのか否かを判断する。アプリ138は、セットアップ情報が取得される場合(S48でYES)に
図4の処理に進み、セットアップ情報が取得されない場合(S48でNO)にS10に戻る。
【0049】
(
図3の続き;
図4)
アプリ138は、
図4のS52において、DPP移行操作が必要であるのか否かを判断する。
図3のS28、S38、又は、S48で取得されるセットアップ情報は、DPP移行操作が必要であることを示す「要」と、DPP移行操作が不要であることを示す「不要」と、のいずれか一方を示すDPP移行操作情報を含む。アプリ138は、DPP移行操作情報が「要」を示す場合にS52でYESと判断してS54に進み、DPP移行操作情報が「不要」を示す場合にS52でNOと判断してS80に進む。なお、DPP移行操作情報が「要」を示す場合には、セットアップ情報は、さらに、DPP応答状態に移行させるための具体的な手法を示すウェブページのURL(Uniform Resource Locatorの略、以下では「操作手順URL」と記載する)を含む。本実施例では、上記の具体的な手法は、対象プリンタを直接的に操作することである「移行操作の実行」と、端末100から対象プリンタに移行指示を送信することである「移行指示の送信」と、のいずれかである。なお、変形例では、セットアップ情報は、操作手順URLに代えて、画面IDを含んでいてもよい。画面IDは、アプリ138が予め記憶している複数個の画面のうちの1個の画面を識別する情報である。セットアップ情報に含まれる画面IDは、「移行操作の実行」を促す画面を識別する画面IDと、「移行指示の送信」を促す画面を識別する画面IDと、のいずれか一方を示してもよい。即ち、DPP移行操作情報が「要」を示す場合に含まれる情報はURLに限定されず、DPP応答状態に移行させるための具体的な手法を示す情報であればよい。
【0050】
アプリ138は、S54において、操作手順URLが、「移行操作の実行」を示すウェブページの第1のURLであるのか、「移行指示の送信」を示すウェブページの第2のURLであるのか、を判断する。アプリ138は、操作手順URLが第1のURLである場合にS60に進み、操作手順URLが第2のURLである場合にS70に進む。
【0051】
アプリ138は、S60において、第1のURLにアクセスすることによって、第1のURLからダウンロードされる通知画面SC6を表示部114に表示させる。通知画面SC6は、対象プリンタにDPP移行操作を実行した後にOKボタンを選択することを促すメッセージと、OKボタンと、を含む。このために、ユーザは、通知画面SC6を見ることによって、ユーザが実行すべき操作を認識することができる。
【0052】
アプリ138は、S62において、通知画面SC6内のOKボタンが選択されることを監視する。アプリ138は、OKボタンが選択される場合(S62でYES)にS80に進む。
【0053】
アプリ138は、S70において、第2のURLにアクセスすることによって、第2のURLからダウンロードされる通知画面SC7を表示部114に表示させる。通知画面SC7は、対象プリンタにDPP移行指示を送信するのか否かをユーザに問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。このために、ユーザは、通知画面SC6を見ることによって、ユーザが実行すべき操作を認識することができる。
【0054】
アプリ138は、S72において、通知画面SC7内のYESボタンが選択されたのか否かを判断する。アプリ138は、YESボタンが選択される場合(S72でYES)にS74に進み、NOボタンが選択される場合(S72でNO)に、S74以降の処理を実行することなく
図4の処理を終了する。
【0055】
アプリ138は、S74において、DPP移行指示を対象プリンタに送信する。DPP移行指示は、対象プリンタの状態をDPP非応答状態からDPP応答状態に移行させるための指示である。この場合、ユーザが対象プリンタに直接的に操作を行う必要がないので、ユーザの利便性が向上する。
【0056】
アプリ138は、S80において、DPP処理を開始する。具体的には、アプリ138は、まず、取得済みのセットアップ情報に含まれる公開鍵が利用されたAuth Reqを対象プリンタに送信する。この結果、DPPのAuth、Configuration(以下では「Config」と記載する)等の通信が端末100と対象プリンタとの間で実行される。そして、DPP処理が成功する場合に、対象プリンタとAP6との間にWi-Fi接続が確立される。
【0057】
(ケースA1;
図5)
続いて、
図5~
図14を参照して、
図3及び
図4の処理によって実現される具体的なケースを説明する。まず、
図5を参照して、ケースA1を説明する。ケースA1は、端末100とプリンタ10Aとの間でDPP処理が実行されるケースである。
図5の初期状態では、プリンタ10Aは、公開鍵PKAと、公開鍵PKAに対応する秘密鍵(図示省略)と、を記憶している。ケースA1では、プリンタ10Aは、DPPのConfigration Object(以下では「CO」と記載する)を記憶していないので、電源がONされる際に、DPP応答状態に自動的に移行する。
【0058】
図示省略しているが、
図5の初期状態では、端末100とAP6との間でDPP処理が実行されており、端末100とAP6との間にWi-Fi接続が確立済みである。
図5の以下の説明では、理解の容易化のために、各デバイスのCPU(例えばCPU32、132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ10A、端末100等)を主体として記載する。
図6~
図14の説明でも同様である。特に、端末100のアプリ138によって実行される処理については、端末100を処理の主体として記載することに代えて、アプリ138を処理の主体として記載することがある。
【0059】
図5のT100において、ユーザによってプリンタ10Aの電源をONする操作が実行されると、T102において、プリンタ10Aの電源がONされる。この場合、プリンタ10Aは、T104において、DPP非応答状態からDPP応答状態に自動的に移行し、T106において、QRコードQRAを生成し、T108において、QRコードQRAを表示部14に表示する。QRコードQRAは、セットアップ情報(即ち、公開鍵PKA及びDPP移行操作情報「不要」)をコード化することによって得られるコード画像である。
【0060】
端末100は、T110において、ユーザからアプリ138を起動する操作を受け付ける。この結果、アプリ138が起動されると(
図3の処理のトリガ)、アプリ138は、T112において、選択画面SC1を表示部114に表示させる(
図3のS10)。
【0061】
アプリ138は、T114において、ユーザから、選択画面SC1内のQRコードを示すマークの選択を受け付けると(S20でYES)、T116において、確認画面SC3を表示部114に表示させる(S22)。本ケースでは、プリンタ10Aの表示部14にQRコードQRAが表示されているので(T108参照)、アプリ138は、T118において、ユーザから確認画面SC3内のYESボタンの選択を受け付ける(S24でYES)。この場合、アプリ138は、T119において、通知画面SC8を表示部114に表示させる。通知画面SC8は、QRコードの撮影を促すメッセージを含む。このために、ユーザは、QRコードを撮影すべきことを認識することができる。
【0062】
アプリ138は、通知画面SC8を見たユーザによって、カメラ118を起動する操作を受け付けた後に、T120において、プリンタ10Aに表示されているQRコードQRAをカメラ118によって撮影する操作を受け付ける(S26)。この場合、アプリ138は、撮影済みのQRコードQRAをデコードすることによってセットアップ情報を取得し(S28)、T122において、取得済みのセットアップ情報をメモリ134に記憶する。T120の処理は、DPPのBootstrappingに相当する。
【0063】
アプリ138は、T120において、セットアップ情報を取得すると、セットアップ情報に含まれるDPP移行操作情報が「不要」を示すので(
図4のS52でNO)、T130において、Wi-FiI/F116を介して、公開鍵PKA1が利用されたAuth Reqをプリンタ10Aに送信する(S80)。
【0064】
Auth Reqは、送信元の端末100の認証の実行を要求する信号である。具体的には、端末100は、まず、端末100の秘密鍵(図示省略)とプリンタ10Aの公開鍵PKA1とを利用して共有鍵を生成し、共有鍵を利用してランダム値を暗号化することによって暗号化データを生成する。そして、端末100は、端末100の公開鍵(図示省略)と暗号化データと端末100のCapabilityとを含むAuth Reqをプリンタ10Aに送信する。端末100のCapabilityは、DPPのConfiguratorのみとして動作可能であることを示す値を含む。
【0065】
プリンタ10Aは、T130において、Wi-FiI/F16を介して、端末100からAuth Reqを受信すると、Auth Reqに含まれる暗号化データの認証を実行する。具体的には、プリンタ10Aは、Auth Reqに含まれる端末100の公開鍵とプリンタ10Aの秘密鍵とを利用して共有鍵を生成し、共有鍵を利用して暗号化データを復号する。プリンタ10Aは、暗号化データの復号が成功する場合に、認証が成功したと判断し、T132以降の処理を実行する。
【0066】
プリンタ10Aは、T132において、DPP応答状態からDPP非応答状態に移行する。暗号化データの認証が成功したので、DPP応答状態を維持する必要がないからである。DPP応答状態は、DPP非応答状態と比較してプリンタ10Aの処理負荷が高い状態である。プリンタ10Aは、DPP応答状態からDPP非応答状態に移行することによって、処理負荷を低減することができる。
【0067】
また、プリンタ10Aは、T134において、Wi-FiI/F16を介して、プリンタ10AのCapabilityを含むAuth Resを端末100に送信する。プリンタ10AのCapabilityは、DPPのEnrolleeのみとして動作可能であることを示す値を含む。
【0068】
端末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に送信する役割を担うデバイスである。
【0069】
また、T138では、プリンタ10Aは、Enrolleeとして動作することを決定する。Enrolleeは、ConfiguratorからCOを受信する役割を担うデバイスである。T130及びT134~T138の処理は、DPPのAuthに相当する。
【0070】
プリンタ10Aは、T140において、Wi-FiI/F16を介して、Config Reqを端末100に送信する。Config Reqは、COの送信を要求する信号である。
【0071】
端末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に送信する。
【0072】
プリンタ10Aは、T142において、Wi-FiI/F16を介して、端末100からConfig Resを受信すると、T144において、Wi-FiI/F16を介して、Config Resultを端末100に送信する。Config Resultは、Configが成功したことを示す情報を含む。T140~T144の処理は、DPPのConfigに相当する。
【0073】
プリンタ10Aは、T146において、Wi-FiI/F16を介して、プリンタ用SCを含むDiscovery ReqをAP6に送信する。Discovery Reqは、相手のSCの送信を要求する信号である。
【0074】
AP6は、T146において、プリンタ10AからDiscovery Reqを受信すると、AP用SCを利用して、Discovery Reqに含まれるプリンタ用SCの認証を実行する。AP6は、プリンタ用SCの認証が成功すると、接続キーを生成する。そして、APは、T148において、AP用SCを含むDiscovery Resをプリンタ10Aに送信する。
【0075】
プリンタ10Aは、T148において、AP6からDiscovery Resを受信すると、プリンタ用SCを利用して、Discovery Resに含まれるAP用SCの認証を実行する。プリンタ10Aは、AP用SCの認証が成功すると、接続キーを生成する。ここで生成される接続キーは、AP6によって生成される接続キーと同じである。即ち、プリンタ10A及びAP6によって接続キーが共有される。
【0076】
次いで、プリンタ10Aは、接続キーを利用して、4way-handshakeの通信をAP6と実行する。この結果、T150において、プリンタ10AとAP6との間にWi-Fi接続が確立される。端末100とAP6との間にもWi-Fi接続が確立済みであるので、端末100とプリンタ10Aとは、AP6を介して相互に通信可能となる。T146~T150の処理は、DPPのNetwork Accessに相当する。
【0077】
図示省略しているが、プリンタ10Aは、AP6とのWi-Fi接続が確立されると、プリンタ用COをメモリ34に記憶する。これ以降、プリンタ10Aでは、DPP移行操作情報として「不要」に代えて「要」が利用される。プリンタ用COが記憶されている状況では、プリンタ10Aとデバイス(本ケースではAP6)との間にWi-Fi接続が確立されている。このような状況でDPP移行操作情報が「不要」であると(即ち、プリンタ10Aの電源がONされることに応じてDPP応答状態に自動的に移行すると)、ユーザが意図しない状況でプリンタ10AがDPP処理を実行してしまうおそれがある。この場合、プリンタ10Aが新たなプリンタ用COを受信することによって記憶済みのプリンタ用COを削除することに応じて、AP6とのWi-Fi接続が切断される可能性がある。このような事象を抑制するために、プリンタ10AとAP6との間にWi-Fi接続が確立されると、即ち、プリンタ10Aがプリンタ用COを記憶すると、DPP移行操作情報が「不要」から「要」に変更される。
【0078】
また、プリンタ10Aは、AP6とのWi-Fi接続が確立されると、T152において、Wi-FiI/F16を介して、Wi-Fi接続が確立されたことを示す情報「成功」を含むResultを端末100に送信する。
【0079】
端末100は、T152において、Wi-FiI/F116を介してプリンタ10Aから成功を含むResultを受信する。
【0080】
上述したように、プリンタ10Aは、AP6とのWi-Fi接続を確立することができる。このために、プリンタ10Aは、端末100からAP6を介して印刷対象の画像を表わす印刷データを受信して、当該印刷データによって表わされる画像の印刷を実行することができる。
【0081】
(ケースA2;
図6)
続いて、
図6を参照して、ケースA2を説明する。ケースA2は、端末100とプリンタ10Aとの間でDPP処理が実行されるケースである。特に、ケースA2では、プリンタ10Aは、COを記憶済みであることに起因して、電源がONされる際に、DPP応答状態に自動的に移行しない。
【0082】
図6のT200において、ユーザによってプリンタ10Aの電源をONする操作が実行されると、T202において、プリンタ10Aの電源がONされる。本ケースでは、プリンタ10AがCOを記憶済みであるので、プリンタ10Aは、DPP応答状態に自動的に移行しない。
【0083】
T210~T216の処理は、
図5のT110~T116の処理と同様である。本ケースでは、プリンタ10AがDPP応答状態に移行していないので、プリンタ10AにQRコードが表示されていない。従って、アプリ138は、T218において、ユーザから確認画面SC3内のNOボタンの選択を受け付ける(
図3のS24でNO)。この場合、アプリ138は、T230において、選択画面SC1を表示部114に再び表示させる(S10)。なお、T230で表示される選択画面SC1は、T212で表示される選択画面の内容に加えて、モデル名の入力をユーザに促すメッセージをさらに含んでいてもよい。
【0084】
アプリ138は、T232において、選択画面SC1内のモデル名入力領域(
図3参照)にモデル名MNAの入力を受け付ける(S12でYES)。この場合、アプリ138は、T234において、選択画面SC2を表示部114に表示させる(S14)。このように、アプリ138は、QRコードが見つからない場合にユーザが実行すべき操作をユーザに提示することができるので、ユーザの利便性が向上する。
【0085】
図3に示されるように、選択画面SC2は、メッセージM1を含む。プリンタ10Aは、T240において、当該メッセージM1を見たユーザから、DPP移行操作を受け付けると、T244において、DPP応答状態に移行し、T246において、QRコードQRAを生成し、T248において、QRコードQRAを表示部14に表示する。ここで、
図6の初期状態では、DPP移行操作情報は「要」を示すが、QRコードQRAが表示される段階では、プリンタ10AはDPP応答状態に移行済みであるので、DPP移行操作情報は「不要」を示す。T250~T262の処理は、
図5のT114~T122の処理と同様である。その後、
図5のT130~T152と同様の処理が実行され、プリンタ10AとAP6との間にWi-Fi接続が確立される。
【0086】
(ケースB;
図7)
続いて、
図7を参照して、ケースBを説明する。ケースBは、端末100とプリンタ10Bとの間でDPP処理が実行されるケースである。プリンタ10Bは、公開鍵PKBと、公開鍵PKBに対応する秘密鍵(図示省略)と、を記憶している。プリンタ10Bは、QRコードQRBが貼り付けられた筐体50を備える(
図1参照)。QRコードQRBは、セットアップ情報(即ち、公開鍵PKB、DPP移行操作情報「要」、及び移行操作の実行を示すウェブページのURLである第1のURLを示す操作手順URL)をコード化することによって得られる情報である。T300及びT302の処理は、
図5のT100及びT102の処理と同様である。また、T320~T332の処理は、QRコードQRBが撮影される点、及び、セットアップ情報が異なる点を除いて、
図5のT110~T122の処理と同様である。
【0087】
アプリ138は、取得済みのセットアップ情報に含まれるDPP移行操作情報が「要」を示し(
図4のS52でYES)、操作手順URLが第1のURLであるので(S54で「第1のURL」)、T334において、通知画面SC6を表示部114に表示させる(S60)。
【0088】
プリンタ10Bは、T340において、通知画面SC6を見たユーザから、DPP移行操作を受け付けると、T342において、DPP応答状態に移行する。
【0089】
アプリ138は、T344において、通知画面SC6内のOKボタンの選択を受け付ける(S62でYES)。その後、公開鍵PKBが利用される点、及び、処理の主体がプリンタ10Bである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10BとAP6との間にWi-Fi接続が確立される。
【0090】
(ケースC1;
図8)
続いて、
図8を参照して、ケースC1を説明する。ケースC1は、端末100とプリンタ10Cとの間でDPP処理が実行されるケースである。ケースC1の初期状態では、プリンタ10Cは、公開鍵PKCと、公開鍵PKCに対応する秘密鍵(図示省略)と、を記憶している。ケースC1では、プリンタ10Cは、COを記憶していないことに起因して、電源がONされる際に、DPP応答状態に自動的に移行する。ケースC1では、まず、
図5のT100~T104と同様の処理が実行される。
【0091】
プリンタ10Cは、T412において、セットアップ情報をBTI/F20に供給する。本ケースのセットアップ情報は、公開鍵PKCと、DPP移行操作情報「不要」と、を含む。
【0092】
プリンタ10Cは、セットアップ情報を含むアドバタイズ信号であるBLE_ADV_EXTを繰り返し送信する。T414の段階では、端末100によってアドバタイズ信号は受信されない。
【0093】
その後、
図5のT110及びT112と同様の処理が実行され、選択画面SC1が表示される(
図3のS10)。アプリ138は、T424において、ユーザから、選択画面SC1内のBTを示すマークの選択を受け付けると(S30でYES)、T426において、確認画面SC4を表示部114に表示させる(S32)。その後、アプリ138は、T428において、確認画面SC4内のYESボタンの選択を受け付けると(S34でYES)、端末100のBTI/F120の状態を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に移行させる(S36)。この結果、アプリ138は、T430において、プリンタ10Cからアドバタイズ信号を受信してセットアップ情報を取得し(S38でYES)、T432において、取得済みのセットアップ情報をメモリ134に記憶する。その後、公開鍵PKCが利用される点、及び、処理の主体がプリンタ10Cである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10CとAP6との間にWi-Fi接続が確立される。特に、
図8で引用するT132において、プリンタ10CがDPP非応答状態に移行すると、プリンタ10Cは、アドバタイズ信号の送信を停止する。
【0094】
(ケースC2;
図8)
続いて、
図8を参照して、ケースC2を説明する。ケースC2は、端末100とプリンタ10Cとの間でDPP処理が実行されるケースである。ケースC2では、プリンタ10Cは、COを記憶済みであることに起因して、電源がONされる際に、DPP応答状態に自動的に移行しない。ケースC2では、まず、
図6のT200~T212と同様の処理が実行される。T444~T448の処理は、T424~T428の処理と同様である。
【0095】
本ケースでは、プリンタ10Cは、DPP応答状態に移行していないので、アドバタイズ信号を送信しない。従って、アプリ138は、プリンタ10Cからアドバタイズ信号を受信しない。アプリ138は、アドバタイズ信号が所定時間受信されない場合(S38でNO)に、T450において、選択画面SC1を表示部114に再び表示させる(S10)。
【0096】
アプリ138は、T452において、選択画面SC1内のモデル名入力領域(
図3参照)にモデル名MNCの入力を受け付ける(S12でYES)。この場合、アプリ138は、T454において、選択画面SC2を表示部114に表示させる(S14)。このように、アドバタイズ信号が受信されない場合(即ち公開鍵PKCが受信されない場合)には、アプリ138は、ユーザが実行すべき操作をユーザに提示することができるので、ユーザの利便性が向上する。
【0097】
図3に示されるように、選択画面SC2は、メッセージM1を含む。プリンタ10Cは、T460において、当該メッセージM1を見たユーザからDPP移行操作を受け付けると、T462において、DPP応答状態に移行し、T464において、セットアップ情報をBTI/F20に供給する。ここで、ケースC2の初期状態では、DPP移行操作情報が「要」を示すが、セットアップ情報がBTI/F20に供給される段階では、プリンタ10CがDPP応答状態に移行済みであるので、DPP移行操作情報は「不要」を示す。T466の処理は、T414の処理と同様である。また、T470~T478の処理は、T424~T432の処理と同様である。その後、公開鍵PKCが利用される点、及び、処理の主体がプリンタ10Cである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10CとAP6との間にWi-Fi接続が確立される。
【0098】
(ケースD1;
図9)
続いて、
図9を参照して、ケースD1を説明する。ケースD1は、端末100とプリンタ10Dとの間でDPP処理が実行されるケースである。ケースD1の初期状態では、プリンタ10Dは、公開鍵PKDと、公開鍵PKDに対応する秘密鍵(図示省略)と、を記憶している。ケースD1では、プリンタ10Dは、COを記憶していないことに起因して、電源がONされる際に、DPP応答状態に自動的に移行する。T500~T504の処理は、
図5のT100~T104の処理と同様である。また、T506の処理は、セットアップ情報が異なる点(具体的には公開鍵PKDが利用される点)を除いて、
図8のT412の処理と同様である。
【0099】
プリンタ10Dは、アドバタイズ信号であるBLE_ADV_INDを繰り返し送信する。当該アドバタイズ信号は、セットアップ情報を含まない。T508の段階では、端末100によってアドバタイズ信号は受信されない。
【0100】
T510及びT512の処理は、
図5のT110及びT112と同様である。アプリ138は、T514において、ユーザから、選択画面SC1内のBTを示すマークの選択を受け付けると(S30でYES)、T515において、確認画面SC4を表示部114に表示させる(S32)。その後、アプリ138は、T516において、確認画面SC4内のYESボタンの選択を受け付けると(S34でYES)、端末100のBTI/F120の状態を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に移行させる(S36)。この結果、アプリ138は、T518において、プリンタ10Dからアドバタイズ信号を受信して、T520において、BTによる1対1接続(即ちGATT接続)を確立する(S36)。
【0101】
その後、アプリ138は、T522において、BTI/F120を介して、GATT接続を利用して、セットアップ情報要求をプリンタ10Dに送信する。
【0102】
プリンタ10Dは、T522において、端末100からセットアップ情報要求を受信すると、T524において、BTI/F20を介して、GATT接続を利用して、セットアップ情報を端末100に送信する。
【0103】
アプリ138は、T524において、プリンタ10Dからセットアップ情報を受信すると(S38でYES)、受信済みのセットアップ情報をメモリ134に記憶する。その後、公開鍵PKDが利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10DとAP6との間にWi-Fi接続が確立される。特に、
図9で引用するT132において、プリンタ10Dは、DPP非応答状態に移行すると、アドバタイズ信号の送信を停止する。
【0104】
(ケースD2;
図10)
続いて、
図10を参照して、ケースD2を説明する。ケースD2は、端末100とプリンタ10Dとの間でDPP処理が実行されるケースである。ケースD2では、プリンタ10Dは、COを記憶済みであることに起因して、電源がONされる際に、DPP応答状態に自動的に移行しない。T530及びT532の処理は、
図5のT100及びT102の処理と同様である。T534の処理は、
図9のT508の処理と同様である。
【0105】
T540~T552の処理は、
図9のT510~T522の処理と同様である。本ケースでは、プリンタ10Dは、DPP応答状態に移行していないので、セットアップ情報をBTI/F20に供給していない。従って、アプリ138は、プリンタ10Dからセットアップ情報を受信しない(
図3のS38でNO)。この場合、アプリ138は、T560において、選択画面SC1を表示部114に再び表示させる(S10)。
【0106】
アプリ138は、T562において、選択画面SC1内のモデル名入力領域(
図3参照)にモデル名MNDの入力を受け付ける(S12でYES)。この場合、アプリ138は、T564において、選択画面SC2を表示部114に表示させる(S14)。ここで表示される選択画面SC2は、プリンタ10Dの状態をDPP非応答状態からDPP応答状態に移行させるためにユーザが実行すべき操作を示すメッセージM2を含む。また、ここで表示される選択画面SC2では、QRコードを示すマーク及びNFCを示すマークがグレーアウトされており、BTを示すマークのみが選択可能な態様で表示される。
【0107】
アプリ138は、T566において、選択画面SC2内のメッセージM2を見たユーザから移行指示送信操作を受け付けると、T570において、BTI/F120を介して、GATT接続を利用して、DPP移行指示をプリンタ10Dに送信する。
【0108】
プリンタ10Dは、T570において、端末100からDPP移行指示を受信すると、T572において、DPP応答状態に移行し、T574において、セットアップ情報をBTI/F20に供給する。ここで、ケースD2の初期状態では、DPP移行操作情報が「要」を示すが、セットアップ情報がBTI/F20に供給される段階では、プリンタ10DがDPP応答状態に移行済みであるので、DPP移行操作情報は「不要」を示す。T576~T586の処理は、
図9のT514~T516、T522~T526の処理と同様である。その後、公開鍵PKDが利用される点、及び、処理の主体がプリンタ10Dである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10DとAP6との間にWi-Fi接続が確立される。特に、
図10で引用するT132において、プリンタ10Dは、DPP非応答状態に移行すると、アドバタイズ信号の送信を停止する。
【0109】
(ケースE;
図11)
続いて、
図11を参照して、ケースEを説明する。ケースEは、ケースEは、端末100とプリンタ10Eとの間でDPP処理が実行されるケースである。ケースEの初期状態では、プリンタ10Eは、公開鍵PKEと、公開鍵PKEに対応する秘密鍵(図示省略)と、を記憶している。ケースEでは、プリンタ10Dは、COを記憶していないが、電源がONされる際に、DPP応答状態に自動的に移行しない。T600及びT602の処理は、
図5のT100及びT102の処理と同様である。また、T606及びT608の処理は、セットアップ情報が異なる点を除いて、
図9のT506及びT508の処理と同様である。セットアップ情報は、公開鍵PKEと、DPP移行操作情報「要」と、移行指示の送信を示すウェブページのURLである第2のURLを示す操作手順URLと、を含む。
【0110】
T610~T626の処理は、セットアップ情報が異なる点を除いて、
図9のT510~T526の処理と同様である。アプリ138は、セットアップ情報を取得すると(
図3のS38でYES)、取得済みのセットアップ情報に含まれるDPP移行操作情報が「要」を示し(
図4のS52でYES)、操作手順URLが第2のURLであるので(S54で「第2のURL」)、T630において、通知画面SC7を表示部114に表示させる(S70)。
【0111】
アプリ138は、T632において、通知画面SC7内のYESボタンの選択を受け付けると(S72でYES)、T634において、BTI/F120を介して、GATT接続を利用して、DPP移行指示をプリンタ10Eに送信する(S74)。
【0112】
プリンタ10Eは、T634において、端末100からDPP移行指示を受信すると、T640において、DPP応答状態に移行する。その後、公開鍵PKEが利用される点、及び、処理の主体がプリンタ10Eである点を除いて、
図5のT130からT152と同様の処理が実行され、プリンタ10EとAP6との間にWi-Fi接続が確立される。
【0113】
(ケースF1;
図12)
続いて、
図12を参照して、ケースF1を説明する。ケースF1は、端末100とプリンタ10Fとの間でDPP処理が実行されるケースである。ケースF1の初期状態では、プリンタ10Fは、公開鍵PKFと、公開鍵PKFに対応する秘密鍵(図示省略)と、を記憶している。ケースF1では、プリンタ10Fは、COを記憶していないことに起因して、電源がONされる際に、DPP応答状態に自動的に移行する。ケースF1では、まず、
図5のT100~T104と同様の処理が実行される。
【0114】
プリンタ10Fは、T712において、セットアップ情報をNFCI/F22に供給するとともに、NFCI/F22の状態を、NFC通信を実行不可能な状態から、NFC通信を実行可能な状態に移行させる。本ケースのセットアップ情報は、公開鍵PKFと、DPP移行操作情報「不要」と、を含む。
【0115】
その後、
図5のT110及びT112と同様の処理が実行され、選択画面SC1が表示される(
図3のS10)。アプリ138は、T714において、ユーザから、選択画面SC1内のNFCを示すマークの選択を受け付けると(S40でYES)、T716において、確認画面SC5を表示部114に表示させる。その後、アプリ138は、T718において、確認画面SC5内のYESボタンの選択を受け付けると(S44でYES)、端末100のNFCI/F122の状態を、NFC通信を実行不可能な状態から、NFC通信を実行可能な状態に移行させる(S46)。さらに、アプリ138は、T719において、通知画面SC9を表示部114に表示させる。通知画面SC9は、端末100をプリンタ10Fに近づけることをユーザに促すメッセージを含む。このために、ユーザは、端末100をプリンタ10Fに近づけるべきことを認識することができる。
【0116】
通知画面SC9を見た端末100のユーザは、T720において、端末100をプリンタ10Fに近づけて、端末100とプリンタ10Fとの間にNFC接続を確立させる。そして、端末100は、T722において、NFCI/F122を介して、NFC接続を利用して、プリンタ10Fからセットアップ情報を受信し(S48でYES)、T724において、受信済みのセットアップ情報をメモリ134に記憶する。その後、公開鍵PKFが利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10FとAP6との間にWi-Fi接続が確立される。特に、
図12で引用するT132において、プリンタ10Fは、DPP非応答状態に移行すると、NFCI/F22の状態を、NFC通信を実行可能な状態から、NFC通信を実行不可能な状態に移行させる。
【0117】
(ケースF2;
図12)
続いて、
図12を参照して、ケースF2を説明する。ケースF2は、端末100とプリンタ10Fとの間でDPP処理が実行されるケースである。ケースF2では、プリンタ10Fは、COを記憶済みであることに起因して、電源がONされる際に、DPP応答状態に自動的に移行しない。ケースF2では、まず、
図6のT200~T212と同様の処理が実行される。T734~T740の処理は、T714~T720の処理と同様である。
【0118】
本ケースでは、プリンタ10FがDPP応答状態に移行していないので、プリンタ10FのNFCI/F22にセットアップ情報が供給されていない。従って、アプリ138は、プリンタ10Fからセットアップ情報を受信しない。アプリ138は、セットアップ情報が取得されない場合(S48でNO)に、T750において、選択画面SC1を表示部114に再び表示させる(S10)。
【0119】
アプリ138は、T752において、選択画面SC1内のモデル名入力領域(
図3参照)にモデル名MNFの入力を受け付ける(S12でYES)。この場合、アプリ138は、T754において、選択画面SC2を表示部114に表示させる(S14)。
【0120】
図3に示されるように、選択画面SC2は、メッセージM1を含む。プリンタ10Fは、T760において、当該メッセージM1を見たユーザからDPP移行操作を受け付けると、T762において、DPP応答状態に移行し、T764において、セットアップ情報をNFCI/F22に供給する。ここで、ケースF2の初期状態では、DPP移行操作情報が「要」を示すが、セットアップ情報がNFCI/F22に供給される段階では、プリンタ10FはDPP応答状態に移行済みであるので、DPP移行操作情報は「不要」を示す。T770~T778の処理は、T714~T724の処理と同様である。その後、公開鍵PKFが利用される点、及び、処理の主体がプリンタ10Fである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10FとAP6との間にWi-Fi接続が確立される。
【0121】
(ケースG1;
図13)
続いて、
図13を参照して、ケースG1を説明する。ケースG1は、端末100とプリンタ10Gとの間でDPP処理が実行されるケースである。ケースG1の初期状態では、プリンタ10Gは、公開鍵PKGと、公開鍵PKGに対応する秘密鍵(図示省略)と、を記憶している。ケースG1では、プリンタ10Gは、COを記憶していないことに起因して、電源がONされる際に、DPP応答状態に自動的に移行する。T800~T804の処理は、
図5のT100~T104の処理と同様である。
【0122】
プリンタ10Gは、T806において、WFD接続情報をNFCI/F22に供給する。WFD接続情報は、プリンタ10Gと端末100との間にWFD接続を確立させるために利用される情報(例えば、プリンタ10GがWFDの親局として動作する無線ネットワークのSSID(Service Set Identifierの略))である。
【0123】
T810及びT812の処理は、
図5のT110及びT112と同様である。また、T814~T822の処理は、
図12のT714~T720の処理と同様である。
【0124】
アプリ138は、T824において、NFCI/F122を介して、NFC接続を利用して、プリンタ10GからWFD接続情報を受信し、T826において、受信済みのWFD接続情報を利用して、プリンタ10GとのWFD接続を確立する(S46)。
【0125】
アプリ138は、T830において、Wi-FiI/F116を介して、WFD接続を利用して、セットアップ情報要求をプリンタ10Gに送信する。
【0126】
プリンタ10Gは、T830において、端末100からセットアップ情報要求を受信すると、T831において、セットアップ情報をWi-FiI/F16に供給し、T832において、Wi-FiI/F16を介して、WFD接続を利用して、セットアップ情報を端末100に送信する。本ケースのセットアップ情報は、公開鍵PKGと、DPP移行操作情報「不要」と、を含む。
【0127】
アプリ138は、プリンタ10Gからセットアップ情報を受信すると(S48でYES)、T834において、セットアップ情報を記憶する。その後、T836において、端末100とプリンタ10Gとの間のWFD接続が切断される。
【0128】
その後、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10GとAP6との間にWi-Fi接続が確立される。特に、
図13で引用するT132において、プリンタ10Fは、DPP非応答状態に移行すると、NFCI/F22の状態を、NFC通信を実行可能な状態から、NFC通信を実行不可能な状態に移行させる。
【0129】
(ケースG2;
図14)
続いて、
図14を参照して、ケースG2を説明する。ケースG2は、端末100とプリンタ10Gとの間でDPP処理が実行されるケースである。ケースG2では、プリンタ10Gは、COを記憶済みであることに起因して、電源がONされる際に、DPP応答状態に自動的に移行しない。T900及びT902の処理は、
図5のT100及びT102の処理と同様である。また、T910~T922の処理は、
図13のT810~T822の処理と同様である。
【0130】
本ケースでは、プリンタ10GのNFCI/F22にはセットアップ情報もWFD接続情報も供給されていない。このために、アプリ138は、端末100がプリンタ10Gにタッチされても、セットアップ情報もWFD接続情報も取得しない(
図3のS48でNO)。この場合、アプリ138は、T950において、選択画面SC1を表示部114に再び表示させる(S10)。
【0131】
アプリ138は、T952において、選択画面SC1内のモデル名入力領域(
図3参照)にモデル名MNGの入力を受け付ける(S12でYES)。この場合、アプリ138は、T954において、選択画面SC2を表示部114に表示させる(S14)。
【0132】
図3に示されるように、選択画面SC2は、メッセージM1を含む。プリンタ10Gは、T960において、メッセージM1を見たユーザからDPP移行操作を受け付けると、T962において、DPP応答状態に移行し、T964において、WFD接続情報をNFCI/F22に供給する。T970~T986の処理は、
図13のT814~T836の処理と同様である。その後、公開鍵PKGが利用される点、及び、処理の主体がプリンタ10Gである点を除いて、
図5のT130~T152と同様の処理が実行され、プリンタ10GとAP6との間にWi-Fi接続が確立される。
【0133】
(本実施例の効果)
上記の構成によると、端末100は、プリンタ(例えば10A)の公開鍵を取得するための3個の取得手段(具体的にはQRコード、NFC、及びBT)を示す選択画面SC1を表示し(
図3のS10)、選択済みの特定の取得手段(例えばQRコード)に対応する通知画面(例えばSC8(
図5参照))を表示する(例えばS26)。この結果、特定の取得手段によってプリンタの公開鍵が取得され(例えばS28)、認証要求の送信等の各種通信が実行される(
図4のS80)。この結果、プリンタとAP6との間にWi-Fi接続を適切に確立させることができる。
【0134】
(対応関係)
端末100、プリンタ10(即ちプリンタ10A~10K)、AP6が、それぞれ、「第1の通信装置」、「第2の通信装置」、「外部装置」の一例である。アプリ138が、「コンピュータプログラム」の一例である。公開鍵(例えばPKA)が、「ブートストラッピングキー(及び特定のブートストラッピングキー)」の一例である。QRコード、BT、NFCの3つの公開鍵の取得手段が、「M個の取得手段」の一例である。Auth Req、Auth Res、プリンタ用COが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。BT通信、NFC通信が、それぞれ、「第1の通信」、「第2の通信」の一例である。選択画面SC1が、「第1の手段選択情報(及びモデル名受付情報)」の一例である。通知画面SC8(
図5参照)、確認画面SC4(
図3参照)、通知画面SC9(
図12参照)が、「サポート情報(及び特定のサポート情報)」の一例である。特に、通知画面SC8内のメッセージ「QRコードを撮影してください」、確認画面SC4内のメッセージ「セットアップを実行しますか」、通知画面SC9内のメッセージ「端末をプリンタのNFCマークに近づけてください」が、それぞれ、「第1のメッセージ」、「第2のメッセージ」、「第3のメッセージ」の一例である。選択画面SC2が、「第2の手段選択情報(及び第1~第3の手法情報)」の一例である。特に、
図6のT234で表示される選択画面SC2、
図9のT454で表示される選択画面SC2が、それぞれ、「第2の手法情報」、「第3の手法情報」の一例である。確認画面SC3、確認画面SC5が、それぞれ、「第1の確認情報」、「第2の確認情報」の一例である。通知画面SC6、通知画面SC7が、それぞれ、「第4の手法情報」、「第3の確認情報」の一例である。DPP移行操作情報が、「移行情報」の一例である。DPP移行操作(例えば
図6のT240)、DPP移行指示(例えば
図10のT570)が、それぞれ、「所定操作」、「移行指示」の一例である。メッセージM1又はM2によって示される操作(即ち、DPP非応答状態からDPP応答状態に移行させるための操作)が、「第1(~第3の)操作」の一例である。
【0135】
図3のS10の処理が、「第1の表示制御部(及び第3の表示制御部)」によって実行される処理の一例である。
図3のS14の処理が、「第4の表示制御部(及び第6の表示制御部、第7の表示制御部)」によって実行される処理の一例である。
図3のS22の処理が、「第5の表示制御部」によって実行される処理の一例である。
図3のS26の処理、S32の処理、及びS46の処理が、「第2の表示制御部」によって実行される処理の一例である。
図3のS28、S38、及びS48の処理が、「取得部」によって実行される処理の一例である。
図3のS42の処理が、「第8の表示制御部」によって実行される処理の一例である。
図4のS60の処理、S70の処理、S74の処理が、それぞれ、「第9の表示制御部」、「第10の表示制御部」、「所定指示送信部」によって実行される処理の一例である。
図5のT130の処理、T134の処理、T142の処理が、それぞれ、「認証要求送信部」、「認証応答受信部」、「接続情報通信部」によって実行される処理の一例である。
【0136】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0137】
(変形例1)上記の実施例では、例えばプリンタ10AとAP6との間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行された。変形例では、端末100とAP6との間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行されてもよい。本変形例では、プリンタ10AがConfiguratorとして動作し、端末100がEnrolleeとして動作し、プリンタ10Aが端末用COを端末100に送信してもよい。本変形例では、端末用COが、「接続情報」の一例である。また、別の変形例では、端末100とプリンタ10Aとの間にWi-Fi接続を確立させるために、端末100とプリンタ10Aとの間でDPP処理が実行されてもよい。本変形例では、端末100又はプリンタ10Aが、「外部装置」の一例である。また、別の変形例では、端末100は、プリンタ用SCを含むプリンタ用COをプリンタ10Aに送信することに代えて、AP6のSSID及びパスワードを含むプリンタ用COをプリンタ10Aに送信してもよい。本変形例では、AP6のSSID及びパスワードを含むプリンタ用COが、「接続情報」の一例である。
【0138】
(変形例2)上記の実施例では、選択画面SC1(
図3参照)内に、モデル名入力領域と、3個のセットアップ情報取得手段と、の両方が含まれていた、変形例では、これらは別画面で表示されてもよい。例えば、アプリ138は、まず、モデル名入力領域のみを含む画面を表示させ、当該画面においてモデル名が入力されない場合に、3個のセットアップ情報取得手段を含む画面を表示させてもよい。本変形例では、モデル名入力領域のみを含む画面が、「モデル名受付情報」の一例である。また、別の変形例では、選択画面SC1は、モデル名入力領域を含まなくてもよい。本変形例では、「第3の表示制御部」を省略可能である。
【0139】
(変形例3)上記の実施例では、選択画面SC2(
図3参照)では、1個のセットアップ情報取得手段を示すマーク(
図3の例ではQRコードを示すマーク)のみが選択可能であり、残りの2個のセットアップ情報取得手段を示すマーク(
図3の例では、NFCを示すマーク、及びBTを示すマーク)が、グレーアウトされている。変形例では、選択画面SC2は、上記のグレーアウトされた2個のマークを含まず、QRコードを示すマークのみを含んでいてもよい。本変形例では、選択画面SC2に当該2個のマークが含まれないことが、「選択不可能な態様を有する」ことの一例である。
【0140】
(変形例4)選択画面SC2は、メッセージM1を含まなくてもよい。本変形例では、「第4の表示制御部」を省略可能である。
【0141】
(変形例5)アプリ138は、
図5のT116及びT118の処理を省略して、T119の処理を実行してもよい。この場合、例えば、T119で表示される通知画面SC8は、確認画面SC3の内容に相当するメッセージ(即ち、QRコードが見つかったのか否かをユーザに問い合わせるメッセージ)を含んでいてもよい。即ち、本変形例では、「第1の確認情報」と「サポート情報」とが同一の画面内に表示されてもよい。また、別の変形例では、
図3のS22の処理を省略可能である。本変形例では、「第5の表示制御部」を省略可能である。
【0142】
(変形例6)アプリ138は、
図3のS24でNOと判断される場合に、S10の処理に戻らずに、
図3の処理を終了してもよい。この場合、アプリ138は、セットアップエラーを示す情報を表示してもよい。本変形例では、「第6の表示制御部」を省略可能である。
【0143】
(変形例7)アプリ138は、
図3のS32及びS34の処理を省略可能である。この場合、例えば、アプリ138は、S30でYESと判断される場合に、BTI/F120の状態を、アドバタイズ信号を受信不可能な状態から、アドバタイズ信号を受信可能な状態に自動的に移行させてもよい。そして、アプリ138は、BT通信を利用してセットアップ情報が受信される場合に、当該セットアップ情報から公開鍵を抽出してセットアップを開始するのか否かをユーザに確認するための情報を表示してもよい。本変形例では、セットアップ情報が受信された後に表示される上記の情報が、「第2のメッセージ」の一例である。
【0144】
(変形例8)アプリ138は、
図3のS38でNOと判断される場合に、S10の処理に戻らずに、
図3の処理を終了してもよい。この場合、アプリ138は、セットアップエラーを示す情報を表示してもよい。本変形例では、「第7の表示制御部」を省略可能である。
【0145】
(変形例9)アプリ138は、
図12のT716及びT718の処理を省略して、T719の処理を実行してもよい。この場合、例えば、T719で表示される通知画面SC9は、確認画面SC5の内容に相当するメッセージ(即ち、NFCマークN1が見つかったのか否かをユーザに問い合わせるメッセージ)を含んでいてもよい。即ち、本変形例では、「第3の確認情報」と「サポート情報」とが同一の画面内に表示されてもよい。また、別の変形例では、
図3のS42の処理を省略可能である。本変形例では、「第8の表示制御部」を省略可能である。
【0146】
(変形例10)セットアップ情報は、DPP移行操作情報を含まなくてもよい。本変形例では、「第9の表示制御部」、及び「所定指示送信部」を省略可能である。
【0147】
(変形例11)アプリ138は、
図4のS70において、DPP移行指示を実行するのか否かを問い合わせるメッセージと、YESボタンと、NOボタンと、を含まない通知画面SC7を表示してもよい。この場合、アプリ138は、通知画面SC7が表示されることに応じて、ユーザ操作を受け付けることなく、DPP移行指示を対象プリンタに送信してもよい。本変形例では、「第10の表示制御部」を省略可能である。
【0148】
(変形例12)上記の実施例では、
図3~
図14の各処理がプログラム36等のソフトウェアによって実現されたが、これらの各処理の少なくとも1つの処理が、論理回路等のハードウェアによって実現されてもよい。
【0149】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0150】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御部と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御部であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御部と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得部と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信部と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信部と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信部であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信部と、
として機能させる、コンピュータプログラム。
(項目2)
前記コンピュータプログラムは、前記コンピュータを、さらに、
通信装置のモデル名の指定を受け付けるためのモデル名受付情報を前記表示部に表示させる第3の表示制御部として機能させ、
前記第1の表示制御部は、
前記モデル名受付情報が表示されている状態においてモデル名が指定されない場合に、前記第1の手段選択情報を前記表示部に表示させ、
前記モデル名受付情報が表示されている状態において特定のモデル名が指定される場合に、第2の手段選択情報を前記表示部に表示させ、
前記第2の手段選択情報は、前記M個の取得手段のうち、前記特定のモデル名を有する通信装置に応じたN個(前記Nは1以上前記M未満の整数)の取得手段であって、選択可能な態様を有する前記N個の取得手段を含む、項目1に記載のコンピュータプログラム。
(項目3)
前記第2の手段選択情報は、さらに、前記M個の取得手段のうち、前記N個の取得手段とは異なる(M-N)個の取得手段であって、選択不可能な態様を有する前記(M-N)個の取得手段を含む、項目2に記載のコンピュータプログラム。
(項目4)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記モデル名受付情報が表示されている状態においてモデル名が指定される場合に、指定済みの前記モデル名を有する通信装置の状態を非応答状態から応答状態に移行させるための第1の操作を示す第1の手法情報を前記表示部に表示させる第4の表示制御部として機能させ、
前記非応答状態は、指定済みの前記モデル名を有する前記通信装置が認証応答を送信不可能な状態であり、
前記応答状態は、指定済みの前記モデル名を有する前記通信装置が認証応答を送信可能な状態である、項目2又は3に記載のコンピュータプログラム。
(項目5)
前記特定の取得手段が、前記異なる通信装置のブートストラッピングキーを用いて得られるコード画像の撮影である場合に、前記特定のサポート情報は、前記コード画像の撮影をユーザに促す第1のメッセージを含む、項目1から4のいずれか一項に記載のコンピュータプログラム。
(項目6)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記特定の取得手段が前記コード画像の撮影である場合に、前記コード画像が見つかったのか否かを前記ユーザに確認するための第1の確認情報を前記表示部に表示させる第5の表示制御部として機能させる、項目5に記載のコンピュータプログラム。
(項目7)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第1の確認情報が表示されている状態において、前記コード画像が見つからなかったことが選択される場合に、前記異なる通信装置の状態を非応答状態から応答状態に移行させるための第2の操作を示す第2の手法情報を前記表示部に表示させる第6の表示制御部として機能させ、
前記非応答状態は、前記異なる通信装置が認証応答を送信不可能な状態であり、
前記応答状態は、前記異なる通信装置が認証応答を送信可能な状態である、項目6に記載のコンピュータプログラム。
(項目8)
前記特定の取得手段がBluetooth(登録商標)通信を含む第1の通信である場合に、前記特定のサポート情報は、前記第1の通信を利用して前記異なる通信装置のブートストラッピングキーを受信するのか否かをユーザに確認するための第2のメッセージを含む、項目1から7のいずれか一項に記載のコンピュータプログラム。
(項目9)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2のメッセージを含む前記特定のサポート情報が表示されている状態において、前記異なる通信装置のブートストラッピングキーを受信することが選択された後に、前記異なる通信装置の前記ブートストラッピングキーが受信されない場合に、前記異なる通信装置の状態を非応答状態から応答状態に移行させるための第3の操作を示す第3の手法情報を前記表示部に表示させる第7の表示制御部として機能させ、
前記非応答状態は、前記異なる通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記異なる通信装置が前記認証応答を送信可能な状態である、項目8に記載のコンピュータプログラム。
(項目10)
前記特定の取得手段がNFC(Near Field Communicationの略)通信を含む第2の通信である場合に、前記特定のサポート情報は、前記第1の通信装置を前記異なる通信装置に近づけることをユーザに促す第3のメッセージを含む、項目1から9のいずれか一項に記載のコンピュータプログラム。
(項目11)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記特定の取得手段が前記第2の通信である場合に、前記異なる通信装置のNFCインターフェースの近傍に配置されている所定マークが見つかったのか否かを前記ユーザに確認するための第2の確認情報を前記表示部に表示させる第8の表示制御部として機能させる、項目10に記載のコンピュータプログラム。
(項目12)
前記取得部は、さらに、前記第2の通信装置の前記特定のブートストラッピングキーと共に、前記第2の通信装置の移行情報を取得し、
前記移行情報は、前記第2の通信装置の状態を非応答状態から応答状態に移行させるための所定操作が必要であるのか否かを示す情報であり、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定操作が必要であることを示す場合に、前記所定操作を示す第4の手法情報を前記表示部に表示させる第9の表示制御部であって、前記移行情報が、前記所定操作が必要でないことを示す場合に、前記第4の手法情報は表示されない、前記第9の表示制御部として機能させる、項目1から11のいずれか一項に記載のコンピュータプログラム。
(項目13)
前記取得部は、さらに、前記第2の通信装置の前記特定のブートストラッピングキーと共に、前記第2の通信装置の移行情報を取得し、
前記移行情報は、前記第2の通信装置の状態を非応答状態から応答状態に移行させるための所定指示の送信が必要であるのか否かを示す情報であり、
前記非応答状態は、前記第2の通信装置が前記認証応答を送信不可能な状態であり、
前記応答状態は、前記第2の通信装置が前記認証応答を送信可能な状態であり、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定指示の送信が必要であることを示す場合に、前記所定指示を前記第2の通信装置に送信する所定指示送信部であって、前記移行情報が、前記所定指示の送信が必要でないことを示す場合に、前記所定指示は送信されない、前記所定指示送信部として機能させる、項目1から11のいずれか一項に記載のコンピュータプログラム。
(項目14)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記移行情報が、前記所定指示の送信が必要であることを示す場合に、前記所定指示を送信するのか否かをユーザに確認するための第3の確認情報を前記表示部に表示させる第10の表示制御部として機能させ、
前記所定指示送信部は、前記第3の確認情報が表示されている状態において、前記所定指示を送信することが選択される場合に、前記所定指示を前記第2の通信装置に送信し、
前記第3の確認情報が表示されている状態において、前記所定指示を送信しないことが選択される場合に、前記所定指示は送信されない、項目13に記載のコンピュータプログラム。
(項目15)
第1の通信装置であって、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御部と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御部であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御部と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得部と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信部と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信部と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信部であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信部と、
を備える、第1の通信装置。
(項目16)
第1の通信装置によって実行される方法であって、
前記第1の通信装置は、
Wi-Fi規格に従ったWi-Fi通信を実行するためのWi-Fiインターフェースと、
表示部と、
を備え、
前記方法は、
前記第1の通信装置とは異なる通信装置のブートストラッピングキーを取得するためのM個(前記Mは2以上の整数)の取得手段を含む第1の手段選択情報を前記表示部に表示させる第1の表示制御工程と、
前記第1の手段選択情報に含まれる前記M個の取得手段の中から特定の取得手段が選択される場合に、前記M個の取得手段に対応するM個のサポート情報のうち、前記特定の取得手段に対応する特定のサポート情報を前記表示部に表示させる第2の表示制御工程であって、前記M個のサポート情報のそれぞれは、前記異なる通信装置のブートストラッピングキーを、当該サポート情報に対応する取得手段によって取得することをサポートするための情報である、前記第2の表示制御工程と、
前記特定の取得手段が選択された後に、前記第1の通信装置とは異なる第2の通信装置のブートストラッピングキーである特定のブートストラッピングキーを前記特定の取得手段によって取得する取得工程と、
前記特定のブートストラッピングキーが取得される場合に、前記Wi-Fiインターフェースを介して、前記特定のブートストラッピングキーが利用された認証要求を前記第2の通信装置に送信する認証要求送信工程と、
前記認証要求が前記第2の通信装置に送信される場合に、前記Wi-Fiインターフェースを介して、前記第2の通信装置から認証応答を受信する認証応答受信工程と、
前記第2の通信装置から前記認証応答が受信される場合に、前記Wi-Fiインターフェースを介して、接続情報の通信を前記第2の通信装置と実行するする接続情報通信工程であって、前記接続情報は、前記第1の通信装置又は前記第2の通信装置と外部装置との間にWi-Fi接続を確立させるための情報である、前記接続情報通信工程と、
を備える、方法。
【符号の説明】
【0151】
2:通信システム、6:AP、10,10A~10G:プリンタ、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:アプリケーション