JP2023079947A - 通信装置、その制御方法、並びにプログラム - Google Patents

通信装置、その制御方法、並びにプログラム Download PDF

Info

Publication number
JP2023079947A
JP2023079947A JP2021193680A JP2021193680A JP2023079947A JP 2023079947 A JP2023079947 A JP 2023079947A JP 2021193680 A JP2021193680 A JP 2021193680A JP 2021193680 A JP2021193680 A JP 2021193680A JP 2023079947 A JP2023079947 A JP 2023079947A
Authority
JP
Japan
Prior art keywords
communication device
access point
communication
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
JP2021193680A
Other languages
English (en)
Inventor
雅貴 井浦
Masataka Iura
充 紺地
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 JP2021193680A priority Critical patent/JP2023079947A/ja
Priority to US18/058,671 priority patent/US20230171682A1/en
Publication of JP2023079947A publication Critical patent/JP2023079947A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • 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/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • 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/18Management of setup rejection or failure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 通信装置とアクセスポイントとを接続させる機能の利便性を向上させることを目的とする。【解決手段】 通信装置と通信する情報処理装置のコンピュータに、第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御ステップと、前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されるための第2制御を実行する第2制御ステップと、を実行させることを特徴とする。【選択図】 図7

Description

本発明は、通信装置、その制御方法、並びにプログラムに関する。
PC(パーソナルコンピュータ)等の情報処理装置が、プリンタ等の通信装置に、アクセスポイント(外部装置)に関する情報を送信し、当該通信装置と当該外部装置とを接続させる技術が知られている。
特開2016-127545号公報
ところで、通信装置にアクセスポイントと接続するための接続情報を送信し、当該通信装置と当該アクセスポイントとを接続させる機能が普及するにあたり、当該機能の利便性を向上させることが求められている。
本発明は、上述の課題を鑑みてなされたものであり、通信装置とアクセスポイントとを接続させる機能の利便性を向上させることを目的とする。
通信装置と通信する情報処理装置のコンピュータに、第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御ステップと、前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されるための第2制御を実行する第2制御ステップと、を実行させることを特徴とするプログラム。
本発明によれば、セキュリティを確保した利便性の高いネットワーク設定動作を実行することが可能となる。
情報処理装置と通信装置とアクセスポイントの構成を示す図である。 ネットワークセットアップ処理において情報処理装置が実行する処理の流れを示すフローチャートである。 設定アプリが表示するQRコード(登録商標)撮影用の画面の一例である。 情報処理装置と通信装置によって実行される処理を示すシーケンス図である。 WEC開始画面の一例である。 情報処理装置と通信装置によって実行される処理を示すシーケンス図である。 ネットワークセットアップ処理において情報処理装置が実行する処理の流れを示すフローチャートである。 WEC開始画面の一例である。 ネットワークセットアップ処理において情報処理装置が実行する処理の流れを示すフローチャートである。
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されない。例えば情報処理装置として、携帯端末、PC(パーソナルコンピュータ)、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
また、本実施形態では、情報処理装置は、Wi-Fi Easy Connect(以下、WEC)(登録商標)と呼ばれる機能に対応している場合は、当該機能を実行可能である。WECとは、Wi-Fi Allianceで策定されたDevice Provisioning Protocol(以下、DPP)を用いて、他の装置のネットワークセットアップを実行する機能である。なお他の装置のネットワークセットアップとは具体的には、他の装置をネットワークを形成するアクセスポイントと接続させる処理である。WECにおいては、「Configurator」という役割で動作する装置(以下、Configurator装置)と、「Enrollee」という役割で動作する装置(以下、Enrollee装置)との間で通信が行われる。なお本実施形態では、Configurator装置はDPPにおけるInitiatorであり、Enrollee装置は、DPPにおけるResponderであるものとする。Configurator装置はEnrollee装置からBootstrapping情報を取得する。Bootstrapping情報には、例えばEnrollee装置の識別情報(MACアドレス等)や、Enrollee装置とセキュアな通信を行うために用いられる公開鍵情報などが含まれる。本実施形態では、Bootstrapping情報を「WEC関連情報」として説明する。なお、他の情報もWEC関連情報として扱われて良い。そしてConfigurator装置は、取得したBootstrapping情報を用いてEnrollee装置との無線通信を実行する。具体的には例えば、Configurator装置は、Bootstrapping情報に含まれる公開鍵を用いてEnrollee装置と通信を行う。さらに、その通信で得られた情報に基づいて共通鍵を生成し、その共通鍵を用いて暗号化した情報を、Enrollee装置に送信する。なおここで送信される情報は具体的には例えば、アクセスポイントに接続するための接続情報である。そしてEnrollee装置は、Configurator装置から受信した接続情報を使ってアクセスポイントとの無線接続を確立する。なお、本実施形態におけるWECによるネットワークセットアップ処理においては、WECに対応している情報処理装置は、Configurator装置として動作し、WECに対応している通信装置は、Enrollee装置として動作するものとして説明する。
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
情報処理装置101は、本実施形態の情報処理装置である。情報処理装置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が用いる無線通信方式は、IEEE802.11シリーズに準拠する通信規格であるWi-Fi(WirelessFidelity)(登録商標)であるものとする。そして、前述した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は、設定アプリによるネットワークセットアップ処理の実行指示に基づいて情報処理装置101のOSによりWECを実行する。
通信装置151は、本実施形態の通信装置である。通信装置151は、ROM152、RAM153、CPU154、プリントエンジン155、通信部156、近距離無線通信部157等を有する。ROM152、RAM153、CPU154等によって、通信装置151のコンピュータが形成される。
通信部156は、通信装置151内部のアクセスポイントとして、情報処理装置101等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置101の通信部110に接続可能である。通信部156が、該アクセスポイントを有効化することで、通信装置151がアクセスポイントとして動作することになる。なお、通信部156は情報処理装置101とダイレクトに無線接続しても良いし、アクセスポイント131を介して無線接続しても良い。本実施形態では、通信部156が用いる無線通信方式は、IEEE802.11シリーズに準拠する通信規格であるものとする。また以下の説明において、Wi-Fi(WirelessFidelity)(登録商標)(Wi-Fi通信)とは、IEEE802.11シリーズに準拠する通信規格である。また、通信装置151がWECに対応しているのであれば、前述したWECを、通信部156による通信により実行するものとする。また、通信部156は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
本実施形態の通信装置151は、通信部156を用いて通信を行うためのモードとして、インフラストラクチャモード及びP2P(Peer to Peer)モードで動作可能である。
インフラストラクチャモードとは、通信装置151が、ネットワークを形成する外部装置(例えば、アクセスポイント131)を介して、情報処理装置101等の他の装置と通信する形態である。インフラストラクチャモードで動作する通信装置151によって確立される外部アクセスポイントとの接続を、インフラストラクチャ接続(以後、インフラ接続)という。本実施形態では、インフラ接続において、通信装置151が子局として動作し、外部アクセスポイントが親局として動作する。なお本実施形態において親局とは、親局が属するネットワークにおいて使用される通信チャネルを決定する装置であり、子局とは、子局が属するネットワークにおいて使用される通信チャネルを決定せず、親局が決定した通信チャネルを用いる装置である。
P2Pモードとは、通信装置151が、ネットワークを形成する外部装置を介さず、情報処理装置101等の他の装置と直接的に通信する形態である。本実施形態では、P2Pモードには、通信装置151がアクセスポイントとして動作するAPモードが含まれるものとする。APモード時に通信装置151内で有効化されるアクセスポイントの接続情報(SSIDやパスワード)は、ユーザが任意に設定可能であるものとする。なおP2Pモードには、例えば、通信装置151がWi-Fi Direct(WFD)によって通信するためのWFDモードが含まれていても良い。なお、複数のWFD対応機器のうちいずれが親局として動作するかは、例えば、Group Owner Negotiationというシーケンスに従って決定される。なお、Group Owner Negotiationが実行されずに、親局が決定されても良い。WFD対応機器であり且つ親局の役割を果たす装置を特に、Group Ownerという。P2Pモードで動作する通信装置151によって確立される他の装置との直接的な接続を、ダイレクト接続という。本実施形態では、ダイレクト接続において、通信装置151が親局として動作し、他の装置が子局として動作する。
また、本実施形態では通信装置151は、ユーザから所定の操作を受け付けることで、通信装置151のネットワークセットアップを実行するためのモードであるネットワークセットアップモードとして動作可能である。通信装置151は、ネットワークセットアップモードとして動作する場合、通信部156を用いることにより、ネットワークセットアップモードとして動作中に有効なセットアップ用アクセスポイントとして動作する。当該セットアップ用アクセスポイントは、上述のAPモード時に有効化されるアクセスポイントとは異なるアクセスポイントである。また当該セットアップ用アクセスポイントのSSIDは、情報処理装置101の設定アプリが認識可能な所定の文字列を含むものとする。また、当該セットアップ用アクセスポイントは、接続にパスワードを必要としないアクセスポイントであるものとする。また、ネットワークセットアップモードとして動作している通信装置151は、セットアップ用アクセスポイントと接続している情報処理装置101との通信において、所定の通信プロトコル(セットアップ用通信プロトコル)を用いるものとする。セットアップ用通信プロトコルは具体的には例えば、SNMP(Simple Network Management Protocol)である。通信装置151は、ネットワークセットアップモードでの動作を開始した後、所定の時間が経過したら、ネットワークセットアップモードでの動作を停止し、セットアップ用アクセスポイントを無効化する。これは、セットアップ用アクセスポイントは上述したようにパスワードを必要としないアクセスポイントであるため、長時間有効化していると、適切でない装置から接続を要求されてしまう可能性が高まるためである。なおセットアップ用アクセスポイントは、パスワードを必要とするアクセスポイントであっても良い。その場合、セットアップ用アクセスポイントとの接続に用いられるパスワードは、設定アプリが予め把握している固定の(ユーザが変更できない)パスワードであるものとする。
またさらに、本実施形態では通信装置151は、ユーザから所定の操作を受け付けることで、通信装置151のネットワークセットアップを、セットアップ用通信プロトコルとは異なる通信プロトコルで実行するためのモードとしても動作可能である。本実施形態では、セットアップ用通信プロトコルとは異なる通信プロトコルは、上述したDPPであるものとし、当該モードを、DPP待ち受けモードと呼ぶものとする。通信装置151がDPP待ち受けモードで動作している状態において、情報処理装置101からDPPによるネットワークセットアップ要求が受信された場合、DPPによるネットワークセットアップを実行する。そのためDPP待ち受けモードとは言い換えれば、DPPによるネットワークセットアップ要求を待ち受けているモードである。
近距離無線通信部157は、情報処理装置101等の装置と近距離で無線接続するための構成であり、例えば、情報処理装置101内の近距離無線通信部111と接続可能である。通信方式としては、例えば、NFC、Bluetooth Classic、BLE、Wi-Fi Aware等が挙げられる。
RAM153は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM153は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置151の設定情報や通信装置151の管理データ等を格納するメモリエリアもRAM153に設けられている。また、RAM153は、CPU154の主メモリとワークメモリとしても用いられ、情報処理装置101等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
ROM152は、CPU154が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM152に格納されている各制御プログラムは、ROM152に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU154は、システム制御部であり、通信装置151の全体を制御する。
プリントエンジン155は、RAM153に保存された情報や情報処理装置101等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成し、印刷結果を出力する。なお一般に、情報処理装置101等から送信される印刷ジョブのデータ量は大きいため、印刷ジョブの通信には、高速通信が可能な通信方式を用いることが求められる。そのため、通信装置151は、近距離無線通信部157よりも高速な通信が可能な通信部156を介して、印刷ジョブを受信する。
なお、通信装置151には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置151に保存される情報は、当該メモリに保存されても良い。
入力インタフェース158は、物理ボタン等の操作部159が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部は、表示部161に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース158は、表示部161を介してユーザからの入力を受け付けても良い。
出力インタフェース160は、表示部161がデータの表示や通信装置151の状態の通知を行うための制御を行うインタフェースである。
表示部161は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や通信装置151の状態の通知を行う。
図2は、本実施形態のネットワークセットアップ処理において情報処理装置101が実行する処理の流れを示すフローチャートである。図2に示すフローチャートは、例えば、CPU103がROM104や外部記憶装置106等に格納された設定アプリをRAM105に読み出して実行することにより実現される。また、図2に示すフローチャートは、設定アプリが表示する画面において、ネットワークセットアップを実行するための所定の操作(以下、設定操作)が行われたことに応じて開始される。
まずS200において、CPU103は、少なくとも設定操作が行われたときに情報処理装置101がWi-Fiによって無線接続していたアクセスポイント(以下、接続済みAP)に関する情報を取得する。なお本実施形態では、設定操作が行われた後に、情報処理装置101は接続先のアクセスポイントの切り替えを実行していないため、当該アクセスポイントは、S200において現在情報処理装置101が接続しているアクセスポイントでもある。当該情報には、情報処理装置101がWi-Fiによって無線接続しているアクセスポイントと接続するための情報(SSID、暗号化方式を示す情報等)が含まれる。なお取得された情報は、情報処理装置101のメモリの所定の記憶領域に保存される。なお設定操作が行われたときに情報処理装置101がWi-Fiによっていずれのアクセスポイントとも接続していない場合は、本処理は省略される。
次にS201において、CPU103は、情報処理装置101の周囲のアクセスポイントの検索を情報処理装置101のOSに指示し、その検索結果を設定アプリにより取得する。
次にS202において、CPU103は、S201で取得された検索結果のなかに、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントがあるか否かを判定する。上述したように本実施形態では、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントのSSIDには、設定アプリにより予め認識されている所定の文字列が含まれる。そのため本判定では具体的にはCPU103は、S201で取得された検索結果のなかに、当該所定の文字列を含むSSIDを有するアクセスポイントがあるか否かを判定する。CPU103は、YES判定の場合、S203に進み、NO判定の場合にS219に進む。
S203において、CPU103は、検索結果に含まれていた、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続の確立を試みる。なお当該Wi-Fi接続は、当該ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続に相当する。
次にS204において、CPU103は、S203によりWi-Fi接続の確立が成功したか否かを判定する。CPU103は、YES判定の場合、S205に進み、NO判定の場合にS219に進む。
S205において、CPU103は、OSから情報処理装置101のケーパビリティ情報を取得する。本実施形態では、ケーパビリティ情報には、情報処理装置101がWECに対応しているか否かを示す情報が含まれる。なおケーパビリティ情報の内容は、情報処理装置101の機種や型番等によって異なる。
次にS206において、CPU103は、設定操作が行われたときに情報処理装置101がWi-Fiによってアクセスポイントと接続しており、且つ、情報処理装置101がWECに対応しているか否かを判定する。ここでは例えば、設定操作が行われたときに情報処理装置101がWi-Fiによってアクセスポイントと接続していない場合、NO判定となる。また例えば、設定操作が行われたときに情報処理装置101がWi-Fiによってアクセスポイントと接続していたが、情報処理装置101がWECに対応していない場合、NO判定となる。なお設定操作が行われたときに情報処理装置101がWi-Fiによってアクセスポイントと接続していたか否かは、上述の所定の記憶領域に接続済みAPに関する情報が保存されているか否かに基づいて判定される。また、情報処理装置101がWECに対応しているか否かは、S205で取得されたケーパビリティ情報の内容に基づいて判定される。CPU103は、YES判定の場合、S207に進み、NO判定の場合にS224に進む。
S207において、CPU103は、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続を介して、通信装置151から各種情報の取得を試みる。なお上述したようにネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続を介した通信では、セットアップ用通信プロトコルが用いられる。また、これにより取得される情報には、例えば、上述のWEC関連情報や、通信装置151がWECに対応しているか否かを示す情報が含まれる。なお、WECに対応しているか否かを示す情報とは、通信装置151が、DPPに対応しているか否かを示す情報である。なお通信装置151がWECに対応していない場合は、通信装置151がWECに対応していないことを示す情報が取得され、WEC関連情報は取得されない。また、通信装置151がWECに対応していない場合は、WEC関連情報と通信装置151がWECに対応しているか否かを示す情報の両方が取得されないこともある。一般にWEC関連情報は、通信装置151がWEC関連情報に対応するQRコードを表示部に表示し、そのQRコードを情報処理装置101がカメラユニット等で読み取ることで取得されることも可能である。しかし本実施形態では、WEC関連情報が、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続経由で取得される。この形態により、通信装置151がQRコードを表示するための表示部を有していなかったり、情報処理装置101がQRコードを読み取るためのカメラユニットを有していなかったりしても、情報処理装置101にWEC関連情報を取得させることができる。
次にS208において、CPU103は、通信装置151がWECに対応しているか否かを、S207で取得された情報に基づき判定する。通信装置151がWECに対応しているとは、上述したDPPに対応していることである。通信装置151がWECに対応していることを示す情報が取得された場合、YES判定となり、通信装置151がWECに対応していることを示す情報が取得されなかった場合、NO判定となる。CPU103は、YES判定の場合、S209に進み、NO判定の場合にS224に進む。なおS207で情報を取得できなかった場合は、本判定の結果はNOとなる。
次にS209において、CPU103は、S207でWEC関連情報を通信装置151から取得できたか否かを判定する。CPU103は、YES判定の場合、S210に進み、NO判定の場合にS222に進む。なおNO判定となるケースとは例えば、通信装置151がWECに対応していることを示す情報は取得されたが、通信エラー等でWEC関連情報は取得されなかったケースである。
S210において、CPU103は、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続を介して、通信装置151のケーパビリティ情報を取得する。本実施形態では、通信装置151のケーパビリティ情報には、通信装置151が対応している暗号化方式を示す情報や通信装置151が対応している周波数帯を示す情報が少なくとも一つ以上含まれているものとする。通信装置151が対応している暗号化方式は例えば、WPA(Wi-Fi Protected Access)、WPA2,WPA3である。また、通信装置151が対応している周波数帯を示す情報は、通信装置151が対応している周波数帯域に対応する通信チャネルを示す情報(チャネル情報)であっても良い。なお、後述する、通信装置151が対応している暗号化方式に関する判定や、通信装置151が対応している周波数帯域に関する判定が実行されない形態では、本処理は省略されても良い。なおケーパビリティ情報は、設定アプリに予め含まれていても良い。すなわち、CPU103は、設定アプリに予め含まれている各通信装置の種類や型番毎に用意されている複数のケーパビリティ情報の中から、通信装置151に対応するケーパビリティ情報を特定し、特定されたケーパビリティ情報を設定アプリから取得しても良い。
次にS211において、CPU103は、接続済みAPとの接続に利用されていた暗号化方式が、WECに対応する(DPPに対応する)暗号化方式か否かを判定する。なおWECに対応する暗号化方式とは、例えば、WPA2やWPA3であり、WECに対応していない暗号化方式とは、例えば、WPAやWEPである。なおCPU103は、WECに対応する暗号化方式がいずれであるかを、設定アプリが予め保持している情報により把握しても良いし、通信装置151から取得される情報によって把握しても良い。CPU103は、YES判定の場合、S212に進み、NO判定の場合にS224に進む。なお本判定は、他のタイミングで実行されても良い。具体的には例えば、本判定は、S204-YESの後に実行され、YES判定の場合、S205に進み、NO判定の場合にS224に進むのでも良い。
次にS212において、CPU103は、S210で取得されたケーパビリティ情報に基づいて、接続済みAPとの接続に利用されていた暗号化方式が、通信装置151が対応している暗号化方式か否かを判定する。なお本実施形態では、通信装置151が対応する暗号化方式がWPA、WPA2、WPA3であり、通信装置151が対応していない暗号化方式がWEP(Wired Equivalent Privacy)である。CPU103は、YES判定の場合、S213に進み、NO判定の場合にS225に進む。
次にS213において、CPU103は、S210で取得されたケーパビリティ情報に基づいて、接続済みAPとの接続に利用されていた周波数帯域が、通信装置151が対応している周波数帯域か否かを判定する。なお本実施形態では、通信装置151には、2.4GHzの周波数帯域と5GHzの周波数帯域の両方に対応する種類のものと、2.4GHzの周波数帯域には対応するが5GHzの周波数帯域には対応しない種類のものがあるものとする。そして、通信装置151は、対応していない周波数帯域によっては、アクセスポイントと接続することはできない。そのため例えば、接続済みAPとの接続に利用されていた周波数帯域が5GHzの周波数帯であり、且つ通信装置151が5GHzの周波数帯域は対応しない場合は、本判定の結果がNO判定となる。CPU103は、YES判定の場合、S214に進み、NO判定の場合にS225に進む。
S214において、CPU103は、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続の切断を指示する。
次にS215において、CPU103は、設定操作が行われたときに情報処理装置101がWi-Fiによって接続していたアクセスポイントと情報処理装置101との間の接続を再び確立する。なおWECでは、WEC実行時に情報処理装置101が接続しているアクセスポイントに関する情報が送信される。そのため本処理は、S216のWECの実行に備えて実行される。
次にS216において、CPU103は、取得したWEC関連情報を用いてWECを実行するための処理を実行する。なお本実施形態では、設定アプリは、WECを直接的に実行するのではなく、WECを実行するための処理として、OS標準のWEC用アプリケーションプログラム(以下、WEC用アプリ)を起動する処理を行う。そして、WEC用アプリによってWEC用のAPIが実行されて、OSにWECの実行要求が行われることにより、OSによりWECが実行される。なお設定アプリからWEC用のAPIが実行されて、OSにWECの実行要求が行われても良く、WECを実行するための処理は当該実行要求であっても良い。本処理の詳細は後述する。
S217において、CPU103は、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功したか否かを判定する。本判定は、通信装置151から取得される、アクセスポイントとの接続の成否を示す情報に基づいて実行される。なお、CPU103は、接続済みAPが形成するネットワーク上において通信装置151を検索し、通信装置151が発見された場合にWECが成功したと判定してもよい。CPU103は、YES判定の場合、処理を終了し、NO判定の場合にS218に進む。
S218において、CPU103は、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功しなかった原因が特定の原因であるかを判定する。なお本実施形態では、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功しなかった原因に関する情報が、通信装置151から取得されるものとし、当該情報に基づいて本判定が実行されるものとする。また本実施形態では、特定の原因は、例えば、WECにおける通信がエラーになったこと(原因1)である。また例えば、情報処理装置101とアクセスポイントとの接続に用いられる暗号化方式が通信装置151が対応していない暗号化方式であったこと(原因2)である。また例えば、情報処理装置101とアクセスポイントとの接続に用いられる周波数帯域が通信装置151が対応していない周波数帯域であったこと(原因3)である。なお、原因2や原因3による接続の失敗は、S221-YESの後にWECが実行された場合に生じうる。これは、S221-YESの後にWECが実行される場合は、S215の後にWECが実行される場合と異なり、通信装置151のケーパビリティ情報が取得されておらず、S212やS213のような判定が実行されていないためである。CPU103は、YES判定の場合、S225に進み、NO判定の場合には処理を終了する。なお、CPU103は、YES判定の場合、S224に進んでもよい。
なおS217やS218の処理は省略されても良い。具体的には例えば、S216の後に、S217やS218が実行されることなく処理が終了されても良い。また、S217-NOの場合に、S218が実行されることなく処理が終了されても良い。
次に、S202-NOの場合や、S204-NOの場合に実行されるS219について説明する。S219では、CPU103は、設定操作が行われたときに情報処理装置101がWi-Fiによってアクセスポイントと接続していたか否かを判定する。本判定は、上述の所定の記憶領域にアクセスポイントに関する情報が保存されているか否かに基づいて実行される。CPU103は、YES判定の場合、S220に進み、NO判定の場合に処理を終了する。
S220では、S207におけるWEC関連情報の取得方法とは異なる方法で、WEC関連情報の取得を試みる。具体的には例えば、上述した、QRコードの読み取りによるWEC関連情報の取得を試みる。図3は設定アプリが表示するQRコード撮影用の画面の一例である。QRコード撮影用の画面300には枠301が表示されており、さらに画面300には、情報処理装置101が備えるカメラユニットにより撮影されている画像が表示される。ユーザは、カメラユニットにより撮影されており、通信装置151が表示するQRコードが枠301に収まるように、情報処理装置101を操作する。枠301にQRコードが収まったことが検知された場合、CPU103は、QRコードの解析を行い、WEC関連情報を取得する。なおWEC関連情報の取得はこの形態に限定されず、例えば、NFCやBLEによって通信装置151からWEC関連情報を取得しても良い。なお、通信装置151が、WECに対応していない場合、QRコードの表示や、NFCやBLEによるWEC関連情報の送信を通信装置151は実行できない。その場合はCPU103は、ユーザから設定アプリ上でキャンセル操作を受け付けることで、処理を終了する。なおQRコード撮影用の画面300は、設定アプリでないアプリケーションプログラム(例えばWEC用アプリや、他の撮影用アプリケーションプログラム)によって表示されても良い。
次にS221では、S220においてWEC関連情報を取得できたか否かを判定する。CPU103は、YES判定の場合、S216に進み、NO判定の場合、処理を終了する。なお例えば、S220で読み取られたQRコードが、WEC関連情報を取得させるためのQRコードではなかった場合や、QRコードの読み取りが失敗した場合に、NO判定となる。またNO判定の場合、CPU103は、処理を終了せず、S224に進んでも良い。また、S221-YESの場合に、CPU103は、接続済みAPとの接続に利用されていた暗号化方式が、WECに対応する(DPPに対応する)暗号化方式か否かを判定しても良い。そしてCPU103は、YES判定の場合、S216に進み、NO判定の場合、処理を終了したり、S224に進んでも良い。なおこの場合CPU103は、WECに対応する暗号化方式がいずれであるかを、設定アプリが予め保持している情報により把握しているものとする。
次に、S209-NOの場合に実行されるS222について説明する。S222では、CPU103は、ネットワークセットアップモードとして動作する通信装置151が有効化しているアクセスポイントと情報処理装置101との間のWi-Fi接続を切断する。
次にS223では、CPU103は、設定操作が行われたときに情報処理装置101がWi-Fiによって接続していたアクセスポイントと情報処理装置101との間の接続を再び確立する。その後、CPU103は、前述したS220に進む。
このように本実施形態では、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続によってWEC関連情報が取得できない場合には、他の方法でWEC関連情報の取得を試みる。具体的には例えば、QRコードの読み取りでのWEC関連情報の取得を試みる。これにより、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続によってWEC関連情報が取得できない場合であっても、WECを実行することができる。
次に、S206-NOの場合や、S208-NOの場合、S211-NOの場合に実行されるS224について説明する。S224では、CPU103は、WECと異なる方法によって、通信装置151のネットワークセットアップを実行する。本実施形態では、WECと異なる方法とは、WEC用のプロトコル(DPP)と異なるプロトコルであるセットアップ用通信プロトコルを用いて通信装置151のネットワークセットアップを実行する方法である。本処理の詳細は図6において後述する。CPU103は、その後処理を終了する。
さらに、S212-NOの場合やS213-NOの場合、S218-YESの場合に実行されるS225について説明する。S225では、CPU103は、接続済みAPとは異なる他のアクセスポイントの接続情報を通信装置151に送信するために、WECを実行する。よって後述するS225におけるWECの実行において、接続済みAPとは異なる他のアクセスポイントに関する情報が送信される。本処理の詳細は図7において後述する。
S226において、CPU103は、S225において実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功したか否かを判定する。本判定は、WECの実行がキャンセルされたか否かの情報や、通信装置151から取得される、アクセスポイントとの接続の成否を示す情報に基づいて実行される。CPU103は、YES判定の場合、処理を終了し、NO判定の場合にS224に進む。なおCPU103は、NO判定の場合、処理を終了してもよい。なおS225において実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が失敗した場合とは、例えばWECにおける通信がエラーになったことである。また例えば、S225の処理において選択された、接続済みAPとは異なるアクセスポイントに、通信装置151が接続可能でない場合である。通信装置151がS225の処理において選択された、接続済みAPとは異なるアクセスポイントに接続可能でない場合とは、当該アクセスポイントが通信装置151の周囲に存在せず、ネットワークセットアップを実行できない場合である。
なお上述のフローチャートにおける処理の内容は、上述した内容に限定されない。例えばCPU103は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続によってWEC関連情報が取得できない場合、他の方法でWEC関連情報の取得を試みることなく処理を終了しても良い。ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続によってWEC関連情報が取得できない場合とは具体的には例えば、S202-NOの場合や、S204-NOの場合、S209-NOの場合である。すなわち、S202-NOの場合や、S204-NOの場合、S209-NOの場合、その後の処理(S220~S221)が実行されることなく処理が終了されても良い。
また例えば、上述では、S207の後に、S208とS209の2つの判定が行われていたがこの形態に限定されない。例えば、S207の後に、S208とS209の2つの判定の代わりに、WEC関連情報が取得されたか否かの判定が実行されても良い。そして、判定結果がYESの場合にS210に進み、判定結果がNOの場合にS224に進み、S220~S223の処理は実行されない形態であっても良い。
なお本実施形態では、通信装置151が対応する暗号化方式のなかに、WECに対応する暗号化方式が包含されている。そのため、S211の判定が実行されない形態であっても良い。具体的には例えば、S210の後に、S211の判定が実行されず、S212の判定が実行されても良い。
また例えば、通信装置151が対応する暗号化方式がWPA3のみであり、WECに対応する暗号化方式がWPA2、WPA3である形態等、WECが対応する暗号化方式のなかに通信装置151に対応する暗号化方式が包含されている形態であっても良い。その場合は、S211の判定が実行されない形態であっても良い。
ここで図4を用いて、S216において情報処理装置101と通信装置151によって実行される処理を説明する。図4に示すシーケンスは、例えば、各装置のCPUが各装置のROMや外部記憶装置等に格納されたプログラムを各装置のRAMに読み出して実行することにより実現される。
まずS400において情報処理装置101は、OSの機能により、DPPを利用したWECを開始する。具体的にはまず情報処理装置101は、WEC用アプリの起動指示を設定アプリからOSに指示することで、WEC用アプリを起動する。これにより、WEC用アプリがフォアグラウンドで動作し、設定アプリがバックグラウンドで動作することとなる。なお例えば当該指示の実行が、WECを実行するための指示に相当することとなる。これにより情報処理装置101は、WEC用アプリによるWEC開始画面を表示する。なおWEC用アプリは、情報処理装置101に予めインストールされているプログラムであり、情報処理装置101のOSベンダーによって提供されるプログラムである。また、WEC用アプリが起動された場合、設定アプリによって取得されたWEC関連情報が、WEC用アプリに提供される。図5は、WEC用アプリによって表示されるWEC開始画面の一例である。WEC開始画面500には領域501、502、503が表示されている。領域501は、WECによる設定対象として設定されているアクセスポイントを変更するための領域である。なお領域501が操作される前は、WECによる設定対象として設定されているアクセスポイントは、情報処理装置101が現在接続しているアクセスポイントである。情報処理装置101は、領域501が選択された場合、アクセスポイントのリストを表示し、リストからユーザによって選択されたアクセスポイントを、WECによる設定対象として新たに設定する。なおアクセスポイントのリストには、情報処理装置101が接続したことがあるアクセスポイント等が含まれるものとする。領域502は、WECの実行をキャンセルするための領域であり、領域503は、WECの実行を指示するための領域である。情報処理装置101は、領域502が操作された場合、本シーケンス図における処理を終了し、S217に進む。なおこの場合、WECが失敗したものとしてみなされる。また、情報処理装置101は、領域503が押下された場合、S401に進む。
S401では、WEC用アプリが、WEC関連情報やWECによる設定対象として設定されているアクセスポイントに関する情報を用いてWEC用のAPIを実行することにより、OSにWECの実行が指示される。そして、OSの機能により、情報処理装置101と通信装置151との間で、DPP Authenticationと呼ばれる処理が実行される。DPP Authenticationにおいては、情報処理装置101と通信装置151との間で、認証情報や、情報の暗号化に利用される情報などが通信されることで、装置間の通信の認証が行われる。なおDPP Authenticationにおける通信において情報処理装置101から送信される各種情報は、情報処理装置101によって図2に示す処理において取得されているWEC関連情報に基づき暗号化される。DPP Authenticationにおいては具体的にはまず情報処理装置101が、DPPによるネットワークセットアップ要求としてAuthentication Requestを送信する。次に、DPP待ち受けモードとして動作する通信装置151は、Authentication Requestを待ち受けるモードであるDPP待ち受けモードとして動作しているため、情報処理装置101から送信された当該Requestを受信する。Authentication Requestを受信した通信装置151は、受信したRequestを、自身が現在有している復号鍵による復号化を試みる。そして通信装置151は、当該復号化に成功した場合、Authentication responseを情報処理装置101に送信し、情報処理装置101との通信を認証する。なお、情報処理装置101が、正確なWEC関連情報を取得できておらず、正確に情報を暗号化できていなかった場合は、通信装置151における復号化が失敗するため、認証は失敗し、Authentication responseが送信されない。Authentication responseが情報処理装置101によって受信されることで、DPP Authenticationが完了する。またDPP Authenticationにおいては、DPPが用いられて通信が実行される。
次にS402において、OSの機能により、情報処理装置101と通信装置151との間で、DPP Configurationと呼ばれる処理が実行される。DPP Configurationにおいては、情報処理装置101は、WECによる設定対象として設定されているアクセスポイントと接続するための接続情報をWECにより通信装置151に送信する。なお接続情報には、WECによる設定対象として設定されているアクセスポイントのSSIDやパスワード、暗号化方式を示す情報等が少なくとも一つ以上含まれる。このとき送信されるパスワードは、情報処理装置101とアクセスポイントとの間の接続が確立される際にOS対応のアプリが表示する画面上においてユーザによって入力された情報である。そして、情報処理装置101とアクセスポイントとの間の接続が確立された際にOSにより保持された情報である。またパスワードは、設定アプリは保持していない情報である。また、このとき送信されるパスワードは、OSが既に保持している情報であり、且つDPP ConfigurationはOSによって実行される処理であるため、設定アプリが表示する画面上において新たにユーザによって入力される必要はない。本実施形態のようにWECによって接続情報を送信することで、設定アプリが表示する画面上においてユーザからパスワードの入力を新たに受け付けることなく且つ、セキュアな通信で、パスワードを通信装置151に送信することができる。なおDPP Configurationにおいても、DPPが用いられて通信が実行される。
S403では、通信装置151は、ネットワークセットアップモードを終了し、インフラストラクチャモードに移行する。そして通信装置151は、WECによって取得した接続情報を用いて、当該接続情報に対応するアクセスポイントとの接続を試みる。接続が成功した場合、以後、通信装置151は、接続したアクセスポイントが形成するネットワークを介して通信を実行可能となる。なお接続したアクセスポイントが形成するネットワークを介した通信は、DPPとは異なるプロトコル(具体的には例えば、Port9100やSNMP、通信装置151のベンダー独自のプロトコル)によって実行される。なお通信装置151は、WECによって取得した接続情報に対応するアクセスポイントとの接続の成否を示す情報を、情報処理装置101に送信しても良い。また、さらに、WECによって取得した接続情報に対応するアクセスポイントとの接続が失敗した場合は、失敗した原因を示す情報を、情報処理装置101に送信しても良い。またこれらの情報送信は、DPPが用いられて実行されてよい。なおWECによって取得した接続情報に対応するアクセスポイントとの接続が失敗する原因は、WECにおける通信のエラーや、当該アクセスポイントが発見されなかったことや、通信装置151から取得されたWEC関連情報が適切な情報でなかったこと等である。また例えば、WECによる設定対象として設定されているアクセスポイントとの接続に用いられる暗号化方式が通信装置151が対応していない暗号化方式であったこと等である。また例えば、WECによる設定対象として設定されているアクセスポイントとの接続に用いられる暗号化方式がWECが対応していない暗号化方式であったこと等である。なお情報処理装置101は、WECによって取得した接続情報に対応するアクセスポイントと通信装置151との接続の成否を示す情報を表示部108に表示してもよい。さらに、WECによって取得した接続情報に対応するアクセスポイントと通信装置151との接続が失敗した場合は、失敗した原因を示す情報を表示部108に表示してもよい。なお本発明においては、S403においてWECによって取得した接続情報を用いてアクセスポイントとの接続を試みる前に、ネットワークセットアップモードでの動作の開始条件に基づいて、当該アクセスポイントとの接続に関する通知の出力を切り替える。これについては、図10において後述する。
S404では、情報処理装置101は、WECの実行が終わったことに基づいて、フォアグラウンドで動作しているアプリを、WEC用アプリから設定アプリに切り替える。そして、情報処理装置101は、自身が属するネットワーク上で、通信装置151を検索する。本処理は、WECの実行が終わったことの通知をOSから受け取った設定アプリにより実現される。そして情報処理装置101は、通信装置151が発見された場合に、通信装置151にケーパビリティ情報を要求し、通信装置151はケーパビリティ情報を情報処理装置101に送信する。これにより、設定アプリ上に、通信装置151の情報を登録し、以後、設定アプリによって通信装置151との通信を実行可能とする。具体的には例えば、設定アプリによって通信装置151に印刷ジョブを送信可能とする。なおこのとき、WECによって通信装置151が接続したアクセスポイントによって形成されるネットワークに情報処理装置101が属している場合には、当該アクセスポイントを介して通信装置151との通信が実行可能となる。また、通信装置151が接続したアクセスポイントが、情報処理装置101が接続しているアクセスポイントでなかった場合等、情報処理装置101と通信装置151との間の通信が実行できない場合は、ケーパビリティ情報の要求や取得は省略される。なおS404における通信は、例えば、DPPともセットアップ用通信プロトコルとも異なる通信プロトコルが利用されて実行される。その後情報処理装置101は、本シーケンス図における処理を終了し、S217に進む。
なお上述では、WEC用アプリによってWEC開始画面が表示され、WEC用アプリがWEC用のAPIを実行することによりWECの実行をOSに指示する形態を説明したが、この形態に限定されない。例えば設定アプリによってWEC開始画面が表示されても良い。またWEC用のAPIを設定アプリが実行することによりWECの実行をOSに指示する形態であっても良い。
次に図6を用いて、S224において情報処理装置101と通信装置151によって実行される処理を説明する。図6に示すシーケンスは、例えば、各装置のCPUが各装置のROMや外部記憶装置等に格納されたプログラムを各装置のRAMに読み出して実行することにより実現される。なお上述したように、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介した通信では、セットアップ用通信プロトコルが用いられる。
S600では、情報処理装置101は、設定アプリにより、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、アクセスポイントのリストを通信装置151に要求する。
次にS601では、通信装置151は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、アクセスポイントのリストを情報処理装置101に送信する。なおここで送信されるリストは、通信装置151がAPサーチを実行することにより発見された、通信装置151が接続可能な1または複数のアクセスポイントを示すリストである。
次にS602では、情報処理装置101は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、受信したリストに含まれるいずれかのアクセスポイントの接続情報を通信装置151に送信する。なお本処理は、設定アプリが、受信したリストに含まれるいずれかのアクセスポイントの接続情報を送信するよう情報処理装置101を制御することで実現される。本処理において具体的には情報処理装置101は、受信したリストに、接続済みAPが含まれる場合、接続済みAPの接続情報を送信する。本実施形態では、リストには通信装置151が接続可能なアクセスポイントのみが含まれるため、受信したリストに接続済みAPが含まれる場合とはすなわち、接続済みAPに通信装置151が接続可能な場合である。また、受信したリストに、接続済みAPが含まれなかった場合、情報処理装置101は、受信したリストを表示部108に表示し、リストからいずれかのアクセスポイントの選択をユーザから受け付ける。そして情報処理装置101は、選択されたアクセスポイントの接続情報を送信する。本実施形態では、リストには通信装置151が接続可能なアクセスポイントのみが含まれるが、S211-NOの場合に進むS224においては、接続済みAPと通信装置151が接続可能である場合もあるため、接続済みAPの接続情報が送信されることも、接続済みAPとは異なるアクセスポイントの接続情報が送信されることも起こりうる。なおこの形態に限定されず、必ずリストを表示してアクセスポイントの選択をユーザから毎回受け付けても良い。なお接続情報が送信される前に、情報処理装置101は、アクセスポイントと接続するためのパスワードの入力を設定アプリが表示する画面上でユーザから受け付ける。そして、受け付けたパスワードを接続情報に含めて、接続情報を送信する。
S603では、通信装置151は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、接続情報を受信したことを情報処理装置101に通知する。
S604では、通信装置151は、ネットワークセットアップモードを終了し、インフラストラクチャモードに移行する。そして通信装置151は、S602で取得した接続情報を用いて、当該接続情報に対応するアクセスポイントとの接続を試みる。接続が成功した場合、以後、通信装置151は、接続したアクセスポイントが形成するネットワークを介して通信を実行可能となる。
S605では、情報処理装置101は、設定アプリにより、保存していた接続情報を用いて、設定操作が行われたときに情報処理装置101が接続していたアクセスポイントと再び接続する。なおこの形態に限定されない。例えば情報処理装置101は、設定操作が行われたときに情報処理装置101がWi-Fiによって接続していたアクセスポイントとは異なる他のアクセスポイントの接続情報を通信装置151に送信していた場合等は、当該他のアクセスポイントと接続しても良い。
S606では、情報処理装置101は、設定アプリにより、自身が属するネットワーク上で、通信装置151を検索する。そして情報処理装置101は、通信装置151が発見された場合に、通信装置151にケーパビリティ情報を要求し、通信装置151はケーパビリティ情報を情報処理装置101に送信する。これにより、設定アプリ上に、通信装置151の情報を登録し、以後、設定アプリによって通信装置151との通信を実行可能とする。具体的には例えば、設定アプリによって通信装置151に印刷ジョブを送信可能とする。なおこのとき、ネットワークセットアップによって通信装置151が接続したアクセスポイントによって形成されるネットワークに情報処理装置101が属している場合には、当該アクセスポイントを介して通信装置151との通信が実行可能となる。なお、通信装置151が接続したアクセスポイントが、情報処理装置101が接続しているアクセスポイントでなかった場合等、情報処理装置101と通信装置151との間の通信が実行できない場合は、ケーパビリティ情報の要求や取得は省略される。なおS606における通信は、例えば、DPPともセットアップ用通信プロトコルとも異なる通信プロトコル(具体的には例えば、CHMP)が利用されて実行される。その後情報処理装置101は、本シーケンス図における処理を終了する。
なお、S602において、情報処理装置101は、ネットワークセットアップモードとして動作する通信装置151と情報処理装置101との間のWi-Fi接続を介して、通信装置151とのダイレクト接続を行うための接続要求を通信装置151に送信してもよい。この場合、上記のS603~S605の処理の代わりに、通信装置151は、P2Pモード時に通信装置151内で有効化されるアクセスポイントの接続情報を情報処理装置101に送信し、ネットワークセットアップモードを終了してP2Pモードに移行する。そして情報処理装置101は、受信した接続情報を用いて通信装置151とのP2P接続を確立する。その後S606の処理が実行される。なおこのとき、情報処理装置101が属するネットワークとは、通信装置151内で有効化されるアクセスポイントによって形成されているネットワークである。
なお、上述のシーケンス図における処理の内容は、上述した内容に限定されない。例えば、受信したリストに、設定操作が行われたときに情報処理装置101がWi-Fiによって接続していたアクセスポイントが含まれなかった場合、アクセスポイントの接続情報を送信しなくてもよい。すなわち、情報処理装置101は、通信装置151とアクセスポイントとの間の接続確立を試みなくても良い。代わりに情報処理装置101は、P2Pモード時に通信装置151内で有効化されるアクセスポイントの接続情報を通信装置151から受信し、P2Pモードで動作する通信装置151と情報処理装置101との間の接続確立を試みても良い。その形態の場合、通信装置151は、P2Pモード時に通信装置151内で有効化されるアクセスポイントの接続情報を送信した後、ネットワークセットアップモードを終了し、P2Pモードに移行する。このとき移行されるP2Pモードは、APモードであっても良いしWFDモードであっても良い。
次に図7を用いて、S212-NOの場合やS213-NOの場合に進むS225において情報処理装置101によって実行される処理を説明する。図7に示すフローチャートは、例えば、CPU103がROM104や外部記憶装置106等に格納されたプログラムをRAM105に読み出して実行することにより実現される。
S701において、CPU103は、OSから、アクセスポイントの接続情報を取得する。ここで取得される情報に対応するアクセスポイントは、例えば、以前に情報処理装置101と接続したことがあるアクセスポイントであり、OSは当該アクセスポイントとの接続の際にユーザに入力されたパスワードを記憶しているものとする。例えばパスワードは、情報処理装置101とアクセスポイントとの間の接続が確立される際にOS対応のアプリが表示する画面上においてユーザによって入力された情報である。そして、パスワードは、情報処理装置101とアクセスポイントとの間の接続が確立された際にOSにより保持された情報である。またパスワードは、設定アプリは保持していない情報である。なお本実施形態では、通信装置151が対応する暗号化方式がWPA、WPA2、WPA3であり、通信装置151が対応していない暗号化方式がWEP(Wired Equivalent Privacy)である。そしてCPU103は、OSから取得した接続情報に対応するアクセスポイントの中に、通信装置151が対応している暗号化方式に対応しているアクセスポイントがあるか否かを判定する。CPU103は、S701においてYESと判定された場合、S702に進み、S701においてNOと判定された場合、S706に進む。
S702において、CPU103は、OSから取得した接続情報に対応するアクセスポイントのうち、通信装置151が対応している暗号化方式に対応しているアクセスポイントを特定する。S702においては、複数のアクセスポイントが特定されてもよいし、一つのアクセスポイントが特定されてもよい。
S703において、CPU103は、S702において特定したアクセスポイントとの接続に利用されていた周波数帯域の情報をOSから取得する。そして、S702で特定されたアクセスポイントの中に、通信装置151が対応している周波数帯に対応しているアクセスポイントがあるか否かを判定する。なお本実施形態では、通信装置151には、2.4GHzの周波数帯域と5GHzの周波数帯の両方に対応する種類のものと、2.4GHzの周波数帯域には対応するが5GHzの周波数帯には対応しない種類のものがあるものとする。そして、通信装置151は、対応していない周波数帯によっては、アクセスポイントと接続することはできない。そのため例えば、特定したアクセスポイントとの接続に利用されていた周波数帯域が5GHzの周波数帯であり、且つ通信装置151が5GHzの周波数帯域は対応しない場合は、本判定の結果がNO判定となる。CPU103は、YES判定の場合、S704に進み、NO判定の場合にS706に進む。
S704において、CPU103は、S702で特定されたアクセスポイントのうち、プリンタが対応している周波数に対応しているアクセスポイントを特定する。S704においては、複数のアクセスポイントが特定されてもよいし、一つのアクセスポイントが特定されてもよい。
ここで例えば、情報処理装置101が以前に接続したことのあるアクセスポイントのうち、Wi-Fi通信で利用される暗号化方式がWPA2であり、かつ周波数帯域が2.4GHzの周波数帯のアクセスポイントがあるとする。この場合、通信装置151が、WPA2に対応しており、かつ2.4GHzの周波数帯域に対応している場合に、S704において特定される。なお、情報処理装置101は、アクセスポイントと接続する際に、当該アクセスポイントとのWi-Fi通信で利用される暗号化方式や周波数帯域の情報をアクセスポイントから取得し、OSによって記憶しているものとする。
S705において、CPU103は、通信装置151と、S703で特定されたアクセスポイントとの接続を確立させるための処理を実行する。なお当該処理は、言い換えれば、S703で特定されたアクセスポイントの情報をWECで通信装置151に送信するための処理である。また通信装置151が接続可能なアクセスポイントは本実施形態では、S704で特定されたアクセスポイントであり、通知装置151が対応している暗号化方式及び周波数帯域に対応しているアクセスポイントである。例えば、通信装置151が接続可能なアクセスポイント(S704で特定したアクセスポイント)を、S706において起動されるWEC用アプリの画面において選択させるための通知を情報処理装置101の画面に表示する。図8(a)は、S705で表示される画面810の一例であり、S704で特定されたアクセスポイントが一つであった場合の画面の一例である。なお図8(a)に表示される画面は、S706で起動されるWEC用アプリの画面において、以前に情報処理装置101が接続したことのあるアクセスポイントの中から、S704で特定したアクセスポイントを選択するようユーザに通知する画面であってもよい。例えば表示される画面には、「次に表示される画面において以下のアクセスポイントを選択してください。」のような通知が表示されてもよい。CPU103は、図8(a)の領域812がユーザによって操作された場合、S705に進み、領域811が選択された場合、本フローチャートの処理を終了する。なおWECでは、通常は、WEC実行時に情報処理装置101が接続しているアクセスポイントに関する情報が送信される。よってS705において、CPU103は、通信装置151と、通信装置151が接続可能なアクセスポイントとの接続を確立させるための処理として、情報処理装置101と、通信装置151が接続可能なアクセスポイントとの接続を確立させる処理を実行してもよい。また、CPU103は、通信装置151と、通信装置151が接続可能なアクセスポイントを、S706において起動されるWEC用アプリの画面において選択させるための通知を情報処理装置101の画面に表示した後、情報処理装置101と、通信装置151が接続可能なアクセスポイントとの接続を確立させる処理を実行してもよい。
なおS704において特定されたアクセスポイントが複数ある場合は、S704において特定された複数のアクセスポイントを表示する。図8(b)は、S705で表示する画面820の一例であり、S704で特定されたアクセスポイントが複数であった場合の画面の一例である。なお図8(b)に表示される画面は、S706で起動されるWEC用アプリの画面において、以前に情報処理装置101が接続したことのあるアクセスポイントの中から、通信装置151が接続可能な複数のアクセスポイントのうち、いずれかのアクセスポイントを選択するようユーザに通知する画面であってもよい。例えば表示される画面には、「次に表示される画面において以下のアクセスポイントのうちいずれかのアクセスポイントを選択してください。」のような通知が表示されてもよい。CPU103は、図8(b)の領域822がユーザによって操作された場合、S706に進み、領域821が選択された場合、本フローチャートの処理を終了する。
上述の処理が実行されることにより本実施形態では、図8(a)や(b)において表示されるアクセスポイントには、通信装置151が接続可能なアクセスポイントのみが含まれることになる。例えば通信装置151に対応していない暗号化方式によって接続可能なアクセスポイントは、通信装置151が接続可能でないため、表示されない。また例えば、通信装置151に対応していない周波数帯域によって接続可能なアクセスポイントは、通信装置151が接続可能でないため、表示されない。すなわち、S212-NOの場合や、S213-NOの場合に実行されるS225では、接続済みAPとは異なるアクセスポイントの接続情報が通信装置151に送信されることとなる。
なお、通信装置151が接続可能なアクセスポイントの情報は、図8(a)や(b)のような、設定アプリがフォアグラウンドで動作している状態で表示される通知画面で表示されるのではなく、プッシュ通知機能等が利用されることによるポップアップ通知として表示されてもよい。そしてポップアップ通知は、S706で起動されるWEC用アプリの画面が表示される場合においても、WEC用アプリの画面と並行して表示されてよい。これにより、ユーザはポップアップ通知として表示されたアクセスポイントの情報を見ながら、WEC用アプリの画面において当該アクセスポイントを選択することができる。なおポップアップ通知とWEC用アプリの画面は同時に表示されてもよい。すなわち、S706とS705が同時に実行されても良い。また例えば、WEC用アプリの画面が表示された後にポップアップ通知が表示されてもよい。すなわち、S706の処理が実行された後に、S705が実行されても良い。
S706において、CPU103は、取得したWEC関連情報を用いてWECを実行するための処理として、WEC用アプリを起動する処理を行う。なお本処理は図4のS400で前述した処理と同様である。WEC用アプリが起動すると、上述したように、情報処理装置101が接続しているアクセスポイントの接続情報を送信するか否かを選択するWEC用アプリの画面(WEC開始画面500)が表示される。そしてWEC開始画面500の領域501が操作された場合に、情報処理装置101が以前に接続したことのあるアクセスポイントのリストが表示される。そして情報処理装置101が以前に接続したことのあるアクセスポイントの中から、ユーザによってS705において通知されたアクセスポイントが選択された場合、通信装置151が接続可能なアクセスポイントの接続情報がWECによって通信装置151に送信される。つまりユーザは、S705において通知されたアクセスポイントを確認し、WEC開始画面500の領域501の操作で表示されたアクセスポイントのリストから、S705において通知されたアクセスポイントを選択することで、通信装置151が接続可能であるアクセスポイントの接続情報を通信装置151に送信させることができる。なお情報処理装置101は、以前に接続したことのあるアクセスポイントのパスワードを記憶しているものとする。なお以降のWECの実行処理は、図4と同様の処理である。なお接続情報には、WECによる設定対象として設定されているアクセスポイントのSSIDやパスワード、暗号化方式を示す情報等が少なくとも一つ含まれる。なおこのとき送信されるパスワードは、OSが既に保持している情報であり、且つDPP ConfigurationはOSによって実行される処理であるため、設定アプリが表示する画面上において新たにユーザによって入力される必要はない。なおCPU103は、情報処理装置101が、通信装置151に送信された接続情報に対応するアクセスポイントと接続していない場合、S706において情報処理装置101と当該アクセスポイントとの接続を確立してもよい。
S701-NOの場合やS703-NOの場合に進むS707において、CPU103は、情報処理装置101の周囲のアクセスポイントの検索を情報処理装置101のOSに指示し、その検索結果を設定アプリにより取得する。そして検索により発見されたアクセスポイントのリストを表示し、当該リストの中から何れのアクセスポイントと通信装置151とを接続させるかを選択させる通知を画面に表示する(不図示)。CPU103は、何れかのアクセスポイントが選択された場合に、S707に進み、例えば画面に表示されるキャンセルボタン(不図示)が選択された場合、本フローチャートの処理を終了する。なおCPU103は、検索により発見されたアクセスポイントのうち、通信装置151が接続可能なアクセスポイントのみをリストとして表示してもよい。なおアクセスポイントのリストは、設定アプリではなくOSによって表示されてもよい。例えばOSによって表示される画面は、情報処理装置101のWi-Fi設定画面でもよい。
S708において、CPU103は、S707において選択されたアクセスポイントのパスワードをユーザに入力させる通知を画面に表示する。図8(c)は、パスワードを入力させる通知(入力)画面830の一例である。CPU103は、図8(c)の領域831にパスワードが入力され、領域833が操作された場合、S709に進み、領域832が操作された場合、本フローチャートの処理を終了する。なお領域831にパスワードが入力され、領域833が操作された場合であっても、入力されたパスワードが正しいパスワードでない場合は、正しいパスワードを再度入力させる通知が画面に表示されてもよい。
S709において、CPU103は、S707においてユーザによって選択されたアクセスポイントと、情報処理装置との接続を確立させる処理を実行する。なおWECでは、通常は、WEC実行時に情報処理装置101が接続しているアクセスポイントに関する情報が送信される。そのため本処理は、S710のWECの実行に備えて実行される。
S710において、CPU103は、取得したWEC関連情報を用いてWECを実行するための処理として、WEC用アプリを起動する処理を行う。なお本処理は図4のS400で前述した処理と同様である。WEC用アプリが起動すると、上述したように、情報処理装置101が接続しているアクセスポイントの接続情報を送信するか否かを選択する画面(WEC開始画面500)が表示される。本処理において、情報処理装置101が接続しているアクセスポイントとは、S707によってユーザに選択されたアクセスポイントであり、S709において情報処理装置が接続したアクセスポイントである。なお以降のWECの実行処理は、図4と同様の処理である。これによりユーザは、S707において選択したアクセスポイントの接続情報を通信装置151に送信させることができる。なお接続情報には、WECによる設定対象として設定されているアクセスポイントのSSIDやパスワード、暗号化方式を示す情報等が少なくとも一つ以上含まれる。なおこのとき送信されるパスワードは、S707においてユーザに入力されたパスワードである。
上述したS707において、CPU103は、周囲のアクセスポイントの検索結果を取得し、どのアクセスポイントと通信装置151を接続させるかを選択させる画面を表示する代わりに、ユーザにアクセスポイントのSSIDを入力させる画面を表示してもよい。
なお上述したS701~S706の判定は省略され、S225においては、S707~S710の処理が実行されてもよい。つまり、S225においては、常に情報処理装置101の周囲のアクセスポイントのリストが表示され、通信装置151と接続させるアクセスポイントをユーザに選択させる形態であってもよい。
また、S701~S705の処理が実行されなくてもよい。例えばCPU103は、S225において、WECによって通信装置151を接続済みAPに接続させることができないことを示す通知を画面に表示し、S706においてWEC用アプリを起動する処理を行う。上述したように、WEC開始画面500の領域501が操作された場合に、情報処理装置101が以前に接続したことのあるアクセスポイントのリストが表示される。そして情報処理装置101が以前に接続したことのあるアクセスポイントの中から、ユーザによって所定のアクセスポイントが選択された場合、当該所定のアクセスポイントの接続情報がWECによって通信装置151に送信される。つまりユーザは、WECによって通信装置151を接続済みAPに接続させることができないことを示す通知を確認し、WEC開始画面の領域501の操作で表示されたアクセスポイントのリストから、接続済みAP以外のアクセスポイントを選択することができる。これにより、ユーザが通信装置151との接続が可能でない接続済みAP以外のアクセスポイントを選択することができる。なおWECによって通信装置151を接続済みAPに接続させることができないことを示す通知は、ポップアップ通知として表示されてもよい。そしてポップアップ通知は、WEC用アプリの画面が表示された場合においても表示され続けてよい。なおポップアップ通知とWEC用アプリの画面は同時に表示されてもよいし、WEC用アプリの画面が表示された後にポップアップ通知が表示されてもよい。
さらに、図7のS701においてNOと判定された場合、S706に進むが、これに限定されない。例えば、S701においてNOと判定された場合は、図2のS224に進み、セットアップ用プロトコルを用いたネットワークセットアップが実行されてもよい。
上述のように、本実施形態では、設定対象の所定のアクセスポイントを通信装置151が利用できる場合には、WECによって所定のアクセスポイントの接続情報を通信装置151に送信するよう情報処理装置101を制御する。また、設定対象の所定のアクセスポイントを通信装置151が利用できない場合には、通信装置151が接続可能な、所定のアクセスポイントと異なるアクセスポイントの接続情報を通信装置151に送信するよう情報処理装置101を制御する。なお所定のアクセスポイントを通信装置151が利用できる場合とは、例えば、所定のアクセスポイントとの接続に用いられる暗号化方式に通信装置151が対応している場合であり、かつ所定のアクセスポイントとの接続に用いられる周波数帯域に通信装置151が対応している場合である。そして、所定のアクセスポイントを通信装置151が利用できない場合とは、例えば、所定のアクセスポイントとの接続に用いられる暗号化方式に通信装置151が対応していない場合や、所定のアクセスポイントとの接続に用いられる周波数帯域に通信装置151が対応していない場合である。
このような形態とすることで、所定のアクセスポイントと通信装置151との接続を、WECによって確立させることができる場合には、WECによってセットアップを行う。また、所定のアクセスポイントと通信装置151との接続を、WECによって確立させることができない場合には、通信装置151が接続可能な、所定のアクセスポイントとは異なるアクセスポイントと通信装置151との接続をWECによって確立させる。これにより、ユーザによるパスワードの入力等を省略した簡便なセットアップをより確実に実現できる。さらに、情報処理装置101や通信装置151がWECに対応していない場合や、所定のアクセスポイントとの接続に用いられる暗号化方式にWECが対応していない場合は、セットアップ用プロトコルを用いたネットワークセットアップを実行させる。これにより、より確実に通信装置151のセットアップを実行することができる。
(第2実施形態)
第1実施形態と異なる形態で、本発明の課題を解決する形態を説明する。
第1実施形態では、S209-NO~S220に相当するように、ネットワークセットアップモードの通信装置151からWEC関連情報を取得できなかった場合に、ネットワークセットアップモードの通信装置151からWEC関連情報を取得する方法とは異なる方法でWEC関連情報を取得した。しかしながら本実施形態では、情報処理装置101とネットワークセットアップモードの通信装置151との接続によってWEC関連情報を取得する方法を試みることなく、初めから異なる方法でWEC関連情報を取得する。例えば、通信装置151に表示されたQRコードの読み取りによってWEC関連情報を取得する。これにより、第1実施形態より少ない処理でセットアップを実現できる。
本実施形態の通信システムは、特記しない限り、第1実施形態と同様の通信システムであるものとする。
図9は、本実施形態のネットワークセットアップ処理において情報処理装置101が実行する処理の流れを示すフローチャートである。図9に示すフローチャートは、例えば、CPU103がROM104や外部記憶装置106等に格納された設定アプリをRAM105に読み出して実行することにより実現される。また、図9に示すフローチャートは、設定アプリが表示する画面において、設定操作が行われたことに応じて開始される。
S901~S902は、S205~S206と同様の処理である。CPU103は、YES判定の場合、S903に進み、NO判定の場合にS913に進む。
S903では、CPU103は、ネットワークセットアップモードの通信装置151からWEC関連情報を取得する方法とは異なる方法でWEC関連情報の取得を試みる。具体的には例えば、上述した、通信装置151に表示されたQRコードの読み取りによるWEC関連情報の取得を試みる。詳細な処理はS220と同様の処理である。なおS903においてCPU103は、WEC関連情報のほかに通信装置151のケーパビリティ情報を取得し、所定のメモリに保存している。
次にS904において、CPU103は、通信装置151がWECに対応しているか否かを、S903で取得された情報に基づき判定する。詳細な処理はS208と同様の処理である。CPU103は、YES判定の場合、S905に進み、NO判定の場合にS913に進む。なおS903で情報を取得できなかった場合は、本判定の結果はNOとなる。
次にS905において、CPU103は、S903でWEC関連情報を通信装置151から取得できたか否かを判定する。詳細な処理はS209と同様の処理である。CPU103は、YES判定の場合、S906に進み、NO判定の場合に本フローチャートの処理を終了する。なおNO判定となるケースとは例えば、通信装置151がWECに対応していることを示す情報は取得されたが、通信エラー等でWEC関連情報は取得されなかったケースである。
S906において、CPU103は、S903において取得した通信装置151のケーパビリティ情報を所定のメモリから取得する。詳細な処理はS210と同様の処理である。
次にS907において、CPU103は、接続済みAPとの接続に利用されていた暗号化方式が、WECに対応する(DPPに対応する)暗号化方式か否かを判定する。詳細な処理はS211と同様の処理である。YES判定の場合、S908に進み、NO判定の場合にS913に進む。
次にS908において、CPU103は、S906で取得されたケーパビリティ情報に基づいて、接続済みAPとの接続に利用されていた暗号化方式が、通信装置151が対応している暗号化方式か否かを判定する。詳細な処理はS212と同様の処理である。CPU103は、YES判定の場合、S909に進み、NO判定の場合にS914に進む。
次にS909において、CPU103は、S906で取得されたケーパビリティ情報に基づいて、接続済みAPとの接続に利用されていた周波数帯域が、通信装置151が対応している周波数帯域か否かを判定する。詳細な処理はS213と同様の処理である。CPU103は、YES判定の場合、S910に進み、NO判定の場合にS914に進む。
次にS910において、CPU103は、取得したWEC関連情報を用いてWECを実行するための処理を実行する。詳細な処理はS216と同様の処理である。
S911において、CPU103は、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功したか否かを判定する。詳細な処理はS217と同様の処理である。CPU103は、YES判定の場合、処理を終了し、NO判定の場合にS912に進む。
S912において、CPU103は、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功しなかった原因が特定の原因であるかを判定する。なお本実施形態では、実行されたWECによって、アクセスポイントと通信装置151との間の接続の確立が成功しなかった原因に関する情報が、通信装置151から取得されるものとし、当該情報に基づいて本判定が実行されるものとする。また本実施形態では、特定の原因は、例えば、WECにおける通信がエラーになったこと(原因1)である。CPU103は、YES判定の場合、S914に進み、NO判定の場合には処理を終了する。なお、CPU103は、YES判定の場合、S913に進んでもよい。
そして、S913は、S224と同様の処理であり、S914は、S225と同様の処理であり、S915は、S226と同様の処理である。
上述したように本実施形態では、情報処理装置101とネットワークセットアップモードの通信装置151との接続によってWEC関連情報を取得することを試みずに、QRコードの読み取りによってWEC関連情報を取得する。これにより、第1実施形態より少ない処理でセットアップを実現できる。さらに、実施形態1のS220、S211からS216に進んだ際に、原因2や原因3によってアクセスポイントと通信装置151との間の接続の確立が成功しない可能性を軽減できる。
(その他の実施形態)
上述の実施形態では、S224におけるネットワークセットアップは、Wi-Fiによる情報処理装置101と通信装置151との間の接続を介して接続情報が送信される形態を説明したが、この形態に限定されない。例えばネットワークセットアップは、BLE等、Wi-Fi以外の通信方式による情報処理装置101と通信装置151との間の接続を介して接続情報が送信されても良い。なおこの形態の場合、情報処理装置101は、接続済みAPとのWi-Fi接続を維持したまま、通信装置151とBLEによって接続することができる。すなわち、接続済みAPの接続情報として、現在接続しているアクセスポイントの接続情報を送信することができる。なおこの形態においても、DPPとは異なる通信プロトコルが用いられるものとする。
上述の実施形態は、以下の処理を実行することによっても実現される。すなわち上述の実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に共有し、そのシステムあるいは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
101 情報処理装置
103 CPU
151 通信装置

