(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022131101
(43)【公開日】2022-09-07
(54)【発明の名称】通信システムと端末のためのコンピュータプログラムと通信装置
(51)【国際特許分類】
H04W 76/10 20180101AFI20220831BHJP
H04W 12/04 20210101ALI20220831BHJP
H04W 84/12 20090101ALI20220831BHJP
H04L 9/08 20060101ALI20220831BHJP
【FI】
H04W76/10 130
H04W12/04
H04W84/12
H04L9/00 601B
H04L9/00 601F
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2021029849
(22)【出願日】2021-02-26
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】朝倉 弘崇
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067AA35
5K067BB21
5K067DD11
5K067DD17
5K067EE02
5K067EE10
5K067EE12
5K067EE16
5K067EE25
5K067FF02
5K067HH22
5K067HH24
5K067JJ12
5K067JJ13
(57)【要約】
【課題】コード画像のサイズが大きくなるのを抑制し得る技術を提供すること。
【解決手段】端末は、コード画像をデコードして文字列を取得する。文字列は、通信装置の公開鍵を含まないと共に、通信装置を識別する識別情報を含む。端末は、識別情報を利用して、通信装置の公開鍵を取得し、取得済みの公開鍵を利用して、対象通信を通信装置と実行するための所定処理を実行する。対象通信は、一対の装置の間に所定の通信方式に従った無線接続を確立するための通信である。
【選択図】
図5
【特許請求の範囲】
【請求項1】
通信システムであって、
通信装置と、
端末と、
サーバと、を備え、
前記端末は、
カメラと、
Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、
表示部と、
コンピュータと、
前記通信装置のベンダによって提供されないコード画像読取プログラムと、前記ベンダによって提供されないブラウザプログラムと、を記憶する端末メモリと、を備え、
前記コード画像読取プログラムは、前記コンピュータを、以下の各部、即ち、
前記カメラによってコード画像が読み取られる場合に、前記コード画像をデコードして文字列を取得する第1の文字列取得部であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記ベンダによって提供されるベンダプログラムをダウンロードするための特定のURI(Uniform Resource Identifierの略)を含み、前記特定のURIは、前記通信装置を識別する識別情報を含む、前記第1の文字列取得部と、
取得済みの前記文字列を前記ブラウザプログラムに供給する供給部と、として機能させ、
前記ブラウザプログラムは、前記コンピュータを、
前記コード画像読取プログラムから前記文字列が取得される場合に、前記文字列に含まれる前記特定のURIを利用して、前記サーバから、前記ベンダプログラムをダウンロードするための特定のウェブページを表示するための特定のウェブページデータを受信する第1の受信部と、
前記特定のウェブページデータを利用して、前記特定のウェブページを前記表示部に表示させる第1の表示制御部と、として機能させ、
前記特定のウェブページが前記表示部に表示されることに起因して、前記ベンダプログラムがダウンロードされた後に、前記ベンダプログラムは、前記コンピュータを、以下の各部、即ち、
前記カメラによって前記コード画像が再び読み取られる場合に、前記コード画像をデコードして前記文字列を取得する第2の文字列取得部と、
取得済みの前記文字列に含まれる前記特定のURI内の前記識別情報を利用して、前記通信装置の前記公開鍵を取得する公開鍵取得部と、
取得済みの前記公開鍵を利用して、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記通信装置と実行するための所定処理を実行する所定処理実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記所定処理実行部と、として機能させる、
通信システム。
【請求項2】
前記ベンダプログラムは、前記コンピュータを、さらに、以下の各部、即ち、
前記特定のURIとは異なる第1のURIを利用して、表示処理を実行する表示処理実行部であって、前記表示処理は、前記サーバから第1のウェブページを表示するための第1のウェブページデータを受信して、前記第1のウェブページを前記表示部に表示させるための処理であり、前記第1のウェブページは、前記通信装置の状態を、前記所定の通信方式に従った無線通信を実行不可能である不可能状態から、前記所定の通信方式に従った無線通信を実行可能である可能状態に変更するための変更操作を示す、前記表示処理実行部と、
前記対象通信は、前記第1のウェブページによって示される前記変更操作が前記通信装置に実行されることに起因して、前記通信装置の状態が前記不可能状態から前記可能状態に変更された後に、前記通信装置と実行される、請求項1に記載の通信システム。
【請求項3】
前記第1のURIは、取得済みの前記文字列に含まれる前記特定のURI内の前記識別情報を含み、
前記表示処理は、前記第1のURIを送信先としてウェブページ要求を前記サーバに送信する処理を含み、
前記サーバは、
複数種類の装置のそれぞれについて、当該装置の状態を前記不可能状態から前記可能状態に変更するための変更操作を示すメッセージを記憶するサーバメモリと、
前記端末から前記ウェブページ要求が受信される場合に、前記サーバメモリから、前記第1のURIに含まれる前記識別情報によって特定される前記通信装置に対応する特定のメッセージを抽出する抽出部と、
抽出済みの前記特定のメッセージを含む前記第1のウェブページデータを前記端末に送信するウェブページ送信部と、
を備える、請求項2に記載の通信システム。
【請求項4】
前記公開鍵取得部は、前記特定のURIとは異なる第2のURIを送信先として、前記識別情報を前記サーバに送信して、前記サーバによって前記識別情報から生成される前記公開鍵を前記サーバから受信することによって、前記公開鍵を取得する、請求項1から3のいずれか一項の記載の通信システム。
【請求項5】
前記端末メモリは、さらに、前記通信装置のベンダによって提供されないダウンロードプログラムを記憶し、
前記ダウンロードプログラムは、前記コンピュータを、以下の各部、即ち、
前記特定のウェブページにおいて、前記ベンダプログラムをダウンロードするための第1の操作が実行される場合に、前記サーバとは異なるサーバから、前記ベンダプログラムをダウンロードするための第2のウェブページを表示するための第2のウェブページデータを受信する第2の受信部と、
前記第2のウェブページデータを利用して、前記第2のウェブページを前記表示部に表示させる第2の表示制御部と、
前記第2のウェブページにおいて、前記ベンダプログラムをダウンロードするための第2の操作が実行される場合に、前記ベンダプログラムをダウンロードするダウンロード部と、
として機能させる、請求項1から4のいずれか一項に記載の通信システム。
【請求項6】
前記端末メモリは、さらに、前記通信装置のベンダによって提供されない接続プログラムを記憶し、
前記所定処理は、前記接続プログラムに前記対象通信を前記通信装置と実行させるために、前記公開鍵を前記接続プログラムに供給することを含む、請求項1から5のいずれか一項に記載の通信システム。
【請求項7】
端末のためのコンピュータプログラムであって、
前記端末は、
カメラと、
Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、
表示部と、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記カメラによってコード画像が読み取られる場合に、前記コード画像をデコードして文字列を取得する文字列取得部であって、前記文字列は、通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含む、前記文字列取得部と、
取得済みの前記文字列に含まれる前記識別情報を利用して、前記通信装置の前記公開鍵を取得する公開鍵取得部と、
取得済みの前記公開鍵を利用して、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記通信装置と実行するための所定処理を実行する所定処理実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記所定処理実行部と、
として機能させる、コンピュータプログラム。
【請求項8】
前記コンピュータプログラムは、前記コンピュータを、さらに、
第1のURI(Uniform Resource Identifierの略)を利用して、表示処理を実行する表示処理実行部であって、前記表示処理は、サーバから第1のウェブページを表示するための第1のウェブページデータを受信して、前記第1のウェブページを前記表示部に表示させるための処理であり、前記第1のウェブページは、前記通信装置の状態を、前記所定の通信方式に従った無線通信を実行不可能である不可能状態から、前記所定の通信方式に従った無線通信を実行可能である可能状態に変更するための変更操作を示す、前記表示処理実行部として機能させ、
前記対象通信は、前記第1のウェブページによって示される前記変更操作が前記通信装置に実行されることに起因して、前記通信装置の状態が前記不可能状態から前記可能状態に変更された後に、前記通信装置と実行される、請求項7に記載のコンピュータプログラム。
【請求項9】
前記表示処理は、前記端末のブラウザプログラムを利用せずに、前記サーバから前記第1のウェブページデータを受信する処理と、前記第1のウェブページを前記表示部に表示させる処理と、を含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記第1のURIは、前記識別情報を含み、
前記第1のウェブページデータは、前記識別情報によって識別される前記通信装置に対応する特定のメッセージを含む、請求項8又は9に記載のコンピュータプログラム。
【請求項11】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記コンピュータプログラムが予め有する前記サーバのドメインと、前記識別情報と、を含む前記第1のURIを生成する第1の生成部として機能させる、請求項10に記載のコンピュータプログラム。
【請求項12】
前記公開鍵取得部は、第2のURIを送信先として、前記識別情報を前記サーバに送信して、前記サーバによって前記識別情報から生成される前記公開鍵を前記サーバから受信することによって、前記公開鍵を取得する、請求項7から11のいずれか一項の記載のコンピュータプログラム。
【請求項13】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記コンピュータプログラムが予め有する前記サーバのドメインと、前記識別情報と、を含む前記第2のURIを生成する第2の生成部として機能させる、請求項12に記載のコンピュータプログラム。
【請求項14】
前記所定処理は、前記端末の接続プログラムに前記対象通信を前記通信装置と実行させるために、前記公開鍵を前記接続プログラムに供給することを含む、請求項7から13のいずれか一項に記載のコンピュータプログラム。
【請求項15】
前記識別情報は、前記通信装置のシリアル番号を含む、請求項7から14のいずれか一項に記載のコンピュータプログラム。
【請求項16】
前記対象通信は、
前記公開鍵が利用された認証要求を前記通信装置に送信すること、
前記通信装置から前記認証要求に対する認証応答を受信すること、及び、
接続情報を前記通信装置に送信すること、を含み、
前記接続情報は、前記通信装置及びアクセスポイントである前記一対の装置の間に前記所定の通信方式に従った前記無線接続を確立するための情報である、請求項7から15のいずれか一項に記載のコンピュータプログラム。
【請求項17】
通信装置であって、
Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、
文字列をコード化することによって得られるコード画像を示すシールが貼り付けられている筐体であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含み、前記識別情報は、前記公開鍵を取得するために端末によって利用される、前記筐体と、
前記公開鍵が前記端末によって取得される場合に、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記端末と実行する通信実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記通信実行部と、
を備える、通信装置。
【請求項18】
通信装置であって、
Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、
文字列をコード化することによって得られるコード画像を出力部に出力させる出力制御部であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含み、前記識別情報は、前記公開鍵を取得するために端末によって利用される、前記出力制御部と、
前記公開鍵が前記端末によって取得される場合に、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記端末と実行する通信実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記通信実行部と、
を備える、通信装置。
【請求項19】
前記文字列は、前記ベンダによって提供されるベンダプログラムをダウンロードするための特定のURI(Uniform Resource Identifierの略)を含み、
前記識別情報は、前記特定のURIに含まれる、請求項17又は18に記載の通信装置。
【請求項20】
前記識別情報は、前記通信装置のシリアル番号を含む、請求項17から18のいずれか一項に記載の通信装置。
【請求項21】
前記対象通信は、
前記端末から前記公開鍵が利用された認証要求を受信すること、
前記認証要求に対する認証応答を前記端末に送信すること、及び、
前記端末から接続情報を受信すること、を含み、
前記接続情報は、前記通信装置及びアクセスポイントである前記一対の装置の間に前記所定の通信方式に従った前記無線接続を確立するための情報である、請求項17から20のいずれか一項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、一対の装置の間に所定の通信方式に従った無線接続を確立するための技術を開示する。
【背景技術】
【0002】
非特許文献1には、非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDevice Provisioning Protocol方式(以下では「DPP方式」と記載する)が記述されている。DPP方式の一つの手法では、第1の装置の公開鍵をコード化することによって得られるコード画像が第2の装置によって読み取られることによって、当該公開鍵が第2の装置によって取得される。第2の装置は、当該公開鍵を利用して第1の装置と通信することによって、第1の装置とアクセスポイントとの間にWi-Fi接続を確立させることができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】「Wi-Fi Easy Connect Specification Version 2.0」Wi-Fi Alliance, 2020年
【発明の概要】
【発明が解決しようとする課題】
【0004】
公開鍵の文字数が多いと、コード画像のサイズが大きくなり得る。本明細書では、コード画像のサイズが大きくなるのを抑制し得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書によって開示される通信システムは、通信装置と、端末と、サーバと、を備えてもよい。前記端末は、カメラと、Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、表示部と、コンピュータと、前記通信装置のベンダによって提供されないコード画像読取プログラムと、前記ベンダによって提供されないブラウザプログラムと、を記憶する端末メモリと、を備えてもよい。前記コード画像読取プログラムは、前記コンピュータを、以下の各部、即ち、前記カメラによってコード画像が読み取られる場合に、前記コード画像をデコードして文字列を取得する第1の文字列取得部であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記ベンダによって提供されるベンダプログラムをダウンロードするための特定のURI(Uniform Resource Identifierの略)を含み、前記特定のURIは、前記通信装置を識別する識別情報を含む、前記第1の文字列取得部と、取得済みの前記文字列を前記ブラウザプログラムに供給する供給部と、として機能させてもよい。前記ブラウザプログラムは、前記コンピュータを、前記コード画像読取プログラムから前記文字列が取得される場合に、前記文字列に含まれる前記特定のURIを利用して、前記サーバから、前記ベンダプログラムをダウンロードするための特定のウェブページを表示するための特定のウェブページデータを受信する第1の受信部と、前記特定のウェブページデータを利用して、前記特定のウェブページを前記表示部に表示させる第1の表示制御部と、として機能させてもよい。前記特定のウェブページが前記表示部に表示されることに起因して、前記ベンダプログラムがダウンロードされた後に、前記ベンダプログラムは、前記コンピュータを、以下の各部、即ち、前記カメラによって前記コード画像が再び読み取られる場合に、前記コード画像をデコードして前記文字列を取得する第2の文字列取得部と、取得済みの前記文字列に含まれる前記特定のURI内の前記識別情報を利用して、前記通信装置の前記公開鍵を取得する公開鍵取得部と、取得済みの前記公開鍵を利用して、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記通信装置と実行するための所定処理を実行する所定処理実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記所定処理実行部と、として機能させてもよい。
【0006】
上記の構成によると、コード画像は、通信装置の公開鍵を含まない文字列がコード化されたものである。このため、コード画像のサイズが大きくなるのを抑制し得る。特に、当該文字列は、特定のURIを含み、特定のURIは、通信装置を識別する識別情報を含む。このために、端末は、特定のURIを利用して、ベンダプログラムを取得することができると共に、識別情報を利用して、通信装置の公開鍵を取得することができる。
【0007】
本明細書では、端末のためのコンピュータプログラムも開示する。前記端末は、カメラと、Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、表示部と、コンピュータと、を備えてもよい。前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、前記カメラによってコード画像が読み取られる場合に、前記コード画像をデコードして文字列を取得する文字列取得部であって、前記文字列は、通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含む、前記文字列取得部と、取得済みの前記文字列に含まれる前記識別情報を利用して、前記通信装置の前記公開鍵を取得する公開鍵取得部と、取得済みの前記公開鍵を利用して、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記通信装置と実行するための所定処理を実行する所定処理実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記所定処理実行部と、として機能させてもよい。
【0008】
本明細書では、通信装置も開示する。通信装置は、Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、文字列をコード化することによって得られるコード画像を示すシールが貼り付けられている筐体であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含み、前記識別情報は、前記公開鍵を取得するために端末によって利用される、前記筐体と、前記公開鍵が前記端末によって取得される場合に、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記端末と実行する通信実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記通信実行部と、を備えてもよい。
【0009】
本明細書では、次の通信装置も開示する。通信装置は、Wi-Fi規格の所定の通信方式に従った無線通信を実行するための無線インターフェースと、文字列をコード化することによって得られるコード画像を出力部に出力させる出力制御部であって、前記文字列は、前記通信装置の公開鍵を含まないと共に、前記通信装置を識別する識別情報を含み、前記識別情報は、前記公開鍵を取得するために端末によって利用される、前記出力制御部と、前記公開鍵が前記端末によって取得される場合に、前記無線インターフェースを介して、前記所定の通信方式に従った対象通信を前記端末と実行する通信実行部であって、前記対象通信は、一対の装置の間に前記所定の通信方式に従った無線接続を確立するための通信である、前記通信実行部と、を備えてもよい。
【0010】
上記の端末のためのコンピュータプログラム、及び、上記の各通信装置によると、コード画像は、通信装置の公開鍵を含まない文字列がコード化されたものである。このため、コード画像のサイズが大きくなるのを抑制し得る。特に、当該文字列は、通信装置を識別する識別情報を含む。このために、端末は、識別情報を利用して、通信装置の公開鍵を取得することができる。
【0011】
上記の端末そのもの、及び、端末によって実行される方法も新規で有用である。上記の端末のためのコンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。また、上記の通信装置によって実行される方法、上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
【図面の簡単な説明】
【0012】
【
図3】プリンタとアクセスポイントとの間にWi-Fi接続を確立するための処理の概略のシーケンス図を示す。
【
図4】第1実施例のBootstrappingのシーケンス図を示す。
【
図6】第2実施例のBootstrappingのシーケンス図を示す。
【発明を実施するための形態】
【0013】
(第1実施例)
(通信システム2の構成:
図1)
図1に示されるように、通信システム2は、アクセスポイント(以下では「AP」と記載する)6と、端末10と、プリンタ100と、サーバ200,270と、を備える。本実施例では、ユーザが、端末10を利用して、プリンタ100とAP6との間にWi-Fi規格に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
【0014】
(端末10の構成:
図2)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末である。変形例では、端末10は、据置型の端末であってもよい。
図2に示されるように、端末10は、操作部12と、表示部14と、Wi-Fiインターフェース16と、カメラ20と、制御部30と、を備える。各部10~30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0015】
操作部12は、複数のボタンを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、さらに、いわゆるタッチパネル(即ち操作部)として機能する。カメラ20は、物体を撮影するためのデバイスであり、本実施例では、プリンタ100のためのQRコード(登録商標)を撮影するために利用される。
【0016】
Wi-FiI/F16は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースである。Wi-Fi規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための規格である。端末10は、AP6によって形成されている無線ネットワークのSSID(Service Set Identifierの略)及びパスワードを利用して、Wi-FiI/F16を介して、AP6とのWi-Fi接続を確立することができる。
【0017】
また、Wi-FiI/F16は、Wi-Fi Allianceによって策定されたDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Easy Connect Specification Version 2.0」に記述されており、端末10を利用して一対の装置(例えばプリンタ100とAP6)の間にWi-Fi接続を容易に確立させるための方式である。以下では、当該規格書のことを「DPP規格書」と記載する。
【0018】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されている各種のプログラム40~48に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、OSプログラム40と各アプリケーション42~48とを格納する。以下では、OSプログラム40のことを「OS40」と記載し、アプリケーションのことを「アプリ」と記載する。
【0019】
OS40は、端末10の基本的な動作を実現するためのプログラムであり、本実施例では、Andoroid(登録商標)である。変形例では、OS40は、他の種類のOS(例えばiOS)であってもよい。OS40は、端末10の出荷段階から端末10に予め格納されている。
【0020】
読取アプリ42は、QRコードを読み取るためのプログラムである。ブラウザアプリ44は、ウェブページを表示するためのプログラムである。DLアプリ46は、いわゆるアプリストアであるサーバ270にアクセスして、アプリをダウンロードするためのプログラムである。接続アプリ48は、DPP方式に従った無線通信を実行して、プリンタ100とAP6との間にWi-Fi接続を確立させるためのプログラムである。各アプリ42~48は、OS40と共に利用される標準のアプリであり、端末10の出荷段階から端末10に予め格納されている。即ち、各アプリ42~48は、プリンタ100のベンダによって提供されないプログラムである。変形例では、端末10は、接続アプリ48に代えて、いわゆるユニバーサルアプリを備えていてもよい。
【0021】
後述の処理において、端末10には、プリンタアプリ50がインストールされる。プリンタアプリ50は、DPP方式に従った無線通信を接続アプリ48に実行させるためのプログラムである。また、プリンタアプリ50は、プリンタ100に印刷を実行させるためのプログラムである。プリンタアプリ50は、プリンタ100のベンダによって提供されるプログラムであり、端末10の出荷後に端末10にインストールされる。
【0022】
(プリンタ100の構成:
図1及び
図2)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば端末10の周辺装置)である。プリンタ100は、機種名「AAA」及びシリアル番号「xyz」を有する。
図1に示されるように、プリンタ100は、筐体100Aを備える。筐体100Aには、QRコードを示すシール100Bが貼り付けられている。QRコードは、URI(Uniform Resource Identifierの略)を含む文字列をコード化することによって得られる情報である。当該URIは、サーバ200のドメインとプリンタ100のシリアル番号「xyz」とを含む。
【0023】
図2に示されるように、プリンタ100は、操作部112と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。本実施例のプリンタ100は、QRコードを表示可能な表示部を備えない。これは、プリンタ100が1つの表示部も備えないこと、及び、プリンタ100が非常に小さい表示部を備えることを意味する。
【0024】
操作部112は、複数のボタンを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。Wi-FiI/F116は、DPP方式をサポートしている。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0025】
(サーバ200の構成:
図2)
サーバ200は、いわゆるウェブサーバであり、プリンタ100のベンダによってインターネット4(
図1参照)上に設置される。サーバ200は、通信I/F216と、制御部230と、を備える。各部216及び230は、バス線(符号省略)に接続されている。通信I/F216は、インターネット4に接続されている。制御部230は、CPU232とメモリ234とを備える。CPU232は、メモリ234に格納されているプログラム236に従って、様々な処理を実行する。メモリ234は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0026】
メモリ234は、さらに、機種テーブル250を格納する。機種テーブル250では、プリンタの複数の機種名のそれぞれについて、当該機種名と、当該機種名を有するプリンタの状態をDPPOFF状態からDPPON状態に変更するための変更操作を示すメッセージと、が対応付けられている。DPPOFF状態、DPPON状態は、それぞれ、DPP方式に従った無線通信を実行不可能な状態、実行可能な状態である。
【0027】
(DPPの概略:
図3)
続いて、
図3を参照して、DPPの概略を説明する。以下では、理解の容易化のため、各装置のCPU(例えばCPU32)が実行する動作を、CPUを主体として記載せずに、各装置(例えば端末10等)を主体として記載する。以下の各通信は、I/F16,116,216(
図2参照)を利用して実行される。このため、「I/Fを介して」という説明を省略する。
【0028】
本実施例では、AP6は、DPP方式をサポートしていない。AP6は、SSID「sss」及びパスワード「ttt」が利用される無線ネットワークの親局として動作する。例えば、端末10のユーザは、操作部12を操作して、SSID「sss」及びパスワード「ttt」を端末10に入力する。この場合、端末10は、OS40を利用して、AP6とのWi-Fi接続を確立する。このように、
図3のケースでは、端末10とAP6との間にWi-Fi接続が確立されている状況を想定する。端末10のユーザは、プリンタ100に印刷を実行させることを望む場合に、プリンタ100とAP6との間にWi-Fi接続を確立させて、端末10とプリンタ100との間でAP6を介した通信を実行させる。これを実現するために、以下の各処理が実行される。
【0029】
端末10は、T25において、DPP規格書に記述されているBootstrapping(以下では「BS」と記載する)をプリンタ100と実行する。BSは、プリンタ100に貼り付けられているシール100B(
図1参照)に示されるQRコードが端末10によって撮影されることに応じて、DPP規格書に記述されているAuthentication(以下では「Auth」と記載する)で利用されるプリンタ100の公開鍵をプリンタ100から端末10に提供する処理である。
【0030】
T30では、端末10は、T25のBSで取得済みの公開鍵を利用して、Authをプリンタ100と実行する。Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。具体的には、端末10は、公開鍵が利用されたAuth要求をプリンタ100に送信し、プリンタ100からAuth応答を受信する。
【0031】
T35では、端末10は、DPP規格書に記述されているConfiguration(以下では「Config」と記載する)をプリンタ100と実行する。Configは、プリンタ100とAP6との間にWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。具体的には、端末10は、Signed Connector(以下では「SC」と記載する)を生成して、SCをプリンタ100に送信する。SCは、AP6のSSID「sss」及びパスワード「ttt」を含む。
【0032】
T40では、プリンタ100は、T35で取得済みのSCに含まれるSSID「sss」及びパスワード「ttt」を利用して、AP6とのWi-Fi接続を確立する。具体的には、プリンタ100は、まず、Probe要求をブロードキャストによって送信して、プリンタ100に周囲に存在するAP6を含む1個以上のAPのそれぞれからProbe応答を受信する。この場合、プリンタ100は、当該1個以上のAPから受信される1個以上のProbe応答の中に、取得済みのSCに含まれるSSID「sss」(即ちAP6のSSID「sss」)を含むProbe応答が存在することを認識する。そして、プリンタ100は、Association、4 way-handshake等の各種通信をAP6と実行して、AP6とのWi-Fi接続を確立する。当該各種通信の過程において、プリンタ100は、取得済みのSCに含まれるパスワード「ttt」を利用した認証情報をAP6に送信し、AP6は、パスワード「ttt」の認証を実行する。当該認証が成功する場合に、プリンタ100とAP6との間にWi-Fi接続が確立される。
【0033】
上記の各処理の結果、端末10及びプリンタ100の双方がAP6によって形成される同じ無線ネットワークに子局として参加している状態になる。このために、端末10は、AP6を介して、例えば印刷対象の画像を表わす印刷データをプリンタ100に送信することができる。そして、プリンタ100は、印刷データによって表される画像の印刷を実行することができる。
【0034】
DPP方式では、プリンタ100とAP6との間にWi-Fi接続を確立させるために、ユーザは、AP6のSSID「sss」及びパスワード「ttt」をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP6との間にWi-Fi接続を容易に確立させることができる。
【0035】
(BSの詳細:
図4及び
図5)
図4及び
図5を参照して、
図3のT25のBSの詳細を説明する。プリンタ100のシール100Bによって示されるQRコードは、文字列300がコード化されたものである。文字列300は、URI「https://www.server.com/xyz」を含む。当該URIは、サーバ200のドメイン「www.server.com」と、プリンタ100のシリアル番号「xyz」と、を含む。文字列300は、プリンタ100の公開鍵を含まない。
【0036】
端末10は、T100において、ユーザから読取アプリ42を起動する操作を受け付けると、読取アプリ42に従って以下のT102~T106の処理を実行する。端末10は、T102において、ユーザからシール100Bによって示されるQRコードを撮影する操作を受け付けると、カメラ20によってQRコードを撮影する。端末10は、T104において、QRコードをデコードして文字列300を取得する。そして、端末10(即ち読取アプリ42)は、T106において、文字列300をブラウザアプリ44に供給する
【0037】
端末10は、ブラウザアプリ44に従って以下のT110~T116の処理を実行する。端末10は、T110において、文字列300によって示されるURIを宛先として含むウェブページ要求をサーバ200に送信する。これにより、端末10は、T112において、サーバ200から、ウェブページ400を表わすウェブページデータを受信する。そして、端末10は、T114において、ウェブページ400を表示する。ウェブページ400は、プリンタアプリ50をダウンロードすべきことを示すメッセージと、ダウンロードボタンと、を含む。端末10(即ちブラウザアプリ44)は、T116において、ウェブページ400内のダウンロードボタンの操作を受け付けると、T118において、プリンタアプリ50を識別するアプリ識別子をDLアプリ46に供給する。
【0038】
端末10は、DLアプリ46に従って以下のT120~T132の処理を実行する。端末10は、T120において、上記のアプリ識別子を含むウェブページ要求をサーバ270に送信する。これにより、端末10は、T122において、サーバ270から、ウェブページ410を表わすウェブページデータを受信する。そして、端末10は、T124において、ウェブページ410を表示する。ウェブページ410は、プリンタアプリ50の名称と、ダウンロードボタンと、を含む。
【0039】
端末10は、T126において、ウェブページ410内のダウンロードボタンの操作を受け付けると、T130において、上記のアプリ識別子を含むダウンロード要求をサーバ270に送信する。これにより、端末10は、T132において、サーバ270からプリンタアプリ50を受信する(即ちダウンロードする)。これにより、プリンタアプリ50が端末10にインストールされる。
【0040】
図5に示されるように、端末10は、T150において、ユーザからプリンタアプリ50を起動する操作を受け付けると、プリンタアプリ50に従って以下のT152~T160、T166~T172、及び、T200~T222の処理を実行する。
【0041】
端末10は、T152において、ユーザからシール100Bによって示されるQRコードを撮影する操作を受け付けると、カメラ20によってQRコードを撮影する。端末10は、T154において、QRコードをデコードして文字列300を取得する。即ち、端末10は、文字列300を再び取得する。
【0042】
端末10は、T156において、URI330を生成する。具体的には、端末10は、まず、文字列300から、プリンタ100のシリアル番号「xyz」を特定する。そして、端末10は、プリンタアプリ50が予め有するサーバ200のドメイン「www.server.com」と、プリンタアプリ50が予め有する文字列「manual」と、特定済みのシリアル番号「xyz」と、を含むURI330を生成する。ここで、文字列「manual」は、プリンタ100の状態をDPPOFF状態からDPPON状態に変更するための変更操作を示すウェブページに対応する文字列である。このように、端末10がURI330を生成するので、プリンタ100は、URI330を示すQRコードを有していなくてもよい。プリンタ100のQRコードが大きくなるのを抑制することができる。また、プリンタ100のベンダは、サーバ200内のURIを変更する場合(例えば文字列「manual」を他の文字列に変更する場合)に、プリンタアプリ50をアップデートすれば、変更後のURIを端末6に適切に生成させることができる。
【0043】
次いで、端末10は、T160において、生成済みのURI330を宛先として含むウェブページ要求をサーバ200に送信する。ここで、端末10は、ブラウザアプリ44を利用せずに、プリンタアプリ50を利用して、ウェブページ要求を送信すると共に後述のウェブページを表示する。この構成によると、端末10は、ブラウザアプリ44を起動する処理を実行せずに済む。換言すると、端末10は、プリンタアプリ50によって表示されるウィンドウとは異なるウィンドウ(即ちブラウザアプリ44によって表示されるウィンドウ)を表示せずに済む。このために、端末10の処理負荷が高くならずに済むと共に、ユーザが複数のウィンドウを見ないで済む。
【0044】
サーバ200は、T160において、端末10からウェブページ要求を受信すると、T162において、まず、ウェブページ要求に含まれるURI330内のシリアル番号「xyz」を特定する。サーバ200は、図示省略のシリアル番号テーブルを備える。当該テーブルは、複数のプリンタのそれぞれについて、当該プリンタのシリアル番号と、当該プリンタの機種名と、を対応付けて記憶している。従って、サーバ200は、T162において、当該テーブルを利用して、シリアル番号「xyz」からプリンタ100の機種名「AAA」を特定することができる。変形例では、シリアル番号「xyz」が機種名「AAA」を示す文字列を含んでいてもよい。この場合、サーバ200は、シリアル番号テーブルを利用せずに、シリアル番号「xyz」から機種名「AAA」を特定することができる。
【0045】
次いで、サーバ200は、T164において、メモリ234内の機種テーブル250(
図2参照)から、T162で特定済みの機種名「AAA」に対応するメッセージ「Wi-Fiボタンを3回押してください」を抽出する。次いで、サーバ200は、抽出済みのメッセージと、所定のメッセージと、開始ボタンと、を含むウェブページを表わすウェブページデータを生成する。所定のメッセージは、抽出済みのメッセージに従った動作が実行された後に開始ボタンを押すことを示す。開始ボタンは、Authを端末10に開始させるためのボタンである。そして、サーバ200は、T166において、生成済みのウェブページデータを端末10に送信する。
【0046】
端末10は、T166において、サーバ200からウェブページデータを受信すると、T170において、ウェブページデータによって表わされるウェブページ420を表示部14に表示する。ウェブページ420は、上記の抽出済みのメッセージと上記の所定のメッセージと開始ボタンとを含む。
【0047】
ユーザは、ウェブページ420内のメッセージに応じて、T180において、プリンタ100の操作部112に含まれるWi-Fiボタン(図示省略)を3回押す。この場合、プリンタ100は、T182において、DPPOFF状態からDPPON状態に移行する。具体的には、プリンタ100(即ちCPU132)は、DPPOFF状態からDPPON状態に移行するための指示をWi-FiI/F116に供給する。これにより、プリンタ100は、DPP方式に従った通信(例えば、Auth要求の受信、Auth応答の送信等)を実行可能な状態になる。即ち、ウェブページ420は、プリンタ100の状態をDPPOFF状態からDPPON状態に変更するための変更操作を示す操作画面である。
【0048】
上述したように、本実施例によると、ウェブページ420は、機種名「AAA」を有するプリンタ100の状態をDPPON状態に変更するためのメッセージを含む。このために、ユーザは、プリンタ100の状態をDPPON状態に容易に変更することができる。なお、仮に、プリンタ100がDPPOFF状態に維持されると、プリンタ100は、Auth応答を端末10に送信することができない。この場合、Authが失敗し、プリンタ100とAP6との間にWi-Fi接続を確立させることができない。
【0049】
次いで、ユーザは、T190において、ウェブページ420内の開始ボタンを選択する操作を実行する。この場合、端末10は、T200において、URI340を生成する。具体的には、端末10は、プリンタアプリ50が予め有するサーバ200のドメイン「www.server.com」と、プリンタアプリ50が予め有する文字列「key」と、プリンタ100のシリアル番号「xyz」と、を含むURI340を生成する。ここで、文字列「key」は、プリンタ100の公開鍵の生成を要求する文字列である。このように、端末10がURI340を生成するので、プリンタ100は、URI340を含むQRコードを有していなくてもよい。プリンタ100のQRコードが大きくなるのを抑制することができる。また、プリンタ100のベンダは、サーバ200内のURIを変更する場合(例えば文字列「key」を他の文字列に変更する場合)に、プリンタアプリ50をアップデートすれば、変更後のURIを端末6に適切に生成させることができる。次いで、端末10は、T210において、生成済みのURI340を宛先として含む公開鍵要求をサーバ200に送信する。
【0050】
サーバ200は、T210において、端末10から公開鍵要求を受信すると、T212において、公開鍵350を生成する。具体的には、サーバ200は、まず、公開鍵要求に含まれるURI340内のシリアル番号「xyz」を特定する。次いで、サーバ200は、特定済みのシリアル番号「xyz」に対して、予め決められている演算を実行することによって、公開鍵350を生成する。そして、サーバ200は、T214において、公開鍵350を端末10に送信する。
【0051】
端末10は、T214において、サーバ200から公開鍵350を受信する。このように、端末10は、端末10(即ちプリンタアプリ50)自身で公開鍵350を生成するのではなく、公開鍵350をサーバ200に生成させる。このために、プリンタアプリ50は、公開鍵350を生成するためのプログラムを含まずに済む。
【0052】
次いで、端末10は、T220において、公開鍵350を含むBS情報を生成する。BS情報は、DPP規格書に記述されているBootstrapping Information Formatに従って記述される。より具体的には、BS情報は、ABNF(Augmented Backus Naur Formの略)ルールに従った識別子「K」と、識別子「K」に関連付けられている公開鍵350の文字列と、を含む。識別子「K」は、識別子「K」に関連付けられている文字列がプリンタ100の公開鍵350であることを示す識別子である。端末10(即ちプリンタアプリ50)は、T222において、生成済みのBS情報を接続アプリ48に供給する。
【0053】
端末10は、接続アプリ48に従って以下のT230の処理を実行する。即ち、端末10は、T230において、BS情報から公開鍵350を特定する。BS情報がDPP規格書に記述されているBootstrapping Information Formatに従って記述されているので、接続アプリ48は、識別子「K」に関連付けられている文字列を公開鍵350として適切に特定することができる。
【0054】
その後、端末10(即ち接続アプリ48)は、
図3のT25、T30、及び、T35の各処理を実行する。即ち、端末10は、T230で特定済みの公開鍵350が利用されたAuth要求をプリンタ100に送信する。換言すると、端末10は、ウェブページ420内の開始ボタンが操作されるまで、Auth要求をプリンタ100に送信しない。このために、プリンタ100の状態がDPPOFF状態である状況において、端末10からプリンタ100にAuth要求が送信されるのを抑制することができる。
【0055】
プリンタ100は、端末10からAuth要求を受信すると、プリンタ100自身のシリアル番号「xyz」に対して、T212におけるサーバ200による演算と同じ演算を実行して、公開鍵350を生成する。これにより、端末10及びプリンタ100の間で公開鍵350が共有される。そして、プリンタ100は、公開鍵350を利用して、端末10から受信されたAuth要求の認証を実行し、認証が成功する場合に、Auth応答を端末10に送信する。
【0056】
図3を参照して説明したように、端末10(即ち接続アプリ48)は、Auth要求をプリンタ100に送信すると、プリンタ100からAuth応答を受信し(
図3のT30参照)、その後、SCをプリンタ100に送信する(T35参照)。これにより、端末10は、プリンタ100とAP6との間にWi-Fi接続を確立させることができる(T40参照)。
【0057】
(本実施例の効果)
上記の構成によると、シール100Bによって示されるQRコードは、プリンタ100の公開鍵350を含まない文字列300がコード化されたものである。このため、QRコードのサイズが大きくなるのを抑制することができる。通常、URIの文字数は、公開鍵の文字数よりも少ない。このため、本実施例のようなURIを示すQRコードは、公開鍵を示すQRコードよりも小さい。特に、文字列300は、文字列300は、URIを含み、当該URIは、プリンタ100のシリアル番号「xyz」を含む。このために、端末10は、当該URIを利用して、プリンタアプリ50を取得することができる(
図4のT110~T132)と共に、シリアル番号「xyz」を利用して、プリンタ100の公開鍵350を取得することができる(
図5のT200~T230)。
【0058】
(対応関係)
プリンタ100、サーバ200、サーバ270が、それぞれ、「通信装置」、「サーバ」、「異なるサーバ」の一例である。プリンタ100及びAP6が、「一対の装置」の一例である。プリンタアプリ50が、「ベンダプログラム」及び「コンピュータプログラム」の一例である。文字列300に含まれるURIが、「特定のURI」の一例である。URI330、URI340が、それぞれ、「第1のURI」、「第2のURI」の一例である。
図4のT112のウェブページデータ、ウェブページ400が、それぞれ、「特定のウェブページデータ」、「特定のウェブページ」の一例である。
図5のT166のウェブページデータ、ウェブページ420が、それぞれ、「第1のウェブページデータ」、「第1のウェブページ」の一例である。
図4のT122のウェブページデータ、ウェブページ410が、それぞれ、「第2のウェブページデータ」、「第2のウェブページ」の一例である。
図4のT116の操作、T126の操作が、それぞれ、「第1の操作」、「第2の操作」の一例である。DPPOFF状態、DPPON状態が、それぞれ、「不可能状態」、「可能状態」の一例である。ウェブページ420内のメッセージが、「特定のメッセージ」の一例である。シリアル番号「xyz」が、「識別情報」の一例である。
図5のT156、T160、T166、及び、T170の処理が、「表示処理」の一例である。T220及びT222の処理が、「所定処理」の一例である。
図3のT30及びT35の処理が、「対象通信」の一例である。Auth要求、Auth応答が、それぞれ、「認証要求」、「認証応答」の一例である。SCが、「接続情報」の一例である。
【0059】
「端末」の対応関係は以下のとおりである。
図4のT104の処理、T106の処理が、それぞれ、「第1の文字列取得部」、「供給部」によって実行される処理の一例である。T112の処理、T114の処理が、それぞれ、「第1の受信部」、「第1の表示制御部」によって実行される処理の一例である。T122の処理、T124の処理、T132の処理が、それぞれ、「第2の受信部」、「第2の表示制御部」、「ダウンロード部」によって実行される処理の一例である。
図5のT154の処理が、「第2の文字列取得部」及び「文字列取得部」によって実行される処理の一例である。T156の処理が、「第1の生成部」によって実行される処理の一例である。T160、T166、及び、T170が、「表示処理実行部」によって実行される処理の一例である。T200の処理が、「第2の生成部」によって実行される処理の一例である。T210及びT214の処理が、「公開鍵取得部」によって実行される処理の一例である。T220及びT222の処理が、「所定処理実行部」によって実行される処理の一例である。
【0060】
「サーバ」の対応関係は以下のとおりである。
図5のT164の処理、T166の処理が、それぞれ、「抽出部」、「ウェブページ送信部」によって実行される処理の一例である。「通信装置」の対応関係は以下のとおりである。
図3のT30及びT35の処理が、「通信実行部」によって実行される処理の一例である。
【0061】
(第2実施例:
図6)
続いて、第2実施例を説明する。第1実施例と同様の点は説明を省略する。本実施例では、シール100Bがプリンタ100の筐体100Aに貼り付けられていない。プリンタ100は、QRコードを表示可能な表示部114(
図1、
図2参照)を備える。また、サーバ200は、機種テーブル250(
図2参照)を備えない。
【0062】
本実施例では、
図4及び
図5のBSに代えて
図6のBSが実行される。ユーザは、T300において、DPP起動操作をプリンタ100に実行する。当該操作は、例えば、操作部112内のDPPボタンを選択する操作であってもよいし、表示部114に表示される設定画面内のDPPボタンを選択する操作であってもよい。プリンタ100は、当該操作を受け付ける場合に、T302において、DPPOFF状態からDPPON状態に移行する。
【0063】
次いで、プリンタ100は、T304において、QRコードを生成して、QRコードを表示部114に表示させる。QRコードは、第1実施例と同じ文字列300(
図4参照)がコード化されたものである。
【0064】
その後、
図4のT100~T132と同様の処理が実行される。即ち、端末10は、T102において、プリンタ100に表示されたQRコードを読み取る。T310~T314は、
図5のT150~T154と同様である。端末10は、
図5のT156~T190を実行しない。T302において、プリンタ100の状態がDPPON状態に移行済みであるからである。T320~T450は、
図5のT200~T230と同様である。
【0065】
(本実施例の効果)
本実施例でも、プリンタ100によって表示されるQRコードは、プリンタ100の公開鍵350を含まない文字列300がコード化されたものである。このため、QRコードのサイズが大きくなるのを抑制することができる。従って、プリンタ100は、表示部114がそれほど大きくなくても、QRコードを適切に表示することができる。本実施例では、T304の処理が、「出力制御部」によって実行される処理の一例である。
【0066】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
【0067】
(変形例1)
図3のケースでは、端末10は、AP6のSSID「sss」及びパスワード「ttt」を利用して、AP6とのWi-Fi接続を確立する。これに代えて、端末10は、DPP方式の無線通信を実行して、AP6とのWi-Fi接続を確立してもよい。即ち、AP6は、DPP方式をサポートしており、AP6の公開鍵を示すQRコードを有する(例えばAP6の筐体にシールが貼り付けられている)。端末10は、当該QRコードを撮影することによってAP6の公開鍵を取得する(即ちBSを実行する)。その後、端末10は、Auth及びConfigをAP6と実行する。ただし、端末10は、Configにおいて、AP用SCを生成し、AP用SCをAP6に送信する。そして、端末10及びAP6は、AP用SCを利用してNetwork Access(以下では「NA」と記載する)を実行することによって接続キーを共有し、接続キーを利用してWi-Fi接続を確立する。その後、端末10は、プリンタ100とのBS、Auth、及び、Config(T25~T35)を実行する。ただし、端末10は、Configにおいて、AP6のSSID及びパスワードを含まないプリンタ用SCを生成し、プリンタ用SCをプリンタ100に送信する。この場合、プリンタ100及びAP6は、プリンタ用SCとAP用SCとを利用してNAを実行することによって接続キーを共有し、接続キーを利用してWi-Fi接続を確立する。本変形例では、プリンタ用SCが、「接続情報」の一例である。
【0068】
(変形例2)端末10及びAP6の間にWi-Fi接続が確立されず、端末10及びプリンタ100の間にWi-Fi接続が確立されてもよい。この場合、端末10は、
図3のT25~T35の各処理を実行し、T35において、プリンタ用SCをプリンタ100に送信する。そして、端末10及びプリンタ100は、プリンタ用SCを利用してNAを実行することによって接続キーを共有し、接続キーを利用してWi-Fi接続を確立する。本変形例では、プリンタ用SCが、「接続情報」の一例である。また、端末10及びプリンタ100が、「一対の装置」の一例である。
【0069】
(変形例3)端末10及びAP6の間にWi-Fi接続が確立されていなくてもよい。代わりに、プリンタ100及びAP6の間にWi-Fi接続が確立されていてもよい。この場合、端末10は、
図3のT25~T35の各処理を実行し、T35において、プリンタ100から端末用SCを受信する。そして、端末10及びAP6は、端末用SCを利用してNAを実行することによって接続キーを共有し、接続キーを利用してWi-Fi接続を確立する。本変形例では、端末10及びAP6が、「一対の装置」の一例である。また、本変形例のように、「対象通信」は、通信装置から接続情報を受信することを含んでいてもよい。
【0070】
(変形例4)「識別情報」は、シリアル番号「xyz」に限られず、プリンタ100の機種名、MACアドレス等であってもよい。
【0071】
(変形例5)端末10は、接続アプリ48を備えていなくてもよい。この場合、プリンタアプリ50は、
図5のT220及びT222を実行しない。そして、プリンタアプリ50は、公開鍵350を利用して
図3のT30,T35の通信を実行する。本変形例では、公開鍵350を利用してT30,T35の通信を実行することが、「所定処理」の一例である。
【0072】
(変形例6)
図4のT112、T122、及び、
図5のT166のウェブページデータは、ウェブページそのものを表わすデータでなくてもよく、ウェブページを構成する文字列、画像等を含むデータであってもよい。この場合、端末10は、ウェブページデータを利用してウェブページを生成する。
【0073】
(変形例7)プリンタアプリ50は、
図5のT156で生成済みのURI330をブラウザアプリ44に供給してもよい。この場合、ブラウザアプリ44は、T160、T166、及び、T170の処理を実行することができる。本変形例では、URI330をブラウザアプリ44に供給する処理が、「表示処理」の一例である。
【0074】
(変形例8)
図5のT156~T170の処理が実行されなくてもよい。本変形例では、「表示処理実行部」、「抽出部」、「ウェブページ送信部」、及び、「第1の生成部」を省略可能である。
【0075】
(変形例9)
図4のT100~T132が実行されなくてもよい。本変形例では、文字列300は、URIを含まなくてもよい。即ち、文字列300は、プリンタ100のシリアル番号「xyz」のみを含んでいてもよい。この場合、QRコードのサイズをより小さくすることができる。
【0076】
(変形例10)文字列300は、
図4のT110で利用されるURIと、
図5のT160で利用されるURI330と、T210で利用されるURI340と、の全てを含んでいてもよい。この場合、端末10は、T156を実行しなくても、T160において、URI330を含むウェブページ要求をサーバ200に送信することができる。また、端末10は、T200を実行しなくても、T210において、URI340を含むウェブページ要求をサーバ200に送信することができる。本変形例では、「第1の生成部」及び「第2の生成部」を省略可能である。また、第2実施例(即ち
図6)において、ユーザは、プリンタ100において、
図4のT110で利用されるURIのみを含むQRコードを表示させるのか、
図5のT210で利用されるURI340のみを含むQRコードを表示させるのか、を選択可能であってもよい。この場合、端末10は、
図4のT102において、前者のQRコードを読み取り、
図6のT312において、後者のQRコードを読み取ればよい。
【0077】
(変形例11)端末10は、
図5のT200~T214の処理に代えて、シリアル番号「xyz」を利用して公開鍵350を生成してもよい。一般的に言うと、「公開鍵取得部」は、サーバから公開鍵を受信することなく、公開鍵を取得してもよい。
【0078】
(変形例12)端末10(即ちブラウザアプリ44)は、
図4のT110において、ウェブページ要求に代えてダウンロード要求をサーバ200に送信して、サーバ200からプリンタアプリ50をダウンロードしてもよい。本変形例では、T112~T132が実行されず、「第2の受信部」、「第2の表示制御部」、及び、「ダウンロード部」を省略可能である。
【0079】
(変形例13)
図4のT112のウェブページデータを提供するサーバと、
図5のT166のウェブページデータを提供するサーバと、T214の公開鍵350を提供するサーバと、が異なってもよい。一般的に言うと、「サーバ」は、上記の実施例のように1個のサーバ200によって構成されていてもよいし、本変形例のように複数個のサーバによって構成されてもよい。
【0080】
(変形例14)端末10及びプリンタ100は、DPP方式をサポートしていなくてもよく、公開鍵、認証要求、及び、認証応答を利用して、Wi-Fi接続を確立するための他の方式をサポートしていてもよい。一般的に言うと、「所定の通信方式」は、DPP方式に限られない。
【0081】
(変形例15)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0082】
(変形例16)上記の実施例では、
図3~
図6の各処理がソフトウェアによって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0083】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0084】
2:通信システム、6:AP、10:端末、40:OS、42:読取アプリケーション、44:ブラウザアプリケーション、46:DLアプリケーション、48:接続アプリケーション、50:プリンタアプリケーション、100:プリンタ、100A:筐体、100B:シール、200,270:サーバ、300:文字列、330,340:URI、350:公開鍵、、400,410,420:ウェブページ