JP2023165326A - 通信装置、プログラム及びシステム - Google Patents

通信装置、プログラム及びシステム Download PDF

Info

Publication number
JP2023165326A
JP2023165326A JP2022076223A JP2022076223A JP2023165326A JP 2023165326 A JP2023165326 A JP 2023165326A JP 2022076223 A JP2022076223 A JP 2022076223A JP 2022076223 A JP2022076223 A JP 2022076223A JP 2023165326 A JP2023165326 A JP 2023165326A
Authority
JP
Japan
Prior art keywords
communication device
information processing
connection
wireless connection
information
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.)
Pending
Application number
JP2022076223A
Other languages
English (en)
Inventor
充 紺地
Mitsuru Konchi
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022076223A priority Critical patent/JP2023165326A/ja
Priority to US18/305,493 priority patent/US20230354449A1/en
Publication of JP2023165326A publication Critical patent/JP2023165326A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】通信装置と他の装置との無線接続をより確実に確立する通信装置、プログラム及びシステムを提供する。【解決手段】通信システムにおいて、通信装置は、情報処理装置と接続し、情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を情報処理装置に提供する。第1の接続手段は、情報処理装置及び通信装置と異なる外部アクセスポイントと第1の無線接続を確立する。第2の接続手段は、情報処理装置と外部アクセスポイントを介さない第2の無線接続を確立する。第1の接続手段は、第1の情報を取得した情報処理装置との所定のプロトコルによる通信により第2の情報を受け付け、受け付けた第2の情報を用いて第1の無線接続を確立し、第2の接続手段は、第1の接続手段が第1の無線接続を確立できなかった場合に、第2の無線接続を確立する。【選択図】図2

Description

