JP7283275B2 - 通信装置と通信装置のためのコンピュータプログラム - Google Patents

通信装置と通信装置のためのコンピュータプログラム Download PDF

Info

Publication number
JP7283275B2
JP7283275B2 JP2019125432A JP2019125432A JP7283275B2 JP 7283275 B2 JP7283275 B2 JP 7283275B2 JP 2019125432 A JP2019125432 A JP 2019125432A JP 2019125432 A JP2019125432 A JP 2019125432A JP 7283275 B2 JP7283275 B2 JP 7283275B2
Authority
JP
Japan
Prior art keywords
state
communication device
channel
printer
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019125432A
Other languages
English (en)
Other versions
JP2021013073A (ja
Inventor
寛 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019125432A priority Critical patent/JP7283275B2/ja
Priority to US16/919,702 priority patent/US11357065B2/en
Publication of JP2021013073A publication Critical patent/JP2021013073A/ja
Application granted granted Critical
Publication of JP7283275B2 publication Critical patent/JP7283275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/27Transitions between radio resource control [RRC] states
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本明細書では、通信装置と他の装置との間に無線接続を確立させるための技術を開示する。
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDevice Provisioning Protocol方式(以下では「DPP方式」と記載する)が記述されている。DPP方式は、一対の装置の間にWi-Fi規格に従った無線接続を容易に確立させるための方式である。
特許文献1には、スマートフォンとカメラとプリンタとアクセスポイントとを備えるシステムが開示されている。プリンタは、アクセスポイントによって形成されている無線ネットワークにステーションとして接続している。この状態において、プリンタは、DPP方式に従ったQRコード(登録商標)を表示する際に、上記の無線ネットワークで使用している周波数チャネルと同一の値を示すQRコードを表示する。そして、プリンタは、当該周波数チャネルにおいて、相手装置からの認証要求の受信待ち状態になる。スマートフォンは、QRコードを撮影すると、当該周波数チャネルが利用された認証要求を送信する。これにより、プリンタは、当該認証要求を受信することができ、その後、スマートフォンから通信パラメータを受信し、無線ネットワークを新たに形成する。また、カメラも、QRコードを表示して認証要求の受信待ち状態になり、スマートフォンから通信パラメータを受信する。そして、カメラは、プリンタによって形成された無線ネットワークに接続する。
特開2018-037978号公報
「Device Provisioning Protocol Technical Specification Version 1.0」Wi-Fi Alliance, 2018年
上記の特許文献1の技術では、プリンタが、或る無線ネットワークに接続している状態で、DPP方式に従った認証要求の受信待ち状態に移行する状況において、上記の或る無線ネットワークで利用されている周波数チャネルと同一の値を利用する。本明細書では、上記の特許文献1の技術とは異なる手法を利用して、通信装置が適切なチャネルで信号を待ち受ける状態に移行することができる技術を提供する。
本明細書によって開示される通信装置は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、出力部と、前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、を備え、前記第1の処理実行部は、前記通信装置の状態が第1の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記出力情報は、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである対象チャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、前記通信装置の状態が前記第1の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第2の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記検索信号に対して応答しない状態である、前記第1の移行部と、を備え、前記第2の処理実行部は、前記通信装置の状態が前記第2の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部を備えてもよい。
上記の構成によると、通信装置は、対象チャネルが利用された認証要求の待ち受け状態である第2の状態である間に、第2の指示を取得する場合に、対象チャネルが利用された認証要求の待ち受け状態であると共に、対象チャネルが利用された検索信号の待ち受け状態である第3の状態に移行する。これにより、通信装置は、同じ対象チャネルで認証要求と検索信号とを待ち受けることができる。このために、通信装置は、適切なチャネルで信号を待ち受ける状態に移行することができる。
本明細書によって開示される他の通信装置は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、出力部と、前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、を備え、前記第2の処理実行部は、前記通信装置の状態が第1の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記第2の状態は、前記認証要求に対して応答せず、かつ、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである第1のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第1の移行部を備え、前記第1の処理実行部は、前記通信装置の状態が前記第2の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記出力情報は、前記複数のチャネルのうちの前記第1のチャネルとは異なる第2のチャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、前記通信装置の状態が前記第2の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部と、を備えてもよい。
上記の構成によると、通信装置は、第1のチャネルが利用された検索信号の待ち受け状態である第2の状態である間に、第1の指示を取得する場合に、第2のチャネルが利用された認証要求の待ち受け状態であると共に、かつ、第2のチャネルが利用された検索信号の待ち受け状態である第3の状態に移行する。これにより、通信装置は、同じ第2のチャネルで認証要求と検索信号とを待ち受けることができる。このために、通信装置は、適切なチャネルで信号を待ち受ける状態に移行することができる。
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と他の装置とを備える通信システムも、新規で有用である。
通信システムの構成を示す。 プリンタとアクセスポイントとの間にDPP方式に従ったWi-Fi接続を確立するための処理の概略のシーケンス図を示す。 Bootstrappingの処理のシーケンス図を示す。 Authenticationの処理のシーケンス図を示す。 Configurationの処理のシーケンス図を示す。 Network Accessの処理のシーケンス図を示す。 プリンタと第2端末との間にWFD方式に従ったWi-Fi接続を確立するための処理のシーケンス図を示す。 プリンタの状態移行処理のフローチャートを示す。 プリンタがDPP応答状態である状況でWFD応答状態に移行するケースAのシーケンス図を示す。 プリンタがDPP非応答状態である状況でWFD応答状態に移行するケースBのシーケンス図を示す。 第2実施例の状態移行処理のフローチャートを示す。 プリンタが、デバイス状態であるWFD応答状態である状況で、DPP応答状態に移行するケースCのシーケンス図を示す。 プリンタが、Group Owner状態であるWFD応答状態であり、かつ、他の装置とのWFD接続が確立されている状況で、DPP応答状態に移行するケースDのシーケンス図を示す。 プリンタが、Group Owner状態であるWFD応答状態であり、かつ、他の装置とのWFD接続が確立されていない状況で、DPP応答状態に移行するケースEのシーケンス図を示す。
(第1実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、アクセスポイント(以下では単に「AP」と記載する)10と、第1端末100と、第2端末200と、プリンタ300と、を備える。本実施例では、ユーザが、第1端末100を利用して、プリンタ300とAP10との間にWi-Fi規格に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させるとともに、第2端末200とプリンタ300との間にWi-Fi接続を確立させる状況を想定している。
(第1端末100の構成)
第1端末100は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、第1端末100は、据置型の端末装置であってもよい。第1端末100は、Wi-Fiインターフェース106と、カメラ110と、を備える。以下では、インターフェースのことを単に「I/F」と記載する。
Wi-FiI/F106は、Wi-Fi規格に従ったWi-Fi通信を実行するための無線インターフェースである。Wi-Fi規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための規格である。Wi-FiI/F106は、Wi-Fi Allianceによって策定されたDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書「Device Provisioning Protocol Technical Specification Version 1.0」に記述されており、第1端末100を利用して一対のデバイス(例えばプリンタ300とAP10)の間に容易にWi-Fi接続を確立させるための方式である。以下では、DPP方式に従って確立されるWi-Fi接続のことを「DPP接続」と記載することがある。
カメラ110は、物体を撮影するためのデバイスであり、本実施例では、AP10及びプリンタ300のためのQRコード(登録商標)を撮影するために利用される。
(第2端末200の構成)
第2端末200も、第1端末100と同様の可搬型の端末装置である。なお、変形例では、第2端末200は、据置型の端末装置であってもよい。第2端末200は、Wi-FiI/F206を備える。
Wi-FiI/F206は、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている方式である。WFDでは、Group Owner状態(以下では「G/O状態」と呼ぶ)、及び、クライアント状態(以下では「CL状態」と呼ぶ)が定義されている。また、本実施例では、G/O状態及びCL状態のいずれとも異なる状態のことを「デバイス状態」と呼ぶ。WFD方式をサポートしている機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。以下では、WFD方式に従って確立されるWi-Fi接続のことを「WFD接続」と記載することがある。
(プリンタ300の構成)
プリンタ300は、印刷機能を実行可能な周辺装置(例えば第1端末100及び第2端末200の周辺装置)である。プリンタ300は、操作部302と、表示部304と、Wi-FiI/F306と、印刷実行部308と、制御部320と、を備える。各部302~320は、バス線(符号省略)に接続されている。
操作部302は、複数のボタンを備える。ユーザは、操作部302を操作することによって、様々な指示をプリンタ300に入力することができる。表示部304は、様々な情報を表示するためのディスプレイである。表示部304は、さらに、いわゆるタッチパネル(即ち操作部)として機能する。以下では、操作部302と表示部304のタッチパネルとを合わせて「操作部302,304」と記載することがある。印刷実行部308は、インクジェット方式、レーザ方式等の印刷機構を備える。
Wi-FiI/F306は、DPP方式とWFD方式とをサポートしている。このために、プリンタ300は、AP100とのDPP接続を確立することができ、さらに、第2端末200とのWFD接続を確立することができる。
制御部320は、CPU322とメモリ324とを備える。CPU322は、メモリ324に格納されているプログラム326に従って、様々な処理を実行する。メモリ324は、揮発性メモリ、不揮発性メモリ等によって構成される。
(DPPの概略;図2)
続いて、図2を参照して、DPPの概略を説明する。AP10もDPP方式をサポートしている。本実施例では、各デバイス10,100,300がDPP方式に従った通信を実行することによって、プリンタ300とAP10との間にDPP接続を確立させることを実現する。以下では、理解の容易化のため、各デバイスのCPU(例えばCPU322)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ300)を主体として記載する。
T5では、第1端末100は、DPP方式のBootstrapping(以下では単に「BS」と記載する)をAP10と実行する。当該BSは、AP10に貼り付けられているQRコードが第1端末100のカメラ110によって撮影されることに応じて、後述のT10のAuthentication(以下では単に「Auth」と記載する)で利用される情報をAP10から第1端末100に提供する処理である。
T10では、第1端末100は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP10と実行する。当該Authは、第1端末100及びAP10のそれぞれが通信相手を認証するための処理である。
T15では、第1端末100は、DPP方式のConfiguration(以下では単に「Config」と記載する)をAP10と実行する。当該Configは、AP10がDPP接続を確立するための情報をAP10に送信する処理である。具体的には、第1端末100は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP10に送信する。この結果、AP10では、AP用COが記憶される。
次いで、第1端末100は、T25において、DPP方式のBSをプリンタ300と実行する。当該BSは、プリンタ300に表示されるQRコードが第1端末100のカメラ110によって撮影されることに応じて、後述のT30のAuthで利用される情報をプリンタ300から第1端末100に提供する処理である。
T30では、第1端末100は、T25のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ300と実行する。当該Authは、第1端末100及びプリンタ300のそれぞれが通信相手を認証するための処理である。
T35では、第1端末100は、DPP方式のConfigをプリンタ300と実行する。当該Configは、プリンタ300とAP10との間にDPP接続を確立するための情報をプリンタ300に送信する処理である。第1端末100は、当該Configにおいて、プリンタ300とAP10との間にDPP接続を確立させるためのプリンタ用COを生成して、プリンタ用COをプリンタ300に送信する。この結果、プリンタ300では、プリンタ用COが記憶される。
T40では、プリンタ300及びAP10は、記憶済みのAP用CO及びプリンタ用COを利用して、DPP方式のNetwork Access(以下では単に「NA」と記載する)を実行する。NAは、DPP接続を確立するための接続キーをプリンタ300及びAP10の間で共有するための処理である。その後、プリンタ300及びAP10は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ300及びAP10は、共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ300とAP10との間にDPP接続が確立される。これにより、プリンタ300は、AP10によって形成される無線ネットワークに子局として参加することができる。なお、変形例では、プリンタ300及びAP10は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
DPP方式では、プリンタ300とAP10との間にDPP接続を確立させるために、ユーザは、AP10が親局として動作する無線ネットワークの情報(例えばSSID、パスワード等)をプリンタ300に入力する必要がない。従って、ユーザは、プリンタ300とAP10との間にWi-Fi接続を容易に確立させることができる。
(各処理の詳細;図3~図6)
続いて、図3~図6を参照して、図2のT25~T40において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ300に代えてAP10が利用される点を除いてT25~T35の処理と同様であるので、その詳細な説明を省略する。
(Bootstrapping(BS);図3)
まず、図3を参照して、図2のT25で実行されるBSの処理を説明する。図3の初期状態では、プリンタ300のメモリ324は、プリンタ300の公開鍵PPK1及び秘密鍵psk1を予め記憶している。
T100では、プリンタ300は、QRコードを表示部304に表示する。当該QRコードは、プリンタ300の公開鍵PPK1と、プリンタ300のチャネル情報と、プリンタ300のWi-FiI/F306のMACアドレス「macpr」と、をコード化することによって得られたものである。チャネル情報は、Wi-FiI/F306が利用可能な複数のチャネル(換言すると周波数の幅)のうちの1個のチャネル(以下では「DPPチャネル」と記載する)を示す情報である。本実施例では、上記の複数のチャネルは、1~13chの13個のチャネルである。
T110では、プリンタ300は、DPP応答状態に移行する。DPP応答状態は、T100で表示されたQRコードが第1端末100によって撮影されることに応じて、第1端末100から送信される認証要求(即ち、後述のDPP Authentication Request)に対して応答可能である状態である。特に、T110のDPP応答状態は、複数のチャネルのうちのDPPチャネルのみが利用された認証要求に対して応答可能である状態である。換言すると、T110のDPP応答状態は、DPPチャネルが利用された認証要求の待ち受け状態である。即ち、プリンタ300は、DPPチャネルが利用された認証要求を受信することに応じて認証応答(即ち、後述のDPP Authentication Response)を送信するが、DPPチャネルとは異なるチャネルが利用された認証要求に対して認証応答を送信しない。ここで、「認証要求に対して認証応答を送信しない」とは、認証要求を受信不可能であること、又は、認証要求を受信可能であるが、仮に認証要求を受信しても認証応答を送信しないこと、を意味する。
第1端末100は、ユーザから操作を受け付けることに応じて、カメラ110を起動し、T120において、カメラ110を利用して、T100で表示されたQRコードを撮影する。そして、第1端末100は、T122において、撮影済みのQRコードをデコードして、公開鍵PPK1とチャネル情報とMACアドレス「macpr」とを取得する。T122の処理が終了すると、図3の処理が終了する。
(Authentication(Auth);図4)
続いて、図4を参照して、図2のT30で実行されるAuthの処理を説明する。なお、第1端末100及びプリンタ300の間で実行される以下の全ての通信は、第1端末100のWi-FiI/F106とプリンタ300のWi-FiI/F306とを介して実行される。従って、以下では、「Wi-FiI/F106(又は306)を介して」という記載を省略する。
T200では、第1端末100は、第1端末100の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、第1端末100は、T202において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT122で取得されたプリンタ300の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、第1端末100は、T204において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
T210では、第1端末100は、図3のT122で取得されたMACアドレス「macpr」を送信先として、DPP Authentication Request(以下では単に「AReq」と記載する)をプリンタ300に送信する。AReqは、認証の実行をプリンタ300に要求する信号である。AReqは、T200で生成された第1端末100の公開鍵TPK1と、T204で生成された暗号化データED1と、第1端末100のcapabilityと、を含む。ここで、第1端末100は、図3のT122で取得されたチャネル情報によって示されるDPPチャネルが利用されたAReqをプリンタ300に送信することを繰り返す。
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば図2のT35)において、NA(例えば図2のT40)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、第1端末100が、AP用CO及びプリンタ用COを生成して、AP10及びプリンタ300に送信する。従って、第1端末100のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
プリンタ300は、T210において、第1端末100からAReqを受信する。上記のように、AReqは、プリンタ300のMACアドレス「macpr」を送信先として送信される。従って、プリンタ300は、第1端末100からAReqを適切に受信することができる。
また、上記のように、AReqは、DPPチャネルが利用されて送信される。プリンタ300は、図3のT110において、DPPチャネルが利用されたAReqを待ち受ける状態に移行するので、第1端末100からDPPチャネルが利用されたAReqを適切に受信することができる。ここで、図3のT100において、2個以上のチャネルを示すチャネル情報を含むQRコードが表示され、図3のT110において、プリンタ300が2個以上のチャネルを順次切り替えながらAReqを待ち受ける状態に移行する比較例を想定する。この場合、プリンタ300が或るチャネルが利用されたAReqを待ち受ける期間と、第1端末100から当該或るチャネルが利用されたAReqが送信されるタイミングと、が一致しないと、プリンタ300がAReqを受信することができない。このために、プリンタ300がAReqを受信するまでにある程度の時間を要し得る。これに対し、本実施例では、プリンタ300は、1個のチャネルであるDPPチャネルのみが利用されたAReqを待ち受ける状態に移行するので、比較例と比べると、第1端末100からDPPチャネルが利用されたAReqを迅速に受信することができる。なお、第1端末100とプリンタ300との間で実行される以下の全ての通信でもDPPチャネルが利用される。
次いで、プリンタ300は、AReqの送信元(即ち第1端末100)を認証するための処理を実行する。具体的には、プリンタ300は、T212において、ECDHに従って、AReq内の第1端末100の公開鍵TPK1と、プリンタ300の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T202で第1端末100によって生成される共有鍵SK1と、T212でプリンタ300によって生成される共有鍵SK1と、は同じである。従って、プリンタ300は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ300は、暗号化データED1の復号が成功する場合には、AReqの送信元が、図3のT100で表示されたQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、プリンタ300は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元が、T100で表示されたQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
プリンタ300は、T216において、プリンタ300の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、プリンタ300は、公開鍵PPK2及び秘密鍵psk2を予め記憶していてもよい。次いで、プリンタ300は、T217において、ECDHに従って、T210のAReq内の第1端末100の公開鍵TPK1と、生成済みのプリンタ300の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ300は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
T220では、プリンタ300は、DPP Authentication Response(以下では単に「ARes」と記載する)を第1端末100に送信する。当該AResは、T216で生成されたプリンタ300の公開鍵PPK2と、T218で生成された暗号化データED2と、プリンタ300のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
第1端末100は、T220において、プリンタ300からAResを受信する。この場合、第1端末100は、AResの送信元(即ちプリンタ300)を認証するための処理を実行する。具体的には、第1端末100は、T222において、ECDHに従って、T200で生成された第1端末100の秘密鍵tsk1と、ARes内のプリンタ300の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T217でプリンタ300によって生成される共有鍵SK2と、T222で第1端末100によって生成される共有鍵SK2と、は同じである。従って、第1端末100は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。第1端末100は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、第1端末100は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
T230では、第1端末100は、Confirmをプリンタ300に送信する。Confirmは、第1端末100がConfiguratorとして動作し、かつ、プリンタ300がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが第1端末100によって決定され、T234において、Enrolleeとして動作することがプリンタ300によって決定される。T234の処理が終了すると、図4の処理が終了する。
(Configuration(Config);図5)
続いて、図5を参照して、図2のT35で実行されるConfigの処理を説明する。T300では、プリンタ300は、DPP Configuration Request(以下では単に「CReq」と記載する)を第1端末100に送信する。CReqは、プリンタ用COの送信を要求する信号である。
第1端末100は、T300において、プリンタ300からCReqを受信する。この場合、第1端末100は、T302において、第1端末100の新たな公開鍵TPK2及び新たな秘密鍵tsk2を生成する。次いで、第1端末100は、T304において、生成済みの秘密鍵tsk2を利用して、プリンタ用COを生成する。具体的には、第1端末100は、以下の各処理を実行する。
第1端末100は、まず、第1端末100の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、第1端末100は、ハッシュ値HVと、グループID「Group」と、図4のT220のARes内のプリンタ300の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、第1端末100は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、第1端末100の秘密鍵tsk2を利用して、生成済みの特定値を暗号化することによって、電子署名DSprを生成する。この結果、第1端末100は、ハッシュ値HVと、グループID「Group」と、プリンタ300の公開鍵PPK2と、電子署名DSprと、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを単に「SC」と記載する)を生成することができる。そして、第1端末100は、プリンタ用SCと、第1端末100の公開鍵TPK2と、を含むプリンタ用COを生成する。
T310では、第1端末100は、プリンタ用COを含むDPP Configuration Response(以下では単に「CRes」と記載する)をプリンタ300に送信する。
プリンタ300は、T310において、第1端末100からCResを受信する。この場合、プリンタ300は、T312において、CRes内のプリンタ用COを記憶する。プリンタ用COは、AP10とのDPP接続で利用される情報であり、AP10とのDPP接続を確立するための接続情報であると言える。T312の処理が終了すると、図5の処理が終了する。
(Network Access(NA);図6)
続いて、図6を参照して、図2のT40のNAの処理を説明する。上記のように、図2のT25~T35と同様に、T5~T15の処理が第1端末100及びAP10の間で実行済みである。AP10は、AP10の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP10の公開鍵APK1と、AP10のチャネル情報と、AP10のMACアドレスと、をコード化することによって得られるQRコードが、AP10の筐体に貼り付けられている。第1端末100が当該QRコードを撮影することによって、第1端末100及びAP10の間で図4のT200以降の各処理と同様の各処理が実行される。この結果、AP10は、AP10の公開鍵APK2及び秘密鍵ask2を記憶し(図4のT216参照)、さらに、第1端末100から受信されるAP用COを記憶する(図5のT312参照)。AP用COは、AP用SCと、第1端末100の公開鍵TPK2と、を含む。当該公開鍵TPK2は、プリンタ用COに含まれる公開鍵TPK2と同じである。また、AP用SCは、ハッシュ値HVと、グループID「Group」と、AP10の公開鍵APK2と、電子署名DSapと、を含む。当該ハッシュ値HV及び当該グループID「Group」は、それぞれ、プリンタ用COに含まれるハッシュ値HV及びグループID「Group」と同じである。電子署名DSapは、ハッシュ値HVとグループID「Group」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が第1端末100の秘密鍵tsk2によって暗号化された情報であり、プリンタ用COに含まれる電子署名DSprとは異なる値である。
プリンタ300は、T400において、プリンタ用SCを含むDPP Peer Discovery Request(以下では単に「DReq」と記載する)をAP10に送信する。DReqは、認証の実行と、AP用SCの送信と、をAP10に要求する信号である。
AP10は、T400において、プリンタ300からDReqを受信することに応じて、DReqの送信元(即ちプリンタ300)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP10は、T402において、まず、受信済みのプリンタ用SC内のハッシュ値HV及びグループID「Group」が、それぞれ、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HV及びグループID「Group」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP10は、第1のAP判断処理で一致すると判断するので、DReqの送信元(即ちプリンタ300)の認証が成功したと判断する。なお、受信済みのプリンタ用SC内のハッシュ値HVと、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち第1端末100)によって生成されたことを意味する。従って、AP10は、受信済みのプリンタ用SCの生成元(即ち第1端末100)の認証が成功したとも判断する。
AP10は、さらに、記憶済みのAP用COに含まれる第1端末100の公開鍵TPK2を用いて、受信済みのプリンタ用SC内の電子署名DSprを復号する。図6のケースでは、電子署名DSprの復号が成功するので、AP10は、電子署名DSprを復号することによって得られた特定値と、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP10は、第2のAP判断処理で一致すると判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で一致すると判断されることは、プリンタ用COがプリンタ300に記憶された後に、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で一致しないと判断される場合、電子署名DSprの復号が失敗する場合、又は、第2のAP判断処理で一致しないと判断される場合には、AP10は、認証が失敗したと判断し、T404以降の処理を実行しない。
次いで、AP10は、T404において、ECDHに従って、取得済みのプリンタ300の公開鍵PPK2と、記憶済みのAP10の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
T410では、AP10は、AP用SCを含むDPP Peer Discovery Response(以下では単に「DRes」と記載する)をプリンタ300に送信する。
プリンタ300は、T410において、AP10からDResを受信することに応じて、DResの送信元(即ちAP10)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ300は、T412において、まず、受信済みのAP用SC内のハッシュ値HV及びグループID「Group」が、それぞれ、記憶済みのプリンタ用COに含まれるプリンタ用SC内のハッシュ値HV及びグループID「Group」に一致するのか否かに関する第1のPR判断処理を実行する。図6のケースでは、プリンタ300は、第1のPR判断処理で一致すると判断するので、DResの送信元(即ちAP10)の認証が成功したと判断する。なお、受信済みのAP用SC内のハッシュ値HVと、記憶済みのプリンタ用COに含まれるプリンタ用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち第1端末100)によって生成されたことを意味する。従って、プリンタ300は、受信済みのAP用SCの生成元(即ち第1端末100)の認証が成功したとも判断する。
プリンタ300は、さらに、記憶済みのプリンタ用COに含まれる第1端末100の公開鍵TPK2を用いて、受信済みのAP用SC内の電子署名DSapを復号する。図6のケースでは、電子署名DSapの復号が成功するので、プリンタ300は、電子署名DSapを復号することによって得られた特定値と、受信済みのAP用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図6のケースでは、プリンタ300は、第2のPR判断処理で一致すると判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で一致すると判断されることは、AP用COがAP10に記憶された後に、AP用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で一致しないと判断される場合、電子署名DSapの復号が失敗する場合、又は、第2のPR判断処理で一致しないと判断される場合には、プリンタ300は、認証が失敗したと判断し、T414以降の処理を実行しない。
プリンタ300は、T414において、ECDHに従って、記憶済みのプリンタ300の秘密鍵psk2と、受信済みのAP用SC内のAP10の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP10によって生成される接続キーCKと、T414でプリンタ300によって生成される接続キーCKと、は同じである。これにより、DPP接続を確立するための接続キーCKがプリンタ300及びAP10の間で共有される。
上述したように、接続キーCKがプリンタ300及びAP10の間で共有された後に、T420において、プリンタ300及びAP10は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ300とAP10との間にDPP接続が確立される。なお、当該DPP接続を介した通信で利用されるチャネルは、1~13chの中からAP10によって決定されたチャネルである。即ち、当該チャネルは、上記のDPPチャネルと同じである可能性もあるし、上記のDPPチャネルとは異なる可能性もある。
その後、プリンタ300は、T430において、DPP非応答状態(即ち図3のT110の前の状態)に移行する。DPP非応答状態は、いずれのチャネルが利用された認証要求(即ちAReq)に対しても応答しない状態である。即ち、DPP非応答状態は、認証要求を待ち受けない状態である。T430が終了すると、図6の処理が終了する。
(WFDの概略;図7)
続いて、図7を参照して、WFDの概略を説明する。上述の通り、第2端末200及びプリンタ300はWFD方式をサポートしており、第2端末200及びプリンタ300の間にWFD接続が確立される。なお、第2端末200及びプリンタ300の間で実行される以下の全ての通信は、第2端末100のWi-FiI/F206とプリンタ300のWi-FiI/F306とを介して実行される。従って、以下では、「Wi-FiI/F206(又は306)を介して」という記載を省略する。
プリンタ300は、T500において、WFD方式のデバイス状態であるWFD応答状態に移行する。WFD応答状態は、第2端末200から送信されるProbe Request(以下では単に「PReq」と記載する)に対して応答可能である状態である。PReqは、第2端末200の周囲のデバイスを検索するための信号である。特に、T500のWFD応答状態は、1ch、6ch、及び、11chのうちの1個のチャネル(以下では「Listenチャネル」と記載する)のみが利用されたPReqに対して応答可能である状態である。換言すると、T500のWFD応答状態は、Listenチャネルが利用されたPReqの待ち受け状態である。即ち、プリンタ300は、Listenチャネルが利用されたPReqを受信することに応じてProbe Response(以下では単に「PRes」と記載する)を送信するが、Listenチャネルとは異なるチャネルが利用されたPReqに対してPResを送信しない。ここで、「PReqに対してPResを送信しない」とは、PReqを受信不可能であること、又は、PReqを受信可能であるが、仮にPReqを受信してもPResを送信しないこと、を意味する。なお、以下では、1ch、6ch、及び、11chの3個のチャネルのことを「ソーシャルチャネル」と記載する。
第2端末200は、T510において、ユーザからWFD接続操作を受け付ける。WFD接続操作は、例えば、ユーザが第2端末200にインストールされているWFD接続のためのアプリケーションを起動するための操作である。第2端末200は、WFD接続操作を受け付けることに応じて、T520において、デバイス状態であるWFD応答状態に移行する。
第2端末200は、T530において、WFD方式のSearchを実行する。具体的には、第2端末200は、PReqをブロードキャストによって送信する。ここで、第2端末200は、ソーシャルチャネル(即ち1ch、6ch、及び、11ch)を順次利用して、PReqを繰り返し送信する。
プリンタ300がPReqを待ち受けるチャネルと、第2端末200からのPReqの送信で利用されたチャネルと、が一致すると、プリンタ300は、T530において、第2端末200からPReqを受信する。この場合、プリンタ300は、T532において、プリンタ300のデバイス名「printerAAA」を含むPResを第2端末200に送信する。
第2端末200は、T532において、プリンタ300からPResを受信する。図示省略しているが、第2端末200は、他のデバイスからもPResを受信し得る。次いで、第2端末200は、T540において、T532で受信された1個以上のPResに含まれる1個以上のデバイス名を示す検索結果を表示する。図7のケースでは、検索結果は、「printerAAA」と「terminalBBB」とを含む。
第2端末200は、T542において、ユーザから、T540で表示された検索結果に含まれる「printerAAA」の選択を受け付ける。この場合、T550及びT552において、第2端末200とプリンタ300との間でG/Oネゴシエーションが実行される。G/Oネゴシエーションは、第2端末200とプリンタ300とのうちのどちらがG/O状態になるのかを決定するための通信である。
具体的には、第2端末200は、T550において、G/O Negotiation Request(以下では単に「GNReq」と記載する)をプリンタ300に送信する。GNReqは、第2端末200のIntent値を含む。Intent値は、1~15の値の中のうちの1つの値であり、G/O状態へのなり易さを示す。
プリンタ300は、T550において、第2端末200からGNReqを受信する。この場合、プリンタ300は、T552において、G/O Negotiation Response(以下では単に「GNRes」と記載する)を第2端末200に送信する。GNResは、プリンタ300のIntent値を含む。
その後、第2端末200とプリンタ300とは、それぞれ、第2端末200のIntent値とプリンタ300のIntent値とを比較して、どちらがG/O状態になるのかを決定する。プリンタ300のIntent値が第2端末200のIntent値よりも大きい場合には、第2端末200は、T560において、CL状態になることを決定し、プリンタ300は、T562において、G/O状態になることを決定する。一方、プリンタ300のIntent値が第2端末200のIntent値よりも小さい場合には、第2端末200は、T580において、G/O状態になることを決定し、プリンタ300は、T582において、CL状態になることを決定する。
G/Oネゴシエーションが終了すると、第2端末200とプリンタ300との間で、WPS(Wi-Fi Protected Setupの略)、Authentication、Association、4way-handshake等の各種通信が実行される。この結果、T570又はT590において、第2端末200とプリンタ300との間にWFD接続が確立される。なお、当該WFD接続を介した通信で利用されるチャネルは、1~13chの中からG/O状態のデバイスによって決定されたチャネルである。即ち、当該チャネルは、上記のListenチャネルと同じである可能性もあるし、上記のListenチャネルとは異なる可能性もある。
プリンタ300は、T570でWFD接続が確立された後に、G/O状態であるWFD応答状態を維持する。具体的には、当該WFD応答状態は、T570で確立されたWFD接続で利用されるチャネル(即ちG/O状態であるプリンタ300によって決定されたチャネル)のみが利用されたPReqに対して応答可能である状態である。即ち、当該WFD応答状態は、当該チャネルが利用されたPReqを待ち受ける状態である。
一方、プリンタ300は、T590でWFD接続が確立された後に、T592において、WFD非応答状態(即ち図7のT500の前の状態)に移行する。CL状態であるプリンタ300は、PReqに対して応答することができないからである。WFD非応答状態は、いずれのチャネルが利用されたPReqに対しても応答しない状態である。T570又はT592の処理が終了したら、図7の処理が終了する。
上述したように、プリンタ300は、DPP応答状態に移行することができると共に(図3のT110)、WFD応答状態に移行することができる(図7のT500)。そして、本実施例では、プリンタ300がDPP応答状態を維持している間にWFD応答状態に移行する状況を想定する。このような状況において、仮に、DPP応答状態で利用されるチャネルと、WFD応答状態で利用されるチャネルと、が異なると、プリンタ300は、これらのチャネルを順次切り替えながらAReq又はPReqを待ち受ける。この場合、プリンタ300が或るチャネルが利用されたAReqを待ち受ける期間と、第1端末100から当該或るチャネルが利用されたAReqが送信されるタイミングと、が一致しないと、プリンタ300がAReqを受信することができない。また、プリンタ300が或るチャネルが利用されたPReqを待ち受ける期間と、第2端末200から当該或るチャネルが利用されたPReqが送信されるタイミングと、が一致しないと、プリンタ300がPReqを受信することができない。このために、プリンタ300がAReq又はPReqを受信するまでにある程度の時間を要し得る。このような事象が発生するのを抑制するために、プリンタ300は図8の処理を実行する。
(プリンタ300の状態移行処理;図8)
図8を参照して、プリンタ300のCPU322によって実行される状態移行処理を説明する。CPU322は、プリンタ300の電源がOFFである状態で、プリンタ300の操作部302に含まれる電源ボタンがユーザによって操作される場合に、電源ON指示を取得する。この場合、CPU322は、図8の処理を開始する。
S100では、CPU322は、QRコードを表示部304に表示する。ここで、メモリ324には、プリンタ300の出荷段階から、公開鍵PPK1と、ソーシャルチャネル(即ち1ch、6ch、11ch)の中から予め決められている1ch(即ちDPPチャネル)を示すチャネル情報と、MACアドレス「macpr」と、を含むQRコードが予め記憶されている。そして、CPU322は、メモリ324からQRコードを取得して当該QRコードを表示部304に供給することによって、QRコードを表示部304に表示させる。
S102では、CPU322は、プリンタ300の状態をDPP非応答状態からDPP応答状態に移行させる。特に、S102のDPP応答状態は、DPPチャネルである1chのみが利用されたAReqに対して応答可能である状態である。CPU322は、1chのみを利用するDPP応答状態に移行すべきこと、即ち、1chが利用されたAReqの待ち受け状態に移行すべきことをWi-FiI/F306に指示することによって、プリンタ300の状態をDPP応答状態に移行させる。
S110、S120、S130、及び、S140では、CPU322は、様々な指示を取得することを監視する。CPU322は、プリンタ300の状態がDPP応答状態である間に、プリンタ300の操作部302,304に含まれるDPP無効化ボタンがユーザによって操作される場合に、DPP無効化指示を取得したと判断し(S110でYES)、S112に進む。
S112では、CPU322は、QRコードの表示を終了し、プリンタ300の状態をDPP応答状態からDPP非応答状態に移行させる。具体的には、CPU322は、DPP非応答状態に移行すべきこと、即ち、AReqを待ち受けない状態に移行すべきことをWi-FiI/F306に指示する。S112の処理が終了したら、S110等の監視に戻る。
CPU322は、プリンタ300の状態がDPP非応答状態である間に、プリンタ300の操作部302,304に含まれるDPP有効化ボタンがユーザによって操作される場合に、DPP有効化指示を取得したと判断し(S120でYES)、S100及びS102を実行する。
CPU322は、プリンタ300の状態がWFD非応答状態である間に、プリンタ300の操作部302,304に含まれるWFD有効化ボタンがユーザによって操作される場合に、WFD有効化指示を取得したと判断し(S130でYES)、S132に進む。
S132では、CPU322は、プリンタ300の状態がDPP応答状態であるのかDPP非応答状態であるのかを判断する。CPU322は、プリンタ300の状態がDPP応答状態であると判断する場合(S132でYES)に、S134に進み、プリンタ300の状態がDPP非応答状態であると判断する場合(S132でNO)に、S136に進む。
S134では、CPU322は、プリンタ300の状態をWFD非応答状態からWFD応答状態に移行させる。特に、S134のWFD応答状態は、WFD方式のデバイス状態であり、かつ、DPP応答状態で利用されるDPPチャネルと同じ1ch(即ちListenチャネル)のみが利用されたPReqに対して応答可能である状態である。CPU322は、1chのみを利用するWFD応答状態に移行すべきこと、即ち、1chが利用されたPReqの待ち受け状態に移行すべきことをWi-FiI/F306に指示することによって、プリンタ300の状態をWFD応答状態に移行させる。S134の処理が終了したら、S110等の監視に戻る。
S136では、CPU322は、ソーシャルチャネル(即ち1ch、6ch、及び、11ch)の中からWFD応答状態で利用すべき1個のチャネル(即ちListenチャネル)を選択する。具体的には、CPU322は、まず、1chが利用されたPReqをブロードキャストによって送信し、当該PReqに対して受信されるPResの個数をカウントする。同様に、CPU322は、6ch及び11chについても、それぞれ、PReqを送信してPResの個数をカウントする。そして、CPU322は、ソーシャルチャネルの中から、カウントされたPResの個数が最も少ないチャネル、即ち、プリンタ300の周囲で現在最も利用されていないチャネルをListenチャネルとして選択する。
S138では、CPU322は、プリンタ300の状態をWFD非応答状態からWFD応答状態に移行させる。特に、S138のWFD応答状態は、WFD方式のデバイス状態であり、かつ、S136で選択済みのチャネル(即ちListenチャネル)のみが利用されたPReqに対して応答可能である状態である。CPU322は、選択済みのチャネルのみを利用するWFD応答状態に移行すべきこと、即ち、選択済みのチャネルが利用されたPReqの待ち受け状態に移行すべきことをWi-FiI/F306に指示することによって、プリンタ300の状態をWFD応答状態に移行させる。S138の処理が終了したら、S110等の監視に戻る。
CPU322は、プリンタ300の操作部302,304に含まれるWFD無効化ボタンがユーザによって操作される場合に、WFD無効化指示を取得したと判断し(S140でYES)、S142に進む。
S142では、CPU322は、プリンタ300の状態をWFD応答状態からWFD非応答状態に移行させる。具体的には、CPU322は、WFD非応答状態に移行すべきこと、即ち、PReqを待ち受けない状態に移行すべきことをWi-FiI/F306に指示する。S142の処理が終了したら、S110等の監視に戻る。
(ケースA;図9)
続いて、図8の処理によって実現される具体的なケースを説明する。まず、図9を参照して、プリンタ300がDPP応答状態である状況でWFD応答状態に移行するケースAを説明する。第1端末100とAP10との間でDPP方式のBS、Auth、及び、Configが実行される。これらの処理は、図2のT5~T15と同様である。
プリンタ300は、T620において、電源ON指示を取得すると(図8の処理のトリガ)、T622において、QRコードを表示し(S100)、DPP応答状態に移行する(S102)。特に、T622のDPP応答状態は、DPPチャネルである1chのみが利用されたAReqに対して応答可能である状態である。
プリンタ300は、T624において、WFD有効化指示を取得すると(S130でYES)、WFD応答状態に移行する(S132でYES、S134)。T626のWFD応答状態は、DPPチャネルと同じListenチャネルである1chのみが利用されたPReqに対して応答可能である状態である。
T635~T650は、プリンタ300と第1端末100との間のAuthの処理においてDPPチャネルとして1chが利用される点を除いて、図2のT25~T40と同様である。これにより、プリンタ300とAP10との間にDPP接続が確立される。
T660~T670の処理は、図7のT510~T530の処理と同様である。プリンタ300は、T670において、第2端末200から1chが利用されたPReqを受信すると、T672において、1chが利用されたPResを第2端末200に送信する。
T680及びT682の処理は、図7のT540及びT542の処理と同様である。その後、プリンタ300と第2端末200との間でG/Oネゴシエーションが実行され(図9では図示省略、図7のT550及びT552参照)、T690において、プリンタ300と第2端末200との間にWFD接続が確立される。
上記のケースAに示されるように、プリンタ300は、DPPチャネルである1chが利用されたAReqに対して応答可能であるDPP応答状態である間に、WFD有効化指示を取得する場合(T624)に、1chが利用されたAReqに対して応答可能であり、かつ、1chが利用されたPReqに対して応答可能である状態に移行する(T626)。これにより、プリンタ300は、同じチャネルでAReq及びPReqを待ち受けることができる。このために、プリンタ300は、DPP応答状態で利用されるチャネルと、WFD応答状態で利用されるチャネルと、が異なる構成と比べると、T640及びT670において、AReq及びPReqを迅速に受信することができる。このように、本実施例によると、プリンタ300は、適切なチャネルで信号を待ち受ける状態に移行することができる。
また、本実施例では、プリンタ300は、予め決められている1chをDPPチャネルとして利用する。即ち、プリンタ300は、DPP応答状態で利用されるDPPチャネルを1chに固定している。このために、プリンタ300のベンダはT622で表示されるQRコード(即ち1chを示すチャネル情報を含むQRコード)をメモリ324に予め記憶させておくことができる。この結果、プリンタ300は、予め記憶されているQRコードをT622で表示させることができる。従って、プリンタ300は、QRコードを生成する処理を実行せずに済むので、QRコードを迅速に表示することができる。
(ケースB;図10)
続いて、図10を参照して、プリンタ300がDPP非応答状態である状況でWFD応答状態に移行するケースBを説明する。
T720及びT722の処理は、図9のT620及びT622の処理と同様である。プリンタ300は、T723において、DPP無効化指示を取得すると(図8のS110でYES)、T724において、DPP非応答状態に移行する(S112)。
プリンタ300は、T726において、WFD有効化指示を取得すると(S130でYES、S132でNO)、T730において、ソーシャルチャネル(即ち1ch、6ch、11ch)を順次利用してPReqをブロードキャストによって送信する(S136)。そして、プリンタ300は、T732において、各チャネルでPResを受信し、各チャネルのPResの個数をカウントする。図10のケースでは、6chのPResの個数が最も少ないので、プリンタ300は、T740において、Listenチャネルとして6chを選択する(S136)。
T742では、プリンタ300は、WFD応答状態に移行する(S138)。T742のWFD応答状態は、T740で選択された6chのみが利用されたPReqに対して応答可能である状態である。T760~T770の処理は、図7のT510~T530の処理と同様である。プリンタ300は、T770において、第2端末200から6chが利用されたPReqを受信すると、T772において、6chが利用されたPResを第2端末200に送信する。T780~T790の処理は、図9のT680~T690の処理と同様である。
上記のケースBに示されるように、プリンタ300は、DPP非応答状態である間にWFD有効化指示を取得する場合(T726)に、ソーシャルチャネルの中から、プリンタ300の周囲で現在最も利用されていないチャネルを選択し(T730~T740)、選択済みのチャネルのみが利用されたPReqに対して応答可能であるWFD応答状態に移行する(T742)。このために、プリンタ300は、プリンタ300の周囲で多く利用されているチャネルを利用する構成と比べると、第2端末200からPReqを適切に受信することができる。
(対応関係)
プリンタ300が、「通信装置」の一例である。第1端末100、AP10、第2端末200が、それぞれ、「端末装置」、「第1の外部装置」、「第2の外部装置」の一例である。表示部304、Wi-FiI/F306が、それぞれ、「出力部」、「無線インターフェース」の一例である。QRコード、1ch、ソーシャルチャネルが、それぞれ、「出力情報」、「対象チャネル」、「2個以上のチャネル」の一例である。DPP方式、WFD方式が、それぞれ、「第1の方式」、「第2の方式」の一例である。図9のT650で確立されるWi-Fi接続、T690で確立されるWi-Fi接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。AReq、ARes、PReq、PResが、それぞれ、「認証要求」、「認証応答」、「検索信号」、「検索応答」の一例である。
プリンタ300の電源OFF状態(即ちDPP非応答状態かつWFD非応答状態)が、「第1の状態」の一例である。DPP応答状態かつWFD非応答状態(図9のT622の状態)が、「第2の状態」の一例である。DPP応答状態かつWFD応答状態(図9のT626の状態)が、「第3の状態」の一例である。DPP非応答状態かつWFD応答状態(図10のT742の状態)が、「第4の状態」の一例である。電源ON指示、WFD有効化指示が、それぞれ、「第1の指示」、「第2の指示」の一例である。
図8のS100の処理、S102の処理、S134の処理、S136の処理、S138の処理が、それぞれ、「出力制御部」、「第1の移行部」、「第2の移行部」、「選択部」、「第3の移行部」によって実行される処理の一例である。図4のT220の処理、図7のT532の処理が、それぞれ、「認証応答送信部」、「検索応答送信部」によって実行される処理である。図9のT650の処理、T690の処理が、それぞれ、「第1の確立部」、「第2の確立部」によって実行される処理の一例である。
(第2実施例)
続いて、第2実施例を説明する。本実施例では、プリンタ300がWFD応答状態である間にDPP応答状態に移行する状況を想定する。
(プリンタ300の状態移行処理;図11)
本実施例では、図8の処理に代えて、図11の処理が実行される。CPU322は、プリンタ300の電源がOFFである状態で、プリンタ300の操作部302,304に含まれる電源ボタンがユーザによって操作される場合に、電源ON指示を取得する。この場合、CPU322は、図11の処理を開始する。
S200及びS202は、図8のS136及びS138と同様である。即ち、本実施例では、CPU322は、電源ON指示を取得する場合に、DPP応答状態に移行するのではなく、WFD応答状態に移行する。
S210、S220、S230、及び、S250では、CPU322は、様々な指示を取得することを監視する。CPU322は、プリンタ300の状態がWFD応答状態である間に、プリンタ300の操作部302,304に含まれるWFD無効化ボタンがユーザによって選択される場合に、WFD無効化指示を取得したと判断し(S210でYES)、S212に進む。S212は、図8のS142と同様である。S212の処理が終了したら、S210等の監視に戻る。
CPU322は、プリンタ300の状態がWFD非応答状態である間に、プリンタ300の操作部302,304に含まれるWFD有効化ボタンがユーザによって操作される場合に、WFD有効化指示を取得したと判断し(S220でYES)、S200及びS202を実行する。
CPU322は、プリンタ300の状態がDPP非応答状態である間に、プリンタ300の操作部302,304に含まれるDPP有効化ボタンがユーザによって操作される場合に、DPP有効化指示を取得したと判断し(S230でYES)、S232に進む。S232及びS234は、図8のS100及びS102と同様である。
S236では、CPU322は、プリンタ300の状態がWFD応答状態であるのかWFD非応答状態であるのかを判断する。プリンタ300の状態がWFD応答状態である場合は、プリンタ300がWFD方式のデバイス状態である場合と、プリンタ300がWFD方式のG/O状態である場合と、のどちらかである。CPU322は、プリンタ300の状態がWFD応答状態(即ちデバイス状態又はG/O状態)であると判断する場合(S236でYES)に、S238に進み、プリンタ300の状態がWFD非応答状態(即ちWFD方式のCL状態又はWFD方式の通信が無効化されている状態(S210でYES参照))であると判断する場合(S236でNO)に、S210等の監視に戻る。
S238では、CPU322は、プリンタ300のWFD応答状態で現在利用されているListenチャネルが、DPPチャネルである1chに一致するのか否かを判断する。CPU322は、Listenチャネルが1chに一致しないと判断する場合(S238でNO)に、S240に進み、Listenチャネルが1chに一致すると判断する場合(S238でYES)に、S210等の監視に戻る。
S240では、CPU322は、プリンタ300と他の装置(例えば第2端末200)との間にWFD接続が確立されているのか否かを判断する。CPU322は、プリンタ300と他の装置との間にWFD接続が確立されていないと判断する場合(S240でNO)に、S242に進み、プリンタ300と他の装置との間にWFD接続が確立されていると判断する場合(S240でYES)に、S210等の監視に戻る。
S242では、CPU322は、プリンタ300の状態を現在のWFD応答状態から新たなWFD応答状態に移行させる。新たなWFD応答状態は、1chのみが利用されたPReqに対して応答可能である状態である。即ち、CPU322は、Listenチャネルを1chに変更する。S242の処理が終了したら、S210等の監視に戻る。
CPU322は、プリンタ300の操作部302,304に含まれるDPP無効化ボタンがユーザによって操作される場合に、DPP無効化指示を取得したと判断し(S250でYES)、S252に進む。S252は、図8のS112と同様である。S252が終了したら、S210等の監視に戻る。
(ケースC;図12)
続いて、図11の処理によって実現される具体的なケースを説明する。まず、図12を参照して、プリンタ300が、デバイス状態であるWFD応答状態である状況でDPP応答状態に移行するケースCを説明する。
プリンタ300は、T820において、電源ON指示を取得すると(図11の処理のトリガ)、図10のT730~T740と同様の処理を実行し、本ケースでは、6chを選択する(S200)。そして、T824では、プリンタ300は、WFD応答状態に移行する(S202)。T824のWFD応答状態は、T822で選択されたListenチャネルである6chのみが利用されたPReqに対して応答可能である状態である。
プリンタ300は、T826において、DPP有効化指示を取得すると(S230でYES)、T828において、QRコードを表示し(S232)、DPP応答状態に移行する(S234)。特に、T828のDPP応答状態は、DPPチャネルである1chのみが利用されたAReqに対して応答可能である状態である。
プリンタ300は、T830において、6chが利用されるWFD応答状態(T824参照)から、1chが利用されるWFD応答状態に移行する(S236でYES、S238でNO、S240でNO、S242)。即ち、プリンタ300は、Listenチャネルを6chから1chに変更する。なお、T830のWFD応答状態は、WFD方式のデバイス状態である。
プリンタ300がWFD応答状態に移行した後に、プリンタ300と第1端末100との間でDPP方式のBS、Auth、Configが実行されると、T850において、プリンタ300とAP10との間にDPP接続が確立される。これらの処理は、図9のT635~T650と同様である。
T860~T890の処理は、図9のT660~T690と同様である。これにより、プリンタ300と第2端末200との間にWFD接続が確立される。
上記のケースCに示されるように、プリンタ300は、6chが利用されたPReqに対して応答可能であるWFD応答状態である間に、DPP有効化指示を取得する場合(T826)に、1chが利用されたAReqに対して応答可能であり、かつ、1chが利用されたPReqに対して応答可能である状態に移行する(T828及びT830)。これにより、プリンタ300は、同じチャネルでAReq及びPReqを待ち受けることができる。このために、プリンタ300は、AReq及びPReqを迅速に受信することができる。このように、本実施例によると、プリンタ300は、適切なチャネルで信号を待ち受ける状態に移行することができる。
(ケースD;図13)
続いて、図13を参照して、プリンタ300が、G/O状態であるWFD応答状態であり、かつ、他の装置とのWFD接続が確立されている状況で、DPP応答状態に移行するケースDを説明する。
T920~T924の処理は、図12のT820~T824と同様である(図11のS200及びS202)。また、T930~T942の処理は、図12のT860~T882と同様である。ただし、プリンタ300は、6chが利用されるWFD応答状態であるので、T942において、6chが利用されるPReqに対してPResを送信する。T960~T970は、図7のT550~T570と同様である。本ケースでは、プリンタ300は、G/O状態になることを決定した後に、1~13chの中から、プリンタ300がG/O状態である間に利用すべき1個のチャネルを新たなListenチャネルとして選択する。具体的には、プリンタ300は、1~13chのそれぞれが利用されたPReqをブロードキャストによって順次送信し、各チャネルのPResの個数をカウントする。そして、プリンタ300は、1~13chの中から、カウントされたPResの個数が最も少ないチャネル、即ち、プリンタ300の周囲で現在最も利用されていないチャネルを選択する。図13のケースでは、プリンタ300は、新たなListenチャネルとして7chを選択する。この状態では、プリンタ300は、7chが利用されたPReqに対して応答可能である。
T980及びT982の処理は、図12のT826及びT828と同様である(S230でYES、S232、S234)。この場合、プリンタ300は、Listenチャネル(即ち7ch)とDPPチャネル(即ち1ch)とが異なると判断し(S238でNO)、かつ、第2端末200とのWFD接続が確立されていると判断し(S240でYES)、Listenチャネルを7chに維持する。即ち、T982では、プリンタ300は、1chが利用されるDPP応答状態と、7chが利用されるWFD応答状態と、に移行する。この場合、プリンタ300は、1chを利用してAReqを待ち受ける処理と、7chを利用してPReqを待ち受ける処理と、を交互に繰り返し実行する。
その後、プリンタ300と第1端末100との間でDPP方式のBS、Auth、及び、Configが実行されると、T990において、プリンタ300とAP10との間にDPP接続が確立される。これらの処理は、図9のT635~T650と同様である。
上記のケースDに示されるように、プリンタ300は、WFD応答状態で利用される7chと、DPP応答状態で利用される1chと、が異なり、かつ、第2端末200とのWFD接続が確立されている場合には、Listenチャネルを7chに維持する。仮に、Listenチャネルを7chから1chに変更すると、第2端末200とのWFD接続が切断されてしまうからである。本実施例によると、プリンタ300は、第2端末200とのWFD接続が切断されるのを抑制することができる。
(ケースE;図14)
続いて、図14を参照して、プリンタ300が、G/O状態であるWFD応答状態であり、かつ、他の装置とのWFD接続が確立されていない状況で、DPP応答状態に移行するケースEを説明する。
T1020~T1070の処理は、図13のT920~T970と同様である。その後、T1072において、プリンタ300と第2端末200との間のWFD接続が切断される。例えば、第2端末200がプリンタ300から離れた場所に移動する場合に、WFD接続が切断される。プリンタ300は、第2端末200とのWFD接続が切断されても、所定時間が経過するまでG/O状態を維持する。第2端末200が、プリンタ300の近くに戻ってきて、プリンタ300とのWFD接続を再確立する可能性があるからである。
T1080及びT1082の処理は、図13のT980及びT982と同様である。この場合、プリンタ300は、Listenチャネル(即ち7ch)とDPPチャネル(即ち1ch)とが異なると判断し(S238でNO)、かつ、他の装置とのWFD接続が確立されていないので(S240でNO)、T1084において、Listenチャネルを7chから1chに変更する(S242)。
その後、プリンタ300と第1端末100との間でDPP方式のBS、Auth、及び、Configが実行されると、T1090において、プリンタ300とAP10との間にDPP接続が確立される。これらの処理は、図9のT635~T650と同様である。
上記のケースEに示されるように、プリンタ300は、WFD応答状態で利用される7chと、DPP応答状態で利用される1chと、が異なり、かつ、他の装置とのWFD接続が確立されていない場合には、Listenチャネルを7chから1chに変更する。これにより、プリンタ300は、同じチャネルでAReq及びPReqを待ち受けることができる。このために、プリンタ300は、AReq及びPReqを迅速に受信することができる。
(対応関係)
図11のS200で選択される6chチャネル、又は、図14のT1062で決定される7chが、「第1のチャネル」の一例である。また、DPPチャネル(即ち1ch)が、「第2のチャネル」の一例である。プリンタ300の電源OFF状態(即ちDPP非応答状態かつWFD非応答状態)が、「第1の状態」の一例である。DPP非応答状態かつWFD応答状態(図12のT824の状態、図13のT964の状態、又は、図14のT1064の状態)が、「第2の状態」の一例である。同じチャネルが利用されるDPP応答状態かつWFD応答状態(図12のT830の状態、又は、図14のT1084の状態)が、「第3の状態」の一例である。DPP有効化指示、電源ON指示が、それぞれ、「第1の指示」、「第2の指示」の一例である。
図11のS200の処理、S202の処理、S232の処理、S234の処理が、それぞれ、「選択部」、「第1の移行部」、「出力制御部」、「第2の移行部」によって実行される処理の一例である。図12のT850の処理、T890の処理が、それぞれ、「第1の確立部」、「第2の確立部」によって実行される処理の一例である。
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
(変形例1)プリンタ300は、図8のS100において、QRコードを表示する代わりに、QRコードの印刷を印刷実行部308に実行させてもよい。本変形例では、印刷実行部308が「出力部」の一例であり、QRコードの印刷を印刷実行部308に実行させる処理が「出力制御処理」の一例である。
(変形例2)プリンタ300及び第1端末100のそれぞれは、Wi-Fi方式とは異なる無線方式(例えば、BT(Blue Tooth(登録商標)の略)方式、NFC(Near Field Communicationの略)方式等)に従った無線インターフェース(例えば、BTI/F、NFCI/F等)をさらに備えていてもよい。この場合、図8のS100において、プリンタ300は、例えば、公開鍵PPK1とチャネル情報とMACアドレスとを含むDPP情報の送信をプリンタ300のBTI/Fに指示してもよい。この場合、第1端末100は、第1端末100のBTI/Fを介して、DPP情報を受信することができる。本変形例では、BTI/Fが「出力部」の一例であり、DPP情報の送信をBTI/Fに指示することが「出力制御処理」の一例である。また、別の変形例では、図8のS100において、プリンタ300は、DPP情報をプリンタ300のNFCI/Fに記憶させてもよい。この場合、第1端末100は、第1端末100のNFCI/Fを介して、DPP情報を受信することができる。本変形例では、NFCI/Fが「出力部」の一例であり、DPP情報をNFCI/Fに記憶させることが「出力制御処理」の一例である。
(変形例3)図8の処理のトリガは、電源ON指示の取得でなくてもよく、DPP有効化指示の取得でもよい。本変形例では、DPP有効化指示が、「第1の指示」の一例である。また、別の変形例では、図11の処理のトリガは、電源ON指示の取得でなくてもよく、WFD有効化指示の取得でもよい。本変形例では、WFD有効化指示が、「第2の指示」の一例である。
(変形例4)上記の各実施例では、DPPチャネルが1chに固定されている。これに代えて、プリンタ300は、ソーシャルチャネル(即ち1ch、6ch、11ch)の中から1個のチャネルをランダムに選択することによって、DPPチャネルを決定してもよい。一般的に言うと、「対象チャネル」及び「第2のチャネル」は、複数のチャネルの中から予め決められていなくてもよい。
(変形例5)上記の各実施例では、図8のS136又は図11のS200において、プリンタ300の周囲で現在最も利用されていない1個のチャネルが選択される。これに代えて、プリンタ300は、図8のS136又は図11のS200において、ソーシャルチャネル(即ち1ch、6ch、11ch)の中から1個のチャネルをランダムに選択してもよい。一般的に言うと、「選択部」は、2個以上のチャネルの中から1個のチャネルを選択すればよい。
(変形例6)図8のS136又は図11のS200を省略し、図8のS138又は図11のS202において、プリンタ300は、予め決められているチャネル(例えば6ch)のみが利用されるWFD応答状態に移行してもよい。本変形例では、「選択部」を省略可能である。
(変形例7)プリンタ300は、WFD方式のG/Oネゴシエーションを実行しなくてもよく、例えば図9のT624でWFD有効化指示を取得する場合に、自発的にG/O状態に移行してもよい。この場合も、プリンタ300は、1chのみが利用されるWFD応答状態に移行すればよい。
(変形例8)プリンタ300は、WFD方式をサポートしていなくてもよく、いわゆるSoftAP方式をサポートしていてもよい。即ち、プリンタ300は、例えば図9のT624でSoftAPの有効化指示を取得する場合に、SoftAPとして動作すればよい。この場合も、プリンタ300は、1chのみが利用されるSoftAPの応答状態(即ち1chのみが利用されたPReqに対して応答可能である状態)に移行すればよい。本変形例では、SoftAP方式が、「第1の方式」の一例である。なお、WFD方式のG/O状態と、SoftAP方式のSoftAPとして動作する状態と、をあわせて、「親局状態」と表現することができる。
(変形例9)プリンタ300は、DPP方式をサポートしていなくてもよく、公開鍵、認証要求、及び、認証応答を利用して、Wi-Fi接続を確立するための他の方式をサポートしていてもよい。一般的に言うと、「第1の方式」は、DPP方式に限られない。
(変形例10)上記の各実施例では、第1端末100を利用して、プリンタ300とAP10との間のDPP接続が確立される。これに代えて、第1端末100を利用して、プリンタ300と第1端末100との間のDPP接続が確立されてもよい。即ち、T40のNAがプリンタ300と第1端末100との間で実行されてもよい。一般的に言うと、「第1の外部装置」は、上記の各実施例のように、「端末装置(例えば第1端末100)」とは異なるデバイス(例えばAP10)であってもよいし、本変形例のように、「端末装置」と同じデバイスであってもよい。
(変形例11)「通信装置」は、プリンタ300でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
(変形例12)上記の実施例では、図2~図14の各処理がソフトウェア(例えばプログラム326)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、10:AP、100:第1端末、106、206、306:Wi-FiI/F、110:カメラ、200:第2端末、300:プリンタ、302:操作部、304:表示部、308:印刷実行部、320:制御部、322:CPU、324:メモリ、326:プログラム

