(57)【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置からデータを受信する起動状態と、前記他の通信装置からデータを受信しない仮眠状態とを時分割に切り替えて通信する省電力モードにおいて、前記他の通信装置から制御情報を受信する受信手段と、
前記受信手段により受信した前記制御情報が、前記他の通信装置から取得すべきデータが存在することを示す場合に、前記他の通信装置に対してデータを要求する要求手段と、
取得すべきデータが存在することを示す前記制御情報を前記受信手段が受信してから前記要求に対応したデータを前記他の通信装置から受信しないまま所定の時間が経過した場合、前記省電力モードから前記起動状態が継続する他のモードに移行させる移行手段と、
を備えることを特徴とする通信装置。
【請求項２】
取得すべきデータが存在することを示す前記制御情報を前記受信手段が受信したときに開始されるタイマ手段を更に備え、
前記移行手段は、前記タイマ手段による計時に基づいて前記所定の時間が経過したと判定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信手段が取得すべきデータが存在することを示す前記制御情報を受信した後に、前記受信手段が制御情報の受信した回数をカウントするカウント手段を更に備え、
前記移行手段は、前記カウント手段が指定回数をカウントしたことにより、前記所定の時間が経過したと判定することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記移行手段は、前記要求に対応するデータを前記他の通信装置から受信できないまま前記所定の時間が経過した後、取得すべきデータが存在しないことを示す前記制御情報を前記受信手段が受信した場合に、前記省電力モードから前記他のモードに移行させることを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記移行手段により前記他のモードへ移行された後に前記他の通信装置が形成するネットワークから離脱し、当該ネットワークに再度参加した場合は、当該通信装置を前記他のモードで動作させる制御手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
現在参加しているネットワークを識別する識別情報と前記省電力モードから前記他のモードへ移行したこととを記憶する記憶手段を更に備え、
前記制御手段は、前記ネットワークから離脱した後、ネットワークに参加した際に、当該参加したネットワークの識別情報が前記記憶手段に記憶されている識別情報と一致した場合に、当該通信装置を前記他のモードで動作させることを特徴とする請求項５に記載の通信装置。
【請求項７】
起動状態と仮眠状態とを交互に繰り返し、相手装置から周期的に送信される制御情報の送信周期に同期して装置を前記起動状態に切り替えることにより通信を行う省電力モードで動作する通信装置であって、
前記相手装置から制御情報を受信する受信手段と、
前記受信手段により受信した制御情報が、前記相手装置から取得すべきデータが存在することを示す場合に、前記相手装置に対してデータ要求を送信する送信手段と、
前記データ要求に応じて前記相手装置からデータを受信したこと、もしくは前記相手装置から取得すべきデータが存在しないことを示す制御情報を前記受信手段が受信したことに基づいて前記起動状態から前記仮眠状態へ切り替える電力状態切替手段とを備え、
前記電力状態切替手段は、取得すべきデータが存在することを示す制御情報を前記受信手段が受信してから前記データ要求に対応したデータを前記相手装置から受信できないまま特定時間が経過した場合には、前記特定時間が経過した後に前記受信手段が制御情報を受信してから所定時間だけ遅延させて前記通信装置を仮眠状態とすることを特徴とする通信装置。
【請求項８】
起動状態と仮眠状態とを交互に繰り返し、相手装置から周期的に送信される制御情報の送信周期に同期して装置を前記起動状態に切り替えることにより通信を行う省電力モードで動作する通信装置であって、
前記相手装置から制御情報を受信する受信手段と、
前記受信手段により受信した制御情報が、前記相手装置から取得すべきデータが存在することを示す場合に、前記相手装置に対してデータ要求を送信する送信手段と、
前記データ要求に応じて前記相手装置からデータを受信したこと、もしくは前記相手装置から取得すべきデータが存在しないことを示す制御情報を前記受信手段が受信したことに基づいて前記起動状態から前記仮眠状態へ切り替える電力状態切替手段とを備え、
前記電力状態切替手段は、取得すべきデータが存在することを示す制御情報を前記受信手段が受信してから前記データ要求に対応したデータを前記相手装置から受信した後に、前記相手装置から取得すべきデータが存在しなことを示す制御情報を前記受信手段が受信してから所定時間だけ遅延させて前記通信装置を仮眠状態とすることを特徴とする通信装置。
【請求項９】
起動状態と仮眠状態とを交互に繰り返し、相手装置から周期的に送信される制御情報の送信周期に同期して装置を前記起動状態に切り替えることにより通信を行う省電力モードを電力モードの一つとして実行可能な通信装置の制御方法であって、
受信手段が、前記省電力モードにおいて前記相手装置から制御情報を受信する受信工程と、
送信手段が、前記受信工程で受信した制御情報が、前記相手装置から取得すべきデータが存在することを示す場合に、前記相手装置に対してデータ要求を送信する送信工程と、
モード制御手段が、取得すべきデータが存在することを示す制御情報を前記受信工程で受信してから前記データ要求に対応したデータを前記相手装置から受信できないまま特定時間が経過したことに基づいて、前記電力モードを前記省電力モードから前記起動状態が継続する他のモードに移行させるモード制御工程と、を有することを特徴とする通信装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載の通信装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークを構成可能な通信装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、IEEE802.11シリーズに準拠した無線ＬＡＮに代表される無線通信を搭載した製品が急速に普及している。無線ＬＡＮを搭載した製品には、カメラやＰＤＡ（Personal Digital Assistant）などの携帯機器もある。携帯機器の多くはバッテリ駆動であり、これらの装置にとって省電力が課題の一つとなる。
【０００３】
この課題に対しIEEE802.11仕様では、無線インターフェースを常に有効（Active状態）とする通常モード（省電力化無効）の他に、省電力モード（省電力化有効）を規定している（非特許文献１を参照）。省電力モードでは、特定条件の時にだけ送受信を行う間欠処理により、無線インターフェースの有効、無効（Doze状態）を切替え、低消費電力を実現する。
【０００４】
しかしながら、省電力モードを利用するには、省電力状態（Active状態、Doze状態）の遷移によるデータロスに関する課題がある。この課題を解決するため、特許文献１、特許文献２には次のような提案がなされている。
【０００５】
特許文献１には、アドホックモード時の省電力に関わる制御方法の一例が開示されている。IEEE802.11仕様において、無線ＬＡＮの基地局（アクセスポイント）を介して、他の通信装置（ステーション）と通信を行うインフラストラクチャモードと、各ステーション間で通信を行うアドホックモードが規定されている。特許文献１では、ステーション間でアドホックネットワークが構成されており、新規ステーションがネットワークへ参加する場合、省電力モードから通常モードへ移行することで、データの取りこぼしを防止している。
【０００６】
特許文献２には、インフラストラクチャモード時の省電力に関わる制御方法の一例が開示されている。特許文献２では、省電力モードのステーションはIEEE802.11仕様に従い、アクセスポイントから無線ＬＡＮの定期的な制御情報であるBeaconを受信するためActive状態に遷移する。次に、ステーションは当該ステーション向けデータの送信要求（PS-Poll）をアクセスポイントに送信する。アクセスポイントは、PS-Pollに対する確認応答（ACK）をステーションへ送信する。そしてステーション向けのデータがある場合は当該データを含むデータフレームを、ステーション向けのデータがない場合は中身のないデータフレーム（Null DATA）をステーションへ送信する。ステーションはPS-Pollで要求したデータフレームを受信することにより、一連のフレーム交換手順を完了させることができ、アクセスポイントに当該ステーション向けのデータがない場合には、Doze状態に遷移することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１３５５４９号公報
【特許文献２】特開２００８−０４８４２９号公報
【非特許文献】
【０００８】
【非特許文献１】IEEE std 802.11
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の通信装置においては、省電力モードで構成されたネットワークに新規ステーションが参加する場合以外のデータの取りこぼしについて考慮されていない。また、特許文献２では、アクセスポイントがIEEE802.11に準拠していないNull DATAを送信することを想定しており、既存のアクセスポイントを変更することなく実施することが難しい。さらに、IEEE802.11仕様通り正しく動作しないアクセスポイント（不具合アクセスポイント）も存在している。これにより、通信装置に不具合がなくてもパケットロスが頻繁に発生することでシステムとして正しく動作しなくなるという不具合が発生している。図１１はIEEE802.11仕様通りに正しく動作しないアクセスポイントと従来の通信装置との間で生じる通信不具合の一例を示すシーケンス図である。
【００１０】
省電力モードで動作中の通信装置は、IEEE802.11仕様に従い、アクセスポイントからBeaconを受信するためにDose状態からActive状態に遷移する。次に、通信装置はBeaconを受信する（Ｆ１１０１）。Beaconには、当該ステーションへのデータがアクセスポイントにバッファされているかを示すＴＩＭ（Traffic Indication Map）フィールドが存在する。通信装置はＴＩＭフィールドを参照して、当該ステーションへのデータがアクセスポイントにバッファされていない（ＯＦＦ）ことを認識すると、Doze状態に遷移する。次に、省電力モードで動作中の通信装置は定期的なBeaconを受信するタイミングでDose状態からActive状態に遷移し、アクセスポイントからBeaconを受信する（Ｆ１１０２）。通信装置はＴＩＭフィールドを参照して、当該ステーションへのデータがアクセスポイントにバッファされている（ＯＮ）ことを認識すると、PS-Pollをアクセスポイントに送信する（Ｆ１１０３）。アクセスポイントがIEEE802.11仕様通り問題なく動作する場合は、通信装置はＦ１１０３の後にDataを受信することになるが、本シーケンス図においては受信できていない。通信装置は、データ（Data）を受信することなく次のBeaconを受信する（Ｆ１１０４）。通信装置がこの新たなBeaconのＴＩＭフィールドを参照してＯＦＦであることを認識すると、通信装置はDoze状態に遷移する。次に、アクセスポイントはＦ１１０３で要求したデータ（Data）を通信装置に送信したとする（Ｆ１１０５）。しかし、このタイミングで通信装置はDoze状態であるため、データを受信することができず、パケットロスが発生する。
【００１１】
本発明は、上記の課題に鑑みてなされたものであり、パケットロスの発生を低減することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明の一態様による通信装置は以下の構成を備える。すなわち、
他の通信装置からデータを受信する起動状態と、前記他の通信装置からデータを受信しない仮眠状態とを時分割に切り替えて通信する省電力モードにおいて、前記他の通信装置から制御情報を受信する受信手段と、
前記受信手段により受信した前記制御情報が、前記他の通信装置から取得すべきデータが存在することを示す場合に、前記他の通信装置に対してデータを要求する要求手段と、
取得すべきデータが存在することを示す前記制御情報を前記受信手段が受信してから前記要求に対応したデータを前記他の通信装置から受信しないまま所定の時間が経過した場合、前記省電力モードから前記起動状態が継続する他のモードに移行させる移行手段とを備える。
【発明の効果】
【００１３】
本発明によれば、パケットロスの発生を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】第一実施形態による通信装置のブロック図。
【図２】第一実施形態による通信シーケンス図。
【図３】第一実施形態による電力モード決定処理を説明するフローチャート。
【図４】第一実施形態による電力モード決定処理を説明するフローチャート。
【図５】第一実施形態による電力モード決定処理を説明するフローチャート。
【図６】第二実施形態による通信装置のブロック図。
【図７】第二実施形態による通信シーケンス図。
【図８】第三実施形態による通信装置のブロック図。
【図９】第三実施形態による通信シーケンス図。
【図１０】第三実施形態による通信シーケンス図。
【図１１】一般的な通信装置と不具合アクセスポイントとの通信シーケンス図。
【図１２】実施形態による省電力モードの動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について添付の図面を参照して詳細に説明する。なお、以下では、IEEE802.11に準拠した無線ＬＡＮを用いた例を説明するが、通信形態を無線ＬＡＮやインフラストラクチャモードといった本実施形態に限るものではなく、その技術思想の範囲内で種々の変更が可能である。また、以下の実施形態において、通信装置は、通常モードと省電力モードの２つの電力モードで動作が可能である。通常モードでは、無線インターフェースが常に有効（すなわち起動状態、以下Active状態という）とされる（省電力化無効）。また、省電力モードでは、他の通信装置からデータを受信する起動状態と、前記他の通信装置からデータを受信しない仮眠状態とを時分割に切り替えて通信する。すなわち、省電力モードでは、特定条件の時にだけ送受信を行う間欠処理により、無線インターフェースの有効、無効（すなわち仮眠状態、以下Doze状態という）を切替える（省電力化有効）。Active状態では、無線インターフェースが有効なのでデータを受信することができる。また、Doze状態では、無線インターフェースが無効なのでデータを受信することができない。
【００１６】
［第一実施形態］
図１は第一実施形態に関する通信装置１００の構成の一例を示すブロック図である。通信装置１００は、起動状態（Active状態）と仮眠状態（Doze状態）とを交互に繰り返し、相手装置から周期的に送信される制御情報の送信周期に同期して装置を起動状態に切り替えることにより通信を行う省電力モードを実行可能である。入力部１１０は、ユーザからの各種入力を受け付ける。入力部１１０は、無線ＬＡＮに関する設定を受け付けることも可能である。制御部１２０は各種ブロックを制御する。制御部１２０は、通信部１５０およびアンテナ１６０を介して他装置とデータの送受信を行ったり、無線ＬＡＮネットワークへの接続処理を行ったりすることが可能である。電力モード切替部１２１は、記憶部１４０に記憶された電力モードに関する通信パラメータや電力モード決定部１５１の決定結果に基づき、通信部１５０の電力モードの切替えを行う。IEEE802.11では、パケットロスなど通信状況を考慮して電力モードを切替える仕様は規定されていない。本実施形態では、通信状況に応じて省電力モードではない他の電力モード（本実施形態では、Active状態が継続する通常モード）に切替えることにより、接続性を確保してパケットロスを低減する。出力部１３０は、ＬＣＤやＬＥＤのような表示出力、スピーカ等のような音声出力により、ユーザへ各種出力を行う。また、出力部１３０は、例えば、入力部１１０で受け付けた無線ＬＡＮに関する設定を出力する。
【００１７】
記憶部１４０は、制御部１２０が実行するコンピュータプログラムや通信パラメータ等の各種情報を記憶する。通信部１５０は他の機器と通信を行う。通信部１５０はアンテナ１６０から受信した制御情報やデータに関して、ＭＡＣ（Media Access Control）に関する処理など通信に係わる処理を行う。本実施形態において、制御情報はアクセスポイントなどが送信するBeaconである。Beaconには、当該通信装置へのデータが他装置にバッファされているかを示すＴＩＭフィールドが存在する。電力モード決定部１５１は、他装置との通信状況に応じて電力モードを決定する。通信状況はBeaconやデータ受信から判断することができる。
【００１８】
図２は第一実施形態による通信装置１００の通信シーケンス図であり、通信相手である他装置（相手装置ともいう）がアクセスポイントとなるインフラストラクチャモードの場合の通信シーケンスが示されている。なお、図２では、通信装置１００はアクセスポイントが構成するネットワークに参加して省電力モードに移行した後から、通信状況に応じて他の電力モードに切替えるまでの動作が示されている。なお、他の電力モードとは、Active状態が継続するような、省電力モードが無効なモード（Doze状態への遷移のない状態）である。
【００１９】
省電力モードで動作している通信装置１００において、通信部１５０はBeacon受信のタイミングに応じて定期的にActive状態に遷移し、アンテナ１６０を介してアクセスポイントからBeaconを受信する（Ｆ２０１）。通信部１５０はBeaconのＴＩＭフィールドを参照して、当該通信装置へのデータがアクセスポイントにバッファされていないことを認識すると、Doze状態へ遷移する。以下、通信装置１００に対して送信すべきデータが存在しないことをＴＩＭフィールドが示すことを、「ＴＩＭフィールドがＯＦＦ」であると表現する。次のBeacon受信タイミングが来ると、通信部１５０は再度Active状態に遷移し、アクセスポイントからBeaconを受信する（Ｆ２０２）。通信部１５０はＴＩＭフィールドを参照して、今度は当該通信装置へのデータがアクセスポイントにバッファされていることを認識したとする。以下、通信装置１００に対して送信すべきデータが存在することをＴＩＭフィールドが示すことを、「ＴＩＭフィールドがＯＮ」であると表現する。ＴＩＭフィールドがＯＮの場合、通信部１５０は当該通信装置向けデータの送信要求（PS-Poll）をアクセスポイントに送信する（Ｆ２０３）。アクセスポイントがIEEE802.11仕様通り問題なく動作しており、通信装置向けのデータがあれば、当該通信装置の通信部１５０はＦ２０３の後にデータを受信するが、本シーケンス図においては受信できていない。
【００２０】
Beaconは定期的に送信されるため、通信部１５０は次のBeaconを受信することになる（Ｆ２０４）。Beaconを受信すると、通信部１５０はＴＩＭフィールドを参照して、それがＯＮであることを認識し、PS-Pollをアクセスポイントに送信する（Ｆ２０５）。しかしＦ２０３の時と同様、通信部１５０はデータを受信できていない。通信部１５０は、さらに次のBeaconを受信する（Ｆ２０６）。ここで電力モード決定部１５１は、これまでの通信状況（本実施形態では、２回のPS-Pollに対してデータの受信ができなかったこと）から通常モードに変更することを決定し、この決定を電力モード切替部１２１に通知する。電力モード切替部１２１は記憶部１４０に格納されている省電力モードに関するパラメータを通常モードに変更するとともに、省電力モードを無効にするための指示を通信部１５０に対して行い、以降の処理を通常モードとして動作させる。電力モード決定部１５１が省電力モードから通常モードに変更することを通信状況に基づいて決定する処理は種々の処理が考えられる。以下、これら処理のいくつかについて具体的に説明する。
【００２１】
＜＜省電力モードの動作について＞＞
電力モードが省電力モードになると、通信部１５０はActive状態とDoze状態とを交互に繰り返し、相手装置から周期的に送信されるBeaconの送信周期に同期して装置をActive状態に切り替えることにより通信を行う。図１２は、本実施形態による省電力モードにおける動作を説明するフローチャートである。電力モード切替部１２１により通信装置１００が省電力モードに移行すると、通信部１５０はまず通信装置１００をDoze状態に移行する（Ｓ１２０１）。そして、通信部１５０は、相手装置から周期的に送信されるBeaconの送信タイミングになると、通信装置１００をActive状態へ移行する（Ｓ１２０２、Ｓ１２０３）。通信部１５０は、Active状態にてBeacon信号を受信すると、受信したBeacon信号のＴＩＭフィールドをチェックし、相手装置が通信装置１００に送信すべきデータを有するかどうかを判定する（Ｓ１２０４、Ｓ１２０５）。
【００２２】
受信データが有ると判定されると、通信部１５０は、データ要求としてのPS-Pollを相手装置に対して送信し、データ受信を待つ（Ｓ１２０５、Ｓ１２０６、Ｓ１２０７）。通信部１５０は、データ要求（PS-Poll）に応じて相手装置からデータが受信されると、ＡＣＫ信号を相手装置に送信し、通信装置１００をDoze状態に移行する（Ｓ１２０７，Ｓ１２０８，Ｓ１２０９）。Ｓ１２０７でデータの受信を待つ間に再びBeaconの受信タイミングが訪れた場合は、処理をＳ１２０５に戻し、上述の処理を繰り返す。相手装置から通信装置１００に対して送信すべきデータが存在しないことを示すBeaconを受信した場合、通信部１５０は、Doze状態へ通信装置１００を移行する（Ｓ１２０５でＮＯ、Ｓ１２０９）。なお、Doze状態へ移行する処理において（Ｓ１２０１、Ｓ１２０９）、次に相手装置からBeaconを受信するタイミングが特定時間より短い場合には、Doze状態へ移行せず、Active状態のまま処理を継続するようにしても良い。
【００２３】
本実施形態では、取得すべきデータが存在することを示すBeaconを通信部１５０が受信してからデータ要求（PS-Poll）に対応したデータを相手装置から受信できないまま特定時間が経過したことに基づいて電力モードの移行が制御される。この制御は、電力モード決定部１５１と電力モード切替部１２１により実行されるものであり、以下、図３〜図５のフローチャートを参照して詳しく説明する。
【００２４】
＜＜タイマで計測した特定時間を超えた場合に省電力モードを無効化＞＞
図３は本発明の第一の実施形態に関する通信装置１００の電力モードを決定する時の動作を示すフローチャートである。図３のフローチャートで示される処理は、通信装置１００がネットワークに参加して省電力モードに移行した後、Beacon受信周期ごとに実施される。
【００２５】
初めに、電力モード決定部１５１はタイマ（このタイマは、後述のＳ３０４で開始される）が特定時間経過しているか確認する（Ｓ３０１）。図２に示されるシーケンスは、この特定時間がBeacon周期２回分であった場合に相当する。特定時間が経過していなければ（Ｓ３０１でＮｏの場合）、通信部１５０はアクセスポイントからのBeaconの受信を待ち、Beaconを受信する（Ｓ３０２）。そして、通信部１５０は、そのＴＩＭフィールドを参照することで、当該通信装置が受信すべきデータがあるか否か（当該通信装置へのデータがアクセスポイントにバッファされているか否か）を確認する（Ｓ３０２）。ＴＩＭフィールドを参照した結果、受信すべきデータが無い（ＴＩＭフィールドがＯＦＦ）と判定された場合（Ｓ３０２でＮｏの場合）、通信部１５０は図３に示す処理を終了し、次回のBeacon受信タイミングまで待機する。
【００２６】
受信すべきデータが有る（ＴＩＭフィールドがＯＮ）と判定された場合（Ｓ３０２でＹｅｓの場合）、通信部１５０は、Ｓ３０４でタイマによる計時を既に開始しているか確認する（Ｓ３０３）。まだタイマによる計時が開始されていない場合（Ｓ３０３でＮｏの場合）、通信部１５０はタイマを開始する（Ｓ３０４）。そして、Ｓ３０５において、通信部１５０はPS-Pollを送信して、アクセスポイントにデータを要求しデータの受信を待つ。PS-Pollで要求したデータを次のBeacon受信タイミングまでにアクセスポイントから受信できなかった場合（Ｓ３０５でＮｏの場合）、通信部１５０は図３に示す処理を終了して、次のBeacon受信タイミングまで待機する。他方、データ受信できた場合は（Ｓ３０５でＹｅｓの場合）、通信部１５０はＳ３０４で開始したタイマを停止し、リセットした後（Ｓ３０６）、本処理を終了して次のBeacon受信タイミングまで待機する。
【００２７】
一方、Ｓ３０１で特定時間が経過していると判定された場合（Ｓ３０１でＹｅｓの場合）、電力モード決定部１５１は、アクセスポイントに当該通信装置へのデータがあるにも関わらず、特定時間データを受信できなかったものと判断する。そして、電力モード決定部１５１は、電力モードを省電力モード以外の電力モード（本実施形態では通常モード）と決定して電力モード切替部１２１に通知する。電力モード切替部１２１は記憶部１４０に格納されている省電力モードに関するパラメータを通常モードに変更するとともに、省電力モードを無効にするための指示を通信部１５０に対して行い、以降の処理を通常モードとして動作させる（Ｓ３０７）。
【００２８】
なお、タイマの開始、停止、リセットや省電力モードからの切替えは、本発明の処理を行えるならば、どのタイミングで行っても良い。
【００２９】
＜＜Beaconのカウント値に基づいて省電力モードを無効化（その１）＞＞
図４は第一実施形態に関する通信装置１００の電力モードを決定する処理を示すフロー図である。本フロー図は、図３の処理と同様に、通信装置１００がネットワークに参加して省電力モードに移行した後、Beacon受信周期ごとに実施される。
【００３０】
初めに、電力モード決定部１５１は、受信不能カウント（Ｓ４０５で後述）の回数が制御部１２０から指定された回数以上となっているかどうかを確認する（Ｓ４０１）。受信不能カウントは、ＴＩＭフィールドで当該通信装置へのデータが存在することを示すBeaconを受信したが、次のBeaconまでにデータを受信できなかったことをカウントしたものである。したがって、図２は、指定回数が２回の時のシーケンス図に相当するものである。受信不能カウントが指定回数未満の場合（Ｓ４０１でＮｏの場合）、通信部１５０はアクセスポイントからのBeaconを待ち、これを受信する。そして、通信部１５０は、ＴＩＭフィールドを参照することで、当該通信装置が受信すべきデータが存在するか否か（当該通信装置へのデータがアクセスポイントにバッファされているか否か）を確認する（Ｓ４０２）。受信すべきデータが無い場合（Ｓ４０２でＮｏの場合）、通信部１５０は本処理を終了して、次のBeacon受信タイミングまで待機する。
【００３１】
受信すべきデータがある場合（Ｓ４０２でＹｅｓの場合）、通信部１５０はPS-Pollを送信して、アクセスポイントからのデータの受信を待つ（Ｓ４０３）。次のBeaconタイミングまでにアクセスポイントからデータを受信できた場合（Ｓ４０３でＹｅｓの場合）、電力モード決定部１５１はデータ受信をできなかった回数を保持する受信不能カウントをリセットする。そして、通信部１５０は本処理を終了して、次のBeacon受信タイミングまで待機する。他方、Ｓ４０３でデータを受信できなかった場合（Ｓ４０３でＮｏの場合）、電力モード決定部１５１は、受信不能カウントを１つインクリメントする（Ｓ４０５）。そして、通信部１５０は本処理を終了して、次のBeacon受信タイミングまで待機する。なお、受信不能カウントとして、通信部１５０の内部メモリを用いても良いし、記憶部１４０を用いてもよい。
【００３２】
一方、Ｓ４０１で受信不能カウントが指定回数であると判定された場合（Ｓ４０１でＹｅｓの場合）、電力モード決定部１５１は、アクセスポイントに当該通信装置へのデータがあるにも関わらず、指定回数以上データを受信できなかったと判断する。そして、電力モード決定部１５１は、電力モードを省電力モード以外の省電力を無効化するモード（本実施形態では通常モード）に決定して、電力モード切替部１２１に通知する。電力モード切替部１２１は記憶部１４０に格納されている省電力モードに関するパラメータを通常モードに変更するとともに、省電力モードを無効にするための指示を通信部１５０に対して行い、以降の処理を通常モードとして動作させる（Ｓ４０６）。
【００３３】
＜＜Beaconのカウント値に基づいて省電力モードを無効化（その２）＞＞
図５は、第一実施形態に関する通信装置１００の電力モードを決定する時の動作を示すフロー図である。本フロー図で示される処理は、図３や図４の処理と同様に、通信装置１００がネットワークに参加して省電力モードに移行した後、Beacon受信周期ごとに実施される。
【００３４】
初めに、通信部１５０はBeaconを受信してＴＩＭフィールドを参照することで、当該通信装置がデータ受信可能か否か（当該通信装置へのデータがアクセスポイントにバッファされているか否か）を確認する（Ｓ５０１）。相手装置から受信すべきデータが存在する場合（Ｓ５０１でＹｅｓの場合）、通信部１５０はアクセスポイントにPS-Pollを送信し、次のBeacon受信タイミングまでアクセスポイントからのデータ受信を待つ（Ｓ５０２）。データ受信ができた場合（Ｓ５０２でＹｅｓの場合）、電力モード決定部１５１はデータ受信履歴をクリアする（Ｓ５０４）。他方、次のBeacon受信タイミングまでにデータを受信できなかった場合（Ｓ５０２でＮｏの場合）、データ受信履歴として受信すべきデータが存在したが、データ受信を行えなかった旨を登録する（Ｓ５０３）。なお、受信履歴は通信部１５０の内部メモリに格納しても良いし、記憶部１４０に格納しても良い。ここでは、図４で説明したような受信不能カウントを用いる。
【００３５】
Ｓ５０１で受信すべきデータが無いと判定された場合（Ｓ５０１でＮｏの場合）、処理はＳ５０５へ進む。Ｓ５０５で、電力モード決定部１５１は、「受信不能カウントが制御部１２０から指定された回数以上となっている」且つ「受信したBeaconのＴＩＭフィールドがＯＦＦである」ことを確認する。Ｓ５０５でＹＥＳとなる場合は、指定回数にわたってデータの受信ができずにBeaconのＴＩＭフィールドがＯＮからＯＦＦに変化したことを示している。図２は、指定回数が２回でＦ２０６においてＴＩＭフィールドがＯＮからＯＦＦに変化した場合のシーケンス図に対応する。指定回数以上受信ができておらず、かつＴＩＭフィールドが変化しなかった場合（Ｓ５０５でＮｏの場合）、通信部１５０は処理を終了する。通信部１５０において指定回数以上にわたって受信すべきデータが存在する旨のBeaconを受信したにもかかわらずデータの受信ができておらず（受信不能カウントが指定回数以上）、かつＴＩＭフィールドが変化したとする（Ｓ５０５でＹｅｓ）。その場合、電力モード決定部１５１は、アクセスポイントの当該通信装置宛てのデータはエイジングされたと判断し、電力モードを通常モードと決定して電力モード切替部１２１に通知する（Ｓ５０６）。電力モード切替部１２１は記憶部１４０に格納されている省電力モードに関するパラメータを通常モードに変更するとともに、省電力モードを無効にするための指示を通信部１５０に対して行い、以降の処理を通常モードとして動作させる。
【００３６】
なお、図５の処理では、Ｓ５０５でＮＯの場合にそのまま処理を終了している。したがって、受信不能カウントが０の状態で、ＴＩＭフィールドがＯＮの状態のBeaconを受信し、データ受信ができないまま、次にＴＩＭフィールドがＯＦＦのBeacon（１回目のＴＩＭフィールドがＯＦＦのBeacon）を受信した場合には、そのままDoze状態への移行が行われる。その後、再び、ＴＩＭフィールドがＯＮの状態のBeaconを受信し、データ受信ができないまま、次にＴＩＭフィールドがＯＦＦのBeacon（２回目のＴＩＭフィールドがＯＦＦのBeacon）を受信したとする。１回目のＴＩＭフィールドがＯＦＦのBeaconを受信する際には受信不能カウントが１となっており、２回目のＴＩＭフィールドがＯＦＦのBeaconを受信した際には受信不能カウントが２となるので、上記指定回数が２に設定されていれば、電力モードの切り替えが実行されることになる。なおＳ５０５でＮＯの場合、データ受信履歴をクリアするなど、本発明の処理を行う範囲で処理内容を変更しても良い。Ｓ５０５でＮＯの場合にデータ受信履歴をクリアするようにすると、ＴＩＭフィールドがＯＮの状態のBeaconを受信したがデータ受信ができないという状況が連続して指定回数発生した後に、ＴＩＭフィールドがＯＦＦの状態のBeaconを受信した場合にのみ、電力モードの切り替えが実行されることになる。
【００３７】
以上のように、第一実施形態によれば、ＴＩＭフィールドがＯＮの状態のBeaconを受信した際のデータの受信状況に応じて、省電力モードから通常モードへの電力モードの切り替えが行われる。そのため、相手装置であるアクセスポイントが規格どおりに動作しない場合でも、データのとりこぼしを低減させることができる。なお、上記実施形態において、図１１のような状況でデータのとりこぼしを防ぐには、特定時間をBeacon周期１回分にする、あるいは、指定回数を１に設定すればよい。
【００３８】
［第二実施形態］
図６は第二実施形態による通信装置６００の構成の一例を示すブロック図である。図１記載の通信装置１００に対して、制御部１２０に電力モード制御部６２２を追加している。図６において、図１と同一構成である部分に関しては同一の符号を付してその説明を省略する。電力モード制御部６２２は、
・電力モード切替部１２１が通信部１５０の電力モードを切替えた際に、切替えた電力モードと他装置が提供しているネットワークを識別する情報とから構成される装置識別情報を記憶部１４０に記憶し、
・通信装置６００が、制御部１２０の指示によりネットワークから離脱した後に再度ネットワークへ参加する際、記憶部１４０の装置識別情報を参照して、以前に設定した電力モードがあればそれを電力モード切替部１２１を介して通信部１５０に設定する。
【００３９】
図７は、第二実施形態にかかる通信装置６００の動作を説明するシーケンス図である。図７では、通信相手である他装置がアクセスポイントとなるインフラストラクチャモードの場合の動作が示されている。通信装置６００がネットワークへ参加する前から、一度ネットワークに参加した後に離脱して、再度、同じネットワークへ参加した後、前回同ネットワークに参加していた時の電力モードを反映するまでの通信装置の動作が示されている。
【００４０】
入力部１１０がユーザから通信装置６００をネットワークへ参加させる操作を受けると、制御部１２０は通信部１５０に指示を出すことにより、通信装置６００はアクセスポイントが提供するネットワークへ参加する（Ｆ７０１）。ネットワークに参加した後、入力部１１０から省電力モードで動作する旨の指示を受けると、通信装置６００の電力モード切替部１２１は省電力モードを有効にするための指示を通信部１５０に対して行う。こうして、以降は、通信装置６００を省電力モードで動作させる（Ｆ７０２）。その後、通信装置６００はアクセスポイントと通信を行うが、第一実施形態で説明したように、電力モード決定部１５１は、通信状況を鑑みて通常モードに変更するか否かを決定する。電力モード決定部１５１は、通常モードにすることを決定すると、これを電力モード切替部１２１に通知する。電力モード切替部１２１は記憶部１４０に格納されている省電力モードに関するパラメータを通常モードに変更するとともに、省電力モードを無効にするための指示を通信部１５０に対して行い、以降の処理を通常モードとして動作させる（Ｆ７０３）。電力モード制御部６２２は、電力モードが通信の状況に応じて通常モードに決定されている場合には装置識別情報を記憶部１４０に記憶する（Ｆ７０４）。この装置識別情報は、通常モードであることを示す情報と、他装置が提供しているネットワーク（現在、自身が参加しているネットワーク）を識別する情報であるＳＳＩＤ（Service Set Identifier）とから構成される。なお、上記装置識別情報における他装置が提供しているネットワークを識別する情報は、ＳＳＩＤではなく他装置のＭＡＣアドレスなどでも良い。
【００４１】
ここで入力部１１０がユーザから通信装置６００を現在参加しているネットワークから離脱させる操作を受けると、制御部１２０は通信部１５０に指示を出すことにより通信装置６００をアクセスポイントが提供するネットワークから離脱させる（Ｆ７０５）。その後、入力部１１０がユーザから通信装置６００を前回と同一のネットワークへ参加させる操作を受けると、制御部１２０は通信部１５０に指示を出すことにより通信装置６００を当該アクセスポイントが提供するネットワークへ参加させる（Ｆ７０６）。電力モード制御部６２２は記憶部１４０に記憶されている装置識別情報を参照することにより、参加しているネットワークに関して離脱前に設定した電力モードがあるか確認する。ここでは、Ｆ７０４で記憶した装置識別情報が見つかり、電力モード制御部６２２は電力モード切替部１２１を介して通信部１５０の電力モードを通常モードに変更する（Ｆ７０７）。
【００４２】
以上説明したように、第二実施形態によれば、前回参加していたネットワークに再度参加した場合には、前回のモード（省電力モードまたは通常モード）が自動的に設定されてモード移行する。従って、規格どおりに動作しなアクセスポイントが形成するネットワークに参加する場合、２度目以降からは省電力モードでの動作がただちに禁止され、より効果的にデータのとりこぼしを防止できる。
【００４３】
［第三実施形態］
図８は第三実施形態による通信装置８００の構成の一例を示すブロック図である。図１記載の通信装置１００に対して、電力モード切替部１２１および電力モード決定部１５１をなくし、通信部１５０に電力状態切替部８５１と電力状態決定部８５２を追加している。図８において、図１と同一構成である部分に関しては同一の符号を付してその説明を省略する。電力状態切替部８５１は、IEEE802.11で規定されている電力状態遷移、および電力状態決定部８５２の決定結果に基づき、通信部１５０の電力状態の切替えを行う。電力状態切替部８５１は、通常IEEE802.11で規定されている電力状態遷移に従うが、電力状態決定部８５２から指示がある場合は、電力状態決定部８５２の決定結果を優先する。電力状態決定部８５２は、他装置との通信状況に応じて電力状態を決定する。通信状況はBeaconやデータ受信から判断する。第一実施形態では、省電力モードから通常モードに切り替えることでActive状態を維持した。これに対して、第三実施形態では、特定条件の時に、指定回数だけBeaconを受信した後、特定時間の経過後にDoze状態に遷移するまでActive状態を維持することにより、通信の接続性を確保する。
【００４４】
図９は第三実施形態による通信装置８００の動作を示すシーケンス図である。図９に示されているのは、通信相手である他装置がアクセスポイントとなるインフラストラクチャモードの場合である。通信装置８００が、アクセスポイントが構成するネットワークに参加して省電力モードに移行し、Active状態とDoze状態とを繰り返す。図９では、Active状態に移行した後から、特定条件に一致し、指定回数だけBeaconを受信した後、特定時間経過後にDoze状態に遷移するまでの動作が示されている。図９における特定条件とは、ＴＩＭフィールドがＯＮのBeaconを受信したが、データを受信できないという条件である。
【００４５】
省電力モードで動作している通信装置８００において、電力状態切替部８５１はIEEE802.11で規定されている電力状態遷移に従い、Beaconの受信タイミングで通信部１５０をActive状態に切替える。この状態で、通信部１５０はアンテナ１６０を介してアクセスポイントからBeaconを受信する（Ｆ９０１）。通信部１５０がBeaconのＴＩＭフィールドがＯＦＦであることを認識すると、電力状態切替部８５１はIEEE802.11で規定されている電力状態遷移に従い、通信部１５０をDoze状態に遷移する。次のBeacon受信タイミングにおいて、電力状態切替部８５１はIEEE802.11で規定されている電力状態遷移に従い、通信部１５０をActive状態に切替える。そして、通信部１５０はアンテナ１６０を介してアクセスポイントからBeaconを受信する（Ｆ９０２）。通信部１５０はBeaconのＴＩＭフィールドがＯＮであることを認識すると、PS-Pollをアクセスポイントに送信する（Ｆ９０３）。しかしＦ２０３（図２）の時と同様、通信部１５０はデータを受信できていない。通信部１５０は更に次のBeaconを受信する（Ｆ９０４）。ここで制御部１２０が通信部１５０へBeaconの受信指定回数を１と指定した場合、通信部１５０は特定時間のタイマを開始する。通信部１５０は、BeaconのＴＩＭフィールドを参照し、それがＯＦＦであることを認識する。BeaconのＴＩＭフィールドがＯＦＦであった場合、その後、特定時間のタイマが完了した時点で、電力状態決定部８５２はDoze状態に遷移することを決定し、電力状態切替部８５１に通知する。電力状態切替部８５１は通信部１５０をDoze状態に切替える。
【００４６】
以上の処理は、図４に示したＳ４０６を「所定時間経過後にDoze状態へ移行する」処理とし、電力状態決定部８５２が当該処理を実行することで実現できる。なお、第一実施形態で説明した図３（Ｓ３０７を「所定時間経過後に（所定時間だけ遅延させて）Doze状態へ移行する」とする）や図５（Ｓ５０６を「所定時間経過後に（所定時間だけ遅延させて）Doze状態へ移行する」とする）の処理を適用してもよい。なお、上記ではPS-Poll送信後にデータを受信できなかったが、データを受信できた場合には、IEEE802.11仕様に従ってDoze状態に遷移するようにしても良い。
【００４７】
また、図１０は第三実施形態の通信装置８００による動作を示すシーケンス図である。図１０では、通信相手である他装置がアクセスポイントとなるインフラストラクチャモードの場合が示されている。図１０では、通信装置８００が、アクセスポイントが構成するネットワークに参加して省電力モードに移行してから、特定条件に一致し、指定回数だけBeaconを受信した後、特定時間経過後にDoze状態に遷移するまでの動作を示している。なお、図１０における特定条件とは、他装置からPS-Pollによりデータ受信を行った後、さらにデータ受信を行えないBeacon（ＴＩＭフィールドがＯＦＦのBeacon）を受信したという条件である。
【００４８】
省電力モードで動作している通信装置８００において、電力状態切替部８５１はIEEE802.11で規定されている電力状態遷移に従い、Beaconの受信タイミングで通信部１５０をActive状態に切替える。通信部１５０はアンテナ１６０を介してアクセスポイントからBeaconを受信する（Ｆ１００１）。通信部１５０がBeaconのＴＩＭフィールドを参照し、それがＯＦＦであることを認識すると、電力状態切替部８５１はIEEE802.11で規定されている電力状態遷移に従い、通信部１５０をDoze状態に遷移する。次に、電力状態切替部８５１は、IEEE802.11で規定されている電力状態遷移に従い、次のBeacon受信タイミングで通信部１５０をActive状態に切替える。通信部１５０はアンテナ１６０を介してアクセスポイントからBeaconを受信する（Ｆ１００２）。通信部１５０はBeaconのＴＩＭフィールドを参照し、それがＯＮであることを認識すると、PS-Pollをアクセスポイントに送信する（Ｆ１００３）。通信部１５０はアンテナ１６０を介してアクセスポイントからデータを受信する（Ｆ１００４）。通信部１５０はActive状態を維持し、アンテナ１６０を介してアクセスポイントから次のBeaconを受信する（Ｆ１００５）。ここで制御部１２０が通信部１５０へBeaconの受信指定回数を１と指定した場合、通信部１５０は特定時間のタイマを開始する。その後、特定時間のタイマが完了した時点で、電力状態決定部８５２はDoze状態に遷移することを決定し、電力状態切替部８５１に通知する。電力状態切替部８５１は通信部１５０をDoze状態に切替える。
【００４９】
この場合、PS-Pollを送信した後は、データが受信されるまではActive状態が必ず維持されることになる。このような制御により生ずる効果は次のとおりである。他装置（ＡＰ）からPS-Pollによりデータ受信を行う際、さらに他装置に自装置宛てのデータ（継続データ）がある場合はデータフレーム（Ｆ１００４）の制御制御フィールド中のモアデータビットを１に設定し、データがない場合はモアデータビットを０に設定するようにIEEE802.11で規定されている。ここで、IEEE802.11の仕様では、モアデータビットが０になるか、BeaconのＴＩＭがＯＦＦになれば、Doze状態に遷移してよいと規定されている。しかしながら、市場のアクセスポイントの中には、モアデータビットを正しく設定せず、ある時間が経過した後でデータを送信するような製品も存在する。よって、本実施形態の通信装置では、そのようなアクセスポイントと通信する際もデータ損失を極力なくすために、モアデータビットの値を信用せず（あえて参照せず）、通信部１５０はActive状態を維持するようにして、次のBeaconまでのデータ損失を防ぐようにしている。また、IEEE802.11の仕様的では、ＴＩＭがＯＦＦであれば、特定時間経過せずにDoze状態に遷移できるように規定されている。これに対し、本実施形態の通信装置では、次のBeaconのＴＩＭがＯＦＦであっても、あえて特定時間Active状態を継続することにより、さらにデータ損失を防止するようにしている。
【００５０】
以上のように、第一実施形態によれば、省電力機能を有する通信装置において、他装置との通信状況に応じて電力モードを自動的に切替える。さらに、第二実施形態によれば、その自動的に切替えた結果を保持しておき、次回ネットワーク参加時、切替えた電力モードにより通信が行われる。また、第三実施形態によれば、省電力モードで動作する通信装置において、他装置との通信状況に応じて無線インターフェースの有効、無効が切替えられる。以上のような各実施形態によれば、省電力モードで構成されたネットワークに新規ステーションが参加する場合以外のデータの取りこぼしを考慮し、IEEE802.11だけに準拠しているアクセスポイントにおいてもパケットロスを考慮した省電力状態の遷移を実現できる。さらに、通信装置の通信相手が不具合アクセスポイントの時でも接続性を確保できるため、ユーザが通信できない等の不具合に遭遇する機会を減少させることができる。
【００５１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005582993.tif 000002
【図２】
0005582993.tif 000003
【図３】
0005582993.tif 000004
【図４】
0005582993.tif 000005
【図５】
0005582993.tif 000006
【図６】
0005582993.tif 000007
【図７】
0005582993.tif 000008
【図８】
0005582993.tif 000009
【図９】
0005582993.tif 000010
【図１０】
0005582993.tif 000011
【図１１】
0005582993.tif 000012
【図１２】
0005582993.tif 000013