以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(第1実施形態)
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではパーソナルコンピュータ(PC)を例示しているが、これに限定されない。情報処理装置として、携帯端末、スマートホン、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、PC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
まず、図2を用いて、通信装置101と情報処理装置102のハードウェア構成図を説明する。
情報処理装置102は入力I/F(インタフェース)202とCPU203、ROM204、RAM205、外部記憶装置206、出力I/F(インタフェース)207、表示部208、キーボード209、マウス210等を有する。さらに、情報処理装置は102、ネットワークインタフェース(第1通信部)211および、USBインタフェース(第2通信部)212等を有する。
入力I/F(インタフェース)202は、マウス210やキーボード209が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。
CPU203は、システム制御部であり、情報処理装置102の全体を制御するプロセッサーである。
ROM204は、CPU203が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM204に格納されている各制御プログラムは、ROM204に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
RAM205は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM205は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置102の設定情報や情報処理装置102の管理データ等を格納するメモリエリアもRAM205に設けられている。また、RAM205は、CPU203の主メモリとワークメモリとしても用いられる。
外部記憶装置206は、印刷実行機能を提供するアプリケーション、通信装置101が解釈可能な印刷ジョブを生成する印刷ジョブ生成プログラム等を保存している。また、外部記憶装置206は、ネットワークインタフェース211やUSBインタフェース212を介して接続している通信装置101との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を保存している。
出力I/F(インタフェース)207は、表示部208がデータの表示や情報処理装置102の状態の通知を行うための制御を行うインタフェースである。
表示部208は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示や情報処理装置102の状態の通知を行う。なお、表示部208上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等の操作部を設置することで、表示部208を介してユーザからの入力を受け付けても良い。
ネットワークインタフェース211は、無線経由の通信および有線LANケーブルを経由した通信処理を制御する。具体的にはネットワークインタフェース211は、通信装置101や、情報処理装置102の外部且つ通信装置101の外部に存在する外部装置と無線や有線LANによって接続して、データ通信を実行するための構成である。例えば、ネットワークインタフェース211は、通信装置101内のアクセスポイント(不図示)に接続可能である。ネットワークインタフェース211と通信装置101内のアクセスポイントが接続することで、情報処理装置102と通信装置101は相互に通信可能となる。なお、ネットワークインタフェース211は無線通信で通信装置101とダイレクトに通信しても良いし、情報処理装置102や通信装置101の外部に存在する外部装置を介して通信しても良い。なお、外部装置とは、外部アクセスポイントや、アクセスポイント以外で通信を中継可能な装置を含む。通信方式としては、本実施形態では、IEEE 802.11シリーズの規格(Wi−Fi(WirelessFidelity))を用いることとするが、例えばBluetooth(登録商標)等が利用されても良い。また、外部アクセスポイントとしては、例えば、ルータ装置等の機器が挙げられる。なお、本実施形態において、情報処理装置102と通信装置101とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置102と通信装置101とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。なお、情報処理装置102は、複数の通信方式によって通信を行うために、ネットワークインタフェース211を複数有していても良い。具体的には例えば、情報処理装置102は、Bluetooth Low Energyや、Near Field Communication、WiFi Aware等の近距離無線通信方式によって通信するインタフェースをさらに有していても良い。また、情報処理装置102は、無線通信のためのネットワークインタフェース211を有していなくても良い。すなわち情報処理装置102は、他の装置と通信するためのインタフェースとして例えば有線通信のためのネットワークインタフェース211と後述のUSBインタフェース212のみ有していても良い。
USBインタフェース212はUSB(Universal Serial Bus)ケーブルを経由したUSB接続を制御する。具体的にはUSBインタフェース212は、通信装置101や、外部アクセスポイント等の装置とUSBによって接続して、データ通信を実行するための構成である。
通信装置101はネットワークI/F(インタフェース)(通信部)252とRAM253、プリントエンジン256、ROM254、CPU255、USBインタフェース257等を有する。
ネットワークインタフェース252は、無線経由の通信および有線LANケーブルを経由した通信処理を制御する。具体的には、ネットワークインタフェース252は通信装置101内部のアクセスポイントとして、情報処理装置102等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置102のネットワークインタフェース211に接続可能である。なお、ネットワークインタフェース252は無線通信で情報処理装置102とダイレクトに通信しても良いし、外部アクセスポイントを介して通信しても良い。すなわち、ネットワークインタフェース252は、自身がアクセスポイントとして動作するだけでなく、外部アクセスポイントと接続する子機として動作しても良い。通信方式としては、本実施形態では、IEEE 802.11の規格(WiFi)を用いることとするが、例えばBluetooth(登録商標)等が利用されても良い。また、ネットワークインタフェース252は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。なお、通信装置101は、複数の通信方式によって通信を行うために、ネットワークインタフェース252を複数有していても良い。具体的には例えば、通信装置101は、Bluetooth Low Energyや、Near Field Communication、WiFi Aware等の近距離無線通信方式によって通信するインタフェースをさらに有していても良い。
RAM253は、バックアップ電源を必要とするSRAM等で構成される。なお、RAM253は、図示しないデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、通信装置101の設定情報や通信装置101の管理データ等を格納するメモリエリアもRAM253に設けられている。また、RAM253は、CPU255の主メモリとワークメモリとしても用いられ、情報処理装置102等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
ROM254は、CPU255が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM254に格納されている各制御プログラムは、ROM254に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
CPU255は、システム制御部であり、通信装置101の全体を制御するプロセッサーである。
プリントエンジン256は、RAM253に保存された情報や情報処理装置102等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成する画像形成処理を実行し、印刷結果を出力する。なお、印刷ジョブとは、画像形成処理を通信装置101に実行させるためのジョブである。
なお、本実施形態では、通信装置101は、IEEE 802.11の規格に基づいて、2.4GHzと5GHzのうち少なくとも1つの周波数帯を無線接続に使用するものとする。通信装置101は、利用可能な周波数帯に対応する通信チャネルを有している。例えば、2.4GHzの周波数帯を利用可能であれば、通信装置101は、2.4GHzの周波数帯のうちの所定の周波数帯に割り当てられた14つの通信チャネルを有している。また、例えば、5GHzの周波数帯を利用可能であれば、通信装置101は、5GHzの周波数帯のうちの所定の周波数帯に割り当てられた19つの通信チャネルを有している。
ここでは例として情報処理装置102と通信装置101の処理分担を上記のように示したが、この分担形態に限らず他の形態であっても構わない。
図1は、本実施形態の通信システムの構成図である。情報処理装置102は、アクセスポイント103と、有線LAN又は無線LANで接続している。なお、アクセスポイント103は、装置間(例えば情報処理装置と通信装置間)のデータ通信を中継する装置であり、ルータ装置である。また、通信装置101はアクセスポイント103に無線LANで接続している。つまり、情報処理装置102は、アクセスポイント103を介して通信装置101と通信可能な状態となっている。このようにアクセスポイントを介して接続する方法を、一般的にインフラストラクチャー(以降インフラと称す)接続という。インフラ接続が構築されることで、通信装置101や情報処理装置102は、アクセスポイント103によって形成されるネットワークに属する装置と互いに通信することができる。また、アクセスポイント103がインターネットに接続している場合は、通信装置101や情報処理装置102は、アクセスポイント103を介してインターネットを利用することもできる。
本実施形態では、通信装置101、情報処理装置102、アクセスポイント103によってインフラ接続を確立するための設定処理を、情報処理装置102が実行する形態について説明する。具体的には、情報処理装置102は、通信装置101にネットワーク設定情報を送信することで、通信装置101とアクセスポイント103を接続させる。
なお、通信装置101は、情報処理装置102からネットワーク設定情報を受け付けなくとも、通信装置101本体に対する操作によって、アクセスポイント103と接続することが可能であっても良い。しかしながら、通信装置101が備える表示部や操作部が小さかったり、そもそも通信装置101が表示部や操作部を備えていなかったりする場合がある。このような場合は、通信装置101本体に対する操作によって、通信装置101とアクセスポイント103とを接続させることは困難である。そこで、本実施形態では、情報処理装置102を介して、通信装置101とアクセスポイント103とを接続させる。
情報処理装置102は、ネットワーク設定処理として具体的には、無線や有線によって接続している通信装置101にネットワーク設定情報を送信する。ここで、ネットワーク設定情報とは例えば、通信装置101の接続先となるアクセスポイント103と接続するための接続情報(Service Set Identifier(以下、SSID)、パスワード等)である。情報処理装置102は、このような情報を通信装置101に送信することで、通信装置101とアクセスポイント103とを無線接続させる。
図9は、情報処理装置102が実行するネットワーク設定処理を示すフローチャートである。図9に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図9に示すフローチャートが示す処理は、ネットワーク設定処理を実行するためのプログラムである、セットアップ用プログラムによって実現される。また、図9に示すフローチャートが示す処理は、セットアップ用プログラムにより表示される画面に対して、ネットワーク設定処理のトリガーとなるユーザ操作が行われた場合に開始される。また、例えば、図9に示すフローチャートが示す処理は、セットアップ用プログラムが起動したことに応じて開始される。
まず、S901では、CPU203は、ネットワーク設定処理の対象となる装置を特定する。具体的には、CPU203は、情報処理装置102が備えるOSのAPI(Application Program Interface)を用いて、情報処理装置102周辺の装置の情報を取得する。より具体的にはCPU203は、ネットワークインタフェース211によって検索される装置やUSBインタフェース212によって接続している装置の情報を取得する。そして、CPU203は、取得した情報を用いて、情報処理装置102が備えるインタフェースに接続している装置のリストを表示部208に表示する。ネットワークインタフェース211によって検索される装置は、例えば、アクセスポイントとして動作している装置や、情報処理装置102が属しているネットワークに属している装置である。なお、本実施形態では、ユーザは、通信装置101に対してネットワーク設定処理を実行する場合、通信装置101本体を操作することで、通信装置101を、セットアップモードと呼ばれる所定のモードで動作させる。セットアップモードとは、通信装置101がネットワーク設定処理を受け付けることができるモードであり、通信装置101が所定のSSIDを有する所定のアクセスポイントとして動作するモードである。通信装置101がセットアップモードで動作している場合は、ネットワークインタフェース211による検索によって通信装置101が発見されるため、リストに通信装置101が表示される。なお、情報処理装置102が、無線通信のためのネットワークインタフェース211を有していなかったり、有線通信のためのネットワークインタフェース211がいずれの装置とも接続していなかったりする場合がある。その場合には、USBインタフェース212によって接続している装置のみ、リストに表示される。ユーザが、表示されたリストにおいて通信装置101を選択することで、CPU203は、ネットワーク設定処理の対象となる装置として、通信装置101を特定する。
次に、S902にて、CPU203は、情報処理装置102が備えるOSのAPIを用いて、情報処理装置102が無線通信のためのネットワークインタフェース211を有しているか否かの情報を取得する。
そして、S903では、CPU203は、S902で取得した情報に基づいて、情報処理装置102が無線通信のためのネットワークインタフェース211を有しているか否かを判定する。CPU203は、情報処理装置102が無線通信のためのネットワークインタフェース211を有していると判定した場合、S904に進む。一方、CPU203は、情報処理装置102が無線通信のためのネットワークインタフェース211を有していないと判定した場合、S913に進む。
S904では、CPU203は、情報処理装置102が備えるOSのAPIを用いて、情報処理装置102がアクセスポイント103と接続しているか否かを示す情報を取得する。
S905では、CPU203は、S904で取得した情報に基づいて、情報処理装置102がアクセスポイント103と無線接続しているか否かを判定する。CPU203は、情報処理装置102がアクセスポイント103と無線接続していると判定した場合、S906に進み、情報処理装置102がアクセスポイント103と無線接続していないと判定した場合、S908に進む。
S906では、CPU203は、情報処理装置102が無線接続しているアクセスポイント103を、通信装置101の接続先となるアクセスポイントとして特定する。そして、CPU203は、情報処理装置102が無線接続しているアクセスポイント103に問い合わせを行い、当該アクセスポイント103に関する設定情報を取得する。当該アクセスポイント103に関する設定情報は、例えば、当該アクセスポイント103と接続するための設定情報(SSID等)や、当該アクセスポイント103が利用している周波数帯、暗号方式等に関する情報である。なお、本実施形態では、アクセスポイント103は、2.4GHzと5GHzのうち少なくとも1つの周波数帯に対応する通信チャネルを有しているものとし、その通信チャネルを無線接続に使用するものとする。
S907では、CPU203は、S906で取得した設定情報に基づいて、設定パケットの生成処理を行う。設定パケットとは、ネットワーク設定情報に対応し、通信装置101をアクセスポイント103に接続させるための情報である。情報処理装置102が無線接続しているアクセスポイント103に通信装置101が接続されれば、情報処理装置102と通信装置101間のインフラ接続が確立する。そのためここでは、通信装置101を情報処理装置102が無線接続しているアクセスポイント103に接続させるための設定パケットが生成される。具体的には、設定パケットには、アクセスポイント103と接続するための設定情報(SSID、パスワード)や、アクセスポイント103が利用している周波数帯、暗号方式等に関する情報が含まれる。S907の後、CPU203は、S912に進む。
一方、S908では、CPU203は、ネットワークインタフェース211によって、情報処理装置102の周辺のアクセスポイントの検索(APサーチ)を行う。なおAPサーチは、IEEE 802.11シリーズの規格に基づいて公知のディスカバリープロセスによって実行される。具体的には、APサーチは、パッシブスキャンによって行われる。
S909では、CPU203は、S908の検索によって発見されたアクセスポイントに問い合わせを行い、当該アクセスポイントに関する設定情報を取得する。設定情報の詳細は前述したとおりである。なお、ここではCPU203は、S908の検索によって発見されたすべてのアクセスポイントに関する設定情報を取得する。
S910では、CPU203は、S909で取得した設定情報に基づき、S908の検索によって発見されたアクセスポイントのリストを、表示部208に表示する。具体的には、図5のようなアクセスポイント選択画面510(表示画面)を表示部208に表示する。アクセスポイント選択画面には、S908の検索によって発見されたアクセスポイントのSSIDの一覧を表示する領域501や使用する暗号方式514、パスワード入力部513が表示される。なお、この形態に限定されず、例えばS908の検索によって発見されたアクセスポイントが無線接続に利用する周波数帯に関する情報等が表示されても良い。CPU203は、リストからいずれかのアクセスポイントをユーザに選択させ、選択されたアクセスポイント(ここではアクセスポイント103)を通信装置101の接続先となるアクセスポイントとして特定する。なお、このとき、CPU203は、ネットワーク設定処理をキャンセルするためのキャンセルボタンを表示しても良い。CPU203は、キャンセルボタンが選択された場合、処理を終了する。手動追加ボタン515は、領域501に、ユーザが手動で入力した設定情報に基づくアクセスポイントのSSIDを追加するためのボタンである。一方、CPU203は、設定ボタン516が選択された場合、S911に進む。
S911では、CPU203は、S910で選択されたアクセスポイントから取得された設定情報やS910で入力されたパスワードに基づいて、設定パケットの生成処理を行う。設定パケットの詳細は前述したとおりである。
S912では、CPU203は、S901で特定した設定対象の装置(ここでは通信装置101)と情報処理装置102とを無線接続させる。なお、CPU203は、このときアクセスポイント103等の他の装置と情報処理装置102とが無線接続している場合は、当該他の装置に関する設定情報を保存した後、一旦当該他の装置と情報処理装置102間の接続を切断させる。その後、CPU203は、通信装置101と情報処理装置102とを無線接続させる。S912の後、CPU203は、S918に進む。
S913では、CPU203は、情報処理装置102が備えるOSのAPIを用いて、USBインタフェース212又は有線通信のためのネットワークインタフェース211によって接続している、S901で特定された装置(通信装置101)を検出する。このとき、CPU203は、通信装置101が無線通信のためのネットワークインタフェース252を有しているか否かの情報を、通信装置101から取得する。なお、CPU203は、USBインタフェース212又は有線通信のためのネットワークインタフェース211によって接続している装置がない場合は、処理を終了する。
S914では、CPU203は、S913で取得した情報に基づいて、通信装置101が無線通信のためのネットワークインタフェース252を有しているか否かを判定する。CPU203は、通信装置101が無線通信のためのネットワークインタフェース252を有していると判定した場合、S915に進む。一方、通信装置101が無線通信のためのネットワークインタフェース252を有していないと判定した場合、処理を終了する。
通信装置101も、無線通信のためのネットワークインタフェース252によって、通信装置101の周辺のアクセスポイントを検索する(APサーチをする)ことが可能である。そのため、S915では、CPU203は、通信装置101によるAPサーチの結果(通信装置101によるAPサーチによって発見されたアクセスポイントの設定情報)を、通信装置101から取得する。この処理の詳細は、後述する。
S916では、CPU203は、S915で取得した設定情報に基づき、通信装置101のAPサーチによって発見されたアクセスポイントのリストを、表示部208に表示する。具体的には、図5のようなアクセスポイント選択画面510を表示部208に表示する。アクセスポイント選択画面には、通信装置101のAPサーチによって発見されたアクセスポイントのSSIDの一覧を表示する領域501や使用する暗号方式514、パスワード入力部513が表示される。なお、この形態に限定されず、例えば通信装置101のAPサーチによって発見されたアクセスポイントが無線接続に利用する周波数帯に関する情報等が表示されても良い。CPU203は、リストからいずれかのアクセスポイントをユーザに選択させ、選択されたアクセスポイント(ここではアクセスポイント103)を通信装置101の接続先となるアクセスポイントとして特定する。なお、このとき、CPU203は、ネットワーク設定処理をキャンセルするためのキャンセルボタンを表示しても良い。CPU203は、キャンセルボタンが選択された場合、処理を終了する。一方、CPU203は、設定ボタン516が選択された場合、S911に進む。
S917では、CPU203は、S916で選択されたアクセスポイントから取得された設定情報や、S916で入力されたパスワードに基づいて、設定パケットの生成処理を行う。設定パケットの詳細は前述したとおりである。なお、ここでは、S916で選択されたアクセスポイントが無線接続に利用する周波数帯に関する情報は、設定パケットに含まれなくても良い。これは、通信装置101は、APサーチを実行した際に、いずれのアクセスポイントがいずれの周波数帯を利用するのかを認識しているためである。
S918では、CPU203は、作成した設定パケットを、S901で特定された通信装置101に対して送信する。具体的には、CPU203は、SNMP(Sinmple Network Management Protocol)を用いて設定パケットを送信する。SNMPは、情報処理装置102が属するネットワーク上のデバイス(通信装置101を含む)の監視・制御を行うためのプロトコルである。CPU203は、SNMPで通信を行うことで、監視・制御対象のデバイスのMIB(Management Information Base)と呼ばれるデータベースの情報取得および設定を行うこと可能である。通信装置101は設定パケットを受信すると、設定パケットに基づいて、接続先となる装置(アクセスポイント103)と、接続先となる装置が無線接続に利用する周波数帯(設定パケットに含まれる周波数帯に関する情報に対応する周波数帯)を特定する。そして、通信装置101は、特定した周波数帯を優先的に用いて、設定パケットに含まれるSSIDを有する装置を検索する。具体的には通信装置101は、特定した周波数帯を用いた検索のみを実行し、特定した周波数帯以外の周波数帯を用いた検索を実行しない。なお、この検索は、IEEE 802.11シリーズの規格に基づいて公知のディスカバリープロセスによって実行される。具体的には通信装置101は、設定パケットに含まれるSSIDを有する装置を、設定パケットに基づいて特定した周波数帯を利用したアクティブスキャンによって検索する。具体的には、通信装置101は、設定パケットに基づいて特定した周波数帯に対応する通信チャネルを順に用いてブロードキャストを行い、設定パケットに含まれるSSIDを有する装置からの応答を待つ。通信装置101は、ブロードキャストに対する応答を受け取ることで、設定パケットに含まれるSSIDを有する装置を発見する。そして、通信装置101は、そのようにして発見された装置に対して、設定パケットに含まれるパスワードを用いて接続要求を送信する。これにより、通信装置101がアクセスポイント103に接続するため、アクセスポイント103に情報処理装置102が接続すれば、通信装置101と情報処理装置102間でインフラ接続が確立する。
S919では、CPU203は、情報処理装置102の接続状態を、ネットワーク設定処理前の接続状態に戻す。具体的には、CPU203は、S912において、他の装置と情報処理装置102との接続を切断した後に通信装置101と情報処理装置102とを無線接続させた場合は、その時保存した設定情報を用いて、再度他の装置と情報処理装置102とを接続させる。なお、CPU203は、情報処理装置102の接続状態が、ネットワーク設定処理前の接続状態と変わらない場合は、S919の処理を省略する。
このような形態とすることで、情報処理装置102側の操作により、通信装置101の通信設定を実行することができる。
ところで近年、通信装置101として、複数の周波数帯(例えば、2.4GHzと5GHz)を用いることができる装置が登場している。通信装置101が有する通信チャネルの数は、2.4GHzの周波数帯のみを用いることができる通信装置101より、2.4GHz及び5GHzの周波数帯を用いることができる通信装置101の方が多い。
本実施形態において通信装置101は、無線モジュールを1つしか有していないため、複数の通信チャネルを同時に用いてAPサーチを実行することはできず、通信チャネルを1つずつ順に使用することによってAPサーチを実行する。そのため2.4GHzの周波数帯のみに対応している通信装置101がAPサーチを完了させるのにかかる時間より、2.4GHz及び5GHzの周波数帯に対応している通信装置101がAPサーチを完了させるのにかかる時間の方が長くなる。
本実施形態では、情報処理装置102は、APサーチ実行指示を送信してから所定の時間経過した後、通信装置101にAPサーチ結果(検索結果情報)を問い合わせることで、APサーチ結果を通信装置101から取得する(S915)。しかしながら上述のように、通信装置101がAPサーチを完了させるのにかかる時間は、通信装置101が対応している周波数帯に応じて異なる。それにもかからず、APサーチ実行指示を送信してから、APサーチ結果を問い合わせるまでの情報処理装置102の待機時間が一定であると以下のような課題がある。
例えば、通信装置101による2.4GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間が一般に約5秒かかるため、情報処理装置102の待機時間を常に6秒と設定するとする。しかしながら上述したように、利用可能な周波数帯が増えるとAPサーチにかかる時間も増えるため、通信装置101による2.4GHz及び5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間は一般に約13秒かかってしまう。すなわち、情報処理装置102の待機時間が2.4GHzのみ使用可能な通信装置101に対応する時間である場合には、2.4GHz及び5GHzを使用可能な通信装置101のAPサーチが完了する前に、不完全なAPサーチ結果を取得してしまう。
一方、情報処理装置102の待機時間を常に14秒と設定するとする。その場合は、2.4GHzのみ使用可能な通信装置101によるAPサーチが約5秒で完了しているのにもかかわらず、情報処理装置102は無駄に長い時間待機してしまう。
このような課題を解決するために、本実施形態では、情報処理装置102は、通信装置101が使用可能な周波数帯に応じて待機時間を切り替えることで、APサーチ結果の取得のために適切な時間待機する。
図3(a)は、第1実施形態において情報処理装置102が実行するAPサーチ結果取得処理を示すフローチャートである。図3(a)に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図3(a)に示すフローチャートが示す処理は、セットアップ用プログラムによって実現される。また、図3(a)に示すフローチャートが示す処理は、図10に示すフローチャートのS915の処理として実行される。
まず、S301にて、CPU203は、待機時間Xを特定する処理を実行する。本処理の詳細を図4を用いて説明する。
図4は、第1実施形態において情報処理装置102が実行する、待機時間Xを特定する処理を示すフローチャートである。図4に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図4に示すフローチャートが示す処理は、セットアップ用プログラムによって実現される。また、図4に示すフローチャートが示す処理は、図3のフローチャートに示す処理におけるS301の処理として実行される。
まず、S401にて、CPU203は、ネットワーク設定処理の対象となる装置(ここでは通信装置101)から、通信装置101が使用可能な(サポートしている)通信チャネルの情報を取得する。通信チャネルとは、無線通信に利用される通信路を指し、各チャネルは、それぞれ異なる周波数帯を用いて通信を行う。なお、通信装置101が使用可能な通信チャネルの情報は、通信装置101から取得されても良いし、通信装置101の外部のサーバ等から取得されても良い。
S402では、CPU203は、S401で取得した情報に基づいて、通信装置101が使用可能な通信チャネルの中に、5GHzの周波数帯に対応する通信チャネルが含まれるか否かを判定する。CPU203は、5GHzの周波数帯に対応する通信チャネルが含まれないと判定した場合、S404に進み、5GHzの周波数帯に対応する通信チャネルが含まれると判定した場合、S405に進む。
通信装置101が使用可能な通信チャネルの中に、5GHzの周波数帯に対応する通信チャネルが含まれない場合、通信装置101は、2.4GHzの周波数帯に対応する通信チャネルのみを使用可能であることになる。そのため、S403では、CPU203は、待機時間Xを、通信装置101による2.4GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間に基づく値である時間Aとして特定する。本実施形態では、時間A=6[s]である。なお時間Aは、2.4GHzのみに対応している通信装置101がAPサーチを完了させるのにかかる時間以上、且つ2.4GHz及び5GHzに対応している通信装置101がAPサーチを完了させるのにかかる時間未満の時間であれば良い。
一方、通信装置101が使用可能な通信チャネルの中に、5GHzの周波数帯に対応する通信チャネルが含まれる場合、通信装置101は、2.4GHz及び5GHzの周波数帯に対応する通信チャネルを使用可能であることになる。そのため、S404では、CPU203は、待機時間Xを、通信装置101による2.4GHz及び5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間に基づく値である時間Bとして特定する。なお、本実施形態において通信装置101は、無線モジュールを1つしか有していないため、複数の通信チャネルを同時に用いてAPサーチを実行することはできず、通信チャネルを1つずつ順に使用することによってAPサーチを実行する。そのため、2.4GHzの周波数帯に対応する通信チャネルのみを使用可能な通信装置101より、2.4GHz及び5GHzの周波数帯に対応する通信チャネルを使用可能な通信装置101の方が、APサーチを完了させるのにかかる時間が長くなる。そこで、本実施形態では、時間Aと時間Bの関係は、時間A<時間Bとなる。本実施形態では、B=13[s]であるが、この形態に限定されず、通信装置101による2.4GHz及び5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間以上の時間であれば良い。
CPU203は、S403又はS404にて待機時間Xを特定した場合、図3のフローチャートに示す処理に戻る。
上述では、通信装置101は少なくとも2.4GHzの周波数帯に対応しているものとして、待機時間Xを特定する形態を説明した。しかし、この形態に限定されず、2.4GHzの周波数帯に対応しておらず、5GHzの周波数帯のみに対応している通信装置101がある場合は、待機時間Xを上述と異なる値として特定しても良い。
具体的には、CPU203は、S402では、S401で取得した情報に基づいて、通信装置101が使用可能な通信チャネルの中に、2.4GHzの周波数帯に対応する通信チャネルが含まれるか否かを判定する。CPU203は、2.4GHzの周波数帯に対応する通信チャネルが含まれないと判定した場合、S404に進み、2.4GHzの周波数帯に対応する通信チャネルが含まれると判定した場合、S405に進む。
そして、CPU203は、S404では、待機時間Xを、通信装置101による5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間に基づく値である時間Cとして特定する。例えば、時間C=9[s]である。これは、通信装置101による5GHzの周波数帯に対応する通信チャネルを用いたAPサーチを完了させるのにかかる時間が一般的に約8秒であるためである。なお時間Cは、5GHzのみに対応している通信装置101がAPサーチを完了させるのにかかる時間より長く、且つ2.4GHz及び5GHzに対応している通信装置101がAPサーチを完了させるのにかかる時間未満の時間であれば良い。すなわち、情報処理装置102は、通信装置101が利用可能な周波数帯(通信チャネル)の数に基づいて、待機時間Xを切り替えても良いし、通信装置101が利用可能な周波数帯がいずれの周波数帯かに基づいて、待機時間Xを切り替えても良い。
上述のように、待機時間Xは、通信装置101のスペックに基づいて適宜決定されれば良い。
次にS302にて、CPU203は、不図示のタイマーによって、経過時間Tのカウントを開始する。
S303にて、CPU203は、ネットワーク設定処理の対象となる装置(ここでは通信装置101)に対して、APサーチを実行させるためのAPサーチ実行指示を送信する。APサーチ実行指示を受け付けた通信装置101は、APサーチを開始する。
S304にて、CPU203は、S301で特定した待機時間Xの間、待機する。
S305にて、CPU203は、通信装置101に問い合わせを行い、通信装置101によるAPサーチの結果を取得する。
S306にて、CPU203は、S305でAPサーチの結果の取得が成功したか否かを判定する。CPU203は、APサーチの結果の取得が成功しなかった(失敗した)と判定した場合、S307に進み、APサーチの結果の取得が成功したと判定した場合、処理を終了する。なお、例えば、通信装置101が印刷を実行中で、APサーチ以降指示を受け付けてもAPサーチを実行できなかった場合等に、APサーチの結果の取得が失敗する。なお、ここでは、アクセスポイントに関する設定情報を1つも取得できなかった場合や、APサーチの結果にAPサーチが完了したことを示す識別情報が含まれなかった場合に、APサーチの結果の取得が失敗したとみなされる。
S307にて、CPU203は、経過時間Tが閾値Tthを超えているか否かを判定する。CPU203は、経過時間Tが閾値Tthを超えていると判定した場合、処理を終了し、経過時間Tが閾値Tthを超えていないと判定した場合、再度S303の処理を実行する。
このように本実施形態では、情報処理装置102は、通信装置101が使用可能な周波数帯に応じて待機時間を切り替えることで、不完全なAPサーチ結果を取得してしまうことを抑制しつつ、APサーチ結果の取得のための待機時間を短くすることができる。
図3(b)は、2.4GHz及び5GHzの周波数帯を使用可能な通信装置101が実行するAPサーチ処理を示すフローチャートである。図3(b)に示すフローチャートは、例えば、CPU255がROM254や外部記憶装置(不図示)等に格納されたプログラムをRAM253に読み出して実行することにより実現される。また、図3(b)に示すフローチャートが示す処理は、通信装置101が情報処理装置102からAPサーチ実行指示を受信した場合に開始される。
まず、S351では、CPU255は、APサーチの実行回数Yの設定値に、初期値として1を代入する。
次に、S352では、CPU255は、2.4GHzの周波数帯に対応するY番目の通信チャネルを用いて、APサーチを実行する。
S353では、CPU255は、S352のAPサーチにおいて、アクセスポイントが発見されたか否かを判定する。CPU255は、アクセスポイントが発見されたと判定した場合、S354に進み、アクセスポイントが発見されなかったと判定した場合、S355に進む。
S354では、CPU255は、S352のAPサーチにおいて発見されたアクセスポイントをAPリストに追加する。APリストとは、通信装置101が有する所定の記憶領域(ROM254や不図示の外部記憶装置等)に格納される情報である。APリストは、情報処理装置102から通信装置101が問い合わせを受けることで、APサーチ結果として情報処理装置102に取得される。S354では、CPU255は具体的には、S352のAPサーチにおいて発見されたアクセスポイントの設定情報を、APリストに保存する。
S355では、CPU255は、APサーチの実行回数Yの設定値をインクリメントする(1増やす)。
S356では、CPU255は、インクリメント後のAPサーチの実行回数Yが、通信装置101が有する、2.4GHzの周波数帯に対応する通信チャネルの数Yaを超えたか否かを判定する。CPU255は、APサーチの実行回数Yが通信チャネルの数Yaを超えたと判定した場合、S357に進み、APサーチの実行回数Yが通信チャネルの数Yaを超えていないと判定した場合、再度S352を実行する。
通信装置101がAPサーチ実行指示を受け付けてから、S356でYes判定となるまでにかかる時間が、2.4GHzの周波数帯に対応する通信チャネルを用いたAPサーチが完了するまでにかかる時間に相当する。
S357では、CPU255は、APサーチの実行回数Yの設定値に、再度初期値として1を代入する。
次に、S358では、CPU255は、5GHzの周波数帯に対応するY番目の通信チャネルを用いて、APサーチを実行する。
S359では、CPU255は、S358のAPサーチにおいて、アクセスポイントが発見されたか否かを判定する。CPU255は、アクセスポイントが発見されたと判定した場合、S360に進み、アクセスポイントが発見されなかったと判定した場合、S361に進む。
S360では、CPU255は、S358のAPサーチにおいて発見されたアクセスポイントをAPリストに追加する。CPU255は具体的には、S358のAPサーチにおいて発見されたアクセスポイントの設定情報を、APリストに保存する。
S361では、CPU255は、APサーチの実行回数Yの設定値をインクリメントする。
S362では、CPU255は、インクリメント後のAPサーチの実行回数Yが、通信装置101が有する、5GHzの周波数帯に対応する通信チャネルの数Ybを超えたか否かを判定する。CPU255は、APサーチの実行回数Yが通信チャネルの数Ybを超えたと判定した場合、処理を終了し、APサーチの実行回数Yが通信チャネルの数Ybを超えていないと判定した場合、再度S358の処理を実行する。
S357の処理の開始から、S362でYes判定となるまでにかかる時間が、5GHzの周波数帯に対応する通信チャネルを用いたAPサーチが完了するまでにかかる時間に相当する。
このような形態とすることで、通信装置101は、通信装置101周辺のアクセスポイントを検索することができる。
なお、上述では、2.4GHzの周波数帯に対応する通信チャネルを用いたAPサーチの後に、5GHzの周波数帯に対応する通信チャネルを用いたAPサーチが実行されるものとしたが、APサーチの順番は逆でも良い。
また、上述では、2.4GHz及び5GHzの周波数帯を使用可能な通信装置101が、APサーチを実行する例を説明した。2.4GHzの周波数帯のみを使用可能な通信装置101が、APサーチを実行する場合は、上記のフローチャートにおいて、S357〜S362の処理が省略される。
(第2実施形態)
例えば通信装置101は、2.4GHz及び5GHzの周波数帯に対応していても、仕向けが5GHz周波数帯での使用が制限される特定の地域である場合は、2.4GHzの周波数帯に対応する通信チャネルのみ用いてAPサーチを実行する。すなわち、2.4GHz及び5GHzの周波数帯に対応しているにも関わらず、通信装置101が、5GHzの周波数帯に対応する通信チャネルを用いてAPサーチを実行しない場合がある。
また、5GHzの周波数帯に対応する通信チャネルを用いるか否かの設定を、ユーザ操作によって切り替え可能な通信装置101がある。このような通信装置101も、設定の内容によっては、5GHzの周波数帯に対応する通信チャネルを用いてAPサーチを実行しない場合がある。
そこで本実施形態では上述のケースに対応しつつ、適切に待機時間Xを特定する形態について説明する。
なお、第2実施形態においても、第1実施形態と同様の通信システムが利用されるものとし、特に説明がない部分については第1実施形態と同様の形態であるものとする。
図6(a)は、第2実施形態において情報処理装置102が実行する、待機時間Xを特定する処理を示すフローチャートである。図6(a)に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図6(a)に示すフローチャートが示す処理は、セットアップ用プログラムによって実現される。また、図6(a)に示すフローチャートが示す処理は、図3のフローチャートに示す処理におけるS301の処理として実行される。
まず、S601にて、CPU203は、ネットワーク設定処理の対象となる装置(ここでは通信装置101)から、通信装置101のスペックに関する情報を取得する。通信装置101のスペックに関する情報には、通信装置101が使用可能な通信チャネルの情報や、通信装置101の仕向け情報、通信装置101の現在の設定状況に関する情報等が含まれる。なお、通信装置101のスペックに関する情報は、通信装置101から取得されても良いし、通信装置101の外部のサーバ等から取得されても良い。
S602は、S402の処理と同様であるため詳細な説明を省略する。CPU203は、5GHzの周波数帯に対応する通信チャネルが含まれないと判定した場合、S605に進み、5GHzの周波数帯に対応する通信チャネルが含まれると判定した場合、S603に進む。
S603では、CPU203は、S401で取得した情報に基づいて、通信装置101の仕向けが5GHzの周波数帯を使用可能な地域であるか否かを判定する。CPU203は、通信装置101の仕向けが5GHzの周波数帯を使用可能な地域でないと判定した場合、S605に進み、通信装置101の仕向けが5GHzの周波数帯を使用可能な地域であると判定した場合、S604に進む。
S604では、CPU203は、S401で取得した情報に基づいて、通信装置101が5GHzの周波数帯を使用可能な設定になっているか否かを判定する。CPU203は、通信装置101が5GHzの周波数帯を使用可能な設定になっていないと判定した場合、S605に進み、通信装置101が5GHzの周波数帯を使用可能な設定になっていると判定した場合、S606に進む。
通信装置101の仕向けが5GHzの周波数帯を使用可能な地域でない場合や、通信装置101が5GHzの周波数帯を使用可能な設定になっていない場合は、通信装置101は、2.4GHzの周波数帯に対応する通信チャネルのみを使用可能であることになる。そのため、S605では、CPU203は、待機時間X[s]を、通信装置101による2.4GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間に基づく値である時間Aとして特定する。
一方、通信装置101の仕向けが5GHzの周波数帯を使用可能な地域である場合や、通信装置101が5GHzの周波数帯を使用可能な設定になっている場合がある。これらの場合は、通信装置101は、2.4GHz及び5GHzの周波数帯に対応する通信チャネルを使用可能であることになる。そのため、S606では、CPU203は、待機時間Xを、通信装置101による2.4GHz及び5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間に基づく値である時間Bとして特定する。
CPU203は、S605又はS606にて待機時間Xを特定した場合、図3のフローチャートに示す処理に戻る。
このような形態とすることで、通信装置101の仕向けや設定状態を加味して、待機時間Xを適切に設定することができる。
また、図6(a)に示すフローチャートの代わりに、図6(b)に示すフローチャートが用いられても良い。図6(b)は、第2実施形態において情報処理装置102が実行する待機時間Xを特定する処理を示すフローチャートである。図6(b)に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図6(b)に示すフローチャートが示す処理は、セットアップ用プログラムによって実現される。また、図6(b)に示すフローチャートが示す処理は、図3のフローチャートに示す処理におけるS301の処理として実行される。
まず、CPU203は、S611で、通信装置101がAPサーチを完了するためにかかる時間Zの情報を取得する。通信装置101が対応している周波数帯に応じて通信装置101がAPサーチを完了するためにかかる時間は変動するため、時間Zの値は、通信装置101が対応している周波数帯に応じて異なる。具体的には例えば、通信装置101が2.4GHzの周波数帯のみ対応している場合は、時間Z=6[s]である。なおこの場合の時間Zは、2.4GHzのみに対応している通信装置101がAPサーチを完了させるのにかかる時間以上、且つ2.4GHz及び5GHzに対応している通信装置101がAPサーチを完了させるのにかかる時間未満の時間であれば良い。一方、通信装置101が2.4GHz及び5GHzの周波数帯に対応している場合は、時間Z=14[s]である。なおこの場合の時間Zは、通信装置101による2.4GHz及び5GHzの周波数帯に対応する通信チャネルを用いたAPサーチにかかる時間以上の時間であれば良い。時間Zは、通信装置101が対応している周波数帯や通信チャネル数に基づいて通信装置101によって決定される。なお、S611では、時間Zの情報だけでなく、通信装置101が利用可能な周波数帯に関する情報、通信装置101の仕向けに関する情報、通信装置101が利用可能な周波数帯のユーザ設定に関する情報等が同時に取得されても良い。
S612で、CPU203は、S611で取得した情報である時間Zに基づいて、待機時間Xを特定する。具体的には、CPU203は、待機時間Xを、時間Zとして特定する。
このような形態とすることで、通信装置101がAPサーチを完了するためにかかる時間を加味して、待機時間Xを適切に設定することができる。
なお、待機時間Xを特定する上述の処理は、後述の第3実施形態においても適用可能である。
(第3実施形態)
第1実施形態と異なるタイミングで、APサーチ結果を取得する形態について説明する。
図7は、第3実施形態において情報処理装置102が実行するAPサーチ結果取得処理を示すフローチャートである。図7に示すフローチャートは、例えば、CPU203がROM204や外部記憶装置206等に格納されたプログラムをRAM205に読み出して実行することにより実現される。具体的には、図7に示すフローチャートが示す処理は、セットアップ用プログラムによって実現される。また、図7に示すフローチャートが示す処理は、図10に示すフローチャートのS915の処理として実行される。
S701〜S703は、S301〜S303と同様であるため説明を省略する。
S704では、CPU203は、S701で決定された待機時間Xより短い所定の時間、待機する。なお、所定の時間は、S704の処理が繰り返された場合に変更されても良い。
その後、S705では、CPU203は、S305と同様にしてAPサーチ結果を取得する。このとき、S704において、S701で決定された待機時間Xより短い所定の時間しか待機していないため、通信装置101によるAPサーチは完了していない。そのためここでは、一部のアクセスポイント(通信装置101が既に実行したAPサーチによって発見されたアクセスポイント)に関する情報のみ取得される。そして、CPU203は、1部のアクセスポイントに関する情報のみ取得した状態で、アクセスポイント選択画面を表示する。すなわち、CPU203は、APサーチが完了していない状態においても、既に発見されているアクセスポイントについては、ユーザが適宜選択できるようにする。
通信装置101がAPリストに追加可能なアクセスポイントの数には限りがある。そのため、S706では、CPU203は、これまでに取得したAPサーチ結果を参照し、通信装置101が実行したAPサーチによって発見されたアクセスポイントの数が閾値に達したか否かを判定する。CPU203は、発見されたアクセスポイントの数が閾値に達していないと判定した場合、S707に進み、発見されたアクセスポイントの数が閾値に達したと判定した場合、処理を終了する。
S707では、CPU203は、経過時間TがS701で決定された待機時間Xと同じか否かを判定する。CPU203は、経過時間TがS701で決定された待機時間Xと同じでないと判定した場合、S708に進み、経過時間TがS701で決定された待機時間Xと同じと判定した場合、再度S704の処理を実行する。なお、CPU203は、この判定を、S704にて所定時間待機している間に適宜実行し、待機中に経過時間TがS701で決定された待機時間Xと同じとなった場合にS704の処理を実行しても良い。また、CPU203は、S704の処理を実行した後は、S709の処理に進む。
S708では、CPU203は、経過時間TがS701で決定された待機時間Xを超えたか否かを判定する。CPU203は、経過時間TがS701で決定された待機時間Xを超えたと判定した場合、S709に進み、経過時間TがS701で決定された待機時間Xを超えていないと判定した場合、再度S704の処理を実行する。
すなわち、CPU203は、S701で決定された待機時間Xの間に、複数回、APサーチ結果の取得を試みる。このような形態とすることで、アクセスポイント選択画面に、既に発見されたアクセスポイントを適宜追加することができる。
S709とS710は、S306とS307と同様であるため説明を省略する。
図8(a)はまだAPサーチ結果が取得されていない状態で表示されるアクセスポイント選択画面800を示す図である。アクセスポイント選択画面800には、SSID一覧表示部801とパスワード設定部802、WEPキー選択部803、手動追加ボタン804、次へボタン805が含まれる。SSID一覧表示部801には、情報処理装置102が取得したAPサーチ結果に含まれるアクセスポイントの情報(SSID)が順次追加される。このとき、次へボタン805は無効化されている。
図8(b)は、1回目に取得されたAPサーチ結果に基づいて表示されるアクセスポイント選択画面810を示す図である。1回目に取得されたAPサーチ結果には、アクセスポイントに関する情報が2つ含まれていたため、SSID一覧表示部811には、2つのSSIDが表示されている。なお、点線812は、選択されている状態のアクセスポイントを示すアイコンである。まだ通信装置101によるAPサーチが完了していないこの状態においても、ユーザはSSID一覧表示部811の中から所望のアクセスポイントのSSIDを選択することができる。すなわち、ユーザは、この状態においても、選択したアクセスポイントのパスワードをパスワード設定部813に入力し、次へボタン816を押下することで、情報処理装置102に、通信装置101の接続先となるアクセスポイントを特定させることができる。なお、SSID一覧表示部811で選択されたアクセスポイントがWEPで暗号化されている場合、WEPキー選択部814が有効化され、WEPキーがユーザに選択される状態となる。
図8(b)は、経過時間T=待機時間Xとなったことにより取得されたAPサーチ結果に基づいて表示されるアクセスポイント選択画面810を示す図である。このとき、通信装置101によるAPサーチは完了しているため、通信装置101によるAPサーチによって発見されたすべてのアクセスポイントのSSIDが、SSID一覧表示部821に表示される。
このように、本実施形態の情報処理装置102は、APサーチ実行指示が送信されてから待機時間Xが経過する前と後に、APサーチ結果を取得する。すなわち、本実施形態の情報処理装置102は、APサーチ結果を複数回取得する。そして、情報処理装置102は、APサーチ結果が取得される毎に、APサーチ結果に基づくアクセスポイントに関する情報をアクセスポイント選択画面に追加する。このような形態とすることで、ユーザは、通信装置101の接続先の候補となるアクセスポイントに関する情報を、通信装置101によるAPサーチが完了する前から把握することができるようになる。
(その他の実施形態)
上述では、通信装置101は、2.4GHZと5GHzの周波数帯のうち少なくとも1つに対応しているものとしたが、この形態に限定されない。すなわち、通信装置101が対応している周波数帯は、いずれの周波数帯であっても良い。また通信装置101は、3つ以上の周波数帯に対応していても良い。なお、対応している周波数帯の数が多くなるほど、APサーチで利用する通信チャネルの数は多くなるため、APサーチを完了するためにかかる時間は長くなる。すなわち、対応している周波数帯の数が多い通信装置101からAPサーチ結果が取得される場合は、待機時間Xの値も大きくなる。
またCPU203は、S906及びS907の前にS915のAPサーチ結果取得処理を実行し、取得したAPサーチ結果に、情報処理装置102が無線接続しているアクセスポイント103の情報が含まれるか否かを判定しても良い。そして、取得したAPサーチ結果に、情報処理装置102が無線接続しているアクセスポイント103の情報が含まれる場合に、S906及びS907を実行しても良い。その場合、まず、S906及びS907の前にS912により通信装置101と無線接続して、APサーチ結果取得処理を実行する。また、CPU203は、取得したAPサーチ結果に、情報処理装置102が無線接続しているアクセスポイント103の情報が含まれない場合、S907を実行せず、S916のようにアクセスポイント選択画面を表示しても良い。そしてCPU203は、アクセスポイント選択画面を介して選択されたアクセスポイントを、通信装置101の接続先となるアクセスポイントとして特定しても良い。
また、CPU203は、S908、S909の処理の代わりに、S915のAPサーチ結果取得処理を実行し、S910におけるアクセスポイント選択画面には、APサーチ結果取得処理で取得された設定情報に基づく情報が表示しても良い。この場合も、S908及びS909の前にS912により通信装置101と無線接続して、APサーチ取得処理を実行する。
なお、上述のようにして通信装置101と無線接続している状態で実行されるAPサーチ取得処理と、通信装置101とUSBによって接続している状態で実行されるAPサーチ取得処理とが異なっていても良い。USB接続においては、CPU203は、短い間隔で通信装置101に問い合わせを行うと、トラフィックの混線等の課題が生じてしまう。しかしながら、無線接続においては、CPU203は、APサーチ結果の取得のために、短い間隔で通信装置101に問い合わせを行うことができる。そのため、通信装置101と無線接続している状態で実行されるAPサーチ取得処理では、CPU203は、短い間隔(例えば0,5秒間隔)で通信装置101のAPサーチ結果を取得しに行き、検索完了を示す識別情報がAPサーチ結果に含まれる場合に処理を終了しても良い。
本発明の目的は、以下の形態によっても達成される。前述した実施形態の機能を実現するソフトウエアのプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(CPUやMPUを含む)が記録媒体に格納されたプログラムを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することとなり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現される。しかしその形態だけでなく、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態も本発明に含まれる。
まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。このような形態も本発明に含まれる。