Claims (18)

  1. 通信装置であって、
    Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
    出力部と、
    前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、
    前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、を備え、
    前記第1の処理実行部は、
    前記通信装置の状態が第1の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記出力情報は、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである対象チャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、
    前記通信装置の状態が前記第1の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第2の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記検索信号に対して応答しない状態である、前記第1の移行部と、を備え、
    前記第2の処理実行部は、
    前記通信装置の状態が前記第2の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部を備える、通信装置。
  2. 前記対象チャネルは、前記複数のチャネルの中から予め決められている1個のチャネルである、請求項1に記載の通信装置。
  3. 前記第1の処理実行部は、さらに、
    前記通信装置の状態が前記第1の状態である間に、前記第2の指示が取得される場合に、前記複数のチャネルのうち、前記対象チャネルを含む2個以上のチャネルの中から1個のチャネルを選択する選択部と、
    前記通信装置の状態が前記第1の状態である間に、前記第2の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第4の状態に移行させる第3の移行部であって、前記第4の状態は、前記認証要求に対して応答せず、かつ、前記複数のチャネルのうちの選択済みの前記1個のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第3の移行部と、を備える、請求項1又は2に記載の通信装置。
  4. 前記選択部は、前記2個以上のチャネルの中から、前記通信装置の周囲で現在最も利用されていない前記1個のチャネルを選択する、請求項3に記載の通信装置。
  5. 前記第1の指示は、前記通信装置の電源がOFFである状態で前記通信装置の電源ボタンが操作されることによって取得され、
    前記第2の指示は、前記通信装置の電源がONされた後に、前記通信装置の前記電源ボタンとは異なる所定ボタンが操作されることによって取得される、請求項1から4のいずれか一項に記載の通信装置。
  6. 前記第1の処理実行部は、さらに、
    前記出力情報が外部に出力されることに応じて、前記チャネル情報と前記公開鍵とが端末装置によって取得された後に、前記通信装置の状態が前記第2の状態又は前記第3の状態である間に、前記端末装置から、前記無線インターフェースを介して、前記対象チャネルと前記公開鍵とが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
    前記認証応答が送信される場合に、前記通信装置と第1の外部装置との間に前記無線インターフェースを介した第1の無線接続を確立する第1の確立部と、を備え、
    前記第2の処理実行部は、さらに、
    前記無線インターフェースの状態が前記第3の状態である間に、第2の外部装置から、前記無線インターフェースを介して、前記対象チャネルが利用された前記検索信号が受信される場合に、前記無線インターフェースを介して、検索応答を前記第2の外部装置に送信する検索応答送信部と、
    前記検索応答が送信される場合に、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した第2の無線接続を確立する第2の確立部と、を備える、請求項1から5のいずれか一項に記載の通信装置。
  7. 通信装置であって、
    Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
    出力部と、
    前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、
    前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、を備え、
    前記第2の処理実行部は、
    前記通信装置の状態が第1の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記第2の状態は、前記認証要求に対して応答せず、かつ、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである第1のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第1の移行部を備え、
    前記第1の処理実行部は、
    前記通信装置の状態が前記第2の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記出力情報は、前記複数のチャネルのうちの前記第1のチャネルとは異なる第2のチャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、
    前記通信装置の状態が前記第2の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部と、を備える、通信装置。
  8. 前記第2の処理実行部は、さらに、
    前記通信装置の状態が前記第1の状態である間に、前記第2の指示が取得される場合に、前記複数のチャネルに含まれる2個以上のチャネルの中から1個のチャネルを選択することによって、前記第1のチャネルを選択する選択部を備え、
    前記第2の状態は、前記認証要求に対して応答せず、かつ、選択済みの前記第1のチャネルのみが利用された前記検索信号に対して応答可能である状態である、請求項7に記載の通信装置。
  9. 前記選択部は、前記2個以上のチャネルの中から、前記通信装置の周囲で現在最も利用されていない前記1個のチャネルを選択することによって、前記第1のチャネルを選択する、請求項8に記載の通信装置。
  10. 前記第2のチャネルは、前記複数のチャネルの中から予め決められている1個のチャネルである、請求項7から9のいずれか一項に記載の通信装置。
  11. 前記第2の指示は、前記通信装置の電源がOFFである状態で前記通信装置の電源ボタンが操作されることによって取得され、
    前記第1の指示は、前記通信装置の電源がONされた後に、前記通信装置の前記電源ボタンとは異なる所定ボタンが操作されることによって取得される、請求項7から10のいずれか一項に記載の通信装置。
  12. 前記第2の移行部は、
    前記通信装置の状態が前記第2の状態である間に、前記第1の指示が取得され、かつ、前記通信装置と他の装置との間に前記第2の方式に従った無線接続が確立されていない場合に、前記通信装置の状態を前記第2の状態から前記第3の状態に移行させ、
    前記通信装置の状態が前記第2の状態である間に、前記第1の指示が取得され、かつ、前記通信装置と他の装置との間に前記第2の方式に従った無線接続が確立されている場合に、前記通信装置の状態を前記第2の状態に維持する、請求項7から11のいずれか一項に記載の通信装置。
  13. 前記第1の処理実行部は、さらに、
    前記出力情報が外部に出力されることに応じて、前記チャネル情報と前記公開鍵とが端末装置によって取得され、かつ、前記通信装置の状態が前記第3の状態である間に、前記端末装置から、前記無線インターフェースを介して、前記第2のチャネルと前記公開鍵とが利用された前記認証要求が受信される場合に、前記無線インターフェースを介して、認証応答を前記端末装置に送信する認証応答送信部と、
    前記認証応答が送信される場合に、前記通信装置と第1の外部装置との間に前記無線インターフェースを介した第1の無線接続を確立する第1の確立部と、を備え、
    前記第2の処理実行部は、さらに、
    前記通信装置の状態が前記第2の状態である間に、第2の外部装置から、前記無線インターフェースを介して、前記第1のチャネルが利用された前記検索信号が受信される場合、又は、前記通信装置の状態が前記第3の状態である間に、前記第2の外部装置から、前記無線インターフェースを介して、前記第2のチャネルが利用された前記検索信号が受信される場合に、前記無線インターフェースを介して、検索応答を前記第2の外部装置に送信する検索応答送信部と、
    前記検索応答が送信される場合に、前記通信装置と前記第2の外部装置との間に前記無線インターフェースを介した第2の無線接続を確立する第2の確立部と、を備える、請求項7から12のいずれか一項に記載の通信装置。
  14. 前記第1の方式は、Device Provisioning Protocol方式である、請求項1から13のいずれか一項に記載の通信装置。
  15. 前記第2の方式は、Wi-Fi Direct方式である、請求項1から14のいずれか一項に記載の通信装置。
  16. 前記出力部は、表示部であり、
    前記出力情報は、前記チャネル情報と前記公開鍵とがコード化されることによって得られるコード画像であり、
    前記出力制御処理は、前記コード画像である前記出力情報を前記表示部である前記出力部に表示させるための処理である、請求項1から15のいずれか一項に記載の通信装置。
  17. 通信装置のためのコンピュータプログラムであって、
    前記通信装置は、
    Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
    出力部と、
    コンピュータと、を備え、
    前記コンピュータプログラムは、前記コンピュータを、
    前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、
    前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、として機能させ、
    前記第1の処理実行部は、
    前記通信装置の状態が第1の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記出力情報は、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである対象チャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、
    前記通信装置の状態が前記第1の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第2の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記検索信号に対して応答しない状態である、前記第1の移行部と、を備え、
    前記第2の処理実行部は、
    前記通信装置の状態が前記第2の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記対象チャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部を備える、コンピュータプログラム。
  18. 通信装置のためのコンピュータプログラムであって、
    前記通信装置は、
    Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
    出力部と、
    コンピュータと、を備え、
    前記コンピュータプログラムは、前記コンピュータを、
    前記Wi-Fi規格の第1の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第1の処理実行部と、
    前記Wi-Fi規格の第2の方式であって、前記第1の方式とは異なる前記第2の方式に従って、前記通信装置と他の装置との間に前記無線インターフェースを介した無線接続を確立するための処理を実行する第2の処理実行部と、として機能させ、
    前記第2の処理実行部は、
    前記通信装置の状態が第1の状態である間に、前記第2の方式に従った通信を有効化するための第2の指示が取得される場合に、前記通信装置の状態を前記第1の状態から第2の状態に移行させる第1の移行部であって、前記第1の状態は、前記第1の方式に従った認証要求に対して応答せず、かつ、前記第2の方式に従った検索信号に対して応答しない状態であり、前記第2の状態は、前記認証要求に対して応答せず、かつ、前記無線インターフェースが利用可能な複数のチャネルのうちの1個のチャネルである第1のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第1の移行部を備え、
    前記第1の処理実行部は、
    前記通信装置の状態が前記第2の状態である間に、前記第1の方式に従った通信を有効化するための第1の指示が取得される場合に、前記出力部が前記第1の方式に従った出力情報を外部に出力するための出力制御処理を実行する出力制御部であって、前記出力情報は、前記複数のチャネルのうちの前記第1のチャネルとは異なる第2のチャネルを示すチャネル情報と、前記通信装置の公開鍵と、を用いて得られる情報である、前記出力制御部と、
    前記通信装置の状態が前記第2の状態である間に、前記第1の指示が取得される場合に、前記通信装置の状態を前記第2の状態から第3の状態に移行させる第2の移行部であって、前記第3の状態は、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記認証要求に対して応答可能であり、かつ、前記複数のチャネルのうちの前記第2のチャネルのみが利用された前記検索信号に対して応答可能である状態である、前記第2の移行部と、を備える、コンピュータプログラム。
