説明

ワイヤレスセンサネットワークのための非同期通信方法

【課題】ツリー構造を備えるワイヤレスセンサネットワークにおける非同期通信方法を提供する。
【解決手段】ネットワークの各ノードに関して、通信が、一連の時間フレームとして編成され、各フレームは、リッスン段階と、場合により、その後に続く、受信段階および/または送信段階を含む。プリアンブルサンプリングタイプの、この方法は、ノードが、ノードの子ノードに時間窓割当てメッセージを送信する時間予約をノードの子ノードに対して行うことを可能にし、すると、各子ノードは、その子ノードに割り当てられた窓内で少なくとも1つのデータパケットを送信する。パケット間の衝突リスクを最小限に抑えることによって、さらにセンサがスリープに入る時間を最大化することによって、この通信方法は、ネットワーク内の待ち時間と消費をともに低減する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、WSN(ワイヤレスセンサネットワーク)、より詳細には、非同期モードで動作するWSNの分野に関する。
【背景技術】
【0002】
ワイヤレスセンサネットワークは、多種多様な用途で、特に、環境モニタリング、工業プロセス監視、ホームオートメーション監視、道路交通監視、精密農業、侵入検知などのために使用される。
【0003】
一般に、ワイヤレスセンサネットワークは、ノードが測定を自律的に伝送することができるセンサから成る特定目的のネットワークである。各センサは、そのセンサの測定を体系的に、例えば、決められた周期で、またはそのセンサがローカルインテリジェンスを備えている場合、選択的に、例えば、異常を検出すると、伝送することが可能である。その場合、それらの測定のデータは、当該の測定の一部またはすべてを集中化し、場合により、それらの測定を処理する、データシンクとも呼ばれる収集ノードにパケットとして伝送される。これらの測定データパケットは、ネットワーク内のマルチホップルーティングのお陰で収集ノードにルーティングされる。つまり、ネットワークノードは、一般に、測定機能に加えて中継機能もともに有する。
【0004】
図1Aは、単一の収集ノード101を含むワイヤレスセンサネットワークを概略で表す。測定データパケットは、ノード110および111経由で収集ノードにルーティングされ、より正確には、中継される。このネットワークは、ツリー構造を有し、ツリー112のリーフが、測定機能を排他的に有し、ノード110、111が、測定機能と中継機能を同時に保持することが可能であることに留意されたい。このため、このツリーの任意のノードからのパケットデータが、このツリーのルートに位置する収集ノードまで段階的に伝送されることが理解されよう。このツリーのリーフおよびルートを除いて、各ノード110は、親ノード111と、1つまたは複数の子ノード112とを有する。このため、任意のノード110が、そのノードの親ノードに、そのノードが、そのノードの子ノードから受信したパケット、およびそのノード自らのパケットを伝送する。兄弟ノードと呼ばれる同一のノードの子ノードは、それらのノードのデータパケット(自らのデータ、および中継されたデータ)を、それらのノードの親ノードに伝送しようと競っている。
【0005】
所与のノードに関して、関連するノードとは、そのノードの親ノード、そのノードの子ノード、およびそのノードの兄弟ノードを意味する。これらの関連するノード以外の、所与のノードの隣接ノードは、干渉ノード140と呼ばれる。所与のノードの隣接ノードとは、当該のノードにおいて受信される信号電力が、所定のしきい値より高い、ネットワークの任意のノードのことである。実際には、ノードが同一の送信電力を有する同質のネットワークの場合、ノードの隣接ノードは、当該のノードを中心とする円の内側に位置する。
【0006】
図1Bは、複数の収集ノードを含むワイヤレスセンサネットワークを概略で表す。各収集ノードにおいて、センサネットワークのサブネットワークが、ツリー構造で関連付けられていることが可能であり、このツリー構造のルートが、当該の収集ノードである。
【0007】
図1Bに示される例は、図2Aおよび図2Bにそれぞれ表されるサブネットワークに関連する2つの収集ノード101および102を備える。ネットワークのノードは、第1のサブネットワークにおいて、別のノードの親である一方で、第2のサブネットワークにおいて、その同じ別のノードの子であり得ることが理解されよう。このため、2つのノード間の親子関係は、考慮されている収集ノードを基準とする。他方、所与の収集ノードに関して、この収集ノードに関連するサブネットワークの任意のノードは、1つだけの親ノードを有する。
【0008】
センサネットワークノードは、一般に、移動可能であり、したがって、ノードとそのノードの親の間の伝送チャネルの伝搬条件は、時とともに変化することが可能である。さらに、ノード間の親子関係も、異なるノードの動きに依存して、変化することが可能である。
【0009】
ワイヤレスセンサネットワークは、同質タイプと異質タイプの間で区別される。同質タイプのネットワークにおいて、すべてのセンサは、同一の物理的特性、詳細には、同一の送信電力、同一の伝送速度などを有する。反対に、異質タイプのワイヤレスセンサネットワークにおいて、各センサは、場合により、時とともに変化する可能性が高い、異なる特性を有することが可能である。例えば、或るセンサは、監視情報を低いレート(測定データの次の伝送との間の間隔が長い)で伝送し、警報情報を高いレート(警報メッセージのバースト)で伝送することも可能である。
【0010】
最後に、ワイヤレスセンサネットワークは、同期タイプと非同期タイプの間で区別される。同期モードで動作するネットワークにおいて、ネットワークのノードは、共通の時分割に応じた、つまり、ネットワークのすべてのノードに知られているTTI(時間間隔)中の伝送リソースへのアクセスを共有する。他方、非同期タイプのネットワークにおいて、しばしば、移動可能ノードの間で準備的な同期ステップがほとんど考えられない、または不可能でさえあるために、互いの間で同期されない。このため、共通の伝送リソースに非同期にアクセスするのに、より複雑な通信プロトコルが頼りにされなければならない。
【0011】
ワイヤレスセンサネットワークにおいて伝送チャネルに、より正確には、伝送リソースにアクセスを許す通信プロトコルは、そのようなネットワークにおけるリンク層のMACサブレイヤを参照してMACプロトコルとも呼ばれる。
【0012】
いくつかのタイプのMACプロトコルが、最新技術から知られている。
【0013】
B-MACプロトコルは、LPL(低電力リッスン)プロトコルからのプリアンブルサンプリング技術を使用する非同期アクセスプロトコルである。B-MACプロトコルの説明は、Proc. of the 2nd International Conference on Embedded networked sensor systems、米国、ボルチモア、2004年、95〜107頁で発表された、J. Polastre他の「Versatile low power media access for wireless sensor networks」という題名の論文において見られる。B-MACプロトコルにおいて、センサネットワークの各ノードは、非同期で動作し、周期的に以下の連続する状態、すなわち、ウェイクアップ状態、チャネルリッスン状態、およびスリープ状態を経る。2つの連続するウェイクアップ間の間隔は、ノードにかかわらず同一であり、さらに、その上、ネットワークのすべてのノードによって共有される唯一の情報である。第1のノードが第2のノードにデータパケットを伝送することを所望する場合、第1のノードは、2つの連続するウェイクアップ間の間隔(ウェイクアップ周期)より高い周期でプリアンブルを送信して、第2のノードがそのプリアンブルを検出することができることを確実にするようにする。このプリアンブルの終わりに、第1のノードは、ペイロードを即時に送信する。第2のノードは、プリアンブルによって通知されているので、そのパケットが完全に受信されるまで、そのチャネルをリッスンし続ける。
【0014】
B-MACプロトコルの利点は、ネットワークノードの予備的な同期を必要としないことである。しかし、長いプリアンブルの送信は、長い待ち時間とともに、センサへの独立の電源供給とまず両立することのない、高いエネルギー消費をもたらす可能性がある。さらに、ネットワークが比較的高密度である場合、異なるノードのプリアンブル間の衝突リスクが高く、このことは、ネットワークの実効速度をさらに低下させる。
【0015】
B-MAC+と呼ばれる、B-MACプロトコルの改良された代替プロトコルが、Mobile Computing and Wireless Communication International Conference、2006年、1〜6頁で発表されたM. Avvenuti他の「Increasing the efficiency of preamble sampling protocols for Wireless sensor networks」という題名の論文において与えられている。この代替において、プリアンブルは、引き続き送信されるべきプリアンブルの部分のサイズの通知をそれぞれが有する、いくつかのセクションに分割される。このため、受信側ノードは、プリアンブルを検出すると、そのプリアンブルの終わりを特定して、そのパケットのペイロードが受信されるまでスリープに入ることができる。B-MAC+プロトコルは、ノードのエネルギー消費が低減されることを可能にするものの、待ち時間は、B-MACプロトコルの場合と同じ程度に長い。さらに、プリアンブル間の衝突リスクは、依然として高い。
【0016】
待ち時間とエネルギー消費をともに低減するのに、受信側ノードをウェイクアップすることを目的とする長いプリアンブルを、合計の長さが、その長いプリアンブルの長さである、受信側ノードのアドレスをそれぞれが含む短いプリアンブルの列で置き換えることが示唆されている。受信側ノードが短いプリアンブルを検出するとすぐに、受信側ノードは、肯定応答信号(早期ACK)を発信元ノードに送り返す。この肯定応答信号を受信すると、発信元ノードは、短いプリアンブルを送ることを即時に停止し、パケットのペイロードを送信する。X-MACとして知られる、このプロトコルは、Proc. of the 4th International conference on Embedded sensor systems、2006年、307〜320頁で発表されたM. Buettner他の論文、「X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks」によって概説されている。
【0017】
図3は、ワイヤレスセンサネットワークにおけるX-MACプロトコルの例示的な実施形態を示す。310に、受信側ノードにデータパケットを送信することを所望する第1の発信元ノードと関係するタイムチャートが示され、さらに320に、この受信側ノードと関係するタイムチャートが示される。第1の発信元ノードが、短いプリアンブルの列を送信する(311)。321で、受信側ノードが、所与の時点でウェイクアップし(受信側ノードのウェイクアップは、規則的な間隔でスケジュールされる)、322で、受信側ノードのアドレスを含む短いプリアンブルを検出する。受信側ノードは、323で、第1の発信元ノードによって313で受信される検出肯定応答を即時に送り返す。すると、第1の発信元ノードは、プリアンブルの列を送信することを止め、データパケットを送る(314)。このパケットが、324で受信側ノードによって受信される。
【0018】
次に、第2の発信元ノードもまた、同一の受信側にデータパケットを送信することを所望する(例えば、第1のノードおよび第2のノードは、受信側ノードの子ノードである)ものと想定される場合、この第2のノードから発信されるプリアンブルの列と、第1のノードから発信されるデータの間に、両方のノードが非同期で動作することから、衝突が存在することが可能である。この場合、受信側ノードは、誤ったパケットを受信する。
【先行技術文献】
【非特許文献】
【0019】
【非特許文献1】J. Polastre他、「Versatile low power media access for wireless sensor networks」、Proc. of the 2nd International Conference on Embedded networked sensor systems、米国、ボルチモア、2004年、95〜107頁
【非特許文献2】M. Avvenuti他、「Increasing the efficiency of preamble sampling protocols for Wireless sensor networks」、Mobile Computing and Wireless Communication International Conference、2006年、1〜6頁
【非特許文献3】M. Buettner他、「X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks」、Proc. of the 4th International conference on Embedded sensor systems、2006年、307〜320頁
【発明の概要】
【発明が解決しようとする課題】
【0020】
したがって、本発明の目的は、ワイヤレスセンサネットワークにおいて、そのネットワークのノードの低いエネルギー消費を確実にしながら、パケット間の衝突リスクを低減する、非同期通信方法を提供することである。
【課題を解決するための手段】
【0021】
本発明は、ワイヤレスセンサネットワークのための非同期通信方法によって規定され、このネットワークは、ノードが、それらのセンサから成り、さらにルートが、収集ノードから成る少なくとも1つのツリー構造をさらに備え、各ノードは、そのノードの子ノードからデータパケットを受信し、さらにそれらのデータパケットを、そのツリー構造内のそのノードの親ノードに送信するように適合され、ノードによるパケットの送信には、短いプリアンブルと呼ばれる単位プリアンブルの列から成るプリアンブルの送信が先行し、各ノードの通信は、時間フレームの系列に従って編成され、各時間フレームは、リッスン段階(listening phase)と、場合により、その後に続く、受信段階および/または送信段階を備え、ノードは、
リッスン段階中に、プリアンブルが、このノードに、このノードの子ノードの1つによって送信されたかどうかを判定し、さらに、送信されている場合、その子ノードに、ランデブー時刻(rendezvous time)を指定する肯定応答メッセージを即時に送り返し、
リッスン段階の終わりに、少なくとも1つの肯定応答メッセージが送られている場合、受信段階に入り、このノードは、ランデブー時刻に、このノードの子ノードに時間窓を割り当てるためのメッセージをブロードキャストし、さらに、その後、各時間窓の間、この窓が割り当てられている子ノードのデータパケットを受信する。
【0022】
有利には、リッスン段階中に肯定応答メッセージが全く送られていない場合、ノードは、データパケットが、そのノードの送信バッファの中に存在するかどうかを判定し、
存在する場合、そのノードの親ノードに、短いプリアンブルの列から成るプリアンブルを送信し、
存在しない場合、その時間フレームの残りの間、スリープに入る。
【0023】
好ましくは、各短いプリアンブルの送信に続き、ノードは、そのノードの親ノードからの肯定応答メッセージを待ち、さらに
ノードが、そのような肯定応答メッセージを受信した場合、短いプリアンブルの列の送信を即時に終了させ、この肯定応答メッセージから、ランデブー時刻を示す時間情報を抽出して、その後、この時刻までスリープに入り、
ノードが、短いプリアンブルの列の終わりに、肯定応答メッセージを全く受信しなかった場合、その時間フレームの終わりまでスリープに入る。
【0024】
有利な代替によれば、ランデブー時刻に、ノードは、そのノードの親ノードから発信された時間窓割当てメッセージを検出し、このメッセージが、そのノード自らのMACアドレスを含むかどうかを判定し、さらに
含む場合、そのノードに割り当てられた時間窓の開始情報および終了時刻情報を抽出し、この窓の始まりまでスリープに入り、さらにこの窓の間、そのノードの送信バッファの中に格納された少なくともデータパケットを送信し、
含まない場合、その時間フレームの終わりまでスリープに入る。
【0025】
ノードに割り当てられた時間窓の終わりに、ノードは、有利には、その時間フレームの終わりまでスリープに入る。
【0026】
1つの代替の実施形態によれば、受信段階の終わりに、ノードは、そのノードの親ノードがビジーであるかどうかを確認し、
ビジーでない場合、短いプリアンブルの列をそのノードの親ノードに送信し、さらにそのノードの親ノードからの肯定応答メッセージを待ち、
ビジーである場合、その時間フレームの終わりまでスリープに入る。
【0027】
ノードが肯定応答メッセージを受信した場合、ノードは、
短いプリアンブルの送信を終了し、この肯定応答メッセージから、ランデブー時刻を通知する時間情報を抽出し、さらに、その後、この時刻までスリープに入り、
ランデブー時刻に、そのノードの親ノードから発信された時間窓を割り当てるメッセージを検出し、このメッセージが、そのノード自らのMACアドレスを含むかどうかを判定し、さらに、含む場合、そのノードに割り当てられた時間窓の開始時刻情報と終了時刻情報を抽出し、この窓の始まりまでスリープに入り、さらにそのノードの親ノードに、そのノードが、前の受信段階中にそのノードの子ノードから受信した少なくとも1つのデータパケットを送信する。
【0028】
さらに別の代替の実施形態によれば、異なる子ノードにおける時間フレーム割当てが、そのノードの異なる子ノードからそれぞれ発信されたプリアンブルの中で指定される優先レベルに基づいて実行される。
【0029】
この事例において、優先レベルは、サービスクラスタイプに関して、子ノードがモバイルであるか否かに関して、子ノードの送信バッファの中のパケットの数に関して、またはこの送信バッファの中の最も古いパケットの古さに関してさえ表現されることが可能である。
【0030】
ランデブー時刻を指定する時間情報は、所定の周波数でデクリメントされるカウンタ値であることが可能である。
【0031】
さらに、ノードに割り当てられた時間窓の開始時間情報と終了時間情報は、所定の周波数でデクリメントされるカウンタ値であることが可能である。
【0032】
有利には、ノードが、リッスン段階中にそのノードの親ノードからのメッセージを検出すると、ノードは、いずれの送信も終了し、現在のその時間フレームの終わりまでスリープに入る。
【0033】
同様に、第1のノードが、リッスン段階中に、第1のノードと同一の親ノードを有する第2のノードから発信されたプリアンブルを検出すると、第1のノード自体、パケットが第1のノードの送信バッファの中でスタンバイ状態にあるという条件付きで、送信段階を待つことなしに、プリアンブルを送信する。
【0034】
ノードが、リッスン段階中に、そのノードの子ノードからの、プリアンブル以外のパケットを検出した場合、ノードは、リッスン段階をオフにして、現在の時間フレームの終わりまでスリープに入る、または送信段階に直接に切り換わる。
【0035】
ノードが、送信段階中に、そのノードの親ノードからの肯定応答メッセージを待っているのに、この親ノードのプリアンブルを検出した場合、ノードは、現在の時間フレームの終わりまでスリープに入る。
【0036】
第1のノードが、送信段階中に、第1のノードと同一の親ノードを有する第2のノードから発信されたプリアンブルを検出した場合、第1のノードは、第1のノードのプリアンブルの優先レベルが、第2のノードから発信されたプリアンブルの優先レベルより低い場合、第1のノードのプリアンブルの送信をオフにすることを決定し、第1のノードのプリアンブルの優先レベルが、第2のノードから発信されたプリアンブルの優先レベルより低くはない場合、第1のノードのプリアンブルを送信することを続ける。
【0037】
最後に、ノードが、受信段階中、または送信段階中に、子ノードからのプリアンブルまたは時間窓割当てメッセージを検出した場合、ノードは、スリープに入らず、この子ノードのパケットの伝送を待つ。
【0038】
本発明のさらなる特徴および利点は、添付の図面を参照して行われる本発明の好ましい実施形態を読むことで、明白となろう。
【図面の簡単な説明】
【0039】
【図1A】例示的なワイヤレスセンサネットワークを概略で示す図である。
【図1B】例示的なワイヤレスセンサネットワークを概略で示す図である。
【図2A】図1Bの2つの収集ノードに関連するサブネットワークを示す図である。
【図2B】図1Bの2つの収集ノードに関連するサブネットワークを示す図である。
【図3】ワイヤレスセンサネットワークにおけるX-MAXプロトコルの1つの例示的な実施形態を示す図である。
【図4】本発明の一実施形態による通信方法を実施するネットワークのノードを示す簡略化された状態図である。
【図5】本発明の一実施形態による通信方法の時間フレームを示す図である。
【図6】本発明の一実施形態によるチャネルリッスン段階を示す流れ図である。
【図7A】プリアンブルのフォーマットを示す図である。
【図7B】肯定応答メッセージのフォーマットを示す図である。
【図8】本発明の一実施形態による受信段階を示す流れ図である。
【図9】時間窓を割り当てるためのメッセージのフォーマットを示す図である。
【図10】本発明の一実施形態による送信段階を示す流れ図である。
【図11】本発明の1つの代替の実施形態によるオプションの送信段階を示す流れ図である。
【発明を実施するための形態】
【0040】
以下に、収集ノードとも呼ばれる少なくとも1つのデータシンクを含むワイヤレスセンサネットワークが、再び考慮される。これらのセンサおよびデータシンクは、ネットワークのノードに識別される。
【0041】
一般性を失うことなしに、ネットワークは、単一のシンクタイプである、つまり、ネットワークは、ツリーのルートに収集ノードを有するツリー構造に従って編成されるものと想定される。ネットワークが、複数のデータシンクを含む場合、ネットワークは、異なるシンクにそれぞれが関連する、いくつかのサブネットワークに分解されることが可能であり、各サブネットワークは、ツリー構造を有する。その場合、本発明による通信方法は、各サブネットワーク上で並行に動作する。
【0042】
図4は、本発明の一実施形態による通信方法を使用するネットワークノードの簡略化された状態図を与える。
【0043】
この場合、ネットワークの一般的なノード、つまり、ツリーのルートに位置することも(収集ノード)、リーフに位置することもないノードが考慮される。
【0044】
ネットワークの各ノードは、一連の状態を巡回し、いくつかの状態は、オプションであり(破線で表される)、他の状態は、必須である(実線で表される)。
【0045】
ネットワークの各ノードは、規則的な間隔でウェイクアップし、ウェイクアップ段階は、状態410によって表される。実際には、状態410への切り換わりは、ノード内の無線受信機の活性化をもたらす。
【0046】
次に、ノードは、所定の周期にわたってリッスン状態420に入る。チャネルリッスンとは、受信機が、伝送チャネル信号を受信し、分析することを意味する。伝送チャネルとは、本明細書では、一般的な意味で理解されるべきものとし、つまり、伝送チャネルは、当該のノードと、このノードの親ノードの間の伝送チャネルと、この当該のノードと、このノードの子ノードの間の伝送チャネルをともに包含し、受信機は、異なる伝送リソースを使用する、これらの異なるチャネルをアプリオリに区別することはできない。
【0047】
リッスン段階の終わりに、ノードは、ノードが、以降、割当て要求とも呼ばれる送信要求に前もって肯定応答している場合、受信段階440に進むこと、またはノード自らが、伝送されるべきデータパケット(自らのデータパケットおよび/または中継されるべきデータパケット)を有するという条件付きで、送信段階450に進むことが可能である。より正確には、リッスン段階420の終わりに、ノードは、430で、ノードが、ノードの子ノードのうち少なくとも1つのノードの送信要求に肯定応答しているかどうかを確認する。肯定応答している場合、ノードは、ステップ440に進み、肯定応答していない場合、ノードは、ステップ450に進む。
【0048】
以降、考慮される代替によれば、ノードは、いくつかの条件下で、受信段階440の終わりに送信段階450に進むことができる。
【0049】
いずれにしても、ノードは、その後、460でスリープに入ってから、440で次の時間フレームの始まりに再びウェイクアップする。
【0050】
図5は、本発明による通信方法によって使用される基本的な時間フレームを表す。このフレームは、ネットワークのすべてのノードに関して同一である周期Twake-upに従って繰り返される。しかし、フレーム系列は、ノードごとに任意にずらされる(非同期ノード)。
【0051】
時間フレームは、ノードのウェイクアップ(510)で始まり、その直後に周期Tlistenのリッスン段階520が続く。ノードが、リッスン段階中に送信要求に肯定応答している場合、ノードは、受信段階に進む。ノードは、後に見るとおり、ノードの子ノードにスケジューリングメッセージを送信することによって、受信を開始する。肯定応答が行われていない状態で、ノード自らが、ノードの親ノードに送信されるべきパケット(自らのパケットか、中継されるパケットかにかかわらず)を有する場合、リッスン段階の後に送信段階が続く。
【0052】
この受信/送信段階は、520によって示される。段階520の終わりに、ノードは、530でスリープに入る。
【0053】
図6は、図5のリッスン段階の流れ図をより詳細に表す。
【0054】
ノードは、ステップ610で伝送チャネルをリッスンすることを開始し、つまり、ノードの受信機が、このチャネル上で受信されるメッセージを検出する。
【0055】
リッスン周期中ずっと、ノードは、620で、ノードが、ノードを宛先とするプリアンブルを受信したかどうかを確認する。前述したX-MAXプロトコルの場合と同様に、このプリアンブルは、実際は、短いプリアンブルの列から成る。ノードが、ノードの親ノードにデータパケットを送信することを所望する場合、ノードは、その親ノードにそのようなプリアンブルを前もって送信して、発信時間窓の割当てを要求する。各短いプリアンブルは、パケットの受信側ノードのアドレス(例えば、受信側ノードのMACアドレス)を含むので、そのノードは、そのプリアンブルが、したがって、そのプリアンブルの後に続くパケットが、そのノードに実際にアドレス指定されているかどうかを判定することができる。
【0056】
ノードは、そのノードを宛先とする短いプリアンブルを受信するとすぐに、625で、そのプリアンブルを送信した子ノードに肯定応答メッセージを送り返す。肯定応答メッセージは、本明細書の後段で説明される、ランデブー時刻を示す時間情報を含む。
【0057】
リッスン周期中、当該のノードは、そのノードの異なる複数の子ノードからプリアンブルを受信することが可能であり、したがって、それらの子ノードを宛先とするいくつかの肯定応答メッセージを送信することが可能であることに留意されたい。しかし、ランデブー時刻は、そのノードのすべての子ノードに関して同一である。
【0058】
肯定応答メッセージを送ることは、単に、割当て要求が、割当て要求を受信したノードによって確かに考慮に入れられていることを意味するに過ぎない。次に、肯定応答メッセージの受信側である子ノードは、子ノードのプリアンブルを送信することを止める、つまり、短いプリアンブルを送信することを止める。
【0059】
いずれにしても、リッスン段階は、時間Tlistenの終わりに630で終了される。
【0060】
図7Aは、ステップ620で受信されるような、短いプリアンブルの例示的なフォーマットを表す。
【0061】
短いプリアンブルは、受信側ノードのMACアドレス(次のホップのMACアドレス)と、そのプリアンブルを送信する送信元ノードのMACアドレス(送信元MACアドレス)と、時間窓割当て要求を指定するコード(送信要求コード)とを備える。
【0062】
短いプリアンブルは、パケットにサービスクラスを与える通知、送信元ノードによって引き続き送信されるべきパケットの数、つまり、送信バッファの中に格納されたパケットの数、バッファの中の最も古いパケットの待機時間などの、さらなる情報をさらに備えることが可能である。一般に、この情報は、パケットに関する優先レベルを表し、本明細書の後段で説明されるとおり、時間窓の割当てが実行されることを可能にする。
【0063】
図7Bは、ステップ625で送信されるような肯定応答メッセージの例示的なフォーマットを表す。
【0064】
肯定応答メッセージは、肯定応答メッセージの受信側ノードのMACアドレス(次のホップのMACアドレス)、つまり、プリアンブルを送信したノードのMACアドレスと、肯定応答メッセージの送信元ノードのアドレス(送信元MACアドレス)、つまり、プリアンブルを受信したノードのMACアドレスと、肯定応答を指定するコード(ackコード)と、場合により、優先レベルの通知と、ランデブー時刻を指定する時間情報(rdv相対時間)とを備える。
【0065】
ノードは非同期であるので、この時間情報は、相対的な形態で、例えば、所定のクロック周波数でデクリメントされるべきカウンタ値として与えられる。肯定応答メッセージを受信するノードは、当該の値を有するカウンタをロードする。ランデブー時刻は、このカウンタのゼロ交差と一致する。
【0066】
図8は、図5の受信段階の流れ図をより詳細に表す。
【0067】
この受信段階は、ノードが、ノードの子ノードから、より正確には、ノードが、前のリッスン段階(図6、625)で、あるいは前の時間フレームのリッスン段階であっても、肯定応答メッセージを前もって送信している子ノードから、データパケットを受信することを許す。
【0068】
リッスン段階中に設定されたランデブー時刻に、ノードは、810で、ノードのすべての子ノードに時間窓割当てメッセージを広める。このメッセージは、肯定応答メッセージを受信している子ノードのそれぞれにおいて、その子ノードが、その子ノードのデータパケットを送信することを許される時間窓を示す。
【0069】
時間窓割当て戦略は、後段で図9に関連して提示される。
【0070】
一般に、各時間窓は、開始時間情報と終了時間情報によって相対的に定義される。この時間情報は、有利には、カウンタ値である。割当て済みノードと呼ばれる、窓が割り当てられたノードは、所定の周波数でこれらの値をデクリメントする。有利には、開始時間情報は、ゼロ値であり、窓の終了値は、次の窓の開始値と同一である。このようにして、第1の時間窓の割当て済みのノードが、割当てメッセージを受信すると(つまり、ランデブー時刻から)送信することを始め、次の窓の複数の割当て済みのノードが、中断なしに次々に送信する。
【0071】
ノードは、各時間窓の間にチャネルをリッスンし、8201〜820Nでノードの子によって送信されたデータパケットを回復する。
【0072】
受信段階は、830で終了し、次に、ノードは、スリープに入る。後段で説明されるオプションの代替の実施形態によれば、ノードは、自ノードがノードの子から受信したばかりのパケットを、自ノードの親に即時に送信しようと試みる。
【0073】
図9は、時間窓割当てメッセージの例示的なフォーマットを表す。
【0074】
割当てメッセージは、メッセージ発信元ノードのMACアドレス(送信元MACアドレス)と、時間窓が割り当てられた子ノードのMACアドレス(MACアドレス送信側1〜MACアドレス送信側N)と、これらの窓のそれぞれの終了値(TS送信側1〜TS送信側N)とを備える。このため、最初の割当て受信側は、その受信側が割当てメッセージを受信するとすぐに、その受信側のデータを、TS1によって示される時刻まで送信し、次に、第2の割当て受信側は、TS1からTS2までその受信側のデータを送信し、TSNまで以下同様である。
【0075】
時間窓割当ては、用途タイプに応じた戦略に従って実行される。
【0076】
一部の事例において、ネットワークは、いくつかのサービスクラスに対応するいくつかのトラフィックタイプをサポートすることができる。例えば、センサは、低い緊急レベルもしくは優先レベルを有する監視データを送信しなければならないが、高い優先レベルを有する警報データも送信しなければならないこともある。パケットの優先レベルは、割当て要求が行われると、プリアンブル(プリアンブルタイプ)の中で指定されることが可能である。この優先レベルは、パケットサービスクラス、送信バッファの中のスタンバイ状態にあるパケットの数、このバッファの中の最も古いパケットの古さ、ノードがモバイルであるか否かなどを示す、または以上に依存することも可能である。
【0077】
時間窓割当ては、要求される優先レベルに応じて行われる。このため、緊急のパケットには、最初の時間窓が割り当てられることが可能であるのに対して、緊急でないパケットは、利用可能な窓がまだ存在する場合に限って割当てを受ける(ベストエフォート)。実際、受信段階の長さは、Twake-up-Tlistenを限界としており、子ノードは、リッスン段階中、その子ノードの割当て要求に、フレームの始まりに肯定応答が行われているものの、割当てを受けない可能性がある。この場合、その子ノードは、その子ノードのMACアドレスを含む割当てメッセージを受信するのに後のフレームを待たなければならない。
【0078】
同一の優先レベルの場合、時間窓割当ては、先着順規則に従って実行されることが可能である。代替として、この割当ては、有利には、子ノードのバッファの中の最も古いパケットの古さ、またはこのバッファの中で送信を待っているパケットの数などの、プリアンブルの中に含まれる情報に依存して実行される。
【0079】
図10は、図5の送信段階の流れ図を概略で示す。
【0080】
ノードは、ノードが、前のリッスン段階中に割当て要求に肯定応答していない場合に、この段階に入ることを想い起こされたい。
【0081】
ノードは、1010で、ノードの送信バッファの状態を確認する。バッファが、送信されるべきパケットを含まない場合、送信段階は、1090で即時に終了する。
【0082】
バッファが、送信されるべき少なくとも1つのパケットを含む場合、ノードは、1020で、短いプリアンブルの列を、ノードの親ノードに送信する。プリアンブルの、この列の最大周期は、ノードの最長のウェイクアップ周期(Twake-up)と等しい。このため、ノードの親ノードは、ノードのプリアンブルを確実に検出することができる。短いプリアンブルのフォーマットは、図7Aによって与えられる。
【0083】
短いプリアンブルが送られた後、ノードは、1030で、ノードが肯定応答メッセージを受信しているかどうかを確認する。肯定応答メッセージのフォーマットは、図7Bにおいて与えられる。
【0084】
ノードが、ノードのプリアンブルの列の終わりに肯定応答メッセージを依然として受信していない場合、ノードは、1090で送信段階を終了させる。
【0085】
他方、ノードが、ノードの親ノードから肯定応答メッセージを受信した場合、ノードは、1040で、そのメッセージから、ランデブー時刻を与える時間情報を即時に抽出し、さらにこの情報とともにカウンタをロードする。つまり、ノードは、このように抽出された時間情報に対応する長さでタイマを設定し、その後、1045でスリープに入る。
【0086】
タイマが満了すると、ノードは、1050で、ウェイクアップし、時間窓割当てメッセージを受信する。
【0087】
ノードは、当該のメッセージを分析し、1060で、ノードに時間窓が割り当てられているかどうか、つまり、そのメッセージがノードのMACアドレスを含むかどうかを判定する。含まない場合、送信段階は、1090で終了する。含む場合、ノードは、1070で、ノードに割り当てられた窓の始まりと終わりをそれぞれ与える時間情報(TSn-1、TSn)を抽出する。これらの値は、カウンタにロードされ、所定の周波数でデクリメントされる。
【0088】
ノードは、ウェイク状態に留まることによって窓の始まりを待つことができる。代替として、割り当てメッセージに関しては、ノードは、満了するまで、1075でスリープに入ることが可能である。
【0089】
いずれにしても、ノードは、ノードに割り当てられた時間窓の間、1080でノードのデータパケットを送信する。
【0090】
送信段階は、1090で終了し、次に、ノードは、スリープに入る。
【0091】
図11は、本発明の代替の実施形態において実施されるオプションの送信段階を表す。
【0092】
このオプションの送信段階は、図7に関連して説明される受信段階の後に生じる。より正確には、この段階が終了されると(730)、ノードは、即時にスリープ状態に戻ることはせず、ノードがノードの子から受信したばかりのパケットを、現在の時間フレーム中にノードの親に送信しようと試みる。
【0093】
ノードは、チャネルをリッスンし、1110で、ノードの親ノードがビジーであるかどうかを確認する。これを行うのに、ノードは、ノードの親ノードが、チャネル上でメッセージを送信したかどうかを、これらのメッセージの送信元MACアドレスを区別することによって、判定する。
【0094】
送信している場合、オプションの送信段階は、1190で即時に完了される。送信していない場合、ノードは、1120で短いプリアンブルの列を送信する。ステップ1120から1190は、前述したステップ1020から1090と同一である。
【0095】
このオプションの送信段階は、ショートカットである。実際、このオプションの送信段階は、ノードが、時間窓割当てを要求するのに次の時間フレームを待たないことを可能にし、成功した場合、ノードが受信段階中に受信したばかりのパケットを再送信することを可能にする。
【0096】
本発明による通信方法は、パケット間の衝突リスクが最小限に抑えられることを可能にする。第1に、プリアンブルの送信は、割当て要求に肯定応答が行われるとすぐに、停止される。次に、ノードとノードの子の間のランデブースケジューリング、ならびに単一の割当てメッセージの出力が、チャネルの動作時間を劇的に短縮する。最後に、子ノード間の競合が、異なる時間窓を割り当てるための機構によって解決される。
【0097】
さらに、ランデブー時刻における割当てメッセージのブロードキャストのスケジューリング、ならびに送信時間窓のスケジューリングが、ノードが、時間フレーム中にノードの送信/受信活動を最小限に抑えることを可能にし、したがって、ノードのエネルギー消費を最小限に抑えることを可能にする。
【0098】
前述した通信方法の異なる段階(リッスン、受信、送信)中、ネットワークのノードは、ノードが送信チャネル上で受信するいくつかの特定のメッセージを分析しなければならない。例えば、ノードは、リッスン段階中にプリアンブルを待ち、受信段階中にデータパケットを待ち、さらに送信段階中に割当てメッセージを待つ。当該のノードは、対応するパケットを区別し、そのノードを宛先としていないパケットを拒否することができる。1つの代替によれば、ノードは、他のノードを宛先とするパケットを拒否するのではなく、逆に、検出する。リッスン段階が最初に考慮され、受信/送信段階が次に考慮される。
【0099】
ノードが、リッスン段階中にノードの親ノードからのパケット、例えば、その親ノードによって送信されたプリアンブルを検出した場合、ノードは、そのプリアンブルから、その親ノードがビジーであると推定する。すると、ノードは、現在の時間フレーム中、送信段階(オプションの送信段階を含む)を抑制して、親ノードにおけるパケット衝突を防止するようにすることを決定することができる。しかし、ノードは、受信段階を通常どおりに実行して、ノードの子ノードからパケットを収集することができる。
【0100】
ノードのリッスン段階中、ノードが、兄弟ノード(前置き部分において与えられた意味を有する)によって送信されたプリアンブル、およびノードと兄弟ノードの共通の親ノードの、その後の肯定応答メッセージを検出すると、ノードは、そのプリアンブルおよび肯定応答メッセージから、親ノード自体がリッスン段階にあると推定する。ノードが、送信されるべきパケットを有する場合、ノードは、後の送信段階を待つことなしに、その親ノードにプリアンブルを即時に機会主義的に送信することによって、このことを利用することができる。
【0101】
ノードのリッスン段階中、ノードが、ノードの子ノードのうち1つから、プリアンブル以外のパケット、例えば、ノード自らの子を宛先とする、子ノードによって送信された割当てメッセージを受信すると、ノードは、衝突リスクを再び防止するように、その時間フレームの残りの間、スリープ状態に切り換わることを決定することができる。代替として、ノードは、リッスン段階を停止して、送信段階に直接に進むこともできる。
【0102】
ノードが、リッスン段階中に干渉するノード(前置き部分において定義された意味を有する)のパケットを検出すると、ノードは、前の場合と同様に、その時間フレームの残りの間、スリープ状態に切り換わることを決定することができる。しかし、この選択は、役立たない可能性があるエネルギーが節約されることを可能にするにしても、ネットワークにおける待ち時間の増加(送信段階が次のフレームまで遅らされること)をもたらす。
【0103】
次に、送信段階に関して、ノードが、ノードの親ノードのプリアンブルを、その親ノードからの肯定応答メッセージを待っている間に検出した場合(その親ノードが、ノードに短いプリアンブルの列を送信するために)、ノードは、そのプリアンブルから、その親ノードがリッスン段階にはないと推定し、その時間フレームの残りの間、スリープに入る。
【0104】
ノードが、兄弟ノードのプリアンブルを、ノードの親ノードからの肯定応答メッセージを待っている間に検出した場合、ノードは、ノードの兄弟のプリアンブルと、ノード自らのプリアンブルの間で調停を行わなければならない。ノードの兄弟のプリアンブルの中で示される優先レベルが、ノード自らのプリアンブルの中で示される優先レベルより高い場合、ノードは、ノードの送信を終了させる。ノード自らのプリアンブルの中で示される優先レベルが、ノードの兄弟のプリアンブルの中で示される優先レベルより高い場合、ノードは、ノードの兄弟ノードが、兄弟ノードの送信を終了させるのを予期しながら、短いプリアンブルの送信を続ける。
【0105】
ノードが、兄弟ノードによって送信された割当てメッセージを、ノードの親ノードからの肯定応答メッセージを待っている間に検出した場合、ノードは、その時間フレームの終わりまで、送信を即時に終了させる。
【0106】
ノードが、ノードの子ノードのうち1つからのプリアンブルまたは割当てメッセージを、受信段階または送信段階にある間に検出した場合、このプリアンブル、またはこのメッセージは、単に無視される。しかし、そのメッセージが割当てメッセージである場合、ノードは、そのメッセージから、ノードの子が間もなく送信段階に入ると推定する。ノードが、ノードの受信段階に既にとりかかっている場合、およびノードが、間もなくスリープ状態に戻ろうとしていた場合、ノードは、この場合、ウェイク状態に留まることを決定することができる。
【0107】
ノードが、受信段階中、または送信段階中に干渉するノードのパケットを検出した場合、ノードは、一部の状況下で、特に、干渉する信号のレベルがしきい値より高い場合、その時間フレームの残りの間、ノードの受信または送信を終了させることを決定することができる。
【0108】
検出されるメッセージのタイプ、およびノードが入っている段階に依存して、本発明の範囲を必ずしも逸脱することなく、さらなる戦略が実施され得ることが、当業者には理解されよう。
【符号の説明】
【0109】
101、102、110、111、112、140 ノード

