(57)【要約】【課題】無線デバイスとの無線接続が確立される前における無線通信モジュールの電力消費の低減を図ることが可能な電子機器を実現する。【解決手段】無線ＬＡＮドライバ３０２は、無線デバイスとの無線接続が確立される前の期間中においては、無線ＬＡＮモジュール１０９をAWAKE状態に維持するのではなく、ユーザによって無線デバイスの検出が要求された場合、つまりアプリケーションプログラム３０１がユーザからの要求に応答して無線デバイス検出要求を出力した場合に、無線ＬＡＮモジュール１０９をスリープ(SLEEP)状態からAWAKE状態に遷移させて、無線ＬＡＮモジュール１０９にスキャン処理を実行させる。スキャン処理が終了した時、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９をSLEEP状態に遷移させる。【選択図】      図５
2008061111.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線通信チャネルのいずれか一つを用いて無線通信を実行する電子機器において、
前記無線通信を実行可能な稼働状態と前記稼働状態よりも電力消費の少ないスリープ状態との間を遷移するように構成された無線通信モジュールと、
前記電子機器によって実行されるアプリケーションプログラムがユーザからの要求に応答して無線デバイス検出要求を出力した場合、前記無線通信モジュールを前記スリープ状態から前記稼働状態に遷移させると共に、前記無線通信モジュールに、前記無線通信モジュールの周囲に存在する無線デバイスを検出するスキャン処理を前記複数の無線通信チャネルそれぞれに対して実行させ、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了した場合、前記無線通信モジュールを前記稼働状態からスリープ状態に遷移させるスキャン処理制御手段と、
前記複数の無線通信チャネルそれぞれに対するスキャン処理によって検出された無線デバイスの一覧を示すデバイスリストを前記アプリケーションプログラムに送出するデバイスリスト送出手段とを具備することを特徴とする電子機器。
【請求項２】
前記複数の無線通信チャネルの各々に対する前記スキャン処理の実行時間は所定の時間に制限されており、前記無線通信モジュールは、前記所定の時間毎にスキャン対象の無線通信チャネルを前記複数の無線通信チャネル間で順次変更し、
前記デバイスリスト送出手段は、前記無線デバイス検出要求が出力されてから特定時間経過後に前記アプリケーションプログラムから送出されるデバイスリスト取得要求に応答して、前記デバイスリストを前記アプリケーションプログラムに送出することを特徴とする請求項１記載の電子機器。
【請求項３】
前記スキャン処理制御手段は、前記アプリケーションプログラムによって指定された、前記複数の無線通信チャネルの中の特定の無線通信チャネルに対するスキャン処理の実行時間を前記無線通信モジュールに通知して、前記無線通信モジュールに前記特定の無線通信チャネルに対するスキャン処理を他の各無線通信チャネルに対するスキャン処理よりも長い時間実行させることを特徴とする請求項１記載の電子機器。
【請求項４】
前記スキャン処理制御手段は、前記特定の無線通信チャネルに対する前回のスキャン処理によって検出された無線デバイスの数が所定数よりも多い場合、前記検出された無線デバイスの数に応じて前記特定の無線通信チャネルに対するスキャン処理の実行時間を決定し、前記無線通信モジュールに前記決定した前記特定の無線通信チャネルに対するスキャン処理の実行時間を通知して、前記無線通信モジュールに前記特定の無線通信チャネルに対するスキャン処理を他の各無線通信チャネルに対するスキャン処理よりも長い時間実行させることを特徴とする請求項１記載の電子機器。
【請求項５】
前記デバイスリスト送出手段は、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了した場合、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了したことを示す終了通知を前記アプリケーションプログラムに送信することを特徴とする請求項４記載の電子機器。
【請求項６】
複数の無線通信チャネルのいずれか一つを用いて無線通信を実行する電子機器内に設けられ前記無線通信を実行可能な稼働状態と前記稼働状態よりも電力消費の少ないスリープ状態との間を遷移するように構成された無線通信モジュールを制御する無線通信制御方法であって、
前記電子機器によって実行されるアプリケーションプログラムがユーザからの要求に応答して無線デバイス検出要求を出力した場合、前記無線通信モジュールを、前記スリープ状態から前記稼働状態に遷移させると共に、前記無線通信モジュールに、前記無線通信モジュールの周囲に存在する無線デバイスを検出するスキャン処理を前記複数の無線通信チャネルそれぞれに対して実行させるステップと、
前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了した場合、前記無線通信モジュールを前記稼働状態からスリープ状態に遷移させるステップと、
前記複数の無線通信チャネルそれぞれに対するスキャン処理によって検出された無線デバイスの一覧を示すデバイスリストを前記アプリケーションプログラムに送出するステップとを具備することを特徴とする無線通信制御方法。
【請求項７】
前記複数の無線通信チャネルの各々に対する前記スキャン処理の実行時間は所定の時間に制限されており、前記無線通信モジュールは、前記所定の時間毎にスキャン対象の無線通信チャネルを前記複数の無線通信チャネル間で順次変更し、
前記デバイスリストを前記アプリケーションプログラムに送出するステップは、前記無線デバイス検出要求が出力されてから特定時間経過後に前記アプリケーションプログラムから送出されるデバイスリスト取得要求に応答して、前記デバイスリストを前記アプリケーションプログラムに送出するステップを含むことを特徴とする請求項６記載の無線通信制御方法。
【請求項８】
前記アプリケーションプログラムによって指定された、前記複数の無線通信チャネルの中の特定の無線通信チャネルに対するスキャン処理の実行時間を前記無線通信モジュールに通知して、前記無線通信モジュールに前記特定の無線通信チャネルに対するスキャン処理を他の各無線通信チャネルに対するスキャン処理よりも長い時間実行させるステップをさらに具備することを特徴とする請求項６記載の無線通信制御方法。
【請求項９】
前記特定の無線通信チャネルに対する前回のスキャン処理によって検出された無線デバイスの数が所定数よりも多い場合、前記検出された無線デバイスの数に応じて前記特定の無線通信チャネルに対するスキャン処理の実行時間を決定するステップと、
前記無線通信モジュールに前記決定した前記特定の無線通信チャネルに対するスキャン処理の実行時間を通知して、前記無線通信モジュールに前記特定の無線通信チャネルに対するスキャン処理を他の各無線通信チャネルに対するスキャン処理よりも長い時間実行させるステップとをさらに具備することを特徴とする請求項６記載の無線通信制御方法。
【請求項１０】
前記デバイスリストを前記アプリケーションプログラムに送出するステップは、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了した場合、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了したことを示す終了通知を前記アプリケーションプログラムに送信するステップを含むことを特徴とする請求項９記載の無線通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信機能を有する電子機器および同電子機器で用いられる無線通信制御方法に関する。
【背景技術】
【０００２】
一般に、パーソナルコンピュータ、ＰＤＡ、オーディオプレーヤのような携帯型の電子機器においては、その電力消費を低減することが要求されている。特に、無線ＬＡＮモジュールのような無線通信モジュールを搭載した電子機器においては、無線通信モジュールによって比較的多くの電力が消費されるので、無線通信モジュールの省電力化を図ることが必要である。
【０００３】
特許文献１には、省電力機能を有する携帯端末装置が開示されている。この携帯端末装置においては、携帯端末装置とこの携帯端末装置に無線接続されたアクセスポイントとの間でデータ通信が所定時間行われなかった時に、携帯端末装置内の送受信部への電力の供給が停止される。
【特許文献１】特開２００６−００５５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の省電力技術は携帯端末装置とアクセスポイントとの間の無線接続が確立された後にのみ適用されるものであり、無線接続が確立される前の期間中における省電力については何ら考慮されていない。
【０００５】
無線ＬＡＮの規格においては、無線通信モジュールのステートとして、Awake状態と称される稼働状態と、Doze状態と称されるスリープ状態とが定義されている。スリープ状態は、無線通信モジュールが無線信号の送信および受信を一切実行しない状態であり、無線通信モジュールによって消費される電力は稼働状態よりも大幅に少ない。
【０００６】
携帯端末装置がアクセスポイントとの無線通信を実行するためには、携帯端末装置は、その携帯端末装置の周囲に存在するアクセスポイントを検出することが必要となる。このため、通常は、アクセスポイントとの無線接続が確立されるまでの期間中は、アクセスポイントからのビーコン信号の受信などに備えるために、無線通信モジュールはAwake状態に維持され、スリープ状態には遷移しない。このため、アクセスポイントとの無線接続が確立されるまでの期間中は、無線通信モジュールは電力を消費し続けることになる。
【０００７】
よって、無線通信機能を有する電子機器のバッテリ動作時間を延ばすためには、アクセスポイントのような無線デバイスとの無線接続が確立される前における無線通信モジュールの電力消費を低減するための新たな機能を実現することが必要である。
【０００８】
本発明は上述の事情を考慮してなされたものであり、無線デバイスとの無線接続が確立される前における無線通信モジュールの電力消費を低減することが可能な電子機器および無線通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明は、複数の無線通信チャネルのいずれか一つを用いて無線通信を実行する電子機器において、前記無線通信を実行可能な稼働状態と前記稼働状態よりも電力消費の少ないスリープ状態との間を遷移するように構成された無線通信モジュールと、前記電子機器によって実行されるアプリケーションプログラムがユーザからの要求に応答して無線デバイス検出要求を出力した場合、前記無線通信モジュールを前記スリープ状態から前記稼働状態に遷移させると共に、前記無線通信モジュールに、前記無線通信モジュールの周囲に存在する無線デバイスを検出するスキャン処理を前記複数の無線通信チャネルそれぞれに対して実行させ、前記複数の無線通信チャネルの全てに対する前記スキャン処理が終了した場合、前記無線通信モジュールを前記稼働状態からスリープ状態に遷移させるスキャン処理制御手段と、前記複数の無線通信チャネルそれぞれに対するスキャン処理によって検出された無線デバイスの一覧を示すデバイスリストを前記アプリケーションプログラムに送出するデバイスリスト送出手段とを具備することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、無線デバイスとの無線接続が確立される前における無線通信モジュールの電力消費を低減することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施形態を説明する。  
まず、図１を参照して、本発明の一実施形態に係る電子機器の構成を説明する。
【００１２】
この電子機器は、例えば、パーソナルコンピュータ、ＰＤＡ、ＡＶ（オーディオ・ビデオ）プレーヤ、のような携帯型機器であり、内蔵バッテリによって駆動可能に構成されている。以下では、電子機器がオーディオデータおよびビデオデータを再生するためのＡＶプレーヤ１１として実現されている場合を想定する。
【００１３】
ＡＶプレーヤ１１の本体表面上には、表示デバイスとしてのＬＣＤ１２と、入力デバイスとしての各種操作ボタン（バックボタン１３、スタートボタン１４、ＯＫボタン１５、プラスボタン１６）とが設けられている。ヘッドフォン１７は、ＡＶプレーヤ１１の例えば本体上面に設けられたヘッドフォン端子に接続される。
【００１４】
また、ＡＶプレーヤ１１は、IEEE 802.11b/g規格で規定された無線ＬＡＮのような無線通信機能を有しており、同IEEE 802.11b/g規格に準拠した各種無線デバイス（アクセスポイント（ＡＰ）２１、ステーション（ＳＴＡ）３１）との無線通信を実行することができる。例えば、ＡＶプレーヤ１１は、アクセスポイント（ＡＰ）２１に無線接続することにより、アクセスポイント（ＡＰ）２１を介してインターネット上のサーバにアクセスし、オーディオデータ、ビデオデータ等をサーバからダウンロードすることができる。ステーション３１は、例えばパーソナルコンピュータや、ＡＶプレーヤ１１と同じ無線通信機能を有する他のＡＶプレーヤなどから構成されている。ＡＶプレーヤ１１は、ステーション（ＳＴＡ）３１に無線接続することにより、例えば、オーディオデータ、ビデオデータ等をステーション（ＳＴＡ）３１との間で交換することができる。
【００１５】
次に、図２を参照して、ＡＶプレーヤ１１のシステム構成を説明する。
【００１６】
図２に示すように、ＡＶプレーヤ１１は、ＣＰＵ１０１、メモリ１０２、表示コントローラ１０３、ハードディスクドライブ（ＨＤＤ）１０４、入力インタフェース部１０５、ＵＳＢコントローラ１０６、オーディオコントローラ１０７、Ｉ／Ｏコントローラ１０８、無線ＬＡＮモジュール１０９、電源回路１１０、およびバッテリ１１１等を備えている。
【００１７】
ＣＰＵ１０１はＡＶプレーヤ１１の動作を制御するプロセッサであり、メモリ１０２にロードされた各種プログラム（オペレーティングシステム、アプリケーションプログラム、および無線ＬＡＮドライバ等）を実行する。アプリケーションプログラムは、オーディオデータおよびビデオデータの再生、および無線通信の実行等を行うためのプログラムである。無線ＬＡＮドライバは、アプリケーションプログラムからの要求に応じて、無線ＬＡＮモジュール１０９を制御するためのドライバプログラムである。
【００１８】
表示コントローラ１０３はＬＣＤ１２を制御し、各種操作メニュー、およびアプリケーションプログラムによって再生されたビデオデータに対応する画像等を、ＬＣＤ１２の表示画面上に表示する。ＨＤＤ１０４は、オーディオデータおよびビデオデータ等の各種データを格納するためのストレージデバイスとして機能する。ＵＳＢコントローラ１０６はＡＶプレーヤ１１の本体に設けられたＵＳＢ端子２０１に接続されており、ＵＳＢ端子２０１に接続された他の各種デバイスとの通信を実行する。オーディオコントローラ１０７は音源デバイスであり、アプリケーションプログラムによって再生されたオーディオデータに対応するサウンド信号を生成し、そのサウンド信号をヘッドフォン端子２０２に出力する。Ｉ／Ｏコントローラ１０８は無線ＬＡＮモジュール１０９とのインタフェースを実行するためのコントローラであり、例えば、ＳＤ  ＩＯカードを制御するためのＳＤ  ＩＯホストコントローラから構成されている。この場合、Ｉ／Ｏコントローラ１０８と無線ＬＡＮモジュール１０９との間は、SD IOバスを介して接続される。
【００１９】
無線ＬＡＮモジュール１０９は、例えばIEEE 802.11b/g規格に準拠した無線通信を実行する無線通信モジュールである。IEEE 802.11b/g規格においては、互いにキャリア周波数が異なるチャネル１からチャネル１３までの１３個の無線通信チャネルが定義されており、無線ＬＡＮモジュール１０９は、１３個の無線通信チャネルの中の任意の一つを用いて無線通信を実行することがきる。
【００２０】
この無線ＬＡＮモジュール１０９の状態は、２つの状態に大別される。一つは、Awake状態と称される稼働状態（アクティブ状態）であり、もう一つは、Doze状態と称されるスリープ状態である。無線ＬＡＮモジュール１０９の状態は、稼働状態およびスリープ状態のいずれかに設定される。また無線ＬＡＮモジュール１０９は、稼働状態とスリープ状態との間を遷移するように構成されている。スリープ状態は、無線ＬＡＮモジュール１０９が無線信号の送信および受信を一切実行しないパワーセーブ状態である。スリープ状態において無線ＬＡＮモジュール１０９によって消費される電力は、稼働状態において無線ＬＡＮモジュール１０９によって消費される電力よりも大幅に少ない。稼働状態つまりAwake状態は、無線ＬＡＮモジュール１０９が無線通信可能な状態である。稼働状態つまりAwake状態においては、無線ＬＡＮモジュール１０９は無線信号を受信することができ、また無線ＬＡＮドライバからの送信要求に応答して無線信号を送信することもできる。
【００２１】
なお、Awake状態を受信可能状態（待ち受け状態と、実際に無線信号を受信している状態とを含む）と称し、実際に無線信号を送信している状態を送信状態と称することもある。Awake状態の無線ＬＡＮモジュール１０９が無線ＬＡＮドライバから送信要求を受信すると、無線ＬＡＮモジュール１０９は自動的に送信状態となり、無線信号を送信する。無線信号の送信が終了すると、無線ＬＡＮモジュール１０９は自動的にAwake状態に戻る。
【００２２】
電源回路１１０は、ＡＶプレーヤ１１の本体内に設けられたバッテリ１１１からの電力、または外部のＡＣアダプタ１１２からの電力を用いて、各コンポーネントに動作電源を供給する。
【００２３】
次に、図３を参照して、無線ＬＡＮモジュール１０９の電力消費を低減するための省電力機能について説明する。図３には、アプリケーションプログラム３０１と、無線ＬＡＮドライバ３０２と、無線ＬＡＮモジュール１０９との間の関係が示されている。
【００２４】
本実施形態の省電力機能は、無線デバイス（アクセスポイント（ＡＰ）２１、またはステーション（ＳＴＡ）３１）と無線ＬＡＮモジュール１０９との間の無線接続が確立される前の期間中における無線ＬＡＮモジュール１０９の電力消費を低減する。この省電力機能は、無線ＬＡＮドライバ３０２によって実現されている。
【００２５】
具体的には、無線ＬＡＮドライバ３０２は、無線デバイスとの無線接続が確立される前の期間中においては、無線ＬＡＮモジュール１０９をAWAKE状態に維持するのではなく、ユーザによって無線デバイスの検出が要求された場合にのみ、つまりアプリケーションプログラム３０１がユーザからの要求に応答して無線デバイス検出要求を出力した場合にのみ、無線ＬＡＮモジュール１０９をスリープ(SLEEP)状態からAWAKE状態に遷移させて、無線ＬＡＮモジュール１０９にスキャン処理を実行させる。スキャン処理は、無線ＬＡＮモジュール１０９の周囲つまりＡＶプレーヤ１１の周囲に存在する無線デバイスを検出する処理である。無線ＬＡＮにおいては、上述したように、チャネル１からチャネル１３までの１３個の無線通信チャネルが定義されている。このため、スキャン処理は１３個の通信チャネルそれぞれに対して実行される。１３個の通信チャネルの全てに対するスキャン処理が終了した時、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９をSLEEP状態に遷移させる。
【００２６】
このように、無線ＬＡＮモジュール１０９は、ユーザによって無線デバイスの検出が要求された場合にのみSLEEP状態からAWAKE状態に遷移する。そして、１３個の通信チャネルの全てに対するスキャン処理の実行が終了すると、無線ＬＡＮモジュール１０９は、AWAKE状態からSLEEP状態に遷移する。したがって、無線ＬＡＮモジュール１０９がAWAKE状態に設定されている期間を制限することが可能となり、無線デバイスと無線ＬＡＮモジュール１０９との間の無線接続が確立される前の期間中における無線ＬＡＮモジュール１０９の電力消費を低減することが可能となる。
【００２７】
以下、アプリケーションプログラム３０１および無線ＬＡＮドライバ３０２それぞれの機能構成を説明する。
【００２８】
アプリケーションプログラム３０１は、無線通信を利用して各種コンテンツデータ（オーディオデータ、ビデオデータ等）を無線デバイスとの間で転送するためのプログラムであり、ＧＵＩを用いて無線通信機能に関するユーザからの各種操作要求を受け取り、その操作要求に応じて無線ＬＡＮドライバ３０２との通信を実行する。このアプリケーションプログラム３０１は、デバイス検出要求出力部４０１、およびデバイスリスト表示処理部４０２を備えている。これらデバイス検出要求出力部４０１、およびデバイスリスト表示処理部４０２は、ＣＰＵ１０１によって実行されるソフトウェアモジュールである。
【００２９】
デバイス検出要求出力部４０１は、ユーザからの無線デバイスの検出要求に応答して、スキャン処理の実行を指示する無線デバイス検出要求を無線ＬＡＮドライバ３０２に送出する。デバイスリスト表示処理部４０２は、無線ＬＡＮモジュール１０９によって実行されるスキャン処理によって検出された無線デバイスの一覧を示すデバイスリストをＬＣＤ１２の表示画面上に表示する。
【００３０】
無線ＬＡＮドライバ３０２は、アプリケーションプログラム３０１からの要求に応じて無線ＬＡＮモジュール１０９を制御するプログラムである。この無線ＬＡＮドライバ３０２は、上述の省電力機能を実現するために、スキャン処理制御部４０３、AWAKE要求出力部４０４、SLEEP要求出力部４０５、およびデバイスリスト送出部４０６等を備えている。これらスキャン処理制御部４０３、AWAKE要求出力部４０４、SLEEP要求出力部４０５、およびデバイスリスト送出部４０６は、ＣＰＵ１０１によって実行されるソフトウェアモジュールである。
【００３１】
スキャン処理制御部４０３は、アプリケーションプログラム３０１がユーザからの要求に応答して無線デバイス検出要求を出力した場合、AWAKE要求出力部４０４を用いて無線ＬＡＮモジュール１０９をSLEEP状態からAWAKE状態に遷移させる遷移させると共に、スキャン要求（SCAN Req）を無線ＬＡＮモジュール１０９に送出して、無線ＬＡＮモジュール１０９に、スキャン処理を無線通信チャネル１〜１３それぞれに対して実行させる。無線通信チャネル１〜１３の全てに対するスキャン処理が終了したことを示す通知(SCAN Indication)を無線ＬＡＮモジュール１０９から受け取ると、スキャン処理制御部４０３は、SLEEP要求出力部４０５を用いて無線ＬＡＮモジュール１０９をAWAKE状態からSLEEP状態に遷移させる。
【００３２】
AWAKE要求出力部４０４は、スキャン処理制御部４０３からの要求に応じて、AWAKE状態への遷移を指示するAWAKE要求(AWAKE Req)を無線ＬＡＮモジュール１０９に送出する。SLEEP要求出力部４０５は、スキャン処理制御部４０３からの要求に応じて、SLEEP状態への遷移を指示するスリープ要求(SLEEP Req)を無線ＬＡＮモジュール１０９に送出する。
【００３３】
デバイスリスト送出部４０６は、スキャン処理によって検出された無線デバイスの一覧を示すデバイスリストをアプリケーションプログラム３０１に送出する。
【００３４】
無線ＬＡＮモジュール１０９は、無線ＬＡＮドライバ３０２からAWAKE要求（AWAKE Req）を受信した時、SLEEP状態からAWAKE状態に遷移する。また、無線ＬＡＮドライバ３０２からスリープ要求（SLEEP Req）を受信した時、無線ＬＡＮモジュール１０９は、AWAKE状態からSLEEP状態に遷移する。
【００３５】
無線ＬＡＮドライバ３０２からスキャン要求（SCAN Req）を受信すると、無線ＬＡＮモジュール１０９は、無線通信チャネル１〜１３それぞれに対するスキャン処理を開始する。各無線通信チャネルに対するスキャン処理は、例えば、アクティブスキャンによって実行される。アクティブスキャンにおいては、無線ＬＡＮモジュール１０９は、プローブ要求パケット(Probe Req)をブロードキャストし、無線デバイスからプローブ応答パケット(Probe Res)が送信されるのを待つ。プローブ応答パケット(Probe Res)を受信することにより、無線ＬＡＮモジュール１０９は、プローブ応答パケット(Probe Res)を送信した無線デバイスを識別する情報（例えば、MACアドレス、SSID、無線デバイスの種類、等）を取得することができる。
【００３６】
本実施形態においては、無線ＬＡＮモジュール１０９がAWAKE状態に維持されている時間をできるだけ短くするために、各無線通信チャネルに対するスキャン処理の実行時間は、予め決められた時間(例えば、200ms)に制限されている。ある通信チャネルに対するスキャン処理が開始されてから制限時間(例えば、200ms)が経過すると、プローブ応答パケットを受信したかどうかにかかわらず、つまり無線デバイスを検出したかどうかにかかわらず、無線ＬＡＮモジュール１０９はその通信チャネルに対するスキャン処理を終了し、次の通信チャネルのスキャン処理を開始する。
【００３７】
このように、無線ＬＡＮモジュール１０９は、制限時間毎にスキャン対象の通信チャネルを通信チャネル１〜１３間で順次変更しながら、通信チャネル１〜１３それぞれのスキャン処理を実行する。このため、無線通信チャネル１〜１３の全てに対するスキャン処理は、基本的には、制限時間×13の時間で完了する。アプリケーションプログラム３０１は、無線デバイス検出要求を出力してから特定時間（＝制限時間×13）経過後に、デバイスリストの取得要求を無線ＬＡＮドライバ３０２に送出する。
【００３８】
なお、図７を参照して後述するように、ある特定の通信チャネルに対するスキャン処理の実行時間を他の通信チャネルに対するスキャン処理の実行時間よりも長く設定するようにしてもよい。ある特定の通信チャネルを使用している多数の無線デバイスが存在する場合には、制限されたスキャン処理の時間内で、当該通信チャネル上に存在する全ての無線デバイスを検出することが困難な場合もあるためである。
【００３９】
次に、図４を参照して、ＬＣＤ１２の表示画面上に表示される操作画面の例を説明する。
【００４０】
ユーザが例えばスタートボタン１４を押下操作すると、アプリケーションプログラム３０１は、スタート画面５０１をＬＣＤ１２の表示画面上に表示する。スタート画面５０１は、ユーザに実行したい機能を選択させるためのメニュー画面である。このスタート画面５０１には、例えば、“MUSIC”、“VIDEO”、“W-LAN Communication”の３つの機能項目が表示される。ユーザが“MUSIC”を選択すると、アプリケーションプログラム３０１は、ＨＤＤ１０４に格納されているオーディオデータの一覧をＬＣＤ１２の表示画面上に表示する。そして、アプリケーションプログラム３０１は、オーディオデータの一覧の中からユーザが選択したオーディオデータを再生する。ユーザが“VIDEO”を選択すると、アプリケーションプログラム３０１は、ＨＤＤ１０４に格納されているビデオデータの一覧をＬＣＤ１２の表示画面上に表示する。そして、アプリケーションプログラム３０１は、ビデオデータの一覧の中からユーザが選択したビデオデータを再生する。
【００４１】
ユーザが“W-LAN Communication”を選択すると、アプリケーションプログラム３０１は、無線ＬＡＮモジュール１０９にスキャン処理を実行させるために、上述の無線デバイス検出要求を無線ＬＡＮドライバ３０２に送信する。そして、アプリケーションプログラム３０１は、スキャン処理によって検出された無線デバイスの一覧を示すデバイスリストを無線ＬＡＮドライバ３０２から取得し、デバイスリスト画面５０２をＬＣＤ１２の表示画面上に表示する。
【００４２】
デバイスリスト画面５０２には、ＡＶプレーヤ１１の周囲に存在するアクセスポイント（ＡＰ）の一覧と、ＡＶプレーヤ１１の周囲に存在するステーションの一覧（例えば本ＡＶプレーヤ１１と同等の無線通信機能を有する他のオーディオプレーヤ（ＡＶプレーヤ）の一覧）とが表示される。また、デバイスリスト画面５０２には、“更新”ボタン５０３が配置されている。ユーザによって“更新”ボタン５０３が押下された時も、アプリケーションプログラム３０１は、無線ＬＡＮモジュール１０９にスキャン処理を実行させるために、上述の無線デバイス検出要求を無線ＬＡＮドライバ３０２に送信する。そして、アプリケーションプログラム３０１は、スキャン処理によって検出された無線デバイスの一覧を示すデバイスリストを無線ＬＡＮドライバ３０２から取得し、デバイスリスト画面５０２をＬＣＤ１２の表示画面上に表示する。
【００４３】
また、ユーザがデバイスリスト画面５０２に表示されている、あるアクセスポイントまたはステーションを選択すると、その選択されたアクセスポイントまたはステーションとの無線接続を確立するための処理が無線ＬＡＮドライバ３０２の制御の下に実行される。
【００４４】
次に、図５を参照して、スキャン処理の制御手順について説明する。
【００４５】
ＡＶプレーヤ１１が電源投入された時、無線ＬＡＮモジュール１０９の初期化処理が実行され、その後、無線ＬＡＮモジュール１０９は無線ＬＡＮドライバ３０２によってSLEEP状態に設定される。
【００４６】
アプリケーションプログラム３０１は、ユーザによって無線デバイスの検出が要求された時（例えば、ユーザが“W-LAN Communication”の選択操作、または“更新”ボタン５０３の押下操作を行った時）、無線デバイス検出要求を無線ＬＡＮドライバ３０２に送信する。
【００４７】
無線ＬＡＮドライバ３０２は、AWAKE要求（AWAKE Req）を無線ＬＡＮモジュール１０９に送信して、無線ＬＡＮモジュール１０９をSLEEP状態からAWAKE状態に遷移させる。そして、無線ＬＡＮドライバ３０２は、スキャン要求（SCAN Req）を無線ＬＡＮモジュール１０９に送信する。
【００４８】
無線ＬＡＮモジュール１０９は、無線通信チャネル１〜１３の順番でスキャン処理を順次実行する。各無線通信チャネルに対するスキャン処理においては、無線ＬＡＮモジュール１０９は、プローブ要求パケット(Probe Req)をブロードキャストし、プローブ要求パケットに対する応答パケットであるプローブ応答パケット(Probe Res)が無線デバイスから送信されるのを待つ。
【００４９】
無線通信チャネル１〜１３の全てのスキャン処理が終了すると、無線ＬＡＮモジュール１０９は、SCAN Indicationを無線ＬＡＮドライバ３０２に送信して、無線通信チャネル１〜１３のスキャン処理の終了を無線ＬＡＮドライバ３０２に通知する。無線ＬＡＮドライバ３０２は、スリープ要求（SLEEP Req）を無線ＬＡＮモジュール１０９に送信して、無線ＬＡＮモジュール１０９をAWAKE状態からSLEEP状態に遷移させる。
【００５０】
アプリケーションプログラム３０１は、無線デバイス検出要求を送出してから一定時間（例えば、200ms×13、または200ms×13+α）経過した時、デバイスリスト取得要求(Get List)を無線ＬＡＮドライバ３０２に送信する。このデバイスリスト取得要求(Get List)に応答して、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９によって検出された無線デバイスの一覧を示すデバイスリスト（list）をアプリケーションプログラム３０１に送信する。
【００５１】
以上のスキャン処理の制御動作は、ユーザによって無線デバイスの検出が要求される度に実行される。
【００５２】
次に、図６のフローチャートを参照して、無線ＬＡＮドライバ３０２によって実行されるスキャン制御処理の手順について説明する。
【００５３】
アプリケーションプログラム３０１から無線デバイス検出要求を受信すると（ステップＳ１０１）、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９がAWAKE状態であるか否か、つまり無線ＬＡＮモジュール１０９がスキャン処理を実行中であるか否かを判別する（ステップＳ１０２）。無線ＬＡＮモジュール１０９がAWAKE状態であるならば、つまり無線ＬＡＮモジュール１０９によるスキャン処理の実行中に無線デバイス検出要求が受信されたならば（ステップＳ１０２のＹＥＳ）、無線ＬＡＮドライバ３０２は、何もしない。
【００５４】
一方、無線ＬＡＮドライバ３０２がSLEEP状態であれば、つまりスキャン処理が実行中でないならば（ステップＳ１０２のＮＯ）、無線ＬＡＮドライバ３０２は、AWAKE要求(AWAKE Req)を無線ＬＡＮモジュール１０９に送信する（ステップＳ１０３）。そして、無線ＬＡＮドライバ３０２は、スキャン要求(SCAN Req)を無線ＬＡＮモジュール１０９に送信して、無線ＬＡＮモジュール１０９にスキャン処理を開始させる（ステップＳ１０４）。この後、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９からSCAN Indicationが送信されるのを待つ。無線ＬＡＮモジュール１０９からSCAN Indicationを受信すると（ステップＳ１０５のＹＥＳ）、無線ＬＡＮドライバ３０２は、スキャン処理によって検出された無線デバイスの一覧を示す情報（スキャンリスト）を無線ＬＡＮモジュール１０９から取得した後、無線ＬＡＮモジュール１０９にスリープ要求(SLEEP Req)を送信して、無線ＬＡＮモジュール１０９をSLEEP状態に遷移させる（ステップｓ１０６）。
【００５５】
このように、本実施形態においては、無線デバイスと無線ＬＡＮモジュール１０９との間の無線接続が確立される前の期間中においては、無線ＬＡＮモジュール１０９は、ユーザによって無線デバイスの検出が要求されたときのみSLEEP状態からAWAKE状態に遷移し、そしてスキャン処理が終了すると、SLEEP状態に遷移する。
【００５６】
次に、ある特定の無線通信チャネルに対するスキャン処理の実行時間（スキャン時間）を変更する処理にについて説明する。
【００５７】
上述したように、ある１つの無線通信チャネルに多数のアクセスポイントやステーションが存在する場合には、予め決められた特定のスキャン時間では、当該通信チャネル上に存在する全ての無線デバイスを検出することができない可能性がある。また、本実施形態のように、ユーザによって無線デバイスの検出が要求された場合にのみスキャン処理を実行するというスキャン制御においては、一回のスキャン処理で、ＡＶプレーヤ１１の周囲に存在する無線デバイスをなるべく多く検出することが好ましい。
【００５８】
このため、本実施形態では、特定の無線通信チャネルに対するスキャン時間を、アプリケーションプログラム３０１によって指定された時間に変更する処理、または特定の無線通信チャネルに対する前回のスキャン処理によって検出された無線デバイスの数に応じて特定の無線通信チャネルに対するスキャン時間を変更する処理が実行される。
【００５９】
図７のフローチャートは、前者の処理の手順を示している。
【００６０】
無線ＬＡＮドライバ３０２は、アプリケーションプログラム３０１から特定チャネル（例えば、無線通信チャネル１１）のスキャン時間（スキャン処理の実行時間）を指定する情報を受信すると（ステップＳ２２１）、アプリケーションプログラム３０１によって指定された特定チャネルのスキャン時間を無線ＬＡＮモジュール１０９に通知して、無線ＬＡＮモジュール１０９に特定チャネルに対するスキャン処理を他の各チャネルに対するスキャン処理よりも長い時間実行させる（ステップＳ２２２）。
【００６１】
図８のフローチャートは、無線ＬＡＮモジュール１０９によって実行されるスキャン処理の手順を示している。
【００６２】
無線ＬＡＮドライバ３０２からスキャン要求（SCAN Req）を受信すると（ステップｓ２０１のＹＥＳ）、無線ＬＡＮモジュール１０９は、スキャン対象の無線通信チャネルを順次変更しながら、スキャン処理を実行する。この場合、まず、無線ＬＡＮモジュール１０９は、現在のスキャン対象の無線通信チャネルが、スキャン時間が指定されている特定の無線通信チャネルであるか否かを判別する（ステップＳ２０２）。スキャン対象の無線通信チャネルが特定の無線通信チャネルではないならば（ステップＳ２０２のＮＯ）、無線ＬＡＮモジュール１０９は、スキャン時間（スキャン処理の実行時間）をデフォルトの時間（例えば、200ms）に設定する（ステップＳ２０３）。一方、スキャン対象の無線通信チャネルが特定の無線通信チャネルであるならば（ステップＳ２０２のＹＥＳ）、無線ＬＡＮモジュール１０９は、スキャン時間（スキャン処理の実行時間）を、無線ＬＡＮドライバ３０２を介して指定された時間（例えば、500ms）に設定する（ステップＳ２０４）。
【００６３】
この後、無線ＬＡＮモジュール１０９は、プローブ要求パケット（Probe Req）をブロードキャストする（ステップＳ２０５）。そして、プローブ応答パケット（Probe Res）を受信すると（ステップＳ２０６のＹＥＳ）、無線ＬＡＮモジュール１０９は、受信したプローブ応答パケットに含まれる無線デバイス情報をスキャンリストに追加する（ステップＳ２０７）。設定されたスキャン時間に達するまで、ステップＳ２０６，Ｓ２０７の処理は繰り返し実行される。
【００６４】
タイムアウトつまり設定されたスキャン時間に達すると（ステップＳ２０８のＹＥＳ）、無線ＬＡＮモジュール１０９は、全ての通信チャネルに対するスキャン処理が完了したかどうかを判別する（ステップＳ２０９）。スキャン処理が実行されていない通信チャネルが残っているならば（ステップＳ２０９のＮＯ）、無線ＬＡＮモジュール１０９は、次の通信チャネルに移動する処理、つまりスキャン対象の通信チャネルを次の通信チャネルに変更する処理を実行し（ステップＳ２１０）、その後、ステップＳ２０２の処理に進む。
【００６５】
一方、全ての通信チャネルに対するスキャン処理が完了したならば（ステップＳ２０９のＹＥＳ）、無線ＬＡＮモジュール１０９は、SCAN Indicationを無線ＬＡＮドライバ３０２に送信する（ステップＳ２１１）。
【００６６】
図９は、通信チャネル１〜１３それぞれのスキャン時間の例を示している。
【００６７】
図９においては、アプリケーションプログラム３０１によって通信チャネル１１のスキャン時間が指定され、その指定された時間がデフォルトのスキャン時間よりも長い場合を想定している。この場合、通信チャネル１１に対するスキャン処理は、他の各通信チャネルのスキャン処理よりも長い時間実行される。よって、通信チャネル１１に多数の無線デバイスが存在する場合においても、それら全ての無線デバイスを検出できる確率が高くなる。
【００６８】
次に、図１０のフローチャートを参照して、前回のスキャン処理によって検出された無線デバイスの数に応じてスキャン時間を動的に変更する処理の手順を説明する。
【００６９】
無線ＬＡＮドライバ３０２は、特定チャネルに対する前回のスキャン処理によって検出された無線デバイスの台数Ｎがｎ台よりも多いか否かを判別する（ステップＳ３０１）。特定チャネルに対する前回のスキャン処理によって検出された無線デバイスの台数Ｎがｎ台よりも多いならば（ステップＳ３０１のＹＥＳ）、無線ＬＡＮドライバ３０２は、特定チャネルのスキャン時間をデフォルトの時間よりも長い時間に変更するために、Ｎの値に応じて特定チャネルに対する新たなスキャン時間を決定する（ステップＳ３０２）。ステップＳ３０２の処理においては、例えば、図１１のテーブルを使用することができる。このテーブルは、Ｎの値それぞれに対応するスキャン時間を定義したテーブルである。無線ＬＡＮドライバ３０２は、このテーブルを参照することにより、Ｎの値に対応するスキャン時間を容易に決定することができる。
【００７０】
そして、無線ＬＡＮドライバ３０２は、特定チャネルに対するスキャン処理を他の各チャネルに対するスキャン処理よりも長い時間実行させるために、決定した特定チャネルのスキャン時間を無線ＬＡＮモジュール１０９に通知する（ステップＳ３０３）。
【００７１】
もし特定チャネルのスキャン時間がデフォルトの時間よりも長い時間に変更された後に、特定チャネルに存在する無線デバイスの台数Ｎがn以下に減少した場合（ステップＳ３０４のＹＥＳ）、無線ＬＡＮドライバ３０２は、特定チャネルのスキャン時間をデフォルトの時間に決定し、その決定した時間を無線ＬＡＮモジュール１０９に通知する（ステップＳ３０５，Ｓ３０６）。
【００７２】
このように、本実施形態においては、特定チャネルに対する前回のスキャン処理によって検出された無線デバイスの数に応じて、特定チャネルのスキャン時間が動的に変更される。これにより、特定チャネルに存在する全ての無線デバイスを検出することが可能となる。
【００７３】
なお、このようにスキャン時間を動的に変更した場合においては、アプリケーションプログラム３０１は、チャネル１〜１３のスキャン処理が何時終了するか分からない。このため、チャネル１〜１３のスキャン処理が終了したことを示す終了通知を無線ＬＡＮドライバ３０２からアプリケーションプログラム３０１に送信する処理を実行することが好ましい。これにより、アプリケーションプログラム３０１はスキャン処理の終了タイミングを意識することなく、デバイスリストを取得することが可能となる。
【００７４】
次に、図１２を参照して、上述の終了通知処理を含む、スキャン処理制御手順について説明する。
【００７５】
アプリケーションプログラム３０１は、ユーザによって無線デバイスの検出が要求された時（例えば、ユーザが“W-LAN Communication”の選択操作、または“更新”ボタン５０３の押下操作を行った時）、無線デバイス検出要求を無線ＬＡＮドライバ３０２に送信する。
【００７６】
無線ＬＡＮドライバ３０２は、AWAKE要求（AWAKE Req）を無線ＬＡＮモジュール１０９に送信して、無線ＬＡＮモジュール１０９をSLEEP状態からAWAKE状態に遷移させる。そして、無線ＬＡＮドライバ３０２は、SCAN Reqを無線ＬＡＮモジュール１０９に送信する。
【００７７】
無線ＬＡＮモジュール１０９は、無線通信チャネル１〜１３の順番でスキャン処理を順次実行する。各無線通信チャネルに対するスキャン処理においては、無線ＬＡＮモジュール１０９は、プローブ要求パケット(Probe Req)をブロードキャストし、プローブ要求パケットに対する応答パケットであるプローブ応答パケット(Probe Res)が無線デバイスから送信されるのを待つ。
【００７８】
無線通信チャネル１〜１３の全てのスキャン処理が終了すると、無線ＬＡＮモジュール１０９は、SCAN Indicationを無線ＬＡＮドライバ３０２に送信して、無線通信チャネル１〜１３のスキャン処理の終了を無線ＬＡＮドライバ３０２に通知する。無線ＬＡＮドライバ３０２は、スリープ要求（SLEEP Req）を無線ＬＡＮモジュール１０９に送信して、無線ＬＡＮモジュール１０９をAWAKE状態からSLEEP状態に遷移させる。そして、無線ＬＡＮドライバ３０２は、無線通信チャネル１〜１３の全てのスキャン処理が終了したことを示す終了通知をアプリケーションプログラム３０１に送信する。
【００７９】
この終了通知に応答して、アプリケーションプログラム３０１は、デバイスリスト取得要求(Get List)を無線ＬＡＮドライバ３０２に送信する。このデバイスリスト取得要求(Get List)に応答して、無線ＬＡＮドライバ３０２は、無線ＬＡＮモジュール１０９によって検出された無線デバイスの一覧を示すデバイスリスト（list）をアプリケーションプログラム３０１に送信する。
【００８０】
なお、無線ＬＡＮドライバ３０２は、デバイスリスト（list）を含む終了通知を、アプリケーションプログラム３０１に送信することもできる。
【００８１】
次に、図１３のフローチャートを参照して、無線ＬＡＮドライバ３０２によって実行されるスキャン制御処理の手順について説明する。この手順は、上述の終了通知処理を含んである。
【００８２】
図１３のステップＳ１０１〜Ｓ１０６の処理は、図６で説明したステップＳ１０１〜Ｓ１０６の処理と同じである。無線通信チャネル１〜１３のスキャン処理が終了した時、無線ＬＡＮドライバ３０２は、スリープ要求（SLEEP Req）を無線ＬＡＮモジュール１０９に送信した後に、終了通知をアプリケーションプログラム３０１に送信する（ステップＳ５０１）。
【００８３】
なお、本実施形態のスキャン制御処理の手順は全てソフトウェアによって実現することができるので、この手順を実行するプログラムをコンピュータ読み取り可能な記憶媒体を通じて、無線ＬＡＮモジュールを備えたコンピュータにインストールするだけで、本実施形態と同様の効果を容易に得ることができる。
【００８４】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態に係る電子機器の概観の例を示す図。
【図２】図１の電子機器のシステム構成を示すブロック図。
【図３】図１の電子機器における、アプリケーションプログラムおよび無線ＬＡＮドライバそれぞれの構成を示すブロック図。
【図４】図１の電子機器で用いられる操作画面の例を示す図。
【図５】図１の電子機器によって実行されるスキャン処理の制御手順を示す図。
【図６】図１の電子機器において無線ＬＡＮドライバによって実行されるスキャン制御処理の手順を示すフローチャート。
【図７】図１の電子機器において特定チャネルのスキャン時間を変更する処理の手順を示すフローチャート。
【図８】図１の電子機器に設けられた無線ＬＡＮモジュールによって実行されるスキャン処理の手順を示すフローチャート。
【図９】図１の電子機器において使用される通信チャネル１〜１３それぞれのスキャン時間の例を示す図。
【図１０】図１の電子機器において特定チャネルのスキャン時間を変更する処理の他の手順を示すフローチャート。
【図１１】図１の電子機器で用いられるテーブルの例を示す図。
【図１２】図１の電子機器によって実行されるスキャン処理の制御手順の他の例を示す図。
【図１３】図１の電子機器において無線ＬＡＮドライバによって実行されるスキャン制御処理の手順の他の例を示すフローチャート。
【符号の説明】
【００８６】
１１…ＡＶプレーヤ、１０１…ＣＰＵ、１０９…無線ＬＡＮモジュール、３０１…アプリケーションプログラム、３０２…無線ＬＡＮドライバ、４０１…デバイス検出要求出力部、４０２…デバイスリスト表示処理部、４０３…スキャン処理制御部、４０４…AWAKE要求出力部、４０５…SLEEP要求出力部、４０６…デバイスリスト送出部。
【図１】
2008061111.tif 000003
【図２】
2008061111.tif 000004
【図３】
2008061111.tif 000005
【図４】
2008061111.tif 000006
【図５】
2008061111.tif 000007
【図６】
2008061111.tif 000008
【図７】
2008061111.tif 000009
【図８】
2008061111.tif 000010
【図９】
2008061111.tif 000011
【図１０】
2008061111.tif 000012
【図１１】
2008061111.tif 000013
【図１２】
2008061111.tif 000014
【図１３】
2008061111.tif 000015