Claims (28)

  1. 通信装置と通信する情報処理装置のコンピュータに、
    第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御ステップと、
    前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されるための第2制御を実行する第2制御ステップと、
    を実行させることを特徴とするプログラム。
  2. 前記第1のアクセスポイントに前記通信装置が接続可能であることに基づいて、前記第1制御が実行されることを特徴とする請求項1に記載のプログラム。
  3. 前記第1のアクセスポイントに前記通信装置が接続可能でない場合とは、前記第1のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応していない暗号化方式である場合を含むことを特徴とする請求項1又は2に記載のプログラム。
  4. 前記第1のアクセスポイントに前記通信装置が接続可能でない場合とは、前記第1のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応していない周波数帯域である場合を含むことを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
  5. 前記第1制御を実行するか否かに関する第1判定処理を実行する第1判定ステップをさらに実行させ、
    前記第1判定処理の結果に基づいて、前記第1制御が実行されるか否かが制御されることを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
  6. 前記第1判定処理は、前記第1のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応している暗号化方式か否かを判定する処理を含み、
    前記第1のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応している暗号化方式であると判定されたことに基づいて、前記第1制御が実行され、前記第1のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応している暗号化方式でないと判定されたことに基づいて、前記第2制御が実行されることを特徴とする請求項5に記載のプログラム。
  7. 前記第1判定処理は、前記第1のアクセスポイントとの接続に用いられる周波数帯が、前記通信装置が対応している周波数帯か否かを判定する処理を含み、
    前記第1のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応している周波数帯域であると判定されたことに基づいて、前記第1制御が実行され、前記第1のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応している周波数帯域でないと判定されたことに基づいて、前記第2制御が実行されることを特徴とする請求項5または6に記載のプログラム。
  8. 前記第1のアクセスポイントとは、少なくとも設定操作が行われたときに情報処理装置が無線接続していたアクセスポイントであることを特徴とする請求項1乃至7のいずれか一項に記載のプログラム。
  9. 前記第2のアクセスポイントとは、前記情報処理装置がパスワードを記憶しているアクセスポイントであることを特徴とする請求項1乃至8のいずれか一項に記載のプログラム。
  10. 前記プログラムとは異なる所定のアプリケーションプログラムであり、
    前記所定のアプリケーションプログラムによって表示される画面における、前記第1のアクセスポイントと接続するためのパスワードの入力をユーザから受け付けることなく、前記パスワードを含む前記第1のアクセスポイントと接続するための接続情報が、前記第1制御により、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
  11. 前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第2のアクセスポイントは、前記通信装置が接続可能なアクセスポイントであるか否かに関する第2判定処理を実行する第2判定ステップをさらに実行させ、
    前記第2判定処理において前記第2のアクセスポイントは前記通信装置が接続可能なアクセスポイントであると判定された場合、前記第2制御が実行され、
    前記第2判定処理において前記第2のアクセスポイントは前記通信装置が接続可能なアクセスポイントでないと判定された場合、前記情報処理装置により発見されたアクセスポイントのリストを表示する表示処理を実行させることを特徴とする請求項1乃至10のいずれか一項に記載のプログラム。
  12. 前記第2判定処理は、前記第2のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応している暗号化方式であり、かつ前記第2のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応している周波数帯域か否かを判定する処理を含み、
    前記第2のアクセスポイントのうち、前記第2のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応している暗号化方式であり、かつ前記第2のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応している周波数帯域であると判定された場合、前記第2制御が実行され、
    前記第2のアクセスポイントのうち、前記第2のアクセスポイントとの接続に用いられる暗号化方式が、前記通信装置が対応していない暗号化方式であるか、または前記第2のアクセスポイントとの接続に用いられる周波数帯域が、前記通信装置が対応していない周波数帯域であると少なくとも判定された場合、前記表示処理が実行される請求項11に記載のプログラム。
  13. 前記表示処理において表示された前記情報処理装置により発見されたアクセスポイントのうち、ユーザに選択された前記アクセスポイントのパスワードをユーザに入力させる入力画面を表示し、ユーザによって前記入力画面にパスワードが入力された場合、前記情報処理装置と前記ユーザに選択されたアクセスポイントとの接続を確立するための接続処理をさらに実行させることを特徴とする請求項11または12に記載のプログラム。
  14. 前記接続処理によって前記情報処理装置との接続が確立された前記アクセスポイントが、前記プログラムとは異なる所定のアプリケーションプログラムであり、前記所定のアプリケーションプログラムによって表示される画面においてユーザに選択された場合、前記アクセスポイントと接続するためのパスワードの入力をユーザから受け付けることなく、前記パスワードを含む前記アクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されることを特徴とする請求項13に記載のプログラム。
  15. 前記プログラムとは異なる所定のアプリケーションプログラムであり、
    前記所定のアプリケーションプログラムによって表示される画面における、前記第2のアクセスポイントと接続するためのパスワードの入力をユーザから受け付けることなく、前記パスワードを含む前記第2のアクセスポイントと接続するための接続情報が、前記所定のアプリケーションプログラムによって表示される画面において前記第2のアクセスポイントを示す情報がユーザに選択されたことによって、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されることを特徴とする請求項1乃至14のいずれか1項に記載のプログラム。
  16. 前記第2制御は、前記通信装置が接続可能な前記第2のアクセスポイントを選択させるための通知を表示する処理であることを特徴とする請求項15に記載のプログラム。
  17. 前記通知は、ポップアップ通知として表示され、前記所定のアプリケーションプログラムによって表示される画面と並行して表示されることを特徴とする請求項16に記載のプログラム。
  18. 前記第2制御は、前記情報処理装置と前記通信装置が接続可能な前記第2のアクセスポイントとの接続を確立する処理であることを特徴とする請求項1乃至17のいずれか一項に記載のプログラム。
  19. 前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第2のアクセスポイントは、前記通信装置が接続可能なアクセスポイントであるか否かに関する第2判定処理を実行する第2判定ステップをさらに実行させ、
    前記第2判定処理において前記第2のアクセスポイントは前記通信装置が接続可能なアクセスポイントであると判定された場合、前記第2制御が実行され、
    前記第2判定処理において前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記通信装置が接続可能なアクセスポイントと接続するための接続情報を、前記第1のプロトコルと異なる第2のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第4制御を実行する第4制御ステップを実行させることを特徴とする請求項1乃至10のいずれか一項に記載のプログラム。
  20. 前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントに前記通信装置が接続可能でないことを示す画面を前記コンピュータに表示させることを特徴とする請求項1乃至18のいずれか一項に記載のプログラム。
  21. 前記第1のプロトコルは、Device Provisioning Protocolであることを特徴とする請求項1乃至20のいずれか1項に記載のプログラム。
  22. 前記第1のプロトコルによる前記通信装置との通信に利用される情報を、前記通信装置から取得する取得ステップをさらに実行させることを特徴とする請求項1乃至21のいずれか1項に記載のプログラム。
  23. 前記第1のプロトコルによる前記通信装置との通信に利用される情報が、前記通信装置が表示するQRコードの読み取りにより取得されることを特徴とする請求項22に記載のプログラム。
  24. 前記第1のプロトコルによる前記通信装置との通信に利用される情報が、前記第1のプロトコルとは異なる第2のプロトコルによる前記通信装置との通信を介して取得されることを特徴とする請求項22に記載のプログラム。
  25. 前記第2のプロトコルは、Simple Network Management Protocolであることを特徴とする請求項24に記載のプログラム。
  26. 通信装置と通信する情報処理装置のコンピュータに、
    第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御ステップと、
    前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報を、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するための第2制御を実行する第2制御ステップと、
    前記第1のアクセスポイントと接続するための接続情報を、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信することができない場合、前記第1のプロトコルと異なる第2のプロトコルによる前記通信装置との通信を介して前記通信装置が接続可能なアクセスポイントと接続するための接続情報を、前記通信装置に送信する第3制御ステップを実行させることを特徴とするプログラム。
  27. 通信装置と通信する情報処理装置の制御方法であって、
    第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御ステップと、
    前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されるための第2制御を実行する第2制御ステップと、
    を有することを特徴とする制御方法。
  28. 通信装置と通信する情報処理装置であって、
    第1のアクセスポイントに前記通信装置が接続可能である場合、前記第1のアクセスポイントと接続するための接続情報を、第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信するよう前記情報処理装置を制御する第1制御を実行する第1制御手段と、
    前記第1のアクセスポイントに前記通信装置が接続可能でないことに基づいて、前記第1のアクセスポイントと異なる第2のアクセスポイントと接続するための接続情報が、前記第1のプロトコルによる前記通信装置との通信を介して前記通信装置に送信されるための第2制御を実行する第2制御手段と、
    を有することを特徴とする情報処理装置。