【特許請求の範囲】
【請求項1】
ワイヤレスセンサネットワークのための非同期通信方法であって、
前記ネットワークは、ノードが前記センサから成り、さらにルートが収集ノードから成る少なくとも1つのツリー構造をさらに備え、前記各ノードは、前記ツリー構造内で、前記ノードの子ノードのデータパケットを受信するとともに、割り当てられた時間窓の間に、前記ノードの親ノードに前記子ノードのデータパケットを送信するように適合され、前記ノードによるパケットの送信には、短いプリアンブルと呼ばれる単位プリアンブルの列から成るプリアンブルの送信が先行し、前記各ノードの通信は、一連の時間フレームに従って編成され、前記各時間フレームは、リッスン段階と、場合により、その後に続く、受信段階および/または送信段階とを備える方法において、前記ノードは、
前記リッスン段階中に、前記ノードの子ノードの1つによって前記ノードに前記プリアンブルが送信されたかどうかを判定し、送信されている場合、前記1つの子ノードに、ランデブー時刻を指定する肯定応答メッセージを即時に送り返し、
前記リッスン段階の終わりに、少なくとも1つの前記肯定応答メッセージが送られている場合、前記ノードが、前記ランデブー時刻に、前記ノードの子ノードに時間窓を割り当てるためのメッセージをブロードキャストし、その後、前記各時間窓の間に、前記時間窓が割り当てられた子ノードのデータパケットを受信する、受信段階に入ることを特徴とする通信方法。
【請求項2】
前記リッスン段階中に前記肯定応答メッセージが全く送られていない場合、前記ノードは、前記ノードの送信バッファの中にデータパケットが存在するかどうかを判定し、
前記データパケットが存在する場合、短いプリアンブルの列から成るプリアンブルを、前記ノードの親ノードに送信し、
前記データパケットが存在しない場合、前記時間フレームの残りの間、スリープに入ることを特徴とする請求項1に記載の通信方法。
【請求項3】
前記各短いプリアンブルの前記送信の後、前記ノードは、前記ノードの親ノードからの肯定応答メッセージを待ち、
前記ノードが、前記ノードの親ノードからの肯定応答メッセージを受信した場合、前記短いプリアンブルの前記列の前記送信を即時に終了させ、前記ノードの親ノードからの肯定応答メッセージから、前記ランデブー時刻を示す時間情報を抽出して、その後、この時刻までスリープに入り、
前記ノードが、前記短いプリアンブルの前記列の終わりに、いかなる肯定応答メッセージも受信していない場合、前記時間フレームの終わりまでスリープに入ることを特徴とする請求項2に記載の通信方法。
【請求項4】
前記ランデブー時刻に、前記ノードは、前記ノードの親ノードから発信された時間窓割当てメッセージを検出し、前記ノードの親ノードから発信されたメッセージが、前記ノード自らのMACアドレスを含むかどうかを判定し、
前記ノードの親ノードから発信されたメッセージが、前記ノード自らのMACアドレスを含む場合、前記ノードに割り当てられた時間窓の開始時間情報と終了時間情報を抽出し、前記ノードに割り当てられた時間窓の始まりまでスリープに入り、さらに、少なくとも、前記ノードの送信バッファの中に格納されたデータパケットを、前記ノードに割り当てられた時間窓の間に送信し、
前記ノードの親ノードから発信されたメッセージが、前記ノード自らのMACアドレスを含まない場合、前記時間フレームの終わりまでスリープに入ることを特徴とする請求項3に記載の通信方法。
【請求項5】
前記ノードに割り当てられた時間窓の終わりに、前記ノードは、前記時間フレームの終わりまでスリープに入ることを特徴とする請求項4に記載の通信方法。
【請求項6】
前記受信段階の終わりに、前記ノードは、前記ノードの親ノードがビジーであるかどうかを確認し、
前記ノードの親ノードがビジーでない場合、前記親ノードに短いプリアンブルの列を送信して、前記ノードの親ノードからの肯定応答メッセージを待ち、
前記ノードの親ノードがビジーである場合、前記時間フレームの終わりまでスリープに入ることを特徴とする請求項1に記載の通信方法。
【請求項7】
前記ノードが肯定応答メッセージを受信した場合、前記ノードは、
短いプリアンブルの前記列の前記送信を終了させ、前記肯定応答メッセージから、前記ランデブー時刻を示す時間情報を抽出して、その後、この時刻までスリープに入り、
前記ランデブー時刻に、前記ノードの親ノードから発信された時間窓を割り当てるためのメッセージを検出し、前記メッセージが、前記ノード自らのMACアドレスを含むかどうかを判定し、前記メッセージが、前記ノード自らのMACアドレスを含む場合、前記ノードに割り当てられた時間窓の開始時間情報と終了時間情報を抽出し、前記時間窓の始まりまでスリープに入り、さらに、前記ノードが、前の受信段階中に前記ノードの子ノードから受信している少なくとも1つのデータパケットを、前記ノードの親ノードに送信することを特徴とする請求項6に記載の通信方法。
【請求項8】
異なる子ノードにおける前記時間フレーム割当ては、前記ノードの異なる子ノードから発信されたプリアンブルの中で指定された優先レベルに基づいて、それぞれ実行されることを特徴とする請求項1に記載の通信方法。
【請求項9】
前記優先レベルは、サービスクラスタイプに関して、前記ノードの異なる子ノードが移動可能であるか否かに関して、前記ノードの異なる子ノードの前記送信バッファの中のパケットの数に関して、またはこの送信バッファの中の最も古いパケットの古さに関してさえ表現されることを特徴とする請求項8に記載の通信方法。
【請求項10】
前記ランデブー時刻を指定する前記時間情報は、所定の周波数でデクリメントされるべきカウンタ値であることを特徴とする請求項3に記載の通信方法。
【請求項11】
前記ノードに割り当てられる前記時間窓の前記開始時間情報と前記終了時間情報は、所定の周波数でデクリメントされるべきカウンタ値であることを特徴とする請求項4に記載の通信方法。
【請求項12】
前記ノードが、前記リッスン段階中の前記ノードの親ノードからのメッセージを検出すると、前記ノードは、送信を終了させて、現在の時間フレームの終わりまでスリープに入ることを特徴とする請求項1から11のいずれか一項に記載の通信方法。
【請求項13】
第1のノードが、前記リッスン段階中に、前記第1のノードと同一の親ノードを有する第2のノードから発信されたプリアンブルを検出すると、前記ノード自体、パケットが前記第1のノードの送信バッファの中でスタンバイ状態にあるという条件付きで、前記送信段階を待つことなしに、プリアンブルを送信することを特徴とする請求項1から11のいずれか一項に記載の通信方法。
【請求項14】
前記ノードが、前記リッスン段階中に、前記ノードの子ノードの1つから、プリアンブル以外のパケットを検出すると、前記ノードは、前記リッスン段階をオフにして、現在の時間フレームの終わりまでスリープに入る、または前記送信段階に直接に切り換わることを特徴とする請求項1から11のいずれか一項に記載の通信方法。
【請求項15】
前記ノードが、前記送信段階中に、前記ノードの親ノードのプリアンブルを、前記親ノードからの肯定応答メッセージを待っている間に検出した場合、前記ノードは、現在の時間フレームの終わりまでスリープに入ることを特徴とする請求項1から11のいずれか一項に記載の通信方法。
【請求項16】
第1のノードが、前記送信段階中に、前記第1のノードと同一の親ノードを有する第2のノードから発信されたプリアンブルを検出した場合、前記第1のノードは、前記第1のノードのプリアンブルの優先レベルが、前記第2のノードから発信されたプリアンブルの優先レベルより低い場合、前記第1のノードのプリアンブルの前記送信をオフにすることを決定し、前記第1のノードのプリアンブルの優先レベルが、前記第2のノードから発信されたプリアンブルの優先レベルより低くはない場合、前記第1のノードのプリアンブルを送信することを続けることを特徴とする請求項1から11のいずれか一項に記載の通信方法。
【請求項17】
前記ノードが、前記受信段階中、または前記送信段階中に、前記子ノードからのプリアンブルまたは時間窓割当てメッセージを検出した場合、前記ノードは、スリープに入らず、この子ノードのパケットの伝送を待つことを特徴とする請求項1から11のいずれか一項に記載の通信方法。

【図4】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図5】
image rotate


【公開番号】特開2012−170068(P2012−170068A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−25865(P2012−25865)
【出願日】平成24年2月9日(2012.2.9)
【出願人】(502124444)コミッサリア ア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ (383)
【Fターム(参考)】