本発明は、通信装置、プログラム及びシステムに関する。
PC(パーソナルコンピュータ)やスマートフォン等の情報処理装置を利用して、プリンタ等の通信装置と外部装置とを接続させる技術が知られている。例えば、特許文献1に記載の端末装置は、端末装置が通信装置とは異なるアクセスポイントとの無線接続を確立中であるのか否かを判断し、端末装置がアクセスポイントとの無線接続を確立中であると判断される場合に、接続情報であるConfiguration Objectを通信装置に送信する。また、端末装置は、端末装置がアクセスポイントとの無線接続を確立中でないと判断される場合に、WFD接続処理を実行し、WFD端末装置と通信装置との間にアクセスポイントを介さない無線接続を確立する。
特開2021―27378号公報
上記従来技術では、端末装置とアクセスポイントとの無線接続を確立中であると判断される場合に、端末装置と通信装置の間のDPP(Device Provisioning Protocol)による通信を利用して、通信装置とアクセスポイントとの無線接続を確立する。しかしながら、当該DPPによる通信を利用した、通信装置とアクセスポイントとの無線接続の確立に失敗した場合の処理については開示されていない。したがって、より確実に通信装置と他の装置との接続を確立するためには改善の余地がある。
本発明は、通信装置と他の装置との無線接続をより確実に確立する技術を提供する。
本発明の一側面によれば、
情報処理装置と接続可能な通信装置であって、
前記情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記情報処理装置に提供する提供手段と、
前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと第1の無線接続を確立する第1の接続手段と、
前記情報処理装置と前記外部アクセスポイントを介さない第2の無線接続を確立する第2の接続手段と、を備え、
前記第1の接続手段は、前記第1の情報を取得した前記情報処理装置との前記所定のプロトコルによる通信により前記第2の情報を受け付け、受け付けた前記第2の情報を用いて前記第1の無線接続を確立し、
前記第2の接続手段は、前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第2の無線接続を確立する、
ことを特徴とする通信装置が提供される。
本発明によれば、通信装置と他の装置との無線接続をより確実に確立することができる。
情報処理装置と通信装置とアクセスポイントの構成を示す図。 通信装置と情報処理装置とによって実行される処理を示すシーケンス図。 設定アプリが表示するコード撮影用の画面の一例。 情報処理装置の表示部に表示されるWEC開始画面の一例。 通信装置の表示部に表示される確認画面の一例。 通信装置の処理例を示すフローチャート。 通信装置の処理例を示すフローチャート。 通信装置の処理例を示すフローチャート。 報処理装置の処理例を示すフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<第1実施形態>
まず、本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されない。例えば情報処理装置として、携帯端末、PC(パーソナルコンピュータ)、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。
また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
本実施形態では、情報処理装置及び通信装置は、例えばWi-Fi(登録商標)(WirelessFidelity)等の規格に基づく無線通信を実行可能である。Wi-Fi(登録商標)は、IEEE802.11シリーズに準拠する通信規格である。
また、本実施形態では、情報処理装置は、Wi-Fi Easy Connect(以下、WEC)と呼ばれる機能に対応しているものとする。WECとは、Wi-Fi Allianceで策定されたDevice Provisioning Protocol(以下、DPP)を用いて、他の装置のネットワークセットアップを実行する機能である。なお他の装置のネットワークセットアップとは具体的には、他の装置とネットワークを形成するアクセスポイントと接続させる処理である。
WECにおいては、「Configurator」という役割で動作する装置(以下、Configurator装置)と、「Enrollee」という役割で動作する装置(以下、Enrollee装置)との間で通信が行われる。Configurator装置はEnrollee装置からBootstrapping情報を取得する。Bootstrapping情報には、例えばEnrollee装置の識別情報(MACアドレス等)や、Enrollee装置とセキュアな通信を行うために用いられる公開鍵情報などが含まれる。
本実施形態では、Bootstrapping情報を「WEC関連情報」として説明する。なお、他の情報もWEC関連情報として扱われて良い。そしてConfigurator装置は、取得したBootstrapping情報を用いてEnrollee装置との無線通信を実行する。具体的には例えば、Configurator装置は、Bootstrapping情報に含まれる公開鍵を用いてプロトコルキーを暗号化し、暗号化したプロトコルキーをEnrollee装置に送信する。そしてその暗号化したプロトコルキーに基づいて共通鍵を暗号化し、その共通鍵を用いて暗号化した情報を、Enrollee装置に送信する。なおここで送信される情報は具体的には例えば、アクセスポイントに接続するための接続情報である。そしてEnrollee装置は、Configurator装置から受信した接続情報を使ってアクセスポイントとの無線接続を確立する。
なお、本実施形態におけるWECによるネットワークセットアップにおいては、WECに対応している情報処理装置は、Configurator装置として動作し、WECに対応している通信装置は、Enrollee装置として動作するものとして説明する。
<システム構成>
まず、本実施形態の情報処理装置101および情報処理装置101と通信可能な通信装置131を含むシステム1の構成について図1のブロック図を参照して説明する。また、以下では図1に示す構成を例に説明するが、特にこの図のとおりに機能を限定するものではない。
(情報処理装置)
情報処理装置101は、入力インタフェース102、CPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース107、108、通信部110、近距離無線通信部111等を有する。CPU103、ROM104、RAM105等によって、情報処理装置101のコンピュータが形成される。
入力インタフェース102は、キーボード109等の操作部が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部は、物理キーボードや物理ボタン等であっても良いし、表示部108に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース102は、表示部108を介してユーザからの入力を受け付けても良い。
CPU103は、システム制御部であり、情報処理装置101の全体を制御する。
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM105は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置101の設定情報や情報処理装置101の管理データ等を格納するメモリエリアもRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
外部記憶装置106は、通信装置151のネットワークセットアップを実行するためのアプリケーションプログラム(以後、設定アプリ)、通信装置151が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。本実施形態において設定アプリは、通信装置151の接続先のアクセスポイントの設定をWEC等で行うためのアプリケーションプログラムである。なお、設定アプリは、ネットワークセットアップ機能以外の他の機能を備えていても良い。例えば設定アプリは、通信装置151に印刷を実行させる機能や、通信装置151にセットされた原稿をスキャンさせる機能、通信装置151の状態を確認する機能等を備えていても良い。設定アプリは、例えば、通信部110を介したインターネット通信によって、外部のサーバからインストールされることにより、外部記憶装置106に格納される。また、外部記憶装置106は、通信部110を介して接続している通信装置151との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
出力インタフェース107は、表示部108がデータの表示や情報処理装置101の状態の通知を行うための制御を行うインタフェースである。
表示部108は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置101の状態の通知を行う。
通信部110は、通信装置151やアクセスポイント131等の装置と接続して、データ通信を実行するための構成である。例えば、通信部110は、通信装置151内のアクセスポイント(不図示)に接続可能である。通信部110と通信装置151内のアクセスポイントが接続することで、情報処理装置101と通信装置151は相互に通信可能となる。なお、通信部110は無線通信で通信装置151とダイレクトに通信しても良いし、情報処理装置101や通信装置151の外部に存在する外部装置を介して通信しても良い。なお、外部装置とは、情報処理装置101の外部及び通信装置151の外部に存在する外部アクセスポイント(アクセスポイント131等)や、アクセスポイント以外で通信を中継可能な装置を含む。本実施形態では、通信部110が用いる無線通信方式は、Wi-Fi(登録商標)の規格に基づくものであるとする。そして、前述したWECを、通信部110による通信により実行するものとする。また、アクセスポイント131としては、例えば、無線LANルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置101と通信装置151とが外部アクセスポイントを介さずにダイレクトに接続する接続方法をダイレクト接続という。また、情報処理装置101と通信装置151とが外部アクセスポイントを介して接続する接続方法をインフラ接続という。
近距離無線通信部111は、通信装置151等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部110とは異なる通信方式によって通信を行う。近距離無線通信部111は、例えば、通信装置151内の近距離無線通信部157と接続可能である。通信方式としては、例えば、Near Field Communication(NFC)、Bluetooth(登録商標) Classic、Bluetooth Low Energy(BLE)、Wi-Fi Aware等が挙げられる。
本実施形態では、情報処理装置101は、設定アプリによるWEC実行指示に基づいて情報処理装置101のOSによりWECを実行する。
(通信装置)
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157等を有する。CPU154、ROM152、RAM153等によって、通信装置151のコンピュータが形成される。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
プリントエンジン155は、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成し、印刷結果を出力する。なお一般に、情報処理装置101等から送信される印刷ジョブのデータ量は大きいため、印刷ジョブの通信には、高速通信が可能な通信方式を用いることが求められる。そのため、通信装置151は、近距離無線通信部157よりも高速な通信が可能な通信部156を介して、印刷ジョブを受信する。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部110に接続可能である。通信部156が、該アクセスポイントを有効化することで、通信装置151がアクセスポイントとして動作することになる。なお、通信部156は情報処理装置101とダイレクトに無線接続しても良いし、アクセスポイント131を介して無線接続しても良い。本実施形態では、通信部156が用いる無線通信方式は、IEEE802.11シリーズに準拠する通信規格であるものとする。また以下の説明において、Wi-Fi(登録商標)(WirelessFidelity)とは、IEEE802.11シリーズに準拠する通信規格である。また、通信装置151がWECに対応しているのであれば、前述したWECを、通信部156による通信により実行するものとする。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
本実施形態の通信装置151は、通信部156を用いて通信を行うためのモードとして、インフラストラクチャモード及び(Peer to Peer)モードで動作可能である。
インフラストラクチャモードは、通信装置151が、ネットワークを形成する外部装置(例えば、アクセスポイント131)を介して、情報処理装置101等の他の装置と通信するモードである。すなわち、インフラストラクチャモードは、通信装置151が情報処理装置101との間で外部アクセスポイント(アクセスポイント131)を介したインフラ接続を確立するモードである。本実施形態では、インフラ接続において、通信装置151が子局として動作し、外部アクセスポイントが親局として動作する。なお本実施形態において親局とは、親局が属するネットワークにおいて使用される通信チャネルを決定する装置であり、子局とは、子局が属するネットワークにおいて使用される通信チャネルを決定せず、親局が決定した通信チャネルを用いる装置である。
P2Pモードは、通信装置151が、ネットワークを形成する外部装置を介さず、情報処理装置101等の他の装置と直接的に通信するモードである。すなわち、P2Pモードは、通信装置151が情報処理装置101との間で外部アクセスポイント(アクセスポイント131)を介さないダイレクト接続を確立するモードである。本実施形態では、P2Pモードにおいては、例えば、通信装置151がWi-Fi DIRECT(登録商標)(以下、WFD)によって他の装置と通信しても良い。なお、複数のWFD対応機器のうちいずれが親局として動作するかは、例えば、Group Owner Negotiationというシーケンスに従って決定される。なお、Group Owner Negotiationが実行されずに、親局が決定されても良い。WFD対応機器であり且つ親局の役割を果たす装置を特に、Group Ownerという。また、P2Pモードの他の例としては、通信装置151がアクセスポイントとして動作して、通常のWi-Fi規格によって通信するAPモードやアドホックモード等が挙げられる。APモード時に通信装置151内で有効化されるアクセスポイントの接続情報(SSIDやパスワード)は、ユーザが任意に設定可能であり得る。本実施形態では、ダイレクト接続において、通信装置151が親局として動作し、他の装置が子局として動作する。
本実施形態では、通信装置151は、ネットワークのセットアップを行うネットワークセットアップモードでも動作可能である。ネットワークセットアップモードは、通信装置151が他の装置との間でインフラ接続又はダイレクト接続を確立するためのモードである。例えば、通信装置151は、ネットワークセットアップモードにおいて通信装置151が他の装置との間でインフラ接続又はダイレクト接続を確立すると、インフラストラクチャモード又はP2Pにおいて他の装置と通信を行うことができる。
ネットワークセットアップモードは、例えば、初期設定が完了していない状態の通信装置151に対して電源がオンされた場合や、電源がオンされている状態の通信装置151にネットワークセットアップのための所定の操作が行われた場合等に実行される。
また、詳しくは後述するが、ネットワークセットアップモードは、インフラ接続を確立するためのモードとして、WECにより通信装置151とアクセスポイント131との接続を試みるWEC実行モードを含む。また、ネットワークセットアップモードは、ダイレクト接続を確立するためのモードとして、WFDにより通信装置151と情報処理装置101の接続を試みるWFD実行モードを含む。
また、本実施形態では、通信装置151は、WEC実行モードにおいては、ネットワークセットアップを所定の通信プロトコルで実行する。本実施形態では、所定の通信プロトコルは、上述したDPPであるものとし、WECモードでは、通信装置151はDPP待ち受け状態になっているものとする。通信装置151がDPP待ち受け状態で動作している状態において、情報処理装置101からDPPによるネットワークセットアップ要求が受信された場合、後述するようにしてDPPによるネットワークセットアップを実行する。そのためDPP待ち受け状態とは言い換えれば、DPPによるネットワークセットアップ要求を待ち受けている状態である。詳細には後述する(図7等参照)。
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成であり、例えば、情報処理装置101内の近距離無線通信部111と接続可能である。通信方式としては、例えば、NFC、Bluetooth Classic、BLE、Wi-Fi Aware等が挙げられる。
<通信装置と外部装置との接続>
さて、上述のように、通信装置151と情報処理装置101との接続方式としては、インフラ接続とダイレクト接続とが挙げられる。インフラ接続の場合、通信装置151がアクセスポイント131を介して情報処理装置101等の外部装置と接続する。このとき、アクセスポイント131がインターネット通信可能な場合には、通信装置151はアクセスポイント131を介したインターネット通信も実行可能となるので、通信装置151はインターネット通信を利用した各種機能も実現可能となる。一方、ダイレクト接続の場合、アクセスポイント131を必要とすることなく通信装置151と情報処理装置101との間の接続を確立することができるものの、インフラ接続の場合のように通信装置151がインターネット通信を実行することができない。よって、インフラ接続を優先的に確立することで通信装置151の利便性をより向上することができる。また、インフラ接続の確立は、上述のようにWECにより行うことが考えられるが、インフラ接続の確立に失敗した場合であっても通信装置151と情報処理装置101との接続を確保することも必要である。
そこで、本実施形態では、情報処理装置101は、通信装置151と情報処理装置101との間でインフラ接続を確立するために、WECにより通信装置151とアクセスポイント131との間の接続の確立を試る。そして、通信装置151とアクセスポイント131との接続の確立に失敗した場合に、情報処理装置101と通信装置151との間でダイレクト接続を試みる。
<情報処理装置と通信装置のシーケンス例>
図2は、通信装置151と情報処理装置101とによって実行される処理を示すシーケンス図である。図2には、通信装置151のネットワークセットアップ処理を、情報処理装置101を用いて行う場合の処理例が示されている。より具体的には、情報処理装置101が、WECにより通信装置151とアクセスポイント131との間の接続の確立を試みて、それに失敗した場合にWFDによる通信装置151とのダイレクト接続を試みる場合の処理例が示されている。また、図2に示すシーケンスは、例えば、各装置のCPUが各装置のROMや外部記憶装置等に格納されたプログラムを各装置のRAMに読み出して実行することにより実現される。また、本シーケンスの開始時点において、情報処理装置101とアクセスポイント131との間の接続は確立しているものとする。
(WEC接続処理)
S201において、通信装置151は、WEC実行モードを開始する。詳細には後述するが、通信装置151は、WEC関連情報(Bootstrapping情報)を生成する。そして、通信装置151は、DPP待ち受け状態となり、生成したWEC関連情報を情報処理装置101に提供するためのQRコード(登録商標)等のコードを表示部に表示させる(図7等参照)。換言すれば、通信装置151は、情報処理装置101に対してWEC関連情報を提供可能な状態となる。ここで表示部に表示されるコードは、QRコード(登録商標)のような2次元コードであってもよいし、バーコード等の他のコードであってもよい。
S202において、ユーザが情報処理装置101を操作して上述の設定アプリを起動する。設定アプリは、情報処理装置101の表示部108にコード撮影用の画面を表示する。図3は、設定アプリが表示するコード撮影用の画面の一例である。コード撮影用の画面300には枠301が表示されており、さらに画面300には、情報処理装置101が備えるカメラユニットにより撮影されている画像が表示される。
S203において、ユーザは、情報処理装置101を操作して通信装置151の表示部に表示されているコードの読み取りを実行する。ユーザは、情報処理装置101のカメラユニットにより撮影されており、通信装置151が表示するコードが画面300の枠301に収まるように、情報処理装置101を操作する。枠301にコードが収まったことが検出された場合、設定アプリは、コードの解析を行い、WEC関連情報を取得する(S204)。設定アプリは、取得したWEC関連情報を例えばRAM105等に保持する。なおコード撮影用の画面300は、設定アプリでないアプリケーションプログラム(例えば撮影用アプリケーションプログラム)によって表示されても良い。WEC関連情報の取得方法は、コードの撮影による方法に限定されない。例えば、Bluetooth ClassicやBLE、NFC、Wi-Fi等の通信によってWEC関連情報を通信装置151から取得しても良い。
S205において、情報処理装置101の設定アプリは、情報処理装置101のOSに対してWEC実行指示を行う。なお、設定アプリは、WEC実行指示とともに、S204において取得したWEC関連情報もOSに提供する。
OSは、設定アプリからWEC実行指示を受け付けると、所定のプログラムを実行することで以降の処理を実現する。なお、所定のプログラムは、情報処理装置101に予めインストールされているプログラムであり、情報処理装置101のOSベンダーによって提供されるプログラムである。
S206において、OSは、表示部108にWEC開始画面を表示し、ユーザに対してWECを実行するかどうかを確認する。図4は、情報処理装置101の表示部108に表示されるWEC開始画面の一例である。WEC開始画面400には領域401、402、403が表示されている。領域401は、WECによる設定対象として設定されているアクセスポイントを変更するための領域である。なお領域401が操作される前にWECによる設定対象として設定されているアクセスポイントは、情報処理装置101が現在接続しているアクセスポイントである。情報処理装置101は、領域401が選択された場合、アクセスポイントのリストを表示し、リストからユーザによって選択されたアクセスポイントをWECによる設定対象として新たに設定する。なおアクセスポイントのリストには例えば、情報処理装置101がAPサーチにより発見したアクセスポイントや、情報処理装置101が接続したことがあるアクセスポイント等が含まれるものとする。領域402は、WECの実行をキャンセルするための領域であり、領域403は、WECの実行を指示するための領域である。
OSは、ユーザにより領域403が選択されると、すなわちユーザからのWEC実行許可を受け付けると(S207)、S208以降のDPP接続処理に進む。一方、OS情報処理装置101は、領域402が選択された場合、本シーケンス図における処理を終了するか、或いは後述するWFD接続処理に移行する。
S208において、情報処理装置101のOSの機能により、情報処理装置101と通信装置151との間で、DPP Authenticationと呼ばれる処理が実行される。DPP Authenticationにおいては、情報処理装置101と通信装置151との間で、認証情報や、情報の暗号化に利用される情報などが通信されることで、装置間の通信の認証が行われる。なおDPP Authenticationにおける通信において情報処理装置101から送信される各種情報は、S204において取得されたWEC関連情報に基づき暗号化される。DPP Authenticationにおいては、具体的にはまず情報処理装置101が、DPPによるネットワークセットアップ要求としてAuthentication Requestを通信装置151に送信する。DPP待ち受け状態である通信装置151は、Authentication Requestを待ち受け可能な状態で動作しているため、情報処理装置101から送信された当該Requestを受信する。Authentication Requestを受信した通信装置151は、受信したRequestの、自身が現在有している復号鍵による復号化を試みる。そして通信装置151は、当該復号化に成功した場合、Authentication responseを情報処理装置101に送信し、情報処理装置101との通信を認証する。
なお、情報処理装置101が、正確なWEC関連情報を取得できておらず、正確に情報を暗号化できていなかった場合は、通信装置151における復号化が失敗するため、認証は失敗し、Authentication responseが送信されない。Authentication responseが情報処理装置101によって受信されることで、DPP Authenticationが完了する。またDPP Authenticationにおいては、DPPが用いられて通信が実行される。
S209において、情報処理装置101のOSの機能により、情報処理装置101と通信装置151との間で、DPP Configurationと呼ばれる処理が実行される。DPP Configurationにおいては、情報処理装置101は、WECによる設定対象として設定されているアクセスポイントと接続するための接続情報をDPPにより通信装置151に送信する。なお接続情報には、WECによる設定対象として設定されているアクセスポイントのSSIDやパスワード、暗号化方式を示す情報等が含まれる。
このとき送信されるパスワードは、情報処理装置101とアクセスポイントとの間の接続が確立される際にOS対応のアプリが表示する画面上においてユーザによって入力された情報である。そして、情報処理装置101とアクセスポイントとの間の接続が確立された際にOSにより保持された情報である。またパスワードは、設定アプリは保持していない情報である。また、このとき送信されるパスワードは、OSが既に保持している情報であり、且つDPP ConfigurationはOSによって実行される処理であるため、設定アプリが表示する画面上において新たにユーザによって入力される必要はない。本実施形態のようにWECによって接続情報を送信することで、設定アプリが表示する画面上においてユーザからパスワードの入力を新たに受け付けることなく且つ、セキュアな通信で、パスワードを通信装置151に送信することができる。なおDPP Configurationにおいても、DPPが用いられて通信が実行される。
なお本実施形態では、DPP Authentication及びDPP Configurationにおける通信は、各装置のビーコン送信によって行われる。また本実施形態では通信装置151は、インフラ接続用のネットワークインターフェースによって、DPP Authentication及びDPP Configurationにおいて情報処理装置101から送信されるビーコンを受信する。
S210において、通信装置151は、アクセスポイント131(情報処理装置101及び通信装置151と異なる外部アクセスポイント)への接続を試行する。具体的には、WECによって取得した接続情報を用いて、当該接続情報に対応するアクセスポイント131との接続を試みる。接続が確立した場合、以後、通信装置151は、接続したアクセスポイント131が形成するネットワークを介して通信を実行可能となる。なお接続したアクセスポイントが形成するネットワークを介した通信は、DPPとは異なるプロトコル(具体的には例えば、Port9100やSNMP、通信装置151のベンダー独自のプロトコル)によって実行される。
S211において、通信装置151は、S210における接続の試行結果、すなわちWECによって取得した接続情報に対応するアクセスポイント131との接続の成否を示す情報を情報処理装置101のOSに対して通知する。なお、通信装置151は、WECによって取得した接続情報に対応するアクセスポイントとの接続が失敗した場合は、失敗した原因を示す情報を、情報処理装置101に送信しても良い。またこれらの情報送信は、DPPが用いられて実行されてよい。なおWECによって取得した接続情報に対応するアクセスポイントとの接続が失敗する原因は、WECにおける通信のエラーや、当該アクセスポイントが発見されなかったことや、通信装置151から取得されたWEC関連情報が適切な情報でなかったこと等である。また例えば、WECによる設定対象として設定されているアクセスポイントとの接続に用いられる暗号化方式が通信装置151に対応していない暗号化方式であったこと等である。また例えば、WECによる設定対象として設定されているアクセスポイントとの接続に用いられる暗号化方式がWECに対応していない暗号化方式であったこと等である。
S212において、情報処理装置101のOSは、設定アプリに対してS210における接続の試行結果、すなわちWECによって取得した接続情報に対応するアクセスポイント131との接続の成否を示す情報を通知する。
なお、S210において通信装置151とアクセスポイント131との接続が確立した場合は、情報処理装置101と通信装置151との間でアクセスポイント131を介した接続が確立された後、本シーケンスは終了する。具体的には、情報処理装置101は、WECの実行が終わったことに基づいて、設定アプリをフォアグラウンドで動作させる。そして、情報処理装置101は、自身が属するネットワーク上で、通信装置151を検索する。本処理は、通信装置151とアクセスポイント131との接続が確立したことの通知をS212でOSから受け取った設定アプリにより実現される。そして情報処理装置101は、通信装置151を発見した場合に、通信装置151にケーパビリティ情報を要求し、通信装置151はケーパビリティ情報を情報処理装置101に送信する。これにより、設定アプリ上に、通信装置151の情報を登録し、以後、設定アプリによって通信装置151との通信を実行可能とする。具体的には例えば、設定アプリによって通信装置151に印刷ジョブを送信可能とする。なおこのとき、WECによって通信装置151が接続したアクセスポイント131によって形成されるネットワークに情報処理装置101が属している場合には、当該アクセスポイント131を介して通信装置151との通信が実行可能となる。また、通信装置151が接続したアクセスポイントが、情報処理装置101が接続しているアクセスポイント131でなかった場合等、情報処理装置101と通信装置151との間の通信が実行できない場合は、ケーパビリティ情報の要求や取得は省略される。なおここでの通信は、例えば、DPPとは異なる通信プロトコル(具体的には例えば、CHMP)が利用されて実行される。その後情報処理装置101は、本シーケンス図における処理を終了する。
(WFD接続処理)
次に、WECによる通信装置151とアクセスポイント131との接続の確立にした場合、すなわち情報処理装置101と通信装置151との間でインフラ接続の確立に失敗した場合の処理について説明する。
S213において、通信装置151は、DPP待ち受け状態を終了し、WEC実行モードを終了する。
S214において、通信装置151は、WFD実行モードを開始する。具体的には、通信装置151は、後述するS216~S217の処理において情報処理装置101が通信装置151を検出可能なように、一定の時間間隔でWi-Fi規格に基づいてビーコンをブロードキャスト送信する。このビーコンには、例えば通信装置151のMACアドレス等が含まれる。
一方、S215において、情報処理装置101の設定アプリは、WFD対象機種判定を実行する。具体的には、設定アプリは、通信装置151がWFDによるダイレクト接続が可能かどうかを判定する。一例として、設定アプリは、RAM105等に保持されたWEC関連情報(Bootstrapping情報)に含まれる通信装置151のMACアドレス(識別情報)に基づいて、通信装置がWFDによるダイレクト接続が可能かどうかを判定する。例えばMACアドレスが、通信装置151の機種が特定可能な文字列として割り当てられている場合。設定アプリは、取得したMACアドレスから通信装置151の機種を特定することができる。また、設定アプリは、設定可能な装置の機種と、当該機種がWFDによるダイレクト接続を可能かどうかが紐付けられた情報を予め保持しておくことで、MACアドレスをもとに特定した機種がWFDによるダイレクト接続が可能かどうかを判定することができる。このように、設定アプリは、WEC接続処理において取得した情報に基づいて、通信装置151がWFDによるダイレクト接続が可能かどうかを判定することができる。なお、Bootstrapping情報に、通信装置151の機種情報や、WFDによるダイレクト接続の実行可否の情報そのものが含まれる態様も採用可能である。
以下、通信装置151がWFD対象機種であるものとして説明を進めるが、そうでない場合はここでシーケンスが終了する。
S216において、情報処理装置101の設定アプリは、情報処理装置101のOSに対してWFD機器の検出を指示する。S217において、OSは、検出結果として、WFD機器リストを設定アプリに提供する。具体的には、OSは、周囲の装置がWi-Fi規格に基づいてブロードキャストしているビーコンを受信することで、受信されたビーコンの送信元の装置を検出する。そして、OSは、検出した装置をWFD機器リストとしてリスト化して設定アプリに提供する。WFD機器リストには、検出された装置のMACアドレス等の情報が含まれる。なお情報処理装置101の設定アプリは、S215の判定を省略して、S214の後にS216に進み、S216において取得された情報に基づいて、WFD対象機種判定を実行しても良い。具体的には、Bootstrapping情報に含まれるMACアドレスと合致するMACアドレスが、WFD機器リストに含まれるかどうかを判定することで、WFD対象機種判定を実行しても良い。通信装置151がWFD対象機種であった場合、S218に進み、通信装置151がWFD対象機種でなかった場合、シーケンスが終了する。
S218において、設定アプリは、取得したWFD機器リストにWECを試みた通信装置151が存在するかどうかを判定する。例えば、設定アプリは、WEC接続処理において取得したWEC関連情報(Bootstrapping情報)に含まれる通信装置151のMACアドレスが、S217において取得したWFD機器リストに含まれるかどうかにより、通信装置151の存在を判定する。以下、通信装置151がWFD機器リストに含まれると判定されたものとして説明を進めるが、そうでない場合はここでシーケンスが終了する。
S219において、設定アプリが通信装置151にWFD接続要求を送信する。S220において、通信装置151がダイレクト接続(ここではWFD接続)を実行するか否かについての確認画面を表示する。図5は、通信装置151の表示部に表示される確認画面の一例である。確認画面500には領域501、502が表示されている。領域501は、情報処理装置101とのダイレクト接続を実行しない旨の指示をするための領域である。領域502は、情報処理装置101とのダイレクト接続を実行する旨の指示をするための領域である。
S221においてユーザが通信装置151の画面を介して許可すると、S222においてWFD接続処理が実行される。なお、ここでは通信装置151の画面をユーザに操作させることで、ユーザの接続意思を確認している。しかし、この意思確認は、通信装置151にPINコードを表示させ、設定アプリにおいてそのPINコードを入力させることで行ってもよい。WFD接続処理自体については公知の技術を用いることができるため、ここでの説明は省略する。
以上説明したシーケンスによれば、情報処理装置101と通信装置151との接続においてインフラ接続を優先するので、通信装置151の利便性を向上することができる。また、インフラ接続を確立できなかった場合、換言すれば通信装置151とアクセスポイント131との接続の確立に失敗した場合、情報処理装置101と通信装置151との間でダイレクト接続を確立するので、これらの間の接続を確保することができる。
また、本実施形態ではWECによりインフラ接続を確立する。このとき、通信装置151は、DPPにより情報処理装置101からアクセスポイント131に関する情報を受け付け、受け付けた情報を用いてアクセスポイント131との接続の確立を試みる。よって、通信装置151とアクセスポイント131との接続においてユーザがアクセスポイント131のSSIDやパスワード等の情報を入力する必要がなく、ユーザの手間を低減することができる。
<通信装置の処理例>
図6は、図2のシーケンスが実行される際の通信装置151の処理例を示すフローチャートである。図6に示すフローチャートは、例えば、CPU154がROM152やメモリ等に格納されたプログラムをRAM153に読み出して実行することにより実現される。
S601において、通信装置151は、WEC実行モードを開始する(図2のS201に対応)。ここで、図7は、WEC実行モード開始時の処理の内容を示すフローチャートである。図7に示すフローチャートは、例えば、CPU154がROM152やメモリ等に格納されたプログラムをRAM153に読み出して実行することにより実現される。また、図7のフローチャートは、例えば通信装置151がネットワークセットアップ処理を開始する際に実行される。
S701において、CPU154は、DPP通信の待ち受けチャネルを決定する。DPP通信の待ち受けチャネルとは、情報処理装置101から送信されるDPPによるネットワークセットアップ要求を待ち受けるチャネルのことである。また、DPP configuration処理も同じチャネルが使用される。なお、DPP通信の待ち受けチャネルにどのチャネルを使用するかは、例えば、ユーザが通信装置151の操作画面から設定してもよい。
S702において、CPU154は、上述した、情報処理装置101とセキュアな通信を行うために用いられる公開鍵情報を生成する。
S703において、CPU154は、上述したBootstrapping情報を生成する。Bootstrapping情報には、例えば、通信装置151の識別情報(MACアドレス等)や、DPP通信の待ち受けチャネルに関する情報、S702で生成された公開鍵情報などが含まれる。また、Bootstrapping情報には、通信装置151がWFDによる接続処理を実行可能であるかどうかについての情報が含まれていてもよい。
S704において、CPU154は、DPP待ち受け状態を開始する。DPP待ち受け状態が開始されると、通信装置151と情報処理装置101との間でDPP Authenticationにおける通信が可能となる。
また、本実施形態では、通信装置151は、DPP待ち受け状態において、S703で生成したBootstrapping情報(WEC関連情報)を情報処理装置101に提供可能な状態で待機する。ここでは、通信装置151がWEC関連情報に対応するQRコード(登録商標)等のコードを表示部に表示し、そのコードを情報処理装置101がカメラユニット等で読み取ることで、WEC関連情報が通信装置151から情報処理装置101に提供される。なお上述したように、通信装置151から情報処理装置101へのWEC関連情報の提供は、例えばNFCやBluetooth Classic、BLE、Wi-Fi等によって通信装置151の近距離無線通信部157と情報処理装置101の近距離無線通信部111とが通信することにより行われてもよい。
S705において、CPU154は、DPP待ち受け状態のタイムアウト用タイマを起動する。詳しくは後述するが、CPU154は、DPP待ち受け状態での動作を開始した後、所定の時間が経過したら、DPP待ち受け状態での動作を停止する。これは、一定時間待機してもDPPによる情報処理装置101との通信ができない場合には、DPPを利用したネットワークセットアップが成功しない可能性が高いからである。したがって、CPU154は、DPP待ち受け状態を開始してから一定時間経過した場合は、WECによるアクセスポイント131との接続の確立に失敗したとして、DPP待ち受け状態での動作を停止してWFDによる接続処理に移行する。
図6の説明に戻る。S602において、通信装置151は、WECを実行する(図2のS208~S210に対応)。S603において、通信装置151は、WECの実行結果を情報処理装置101に通知する(図2のS211に対応)。図8は、WECの実行処理を示すフローチャートであり、図2のシーケンスにおける通信装置151のS208~S210の動作をより具体的に示したものである。図8に示すフローチャートは、例えば、CPU154がROM152やメモリ等に格納された設定アプリをRAM153に読み出して実行することにより実現される。
S801において、CPU154は、DPP Authentication処理を実行する。上述したように、DPP Authentication処理においては、情報処理装置101と通信装置151との間で、認証情報や、情報の暗号化に利用される情報などが通信されることで、装置間の通信の認証が行われる。なおDPP Authenticationにおいては、DPPが用いられて通信が実行される。
S802において、CPU154は、情報処理装置101とのDPP Authentication処理が成功したか否かを判定する。上述したように、DPP Authenticationにおける通信において情報処理装置101から送信される各種情報は、情報処理装置101によって図2に示す処理において取得されているWEC関連情報に基づき暗号化される。CPU154は、情報処理装置101から受信した情報を、あらかじめ保持している復号鍵によって復号化することに成功した場合、情報処理装置101との通信を認証する。なお、情報処理装置101が、正確なWEC関連情報を取得できておらず、正確に情報を暗号化できていなかった場合は、通信装置151における復号化が失敗するため、認証は失敗する。よって、CPU154は、情報処理装置101との通信の認証が成功した場合、DPP Authentication処理が成功したと判定し、失敗した場合、DPP Authentication処理が失敗したと判定する。CPU154は、S802でNOと判定された場合、本フローチャートを終了する。一方、CPU154は、S802でYESと判定された場合、S803に進む。
S803において、CPU154は、DPP Configuration処理を実行する。DPP Configuration処理において、CPU154は、情報処理装置101からWECによる設定対象として設定されているアクセスポイントと接続するための接続情報をWECにより受信する。なお接続情報には、WECによる設定対象として設定されているアクセスポイントのSSIDやパスワード、暗号化方式を示す情報等が含まれる。
S804において、CPU154は、情報処理装置101とのDPP Configuration処理が成功したか否かを判定する。具体的には、CPU154は、情報処理装置101からWECによる設定対象として設定されているアクセスポイントと接続するための接続情報をWECにより受信した場合、成功したと判定し、受信できなかった場合、失敗したと判定する。CPU154は、S804でNOと判定された場合、本フローチャートを終了する。一方、CPU154は、S804でYESと判定された場合、S805に進む。なおCPU154は、DPP Configuration処理が成功すると、アクセスポイントのSSIDや暗号化方式、パスワードを取得する。
S805において、CPU154は、情報処理装置101から受け取ったWECによる設定対象として設定されているアクセスポイントの情報にSSIDが含まれているか否かを判定する。CPU154は、S805でNOと判定された場合、本フローチャートを終了する。一方、CPU154は、S805でYESと判定された場合、S806に進む。
S806において、CPU154は、情報処理装置101から受け取ったWECによる設定対象として設定されているアクセスポイントの情報に暗号化方式が含まれているか否かを判定する。CPU154は、S806でNOと判定された場合、本フローチャートを終了する。一方、CPU154は、S806でYESと判定された場合、S807に進む。
S807において、CPU154は、情報処理装置101から受け取ったWECによる設定対象として設定されているアクセスポイントの情報にパスワードが含まれているか否かを判定する。なおCPU154は、DPP通信を用いてアクセスポイントと接続する場合は、パスワードではなく公開鍵情報が含まれているか否かを判定してもよい。CPU154は、S807でNOと判定された場合、本フローチャートを終了する。
S808において、CPU154は、情報処理装置101から受け取ったWECによる設定対象として設定されているアクセスポイントの各種情報(SSID、パスワード、暗号化方式)によって、当該アクセスポイントに接続する。そしてCPU154は、本フローチャートを終了する。
図6の説明に戻る。S604において、S602の実行の結果、アクセスポイント131との接続が確立していればフローチャートを終了し、接続の確立に失敗していればS604に進む。なおこのとき、CPU154は、S602の実行の結果、アクセスポイント131との接続が確立したか確立しなかったか(言い換えれば、アクセスポイント131との接続が成功したか失敗したか)を示す情報をビーコン等で情報処理装置101に送信する。この処理はS211の処理に相当する。またCPU154は、S602の実行の結果、アクセスポイント131との接続が確立している場合、WEC実行モードを終了しても良い。
S605において、通信装置151は、DPP待ち受け状態を終了し、WEC実行モードを終了する(図2のS213に対応)。S606において、通信装置151は、WFDモードを開始する(図2のS214に対応)。S606において、通信装置151は、WFDを実行する(図2のS220、S222等に対応)。
本実施形態の通信装置151によれば、WECによるアクセスポイント131との接続の確立(すなわち情報処理装置101とのインフラ接続の確立)を優先的に試みるので、情報処理装置101との接続確立時の利便性を向上することができる。また、WECによるアクセスポイント131との接続確立に失敗した場合には情報処理装置101とのダイレクト接続を確立するので、これらの間の接続を確保することができる。
また、本実施形態では、通信装置151は、WECによるアクセスポイント131との接続の確立に失敗した場合、WEC実行モードを終了してからWFD実行モードを開始する。すなわち、WEC実行モードとWFD実行モードとが並列に起動しない。したがって、通信装置151のチップセットの仕様等によってこれらのモードの並列起動に制約がある場合であっても、WECによるアクセスポイント131との接続の確立が失敗したときに情報処理装置101との接続を確立することができる。より具体的には、通信装置151がWEC実行モードとWFD実行モードとを選択的にのみ実行可能な場合であっても、インフラ接続を優先しつつ、インフラ接続が確立できない場合にはダイレクト接続を確立することができる。
なお、本実施形態では、S604において通信装置151とアクセスポイント131の接続が確立しなかった場合には通信装置151はWEC実行モードを終了してWFDモードを開始する。しかしながら、通信装置151は所定の要因により通信装置151とアクセスポイント131の接続が確立しなかった場合にWEC実行モードを終了してWFDモードを開始してもよい。所定の要因は、DPPによる情報処理装置101と通信装置151との通信において通信が途切れてしまう等の通信エラーであってもよい。また、所定の要因は、DPPによる情報処理装置101と通信装置151との通信を行うための認証に失敗する等の認証エラーであってもよい。また、所定の要因は、通信装置151がDPP待ち受け状態で所定の時間経過したことであってもよい。これらの要因により通信装置151とアクセスポイント131との接続が確立しなかった場合、接続を再試行しても再度接続に失敗してしまう可能性が高い場合がある。したがって、このような場合にはWECによるインフラ接続を断念してWFDによるインフラ接続を確立する。一方、他の要因により通信装置151とアクセスポイント131との接続が確立しなかった場合、上記の場合と比較すると再試行により接続を確立できる可能性が高い場合がある。よって、このような場合には、所定回数、通信装置151とアクセスポイント131との接続を再試行し、それでも接続を確立できなかった場合にWFDによる接続を確立しても良い。
<情報処理装置の処理例>
図9は、図2のシーケンスが実行される際の情報処理装置101の処理例を示すフローチャートである。図6に示すフローチャートは、例えば、CPU103がROM104やメモリ等に格納されたプログラムをRAM105に読み出して実行することにより実現される。
S901において、情報処理装置101は、設定アプリを起動する(図2のS202に対応)。S902において、情報処理装置101は、WEC関連情報を取得する(図2のS204に対応)。S903において、情報処理装置101は、WECを実行する(図2のS205~210に対応)。S904において、情報処理装置101は、WECの実行結果を確認する(図2のS212に対応)。
S905において、情報処理装置101は、S904で確認した内容に基づき、通信装置151とアクセスポイント131との接続が確立できていればS911に進み、そうでなければS906に進む。すなわち、情報処理装置101は、WECにより通信装置151とアクセスポイント131との接続が確立しなかったことを検出すると、通信装置151とのダイレクト接続を確立するためにS906以降の処理を実行する。
S906において、情報処理装置101は、WFD対象機種判定を実行する(図2のS215に対応)。S907において、情報処理装置101は、通信装置151がWFD対象機種であればS908に進み、そうでなければS911に進む。通信装置151がWFD対象機種でない場合には、S908~S910以降の処理を実行できないので、情報処理装置101はこれらの処理を省略する。
S908において、情報処理装置101は、WFDを実行可能な機器を検出する(図2のS216~S217に対応)。S909において、情報処理装置101は、対象の通信装置151を検出できた場合にはS910に進み、そうでなければS911に進む(図2のS218に対応)。なお、情報処理装置101は、通信装置151を検出できなかった場合には一定時間待機した後、再度S908の処理を行ってもよい。そして、情報処理装置101は、所定回数、或いは所定時間、S908の処理を実行しても通信装置151を検出できなかった場合に、S911に進んでもよい。すなわち、情報処理装置101は、通信装置151が情報処理装置101によって検出可能な状態になるまで所定時間待機してもよい。図2で示したとおり、通信装置151におけるWEC実行モードからWFD実行モードへの移行(S213、S214)と、情報処理装置101におけるWFD対象機種判定及びWFDを実行可能な機器の検出とは、並列に実行される。したがって、情報処理装置101が所定時間待機することで、通信装置151の側でWFDモードへの移行に時間を要した場合でも、情報処理装置101が通信装置151を検出することができる。
S910において、情報処理装置101は、WFDを実行する(図2のS219~S222に対応)。S911において、情報処理装置101は、接続状況を通知する。(図2のS2に対応)。情報処理装置101は、通信装置151との接続状況に応じて、例えば、「通信装置とのインフラ接続を確立しました」「通信装置とのダイレクト接続を確立しました」「通信装置との接続に失敗しました」等の通知を行う。
本実施形態の情報処理装置101によれば、WECにより通信装置151とアクセスポイント131との接続が確立しなかったことを検出すると、通信装置151とのダイレクト接続を可能な状態に移行する。これにより、WECにより通信装置151とアクセスポイント131との接続が確立しなかった場合であっても情報処理装置101と通信装置151との接続を確立することができる。また、WECにより通信装置151とアクセスポイント131との接続が確立しなかった場合にユーザの操作を要することなく情報処理装置101と通信装置151とのダイレクト接続を確立する。よって、ユーザ操作の手間を低減することができる。ただし、WECにより通信装置151とアクセスポイント131との接続が確立しなかった場合にダイレクト接続を行うかどうかの意思確認を行ってもよい。例えば、情報処理装置101は、「S905:No」の場合に、S906に進む前に通信装置151とダイレクト接続を行うか否かの確認画面を表示部108に表示しても良い。
また、本実施形態によれば、情報処理装置101は、WEC実行時に取得した情報(WEC関連情報)に基づいて、取得したWFD機器リストの中に通信装置151が含まれているか否かを特定する(S218、S909)。これにより、ユーザがWFD機器リストの中から通信装置151(WECによるアクセスポイント131との接続に失敗した装置)を探して選択する必要がない。よって、ネットワークセットアップ時の利便性を向上することができる。
なお、S906(S218)の処理を省略する構成も採用可能である。この場合、通信装置151がWFD対象機種でない場合、WFD機器リストに通信装置151が含まれず、S909(S218)において通信装置151を検出できないことになるので、WFDによるダイレクト接続が実行されないことになる。よって、このような構成であっても、通信装置151がWFDによるダイレクト接続を実行可能な場合には、情報処理装置101と通信装置151との間でWFDによるダイレクト接続を確立することができる。
<他の実施形態>
上述では、WECにより通信装置151とアクセスポイント131との間の接続の確立を試みて、それに失敗した場合にWFDモードで動作する通信装置151とのダイレクト接続を試みる形態を説明した。しかしながら上述においてWFDモードが使用されている各処理において、WFDモードの代わりに、APモードやアドホックモード等の他のP2Pモードが使用されても良い。また、例えばAPモードが使用される場合、WFD対象機種判定は省略されて良い。また、WEC関連情報が取得される際に、APモードで動作する通信装置151と接続するための接続情報(SSIDやパスワード)も取得される。そして、APモードでと動作する通信装置151と情報処理装置101との接続の確立にあたり、当該接続情報が用いられる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<付記>
本明細書の開示は、以下の通信装置、プログラム、及びシステムを含む。
(項目1)
情報処理装置と接続可能な通信装置であって、
前記情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記情報処理装置に提供する提供手段と、
前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと第1の無線接続を確立する第1の接続手段と、
前記情報処理装置と前記外部アクセスポイントを介さない第2の無線接続を確立する第2の接続手段と、を備え、
前記第1の接続手段は、前記第1の情報を取得した前記情報処理装置との前記所定のプロトコルによる通信により、前記第1の無線接続を確立するための前記外部アクセスポイントに関する第2の情報を受け付け、受け付けた前記第2の情報を用いて前記第1の無線接続を確立し、
前記第2の接続手段は、前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第2の無線接続を確立する、
ことを特徴とする通信装置。
(項目2)
項目1に記載の通信装置であって、
前記通信装置のネットワークセットアップにおける動作モードを制御するモード制御手段をさらに備え、
前記ネットワークセットアップにおける前記動作モードには、前記所定のプロトコルによる前記通信を利用して前記第1の無線接続を確立するための第1のモードと、前記第2の無線接続を確立するための第2のモードとが含まれ、
前記モード制御手段は、前記第1のモードにおいて前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第1のモードを終了した後に前記第2のモードの実行を開始する、
ことを特徴とする通信装置。
(項目3)
項目2に記載の通信装置であって、
前記モード制御手段は、前記第1のモードと、前記第2のモードとを選択的に実行可能である、
ことを特徴とする通信装置。
(項目4)
項目2に記載の通信装置であって、
前記提供手段は、前記情報処理装置によって読み取り可能な、前記第1の情報に対応するコードを前記通信装置の表示部に表示させる、
ことを特徴とする通信装置。
(項目5)
項目4に記載の通信装置であって、
前記提供手段は、前記第1のモードが終了した場合に、前記コードの前記表示部への表示を終了する、
ことを特徴とする通信装置。
(項目6)
項目2から5までのいずれか一項に記載の通信装置であって、
前記モード制御手段は、前記第1のモードにおいて前記第1の接続手段が所定の要因により前記第1の無線接続を確立できなかった場合には、前記第1のモードを終了した後に前記第2のモードの実行を開始する、
ことを特徴とする通信装置。
(項目7)
項目6に記載の通信装置であって、
前記所定の要因は、前記所定のプロトコルによる前記通信の通信エラーである、
ことを特徴とする通信装置。
(項目8)
項目6に記載の通信装置であって、
前記所定の要因は、前記所定のプロトコルによる前記通信を行うための認証エラーである、
ことを特徴とする通信装置。
(項目9)
項目6に記載の通信装置であって、
前記所定の要因は、前記所定のプロトコルによる前記通信の実行待ち状態における所定時間の経過である、
ことを特徴とする通信装置。
(項目10)
項目1から5までのいずれか一項に記載の通信装置であって、
前記所定のプロトコルは、Device Provisioning Protocolである、
ことを特徴とする通信装置。
(項目11)
項目1から5までのいずれか一項に記載の通信装置であって、
第2の無線接続は、Wi-Fi DIRECT(登録商標)による無線接続である、
ことを特徴とする通信装置。
(項目12)
通信装置と接続可能な情報処理装置のコンピュータを、
前記通信装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記通信装置から取得する取得手段、
前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと前記通信装置とが第1の無線接続を確立するための、前記外部アクセスポイントに関する第2の情報を、前記第1の情報を用いた前記所定のプロトコルによる通信により前記通信装置に対して送信するための指示を行う送信指示手段、
前記第1の無線接続が確立できたか否かを検出する第1の検出手段と、
前記第1の検出手段により前記第1の無線接続が確立できなかったことが検出された場合に、前記通信装置との間で前記外部アクセスポイントを介さない第2の無線接続を確立する第3の接続手段、
として機能させるためのプログラム。
(項目13)
項目12に記載のプログラムであって、
前記コンピュータを、
前記第1の無線接続が確立できなかった場合に、前記通信装置が前記情報処理装置との無線接続に対応しているか否かを判定する第2の判定手段、
としてさらに機能させ、
前記第3の接続手段は、前記第2の判定手段により前記通信装置が前記情報処理装置との無線接続に対応していると判定された場合に前記第2の無線接続を確立する、
プログラム。
(項目14)
項目13に記載のプログラムであって、
前記第2の判定手段は、前記取得手段により取得した前記第1の情報に基づいて、前記通信装置が前記情報処理装置との無線接続に対応しているか否かを判定する、
プログラム。
(項目15)
項目13に記載のプログラムであって、
前記第3の接続手段は、前記第2の判定手段により前記通信装置が前記情報処理装置との無線接続に対応していると判定された場合には、前記通信装置が前記第2の無線接続を確立可能な状態になるまで所定時間待機する、
プログラム。
(項目16)
項目12から15までのいずれか一項に記載のプログラムであって、
前記コンピュータを、
前記情報処理装置と前記第2の無線接続を確立可能な周囲の装置の検出を指示する検出指示手段、
前記検出指示手段により検出された前記周囲の装置に前記通信装置が含まれるか否かを、前記取得手段により取得した前記第1の情報に基づいて判定する第3の判定手段、
としてさらに機能させ、
前記第3の接続手段は、前記第3の判定手段により前記周囲の装置に前記通信装置が含まれると判定された場合に、前記通信装置と前記第2の無線接続を確立する、
プログラム。
(項目17)
項目12から15までのいずれか一項に記載のプログラムであって、
前記所定のプロトコルは、Device Provisioning Protocolである、
プログラム。
(項目18)
項目12から15までのいずれか一項に記載のプログラムであって、
第2の無線接続は、Wi-Fi DIRECT(登録商標)による無線接続である、
プログラム。
(項目19)
通信装置と情報処理装置とを備えたシステムであって、
前記通信装置は、
前記情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記情報処理装置に提供する提供手段と、
前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと第1の無線接続を確立する第1の接続手段と、
前記情報処理装置と前記外部アクセスポイントを介さない第2の無線接続を確立する第2の接続手段と、を備え、
前記第1の接続手段は、前記第1の情報を取得した前記情報処理装置との前記所定のプロトコルによる通信により、前記第1の無線接続を確立するための前記外部アクセスポイントに関する第2の情報を受け付け、受け付けた前記第2の情報を用いて前記第1の無線接続を確立し、
前記第2の接続手段は、前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第2の無線接続を確立し、
前記情報処理装置は、
前記第1の情報を前記通信装置から取得する取得手段と、
前記第2の情報を、前記第1の情報を用いた前記所定のプロトコルによる通信により前記通信装置に対して送信するための指示を行う送信指示手段と、
前記第1の無線接続が確立できたか否かを検出する第1の検出手段と、
前記第1の検出手段により前記第1の無線接続が確立できなかったことが検出された場合に、前記通信装置との間で前記外部アクセスポイントを介さない第2の無線接続を確立する第3の接続手段と、を備える、
ことを特徴とするシステム。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101:情報処理装置、103:CPU、131:アクセスポイント、151:通信装置、154:CPU