JP2021193680A 2021-11-29 2021-11-29 通信装置、その制御方法、並びにプログラム Pending JP2023079947A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021193680A JP2023079947A (ja) 2021-11-29 2021-11-29 通信装置、その制御方法、並びにプログラム
US18/058,671 US20230171682A1 (en) 2021-11-29 2022-11-23 Communication apparatus, control method therefor, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021193680A JP2023079947A (ja) 2021-11-29 2021-11-29 通信装置、その制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2023079947A true JP2023079947A (ja) 2023-06-08

Family

ID=86499739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021193680A Pending JP2023079947A (ja) 2021-11-29 2021-11-29 通信装置、その制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US20230171682A1 (ja)
JP (1) JP2023079947A (ja)

Also Published As

Publication number Publication date
US20230171682A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
EP4050920A1 (en) Information processing apparatus, control method thereof, and program
JP2020145557A (ja) プログラム、情報処理装置、および制御方法
JP2024105668A (ja) 情報処理装置、制御方法およびプログラム
EP4050921A1 (en) Information processing apparatus, control method thereof, and program
WO2023053839A1 (ja) 通信装置、方法、プログラム、並びにシステム
US20230060244A1 (en) Information processing apparatus, control method therefor, and storage medium
CN116647839A (zh) 通信设备及其控制方法
JP2023079947A (ja) 通信装置、その制御方法、並びにプログラム
US20230135980A1 (en) Information processing device, method, and storage medium for storing method
JP2023162062A (ja) 通信装置、その制御方法、並びにプログラム
US20230363022A1 (en) Communication system, communication apparatus and method of controlling the same, and storage medium
JP2023059463A (ja) 通信装置、その制御方法、並びにプログラム
JP2023165326A (ja) 通信装置、プログラム及びシステム
US20230388181A1 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium
US11936831B2 (en) Communication apparatus having first and second setting information, control method, and storage medium for storing program
US20230388916A1 (en) Non-transitory computer-readable storage medium storing program and method
JP2023035838A (ja) 通信装置、その制御方法、並びにプログラム
JP2023035837A (ja) 通信装置、その制御方法、並びにプログラム
JP2023044218A (ja) 情報処理装置、通信装置、その制御方法、並びにプログラム
JP2024083844A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2023066227A (ja) 情報処理装置、通信装置、通信システム、通信装置の設定方法並びにプログラム
JP2024053381A (ja) 情報処理装置、その制御方法およびプログラム
JP2024053382A (ja) 情報処理装置、その制御方法およびプログラム
JP2024141565A (ja) 情報処理装置、制御方法、およびプログラム
JP2023183241A (ja) プログラム、情報処理装置、制御方法、通信装置、および通信システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213