JP2019125432A 2019-07-04 2019-07-04 通信装置と通信装置のためのコンピュータプログラム Active JP7283275B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019125432A JP7283275B2 (ja) 2019-07-04 2019-07-04 通信装置と通信装置のためのコンピュータプログラム
US16/919,702 US11357065B2 (en) 2019-07-04 2020-07-02 Communication device capable of executing process for establishing wireless connection according to first scheme or second scheme of Wi-Fi standard and non-transitory computer-readable recording medium storing computer readable instructions for communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019125432A JP7283275B2 (ja) 2019-07-04 2019-07-04 通信装置と通信装置のためのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2021013073A JP2021013073A (ja) 2021-02-04
JP7283275B2 true JP7283275B2 (ja) 2023-05-30

Family

ID=74066540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019125432A Active JP7283275B2 (ja) 2019-07-04 2019-07-04 通信装置と通信装置のためのコンピュータプログラム

Country Status (2)

Country Link
US (1) US11357065B2 (ja)
JP (1) JP7283275B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022170325A (ja) * 2021-04-28 2022-11-10 ブラザー工業株式会社 端末装置のためのコンピュータプログラム、端末装置、及び、通信装置
CN117134848A (zh) * 2023-01-20 2023-11-28 荣耀终端有限公司 通道建立方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037978A (ja) 2016-09-02 2018-03-08 キヤノン株式会社 通信装置、通信方法、及びプログラム
US20180184296A1 (en) 2016-12-28 2018-06-28 Intel IP Corporation Secure ad hoc network access
JP2019036793A (ja) 2017-08-10 2019-03-07 キヤノン株式会社 印刷装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974779B2 (ja) * 2012-09-27 2016-08-23 ブラザー工業株式会社 無線通信システム、無線通信装置、および、通信制御プログラム
JP5962389B2 (ja) * 2012-09-27 2016-08-03 ブラザー工業株式会社 無線通信システム、無線通信装置、および、通信制御プログラム
JP6690321B2 (ja) * 2016-03-11 2020-04-28 ブラザー工業株式会社 通信機器と、通信機器のためのコンピュータプログラム
JP6702833B2 (ja) * 2016-09-15 2020-06-03 キヤノン株式会社 通信装置、通信装置の制御及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037978A (ja) 2016-09-02 2018-03-08 キヤノン株式会社 通信装置、通信方法、及びプログラム
US20180184296A1 (en) 2016-12-28 2018-06-28 Intel IP Corporation Secure ad hoc network access
JP2019036793A (ja) 2017-08-10 2019-03-07 キヤノン株式会社 印刷装置