Claims (19)

  1. 情報処理装置と接続可能な通信装置であって、
    前記情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記情報処理装置に提供する提供手段と、
    前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと第1の無線接続を確立する第1の接続手段と、
    前記情報処理装置と前記外部アクセスポイントを介さない第2の無線接続を確立する第2の接続手段と、を備え、
    前記第1の接続手段は、前記第1の情報を取得した前記情報処理装置との前記所定のプロトコルによる通信により、前記第1の無線接続を確立するための前記外部アクセスポイントに関する第2の情報を受け付け、受け付けた前記第2の情報を用いて前記第1の無線接続を確立し、
    前記第2の接続手段は、前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第2の無線接続を確立する、
    ことを特徴とする通信装置。
  2. 請求項1に記載の通信装置であって、
    前記通信装置のネットワークセットアップにおける動作モードを制御するモード制御手段をさらに備え、
    前記ネットワークセットアップにおける前記動作モードには、前記所定のプロトコルによる前記通信を利用して前記第1の無線接続を確立するための第1のモードと、前記第2の無線接続を確立するための第2のモードとが含まれ、
    前記モード制御手段は、前記第1のモードにおいて前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第1のモードを終了した後に前記第2のモードの実行を開始する、
    ことを特徴とする通信装置。
  3. 請求項2に記載の通信装置であって、
    前記モード制御手段は、前記第1のモードと、前記第2のモードとを選択的に実行可能である、
    ことを特徴とする通信装置。
  4. 請求項2に記載の通信装置であって、
    前記提供手段は、前記情報処理装置によって読み取り可能な、前記第1の情報に対応するコードを前記通信装置の表示部に表示させる、
    ことを特徴とする通信装置。
  5. 請求項4に記載の通信装置であって、
    前記提供手段は、前記第1のモードが終了した場合に、前記コードの前記表示部への表示を終了する、
    ことを特徴とする通信装置。
  6. 請求項2から5までのいずれか一項に記載の通信装置であって、
    前記モード制御手段は、前記第1のモードにおいて前記第1の接続手段が所定の要因により前記第1の無線接続を確立できなかった場合には、前記第1のモードを終了した後に前記第2のモードの実行を開始する、
    ことを特徴とする通信装置。
  7. 請求項6に記載の通信装置であって、
    前記所定の要因は、前記所定のプロトコルによる前記通信の通信エラーである、
    ことを特徴とする通信装置。
  8. 請求項6に記載の通信装置であって、
    前記所定の要因は、前記所定のプロトコルによる前記通信を行うための認証エラーである、
    ことを特徴とする通信装置。
  9. 請求項6に記載の通信装置であって、
    前記所定の要因は、前記所定のプロトコルによる前記通信の実行待ち状態における所定時間の経過である、
    ことを特徴とする通信装置。
  10. 請求項1から5までのいずれか一項に記載の通信装置であって、
    前記所定のプロトコルは、Device Provisioning Protocolである、
    ことを特徴とする通信装置。
  11. 請求項1から5までのいずれか一項に記載の通信装置であって、
    第2の無線接続は、Wi-Fi DIRECT(登録商標)による無線接続である、
    ことを特徴とする通信装置。
  12. 通信装置と接続可能な情報処理装置のコンピュータを、
    前記通信装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記通信装置から取得する取得手段、
    前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと前記通信装置とが第1の無線接続を確立するための、前記外部アクセスポイントに関する第2の情報を、前記第1の情報を用いた前記所定のプロトコルによる通信により前記通信装置に対して送信するための指示を行う送信指示手段、
    前記第1の無線接続が確立できたか否かを検出する第1の検出手段と、
    前記第1の検出手段により前記第1の無線接続が確立できなかったことが検出された場合に、前記通信装置との間で前記外部アクセスポイントを介さない第2の無線接続を確立する第3の接続手段、
    として機能させるためのプログラム。
  13. 請求項12に記載のプログラムであって、
    前記コンピュータを、
    前記第1の無線接続が確立できなかった場合に、前記通信装置が前記情報処理装置との無線接続に対応しているか否かを判定する第2の判定手段、
    としてさらに機能させ、
    前記第3の接続手段は、前記第2の判定手段により前記通信装置が前記情報処理装置との無線接続に対応していると判定された場合に前記第2の無線接続を確立する、
    プログラム。
  14. 請求項13に記載のプログラムであって、
    前記第2の判定手段は、前記取得手段により取得した前記第1の情報に基づいて、前記通信装置が前記情報処理装置との無線接続に対応しているか否かを判定する、
    プログラム。
  15. 請求項13に記載のプログラムであって、
    前記第3の接続手段は、前記第2の判定手段により前記通信装置が前記情報処理装置との無線接続に対応していると判定された場合には、前記通信装置が前記第2の無線接続を確立可能な状態になるまで所定時間待機する、
    プログラム。
  16. 請求項12から15までのいずれか一項に記載のプログラムであって、
    前記コンピュータを、
    前記情報処理装置と前記第2の無線接続を確立可能な周囲の装置の検出を指示する検出指示手段、
    前記検出指示手段により検出された前記周囲の装置に前記通信装置が含まれるか否かを、前記取得手段により取得した前記第1の情報に基づいて判定する第3の判定手段、
    としてさらに機能させ、
    前記第3の接続手段は、前記第3の判定手段により前記周囲の装置に前記通信装置が含まれると判定された場合に、前記通信装置と前記第2の無線接続を確立する、
    プログラム。
  17. 請求項12から15までのいずれか一項に記載のプログラムであって、
    前記所定のプロトコルは、Device Provisioning Protocolである、
    プログラム。
  18. 請求項12から15までのいずれか一項に記載のプログラムであって、
    第2の無線接続は、Wi-Fi DIRECT(登録商標)による無線接続である、
    プログラム。
  19. 通信装置と情報処理装置とを備えたシステムであって、
    前記通信装置は、
    前記情報処理装置と所定のプロトコルによる通信を行う際に用いる第1の情報を前記情報処理装置に提供する提供手段と、
    前記情報処理装置及び前記通信装置と異なる外部アクセスポイントと第1の無線接続を確立する第1の接続手段と、
    前記情報処理装置と前記外部アクセスポイントを介さない第2の無線接続を確立する第2の接続手段と、を備え、
    前記第1の接続手段は、前記第1の情報を取得した前記情報処理装置との前記所定のプロトコルによる通信により、前記第1の無線接続を確立するための前記外部アクセスポイントに関する第2の情報を受け付け、受け付けた前記第2の情報を用いて前記第1の無線接続を確立し、
    前記第2の接続手段は、前記第1の接続手段が前記第1の無線接続を確立できなかった場合に、前記第2の無線接続を確立し、
    前記情報処理装置は、
    前記第1の情報を前記通信装置から取得する取得手段と、
    前記第2の情報を、前記第1の情報を用いた前記所定のプロトコルによる通信により前記通信装置に対して送信するための指示を行う送信指示手段と、
    前記第1の無線接続が確立できたか否かを検出する第1の検出手段と、
    前記第1の検出手段により前記第1の無線接続が確立できなかったことが検出された場合に、前記通信装置との間で前記外部アクセスポイントを介さない第2の無線接続を確立する第3の接続手段と、を備える、
    ことを特徴とするシステム。
