本発明は、ネットワーク技術の分野に、詳細には、覚醒パケットを送る方法、ノード覚醒後に最初のフレームを送る方法、装置およびデバイスに関する。
第一のノードが第二のノードにデータを送る必要があるとき、第二のノードは通例、第一のモードを傾聴している必要がある。第二のノードの主トランシーバの傾聴電力消費を減らすために、低電力覚醒受信器(英文:low power wake up receiver、略LP-WUR)が第二のノードにおいて追加されうる。第二のノードにデータを送る必要があるとき、第一のノードはまず第二のノードに覚醒パケットを送り、第二のノードの覚醒受信器が覚醒パケット受信後に第二のノードの主トランシーバを覚醒させ、覚醒した主トランシーバが第一のノードと通信する。
通例、デフォルトにより、第一のノードの主トランシーバは第二のノードの主トランシーバに対応するチャネルを傾聴する。非宛先受信ステーション以外のすべてのステーションのネットワーク割り当てベクトル(英文:network allocation vector、略NAV)を更新するために、各媒体アクセス制御(英文:Media Access Control、略MAC)フレームは「継続時間」フィールドを担持する。これは、ノードを隠す問題を克服するための機構である。NAV機能は論理的にはMACフレームに存在し、物理的なキャリア・センスを向上させるための仮想キャリア・センス機構を提供する。第二のノードに覚醒パケットを送る前に、第一のノードは、第一のノードのためにNAVが設定されているかどうかを判定する必要があり、チャネルを傾聴し、該チャネルがアイドルであるかどうかを判定する(物理的なキャリア・センス)。第一のノードのためにNAVが設定されておらず、検出されたチャネルがアイドルであるときは、第一のノードは第二のノードに覚醒パケットを送る。
実際の適用の際には、第二のノードの主トランシーバおよび覚醒受信器は異なるチャネル上で機能することがある。第一のノードが第二のノードの主トランシーバに対応するチャネルのみを傾聴していたら、NAVがそのチャネル上のフレームを使って第一のノードのために設定されるとき、第二のノードの覚醒受信器に対応するチャネルがアイドルであるにもかかわらず、第一のノードは覚醒パケットを第二のノードに送ることができない。結果として、第二のノードの主トランシーバは、第二のノードの覚醒受信器に対応するチャネルがアイドルであるときに間に合って覚醒されることができない。
第一のノードのためにNAVが設定されているために、第二のノードの覚醒受信器に対応するチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができないという関連技術の問題を解決するために、本発明の諸実施形態は、覚醒パケットを送る方法、ノード覚醒後に最初のフレームを送る方法、装置およびデバイスを提供する。技術的解決策は以下のとおりである。
第一の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードのNAVが第一のチャネルに関して設定されており、本方法は:第二のチャネルがアイドルであることを検出するときに、第一のノードの主トランシーバによって、NAVを無視し、第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。前記第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、前記第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、デフォルトにより第一のチャネルが傾聴される。NAVが第一のチャネル上のフレームを使って第一のノードのために設定されているが第二のチャネルがアイドルであるとき、第一のノードはそれでも第二のチャネル上で第二のノードに覚醒パケットを送って第二のノードの主トランシーバを覚醒させることができる。これは、第二のチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができることを実現する。
第二の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードの第一型NAVが第一のチャネルのために設定されており、第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、第一のノードの第二型NAVが第二のチャネルのために設定されており、第二のチャネルは第二のノードの覚醒受信器が機能するチャネルであり、第二のチャネルは第一のチャネルと異なり、本方法は:第二のチャネルがアイドルであり、第一のノードについて第二型NAVが設定されていないことを検出するときに、第一のノードの主トランシーバによって、第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、第一のチャネルおよび第二のチャネルの両方が傾聴される。第二型NAVが第二のチャネル上のフレームを使って第一のノードのために設定されており第二のチャネルがアイドルであるとき、第一のノードは第二のチャネル上で第二のノードに覚醒パケットを送って第二のノードの主トランシーバを覚醒させうる。これは、第二のチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができることを実現する。
第三の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードは第一のチャネルに関して第一の競合窓CW1を維持しており、本方法は:CW1に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。前記第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、前記第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
第二のチャネル上で覚醒パケットを送るために使われる初期のバックオフ・カウントは、第一のチャネルに関して現在維持されているバックオフ・カウントであってもよく、よって、覚醒パケットは、衝突確率を増すことなく、より速く送信されることができる。
第三の側面の第一の可能な実装では、本方法はさらに:覚醒パケットの送信が不成功であるとき、第二のチャネルに関してCW1を不変のままに保つことを含む。
覚醒パケットの送信が不成功であるとき、第二のチャネルに関してCW1を不変のままに保つことは、第一のノードが、覚醒パケットを送るために、第二のチャネルに関して不変に保たれる競合窓を再び使用するのに比較的長い時間待つ必要がないことを保証できる。これは、覚醒パケットを送る間隔を短縮し、第二のノードの主トランシーバが間に合って覚醒されることができる。
第三の側面または第三の側面の第一の可能な実装を参照するに、第二の可能な実装では、第一のノードは第二のチャネルに関して第二の競合窓CW2を維持し、CW2は、第二のチャネルに関して維持されるCW2_minおよびCW2_maxに基づいて更新され、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送ることの後に、本方法はさらに:覚醒パケットの送信が不成功であるとき、現在のCW2を(CW2+1)*2−1に設定することであって、更新されたCW2はCW2_maxを超えないこと;または覚醒パケットの送信が成功であるとき、CW2をCW2_minにリセットすることを含む。
覚醒パケットの送信が不成功であるときに第二のチャネルに関して維持されているCW2を拡大することは、第一のノードが覚醒パケットを再送するために第二のチャネル上で拡大された競合窓を使うときに、衝突が回避されることを保証し、それにより覚醒パケットの送信の成功率を増す。
第三の側面、第三の側面の第一の可能な実装または第三の側面の第二の可能な実装を参照するに、第三の可能な実装では、CW2_minおよびCW2_maxはアクセスポイントAPによって指定される。
第三の側面、第三の側面の第一の可能な実装、第三の側面の第二の可能または第三の側面の第三の可能な実装を参照するに、第四の可能な実装では、本方法は、第一のノードの主トランシーバが第一のチャネルに戻って802.11フレームを送るとき、第一のチャネルに関して維持されているバックオフ・カウントを読み、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに802.11フレームを送ることを含む。
第三の側面または第三の側面の第一の可能な実装ないし第三の側面の第四の可能な実装のうちいずれか一つを参照するに、第五の可能な実装では、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送ることの前に、本方法はさらに:任意のアクセス・カテゴリーを選択することまたは覚醒パケットを送るための新たなアクセス・カテゴリーを定義することを含む。
第一のノードは、覚醒パケットを送るために前記アクセス・カテゴリーを独立して選択してもよい。よって、衝突確率を増すことなく、覚醒パケットの送信レイテンシーが短縮されることができる。
第四の側面によれば、ノード覚醒後に最初のフレームを送る方法が提供される。本方法は第二のノードに適用され、本方法は:第一のノードによって送られた覚醒パケットを、第二のノードの覚醒受信器を使って受信して、第二のノードの主トランシーバを覚醒させ;第二のノードの主トランシーバが覚醒された後に第二のノードの主トランシーバが第一のノードに最初のフレームを送るのが不成功であるとき、競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送ることを含む。
第二のノードの主トランシーバが覚醒し、最初のフレームを送るのが不成功であるとき、第二のノードの主トランシーバは競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、送信が不成功だったフレームを送り直す。競合窓は、第二のノードによって最初のフレームを送ることのサービス優先度によって決定され、よって、第二のノードは、覚醒後に最初のフレームを送って、第二のノードが覚醒したことを第一のノードに通知するためのレイテンシーを短縮しうる。
第四の側面の第一の可能な実装では、競合窓は、第一のノードによって第二のノードに送られた覚醒パケットにおいて担持される競合窓フィールドによって決定される、またはアクセスポイントAPによってブロードキャストされた覚醒ビーコン・フレームまたはビーコン・フレームにおける競合窓フィールドによって決定される。
第四の側面または第四の側面の第一の可能な実装を参照するに、第二の可能な実装では、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送ることの前に、本方法はさらに:競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行すること;または前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行することを含む。
第四の側面、第四の側面の第一の可能な実装または第四の側面の第二の可能な実装を参照するに、第三の可能な実装では、覚醒パケットは、バックオフの仕方を指示するために使われる指示フィールドを担持し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送ることの前に、本方法はさらに:前記指示フィールドの値が第一の値であるときは、競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行すること;または前記指示フィールドの値が第二の値であるときは、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行することを含む。
第五の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置のユニットが、第一の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第六の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置のユニットが、第二の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第七の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置のユニットが、第三の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第八の側面によれば、ノード覚醒後に最初のフレームを送る装置が提供される。本装置は少なくとも一つのユニットを含み、ノード覚醒後に最初のフレームを送るための当該装置のユニットが、第四の側面のノード覚醒後に最初のフレームを送る方法における対応する段階を実装するよう構成される。
第九の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。主トランシーバは、第一の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。主トランシーバは、第二の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十一の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。プロセッサおよび主トランシーバは、第三の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十二の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバと、該主トランシーバに接続された覚醒受信器とを含む。覚醒受信器、主トランシーバおよびプロセッサは、第四の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十三の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第一の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十四の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第二の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十五の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第三の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十六の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第四の側面で提供されるノード覚醒後に最初のフレームを送る方法を実装するために使われる命令を記憶する。
本発明のいくつかの実施形態に基づく、WLAN配備シナリオの概略的なシステム図である。
本発明のいくつかの実施形態に基づく、通常の802.11プロトコルにおける信号受信がない間のモニタリングおよびスリープ・ポリシーの概略図である。
本発明のいくつかの実施形態に基づく、覚醒受信器を有する受信端の適用シナリオ図である。
本発明のいくつかの実施形態に基づく覚醒パケットのフレーム構造の概略図である。
本発明のいくつかの実施形態に基づく覚醒パケットのフレーム構造のもう一つの概略図である。
本発明のいくつかの実施形態に基づく第一のデバイスの概略的な構造図である。
本発明のいくつかの実施形態に基づく第二のデバイスの概略的な構造図である。
本発明のある実施形態に基づく、覚醒パケットを送る方法のフローチャートである。
本発明のもう一つの実施形態に基づく、覚醒パケットを送る方法のフローチャートである。
本発明のある実施形態に基づく、バックオフ機構を使って覚醒パケットを送ることのフローチャートである。
本発明のある実施形態に基づく、バックオフ機構を使って覚醒パケットを送ることのもう一つのフローチャートである。
本発明のある実施形態に基づく、第一のノードが第二のノードを覚醒させるプロセスの概略図である。
本発明のある実施形態に基づく、ノード覚醒後に最初のフレームを送る方法のフローチャートである。
本発明のある実施形態に基づく、第二のノードが送信が不成功だったps-pollフレームを再送信する概略図である。
本発明のもう一つの実施形態に基づく、第二のノードによる送信が不成功だったps-pollフレームを再送信することの概略図である。
本発明のある実施形態に基づく、覚醒パケットを送る装置の概略的な構造図である。
本発明のある実施形態に基づく、ノード覚醒後に最初のフレームを送る装置の概略的な構造図である。
本願の目的、技術的解決策および利点を一層明確にするために、下記は付属の図面を参照して詳細に本願の実装をさらに記述する。
本発明の実施形態は、無線ローカルエリアネットワーク(英文:Wireless Local Area Network、WLAN)に適用されうる。現在のところ、WLANにおいて使われる標準は電気電子技術者協会(英文:Institute of Electrical and Electronics Engineers、略IEEE)の802.11シリーズである。WLANは複数の基本サービス・セット(英文:Basic Service Set、略BSS)を含んでいてもよい。BSSにおけるネットワーク・ノードはステーションである。ステーションは、アクセスポイント(英文:Access Point、略AP)ステーションおよび非アクセスポイント・ステーション(英文:Non Access Point Station、略非AP STA)を含む。各基本サービス・セットは一つのAPおよび該APに関連付けられている複数の非AP STAを含む。本発明の実施形態におけるSTA(英文:Station)はみな非アクセスポイント・ステーションであり、本発明の実施形態におけるAPはみなアクセスポイント・ステーションであることを注意しておくべきである。たとえば、図1を参照するに、図1は、一つのアクセスポイントAP(つまり、図1におけるAP 110)および該APに関連付けられている複数のSTA(つまり図1におけるSTA 121、STA 122およびSTA 123)を含んでいる。APは、該APに関連付けられているSTAのすべてと通信しうる。
アクセスポイント・ステーションは無線アクセスポイント、ホットスポットなどとも称される。APは、有線ネットワークにアクセスするために使われるアクセスポイントであり、主として家庭に、あるいは建物もしくはキャンパス内に配備され、数十ないし数百メートルという典型的なカバレッジ半径をもつ。もちろん、APは戸外に配備されてもよい。APは有線ネットワークと無線ネットワークを接続するブリッジと等価である。APの主要な機能は、無線ネットワーク・クライアントを一緒に接続して、無線ネットワークを作り出し、該無線ネットワークをイーサネットに接続することである。具体的には、APはワイヤレスフィデリティー(英文:Wireless Fidelity、略WiFi)チップをもつ端末装置またはネットワーク・デバイスでありうる。時折、APは802.11ax規格をサポートするデバイスであることもある。さらに、任意的に、APは802.11ac、802.11n、802.11g、802.11bおよび802.11aのような複数のWLAN規格をサポートする。
非アクセスポイント・ステーションは、無線通信チップ、無線センサーまたは無線通信端末でありうる。たとえば、非APステーションは、WiFi通信機能をサポートする携帯電話、WiFi通信機能をサポートするタブレット・コンピュータ、WiFi通信機能をサポートするセットトップボックス、WiFi通信機能をサポートするスマートTV、WiFi通信機能をサポートするスマートウェアラブルデバイス、WiFi通信機能をサポートする車載通信デバイスまたはWiFi通信機能をサポートするコンピュータである。任意的に、STAは802.11ax規格をサポートしてもよい。さらに、任意的に、ステーションはさらに、802.11ac、802.11n、802.11g、802.11bおよび802.11aのような複数のWLAN規格をサポートする。
ワイヤレスフィデリティー(英文:Wireless Fidelity、WiFi)ネットワークでは、デバイスのエネルギーのかなりの部分が、信号が受信されないときの傾聴(英文:idle listening)に浪費される。現在のところ、通常の802.11プロトコル(802.11b/a/g/n/acなど)における関係した解決策は、デバイスのスリープ・ポリシー最適化に焦点を当てている。図2における第一の時間軸に示されるように、デバイス(STAなど)が受信および送信するメッセージをもたないとき、連続的なチャネル傾聴がエネルギーのかなりの部分を消費する。よって、図2に示される第二の時間軸では、受信または送信されるデータがないときにはSTAがディープスリープ(英文:Deep Sleep)状態にはいって、連続的傾聴によって引き起こされるエネルギー消費を低減するよう、スリープ・スケジュール(英文:Sleep Schedule)が導入される。しかしながら、STAがディープスリープにあるときは、APはそのSTAと通信できず、APとSTAの間の伝送はSTAが覚醒した後にのみ実行されることができる。STAがディープスリープにある間にAPがSTAにデータを送る必要がある場合、いくらかのレイテンシー(英文:latency)が引き起こされることがありうる。スリープ・スケジュールから帰結する高いレイテンシーを避けるために、STAは通例、受信すべきデータがあるかどうかを検査するために、スリープ・ポリシーに従い、頻繁に覚醒する。これはSTAのスリープ効率を低下させ、受信される必要のある有用なデータがないのにSTAが頻繁に覚醒するとしたら、長時間スリープと比べて、より多くのエネルギーが消費される。
スリープ・ポリシー最適化に加えて、デバイス傾聴において消費されるエネルギーの無駄を減らすもう一つの技術的手段は、低電力の覚醒受信器(英文:Low Power Wake up receiver、略LP-WUR)(本稿では略してWURと称される)を使うことである。この手段の中核概念は、通常の802.11トランシーバ端(802.11 main radio、802.11主トランシーバまたはWiFi主トランシーバとも称される)に加えて、受信端デバイス(たとえばSTA)がさらに、低電力の覚醒受信器を含むということである。図3に示されるように、STAの802.11主トランシーバ・モジュールがディープスリープ状態にはいるとき、低電力WURが覚醒し、機能しはじめる。別のデバイス(たとえば図3の左部分のAP)がWURおよび802.11主トランシーバをもつデバイス(たとえば図3の右部分のSTA)と通信する必要がある場合、APはまずWUR覚醒パケット(英文:Wake up packet、略WUP)をSTAのWURに送り、STAのWURが、WURに送られたWUPを正しく受信した後、STAの802.11主トランシーバを覚醒させ、次いでWURはスリープに切り換わる。APはSTAの覚醒した802.11主トランシーバと通信する。STAの802.11主トランシーバは、APとの通信を完了した後、スリープ状態にはいり、STAのWURが覚醒して、STAの802.11主トランシーバを覚醒させるようWURに送られるWUPがあるかどうかを再び傾聴しはじめる。
この技術は、媒体がアイドルであるときにチャネルに傾聴するために802.11主トランシーバを使う代わりに低電力のWURを使う(ここで、傾聴/受信状態におけるWURのエネルギー消費は802.11主トランシーバの約0.1ないし1%、つまり100uW未満であると期待される)。これは事実上、デバイス傾聴のためのエネルギー消費の浪費を減らすことができる。
低電力消費を実現するために、WURの回路構造、フレーム構造設計(たとえばWUP)などは比較的単純であり、それほど複雑でないことが必要である。たとえば、WUR回路構造はエネルギー検出(英文:energy detect)部および無線周波数(英文:radio frequency、略RF)部のみを含んでいてもよく、よって、いくつかの複雑な変調方式については復調が実行できない。これに鑑み、WUPはオンオフ・キーイング(英文:On-Off Keying、略OOK)、バイナリー位相シフト・キーイング(英文:Binary Phase Shift Keying、略BPSK)または周波数シフト・キーイング(英文Frequency Shift Keying、略FSK)のような実装が単純な変調方式を使ってもよい。
図4Aは、可能なWUPフレーム構造を示している。WUPフレーム構造はレガシー802.11プリアンブル(英文:Legacy 802.11 preamble)で始まり、よってレガシー802.11プリアンブルは周囲の802.11デバイスによってパースにより取り出されることができ(プリアンブルを読んだ周囲の802.11デバイスは時間内にチャネルを占有しない)、覚醒パケットのその後の部分が通常の802.11デバイスによって干渉されることから保護される。WUPフレーム構造におけるレガシー802.11プリアンブルに続いて、WUP内のペイロード(英文:payload)部がOOK変調になっており、WURによってのみ、パースにより取り出されることができる。この部分は覚醒プリアンブル(英文:Wake-Up Preamble)、MACヘッダ(英文:MAC Header)、フレーム・ボディ(英文:frame body)およびフレーム検査シーケンス(英文:Frame Check Sequence、略FCS)を含んでいてもよい。
覚醒プリアンブルは、WUP信号を識別するために使われる。MACヘッダは、異なるWURを区別するために使われるWUR IDを含んでいてもよい。フレーム・ボディは他の情報を担持してもよい。フレーム検査シーケンスは、受信されたデータと送信されたデータとの間の一貫性を保証するために使われる。ここでのWUR ID情報とは、部分的なまたは完全なステーション関連付け識別子もしくはAPによってステーションに割り当てられたWUR識別子、または受信MACアドレスもしくはステーションの部分的な受信MACアドレス、または異なるステーションの間で区別するために使用できる他のWUR情報でありうる。さらに、WURペイロード部は狭帯域伝送であってもよい。具体的には、20MHz帯域幅の基本単位で伝送される802.11プリアンブルと異なり、狭帯域はたとえば1MHz、2MHz、4MHz、8MHzおよび16MHzであってもよい。WURペイロード部は20MHz帯域幅の基本単位で伝送されてもよい。
図4Bは、もう一つの可能なWUPフレーム構造を示しており、レガシー802.11プリアンブル、覚醒プリアンブル、信号伝達フィールド、MACヘッダ、フレーム・ボディおよびフレーム検査シーケンスを含んでいる。信号伝達フィールドは、AP識別子、WUR IDおよび変調および符号化指示といった何らかの物理層信号伝達を担持するために使われる。
実際の適用の際には、覚醒パケットを送るデバイスは、APであってもよく、あるいはWiFiホットスポットとしてのはたらきをするデバイスであってもよい。よって、記述の簡単のため、本発明の実施形態では、覚醒パケットを送る装置が第一のノードと称され、対応して、覚醒パケットを受信する装置が第二のノードと称される。明らかに、WiFiホットスポットとしてのはたらきをするデバイスが覚醒パケットを受信することもできる。
第一のノードの構造については、図5を参照されたい。図5では、第一のノードは、少なくともプロセッサ510、主トランシーバ520(ここでは802.11主トランシーバ)およびネットワーク・インターフェース530を含んでいてもよい。
プロセッサ510は、一つまたは複数の処理コアを含み、プロセッサ510は、ソフトウェア・プログラムを走らせることによって、さまざまな機能的なアプリケーションおよびデータ処理を実行する。
主トランシーバ520は、別のデバイスと通信するよう、たとえば第二のノードと通信するよう構成される。主トランシーバ520は、802.11フレームを送信または受信するよう構成されてもよい(本明細書における802.11フレームは、そうでないことが特定されていない限り、主トランシーバに対応するチャネル上で伝送されるフレームである)。802.11フレームはデータ・フレーム(英文:data frame)、制御フレーム(英文:control frame)および管理フレーム(英文:management frame)などであってもよい。データ・フレームはデータ伝送のために使われる。制御フレームは、競合期間および無競合期間の終わりの際の肯定受け取り確認およびハンドシェーク通信のために使われる。一般的な制御フレームは、pollフレーム、受け取り確認(英文:ACK)フレームなどを含む。管理フレームはSTAとAPの間のネゴシエーションおよび関連付け、認証および同期などの関係制御のために使われる。一般的な管理フレームはビーコン(英文:beacon)フレーム、探査要求(英文:probe request)フレーム、探査応答(英文:probe response)フレームなどを含みうる。
さらに、主トランシーバ520は、覚醒パケットを別のデバイスに送るよう構成されていてもよい。
任意的に、主トランシーバ520は、媒体アクセス・コントローラ(英文:medium access controller)、ベースバンド・チップ、無線周波モジュール、電力増幅器およびアンテナを含んでいてもよい。
主トランシーバ520は、プロセッサ510に接続される。別のデバイスによって送られたフレームを受信した後、主トランシーバ520は受信されたフレームを処理のためにプロセッサ510に送る。主トランシーバ520はチャネルを傾聴してもよく、プロセッサ510によってカプセル化された覚醒パケットまたは802.11フレームをアンテナを使って送るために、該チャネルの傾聴状態に基づいて適切な時点を選択してもよい。
任意的に、送られる必要のある802.11フレームのために使われる第一のチャネルがアイドルであるとき(第一のチャネルがアイドルであることは、仮想キャリア・センスおよび物理的キャリア・センスの両方を通じて判別される)、主トランシーバ520は、バックオフ機構に従って802.11フレームを第一のチャネル上で前記アンテナを使って送ってもよい。
任意的に、送られる必要のある覚醒パケットのために使われる第二のチャネルがアイドルであるとき、主トランシーバ520は、前記バックオフ機構に従って覚醒パケットを第二のチャネル上で前記アンテナを使って送ってもよい。
ある実装では、主トランシーバ520が第一のチャネル上でのみ仮想キャリア・センスを実行するまたは第二のチャネル上では仮想キャリア・センスを実行できない場合、主トランシーバ520が仮想キャリア・センスを通じて第一のチャネルがアイドルであることを判別し、物理的キャリア・センスを通じて第二のチャネルがアイドルであることを判別するとき、主トランシーバ520は、バックオフ機構に従って、第二のチャネル上で覚醒パケットをアンテナを使って送ってもよい。
もう一つの実装では、第一のチャネルおよび第二のチャネルの両方が仮想キャリア・センスを通じて傾聴されることができる場合、仮想キャリア・センスおよび物理的キャリア・センスの両方を通じて第二のチャネルがアイドルであることを判別するとき、主トランシーバ520は、バックオフ機構に従って、第二のチャネル上で覚醒パケットをアンテナを使って送ってもよい。
ネットワーク・インターフェース530はイーサネット・インターフェースまたは有線ネットワーク・インターフェースでありうる。
任意的に、第一のノードはさらにメモリを含んでいてもよく、該メモリはプロセッサ510および主トランシーバ520の両方に接続される。たとえば、メモリはプロセッサ510および主トランシーバ520に、バスを使って接続されてもよい。メモリは、ソフトウェア・プログラムおよびモジュールを記憶するよう構成されていてもよい。
任意的に、メモリは、任意の型の揮発性または不揮発性記憶デバイスまたはそれらの組み合わせ、たとえば静的ランダムアクセスメモリ(英文:static random access memory、略SRAM)、電気的に消去可能なプログラム可能型読み出し専用メモリ(英文:electrically erasable programmable read-only memory、略EEPROM)、消去可能なプログラム可能型読み出し専用メモリ(英文:erasable programmable read only memory、略EPROM)、プログラム可能型読み出し専用メモリ(英文:programmable read only memory、略PROM)、読み出し専用メモリ(英文:read read-only memory image、略ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクを使って実装されうる。
当業者は、図5に示される第一のノードの構造が第一のノードに対する限定をなすものではないことおよび第一のノードが図に示したものより多数または少数の部分またはいくつかの部分の組み合わせまたは異なる配置にされた部分を含んでいてもよいことを理解しうる。
第二のノードの構造については、図6を参照されたい。図6では、第二のノードは、少なくともプロセッサ610、主トランシーバ620(ここでは802.11主トランシーバ)、覚醒受信器630およびネットワーク・インターフェース640を含んでいてもよい。
プロセッサ610は、一つまたは複数の処理コアを含み、プロセッサ610は、ソフトウェア・プログラムを走らせることによって、さまざまな機能的なアプリケーションおよびデータ処理を実行する。
主トランシーバ620は、別のデバイスと通信するよう、たとえば第一のノードと通信するよう構成される。主トランシーバ620は、802.11フレームを送信または受信するよう構成されてもよい。
任意的に、主トランシーバ620は、媒体アクセス・コントローラ、ベースバンド・チップ、無線周波モジュール、電力増幅器およびアンテナを含んでいてもよい。主トランシーバ620は、プロセッサ610に接続され、プロセッサ610によってカプセル化されたフレームを別のデバイスに送るまたは別のデバイスによって送られたフレームをプロセッサ610に送る。
任意的に、覚醒受信器630が主トランシーバ620に接続され、覚醒受信器630は覚醒パケットを受信し、覚醒パケット受信後に主トランシーバ620を覚醒させ、主トランシーバ620を覚醒させた後にスリープ状態にはいってもよい。任意的に、覚醒受信器630は主トランシーバ620には接続されず、覚醒受信器630はプロセッサ610に接続され、覚醒受信器630は覚醒パケットを受信して、プロセッサ610に、主トランシーバ620を覚醒させるよう通知してもよい。
覚醒後、主トランシーバ620は、バックオフ機構に従って、覚醒パケットの送信端にフレームを送って、第二のノードが覚醒したことを送信端に通知する。さらに、主トランシーバ620は、チャネルを傾聴して、別のデバイスによって送られた802.11フレームを受信してもよい。主トランシーバ620が受信または送信すべきデータをもたないとき、主トランシーバ620はスリープ・モードにはいり、覚醒受信器630は覚醒パケットを受信するために覚醒する。
ネットワーク・インターフェース640はイーサネット・インターフェースまたは有線ネットワーク・インターフェースでありうる。
任意的に、第二のノードはさらにメモリを含んでいてもよく、該メモリはプロセッサ610、主トランシーバ620および覚醒受信器630に接続される。たとえば、メモリはプロセッサ610、主トランシーバ620および覚醒受信器630に、バスを使って接続されてもよい。メモリは、ソフトウェア・プログラムおよびモジュールを記憶するよう構成されていてもよい。
任意的に、メモリは、任意の型の揮発性または不揮発性記憶デバイスまたはそれらの組み合わせ、たとえばSRAM、EEPROM、EPROM、PROM、ROM、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクを使って実装されうる。
当業者は、図6に示される第二のノードの構造が第二のノードに対する限定をなすものではないことおよび第二のノードが図に示したものより多数または少数の部分またはいくつかの部分の組み合わせまたは異なる配置にされた部分を含んでいてもよいことを理解しうる。
さらに、第一のノードがWiFiホットスポットとして使われる携帯電話である場合、覚醒受信器630の機能と同様の機能をもつ覚醒受信器が第一のノードにも配置されてもよい。第一のノードが覚醒受信器をもつかどうかは、本発明の実施形態において限定されない。
通例、データを送る前に、ステーションはステーション上でNAVが設定されているかどうかを考慮し、チャネルがアイドルであるかどうかを傾聴する必要がある。ステーション上でNAVが設定されておらず、検出されたチャネルがアイドルであるとき、ステーションはXIFS(英文全称:X inter frame space)時間にわたって傾聴する。その時間内にチャネルがアイドルである場合、ステーションはバックオフを実行し、カウントが0まで戻った後にのみ、データを送るためにチャネルを占有する。ここでのXIFS時間は、送られるべきサービスの型に関係している。具体的には、ACK、ブロックAckフレーム、CTS(英文全称:clear to send)フレームのような応答フレームが送られる場合は、XIFS時間はSIFS(英文全称:short IFS)時間であり、ステーションはこの場合にはバックオフを実行する必要がなく、フレームを送るために直接、チャネルを占有する。ビーコン・フレームbeacon(本願でのビーコン・フレームは、そうでないことが指定されない限り、主トランシーバに対応するチャネル上で伝送されるビーコン・フレーム、つまり802.11ビーコン・フレームである)が送られる場合は、XIFS時間はPIFS(PCF(英文全称:Point coordinate function) IFS)時間であり、ステーションはこの場合にはバックオフを実行する必要がなく、フレームを送るために直接、チャネルを占有する。通常の非QoS(英文全称:quality of service)データが送られる場合は、XIFS時間はDIFS(DCF(英文全称:Distributed coordinate function) IFS)時間であり、ステーションはバックオフを実行し、通常のバックオフ・カウントが0に戻った後にのみ、フレームを送るためにチャネルを占有する。通常のQoSデータのフレームが送られる場合は、XIFSはAIFS(英文全称:arbitration IFS)時間であり、ステーションはバックオフを実行し、バックオフ・カウントが0に戻った後にのみ、フレームを送るためにチャネルを占有する。QoSデータはAC_BK(background〔バックグラウンド〕)、AC_BE(Best effort〔ベストエフォート〕)、AC_VI(video〔ビデオ〕)およびAC_VO(voice〔音声〕)に分類される。データの異なるアクセス・カテゴリーについて、AIFS時間は異なり、バックオフ・カウントは異なる。AIFS時間は別個にAIFS[AC_BK]、AIFS[AC_BE]、AIFS[AC_VI]およびAIFS[AC_VO]であり、バックオフ・カウントは別個にbackoff[AC_BK]、backoff[AC_BE]、backoff[AC_VI]およびbackoff[AC_VO]である。
SIFS<PIFS<DIFS=AIFS[AC_VO]<AIFS[AC_VI]<AIFS[AC_BE]<AIFS[AC_BK]であり、これは種々のサービスの優先度を反映しうる。
実際の適用の際、第二のノードの主トランシーバおよび覚醒受信器は異なるチャネル上で機能しうる。しかしながら、第一のノードの主トランシーバは通例、デフォルトにより、第二のノードの主トランシーバが機能する第一のチャネル(つまり、802.11フレームが伝送されるチャネル)を傾聴し、第一のチャネル上のフレームに基づいて、第一のノードのネットワーク割り当てベクトル(英文:network allocation vector、略NAV)を設定する。これは仮想キャリア・センスと称される。換言すれば、第一のノードのNAVは、第一のチャネル上のフレームに基づいて設定される。したがって、第一のノードの主トランシーバが覚醒パケットを送る必要があるとき、主トランシーバはまず、第一のノードについてNAVが設定されているかどうかを判定する。第一のノードについてNAVが設定されていないときは、主トランシーバはさらに、第二のノードの覚醒受信器が機能する第二のチャネルがアイドルであるかどうかを傾聴する。第二のチャネルがアイドルであることを検出するとき、主トランシーバは第二のチャネル上で覚醒パケットを送る。明らかに、第一のチャネル上のフレームを使って第一のノード上でNAVが設定されているときは、第二のチャネルがアイドルであるにもかかわらず、主トランシーバは覚醒パケットを送ることができない。結果として、第一のノードの主トランシーバは、第二のチャネルがアイドルであるときに間に合って覚醒パケットを第二のノードに送ることができず、間に合って第二のノードの主トランシーバを覚醒させることができない。
したがって、第二のノードの主トランシーバおよび覚醒受信器が異なるチャネル上で機能しうることを考えて、本発明の実施形態では、第一のノードによって覚醒パケットを送る二つの仕方が提案される。それらの仕方は図7および図8に示される段階において別個に記述される。
ある実装では、第一のノードはNAVを設定するために第二のチャネル上のフレームを使うことができない。換言すれば、第一のノードは、第一のチャネル上のフレームのみを使ってNAVを設定することができる。この場合、第一のノードは指定されたNAVを無視してもよく、第一のノードが第二のチャネルがアイドルであることを検出するときに第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。詳細については図7を参照されたい。
図7は、本発明のある実施形態に基づく、覚醒パケットを送る方法のフローチャートである。覚醒パケットを送る本方法は、図5に示される第一のノードに適用され、覚醒パケットを送る本方法は以下の段階を含む。
段階701。第一のノード上でNAVが設定されているかどうかを検出する。ここで、NAVは第一のチャネルに対して設定される。
第一のノードに送られているのでないフレームを第一のチャネル上で受信するとき、第一のノードは、そのフレーム内の継続時間フィールドによって示される継続時間に基づいてNAVを設定する。具体的には、継続時間フィールドによって示される継続時間が指定されたNAVの継続時間(0、つまりNAVが設定されていない場合を含む)より大きい場合は、NAVはその継続時間フィールドによって示される継続時間に更新され、あるいは継続時間フィールドによって示される継続時間が指定されたNAVの継続時間以下である場合は、NAVは不変のままに保たれる。ここで、第一のチャネルは第二のノードの主トランシーバが機能するチャネルである。通例、主トランシーバのチャネルは主要20MHzチャネルを含み、さらに副次20MHzチャネル、副次40MHzチャネルおよび副次80MHzチャネルなど主要20MHzチャネルの拡張を含んでいてもよい。
ある実装では、第一のノードは覚醒受信器を含まなくてもよい。たとえば、第一のノードがAPであるとき、第一のノードは通例、覚醒受信器を含まない。この場合、第一のノードは通例、デフォルトにより第一のノードの主トランシーバを使って第一のチャネルを傾聴する。主トランシーバの機能の限界のため、第一のノードの主トランシーバは、第一のチャネルおよび第二のチャネルを同時に傾聴しないことがありうる。この場合、第一のノードは、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいてNAVを設定する。ここで、第二のチャネルは第二のノードの覚醒受信器が機能するチャネルであり、通例、4MHzチャネル、5MHzチャネル、8MHzチャネル、10MHzチャネルまたは16MHzチャネルなどの狭いチャネルである。
通例、別のデバイスがチャネルを占有することを避けるために、第一のチャネル上で802.11フレームを送るとき、デバイスは、フレーム内の継続時間フィールドにおいて継続時間を設定する。継続時間は、そのフレームを送るデバイスがその継続時間内はそのチャネルを占有することを示す。そのフレームを検出するとき、別のデバイスはその継続時間内はバックオフを実行する必要がある。すなわち、該別のデバイスは第一のチャネル上でフレームを送らない。したがって、第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上の前記フレームが継続時間フィールドを担持していることを検出し、第一のノードはそのフレーム内の継続時間フィールドに基づいて第一のノードのNAVを設定して、第一のノードが継続時間フィールドによって示される継続時間内にそのチャネルを占有することから帰結する衝突を避ける。NAVの値は継続時間フィールドの値と同じである。次いで、第一のノードはNAVの値と同じ計時継続時間をもつタイマーを設定する。タイマーが満了になる前には、第一のノードは第一のチャネル上でフレームを送らない。タイマーが満了になった後、第一のノードはNAVをゼロにリセットする。次いで、第一のノードの主トランシーバは第一のチャネル上でフレームを送ってもよい。
任意的に、第一のノードは、第一のノードにではなく第一のチャネル上で送られたフレーム内の継続時間フィールドに基づいて、指定されたNAVの値を更新する。たとえば、第一のノードが、第一のチャネル上のフレーム内の継続時間フィールドが、指定されているNAVの値より大きいことを検出するとき、第一のノードは、指定されているNAVの値を新たに検出されたフレーム内の継続時間フィールドの値に更新し、タイマーの計時継続時間は相応して増大する。そうでないときは、NAVは不変のままにされる。
別の実装では、第一のノードは覚醒受信器である。たとえば、第一のノードはWiFiホットスポットとしてのはたらきをする携帯電話である。携帯電話は通例、APによって送られる覚醒パケットを受信するために覚醒受信器を含んでいてもよい。この場合、第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいてNAVを設定する。第二のチャネル上の覚醒パケットが指定されるNAVの継続時間フィールドをもたず、覚醒受信器が802.11フレームをパースして取り出せないときは、NAVはいまだ、第二のチャネル上のフレームを使うことによって第一のノード上で設定されない。すなわち、第一のノードは、第一のチャネル上のフレームを使うことによって設定されたNAVのみを記憶することができる。
上記の二つの実装から、第一のノードが、第一のチャネル上のフレームを使うことによって設定されたNAVのみを記憶することがわかる。よって、第一のノード上でNAVが設定されていることが検出される場合、そのことは、第一のチャネル上のフレームがそのチャネルを占有していることを示す。
段階702。第一のノード上でNAVが設定されているとき、NAVを無視し、第二のチャネルがアイドルであるかどうかを傾聴する。
第一のノード上でNAVが設定されている場合、そのことは、第一のチャネル上のフレームがそのチャネルを占有していることを示すだけである;第二のチャネルがアイドルであれば、第一のノードはいまだ、第二のチャネル上で覚醒パケットを送ることができる。よって、第一のノード上でNAVが設定されているとき、第一のノードはNAVを無視して、いまだ、第二のチャネルがアイドルであるかどうかを傾聴することができる。
任意的に、第一のノードが覚醒受信器を含まないときは、第一のノードの主トランシーバが一時的に、第二のチャネルがアイドルであるかどうかを傾聴してもよい。
任意的に、第一のノードが覚醒受信器を含むときは、第一のノードの覚醒受信器が、第二のチャネルがアイドルであるかどうかを傾聴してもよい。
段階703。第二のチャネルがアイドルであることを検出するとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送る。
第二のチャネルがアイドルであることを検出するとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。
まとめると、覚醒パケットを送るための本方法によれば、第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、デフォルトにより第一のチャネルが傾聴される。第一のチャネル上のフレームを使うことによって第一のノード上でNAVが設定されていることおよび第二のチャネルがアイドルであることを第一のノードが検出するとき、第一のノードはいまだ、第二のチャネル上で第二のノードに覚醒パケットを送って、第二のノードの主トランシーバを覚醒させることができる。このことは、第二のノードの主トランシーバが、第二のチャネルがアイドルである時間において覚醒されることができることを実現する。
もう一つの実装では、第一のチャネル上のフレームを使うことによって第一のノード上で第一型NAVが設定されていてもよく、第二のチャネル上のフレームを使うことによって第二型NAVが設定されてもよい。換言すれば、第一のノードは二つの型のNAVを記録する。この場合、第一のノードが第二型NAVを設定せず、第二のチャネルがアイドルであることを検出するとすると、第一のノードは、第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。詳細については図8を参照されたい。
NAVの各型は少なくとも一つのNAVを含む。たとえば第一型NAVについて、802.11axはBSS間NAVおよびBSS内NAVを含み、802.11a/n/acは一つの第一型NAVのみを含む。もう一つの例として、第二型NAVについて、覚醒受信器が複数の機能するチャネルをもつが、主要機能チャネルをもたない場合には、複数の対応する第二型NAVがある。覚醒受信器が複数の機能するチャネルをもち、主要機能チャネルがある場合には、一つの対応する第二型NAVがある。
図8は、本発明のもう一つの実施形態に基づく、覚醒パケットを送る方法のフローチャートである。覚醒パケットを送る本方法は、図5に示される第一のノードに適用され、覚醒パケットを送る本方法は以下の段階を含む。
段階801。第一のノード上で第二型NAVが設定されているかどうかを検出する。ここで、第二型NAVは第二のチャネルに対して設定される。
第二のチャネルは、第二のノードの覚醒受信器が機能するチャネルであり、第二のチャネルは第二のノードの主トランシーバが機能する第一のチャネルとは異なる。
ある実装では、第一のノードは覚醒受信器を含まなくてもよい。この場合、第一のノード主トランシーバが比較的強い傾聴機能をもっていれば、第一のノードの主トランシーバは、第一のチャネルおよび第二のチャネルの両方を傾聴し、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいて第一型NAVを設定し、第二のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいて第二型NAVを設定してもよい。第一のチャネルは、第二のノードの主トランシーバが機能するチャネルである。
別の実装では、第一のノードは覚醒受信器を含んでいてもよい。第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上のフレーム内の継続時間フィールドの値に基づいて第一型NAVを設定する。第一のノードの覚醒受信器は第二のチャネルを傾聴し、第一のチャネル上のフレーム内の継続時間フィールドの値に基づいて第二型NAVを設定する。第一のチャネルは第二のノードの主トランシーバが機能するチャネルである。
換言すれば、第一のチャネル上のフレームが継続時間フィールドを担持していてもよく、第一のノードは、第一のチャネル上のフレーム内に担持される継続時間フィールドに基づいて第一のノードの第一型NAVを設定する;第二のチャネル上のフレームも継続時間フィールドを担持していてもよく、第二のノードは、第二のチャネル上の覚醒パケット内に担持される継続時間フィールドに基づいて第二のノードの第二型NAVを設定する。この場合、第一のノードの主トランシーバが第一のチャネル上でフレームを送る必要があるときは、主トランシーバは第一型NAVを参照し、第一のチャネルがアイドルであるかどうかを考慮してもよい;あるいは第一のノードの主トランシーバが第二のチャネル上で覚醒パケットを送る必要があるときは、主トランシーバは第二型NAVを参照し、この場合は第一のチャネルがアイドルであるかどうかにはかかわりなく、第二のチャネルがアイドルであるかどうかを考慮してもよい。
実際の適用の際には、第一のノードは通例、第一のチャネル上のフレームのみに基づいて一つの第一型NAVを設定するが、第二のチャネルの状態に基づいて少なくとも一つの第二型NAVを設定してもよい。複数の第二のノードの覚醒受信器が異なる第二のチャネル上で機能するとすると、第一のノードがそれぞれの第二のチャネルを傾聴するとき、これらの第二のチャネルのうちで主要な機能するチャネルがない場合には、第一のノードは、これらの第二のチャネル上のフレームを使うことによって複数の第二型NAVを設定する。これらの第二のチャネルのうちで主要な機能するチャネルがある場合には、第一のノードは、該主要な機能するチャネル上のフレームを使うことによって一つの第二型NAVを設定してもよい。
段階802。第一のノードが第二型NAVを設定しないときは、第二のチャネルがアイドルであるかどうかを傾聴する。
第一のノードが第二型NAVを設定しないとき、そのことは、第二のチャネル上のフレームが、占有されるチャネルを指示しないことを示す。第二のチャネル上のいくつかのフレームが継続時間フィールドを示さないことを避けるために、この場合、第一のノードはさらに、第二のチャネルがアイドルであるかどうかを傾聴する必要がある。
同様に、第一のノードが第二のチャネルがアイドルであるかどうかを傾聴するとき、第一のノードが覚醒受信器を含まない場合には、第一のノードの主トランシーバが、第二のチャネルがアイドルであるかどうかを傾聴し;第一のノードが覚醒受信器を含む場合には、第一のノードの覚醒受信器が、第二のチャネルがアイドルであるかどうかを傾聴し、次いで、傾聴結果を第一のノードの主トランシーバに送る。明らかに、第一のノードの覚醒受信器は、第一のノードの主トランシーバに第二のチャネルの傾聴結果を直接送ってもよく、あるいは第一のノードのプロセッサを使うことによって第一のノードの主トランシーバに傾聴結果を転送してもよい。
段階803。第二のチャネルがアイドルであるとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送る。
第一のノードが第二型NAVを設定せず、第二のチャネルがアイドルであることを検出するときは、仮想キャリア・センスおよび物理的キャリア・センスを通じて、第二のチャネルがアイドルであることが判別される。この場合、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。
まとめると、覚醒パケットを送るための本方法では、第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、第一のチャネルおよび第二のチャネルの両方が傾聴される。第二のチャネル上のフレームを使うことによって第一のノード上でNAVが設定されていないことおよび第二のチャネルがアイドルであることを第一のノードが検出するとき、第一のノードは、第二のチャネル上で第二のノードに覚醒パケットを送って、第二のノードの主トランシーバを覚醒させてもよい。このことは、第二のノードの主トランシーバが、第二のチャネルがアイドルである時間において覚醒されることができることを実現する。
たとえば、第一のノードはAPである。APはネットワーク負荷情報を知り、APは、APが下りリンク・サービスをステーションに送る必要があるので、対応するステーションを覚醒させることをトリガーする。第二のチャネルがアイドルであり、そのことが仮想キャリア・センスおよび物理的キャリア・センスの両方によって判別され、APが第一のチャネルに関してのみ競合窓を維持するとき、APはバックオフを実行するためにアクセス・カテゴリー(サービス優先度とも称される)を独立して選択しうる。換言すれば、APは、覚醒パケットを送るために任意のアクセス・カテゴリーを独立して選択する。具体的には、APは、該アクセス・カテゴリーに基づいて、傾聴されるXIFS(X inter frame space)継続時間およびバックオフ・カウントを決定しうる。傾聴されるXIFS継続時間内にチャネルがアイドルであれば、APはバックオフ・カウントに基づいてバックオフを実行し(該バックオフ・カウントは、あるアクセス・カテゴリーに対応する、以前に保持されたバックオフ・カウントである)、バックオフが終了した後、第二のチャネル上で第二のノードに覚醒パケットを送る。
たとえば、XIFS継続時間はPIFS継続時間であってもよく、バックオフ・カウントは非バックオフ・カウント(これはバックオフ・カウントが0であることと等価)であってもよい;あるいはXIFS継続時間はDIFS継続時間であってもよく、バックオフ・カウントは通常のバックオフ・カウントであってもよい;あるいはXIFS継続時間はAIFS[AC]であってもよく、バックオフ・カウントはバックオフ・カウントbackoff[AC]であってもよい。ACはAC_BKまたはAC_BEまたはAC_VIまたはAC_VOである。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルとは異なることを考え、第一のノードは第一のチャネルに関する競合窓(英文:contention window〔コンテンション・ウインドー〕、略CW)を維持する。競合窓は、第一の競合窓CW1と表わされてもよい。初めて第二のチャネル上で覚醒パケットを送る前に、第一のノードは、第一のチャネル上で維持されている競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で初めて覚醒パケットを送ってもよい。
覚醒パケットの送信が不成功である場合、第一のノードは第二のチャネルに関する競合窓CW1を不変のままに保持し、あるいは第二のチャネル上での周波数衝突を避けるために、第二のチャネルに関して第一のノードによって維持される競合窓は可変競合窓であってもよい。
ある実装では、第一のノードは、第二のチャネルに関する不変な第二の競合窓CW2を維持する。覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して現在維持されている第一の競合窓を、第二のチャネルに関して維持される初期競合窓として使い、第一の競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一の競合窓は第二のチャネルに関して不変のままに保たれ、第一の競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送る段階を再び実行する。換言すれば、覚醒パケットの送信が不成功である場合には、第二のチャネルに関して第一のノードによって維持される第一の競合窓は不変のままに保たれる。
バックオフ中に第二のチャネルがビジーである場合、第一のノードはバックオフ・カウントをサスペンドし、第二のチャネルがアイドルになるまで、サスペンドされたバックオフ・カウントに基づいてバックオフを実行する。
たとえば、図9Aを参照するに、覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して維持される第一の競合窓[0,5]を第二のチャネルに関して維持される初期競合窓として決定し、第一の競合窓に基づいてバックオフ・カウント4をランダムに生成し、バックオフ・カウントが0に戻るときに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードはやはり第一の競合窓[0,5]に基づいてバックオフ・カウントをランダムに生成し、ここで、二度目に生成されたバックオフ・カウントは図9Aに示される3であり、バックオフ・カウントが0に戻るときに覚醒パケットを送り直す。
別の実装では、第一のノードは第二のチャネルに関して可変の第二の競合窓CW2を維持する。CW2は、最小競合窓CW2_minから最大競合窓CW2_maxまで拡大されてもよい。初めて覚醒パケットを送るときは、第一のノードは第一のチャネルに関して維持される第一の競合窓CW1を第二のチャネルに関して維持される初期の第二の競合窓CW2として使い、第二の競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいて第二のチャネル上で第二のノードに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードは第二の競合窓を拡大し、たとえば現在のCW2を(CW2+1)*2−1に設定し、拡大された第二の競合窓が指定されている最大競合窓に等しくなるまで、第二の競合窓を拡大し続けて第二の競合窓CW2を拡大することを終える。覚醒パケットの送信に成功するときは、第一のノードは現在の第二の競合窓を最小の競合窓にリセットする。
バックオフ中に第二のチャネルがビジーである場合、第一のノードはバックオフ・カウントをサスペンドし、第二のチャネルがアイドルになるまで、サスペンドされたバックオフ・カウントに基づいてバックオフを実行する。
たとえば、図9Bを参照するに、覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して維持される第一の競合窓[0,5]を第二のチャネルに関して維持される初期の第二の競合窓[0,5]として決定し、第二の競合窓に基づいてバックオフ・カウント4をランダムに生成し、バックオフ・カウントが0に戻るときに第二のチャネル上で覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードは第二の競合窓をCW2=(CW2+1)*2−1に基づいて拡大し、ここで、拡大された第二の競合窓は[0,11]であり;拡大された第二の競合窓[0,11]に基づいてランダムにバックオフ・カウントを生成し、ここで、二度目に生成されたバックオフ・カウントは図9Bに示される7であり;バックオフ・カウントが0に戻るときに第二のチャネル上で覚醒パケットを送り直す。
さらに、第一のノードが非APステーションであるとき、第一のノードは、APによってブロードキャストされるビーコン・フレームまたは覚醒ビーコン・フレームを使って、第二のチャネルに関して第一のノードによって維持されているCW2_minおよびCW2_maxを知る。窓パラメータの更新はAPによって決定される。第一のノードがAPステーションであるときは、第二のチャネルに関して第一のノードによって維持されているCW2_minおよびCW2_maxは該APによって独立して決定されるまたは標準もしくはプロトコルによって指定される。
覚醒ビーコン・フレームは、802.11ビーコン・フレームの構造と同様の構造をもち、直列接続された諸要素によって構築される。802.11ビーコン・フレームと同様に、覚醒ビーコン・フレームは周期的にブロードキャストされ、対応する覚醒無線パラメータを含む。覚醒後の主トランシーバが適正に機能することを支援するために、覚醒ビーコン・フレームはいまだ、現行の主トランシーバに対応する主要BSSの変更指示フィールドまたは枢要パラメータを担持する必要がある。
第一のノードの主トランシーバが第二のチャネル上で覚醒パケットを送った後、主トランシーバがいまだ802.11フレームを送る必要がある場合には、第一のノードの主トランシーバはやはり第一のチャネル上に維持されるバックオフ・カウントに基づいて、第一のチャネル上で802.11フレームを送る。
802.11a/n/acプロトコルでは、APはトラフィック指示マップ(英文:traffic indication map、略TIM)フィールドを担持するビーコン・フレームをブロードキャストして、下りリンク・サービスをもつ個別のステーションをAPに通知する。節電モードにあるステーションがビーコン・フレームを検出した後、ステーションはAPが下りリンク・サービスをステーションに送ろうとしていることを知り、スリープ状態に戻ってもよい。ステーションが覚醒し、APに下りリンク・サービスをステーションに送るよう要求するとき、APはAPにps-pollフレームを送る。ps-pollフレームは、ステーションが覚醒し、APがステーションに下りリンク・サービスを送ってもよいことをAPに通知する。しかしながら、この場合、ps-pollフレームは、同時に覚醒する複数の節電ステーションがより高い優先度を使って同時にチャネルにアクセスするときの衝突を避けるために、優先度AC_BEを使ってチャネルにアクセスする。
しかしながら、覚醒無線の際には、複数のステーションが同時に覚醒するという問題は存在しない。通例、APは単一のステーションまたはいくつかのステーションが覚醒されることを指定する。APが複数のステーションが覚醒されることを指定する場合には、APはトリガー・フレームを送って、それらのステーションが覚醒されたかどうかを一つ一つ問い合わせするまたは複数ユーザー複数入力複数出力(英文:multi-user multiple input multiple output、略MU-MIMO)または直交周波数分割多重アクセス(英文:orthogonal frequency division multiplex access、略OFDMA)のような仕方で前記複数のステーションに同時に問い合わせする。よって、ps-poll、ackフレームまたは探索要求フレームのようなステーション覚醒後に送られる最初のフレームは、より高い優先度をもってチャネルにアクセスしうる。本願は、APがアクセス・カテゴリー・インデックス(英文:access category index、略ACI)をネットワーク負荷情報および他の情報に基づいて制御することを提案する。APは、ビーコン・フレームのようなブロードキャスト・フレームを使ってアクセス・カテゴリー・インデックスをステーションに通知してもよく、あるいは関連付け応答フレームのようなユニキャスト・フレームを使って関連付けステーションに通知してもよい。
図10に示されるように、覚醒したステーションによって送られる最初のフレームはackフレーム、ps-pollフレーム、探査要求フレームなどである。図10では、ps-pollフレームが例として使われる。通常の仕方で、最初のフレームの送信が不成功である場合、競合窓が二倍にされ、新たな窓に基づいてバックオフ・カウントが生成されてバックオフを実行する(物理的キャリア・センスおよび仮想キャリア・センスを通じてチャネルがアイドルであることが判別されるときにAIFS[BE]時間を傾聴するといったアクションはここでは割愛される)。結果として、覚醒したステーションが覚醒パケット送信端に該ステーションがすでに覚醒していることを報告するための長いレイテンシーが引き起こされ、覚醒パケット送信端は、該送信端がステーションがまだ覚醒していないと誤って考えるため、覚醒パケットを再送してしまう。したがって、本願は、ステーションが覚醒したことを覚醒パケット送信ステーションに迅速に通知するようバックオフ手順を修正することを提案する。
図11を参照するに、図11は本発明のある実施形態に基づく、ノード覚醒後の最初のフレームを送る方法のフローチャートである。本方法は、図6に示される第二のノードに適用され、第二のノードの主トランシーバが覚醒した後に最初のフレームを送るための方法は、以下の段階を含んでいてもよい。
段階1101。第一のノードによって送られた覚醒パケットを第二のノードの覚醒受信器を使って受信して、第二のノードの主トランシーバを覚醒させる。
第二のノードが第二のノードの主トランシーバを覚醒させるとき、第二のノードの覚醒受信器が第二のノードの主トランシーバを覚醒させてもよく、あるいは第二のノードの覚醒受信器が第二のノードのプロセッサを使って第二のノードの主トランシーバを覚醒させてもよい。
段階1102。第二のノードの主トランシーバを覚醒させ、第一のノードに最初のフレームを送るが不成功だったとき、主トランシーバは競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいて、送信が不成功だったフレームを第一のノードに送る。
最初のフレームは、第二のノードの覚醒した主トランシーバによって最初の時点で送られるフレームであり、ps-pollフレーム、ackフレームおよび探査要求フレームを含み、データ・フレームに応答しての受け取り確認フレームや、第二のノードの主トランシーバが覚醒した後に第一のノードによって最初の時点においてプロアクティブに送られる送信要求フレームに応答しての送信許可フレームではない。
覚醒した後、第二のノードの主トランシーバは最初のフレームを第一のノードに送る。ここでの最初のフレームはackフレーム、ps-pollフレームまたは探査要求フレームであってもよい。主トランシーバが最初のフレームを送るが不成功であるとき、第二のノードは覚醒パケットに担持される競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを、第二のノードの主トランシーバを使って第一のノードに送ってもよい。
第二のノードによって送られる覚醒パケットのアクセス・カテゴリーは、第一のノードによって送られる覚醒パケットにおいて担持されるアクセス・カテゴリー・フィールドまたはAPによってブロードキャストされる覚醒ビーコン・フレームおよび802.11ビーコン・フレームにおけるアクセス・カテゴリー・フィールドまたはAPによって送られる関連付け応答フレームにおいて担持されるアクセス・カテゴリー・フィールドまたは標準もしくはプロトコルにおいて指定される新たなアクセス・カテゴリーによって決定される。
ある実装では、ここでの競合窓は、第二のノードによって送られる最初のフレームのアクセス・カテゴリーによって決定される。
もう一つの実装では、ここでの競合窓は、第一のノードによって第二のノードに送られる覚醒パケットにおいて担持される競合窓フィールドによって決定される、またはアクセスポイントAPによってブロードキャストされる覚醒ビーコン・フレームもしくはビーコン・フレームにおける競合窓フィールドによって決定される。
まとめると、本発明のこの実施形態において提供される第二のノードの主トランシーバの覚醒後に最初のフレームを送るためのこの方法では、第一のノードが諸第二のノードのサービス優先度に基づいて諸ノードのための異なる競合窓を指定してもよい。第二のノードが第一のノードによって指定された競合窓に基づいてバックオフを実行するとき、第二のノードは比較的高い優先度を使ってチャネルにアクセスし、第二のノードが覚醒したことを間に合って第一のノードに通知してもよい。これは、第一のノードによって第二のノードにデータを送るためのレイテンシーを軽減する。
第二のノードの主トランシーバが覚醒して最初のフレームを送るが不成功であるときは、第二のノードに迅速に最初のフレームを成功裏に送らせるために、本願は次の二つの仕方を使う。
第一の仕方では:第二のノードの主トランシーバが送信が不成功だったフレームを第一のノードに送るとき、第二のノードは競合窓に基づいてバックオフ・カウントを生成し、送信が不成功だったフレームをバックオフ・カウントに基づいて第一のノードに送る段階を再び実行する。換言すれば、第二のノードの主トランシーバが覚醒した後に送られたが不成功だったフレームを第二のノードの主トランシーバが再送する必要があるとき、第二のノードは、やはり維持されている競合窓に基づいてバックオフ・カウントを生成し、競合窓は不変のまま保たれる。第二のノードは第一のノードによって覚醒させられ、通例、ある瞬間には一つの第二のノードだけが覚醒させられる。よって、第二のノードが覚醒して最初のフレームを送った後に衝突は存在せず、第二のノードは、衝突頻度を減らすために競合窓を拡大するのではなく、最初のフレームをできるだけ早く成功裏に送るために競合窓を不変のまま保つ。
たとえば、図12Aを参照するに、覚醒した第二のノードによって送られる最初のフレームはps-pollフレームである。覚醒パケット受信後、第二のノードは競合窓[0,7]に基づいてバックオフ・カウント5をランダムに生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送る。ps-pollフレームの送信が不成功である場合、第二のノードは競合窓[0,7]に基づいてバックオフ・カウントをランダムに生成し、ここで、新たなバックオフ・カウントは6であり、新たなバックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送り直す。
第二の仕方では:第二のノードの主トランシーバが送信が不成功だったフレームを第一のノードに送る前に、第二のノードは送信が不成功だったフレームをバックオフ・カウントに基づいて第一のノードに送る段階を再び実行する。換言すれば、第二のノードが維持されている競合窓を使ってバックオフ・カウントを生成した後、第二のフレームが覚醒して最初のフレームを送るが不成功だったとき、第二のノードはその後、いまだ前記バックオフ・カウントに基づいてバックオフを実行し、競合窓は不変のまま保たれる。
たとえば、図12Bを参照するに、覚醒した第二のノードによって送られる最初のフレームはps-pollフレームである。覚醒パケット受信後、第二のノードは競合窓[0,7]を覚醒パケットから取得し、該競合窓に基づいてバックオフ・カウント5をランダムに生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送る。ps-pollフレームの送信が不成功である場合、第二のノードはもとのバックオフ・カウント5に基づいてバックオフを実行することを続け、バックオフが終わった後にps-pollフレームを第一のノードに送り直す。
実際の適用の際、第一のノードは覚醒パケットに1ビットの指示フィールドを追加してもよい。この指示フィールドは、バックオフ機構に従って最初のフレームを送るために第二のノードの覚醒した主トランシーバによって使われるバックオフの仕方を示すために使われてもよい。
たとえば、指示フィールドの値が第一の値であるとき、第二のノードは競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを第一のノードに送る段階を再び実行する。
指示フィールドの値が第二の値であるとき、第二のノードはバックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを第一のノードに送る段階を再び実行し、競合窓は不変に保たれる。
もう一つの実装では、第二のノードは最初のフレームを送るためにCW3_minおよびCW3_maxを維持してもよい。CW3_minおよびCW3_maxは、受信された覚醒パケットにおける窓パラメータ・フィールドによって決定される、またはAPによってブロードキャストされる覚醒ビーコン・フレームまたはAPによってブロードキャストされるビーコン・フレームにおける窓パラメータ・フィールドによって決定される。第二のノードが、最初のフレームを送るが不成功だった後に再送信を実行するとき、競合窓の更新のプロセスは、そのために上記の例において第一のノードが覚醒パケットを送るところの競合窓を、第二のチャネル上で維持されているCW3_minおよびCW3_maxに基づいて更新するプロセスと同じである。詳細は本発明においてここで繰り返されない。
さらに、実施形態は、APが非APステーションを覚醒させる、非APステーションがAPを覚醒させる、非APステーションが別の非APステーションを覚醒させるなどのシナリオに適用可能であることを注意しておくべきである。しかしながら、実施形態において記載されているビーコン・フレーム(または覚醒ビーコン・フレーム)および関連付け応答フレームは、APによって送られることができるだけである。
ある可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。覚醒パケットを送るための装置は送信ユニットを含んでいてもよく、送信ユニットは少なくとも一つの段階702および段階703の機能を実装するよう構成される。詳細については、上記の方法実施形態を参照されたい。任意的に、本発明のこの実施形態において、送信ユニットは図5に示される主トランシーバ520によって実装されてもよい。
もう一つの可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。覚醒パケットを送るための装置は送信ユニットを含んでいてもよく、送信ユニットは段階803の機能を実装するよう構成される。
詳細については、上記の方法実施形態を参照されたい。任意的に、本発明のこの実施形態において、送信ユニットは図5に示される主トランシーバ520によって実装されてもよい。
もう一つの可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。図13を参照するに、覚醒パケットを送るための装置は、送信ユニット1301および処理ユニット1302を含んでいてもよい。
送信ユニット1301は:第一の競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で覚醒パケットを第二のノードに送るよう構成される。第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
任意的に、送信ユニット1301はさらに:覚醒パケットの送信が不成功であるとき、第二のチャネル上で第一の競合窓を不変に保つよう構成される。
任意的に、第一のノードは第二のチャネル上で第二の競合窓CW2を維持し、CW2は第二のチャネル上で維持される最小競合窓CW2_minおよび最大競合窓CW2_maxに基づいて更新される。
処理ユニット1302は:覚醒パケットの送信が不成功であるとき、現在のCW2を(CW2+1)*2−1に更新するよう構成される。更新されたCW2はCW2_maxを超えない。
処理ユニット1302はさらに:覚醒パケットの送信が不成功であるとき、CW2をCW2_minにリセットするよう構成される。
任意的に、CW2_minおよびCW2_maxはAPによって指定される。
任意的に、送信ユニット1301はさらに:第一のノードの主トランシーバが第一のチャネル上で802.11フレームを送る必要があるとき、第一のチャネル上で維持されているバックオフ・カウントを読み、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに802.11フレームを送るよう構成される。
任意的に、送信ユニット1301はさらに、覚醒パケットを送るために、任意のサービス優先度を選択するまたは新たなサービス優先度を定義するよう構成される。
詳細については、上記の方法実施形態を参照されたい。
任意的に、本発明のこの実施形態において、送信ユニット1301および処理ユニット1302は、図5に示される主トランシーバ520によって実装されてもよい。
上記の実施形態において提供される覚醒パケットを送信するための装置が覚醒パケットを送るとき、上記の諸プログラム・モジュールの分割は単に記述のための例として使われていることを注意しておくべきである。実際の適用の際には、上記の機能は、実装のために必要に応じて異なるプログラム・モジュールに割り当てられてもよい。換言すれば、第一のノードの内部構造は、上記の機能の全部または一部を実装するために異なるプログラム・モジュールに分割される。さらに、上記の実施形態において提供される覚醒パケットを送るための装置および覚醒パケットを送るための方法は同じ概念に属する。具体的な実装プロセスについては、方法実施形態を参照されたい。ここで詳細を繰り返すことはしない。
ある例示的実施形態では、命令を含んでいる非一時的なコンピュータ可読記憶媒体、たとえば命令を含んでいるメモリがさらに提供される。命令は、覚醒パケットを送る方法を実装するために第一のノードのプロセッサおよび主トランシーバによって実行されてもよい。たとえば、非一時的なコンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶デバイスなどであってもよい。
図14を参照するに、図14は、本発明のある実施形態に基づく、ノード覚醒後に最初のフレームを送るための装置の概略的な構造図である。ノード覚醒後に最初のフレームを送るための本装置は、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせを使って受信デバイスの全体または一部になりうる。ノード覚醒後に最初のフレームを送るための本装置は受信ユニット1401、覚醒ユニット1402および送信ユニット1403を含んでいてもよい。
受信ユニット1401は、段階1101において第一のノードによって送られた覚醒パケットを受信する機能を実装するよう構成される。
覚醒ユニット1402は、段階1101において第二のノードの主トランシーバを覚醒させる機能を実装するよう構成される。
送信ユニット1403は、段階1102の機能を実装するよう構成される。
詳細については上記の方法実施形態を参照されたい。
任意的に、本発明のこの実施形態において、受信ユニット1401および覚醒ユニット1402は図6に示される覚醒受信器630によって実装されてもよく、送信ユニット1403は図6に示される主トランシーバ620によって実装されてもよい。
上記の実施形態において提供されるノード覚醒後に最初のフレームを送るための装置がノード覚醒後に最初のフレームを送るとき、上記の諸プログラム・モジュールの分割は単に記述のための例として使われていることを注意しておくべきである。実際の適用の際には、上記の機能は、実装のために必要に応じて異なるプログラム・モジュールに割り当てられてもよい。換言すれば、第二のノードの内部構造は、上記の機能の全部または一部を実装するために異なるプログラム・モジュールに分割される。さらに、上記の実施形態において提供されるノード覚醒後に最初のフレームを送るための装置およびノード覚醒後に最初のフレームを送るための方法は同じ概念に属する。具体的な実装プロセスについては、方法実施形態を参照されたい。ここで詳細を繰り返すことはしない。
ある例示的実施形態では、命令を含んでいる非一時的なコンピュータ可読記憶媒体、たとえば命令を含んでいるメモリがさらに提供される。命令は、ノード覚醒後に最初のフレームを送るための方法を実装するために第二のノードの覚醒受信器および主トランシーバによって実行されてもよい。たとえば、非一時的なコンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶デバイスなどであってもよい。
本発明のある実施形態はさらに、覚醒パケット送信システムを提供する。覚醒パケット送信システムは、第一のノードおよび少なくとも一つの第二のノードを含む。第一のノードは、図13に示される覚醒パケットを送るための装置を含み、第二のノードは、図14に示されるノード覚醒後に最初のフレームを送るための装置を含む。詳細については図13および図14の説明を参照されたい。ここで詳細を繰り返すことはしない。
本稿で使われる技術用語または科学用語は、そうでないことが指定されていない限り、本発明の分野の当業者によって理解される一般的な意味をもつべきである。本願の明細書および請求項において使用される「第一」、「第二」および同様の用語は、いかなる序列、数または重要性をも表わさず、異なる構成要素を区別するために使われているだけである。同様に、「一つの」「ある」または同様の用語も数の限定を表わさず、少なくとも一つを意味する。「に接続される」「と接続される」または同様の用語は、物理的または機械接続に限定せず、接続は直接的または間接的な電気接続を含みうる。
本願の明細書および請求項において使用される「送信端」および「受信端」は単に二つの情報を送る端を表わしており、いずれの側の機能をも制限しない。たとえば、送信端は情報を受信することもしてもよく、あるいは他の動作を実行してもよく、受信端は情報を送信することもしてもよく、あるいは他の動作を実行してもよい。明らかに、本願での情報は、任意の型のフレームでありうる。
当業者は、実施形態の段階の全部または一部がハードウェアまたは関係したハードウェアに命令するプログラムによって実装されうることを理解しうる。プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。記憶媒体は読み出し専用メモリ、磁気ディスクまたは光ディスクを含みうる。
上記の記述は単に本願の任意的な実施形態であり、本願を限定することは意図されていない。本願の精神および原理から外れることなくなされる任意の修正、等価な置換または改善は、本願の保護範囲内にはいる。
本願は、ネットワーク技術の分野に、詳細には、覚醒パケットを送る方法、ノード覚醒後に最初のフレームを送る方法、装置およびデバイスに関する。
第一のノードが第二のノードにデータを送る必要があるとき、第二のノードは通例、第一のモードを傾聴している必要がある。第二のノードの主トランシーバの傾聴電力消費を減らすために、低電力覚醒受信器(英文:low power wake up receiver、略LP-WUR)が第二のノードにおいて追加されうる。第二のノードにデータを送る必要があるとき、第一のノードはまず第二のノードに覚醒パケットを送り、第二のノードの覚醒受信器が覚醒パケット受信後に第二のノードの主トランシーバを覚醒させ、覚醒した主トランシーバが第一のノードと通信する。
通例、デフォルトにより、第一のノードの主トランシーバは第二のノードの主トランシーバに対応するチャネルを傾聴する。非宛先受信ステーション以外のすべてのステーションのネットワーク割り当てベクトル(英文:network allocation vector、略NAV)を更新するために、各媒体アクセス制御(英文:Media Access Control、略MAC)フレームは「継続時間」フィールドを担持する。これは、ノードを隠す問題を克服するための機構である。NAV機能は論理的にはMAC層に存在し、物理的なキャリア・センスを向上させるための仮想キャリア・センス機構を提供する。第二のノードに覚醒パケットを送る前に、第一のノードは、第一のノードのためにNAVが設定されているかどうかを判定する必要があり、チャネルを傾聴し、該チャネルがアイドルであるかどうかを判定する(物理的なキャリア・センス)。第一のノードのためにNAVが設定されておらず、検出されたチャネルがアイドルであるときは、第一のノードは第二のノードに覚醒パケットを送る。
実際の適用の際には、第二のノードの主トランシーバおよび覚醒受信器は異なるチャネル上で機能することがある。第一のノードが第二のノードの主トランシーバに対応するチャネルのみを傾聴していたら、NAVがそのチャネル上のフレームを使って第一のノードのために設定されるとき、第二のノードの覚醒受信器に対応するチャネルがアイドルであるにもかかわらず、第一のノードは覚醒パケットを第二のノードに送ることができない。結果として、第二のノードの主トランシーバは、第二のノードの覚醒受信器に対応するチャネルがアイドルであるときに間に合って覚醒されることができない。
第一のノードのためにNAVが設定されているために、第二のノードの覚醒受信器に対応するチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができないという関連技術の問題を解決するために、本願の諸実施形態は、覚醒パケットを送る方法、ノード覚醒後に最初のフレームを送る方法、装置およびデバイスを提供する。技術的解決策は以下のとおりである。
第一の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードのNAVが第一のチャネルに関して設定されており、本方法は:第二のチャネルがアイドルであることを検出するときに、第一のノードによって、NAVを無視し、第一のノードの主トランシーバによって、第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。前記第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、前記第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、デフォルトにより第一のチャネルが傾聴される。NAVが第一のチャネル上のフレームを使って第一のノードのために設定されているが第二のチャネルがアイドルであるとき、第一のノードはそれでも第二のチャネル上で第二のノードに覚醒パケットを送って第二のノードの主トランシーバを覚醒させることができる。これは、第二のチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができることを実現する。
第二の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードの第一型NAVが第一のチャネルのために設定されており、第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、第一のノードの第二型NAVが第二のチャネルのために設定されており、第二のチャネルは第二のノードの覚醒受信器が機能するチャネルであり、第二のチャネルは第一のチャネルと異なり、本方法は:第二のチャネルがアイドルであり、第一のノードについて第二型NAVが設定されていないことを検出するときに、第一のノードの主トランシーバによって、第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、第一のチャネルおよび第二のチャネルの両方が傾聴される。第二型NAVが第二のチャネル上のフレームを使って第一のノードのために設定されており第二のチャネルがアイドルであるとき、第一のノードは第二のチャネル上で第二のノードに覚醒パケットを送って第二のノードの主トランシーバを覚醒させうる。これは、第二のチャネルがアイドルであるときに間に合って第二のノードの主トランシーバが覚醒されることができることを実現する。
第三の側面によれば、覚醒パケットを送る方法が提供される。本方法は第一のノードに適用され、第一のノードは第一のチャネルに関して第一の競合窓CW1を維持しており、本方法は:CW1に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送ることを含む。前記第一のチャネルは第二のノードの主トランシーバが機能するチャネルであり、前記第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
第二のチャネル上で覚醒パケットを送るために使われる初期のバックオフ・カウントは、第一のチャネルに関して現在維持されているバックオフ・カウントであってもよく、よって、覚醒パケットは、衝突確率を増すことなく、より速く送信されることができる。
第三の側面の第一の可能な実装では、本方法はさらに:覚醒パケットの送信が不成功であるとき、第二のチャネルに関してCW1を不変のままに保つことを含む。
覚醒パケットの送信が不成功であるとき、第二のチャネルに関してCW1を不変のままに保つことは、第一のノードが、覚醒パケットを送るために、第二のチャネルに関して不変に保たれる競合窓を再び使用するのに比較的長い時間待つ必要がないことを保証できる。これは、覚醒パケットを送る間隔を短縮し、第二のノードの主トランシーバが間に合って覚醒されることができる。
第三の側面または第三の側面の第一の可能な実装を参照するに、第二の可能な実装では、第一のノードは第二のチャネルに関して第二の競合窓CW2を維持し、CW2は、第二のチャネルに関して維持されるCW2_minおよびCW2_maxに基づいて更新され、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送ることの後に、本方法はさらに:覚醒パケットの送信が不成功であるとき、現在のCW2を(CW2+1)*2−1に設定することであって、更新されたCW2はCW2_maxを超えないこと;または覚醒パケットの送信が成功であるとき、CW2をCW2_minにリセットすることを含む。
覚醒パケットの送信が不成功であるときに第二のチャネルに関して維持されているCW2を拡大することは、第一のノードが覚醒パケットを再送するために第二のチャネル上で拡大された競合窓を使うときに、衝突が回避されることを保証し、それにより覚醒パケットの送信の成功率を増す。
第三の側面、第三の側面の第一の可能な実装または第三の側面の第二の可能な実装を参照するに、第三の可能な実装では、CW2_minおよびCW2_maxはアクセスポイントAPによって指定される。
第三の側面、第三の側面の第一の可能な実装、第三の側面の第二の可能または第三の側面の第三の可能な実装を参照するに、第四の可能な実装では、本方法は、第一のノードの主トランシーバが第一のチャネルに戻って802.11フレームを送るとき、第一のチャネルに関して維持されているバックオフ・カウントを読み、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに802.11フレームを送ることを含む。
第三の側面または第三の側面の第一の可能な実装ないし第三の側面の第四の可能な実装のうちいずれか一つを参照するに、第五の可能な実装では、本方法はさらに:任意のアクセス・カテゴリーを選択することまたは覚醒パケットを送るために使われる新たなアクセス・カテゴリーを定義することを含む。
第一のノードは、覚醒パケットを送るために前記アクセス・カテゴリーを独立して選択してもよい。よって、衝突確率を増すことなく、覚醒パケットの送信レイテンシーが短縮されることができる。
第四の側面によれば、ノード覚醒後に最初のフレームを送る方法が提供される。本方法は第二のノードに適用され、本方法は:第一のノードによって送られた覚醒パケットを、第二のノードの覚醒受信器を使って受信して、第二のノードの主トランシーバを覚醒させ;競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに最初のフレームを第二のノードの主トランシーバによって送り;第二のノードの主トランシーバが覚醒された後に第二のノードの主トランシーバが第一のノードに最初のフレームを送るのが不成功であるとき、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送ることを含む。
第二のノードの主トランシーバが覚醒し、最初のフレームを送るのが不成功であるとき、第二のノードの主トランシーバは競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、送信が不成功だったフレームを送り直す。競合窓は、第二のノードによって最初のフレームを送ることのサービス優先度によって決定され、よって、第二のノードは、覚醒後に最初のフレームを送って、第二のノードが覚醒したことを第一のノードに通知するためのレイテンシーを短縮しうる。
第四の側面の第一の可能な実装では、競合窓は、第一のノードによって第二のノードに送られた覚醒パケットにおいて担持される競合窓フィールドによって決定される、またはアクセスポイントAPによってブロードキャストされた覚醒ビーコン・フレームまたはビーコン・フレームにおける競合窓フィールドによって決定される。
第四の側面または第四の側面の第一の可能な実装を参照するに、第二の可能な実装では、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送ることは:競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行すること;または前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行することを含む。
第四の側面、第四の側面の第一の可能な実装または第四の側面の第二の可能な実装を参照するに、第三の可能な実装では、覚醒パケットは、バックオフの仕方を指示するために使われる指示フィールドを担持し、前記指示フィールドの値が第一の値であるときは、前記バックオフの仕方は、競合窓に基づいてバックオフ・カウントを生成し、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行することであり;または前記指示フィールドの値が第二の値であるときは、前記バックオフの仕方は、前記バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに、送信が不成功だったフレームを第一のノードに送る段階を再び実行することである。
第五の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置の前記少なくとも一つのユニットが、第一の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第六の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置の少なくとも一つのユニットが、第二の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第七の側面によれば、覚醒パケットを送る装置が提供される。本装置は少なくとも一つのユニットを含み、覚醒パケットを送るための当該装置の少なくとも一つのユニットが、第三の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第八の側面によれば、ノード覚醒後に最初のフレームを送る装置が提供される。本装置は少なくとも一つのユニットを含み、ノード覚醒後に最初のフレームを送るための当該装置の少なくとも一つのユニットが、第四の側面のノード覚醒後に最初のフレームを送る方法における対応する段階を実装するよう構成される。
第九の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。主トランシーバは、第一の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。主トランシーバは、第二の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十一の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバとを含む。プロセッサおよび主トランシーバは、第三の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十二の側面によれば、ハードウェア・デバイスが提供される。本ハードウェア・デバイスは、プロセッサと、該プロセッサに接続された主トランシーバと、該主トランシーバに接続された覚醒受信器とを含む。覚醒受信器、主トランシーバおよびプロセッサは、第四の側面の覚醒パケットを送る方法における対応する段階を実装するよう構成される。
第十三の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第一の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十四の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第二の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十五の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第三の側面で提供される覚醒パケットを送る方法を実装するために使われる命令を記憶する。
第十六の側面によれば、コンピュータ可読媒体が提供される。該コンピュータ可読媒体は、第四の側面で提供されるノード覚醒後に最初のフレームを送る方法を実装するために使われる命令を記憶する。
本願のいくつかの実施形態に基づく、WLAN配備シナリオの概略的なシステム図である。
本願のいくつかの実施形態に基づく、通常の802.11プロトコルにおける信号受信がない間のモニタリングおよびスリープ・ポリシーの概略図である。
本願のいくつかの実施形態に基づく、覚醒受信器を有する受信端の適用シナリオ図である。
本願のいくつかの実施形態に基づく覚醒パケットのフレーム構造の概略図である。
本願のいくつかの実施形態に基づく覚醒パケットのフレーム構造のもう一つの概略図である。
本願のいくつかの実施形態に基づく第一のデバイスの概略的な構造図である。
本願のいくつかの実施形態に基づく第二のデバイスの概略的な構造図である。
本願のある実施形態に基づく、覚醒パケットを送る方法のフローチャートである。
本願のもう一つの実施形態に基づく、覚醒パケットを送る方法のフローチャートである。
本願のある実施形態に基づく、バックオフ機構を使って覚醒パケットを送ることのフローチャートである。
本願のある実施形態に基づく、バックオフ機構を使って覚醒パケットを送ることのもう一つのフローチャートである。
本願のある実施形態に基づく、第一のノードが第二のノードを覚醒させるプロセスの概略図である。
本願のある実施形態に基づく、ノード覚醒後に最初のフレームを送る方法のフローチャートである。
本願のある実施形態に基づく、第二のノードが送信が不成功だったps-pollフレームを再送信する概略図である。
本願のもう一つの実施形態に基づく、第二のノードによる送信が不成功だったps-pollフレームを再送信することの概略図である。
本願のある実施形態に基づく、覚醒パケットを送る装置の概略的な構造図である。
本願のある実施形態に基づく、ノード覚醒後に最初のフレームを送る装置の概略的な構造図である。
本願の目的、技術的解決策および利点を一層明確にするために、下記は付属の図面を参照して詳細に本願の実装をさらに記述する。
本願の実施形態は、無線ローカルエリアネットワーク(英文:Wireless Local Area Network、WLAN)に適用されうる。現在のところ、WLANにおいて使われる標準は電気電子技術者協会(英文:Institute of Electrical and Electronics Engineers、略IEEE)の802.11シリーズである。WLANは複数の基本サービス・セット(英文:Basic Service Set、略BSS)を含んでいてもよい。BSSにおけるネットワーク・ノードはステーションである。ステーションは、アクセスポイント(英文:Access Point、略AP)ステーションおよび非アクセスポイント・ステーション(英文:Non Access Point Station、略非AP STA)を含む。各基本サービス・セットは一つのAPおよび該APに関連付けられている複数の非AP STAを含む。本願の実施形態におけるSTA(英文:Station)はみな非アクセスポイント・ステーションであり、本願の実施形態におけるAPはみなアクセスポイント・ステーションであることを注意しておくべきである。たとえば、図1を参照するに、図1は、一つのアクセスポイントAP(つまり、図1におけるAP 110)および該APに関連付けられている複数のSTA(つまり図1におけるSTA 121、STA 122およびSTA 123)を含んでいる。APは、該APに関連付けられているSTAのすべてと通信しうる。
アクセスポイント・ステーションは無線アクセスポイント、ホットスポットなどとも称される。APは、有線ネットワークにアクセスするために使われるアクセスポイントであり、主として家庭に、あるいは建物もしくはキャンパス内に配備され、数十ないし数百メートルという典型的なカバレッジ半径をもつ。もちろん、APは戸外に配備されてもよい。APは有線ネットワークと無線ネットワークを接続するブリッジと等価である。APの主要な機能は、無線ネットワーク・クライアントを一緒に接続して、無線ネットワークを作り出し、該無線ネットワークをイーサネットに接続することである。具体的には、APはワイヤレスフィデリティー(英文:Wireless Fidelity、略WiFi)チップをもつ端末装置またはネットワーク・デバイスでありうる。時折、APは802.11ax規格をサポートするデバイスであることもある。さらに、任意的に、APは802.11ac、802.11n、802.11g、802.11bおよび802.11aのような複数のWLAN規格をサポートする。
非アクセスポイント・ステーションは、無線通信チップ、無線センサーまたは無線通信端末でありうる。たとえば、非APステーションは、WiFi通信機能をサポートする携帯電話、WiFi通信機能をサポートするタブレット・コンピュータ、WiFi通信機能をサポートするセットトップボックス、WiFi通信機能をサポートするスマートTV、WiFi通信機能をサポートするスマートウェアラブルデバイス、WiFi通信機能をサポートする車載通信デバイスまたはWiFi通信機能をサポートするコンピュータである。任意的に、STAは802.11ax規格をサポートしてもよい。さらに、任意的に、ステーションはさらに、802.11ac、802.11n、802.11g、802.11bおよび802.11aのような複数のWLAN規格をサポートする。
ワイヤレスフィデリティー(英文:Wireless Fidelity、WiFi)ネットワークでは、デバイスのエネルギーのかなりの部分が、信号が受信されないときの傾聴(英文:idle listening)に浪費される。現在のところ、通常の802.11プロトコル(802.11b/a/g/n/acなど)における関係した解決策は、デバイスのスリープ・ポリシー最適化に焦点を当てている。図2における第一の時間軸に示されるように、デバイス(STAなど)が受信および送信するメッセージをもたないとき、連続的なチャネル傾聴がエネルギーのかなりの部分を消費する。よって、図2に示される第二の時間軸では、受信または送信されるデータがないときにはSTAがディープスリープ(英文:Deep Sleep)状態にはいって、連続的傾聴によって引き起こされるエネルギー消費を低減するよう、スリープ・スケジュール(英文:Sleep Schedule)が導入される。しかしながら、STAがディープスリープにあるときは、APはそのSTAと通信できず、APとSTAの間の伝送はSTAが覚醒した後にのみ実行されることができる。STAがディープスリープにある間にAPがSTAにデータを送る必要がある場合、いくらかのレイテンシー(英文:latency)が引き起こされることがありうる。スリープ・スケジュールから帰結する高いレイテンシーを避けるために、STAは通例、受信すべきデータがあるかどうかを検査するために、スリープ・ポリシーに従い、頻繁に覚醒する。これはSTAのスリープ効率を低下させ、受信される必要のある有用なデータがないのにSTAが頻繁に覚醒するとしたら、長時間スリープと比べて、より多くのエネルギーが消費される。
スリープ・ポリシー最適化に加えて、デバイス傾聴において消費されるエネルギーの無駄を減らすもう一つの技術的手段は、低電力の覚醒受信器(英文:Low Power Wake up receiver、略LP-WUR)(本稿では略してWURと称される)を使うことである。この手段の中核概念は、通常の802.11トランシーバ端(802.11 main radio、802.11主トランシーバまたはWiFi主トランシーバとも称される)に加えて、受信端デバイス(たとえばSTA)がさらに、低電力の覚醒受信器を含むということである。図3に示されるように、STAの802.11主トランシーバ・モジュールがディープスリープ状態にはいるとき、低電力WURが覚醒し、機能しはじめる。別のデバイス(たとえば図3の左部分のAP)がWURおよび802.11主トランシーバをもつデバイス(たとえば図3の右部分のSTA)と通信する必要がある場合、APはまずWUR覚醒パケット(英文:Wake up packet、略WUP)をSTAのWURに送り、STAのWURが、WURに送られたWUPを正しく受信した後、STAの802.11主トランシーバを覚醒させ、次いでWURはスリープに切り換わる。APはSTAの覚醒した802.11主トランシーバと通信する。STAの802.11主トランシーバは、APとの通信を完了した後、スリープ状態にはいり、STAのWURが覚醒して、STAの802.11主トランシーバを覚醒させるようWURに送られるWUPがあるかどうかを再び傾聴しはじめる。
この技術は、媒体がアイドルであるときにチャネルに傾聴するために802.11主トランシーバを使う代わりに低電力のWURを使う(ここで、傾聴/受信状態におけるWURのエネルギー消費は802.11主トランシーバの約0.1ないし1%、つまり100uW未満であると期待される)。これは事実上、デバイス傾聴のためのエネルギー消費の浪費を減らすことができる。
低電力消費を実現するために、WURの回路構造、フレーム構造設計(たとえばWUP)などは比較的単純であり、それほど複雑でないことが必要である。たとえば、WUR回路構造はエネルギー検出(英文:energy detect)部および無線周波数(英文:radio frequency、略RF)部のみを含んでいてもよく、よって、いくつかの複雑な変調方式については復調が実行できない。これに鑑み、WUPはオンオフ・キーイング(英文:On-Off Keying、略OOK)、バイナリー位相シフト・キーイング(英文:Binary Phase Shift Keying、略BPSK)または周波数シフト・キーイング(英文Frequency Shift Keying、略FSK)のような実装が単純な変調方式を使ってもよい。
図4Aは、可能なWUPフレーム構造を示している。WUPフレーム構造はレガシー802.11プリアンブル(英文:Legacy 802.11 preamble)で始まり、よってレガシー802.11プリアンブルは周囲の802.11デバイスによってパースにより取り出されることができ(プリアンブルを読んだ周囲の802.11デバイスは時間内にチャネルを占有しない)、覚醒パケットのその後の部分が通常の802.11デバイスによって干渉されることから保護される。WUPフレーム構造におけるレガシー802.11プリアンブルに続いて、WUP内のペイロード(英文:payload)部がOOK変調になっており、WURによってのみ、パースにより取り出されることができる。この部分は覚醒プリアンブル(英文:Wake-Up Preamble)、MACヘッダ(英文:MAC Header)、フレーム・ボディ(英文:frame body)およびフレーム検査シーケンス(英文:Frame Check Sequence、略FCS)を含んでいてもよい。
覚醒プリアンブルは、WUP信号を識別するために使われる。MACヘッダは、異なるWURを区別するために使われるWUR IDを含んでいてもよい。フレーム・ボディは他の情報を担持してもよい。フレーム検査シーケンスは、受信されたデータと送信されたデータとの間の一貫性を保証するために使われる。ここでのWUR ID情報とは、部分的なまたは完全なステーション関連付け識別子もしくはAPによってステーションに割り当てられたWUR識別子、または受信MACアドレスもしくはステーションの部分的な受信MACアドレス、または異なるステーションの間で区別するために使用できる他のWUR情報でありうる。さらに、WURペイロード部は狭帯域伝送であってもよい。具体的には、20MHz帯域幅の基本単位で伝送される802.11プリアンブルと異なり、狭帯域はたとえば1MHz、2MHz、4MHz、8MHzおよび16MHzであってもよい。WURペイロード部は20MHz帯域幅の基本単位で伝送されてもよい。
図4Bは、もう一つの可能なWUPフレーム構造を示しており、レガシー802.11プリアンブル、覚醒プリアンブル、信号伝達フィールド、MACヘッダ、フレーム・ボディおよびフレーム検査シーケンスを含んでいる。信号伝達フィールドは、AP識別子、WUR IDおよび変調および符号化指示といった何らかの物理層信号伝達を担持するために使われる。
実際の適用の際には、覚醒パケットを送るデバイスは、APであってもよく、あるいはWiFiホットスポットとしてのはたらきをするデバイスであってもよい。よって、記述の簡単のため、本願の実施形態では、覚醒パケットを送る装置が第一のノードと称され、対応して、覚醒パケットを受信する装置が第二のノードと称される。明らかに、WiFiホットスポットとしてのはたらきをするデバイスが覚醒パケットを受信することもできる。
第一のノードの構造については、図5を参照されたい。図5では、第一のノードは、少なくともプロセッサ510、主トランシーバ520(ここでは802.11主トランシーバ)およびネットワーク・インターフェース530を含んでいてもよい。
プロセッサ510は、一つまたは複数の処理コアを含み、プロセッサ510は、ソフトウェア・プログラムを走らせることによって、さまざまな機能的なアプリケーションおよびデータ処理を実行する。
主トランシーバ520は、別のデバイスと通信するよう、たとえば第二のノードと通信するよう構成される。主トランシーバ520は、802.11フレームを送信または受信するよう構成されてもよい(本明細書における802.11フレームは、そうでないことが特定されていない限り、主トランシーバに対応するチャネル上で伝送されるフレームである)。802.11フレームはデータ・フレーム(英文:data frame)、制御フレーム(英文:control frame)および管理フレーム(英文:management frame)などであってもよい。データ・フレームはデータ伝送のために使われる。制御フレームは、競合期間および無競合期間の終わりの際の肯定受け取り確認およびハンドシェーク通信のために使われる。一般的な制御フレームは、pollフレーム、受け取り確認(英文:ACK)フレームなどを含む。管理フレームはSTAとAPの間のネゴシエーションおよび関連付け、認証および同期などの関係制御のために使われる。一般的な管理フレームはビーコン(英文:beacon)フレーム、探査要求(英文:probe request)フレーム、探査応答(英文:probe response)フレームなどを含みうる。
さらに、主トランシーバ520は、覚醒パケットを別のデバイスに送るよう構成されていてもよい。
任意的に、主トランシーバ520は、媒体アクセス・コントローラ(英文:medium access controller)、ベースバンド・チップ、無線周波モジュール、電力増幅器およびアンテナを含んでいてもよい。
主トランシーバ520は、プロセッサ510に接続される。別のデバイスによって送られたフレームを受信した後、主トランシーバ520は受信されたフレームを処理のためにプロセッサ510に送る。主トランシーバ520はチャネルを傾聴してもよく、プロセッサ510によってカプセル化された覚醒パケットまたは802.11フレームをアンテナを使って送るために、該チャネルの傾聴状態に基づいて適切な時点を選択してもよい。
任意的に、送られる必要のある802.11フレームのために使われる第一のチャネルがアイドルであるとき(第一のチャネルがアイドルであることは、仮想キャリア・センスおよび物理的キャリア・センスの両方を通じて判別される)、主トランシーバ520は、バックオフ機構に従って802.11フレームを第一のチャネル上で前記アンテナを使って送ってもよい。
任意的に、送られる必要のある覚醒パケットのために使われる第二のチャネルがアイドルであるとき、主トランシーバ520は、前記バックオフ機構に従って覚醒パケットを第二のチャネル上で前記アンテナを使って送ってもよい。
ある実装では、主トランシーバ520が第一のチャネル上でのみ仮想キャリア・センスを実行するまたは第二のチャネル上では仮想キャリア・センスを実行できない場合、主トランシーバ520が仮想キャリア・センスを通じて第一のチャネルがアイドルであることを判別し、物理的キャリア・センスを通じて第二のチャネルがアイドルであることを判別するとき、主トランシーバ520は、バックオフ機構に従って、第二のチャネル上で覚醒パケットをアンテナを使って送ってもよい。
もう一つの実装では、第一のチャネルおよび第二のチャネルの両方が仮想キャリア・センスを通じて傾聴されることができる場合、仮想キャリア・センスおよび物理的キャリア・センスの両方を通じて第二のチャネルがアイドルであることを判別するとき、主トランシーバ520は、バックオフ機構に従って、第二のチャネル上で覚醒パケットをアンテナを使って送ってもよい。
ネットワーク・インターフェース530はイーサネット・インターフェースまたは有線ネットワーク・インターフェースでありうる。
任意的に、第一のノードはさらにメモリを含んでいてもよく、該メモリはプロセッサ510および主トランシーバ520の両方に接続される。たとえば、メモリはプロセッサ510および主トランシーバ520に、バスを使って接続されてもよい。メモリは、ソフトウェア・プログラムおよびモジュールを記憶するよう構成されていてもよい。
任意的に、メモリは、任意の型の揮発性または不揮発性記憶デバイスまたはそれらの組み合わせ、たとえば静的ランダムアクセスメモリ(英文:static random access memory、略SRAM)、電気的に消去可能なプログラム可能型読み出し専用メモリ(英文:electrically erasable programmable read-only memory、略EEPROM)、消去可能なプログラム可能型読み出し専用メモリ(英文:erasable programmable read only memory、略EPROM)、プログラム可能型読み出し専用メモリ(英文:programmable read only memory、略PROM)、読み出し専用メモリ(英文:read-only memory、略ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクを使って実装されうる。
当業者は、図5に示される第一のノードの構造が第一のノードに対する限定をなすものではないことおよび第一のノードが図に示したものより多数または少数の部分またはいくつかの部分の組み合わせまたは異なる配置にされた部分を含んでいてもよいことを理解しうる。
第二のノードの構造については、図6を参照されたい。図6では、第二のノードは、少なくともプロセッサ610、主トランシーバ620(ここでは802.11主トランシーバ)、覚醒受信器630およびネットワーク・インターフェース640を含んでいてもよい。
プロセッサ610は、一つまたは複数の処理コアを含み、プロセッサ610は、ソフトウェア・プログラムを走らせることによって、さまざまな機能的なアプリケーションおよびデータ処理を実行する。
主トランシーバ620は、別のデバイスと通信するよう、たとえば第一のノードと通信するよう構成される。主トランシーバ620は、802.11フレームを送信または受信するよう構成されてもよい。
任意的に、主トランシーバ620は、媒体アクセス・コントローラ、ベースバンド・チップ、無線周波モジュール、電力増幅器およびアンテナを含んでいてもよい。主トランシーバ620は、プロセッサ610に接続され、プロセッサ610によってカプセル化されたフレームを別のデバイスに送るまたは別のデバイスによって送られたフレームをプロセッサ610に送る。
任意的に、覚醒受信器630が主トランシーバ620に接続され、覚醒受信器630は覚醒パケットを受信し、覚醒パケット受信後に主トランシーバ620を覚醒させ、主トランシーバ620を覚醒させた後にスリープ状態にはいってもよい。任意的に、覚醒受信器630は主トランシーバ620には接続されず、覚醒受信器630はプロセッサ610に接続され、覚醒受信器630は覚醒パケットを受信して、プロセッサ610に、主トランシーバ620を覚醒させるよう通知してもよい。
覚醒後、主トランシーバ620は、バックオフ機構に従って、覚醒パケットの送信端にフレームを送って、第二のノードが覚醒したことを送信端に通知する。さらに、主トランシーバ620は、チャネルを傾聴して、別のデバイスによって送られた802.11フレームを受信してもよい。主トランシーバ620が受信または送信すべきデータをもたないとき、主トランシーバ620はスリープ・モードにはいり、覚醒受信器630は覚醒パケットを受信するために覚醒する。
ネットワーク・インターフェース640はイーサネット・インターフェースまたは有線ネットワーク・インターフェースでありうる。
任意的に、第二のノードはさらにメモリを含んでいてもよく、該メモリはプロセッサ610、主トランシーバ620および覚醒受信器630に接続される。たとえば、メモリはプロセッサ610、主トランシーバ620および覚醒受信器630に、バスを使って接続されてもよい。メモリは、ソフトウェア・プログラムおよびモジュールを記憶するよう構成されていてもよい。
任意的に、メモリは、任意の型の揮発性または不揮発性記憶デバイスまたはそれらの組み合わせ、たとえばSRAM、EEPROM、EPROM、PROM、ROM、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクを使って実装されうる。
当業者は、図6に示される第二のノードの構造が第二のノードに対する限定をなすものではないことおよび第二のノードが図に示したものより多数または少数の部分またはいくつかの部分の組み合わせまたは異なる配置にされた部分を含んでいてもよいことを理解しうる。
さらに、第一のノードがWiFiホットスポットとして使われる携帯電話である場合、覚醒受信器630の機能と同様の機能をもつ覚醒受信器が第一のノードにも配置されてもよい。第一のノードが覚醒受信器をもつかどうかは、本願の実施形態において限定されない。
通例、データを送る前に、ステーションはステーションについてNAVが設定されているかどうかを考慮し、チャネルを傾聴し、チャネルがアイドルであるかどうかを判定する必要がある。ステーションについてNAVが設定されておらず、検出されたチャネルがアイドルであるとき、ステーションはXIFS(英文全称:X inter frame space)時間にわたって傾聴する。その時間内にチャネルがアイドルである場合、ステーションはバックオフを実行し、カウントが0まで戻った後にのみ、データを送るためにチャネルを占有する。ここでのXIFS時間は、送られるべきサービスの型に関係している。具体的には、ACK、ブロックAckフレーム、CTS(英文全称:clear to send)フレームのような応答フレームが送られる場合は、XIFS時間はSIFS(英文全称:short IFS)時間であり、ステーションはこの場合にはバックオフを実行する必要がなく、フレームを送るために直接、チャネルを占有する。ビーコン・フレーム(本願でのビーコン・フレームは、そうでないことが指定されない限り、主トランシーバに対応するチャネル上で伝送されるビーコン・フレーム、つまり802.11ビーコン・フレームである)が送られる場合は、XIFS時間はPIFS(PCF(英文全称:Point coordinate function) IFS)時間であり、ステーションはこの場合にはバックオフを実行する必要がなく、フレームを送るために直接、チャネルを占有する。通常の非QoS(英文全称:quality of service)データが送られる場合は、XIFS時間はDIFS(DCF(英文全称:Distributed coordinate function) IFS)時間であり、ステーションはバックオフを実行し、通常のバックオフ・カウントが0に戻った後にのみ、フレームを送るためにチャネルを占有する。通常のQoSデータのフレームが送られる場合は、XIFSはAIFS(英文全称:arbitration IFS)時間であり、ステーションはバックオフを実行し、バックオフ・カウントが0に戻った後にのみ、フレームを送るためにチャネルを占有する。QoSデータはAC_BK(background〔バックグラウンド〕)、AC_BE(Best effort〔ベストエフォート〕)、AC_VI(video〔ビデオ〕)およびAC_VO(voice〔音声〕)に分類される。データの異なるアクセス・カテゴリーについて、AIFS時間は異なり、バックオフ・カウントは異なる。AIFS時間は別個にAIFS[AC_BK]、AIFS[AC_BE]、AIFS[AC_VI]およびAIFS[AC_VO]であり、バックオフ・カウントは別個にbackoff[AC_BK]、backoff[AC_BE]、backoff[AC_VI]およびbackoff[AC_VO]である。
SIFS<PIFS<DIFS=AIFS[AC_VO]<AIFS[AC_VI]<AIFS[AC_BE]<AIFS[AC_BK]であり、これは種々のサービスの優先度を反映しうる。
実際の適用の際、第二のノードの主トランシーバおよび覚醒受信器は異なるチャネル上で機能しうる。しかしながら、第一のノードの主トランシーバは通例、デフォルトにより、第二のノードの主トランシーバが機能する第一のチャネル(つまり、802.11フレームが伝送されるチャネル)を傾聴し、第一のチャネル上のフレームに基づいて、第一のノードのネットワーク割り当てベクトル(英文:network allocation vector、略NAV)を設定する。これは仮想キャリア・センスと称される。換言すれば、第一のノードのNAVは、第一のチャネル上のフレームに基づいて設定される。したがって、第一のノードの主トランシーバが覚醒パケットを送る必要があるとき、主トランシーバはまず、第一のノードについてNAVが設定されているかどうかを判定する。第一のノードについてNAVが設定されていないときは、主トランシーバはさらに、第二のノードの覚醒受信器が機能する第二のチャネルがアイドルであるかどうかを傾聴する。第二のチャネルがアイドルであることを検出するとき、主トランシーバは第二のチャネル上で覚醒パケットを送る。明らかに、第一のチャネル上のフレームを使って第一のノードについてNAVが設定されているときは、第二のチャネルがアイドルであるにもかかわらず、主トランシーバは覚醒パケットを送ることができない。結果として、第一のノードの主トランシーバは、第二のチャネルがアイドルであるときに間に合って覚醒パケットを第二のノードに送ることができず、間に合って第二のノードの主トランシーバを覚醒させることができない。
したがって、第二のノードの主トランシーバおよび覚醒受信器が異なるチャネル上で機能しうることを考えて、本願の実施形態では、第一のノードによって覚醒パケットを送る二つの仕方が提案される。それらの仕方は図7および図8に示される段階において別個に記述される。
ある実装では、第一のノードはNAVを設定するために第二のチャネル上のフレームを使うことができない。換言すれば、第一のノードは、第一のチャネル上のフレームのみを使ってNAVを設定することができる。この場合、第一のノードは指定されたNAVを無視してもよく、第一のノードが第二のチャネルがアイドルであることを検出するときに第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。詳細については図7を参照されたい。
図7は、本願のある実施形態に基づく、覚醒パケットを送る方法のフローチャートである。覚醒パケットを送る本方法は、図5に示される第一のノードに適用され、覚醒パケットを送る本方法は以下の段階を含む。
段階701。第一のノードについてNAVが設定されているかどうかを検出する。ここで、NAVは第一のチャネルに対して設定される。
第一のノードに送られているのでないフレームを第一のチャネル上で受信するとき、第一のノードは、そのフレーム内の継続時間フィールドによって示される継続時間に基づいてNAVを設定する。具体的には、継続時間フィールドによって示される継続時間が指定されたNAVの継続時間(0、つまりNAVが設定されていない場合を含む)より大きい場合は、NAVはその継続時間フィールドによって示される継続時間に更新され、あるいは継続時間フィールドによって示される継続時間が指定されたNAVの継続時間以下である場合は、NAVは不変のままに保たれる。ここで、第一のチャネルは第二のノードの主トランシーバが機能するチャネルである。通例、主トランシーバのチャネルは主要20MHzチャネルを含み、さらに副次20MHzチャネル、副次40MHzチャネルおよび副次80MHzチャネルなど主要20MHzチャネルの拡張を含んでいてもよい。
ある実装では、第一のノードは覚醒受信器を含まなくてもよい。たとえば、第一のノードがAPであるとき、第一のノードは通例、覚醒受信器を含まない。この場合、第一のノードは通例、デフォルトにより第一のノードの主トランシーバを使って第一のチャネルを傾聴する。主トランシーバの機能の限界のため、第一のノードの主トランシーバは、第一のチャネルおよび第二のチャネルを同時に傾聴しないことがありうる。この場合、第一のノードは、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいてNAVを設定する。ここで、第二のチャネルは第二のノードの覚醒受信器が機能するチャネルであり、通例、4MHzチャネル、5MHzチャネル、8MHzチャネル、10MHzチャネルまたは16MHzチャネルなどの狭いチャネルである。
通例、別のデバイスがチャネルを占有することを避けるために、第一のチャネル上で802.11フレームを送るとき、デバイスは、フレーム内の継続時間フィールドにおいて継続時間を設定する。継続時間は、そのフレームを送るデバイスがその継続時間内はそのチャネルを占有することを示す。そのフレームを検出するとき、別のデバイスはその継続時間内はバックオフを実行する必要がある。すなわち、該別のデバイスは第一のチャネル上でフレームを送らない。したがって、第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上の前記フレームが継続時間フィールドを担持していることを検出し、第一のノードはそのフレーム内の継続時間フィールドに基づいて第一のノードのNAVを設定して、第一のノードが継続時間フィールドによって示される継続時間内にそのチャネルを占有することから帰結する衝突を避ける。NAVの値は継続時間フィールドの値と同じである。次いで、第一のノードはNAVの値と同じ計時継続時間をもつタイマーを設定する。タイマーが満了になる前には、第一のノードは第一のチャネル上でフレームを送らない。タイマーが満了になった後、第一のノードはNAVをゼロにリセットする。次いで、第一のノードの主トランシーバは第一のチャネル上でフレームを送ってもよい。
任意的に、第一のノードは、第一のノードをターゲットとしてではなく第一のチャネル上で送られたフレーム内の継続時間フィールドに基づいて、指定されたNAVの値を更新する。たとえば、第一のノードが、第一のチャネル上のフレーム内の継続時間フィールドが、指定されているNAVの値より大きいことを検出するとき、第一のノードは、指定されているNAVの値を新たに検出されたフレーム内の継続時間フィールドの値に更新し、タイマーの計時継続時間は相応して増大する。そうでないときは、NAVは不変のままにされる。
別の実装では、第一のノードは覚醒受信器である。たとえば、第一のノードはWiFiホットスポットとしてのはたらきをする携帯電話である。携帯電話は通例、APによって送られる覚醒パケットを受信するために覚醒受信器を含んでいてもよい。この場合、第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいてNAVを設定する。第二のチャネル上の覚醒パケットが指定されるNAVの継続時間フィールドをもたず、覚醒受信器が802.11フレームをパースして取り出せないときは、NAVはいまだ、第二のチャネル上のフレームによって第一のノードについて設定されない。すなわち、第一のノードは、第一のチャネル上のフレームによって設定されたNAVのみを記憶することができる。
上記の二つの実装から、第一のノードが、第一のチャネル上のフレームによって設定されたNAVのみを記憶することがわかる。よって、第一のノードについてNAVが設定されていることが検出される場合、そのことは、第一のチャネル上のフレームがそのチャネルを占有していることを示す。
段階702。第一のノードについてNAVが設定されているとき、NAVを無視し、第二のチャネルがアイドルであるかどうかを傾聴する。
第一のノードについてNAVが設定されている場合、そのことは、第一のチャネル上のフレームがそのチャネルを占有していることを示すだけである;第二のチャネルがアイドルであれば、第一のノードはいまだ、第二のチャネル上で覚醒パケットを送ることができる。よって、第一のノードについてNAVが設定されているとき、第一のノードはNAVを無視して、いまだ、第二のチャネルがアイドルであるかどうかを傾聴することができる。
任意的に、第一のノードが覚醒受信器を含まないときは、第一のノードの主トランシーバが一時的に、第二のチャネルがアイドルであるかどうかを傾聴してもよい。
任意的に、第一のノードが覚醒受信器を含むときは、第一のノードの覚醒受信器が、第二のチャネルがアイドルであるかどうかを傾聴してもよい。
段階703。第二のチャネルがアイドルであることを検出するとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送る。
第二のチャネルがアイドルであることを検出するとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。
まとめると、覚醒パケットを送るための本方法によれば、第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、デフォルトにより第一のチャネルが傾聴される。第一のチャネル上のフレームによって第一のノードについてNAVが設定されていることおよび第二のチャネルがアイドルであることを第一のノードが検出するとき、第一のノードはいまだ、第二のチャネル上で第二のノードに覚醒パケットを送って、第二のノードの主トランシーバを覚醒させることができる。このことは、第二のノードの主トランシーバが、第二のチャネルがアイドルである時間において覚醒されることができることを実現する。
もう一つの実装では、第一のチャネル上のフレームによって第一のノードについて第一型NAVが設定されていてもよく、第二のチャネル上のフレームによって第二型NAVが設定されてもよい。換言すれば、第一のノードは二つの型のNAVを記録する。この場合、第一のノードが第二型NAVを設定せず、第二のチャネルがアイドルであることを検出するとすると、第一のノードは、第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。詳細については図8を参照されたい。
NAVの各型は少なくとも一つのNAVを含む。たとえば第一型NAVについて、802.11axはBSS間NAVおよびBSS内NAVを含み、802.11a/n/acは一つの第一型NAVのみを含む。もう一つの例として、第二型NAVについて、覚醒受信器が複数の機能するチャネルをもつが、主要機能チャネルをもたない場合には、複数の対応する第二型NAVがある。覚醒受信器が複数の機能するチャネルをもち、主要機能チャネルがある場合には、一つの対応する第二型NAVがある。
図8は、本願のもう一つの実施形態に基づく、覚醒パケットを送る方法のフローチャートである。覚醒パケットを送る本方法は、図5に示される第一のノードに適用され、覚醒パケットを送る本方法は以下の段階を含む。
段階801。第一のノードについて第二型NAVが設定されているかどうかを検出する。ここで、第二型NAVは第二のチャネルに対して設定される。
第二のチャネルは、第二のノードの覚醒受信器が機能するチャネルであり、第二のチャネルは第二のノードの主トランシーバが機能する第一のチャネルとは異なる。
ある実装では、第一のノードは覚醒受信器を含まなくてもよい。この場合、第一のノード主トランシーバが比較的強い傾聴機能をもっていれば、第一のノードの主トランシーバは、第一のチャネルおよび第二のチャネルの両方を傾聴し、第一のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいて第一型NAVを設定し、第二のチャネル上のフレーム内の継続時間フィールドによって示される占有継続時間に基づいて第二型NAVを設定してもよい。第一のチャネルは、第二のノードの主トランシーバが機能するチャネルである。
別の実装では、第一のノードは覚醒受信器を含んでいてもよい。第一のノードの主トランシーバは第一のチャネルを傾聴し、第一のチャネル上のフレーム内の継続時間フィールドの値に基づいて第一型NAVを設定する。第一のノードの覚醒受信器は第二のチャネルを傾聴し、第二のチャネル上のフレーム内の継続時間フィールドの値に基づいて第二型NAVを設定する。第一のチャネルは第二のノードの主トランシーバが機能するチャネルである。
換言すれば、第一のチャネル上のフレームが継続時間フィールドを担持していてもよく、第一のノードは、第一のチャネル上のフレーム内に担持される継続時間フィールドに基づいて第一のノードの第一型NAVを設定する;第二のチャネル上のフレームも継続時間フィールドを担持していてもよく、第二のノードは、第二のチャネル上の覚醒パケット内に担持される継続時間フィールドに基づいて第二のノードの第二型NAVを設定する。この場合、第一のノードの主トランシーバが第一のチャネル上でフレームを送る必要があるときは、主トランシーバは第一型NAVを参照し、第一のチャネルがアイドルであるかどうかを考慮してもよい;あるいは第一のノードの主トランシーバが第二のチャネル上で覚醒パケットを送る必要があるときは、主トランシーバは第二型NAVを参照し、この場合は第一のチャネルがアイドルであるかどうかにはかかわりなく、第二のチャネルがアイドルであるかどうかを考慮してもよい。
実際の適用の際には、第一のノードは通例、第一のチャネル上のフレームのみに基づいて一つの第一型NAVを設定するが、第二のチャネルの状態に基づいて少なくとも一つの第二型NAVを設定してもよい。複数の第二のノードの覚醒受信器が異なる第二のチャネル上で機能するとすると、第一のノードがそれぞれの第二のチャネルを傾聴するとき、これらの第二のチャネルのうちで主要な機能するチャネルがない場合には、第一のノードは、これらの第二のチャネル上のフレームを使うことによって複数の第二型NAVを設定する。これらの第二のチャネルのうちで主要な機能するチャネルがある場合には、第一のノードは、該主要な機能するチャネル上のフレームを使うことによって一つの第二型NAVを設定してもよい。
段階802。第一のノードが第二型NAVを設定しないときは、第二のチャネルがアイドルであるかどうかを傾聴する。
第一のノードが第二型NAVを設定しないとき、そのことは、第二のチャネル上のフレームが、占有されるチャネルを指示しないことを示す。第二のチャネル上のいくつかのフレームが継続時間フィールドを示さないことを避けるために、この場合、第一のノードはさらに、第二のチャネルがアイドルであるかどうかを傾聴する必要がある。
同様に、第一のノードが第二のチャネルがアイドルであるかどうかを傾聴するとき、第一のノードが覚醒受信器を含まない場合には、第一のノードの主トランシーバが、第二のチャネルがアイドルであるかどうかを傾聴し;第一のノードが覚醒受信器を含む場合には、第一のノードの覚醒受信器が、第二のチャネルがアイドルであるかどうかを傾聴し、次いで、傾聴結果を第一のノードの主トランシーバに送る。明らかに、第一のノードの覚醒受信器は、第一のノードの主トランシーバに第二のチャネルの傾聴結果を直接送ってもよく、あるいは第一のノードのプロセッサを使うことによって第一のノードの主トランシーバに傾聴結果を転送してもよい。
段階803。第二のチャネルがアイドルであるとき、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送る。
第一のノードが第二型NAVを設定せず、第二のチャネルがアイドルであることを検出するときは、仮想キャリア・センスおよび物理的キャリア・センスを通じて、第二のチャネルがアイドルであることが判別される。この場合、第一のノードの主トランシーバは第二のチャネル上で第二のノードに覚醒パケットを送ってもよい。
まとめると、覚醒パケットを送るための本方法では、第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルと異なるとき、第一のチャネルおよび第二のチャネルの両方が傾聴される。第二のチャネル上のフレームを使うことによって第一のノードについてNAVが設定されていないことおよび第二のチャネルがアイドルであることを第一のノードが検出するとき、第一のノードは、第二のチャネル上で第二のノードに覚醒パケットを送って、第二のノードの主トランシーバを覚醒させてもよい。このことは、第二のノードの主トランシーバが、第二のチャネルがアイドルである時間において覚醒されることができることを実現する。
たとえば、第一のノードはAPである。APはネットワーク負荷情報を知り、APは、APが下りリンク・サービスをステーションに送る必要があるので、対応するステーションを覚醒させることをトリガーする。第二のチャネルがアイドルであり、そのことが仮想キャリア・センスおよび物理的キャリア・センスの両方によって判別され、APが第一のチャネルに関してのみ競合窓を維持するとき、APはバックオフを実行するためにアクセス・カテゴリー(サービス優先度とも称される)を独立して選択しうる。換言すれば、APは、覚醒パケットを送るために任意のアクセス・カテゴリーを独立して選択する。具体的には、APは、該アクセス・カテゴリーに基づいて、傾聴されるXIFS(X inter frame space)継続時間およびバックオフ・カウントを決定しうる。傾聴されるXIFS継続時間内にチャネルがアイドルであれば、APはバックオフ・カウントに基づいてバックオフを実行し(該バックオフ・カウントは、あるアクセス・カテゴリーに対応する、以前に保持されたバックオフ・カウントである)、バックオフが終了した後、第二のチャネル上で第二のノードに覚醒パケットを送る。
たとえば、XIFS継続時間はPIFS継続時間であってもよく、バックオフ・カウントは非バックオフ・カウント(これはバックオフ・カウントが0であることと等価)であってもよい;あるいはXIFS継続時間はDIFS継続時間であってもよく、バックオフ・カウントは通常のバックオフ・カウントであってもよい;あるいはXIFS継続時間はAIFS[AC]であってもよく、バックオフ・カウントはバックオフ・カウントbackoff[AC]であってもよい。ACはAC_BKまたはAC_BEまたはAC_VIまたはAC_VOである。
第二のノードの主トランシーバが機能する第一のチャネルが第二のノードの覚醒受信器が機能する第二のチャネルとは異なることを考え、第一のノードは第一のチャネルに関する競合窓(英文:contention window〔コンテンション・ウインドー〕、略CW)を維持する。競合窓は、第一の競合窓CW1と表わされてもよい。初めて第二のチャネル上で覚醒パケットを送る前に、第一のノードは、第一のチャネル上で維持されている競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で初めて覚醒パケットを送ってもよい。
覚醒パケットの送信が不成功である場合、第一のノードは第二のチャネルに関する競合窓CW1を不変のままに保持し、あるいは第二のチャネル上での周波数衝突を避けるために、第二のチャネルに関して第一のノードによって維持される競合窓は可変競合窓であってもよい。
ある実装では、第一のノードは、第二のチャネルに関する不変な第二の競合窓CW2を維持する。覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して現在維持されている第一の競合窓を、第二のチャネルに関して維持される初期競合窓として使い、第一の競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一の競合窓は第二のチャネルに関して不変のままに保たれ、第一の競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で第二のノードに覚醒パケットを送る段階を再び実行する。換言すれば、覚醒パケットの送信が不成功である場合には、第二のチャネルに関して第一のノードによって維持される第一の競合窓は不変のままに保たれる。
バックオフ中に第二のチャネルがビジーである場合、第一のノードはバックオフ・カウントをサスペンドし、第二のチャネルがアイドルになるまで、サスペンドされたバックオフ・カウントに基づいてバックオフを実行する。
たとえば、図9Aを参照するに、覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して維持される第一の競合窓[0,5]を第二のチャネルに関して維持される初期競合窓として決定し、第一の競合窓に基づいてバックオフ・カウント4をランダムに生成し、バックオフ・カウントが0に戻るときに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードはやはり第一の競合窓[0,5]に基づいてバックオフ・カウントをランダムに生成し、ここで、二度目に生成されたバックオフ・カウントは図9Aに示される3であり、バックオフ・カウントが0に戻るときに覚醒パケットを送り直す。
別の実装では、第一のノードは第二のチャネルに関して可変の第二の競合窓CW2を維持する。CW2は、最小競合窓CW2_minから最大競合窓CW2_maxまで拡大されてもよい。初めて覚醒パケットを送るときは、第一のノードは第一のチャネルに関して維持される第一の競合窓CW1を第二のチャネルに関して維持される初期の第二の競合窓CW2として使い、第二の競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいて第二のチャネル上で第二のノードに覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードは第二の競合窓を拡大し、たとえば現在のCW2を(CW2+1)*2−1に設定し、拡大された第二の競合窓が指定されている最大競合窓に等しくなるまで、第二の競合窓を拡大し続けて第二の競合窓CW2を拡大することを止める。覚醒パケットの送信に成功するときは、第一のノードは現在の第二の競合窓を最小の競合窓にリセットする。
バックオフ中に第二のチャネルがビジーである場合、第一のノードはバックオフ・カウントをサスペンドし、第二のチャネルがアイドルになるまで、サスペンドされたバックオフ・カウントに基づいてバックオフを実行する。
たとえば、図9Bを参照するに、覚醒パケットを初めて送るとき、第一のノードは第一のチャネルに関して維持される第一の競合窓[0,5]を第二のチャネルに関して維持される初期の第二の競合窓[0,5]として決定し、第二の競合窓に基づいてバックオフ・カウント4をランダムに生成し、バックオフ・カウントが0に戻るときに第二のチャネル上で覚醒パケットを送る。覚醒パケットの送信が不成功であるとき、第一のノードは第二の競合窓をCW2=(CW2+1)*2−1に基づいて拡大し、ここで、拡大された第二の競合窓は[0,11]であり;拡大された第二の競合窓[0,11]に基づいてランダムにバックオフ・カウントを生成し、ここで、二度目に生成されたバックオフ・カウントは図9Bに示される7であり;バックオフ・カウントが0に戻るときに第二のチャネル上で覚醒パケットを送り直す。
さらに、第一のノードが非APステーションであるとき、第一のノードは、APによってブロードキャストされるビーコン・フレームまたは覚醒ビーコン・フレームを使って、第二のチャネルに関して第一のノードによって維持されているCW2_minおよびCW2_maxを知る。窓パラメータの更新はAPによって決定される。第一のノードがAPステーションであるときは、第二のチャネルに関して第一のノードによって維持されているCW2_minおよびCW2_maxは該APによって独立して決定されるまたは標準もしくはプロトコルによって指定される。
覚醒ビーコン・フレームは、802.11ビーコン・フレームの構造と同様の構造をもち、直列接続された諸要素によって構築される。802.11ビーコン・フレームと同様に、覚醒ビーコン・フレームは周期的にブロードキャストされ、対応する覚醒無線パラメータを含む。覚醒後の主トランシーバが適正に機能することを支援するために、覚醒ビーコン・フレームはいまだ、現行の主トランシーバに対応する主要BSSの変更指示フィールドまたは枢要パラメータを担持する必要がある。
第一のノードの主トランシーバが第二のチャネル上で覚醒パケットを送った後、主トランシーバがいまだ802.11フレームを送る必要がある場合には、第一のノードの主トランシーバはやはり第一のチャネル上に維持されるバックオフ・カウントに基づいて、第一のチャネル上で802.11フレームを送る。
802.11a/n/acプロトコルでは、APはトラフィック指示マップ(英文:traffic indication map、略TIM)フィールドを担持するビーコン・フレームをブロードキャストして、APに関連付けられている個別のステーションに、APがそれらのステーションに送られるべき下りリンク・サービスをもつことを通知する。節電モードにあるステーションがビーコン・フレームを検出した後、ステーションはAPが下りリンク・サービスをステーションに送ろうとしていることを知り、スリープ状態に戻ってもよい。ステーションが覚醒し、APに下りリンク・サービスをステーションに送るよう要求するとき、APはAPにps-pollフレームを送る。ps-pollフレームは、ステーションが覚醒し、APがステーションに下りリンク・サービスを送ってもよいことをAPに通知する。しかしながら、この場合、ps-pollフレームは、同時に覚醒する複数の節電ステーションがより高い優先度を使って同時にチャネルにアクセスするときの衝突を避けるために、優先度AC_BEを使ってチャネルにアクセスする。
しかしながら、覚醒無線の際には、複数のステーションが同時に覚醒するという問題は存在しない。通例、APは単一のステーションまたはいくつかのステーションが覚醒されることを指定する。APが複数のステーションが覚醒されることを指定する場合には、APはトリガー・フレームを送って、それらのステーションが覚醒されたかどうかを一つ一つ問い合わせするまたは複数ユーザー複数入力複数出力(英文:multi-user multiple input multiple output、略MU-MIMO)または直交周波数分割多重アクセス(英文:orthogonal frequency division multiplex access、略OFDMA)のような仕方で前記複数のステーションに同時に問い合わせする。よって、ps-poll、ackフレームまたは探索要求フレームのようなステーション覚醒後に送られる最初のフレームは、より高い優先度をもってチャネルにアクセスしうる。本願は、APがアクセス・カテゴリー・インデックス(英文:access category index、略ACI)をネットワーク負荷情報および他の情報に基づいて制御することを提案する。APは、ビーコン・フレームのようなブロードキャスト・フレームを使ってアクセス・カテゴリー・インデックスをステーションに通知してもよく、あるいは関連付け応答フレームのようなユニキャスト・フレームを使って関連付けステーションに通知してもよい。
図10に示されるように、覚醒したステーションによって送られる最初のフレームはackフレーム、ps-pollフレーム、探査要求フレームなどである。図10では、ps-pollフレームが例として使われる。通常の仕方で、最初のフレームの送信が不成功である場合、競合窓が二倍にされ、新たな窓に基づいてバックオフ・カウントが生成されてバックオフを実行する(物理的キャリア・センスおよび仮想キャリア・センスを通じてチャネルがアイドルであることが判別されるときにAIFS[BE]時間を傾聴するといったアクションはここでは割愛される)。結果として、覚醒したステーションが覚醒パケット送信端に該ステーションがすでに覚醒していることを報告するための長いレイテンシーが引き起こされ、覚醒パケット送信端は、該送信端がステーションがまだ覚醒していないと誤って考えるため、覚醒パケットを再送してしまう。したがって、本願は、ステーションが覚醒したことを覚醒パケット送信ステーションに迅速に通知するようバックオフ手順を修正することを提案する。
図11を参照するに、図11は本願のある実施形態に基づく、ノード覚醒後の最初のフレームを送る方法のフローチャートである。本方法は、図6に示される第二のノードに適用され、第二のノードの主トランシーバが覚醒した後に最初のフレームを送るための方法は、以下の段階を含んでいてもよい。
段階1101。第一のノードによって送られた覚醒パケットを第二のノードの覚醒受信器を使って受信して、第二のノードの主トランシーバを覚醒させる。
第二のノードが第二のノードの主トランシーバを覚醒させるとき、第二のノードの覚醒受信器が第二のノードの主トランシーバを覚醒させてもよく、あるいは第二のノードの覚醒受信器が第二のノードのプロセッサを使って第二のノードの主トランシーバを覚醒させてもよい。
段階1102。第二のノードの主トランシーバを覚醒させ、第一のノードに最初のフレームを送るが不成功だったとき、主トランシーバは競合窓に基づいてバックオフ・カウントを生成し、該バックオフ・カウントに基づいて、送信が不成功だったフレームを第一のノードに送る。
最初のフレームは、第二のノードの覚醒した主トランシーバによって最初の時点で送られるフレームであり、ps-pollフレーム、ackフレームおよび探査要求フレームを含み、データ・フレームに応答しての受け取り確認フレームや、第二のノードの主トランシーバが覚醒した後に第一のノードによって最初の時点においてプロアクティブに送られる送信要求フレームに応答しての送信許可フレームではない。
覚醒した後、第二のノードの主トランシーバは最初のフレームを第一のノードに送る。ここでの最初のフレームはackフレーム、ps-pollフレームまたは探査要求フレームであってもよい。主トランシーバが最初のフレームを送るが不成功であるとき、第二のノードは覚醒パケットに担持される競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを、第二のノードの主トランシーバを使って第一のノードに送ってもよい。
第二のノードによって送られる覚醒パケットのアクセス・カテゴリーは、第一のノードによって送られる覚醒パケットにおいて担持されるアクセス・カテゴリー・フィールドまたはAPによってブロードキャストされる覚醒ビーコン・フレームおよび802.11ビーコン・フレームにおけるアクセス・カテゴリー・フィールドまたはAPによって送られる関連付け応答フレームにおいて担持されるアクセス・カテゴリー・フィールドまたは標準もしくはプロトコルにおいて指定される新たなアクセス・カテゴリーによって決定される。
ある実装では、ここでの競合窓は、第二のノードによって送られる最初のフレームのアクセス・カテゴリーによって決定される。
もう一つの実装では、ここでの競合窓は、第一のノードによって第二のノードに送られる覚醒パケットにおいて担持される競合窓フィールドによって決定される、またはアクセスポイントAPによってブロードキャストされる覚醒ビーコン・フレームもしくはビーコン・フレームにおける競合窓フィールドによって決定される。
まとめると、本願のこの実施形態において提供される第二のノードの主トランシーバの覚醒後に最初のフレームを送るためのこの方法では、第一のノードが諸第二のノードのサービス優先度に基づいて諸ノードのための異なる競合窓を指定してもよい。第二のノードが第一のノードによって指定された競合窓に基づいてバックオフを実行するとき、第二のノードは比較的高い優先度を使ってチャネルにアクセスし、第二のノードが覚醒したことを間に合って第一のノードに通知してもよい。これは、第一のノードによって第二のノードにデータを送るためのレイテンシーを軽減する。
第二のノードの主トランシーバが覚醒して最初のフレームを送るが不成功であるときは、第二のノードに迅速に最初のフレームを成功裏に送らせるために、本願は次の二つの仕方を使う。
第一の仕方では:第二のノードの主トランシーバが送信が不成功だったフレームを第一のノードに送るとき、第二のノードは競合窓に基づいてバックオフ・カウントを生成し、送信が不成功だったフレームをバックオフ・カウントに基づいて第一のノードに送る段階を再び実行する。換言すれば、第二のノードの主トランシーバが覚醒した後に送られたが不成功だったフレームを第二のノードの主トランシーバが再送する必要があるとき、第二のノードは、やはり維持されている競合窓に基づいてバックオフ・カウントを生成し、競合窓は不変のまま保たれる。第二のノードは第一のノードによって覚醒させられ、通例、ある瞬間には一つの第二のノードだけが覚醒させられる。よって、第二のノードが覚醒して最初のフレームを送った後に衝突は存在せず、第二のノードは、衝突頻度を減らすために競合窓を拡大するのではなく、最初のフレームをできるだけ早く成功裏に送るために競合窓を不変のまま保つ。
たとえば、図12Aを参照するに、覚醒した第二のノードによって送られる最初のフレームはps-pollフレームである。覚醒パケット受信後、第二のノードは競合窓[0,7]に基づいてバックオフ・カウント5をランダムに生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送る。ps-pollフレームの送信が不成功である場合、第二のノードは競合窓[0,7]に基づいてバックオフ・カウントをランダムに生成し、ここで、新たなバックオフ・カウントは6であり、新たなバックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送り直す。
第二の仕方では:第二のノードの主トランシーバが送信が不成功だったフレームを第一のノードに送るとき、第二のノードは送信が不成功だったフレームをバックオフ・カウントに基づいて第一のノードに送る段階を再び実行する。換言すれば、第二のノードが維持されている競合窓を使ってバックオフ・カウントを生成した後、第二のフレームが覚醒して最初のフレームを送るが不成功だったとき、第二のノードはその後、いまだ前記バックオフ・カウントに基づいてバックオフを実行し、競合窓は不変のまま保たれる。
たとえば、図12Bを参照するに、覚醒した第二のノードによって送られる最初のフレームはps-pollフレームである。覚醒パケット受信後、第二のノードは競合窓[0,7]を覚醒パケットから取得し、該競合窓に基づいてバックオフ・カウント5をランダムに生成し、該バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わった後にps-pollフレームを第一のノードに送る。ps-pollフレームの送信が不成功である場合、第二のノードはもとのバックオフ・カウント5に基づいてバックオフを実行することを続け、バックオフが終わった後にps-pollフレームを第一のノードに送り直す。
実際の適用の際、第一のノードは覚醒パケットに1ビットの指示フィールドを追加してもよい。この指示フィールドは、バックオフ機構に従って最初のフレームを送るために第二のノードの覚醒した主トランシーバによって使われるバックオフの仕方を示すために使われてもよい。
たとえば、指示フィールドの値が第一の値であるとき、そのことは、第二のノードは競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを第一のノードに送る段階を再び実行することを意味する。
指示フィールドの値が第二の値であるとき、そのことは、第二のノードはバックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに送信が不成功だったフレームを第一のノードに送る段階を再び実行し、競合窓は不変に保たれることを意味する。
もう一つの実装では、第二のノードは最初のフレームを送るためにCW3_minおよびCW3_maxを維持してもよい。CW3_minおよびCW3_maxは、受信された覚醒パケットにおける窓パラメータ・フィールドによって決定される、またはAPによってブロードキャストされる覚醒ビーコン・フレームまたはAPによってブロードキャストされるビーコン・フレームにおける窓パラメータ・フィールドによって決定される。第二のノードが、最初のフレームを送るが不成功だった後に再送信を実行するとき、競合窓の更新のプロセスは、そのために上記の例において第一のノードが覚醒パケットを送るところの競合窓を、第二のチャネル上で維持されているCW3_minおよびCW3_maxに基づいて更新するプロセスと同じである。詳細は本願においてここで繰り返されない。
さらに、実施形態は、APが非APステーションを覚醒させる、非APステーションがAPを覚醒させる、非APステーションが別の非APステーションを覚醒させるなどのシナリオに適用可能であることを注意しておくべきである。しかしながら、実施形態において記載されているビーコン・フレーム(または覚醒ビーコン・フレーム)および関連付け応答フレームは、APによって送られることができるだけである。
ある可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。覚醒パケットを送るための装置は送信ユニットを含んでいてもよく、送信ユニットは少なくとも一つの段階702および段階703の機能を実装するよう構成される。詳細については、上記の方法実施形態を参照されたい。任意的に、本願のこの実施形態において、送信ユニットは図5に示される主トランシーバ520によって実装されてもよい。
もう一つの可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。覚醒パケットを送るための装置は送信ユニットを含んでいてもよく、送信ユニットは段階803の機能を実装するよう構成される。
詳細については、上記の方法実施形態を参照されたい。任意的に、本願のこの実施形態において、送信ユニットは図5に示される主トランシーバ520によって実装されてもよい。
もう一つの可能な実装では、本願はさらに、覚醒パケットを送るための装置を提供する。図13を参照するに、覚醒パケットを送るための装置は、送信ユニット1301および処理ユニット1302を含んでいてもよい。
送信ユニット1301は:第一の競合窓に基づいてバックオフ・カウントを生成し、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに第二のチャネル上で覚醒パケットを第二のノードに送るよう構成される。第二のチャネルは第二のノードの覚醒受信器が機能するチャネルである。
任意的に、送信ユニット1301はさらに:覚醒パケットの送信が不成功であるとき、第二のチャネル上で第一の競合窓を不変に保つよう構成される。
任意的に、第一のノードは第二のチャネル上で第二の競合窓CW2を維持し、CW2は第二のチャネル上で維持される最小競合窓CW2_minおよび最大競合窓CW2_maxに基づいて更新される。
処理ユニット1302は:覚醒パケットの送信が不成功であるとき、現在のCW2を(CW2+1)*2−1に更新するよう構成される。更新されたCW2はCW2_maxを超えない。
処理ユニット1302はさらに:覚醒パケットの送信が不成功であるとき、CW2をCW2_minにリセットするよう構成される。
任意的に、CW2_minおよびCW2_maxはAPによって指定される。
任意的に、送信ユニット1301はさらに:第一のノードの主トランシーバが第一のチャネル上で802.11フレームを送る必要があるとき、第一のチャネル上で維持されているバックオフ・カウントを読み、バックオフ・カウントに基づいてバックオフを実行し、バックオフが終わるときに802.11フレームを送るよう構成される。
任意的に、送信ユニット1301はさらに、覚醒パケットを送るために、任意のサービス優先度を選択するまたは新たなサービス優先度を定義するよう構成される。
詳細については、上記の方法実施形態を参照されたい。
任意的に、本願のこの実施形態において、送信ユニット1301および処理ユニット1302は、図5に示される主トランシーバ520によって実装されてもよい。
上記の実施形態において提供される覚醒パケットを送信するための装置が覚醒パケットを送るとき、上記の諸プログラム・モジュールの分割は単に記述のための例として使われていることを注意しておくべきである。実際の適用の際には、上記の機能は、実装のために必要に応じて異なるプログラム・モジュールに割り当てられてもよい。換言すれば、第一のノードの内部構造は、上記の機能の全部または一部を実装するために異なるプログラム・モジュールに分割される。さらに、上記の実施形態において提供される覚醒パケットを送るための装置および覚醒パケットを送るための方法は同じ概念に属する。具体的な実装プロセスについては、方法実施形態を参照されたい。ここで詳細を繰り返すことはしない。
ある例示的実施形態では、命令を含んでいる非一時的なコンピュータ可読記憶媒体、たとえば命令を含んでいるメモリがさらに提供される。命令は、覚醒パケットを送る方法を実装するために第一のノードのプロセッサおよび主トランシーバによって実行されてもよい。たとえば、非一時的なコンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶デバイスなどであってもよい。
図14を参照するに、図14は、本願のある実施形態に基づく、ノード覚醒後に最初のフレームを送るための装置の概略的な構造図である。ノード覚醒後に最初のフレームを送るための本装置は、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせを使って受信デバイスの全体または一部になりうる。ノード覚醒後に最初のフレームを送るための本装置は受信ユニット1401、覚醒ユニット1402および送信ユニット1403を含んでいてもよい。
受信ユニット1401は、段階1101において第一のノードによって送られた覚醒パケットを受信する機能を実装するよう構成される。
覚醒ユニット1402は、段階1101において第二のノードの主トランシーバを覚醒させる機能を実装するよう構成される。
送信ユニット1403は、段階1102の機能を実装するよう構成される。
詳細については上記の方法実施形態を参照されたい。
任意的に、本願のこの実施形態において、受信ユニット1401および覚醒ユニット1402は図6に示される覚醒受信器630によって実装されてもよく、送信ユニット1403は図6に示される主トランシーバ620によって実装されてもよい。
上記の実施形態において提供されるノード覚醒後に最初のフレームを送るための装置がノード覚醒後に最初のフレームを送るとき、上記の諸プログラム・モジュールの分割は単に記述のための例として使われていることを注意しておくべきである。実際の適用の際には、上記の機能は、実装のために必要に応じて異なるプログラム・モジュールに割り当てられてもよい。換言すれば、第二のノードの内部構造は、上記の機能の全部または一部を実装するために異なるプログラム・モジュールに分割される。さらに、上記の実施形態において提供されるノード覚醒後に最初のフレームを送るための装置およびノード覚醒後に最初のフレームを送るための方法は同じ概念に属する。具体的な実装プロセスについては、方法実施形態を参照されたい。ここで詳細を繰り返すことはしない。
ある例示的実施形態では、命令を含んでいる非一時的なコンピュータ可読記憶媒体、たとえば命令を含んでいるメモリがさらに提供される。命令は、ノード覚醒後に最初のフレームを送るための方法を実装するために第二のノードの覚醒受信器および主トランシーバによって実行されてもよい。たとえば、非一時的なコンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶デバイスなどであってもよい。
本願のある実施形態はさらに、覚醒パケット送信システムを提供する。覚醒パケット送信システムは、第一のノードおよび少なくとも一つの第二のノードを含む。第一のノードは、図13に示される覚醒パケットを送るための装置を含み、第二のノードは、図14に示されるノード覚醒後に最初のフレームを送るための装置を含む。詳細については図13および図14の説明を参照されたい。ここで詳細を繰り返すことはしない。
本稿で使われる技術用語または科学用語は、そうでないことが指定されていない限り、本願の分野の当業者によって理解される一般的な意味をもつべきである。本願の明細書および請求項において使用される「第一」、「第二」および同様の用語は、いかなる序列、数または重要性をも表わさず、異なる構成要素を区別するために使われているだけである。同様に、「一つの」「ある」または同様の用語も数の限定を表わさず、少なくとも一つを意味する。「に接続される」「と接続される」または同様の用語は、物理的または機械接続に限定せず、接続は直接的または間接的な電気接続を含みうる。
本願の明細書および請求項において使用される「送信端」および「受信端」は単に二つの情報を送る端を表わしており、いずれの側の機能をも制限しない。たとえば、送信端は情報を受信することもしてもよく、あるいは他の動作を実行してもよく、受信端は情報を送信することもしてもよく、あるいは他の動作を実行してもよい。明らかに、本願での情報は、任意の型のフレームでありうる。
当業者は、実施形態の段階の全部または一部がハードウェアまたは関係したハードウェアに命令するプログラムによって実装されうることを理解しうる。プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。記憶媒体は読み出し専用メモリ、磁気ディスクまたは光ディスクを含みうる。
上記の記述は単に本願の任意的な実施形態であり、本願を限定することは意図されていない。本願の原理から外れることなくなされる任意の修正、等価な置換または改善は、本願の保護範囲内にはいる。