Also Published As

Publication number Publication date
US11357065B2 (en) 2022-06-07
US20210007164A1 (en) 2021-01-07
JP2021013073A (ja) 2021-02-04

Similar Documents

Publication Publication Date Title
JP7405286B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置
JP7024559B2 (ja) 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム
JP7338329B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7052496B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7476948B2 (ja) 通信装置、通信装置のためのコンピュータプログラム、及び、第1の外部装置のためのコンピュータプログラム
JP2019180042A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7359273B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2019180039A (ja) プリンタとプリンタのためのコンピュータプログラム
JP7414100B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2023099173A (ja) 端末装置のためのコンピュータプログラム、及び、通信装置
JP2019180038A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2023168594A (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7338372B2 (ja) 通信装置、及び、通信装置のためのコンピュータプログラム
JP2023118902A (ja) 第1の通信装置と第1の通信装置のためのコンピュータプログラム
JP7283275B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2021036650A (ja) 通信システムと端末のための接続アプリケーションと通信装置
JP7196533B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7293950B2 (ja) 端末装置と端末装置のためのコンピュータプログラム
JP7419728B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7315066B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP7294489B2 (ja) 通信装置と通信装置のためのコンピュータプログラム
JP2022063296A (ja) 端末装置のためのコンピュータプログラム、端末装置、通信装置、及び、通信装置のためのコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230501

R150 Certificate of patent or registration of utility model

Ref document number: 7283275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150