JP2022076223A 2022-05-02 2022-05-02 通信装置、プログラム及びシステム Pending JP2023165326A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022076223A JP2023165326A (ja) 2022-05-02 2022-05-02 通信装置、プログラム及びシステム
US18/305,493 US20230354449A1 (en) 2022-05-02 2023-04-24 Communication apparatus, control method, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022076223A JP2023165326A (ja) 2022-05-02 2022-05-02 通信装置、プログラム及びシステム

Publications (1)

Publication Number Publication Date
JP2023165326A true JP2023165326A (ja) 2023-11-15

Family

ID=88512044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022076223A Pending JP2023165326A (ja) 2022-05-02 2022-05-02 通信装置、プログラム及びシステム

Country Status (2)

Country Link
US (1) US20230354449A1 (ja)
JP (1) JP2023165326A (ja)

Also Published As

Publication number Publication date
US20230354449A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
US10397963B2 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium
CN108694027B (zh) 信息处理装置的控制方法及信息处理装置
US11832317B2 (en) Control method and information processing apparatus
KR20180098663A (ko) 정보 처리 방법, 저장 매체 및 정보 처리 장치
CN108694025B (zh) 信息处理设备、控制方法和存储介质
CN107277743B (zh) 通信系统、通信装置和控制方法
JP2019215820A (ja) 情報処理装置、制御方法、プログラム
EP4050920A1 (en) Information processing apparatus, control method thereof, and program
EP4050921A1 (en) Information processing apparatus, control method thereof, and program
JP2020166697A (ja) 情報処理装置、通信装置、制御方法、及びプログラム
JP2023165326A (ja) 通信装置、プログラム及びシステム
JP6888037B2 (ja) 情報処理装置、制御方法およびプログラム
JP2023079947A (ja) 通信装置、その制御方法、並びにプログラム
JP2023162062A (ja) 通信装置、その制御方法、並びにプログラム
US20230135980A1 (en) Information processing device, method, and storage medium for storing method
WO2023053839A1 (ja) 通信装置、方法、プログラム、並びにシステム
US20230060244A1 (en) Information processing apparatus, control method therefor, and storage medium
US20230091461A1 (en) Information processing apparatus, communication apparatus, control method therefor, and storage medium
JP2023066227A (ja) 情報処理装置、通信装置、通信システム、通信装置の設定方法並びにプログラム
JP2024053382A (ja) 情報処理装置、その制御方法およびプログラム
JP2023176541A (ja) プログラム、システムおよび方法
JP2024053381A (ja) 情報処理装置、その制御方法およびプログラム
JP2023183241A (ja) プログラム、情報処理装置、制御方法、通信装置、および通信システム
JP2023166256A (ja) 通信システム、通信装置とその制御方法、並びにプログラム
JP2023176543A (ja) プログラムおよび方法