JP2010522487A - 無線アドホック・ネットワーク用分散オーバレイ多チャンネル・メディア・アクセス制御(mac) - Google Patents

無線アドホック・ネットワーク用分散オーバレイ多チャンネル・メディア・アクセス制御(mac) Download PDF

Info

Publication number
JP2010522487A
JP2010522487A JP2009554713A JP2009554713A JP2010522487A JP 2010522487 A JP2010522487 A JP 2010522487A JP 2009554713 A JP2009554713 A JP 2009554713A JP 2009554713 A JP2009554713 A JP 2009554713A JP 2010522487 A JP2010522487 A JP 2010522487A
Authority
JP
Japan
Prior art keywords
node
channel
time
nodes
guest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009554713A
Other languages
English (en)
Other versions
JP2010522487A5 (ja
JP4723035B2 (ja
Inventor
ウー,ハイタオ
タン,クン
ザオ,ジュン
チァン,ヨングアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010522487A publication Critical patent/JP2010522487A/ja
Publication of JP2010522487A5 publication Critical patent/JP2010522487A5/ja
Application granted granted Critical
Publication of JP4723035B2 publication Critical patent/JP4723035B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/02Selection of wireless resources by user or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/542Allocation or scheduling criteria for wireless resources based on quality criteria using measured or perceived quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

無線アドホック・ネットワーク用分散オーバレイ多チャンネルMACのためのシステム及び方法が記載される。一つの態様において、該システム及び方法は、無線ネットワーク・プロトコルによって定義されたチャンネル周波数を、単一のホーム・チャンネルと、該ホーム・チャンネルと直交する複数のゲスト・チャンネルとに分割する。該アドホック・ネットワークにおける各ネットワーク・ノードは、個々の可変且つ互いに重なり合う時間量に渡り、ホーム・チャンネルにおいて他の各ネットワーク・ノードとのネットワーク接続性を保持するよう動作する。更に、各ネットワーク・ノードは、前記アドホック・ネットワークにおける他のネットワーク・ノードとの一つ又はそれ以上の対応する通信リンク上のデータ・スループットを増加させるために、可変時間量に渡り、前記ホーム・チャンネルから前記ゲスト・チャンネルのうちの特定のゲスト・チャンネルに切り替えるか否か、及びいつ切り替えるべきかを決定する。
【選択図】図6

Description

IEEE802.11は、インフラ・ネットワーク及びアドホック・ネットワークのいずれにおいても幅広く用いられているWLAN(無線LAN)の技術標準である。アドホック・ネットワークにおけるノードは、一般に、単一(同一)チャンネル周波数でアドホック・ネットワークの他のノードと通信するよう構成される。伝送ネットワークのノードの増加に伴い、最終的には、チャンネル容量がデータ・スループットのボトルネックになる。
図1は、例えばノード1〜6である、幾つかのコンピュータ装置ネットワーク・ノード(「ノード」)を含むアドホック・ネットワーク100を示す。この例において、ノード1〜6のそれぞれは、802.11標準通信を用いて、同一の単一チャンネル周波数(例えば、チャンネル1)で他のノードのうちの特定のものと通信するように構成される。しかしながら、任意の特定時刻においては、一つのノードのみが伝送可能であるため、各ノード対は、チャンネルのデータ・スループット容量の最大1/3しか利用しない。同時に同一チャンネルで通信を試みるノードが多すぎる場合、データ・スループット性能は急激に低下する。
同一周波数帯における相互のデータ伝送干渉を緩和するため、IEEE802.11標準は、ネットワークのデータ・スループット容量を本質的に増加させる、複数の直交周波数チャンネルを備える。例えば、IEEE802.11bは、11チャンネルを定義しており、そのうち3つは直交しており(重なっておらず)、802.11aは13の直交チャンネルを定義する。図2は、相互の伝送干渉を減らすように異なる直交チャンネルで通信するノード対を有するアドホック・ネットワーク200を示す。この例において、ノード対(1、2)はチャンネル6で動作し、ノード対(3、4)はチャンネル1で動作し、ノード対(5、6)はチャンネル11で動作する。トラフィック・パターン202〜206を示す各矢印は、図示されたノード間の各リンクに渡る異なるトラフィック量を表すように、別々の塗り方(例えば、網掛け)を有している。このシナリオにおいて、各ノード対は同時にデータを伝送することが可能ではあるが、特定のチャンネルで通信するノードは、異なるチャンネルで通信するよう構成された任意のノードと通信することができない。
上記の制限の幾つかを解決するために、ソフトウェア制御されたチャンネル割当て及び切替技術が開発されてきた。これらの従来技術は、許可により、ノードが各チャンネル周波数で通信すると同時に、異なるトラフィック・パターンを受け入れる異なるチャンネルで伝送するよう構成されたノードとの接続性を保持することを可能とする。そのようなシナリオの例が図3に示され、図3では、チャンネル1のノード3がチャンネル6のノード2及びチャンネル11のノード6の両方とリンク接続性を保持している。しかしながら、既存のチャンネル切替技術は、一般に、アドホック・ネットワークにおける全ての可能性のある任意のトラフィック及び接続性パターンをエミュレートするために、固定パターンを用いる。そのようなエミュレーションは、全ノードが類似した同一の行動に従うと想定するが、実際にはそうとも限らないため、実質的に問題がある。
例えば、一つの従来のチャンネル切替技術は、各パケット伝送の後にチャンネルを切り替える伝送ノードを提供する。そのようなパケットごとの切替動作は、しばしば、対応する時間のかかるチャンネル切替待ち時間のために、かなりの量の処理オーバーヘッドをもたらす。例えば、802.11におけるパケット伝送時間は、約300マイクロ秒(us)である。たとえNICが100usもの速さで切替え可能であり、2つのノードがmsの精度で同期可能であったとしても、そのようなパケットごとレベルのチャンネル切替機構におけるパケット切替のオーバーヘッドは、依然として過大な33%である。もう一つの例において、コンポネント・ベースの従来のチャンネル切替技術は、特定の通信セッションにおける全ノードを、同一チャンネルで伝送するよう構成する。この技術では、通信セッションの期間を通じて、チャンネルが変わらない。これは、パケットごとの切替機構と比べて、チャンネル切替待ち時間を本質的に減少させるが、この技術は、チャンネル多様性の利用において、最も柔軟性に欠ける。
例えば、既存のコンポネント・ベースのチャンネル割当て技術は、図2及び3の組み合わせパターンを表す図4に示されるようなアドホック・ネットワーク構成について、スループット・ゲインを達成することができなかっただろう。図4を参照して、チャンネル1、6及び11のそれぞれに渡るトラフィック・パターン402〜410が示される。図示されている通り、一部のノードは常に同一チャンネルで通信する。例えば、この例におけるノード3及び4は、チャンネル1のみで通信する。他のノードは、複数のチャンネルで動作する。例えば、この例におけるノード1は、時としてチャンネル1で、例えばノード3と通信する。この例におけるノード1は、また、チャンネル6で動作してノード2等と通信するように構成される。既存のMACレベルのチャンネル切替機構は、スループット・ゲインを達成し、図4の例としてのアドホック・ネットワーク4のためのノード接続性を保持することができるが、既存のMACレベルのチャンネル切替機構は、そのようなシナリオにおいて、若干制限されている。
例えば、従来のMACレベルのチャンネル切替機構は、所定の及び固定のタイム・スロットのエッジのみでチャンネルを切り替え、特定のタイム・スロット内の全パケットは同一チャンネルで伝送される。そのような従来のスーパーフレーム・レベルの機構には制限がある。例えば、既存のMACレベルのチャンネル切替機構は、一般に、スーパーフレームごとに、又はタイム・スロット・ベースで、ノードが常にチャンネルを変更することを要するため、そのような機構は柔軟性がなく、大きなチャンネル切替待ち時間を受け入れることができない。更に、既存のMACレベルのチャンネル切替機構は、スーパーフレームを制御時間及びデータ時間に分割するが、これも実質的に問題があり得る。例えば、この方法でのスーパーフレームの分割は、(a)データ時間が十分に活用できない、(b)スーパーフレームごとに一つのサービス機会があるため、ホップごとの応答時間を減少させる実質的なデータ・スループット遅延がある、(c)各ノードがアクセスを主張するために、一般にスーパーフレームごとに信号メッセージを送信する必要があるため、制御チャンネルの時間ボトルネックが起こる、といったことを引き起こし得る。更に、そのようなMACレベル機構は、既存の802.11ベースのシステムと互換性がなく、802.11 MACの修正(例えば、省力モードの拡張)、又は独自MACの使用を必要とする。
無線アドホック・ネットワーク用分散オーバレイ多チャンネルMACのためのシステム及び方法が説明される。一つの態様において、該システム及び方法は、無線ネットワーク・プロトコルによって定義されたチャンネル周波数を、単一のホーム・チャンネルと、該ホーム・チャンネルに直交する複数のゲスト・チャンネルとに分ける。アドホック・ネットワークの各ネットワーク・ノードは、ホーム・チャンネル上で、個々の可変且つ相互に重なり合う時間量に渡り、他の各ネットワーク・ノードとのネットワーク接続性を保持するよう動作する。更に、各ネットワーク・ノードは、アドホック・ネットワークにおける他のネットワーク・ノードとの一つ又はそれ以上の対応する通信リンクにおけるデータ・スループットを増加させるために、可変時間量に渡り、ホーム・チャンネルからゲスト・チャンネルのうちの特定のゲスト・チャンネルに切替えるか否か、及び、いつ切替えるかを決定する。
本概要は、以下の詳細な説明において更に説明される概念のうちの選択されたものを、簡潔な形で紹介するために提供される。本概要は、特許請求の範囲に記載された発明の主要な特徴又は不可欠な特徴を特定することを意図しておらず、特許請求の範囲に記載された発明の範囲を確定する際の助けとして利用されることも意図していない。
添付の図面において、構成要素の参照番号の最も左の桁は、該構成要素が最初に現れる特定の図を示す。
図1は、コンピュータ装置ネットワーク・ノードを含むアドホック・ネットワークを示す。 図2は、相互伝送干渉を低減するために異なる直交チャンネル上で通信するノード対を備えるアドホック・ネットワークを示す。 図3は、ノードが、異なるチャンネルで伝送するよう構成されたノードとの接続性を保持しつつ、個々のチャンネル周波数で通信するアドホック・ネットワークを示す。 図4は、一部のノードは常に同一チャンネルで通信し、他のノードは複数のチャンネルで通信し、異なるチャンネルで動作するノード間の接続性が保持されているアドホック・ネットワークを示す(本質的には、図2及び3で図示された特徴の組み合わせである)。 図5は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのための例としてのシステムを示す。 図6は、一つの実施の形態による、チャンネル切替計画ロジックにより利用される定期的周期Tの例を示す。 図7は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのための例としてのノード図(ノードグラフ)、リンク図(リンクグラフ)及びチャンネル図(チャンネルグラフ)のセットを示す。 図8は、一つの実施の形態による、特定のネットワーク・ノードにおけるデータ・スループット・ボトルネックを示すリンク図に変換される例としてのノード図を示す。 図9は、一つの実施の形態による、例としてのチャンネル切替計画ネゴシエーション・プロトコルの実現態様を示す。 図10は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのための例としてのパケット・バッファリング及び計画ノード構造を示す。 図11は、一つの実施の形態による、アドホック・ネットワーク用分散OMMACを実現するネットワーク・ノードの例としての実現態様を示す。 図12は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのための例としての手順を示す。 図13は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのための、もう一つの例としての手順を示す。
概要
アドホック・ネットワーク用分散オーバレイ多チャンネルMAC(OMMAC)のためのシステム及び方法が説明される。分散OMMACは、アドホック・ネットワークにおいてノード対ノードの接続性を保持し、データ・スループット(即ち、性能)を最適化するためのフレームワークを提供する。このため、本システム及び方法は、ノード対ノードの接続性を保持するために、ネットワーク・ノード(「ノード」)が定期的に同期することができるチャンネル周波数を特定する。この同期チャンネルが「ホーム・チャンネル」であり、これは、アドホック・ネットワークの全ノードに対して同一である。この実現態様において、ホーム・チャンネルは、アドホック・ネットワークが初期設定(即ち、構築)された際にノードが最初に同期されるチャンネル周波数を表す。本システム及び方法は、次いで、ホーム・チャンネルと直交する複数のチャンネル周波数を特定する。これらの直交チャンネルが「ゲスト・チャンネル」である。これらのノードは、集合として、ホーム・チャンネル及びゲスト・チャンネルに基づく、分散され時刻同期されたチャンネル計画及び切替アルゴリズムを実現する。具体的に、全てのノードは、可変且つ相互に重なり合う時間量に渡りホーム・チャンネル上で動作して、他のノードに対しトラフィック及びチャンネル情報を定期的にブロードキャストし、それにより、ネットワーク接続性を保持する。更に、アドホック・ネットワークの各ノードは、アドホック・ネットワークのデータ・スループットをローカルで最適化するために、可変時間量に渡り、ホーム・チャンネルから特定のゲスト・チャンネルに切替えるか否か、及び、いつ切替えるかを、独立して決定する。
アドホック・ネットワーク用分散OMMACのためのシステム及び方法のこれらの及び他の特徴を、以下に更に詳細に説明する。
システム例
図5は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMAC(OMMAC)の例としてのシステム500を示す。この実現態様において、システム500は、アドホック・ネットワーク504上で互いに無線で繋がれた、複数のネットワーク接続されたコンピュータ装置502−1〜502−N(「ノード」))を含む。各ノード502は、汎用コンピュータ装置(例えば、パーソナル・コンピュータ)、サーバ、ラップトップ・コンピュータのような携帯可能コンピュータ装置、個人情報端末(PDA)のような小型要素コンピュータ装置等である、個々のコンピュータ装置である。ノード502は、アクセス・ポイントを利用せず、ネットワーク504上で互いに直接通信する。OMMACは、各ノード502−1〜502−N(即ち、「ノード502」)が、ノード対ノードのネットワーク接続性を保持し、基礎となるプロトコルの無線変調技術により特定される厳密な同期要求の観点からチャンネル切替ポリシを強制するローカル版のOMMACを実装しているため、分散されている。本システム及び方法に関連して記載される概念は、複数の無線ネットワーク・プロトコルに適用可能であるが、この実現態様におけるプロトコルは802.11である。
各ノード502は、アドホック・ネットワーク用の分散OMMACを実現するために各プロセッサにより実行可能なコンピュータ・プログラム・モジュールを備えるシステム・メモリに結合された、一つ又はそれ以上のプロセッサを含む。そのようなシステム・メモリは、また、プログラム・モジュールの実行中に個々のコンピュータ・プログラム命令によって生成及び/又は使用されるプログラム・データを含む。例えば、ノード502−1は、揮発性ランダム・アクセス・メモリ(RAM)及び不揮発性読み取り専用メモリ(ROM)を示すシステム・メモリ508に結合された、一つ又はそれ以上のプロセッサ506を含む。システム・メモリ508は、プロセッサ506により実行可能なコンピュータ・プログラム命令を備えるプログラム・モジュール510を含む。システム・メモリ508は、また、プログラム・モジュールの実行中に個々のコンピュータ・プログラム命令によって生成及び/又は利用されるプログラム・データ512を含む。この実現態様において、例えば、プログラム・モジュール508は、オーバレイ多チャンネルMAC(OMMAC)モジュール516、ネットワーク・インターフェース制御(NIC)ドライバ518、及び、実行環境を提供するオペレーティングシステムや、OMMACモジュール516への及びOMMACモジュール516からの情報をそれぞれルーティング及び受信するパケット・ルーティング・モジュール等の他のプログラム・モジュール520を含む。
フレームワーク例
OMMAC516は、ネットワーク504においてノード対ノード502の接続性を保持し、基礎となるプロトコルの無線変調技術により特定される厳密な同期要求の観点から分散チャンネル切替ポリシを強制する。一つの例としての実施の形態を説明するために、OMMAC516の動作が、例としてのプロトコルであるIEEE802.11と関連して説明される。ノード対ノード502の接続性を保持し、基礎となる同期要求の観点から分散チャンネル切替ポリシを強制するために、OMMAC516は、利用可能な通信チャンネル周波数を、単一のホーム・チャンネル及び複数のゲスト・チャンネルに分ける。単一のホーム・チャンネル及び複数のゲスト・チャンネルは、図5において「チャンネル・セット」521として集合的に示される。各ノード502は、ホーム・チャンネルを利用して、他のノード502とのネットワーク接続性を保持する。ゲスト・チャンネルは、ネットワーク504のデータ・スループット(性能)を向上させるために、個々のノード502により、(以下に説明されるチャンネル切替及び計画アルゴリズムに従って)選択的に利用される。
1.ホーム・チャンネル
この実現態様において、ホーム・チャンネルは、以下のように決定される。開始ノード502は、全ての利用可能なチャンネル周波数を走査し、最もノイズの少ないものをホーム・チャンネルとして選択する。全てのノード502は、ホーム・チャンネル上でブロードキャスト・メッセージを通じて、ノード502から到達可能である。この実現態様において、各ノード502は、ホーム・チャンネルのノイズのローカルでの観察に基づき、ブロードキャスト・メッセージ(ACK/NACKメッセージ)を介して、ホーム・チャンネルに対する賛否を投票することができる。例えば、一つの実現態様において、受信されたブロードキャストACKメッセージの数が、(何らかの設定可能な時間周期について)タイムアウト・モードにある局の一定割合(例えば、50%など)より大きい場合、新しいホーム・チャンネルが決定され、ノード502によって投票される。この実現態様において、ホーム・チャンネルは、固定チャンネル周波数に制約されず、通信リンク状況に応じて、ノード502によって動的に調整(移動)されることができる。異なる実現態様では、チャンネルのノイズ以外の条件が、ホーム・チャンネルの選択に利用される。
2.ゲスト・チャンネル
ホーム・チャンネルと直交するチャンネル周波数が、ゲスト・チャンネルである。ノード502は、ネットワーク504のデータ・スループット(即ち、性能)を向上させるように、ゲスト・チャンネル上で別のノード502と通信する。この実現態様において、OMMAC516は、該チャンネル上で監視される干渉に従ってゲスト・チャンネルを分類する。特定のノード502に対するそのような干渉は、該特定のノード502のブロードキャスト範囲における全ての他のノード502による、平均の監視結果である(多くのOMMAC516動作は、他ノードからのOMMAC516情報に基づいてノード・レベルで実行され、そのため「分散OMMAC」との用語が使われる)。この実現態様において、各ノード502は、該ノードがそれぞれ動作するホーム・チャンネル及びゲスト・チャンネル上における各干渉レベルを検知する。このシナリオにおいて、ノード502は、該ノードのブロードキャスト範囲内にある他のノード502に対し、周期的ブロードキャスト・メッセージで、そのような情報を通信する。この実現態様において、ノードのノーカルOMMAC516は、干渉の最も少ないゲスト・チャンネルがノード対ノードの通信に最初に利用されるよう、チャンネル切替及び計画動作を実装する。
3.ノードのポーリング・ポイント
ノード502がホーム・チャンネルにとどまる時間量は、(a)可変、(b)特定のネットワーク・ビーコンをカバーする隣接ノード502がホーム・チャンネル上にある時間と部分的に重なり合う、及び、(c)ノード502と、該ノード502のブロードキャスト範囲内にある他のノード502との間の通信リンク上の双方向トラフィックの関数、である。ノード502がホーム・チャンネル上にない場合、該ノード502はゲスト・チャンネル上にある。上記を考慮して、各ノード502は、該ノードが、データ・スループットを改善するために、ホーム・チャンネルから計画されたゲスト・チャンネルに切替えるべきか否か、及び、いつ切替えるべきかを決定するように、該ノードのローカルOMMAC516により、それぞれ構成される。各ノードのノーカルOMMAC516は、特定のノード502について、チャンネル切替ポイント(即ち、「ポーリング・ポイント」)を決定する。ノードのポーリング・ポイントは、使用される無線プロトコル(例えば、802.11など)の特定のビーコン間隔に基づく定期的周期(「T」)に関連して定義される。例示のために、ノードのポーリング・ポイントは、「ポーリング・ポイント」523として示される。
図6は、一つの実施の形態による、各ノードのチャンネル切替計画ロジック(このロジックはOMMAC516によって実現される)によって利用される定期的周期Tの例を示す。例示及び説明のために、図6の態様は、図5の構成要素について示される。図において、参照番号の最も左の数字は、参照されている構成要素が最初に導入された特定の図を示す。図6を参照して、Tは、各ノード502がホーム・チャンネル及びゲスト・チャンネルの組み合わせ上で動作するよう構成された時間の総量を表すことが示される。具体的に、各ノード502は、特定且つ可変の時間量(「T」)に渡り単一のホーム・チャンネル上で動作するように、ローカルで(即ち、OMMAC516によって)構成される。各ノード502は、更に、特定且つ可変の時間量(「T」)に渡り、複数のゲスト・チャンネルのうちの特定のチャンネル上で動作するよう、ローカルで構成される。従って、
=T+T (1)
である。
この実現態様において、周期の長さは、基礎となる無線プロトコルと関連するビーコン間隔を乗算することにより決定される整数nである。例えば、IEEE802.11標準を実装するよう構成されたノードのデフォルトのビーコン間隔は、100時間単位(TU)、即ち1024msである。
図6に示されるように、時間周期Tは、複数のm個のスロットに分割される。スロットは、ノードがチャンネル上に計画されている時間の処理単位(粒度)を表す。例えば、定期的周期が102.4ms(n=1)であり、m=8である場合、各サイクルは8スロットに分割され、OMMAC516はホーム・チャンネル及びゲスト・チャンネルの時間を12.8msの処理単位で調整する。ポーリング・ポイントは、ノード500が一つのチャンネルから他のチャンネルへとジャンプ/切替する特定の時間を示す。別のノード502は、それら自身のポーリング・ポイントを定義し得るが、特定の無線リンクの送受信ノード対は、各ポーリング・ポイントを同期し、同時に同一チャンネルにジャンプする(以下、「時刻同期例」の章で更に詳細に述べる)。この実現態様において、ポーリング・ポイントは、スロットの境界部に制限される。そのため、整数値がポーリング・ポイントを表す。例えば、m=8である場合、ポーリング・ポイントを表示するために1バイト(8ビット)を使用することができる。この実現態様において、例えば、一周期に複数のポーリング・ポイントがあってもよい。更に、二つのノード間のリンクのポーリング・ポイントは、以下に詳細に述べるように、該リンクのトラフィック量に応じて調整される。
周期の始まりにおいて、全てのノード502はホーム・チャンネルに戻り、少なくともブロードキャスト時間と呼ばれるTに渡って、ホーム・チャンネルに留まる。OMMAC516は、ブロードキャスト・パケットが、各周期のこの時間期間内に伝送されるよう計画する。この実現態様において、例えば、ノード502は、Tより長い時間に渡り、ホーム・チャンネルに留まり得る。即ち、T>Tである。ここで、TΔ=T−Tとしよう。そのような時間期間に、該ノードはホーム・チャンネルに留まるが、ユニキャスト・メッセージを通信する。スロット単位でのポーリング・ポイント、即ちTは、[b,m]の範囲において有効である。Tがmと等しい場合、対応するノード502は、周期全体に渡りホーム・チャンネルに留まることになり、この特定のノードについては、ゲスト・チャンネルが計画されない。この実現態様において、ビーコン及びブロードキャスト・パケットの伝送機会が確保されるように、bの値が選択される(例えば、b=1)。
チャンネル切替計画の例
次に、切替えられるべきゲスト・チャンネルを計画する、各ノード502の分散アルゴリズムについて説明する。通信リンクにおけるゲスト・チャンネル計画の態様は、まず、ゲスト・チャンネルの最大独立集合(MIS)と、カラーリングの問題との組み合わせを考慮して生成される。次に、該アルゴリズムの例としての分散実現態様が、グリーディ・アルゴリズムを利用するMISによる信号伝達オーバーヘッドと利点との間のトレードオフに基づいて、上記の例としてのフレームワークを考慮して提示される。
4.スループットを最大化するためのゲスト・チャンネル計画
上記の通り、ノード502がホーム・チャンネルに留まる時間量は可変であり、該時間量は、ビーコン期間をカバーする隣接ノードの時間量と、部分的に重なり合う。ノード/局は、周期Tにおける残りの時間を、各周期のゲスト・チャンネル上で費やす。リンクの送信元及び宛先ノード502が同時に同一のゲスト・チャンネルに切替わる場合、このリンクのトラフィックは、ホーム・チャンネル及び他のゲスト・チャンネル上のトラフィックと直交する。802.11は、リンク層における競合を解決するためのCSMA/CA(搬送波感知多重アクセス/衝突検出方式)を提供するため、リンク上の二方向トラフィックが最小単位として扱われ、周期Tの同一スロットに計画される。そのため、チャンネル切替はリンクのトラフィックに応じたものであり、リンクは双方向である。
OMMAC516のゲスト・チャンネル計画動作は、どの通信リンクが選択されるかを決定し、また、全体としてのデータ・スループットを(劣化なく)実質的に最大化するために、個々のゲスト・チャンネルにおいてどれだけ長い時間通信するかを決定する。
チャンネルの数に制限がなく、各リンク上のトラフィックがグリーディである場合、各802.11局は同時に一つのリンクのみを含むため、OMMAC516は、最大数の「非初期衝突」アクティブ・リンクを選択する。二つのリンクがいずれも同一ノード502に通信要求する場合、それらのリンクは「初期衝突」状態にある。時間周期Tごとに当該リンク上に一定量のトラフィックがある場合、通信リンクは「アクティブ」である。
V及びEは、それぞれ、ネットワーク504における全ノード502及びリンク・セット(リンクは、各通信リンク532−1〜532−Nとして示される)を表し、Gはネットワークに対する最初のトラフィック図を表すものとする。Gにおけるノードの総数が、I=1,2..Nによって示されるN個であると仮定し、Vを用いてGにおけるノードiを表記する。l(i,j)はノードiとノードjとの間の双方向リンク532を表すものとし、l(i,j)=l(j,i)である。OMMAC516は、ネットワーク504の最初のトラフィック図である図G(ノード図)をリンク図G‘に変換し、リンク図に示される各ノード502は、最初のノード図におけるアクティブ・リンクである。Gにおける対応するリンクが初期衝突している場合、G’において2つのノード間のリンクが存在する。そのため、図G’における最大独立集合がGにおける非初期衝突リンクに対応し、最大数のリンクが選択される(スループットの最大化)。
最大独立集合問題は周知のNP完全問題であり、そのため、更なるノードを追加することができないMIS(最大独立集合)を解決するために、多くの発見的アルゴリズムが提案されてきた。この実現態様において、G’におけるMISは、最大であって更なるリンクを計画することができないGにおけるリンク集合に対応する。MIS選択のための一つの周知の発見的アルゴリズムは、グリーディ・アルゴリズムであり、これは、図G’における全てのノードを、その次数によって分類し、最も次数の低いノードを最初に選択して、選択されたノードと、それと隣接する全てのノードとを取り除く。この最低次数ノード選択は、全てのノードが取り除かれるまで継続される。全ての選択されたノード502はMISを表し、複数のノード502が同じ次数を有する場合、MISの数は一つ以上であり得る。
5.チャンネル数に対する制限
MISが生成された後に、OMMAC516は、カラーリングにより、チャンネル数の制限に取り組む。具体的に、OMMAC516は、リンク図G’のMISを図G’’に変換するが、G’’における各ノードは、G’のMISにおけるノードであり、Gにおける二つの対応するリンクが「二次的衝突」している場合に、G’’の2つのノードの間にリンクが存在する。ここで、最初のチャンネル図Gにおいて、二つのリンクが同一チャンネル上で同時に並列動作できない場合に、二つのリンクは二次的衝突状態にある。そのため、二つのリンクが初期衝突である場合、必ず二次的衝突でもあるが、その反対は成立しない。図G’’はチャンネル図と呼ばれ、G’’に示されるノード502のチャンネルを計画するためにカラーリング・アルゴリズムが用いられる。OMMAC516は、G’’のMISを選択し、これらのMISのノードに、最初の表示されるゲスト・チャンネルを割り当てる。OMMAC516は、次いで、G’’から該ノードを取り除き、ゲスト・チャンネル・セットから使用されたゲスト・チャンネルを取り除く。
OMMAC516は、全てのノード502が割り当てられるまで、又は、ゲスト・チャンネル・セットが空になるまで、MIS選択及びチャンネル割当てを続ける。この実現態様において、ホーム・チャンネルは、全てのゲスト・チャンネルに対して直交であるため、最後のMISは、ホーム・チャンネルに割り当てられる。上記の通り、性能を改善するために、リンクは異なるゲスト・チャンネルに割り当てられる。チャンネル切替は、いくらかの切替待ち時間をもたらすため、そのような待ち時間を減少させるために、一組のリンクがホーム・チャンネルに留まるよう構成される。ホーム・チャンネルは、全てのゲスト・チャンネルに対して直交だからである。これを考慮し、集中アルゴリズムにおいて、ホーム・チャンネル上で動作するよう選択されるMISは、例えば第一のMIS等の、任意のMISであってよい。しかしながら、分散シナリオにおけるデッドロックを解消するために、最後のMISが選択される。そのようなデッドロックは、例えば、複数のノード/リンクが同時に自らをホーム・チャンネルで動作するものであると認識し、ゲスト・チャンネルが使用されない場合に発生し得る。
図7は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACの例としての一組のノード、リンク及びチャンネル図を示す。この例において、図7(a)は、例示のために図4と同じネットワーク・トポロジ及びトラフィック・パターンを示す。このノード図における5つのアクティブ・リンクは、図7(b)のリンク図に変換される。OMMAC516は、上記のグリーディ・アルゴリズムに従ってMISを選択する。即ち、最低次数のノードを最初に選択する。図7(b)の例において、MISは唯一であり、OMMAC516はMIS(リンク(1,2)、(3,4)、及び(5,6))内のノードを選択する。OMMAC516は、リンク図を、図7(c)の例としてのチャンネル図に変換する。ノード図の6つのノード全てが互いに通信範囲内にあるため、全てのリンクが衝突する。そのため、任意の時刻において一つのリンクだけしか動作できない。従って、図7(c)のチャンネル図において、3つのノード全てが接続されており、ホーム・チャンネル1とともに、2つのゲスト・チャンネル(6及び11)が利用される。チャンネル1、6及び11は、それぞれ3つのリンクのために利用され得る(例えば、図4を参照のこと)。
6.チャンネル切替のオーバーヘッド
各ノード502について、OMMAC516は、チャンネル切替によりもたらされるオーバーヘッドにローカルで取り組み、ノード502がネットワーク504におけるデータ・スループットのボトルネックであるか否かを決定する。具体的に、Tsc及びTNiは、チャンネル切替の時間オーバーヘッド、及び周期ごとのノードNのチャンネル占有時間を表すものとすると、Tsc+TNi>Tの場合に、チャンネル切替がノードNのスループットに影響する。図8は、一つの実施の形態による、特定のネットワーク・ノード502におけるデータ・スループットのボトルネックを示すリンク図(b)に変換される、例としてのノード図(a)を示す。具体的に、図8は、データ・スループットが増加できず、むしろチャンネル切替のオーバーヘッドのためにいくらか低下する状況を示す(図3は、同様のシナリオを示している)。例えば、図3を参照して、全てのノードが同一チャンネル上にあり、チャンネル切替のコストがないことに注意されたい。図8(b)を参照して、リンク図は、対応するMISには、リンク(3,2)又はリンク(3,6)のいずれかである一つのノードしかないことを示す。MIS=リンク(3,2)がゲスト・チャンネル上で動作するよう選択される場合、ノード3において一定のオーバーヘッドが存在する。しかし、リンク(3,2)及び(3,6)は、いずれも、ノード3の関与を必要とする。従って、ノード3がチャンネル切替動作を実現する場合、全体のスループットが低下する。1つのリンクのみが計画されている場合、データ・スループットは増加されようがないことに注意されたい。そのようなシナリオにおいて、OMMAC516は、当該ノード502に対するチャンネル切替計画を削除する。
7.ポーリング・ポイントの決定
上記の段落は、OMMAC516が、特定チャンネルに通信リンクが計画される時間を確定する方法を説明した。次に、OMMAC516が、ノードのチャンネル切替処理のためにポーリング・ポイントを決定する方法を説明する。ノードNについて、全体としてのチャンネル占有時間TNiは、全チャンネルにおける送信時間と受信時間との両方からなる。リンクl(i,j)について、T(i,j)は、全チャンネルにおけるチャンネル占有時間を表す。即ち、
Figure 2010522487
である。ノードNにおけるリンクl(i,j)の時間重みは、
Figure 2010522487
である。従って、リンクl(i,j)の時間重みを、
Figure 2010522487
と定義する。リンクl(i,j)について、
Figure 2010522487
となるようにポーリング・ポイントが計画される。
数式(5)に従うゲスト・チャンネルを選択する時間は、(a)ゲスト・チャンネルの時間は、当該リンクのトラフィック量に従って調整され、トラフィックが増加する場合に、より多くの時間が割り当てられる、及び、(b)周期時間の比例することにより、対応するノード502における他のトラフィック要求に影響を与えないという目標が保証される。
例えば、一つの実現態様において、OMMAC516は、各ノード502に対して、チャンネル切替を計画する集中アルゴリズムを実装する。集中アルゴリズムは、アドホック・ネットワークのトラフィック及びノードについて、常に完全且つ更新された情報を提供し、分散アルゴリズムは、ローカル化されたそのような情報を提供する。集中アルゴリズムによるMIS選択は、複数の解決策を持ち得るが、一つだけのMIS解決策のみが選択される。逆に、分散アルゴリズムを使用すると、結果は、隣接ノードにおいて実行される複数のステップにより決定される。これは、分散アルゴリズムを使用すると、各ノードの決定が全体の結果としての影響するが、全体としての結果を制御はしないことを意味する。例えば、集中アルゴリズムと比較した場合、そのような分散アルゴリズムで取られるステップは非同期であり、並列であることも、衝突することも、又は、デッドロックのシナリオになることもあり得る。(この後者のシナリオは、上記の通り、最後のMISにホーム・チャンネルを使用すること、及びチャンネル・ネゴシエーション・プロトコルを使用することにより対策される)。
例えば、この実現態様において、各ノード502に対するチャンネル切替を計画する集中アルゴリズムは、以下の通りである。
(a)ノード502についてチャンネル占有時間を評価し、Tcs+TNi>Tである場合に、該ノードNを取り除く。結果としてのノード図はGになる。
(b)ノード図Gをリンク図G’に変換し、上記の通り、グリーディ・アルゴリズムを用いてG’からMISを選択する。
(c)リンク図G’をチャンネル図G’’に変換し、G’’からMISを選択して、G’’又はゲスト・チャンネルが空になるまで、ゲスト・チャンネルを割り当てる。
(d)リンクの時間重みに従ってチャンネル切替のポーリング・ポイントを計画する。
チャンネル切替のための分散アルゴリズムの例
OMMAC516は、以下を考慮して設計される。即ち、1)各ノード502は、ネットワーク504の更新情報の一部のみを有するため、OMMAC516は、1ホップ隣のノード502から得られる情報を考慮して、チャンネル切替決定をローカルで最適化する(この決定は、1ホップより遠い範囲のノードからの情報からは独立である)。2)各リンクは、ゲスト・チャンネル上に非同期で計画されるため、集中モードOMMAC516のリンク計画は、他の計画されたリンクを考慮して調整される。3)OMMAC516は、分散チャンネル切替のためのゲスト・チャンネル・ネゴシエーション・プロトコルを実装し、トラフィックに適応する。これらの態様は、以下に更に詳細に説明される。
8.ローカルMIS
無線ネットワーク504の各ノード502は、一般に、通信範囲内におけるトラフィック及びチャンネルの情報を有する。そのため、各ノードによって生成/取得されるネットワーク・トラフィック図Gは部分的である。従って、各ノード502におけるMIS選択は、異なり得る。ここでは、ノードの情報を隣接ノード502からの情報により更新することについて記載する。具体的には、OMMACフレームワーク516は、ホーム・チャンネルにおけるリンク層のブロードキャストを提供する。そのため、各ノード502は、他のノード502とトラフィック及びチャンネル情報を交換するために、周期的なブロードキャスト・メッセージを通信するよう構成される。この実現態様において、例えば、各ノード502は、そのようなブロードキャスト・メッセージを毎秒一回ずつ通信するが、他の周期的な期間が用いられてもよい。時宜に遅れた情報につながり得るメッセージ遅延の機会を減らすために、各ノード502は、そのトラフィック及びチャンネル情報を、他のノードに中継する代わりに、ブロードキャストする。他の実現態様において、この情報交換は、ブロードキャスト・メッセージとは独立して実現される。例えば、一つの実現態様において、ノードのトラフィック及びチャンネル情報は、進行中のトラフィック・ヘッダに乗せられる。
9.非同期チャンネル切替計画
集中モードにおいて、OMMAC516は、ネットワーク504のリンク図全体に対するMISを計算する。OMMAC516は、その後、グリーディ(最低次数優先)・アルゴリズムを用いて全てのリンクを割り当てる。グリーディ(最低次数優先)・アルゴリズムは、既知のカラーリング・アルゴリズムの一例である。実践的な分散モードにおいて、各ノード502は、チャンネル切替計画を非同期にネゴシエートするが、これは、ノード502が、隣接ノード502から受信した、観察されたチャンネル切替計画に基づいて、計画決定を行うことを意味する。そのような非同期の計画は、ネゴシエーション・メッセージによるネットワーク504上の任意のメッセージ・サージを平滑化し、ホーム・チャンネル時間におけるデータ・スループット負荷を平衡させる。一つの実現態様において、ネゴシエーション・メッセージによるオーバーヘッドを更に低減するために、OMMAC516は、複数の時間周期におけるチャンネル切替活動をカバーするチャンネル切替計画を生成する(例えば、図6参照)。
一つの実現態様において、OMMAC516は、ノードNに対するチャンネル切替パターンを計画するために、以下のように分散アルゴリズムを実装する。
・ノード502は、ノード502のにおける関連する占有時間TNi、時間重み付け、及び任意のアクティブ・リンクのチャンネルを周期的にブロードキャストする。
・該ノード502は、隣接ノード502から受信したブロードキャスト・メッセージを集めて、全ての2ホップの隣接ノード及びアクティブ・リンクを表す図Gを構築する。例えば、2ホップのノード情報は、1ホップのノードからのブロードキャスト・メッセージを評価することにより得られる。この例を示すために、A−B−C−D−EといったようなノードAからEまでの5つのノードを有するチェーン・トポロジを想定されたい。この例において、ノードAは、Bのみから情報を受け、BはA及びCのみから情報を受け、・・・EはDのみから情報を受ける。ノードCは、ノードDからのブロードキャストを受け取るが、これは、D−>C及びD―>Eと関連するトラフィック情報を含む。そのため、ノードCはノードEが存在することを知っているが、CはEから直接に情報を受けることができないため、ノードEはCの隣接ではない。同様に、CはAの存在も知っている。この方式では、各ノードは、2ホップ以内にある全てのノードからの情報を集めることができる。
・該ノード502は、各隣接ノード502についてチャンネル占有時間を評価し、Tcs+TNj>Tの場合に、Gから隣接ノードNを取り除く。
・該ノード502は、ノード図Gをリンク図G’に変換する。次いで、ノード502は、全てのアクティブ・リンクの計画を確認するためにリンク図を評価し、対応するリンクが計画されている場合に、ノードをMISに移動する。ノード502は、グリーディ・アルゴリズムを用いて、G’からのMISのノードの識別を続ける。
・該ノード502は、リンク図G’をチャンネル図G’’に変換し、上記のようにG’’からMISを選択して、G’’又はゲスト・チャンネル・セットが空になるまで、計画されたリンク・チャンネル設定に基づいて、ゲスト・チャンネルを割り当てる。
・リンクl(i,j)がG’’にあり、計画されていない場合、ノード502は、該リンクの時間重み付けに従って、チャンネル切替のポーリング・ポイントを計画する(式(3)参照)。
10.計画ネゴシエーションのためのプロトコル例
図9は、本発明の一つの実施の形態による、例としてのチャンネル切替計画ネゴシエーション・プロトコルの実現態様を示す。この例において、各ノードN及びNは、図5の各ノード502を表す。図9を参照し、上記の分散アルゴリズムに基づいて、ノードN902が隣接のN904とのチャンネル切替を計画することを決定した場合、Nは、ノードNに切替チャンネル(SC)要求メッセージを送信し、Nとのチャンネル切替の計画を望んでいることを示す。(例示のために、そのようなSC要求メッセージは、図5の「他のプログラムデータ」538の個別の部分として示される。)この実現態様において、SC要求メッセージは、ポーリング・ポイント及びゲスト・チャンネルの提案を含む。
ブロック906、908及び910を参照して、この実現態様において、個々のメッセージ送受信ノードは、ノード502の近隣のノードに対する同時のチャンネル切替計画ネゴシエーションを避けるために、送受信メッセージごとの各タイマを開始する。(例としてのタイマ・ロジック528は、第0062段落の「タイマ・ロジック」と題された章において、更に詳細に説明される。)要求メッセージの受信に応じて、ノードNは、Tsc+TNj<Tであるか否かを確認する。Tsc及びTNiは、それぞれ、チャンネル切替の時間オーバーヘッド、及び周期ごとのノードNのチャンネル占有時間を示すことを想起されたい。Tsc+TNj>Tである場合、チャンネル切替がノードNにおけるスループットに影響する。通過した場合(即ち、Tsc+TNj<Tである場合)、Nは、提案されたゲスト・チャンネルが既に任意の1ホップの隣接ノード502によって予約されているか否かを確認する。提案されたゲスト・チャンネルが既に予約されていない場合、Nは、肯定応答(ACK)メッセージ(ユニキャスト)により、ノードNに対し要求を承認する。このシナリオにおいて、提案されたポーリング・タイムに計画されたチャンネル切替行動は、周期ごとにN及びNの両方によって実行される。代わりに、Nは、チャンネル切替要求を否定し、取り消すために、要求ノードに否定応答(NACK)メッセージを送信する。この実現態様において、ノードNは、Nに、その要求を拒否する理由を知らせる。チャンネル切替要求を拒否する理由が、チャンネルが占有されているためである場合、Nは、可能であれば、Nに対し、ゲスト・チャンネルの別候補の提案を乗せこむ。
一つの実現態様において、ノード502は、他のノード502に対して、例えば切替要求を承認/拒否するACK/NACKメッセージにより、フィードバックを提供し得る。結果がNACKである場合、又は、設定可能な時間量が経過した(タイムアウト)後もノードNでフィードバックが受信されない場合、ノードNは、チャンネル切替要求を要求失敗とみなす。そうではない場合、この実現態様において、ノードN及びNは、いずれも、SC通知メッセージを二度ブロードキャストする。そのうち、第一のメッセージは、SC応答メッセージの直後に、ノードN又はNによってそれぞれ送信又は受信される。この実現態様において、そのような二重の通知は、通知ブロードキャストが消失することによる、あらゆる影響を実質的に回避する。ノードが現在の時間周期におけるブロードキャスト・チャンネル時間でのチャンネル切替ネゴシエーションを実装している場合、第二のSC通知メッセージは、次の時間周期におけるブロードキャスト時間に通信される。この後者のシナリオが図9に示される。この実現態様においては、例えば、ポーリング・ポイントの変更や、先に計画されたゲスト・チャンネルへの計画延長のために、2つのノード502が新しい切替計画をネゴシエーションすることが可能であることに注意されたい。そのようなシナリオにおいて、また、この特定の実現態様において、ローカルOMMAC516は、それぞれ、次の及び第三の周期におけるブロードキャスト時間に、2つのブロードキャストを計画する。
ネットワーク・ノード設計例
図1を参照して、上記の通り、各ノード502は、システム500のチャンネル切替ポリシの各部分を実現する。一つの実現態様において、このチャンネル切替ポリシは集中化される。他の実現態様において、このチャンネル切替ポリシは分散される。具体的に、OMMAC516は、NICドライバ518を制御するロジックを含み、オペレーティング・システムの非リアルタイムのソフトウェア割り込みを管理し、任意の既存のNICドライバの計画/バッファ要求に応じる。例えば、この実現態様において、OMMAC516は、トラフィック測定ロジック522、情報交換ロジック524、チャンネル切替計画ロジック526(「切替ロジックにおける計画」526)、タイマ・ロジック528及びパケット・バッファリング・ロジック530を含む。この例としての順列は、このロジックの様々な部分間における構造的な順位又はデータの流れを示唆又は限定するものではない。むしろ、ロジック522〜530の上記の順位は、説明のために用いられるものである。これらのモジュールの例としての態様が、ここで説明される。。
トラフィック測定及び情報交換の例
トラフィック測定ロジック522は、例えば、送受信パケットのログを作成する。トラフィック測定ロジック522は、また、入ってくる又は出て行くパケットについて、関連するトラフィック量を計算する。この実現態様において、ロジック522で測定されるトラフィックは、予め構成可能な時間期間における平均トラフィック量を提供する既知の時間移動窓平均アルゴリズムを用いて計算を実現する。情報交換ロジック524は、対応するノード502にチャンネル切替計画を伝達する。例示のために、そのようなログ及びチャンネル切替計画は、「他のプログラムデータ」538の各部分として示される。情報交換ロジック524は、また、隣接するノード502から受信したトラフィック情報及びチャンネル切替計画を整理する。計画及び切替ロジック526は、そのような受信された任意のチャンネル切替計画を用いて、例としてのチャンネル切替計画動作を実現する。
計画及び切替ロジックの例
計画及び切替ロジック526は、例えば、トラフィック測定ロジック522によって集められたノード固有情報(自己情報)、及び、情報交換ロジック524によって集められた隣接ノード502情報に基づいて、上記のグリーディ・アルゴリズムを実行する。計画及び切替ロジック526は、また、NICドライバ518によって公開されるアプリケーション・プログラム・インターフェース(API)にアクセス/利用する。API534は、ノード502のそれぞれが同時に同一チャンネルに切り替わるよう、チャンネルを切替え、また、チャンネル切替計画を同期させるために、NICドライバ518へのインターフェースを提供する。ここで、ノード・チャンネル切替同期の例としての実現態様を説明する。
複数のチャンネルに渡るノード間のチャンネル切替動作の同期は、異なるチャンネルで動作するノードが同期を失いやすいために、困難である。従来のチャンネル切替技術を使用すると、ネットワーク・ノード間のチャンネル切替時間の相違が、しばしば、パケット再送につながり、さらにはパケット損失につながり得る。チャンネル切替同期には複数の要素が影響する。そのような要素の中には、例えば、使用される特定の同期プロトコル、クロック・ドリフト(clock drift)、温度などが含まれる。計画及び切替ロジック526は、ノード502が特定のチャンネル周波数に同時に切り替えることを可能とする実用的なノードのチャンネル切替同期機構により、これらの困難を解決する。
この実現態様において、計画及び切替ロジック526は、802.11スーパーフレームに基づく定期的周期で動作する。(そのような定期的周期を説明する図6に関連する上記の説明も参照されたい)。802.11プロトコルは、ブロードキャスト・メッセージ期間の始まりにビーコンを送る。受信されたビーコンは、802.11のMAC時間を示す。ビーコンの受信に応じて、各ノード502は、それぞれの802.11時間スタンプ(即ち、各周期に対するブロードキャスト時間)を更新する。各ノード502は、次いで、ローカル・マシン時間及びMAC時間の周期ごとの任意の差を決定する。計画及び切替モジュール526がノード502に対するチャンネル切替計画を計算するとき、計画及び切替モジュール526は、計画に関連する時間を、802.11MAC時間に変換する。そのような変換は、情報交換ロジック524による隣接ノード502への計画の任意の通信の前に実行される。他のノード502からのそのようなチャンネル切替計画の受信に応じて、計画及び切替ロジック526は、チャンネル切替イベントを計画するために、指示された802.11MAC時間を、関連するローカル・マシン時間に変換する。
この実現態様において、NICドライバ518はAPI534を公開し、切替ロジック526が、NICドライバ518に対し、要求ノード502にMAC時間(例えば、802.11MAC時間)を送信することを要求できるようにする。API534のこの部分は、要求ノード502がマシン時間とMAC時間との差を計算することを可能とする。この実現態様において、MAC時間の処理単位は1マイクロ秒であり、MAC時間の同期誤差は約1マイクロ秒の伝達遅延誤差である。マシン時間の処理単位は、例えば、一般に100ナノ秒である。従って、この特定の実現態様において、切替ロジック526は、マイクロ秒レベルでのノード・チャンネル切替同期を提供する。
更に、各ノード502は同一のホーム・チャンネル上で動作し、802.11MACブロードキャストはホーム・チャンネルのみでビーコン送信するため、新しいノードがネットワーク504に追加された際、当該新しいノードは、802.11走査フェーズを用いてネットワーク発見処理を実現する。
タイマ・ロジック
例示のために、ウィンドウズ(登録商標)・オペレーティング・システムのタイマの態様を説明する。これらの説明される態様は、他のオペレーティング・システムの実装と類似する。ウィンドウズにおけるデフォルトのタイマ処理単位は10msであり、アプリケーションは、一般に、100nsにおいて正確な時間測定を得ることができる。カーネルにおける厳格なタイマ要求のために、ウィンドウズは、タイマ処理単位を約1msまで調節するAPIを提供する。しかし、タイマ処理単位を調整した後に、平均タイマ誤差が1ms以下であったとしても、オペレーティング・システム(OS)の負荷が非常に高い際のタイマ誤差は依然として10ms以上になり得る。この理由の一つは、ソフトウェア及びハードウェアのイベントが、一般に、優先度ベースの処理キューに置かれるからである。ハードウェア・イベントは、一般に、処理のためのイベント・キューから取り除かれるための最高の優先度を有し、ソフトウェア・イベントは、多くの優先度をとり得る。従って、オペレーティング・システムのタイマ割り込みに基づくソフトウェア・タイマを用いてチャンネル切替計画を実現するには、現実的な制限が存在する。
従来のチャンネル切替タイマと比較して、OMMAC516は、オペレーティング・システムと関連付けられた多重処理時間スライスに基づく、ソフトウェア・タイマ・ロジック528のタイマを実装する。システム500のタイマ・ロジック528は、パケット及びチャンネル切替計画にタイマを提供するために、従来のソフトウェア・タイマの制限を解決しようとするものである。具体的に、タイマ・ロジック528は、タイマ・スレッドの優先度を最高のソフトウェア優先度レベルに設定し、それらがイベント・キューからすぐに取り出されて処理されるようにする。そのような優先度レベル調整は、実質的に、従来のチャンネル切替実現態様において顕著であったチャンネル切替待ち時間を減少させる。パケット及びチャンネル切替計画のために、タイマ・ロジック528は、パケット計画のためのタイマ・スレッドの満了/開始に応じて、パケット・バッファリング・ロジック530に特定の隣接ノード502にパケットを送信するよう通知する。(そのようなバッファリング・ロジックは、以下の「パケット・バッファリング・ロジックの例」と題された章で説明される)。もう一つの例において、チャンネル切替タイマが開始した際に、タイマ・ロジック528は、切替ロジック526に通知して、チャンネル切替命令/要求をNICドライバ518に(例えばAPI534を介して)送信させる。
データフロー例
図10は、一つの実施の形態による、アドホック・ネットワーク用分散OMMACのもう一つの例としてのノード構造を示す。具体的に、図10は、パケット・ルーティング・ロジック、OMMAC516のデータ面部及び制御面部、及びNICドライバ518の間の例としてのデータフローを示す。データ面は、パケット・バッファリング・ロジックを表す。そのようなパケット・バッファリング・ロジックは、図5において、パケット・バッファリング・ロジック530として示される。制御面は、図5に関して上述されたように、トラフィック測定ロジック522、情報交換ロジック524、分散一般計画及び切替ロジック526、及びタイマ・ロジック528を含む。従って、例示のために、図10の態様は、図5の構成要素に関連して記載される。この説明において、要素参照番号の一番左の数字は「5」で始まるが、当該要素は図5において最初に導入されている。
図10を参照して、OMMAC516は、データ面及び制御面を備える。データ面は、データ・トラフィック矢印1004に示すように、従来のパケット・ルーティング・ロジック1002からパケットを受信する。データ面は、また、OMMAC516の制御面部からメッセージ(例えば、ネゴシエーション・メッセージ、信号伝達メッセージ等)を受信する。(制御面からのメッセージは、制御面からデータ面へと左から右に向かった黒い(塗りつぶされた)矢印で表される。)図示されている通り、データ面分類ロジック1006は、受信したパケット/メッセージ(まとめてパケットと呼ぶ)を、パケットの宛先と、パケットがホーム・チャンネルで通信されるべきか特定のゲスト・チャンネルで通信されるべきかとに基づいて、ノード宛先キュー1008に入れる。そのような宛先キューは、例えば、「Dest−1〜Dest−n」として、図10に示される。ノード宛先及びチャンネル識別は、個々のパケット・ヘッダによって提供される。矢印1010は、NICドライバ518(NICハードウェア1012へのインターフェース)から入ってくる(アップリンク)メッセージを表す。図示されたように、OMMAC516は、データを表す入ってくるメッセージを、ルーティング・ロジック1002に転送する。OMMAC516は、データではない入ってくるメッセージを、制御面に転送する。
上記部分に示された通り、ネットワーク・ノードのローカルOMMAC516は、対応するノードが定期的周期の期間に(当該期間の終わりに該ノードはホーム・チャンネルに戻る)ホーム・チャンネルから対応するゲスト・チャンネルに切り替えるようにポーリング・ポイントをトリガする、タイマ・ロジック528を含む。ノードのポーリング・ポイントは、他のノードによって提供されるトラフィック測定だけではなく、トラフィック測定ロジック522のトラフィック測定によって提供されるノードのトラフィックに基づく。このために、このノードは、自らの特定のトラフィック測定を他のノードと交換して、他のノードが自身のポーリング・ポイントを決定できるようにする。図10の例において、制御面からデータ面への左から右への矢印はデータ・トラフィックを表し、少なくともその一部は、キューイング及びアドホック・ネットワーク内の他の各ノードへの通信のための、この特定のノードのトラフィック測定である。そのような通信は、矢印1014で示される。更に、上記部分に記載された通り、分散チャンネル計画ロジック526は、(例えば、グリーディ・アルゴリズムに基づいて)このノードのチャンネル切替時刻を計画し、チャンネル切替同期動作のために、これらの計画を他のノードに通信する。
パケット・バッファリング・ロジックの例
ここで、図10のデータ面の動作(図5のパケット・バッファリング・ロジック530としても表される)を、更に詳細に説明する。パケット・バッファリング・ロジックは、アドホック・ネットワークにおける他のネットワーク・ノードへのパケット伝送のために、分類ロジック1006及び制御面からのパケットをバッファする。この実現態様において、バッファリング・ロジック530は、優先度により分類された宛先キュー1004にパケットをバッファする(そのような優先度による分類は、先入れ先出し分類ではなく、OMMAC516及び/又は他のプログラム・モジュールの一つ又はそれ以上の各部分(例えば、タイマ・ロジック528)から提供される特定の優先度に基づくものである)。例えば、優先度キューにおいて、OMMAC516は、上記のチャンネル切替要求のような信号伝達メッセージを、他のアプリケーション・トラフィックと関連するメッセージよりも高いそれぞれの優先度をもって提供する。
この実現態様において、例えば、各ノード502は、異なる時刻に計画された異なる宛先へのパケット伝送を制御するために、ノード及び隣接ごとの宛先キュー1006を実現する。複数の隣接ノード・キュー1006が、(例えばホーム・チャンネル上で)同時にアクティブ(例えば、アクティブなキューがトラフィック閾値を提示する)且つ有効である場合、パケットはラウンド・ロビン順位に従って扱われる。図示された通り、パケット・バッファリング及び計画ロジックは優先度キューを保持するが、NICドライバ118又は対応するハードウェア1012はそうではない。これは、切替及び計画ロジック526が、対応するチャンネルが計画された通りに、全てのパケット転送時刻を制御することを可能とする。
ラウンド・ロビン順位に従ったパケット処理は、先出し先入れ(FIFO)計画に従ったパケット処理と異なる。これは、ノード502が異なるキューにおいて、個々の優先度に従ってパケットをバッファするためである。高優先度を有するキューは、低優先度を有するキューよりも、常に先に処理される。同じ優先度を有するキューは、ラウンドロビン計画よって処理される。FIFOでは、パケットは到着時刻に従って処理される。逆に、この実現態様では、高優先度のパケットは、低優先度でキューされたパケットより後に到着したとしても、キューから処理される。ラウンド・ロビン動作は、また、FIFOキュー処理動作とも異なる。例えば、キュー1及びキュー2が何らかの優先度を持っており、キュー1のパケット到着率がキュー2の2倍であると想定されたい。FIFOでは、キュー1はキュー2のニ倍の機会を与えられるが、ラウンドロビンでは、キュー2と同じだけの機会を与えられる。
従来のチャンネル切替機構がチャンネルを切り替える際、MACによってバッファされたパケット又はハードウェアにバッファされたパケットは、一般に、チャンネル切替の際に発生するハードウェア・リセットのために欠損する。更に、データ・スループット性能に割り当てられるMAC又はハードウェアのバッファ空間は、一般にサイズが限られており、しばしばバッファ・オーバーフロー状態を引き起こす。そのような従来システムの限界に取り組むために、パケット・バッファリング及び計画ロジックは、先に通信されたパケットがNICドライバ518によって処理された場合にのみ、NIC518にパケットを送信する。この決定を提供するために、NICドライバ518は、情報交換モジュール524に成功のステータスを通信する(アップリンク矢印1010参照)。情報交換モジュール524は、次に、当該ステータスをパケット・バッファリング及び計画ロジックに通信する。そのようなシナリオにおいて、先のパケットがNICドライバ518において保留されている場合、パケット・バッファリング及び計画ロジックは、そのような成功ステータスを受信するまで、任意の次のパケットを保持する。更に、この実現態様において、切替及び計画ロジック526は、タイマ・ロジック528を用いて、任意の計画されたチャンネル切替イベントの前にパケット排出時間を設定する。このパケット排出時間は、無線NICハードウェア1008に、任意のバッファされたパケットをチャンネル切替作業前に通信する時間を提供する。この実現態様において、パケット排出時間は1msである。
実現態様例
図11は、一つの実施の形態により、アドホック・ネットワーク用分散OMMACを実現するネットワーク・ノードに対する例としての実現態様1100を示す。この特定の例は、ウィンドウズ・プロットフォームに実装されたローカルOMMAC516を備えるノード502(図5も参照されたい)を示す。この表現は例示のみを目的とするものであり、ローカルOMMMAC516を実現する多くの可能なプラットフォームの中の、サンプルとしてのプラットフォームの一つに過ぎない。例えば、ノードのローカルOMMMAC516は、Linuxプラットフォーム、UNIXプラットフォーム等に実現されてもよい。図11を参照して、この実現態様の積み重ねモジュールが、図11において明るい影突きで示される。例えば、OMMAC516は、ウィンドウズXP(登録商標)プラットフォームにおけるIM(インターメディア)NDIS(ネットワーク・ドライバ・インターフェース仕様)ドライバとして実現される。NICミニポート・ドライバ518(図5も参照されたい)は、(a)(802.11アドホック・ネットワークにおける全ノード502についてビーコンによって同期された)802.11MAC時刻を提供するインターフェース534(図5も参照されたい)、(b)NICドライバにおいてチャンネル切替要求を受信し返信するためのインターフェース534、及び(c)等を提供する。コマンド・ライン・ツール1102は、OMMAC516の行動を制御するためのユーザ・インターフェースを提供する。そのような行動には、例えば、チャンネル切替の周期時間、スロット・サイズ、監視時間のようなパラメータの変更及び/又はその他が含まれる。この例は、また、ユーザ空間で動作し、カーネル空間の「Win Socket」、「TCP/IP」及び「NDIS」と通信して無線NICと通信する「アプリケーション」を図示する。繰り返すが、これは、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのためのシステム及び方法を実現する、ネットワーク・ノードの一つの例としての実現態様に過ぎない。
手順例
図12は、一つの実現態様による、無線ネットワーク用分散オーバレイ多チャンネルMACの例としての手順1200を示す。一つの実現態様において、手順1200の動作は、図5のネットワーク・ノード502の各プログラム・モジュール510により実現される。例示及び説明のために、手順1200の動作は、図5〜11の構成要素及び様々な態様に関して説明される。この説明において、構成要素/動作(ステップ)の参照番号の最も左の100から999の数字は、当該構成要素/動作が最初に導入された図を示す。同様に、構成要素/動作(ステップ)の参照番号の最も左の1000及びそれ以上の2つの数字は、当該構成要素/動作が最初に導入された図を示す。
図12を参照して、ブロック1202の動作は、アドホックな無線ネットワークにおけるネットワーク・ノードのためのホーム・チャンネル周波数(「ホーム・チャンネル」)を決定する。ブロック1204の動作は、ホーム・チャンネルと直交する一組のゲスト・チャンネル周波数(「ゲスト・チャンネル」)を特定する。ホーム及びゲスト・チャンネルは、無線ネットワーク・プロトコルによって提供される複数のチャンネル周波数から選択される(即ち、決定及び特定される)。そのような無線ネットワーク・プロトコルには、例えばIEEE802.11が含まれる。ブロック1206の動作は、アドホックな無線ネットワークの各ノードにより、ホーム・チャンネル上で、個々の可変且つ互いに重なり合う時間量において、他のネットワーク・ノードとのネットワーク接続性を保持するように動作する。ブロック1208の動作は、各ノードにより、アドホック・ネットワークのデータ・スループットをローカルで最適化するために、可変時間に渡り、ホーム・チャンネルから個々の割り当てられたゲストチャンネルに切り替えるか否か、及び、いつ切り替えるかを決定する。
図13は、一つの実施の形態による、アドホック・ネットワーク用分散オーバレイ多チャンネルMACのもう一つの例としての手順を示す。ブロック1302の動作は、無線ネットワーク・プロトコルの定期的周期を2つの段階に分割する。2つの段階は、ノード接続性段階と、データ・スループット改善段階とを含む。定期的周期は、無線ネットワーク・プロトコルに従って各ネットワーク・ノードによって通信される周期的なビーコン・メッセージと関連する。一つの実現態様において、無線ネットワーク・プロトコルは、IEEE802.11無線ネットワーク・プロトコルに基づく。
ブロック1304の動作は、接続性段階の期間に、複数の利用可能なチャンネル周波数のうちの単一のホーム・チャンネル周波数上で接続性を保持するように、アドホック・ネットワークの各ネットワーク・ノードを構成する。複数の利用可能なチャンネル周波数は、無線ネットワーク・プロトコルによって提供され、無線ネットワーク・プロトコルに従う。ブロック1306の動作は、接続性段階の期間に、少なくとも二つのノードを、ホーム・チャンネルと直交する複数のゲスト・チャンネルのうちの一つのゲスト・チャンネル上で通信するよう構成する。ブロック1308の動作は、各ネットワーク・ノードにより、接続性段階の期間にホーム・チャンネルを用いて、アドホック・ネットワークにおける各ノード間の接続性を保持する。ブロック1310の動作は、データ・スループット改善段階の期間に、ネットワーク・ノードの少なくとも一つのサブセットにより、一つ又はそれ以上の割り当てられた各ゲスト・チャンネルを用いて、アドホック・ネットワークにおけるデータ・スループットを最適化する。この方法では、アドホック・ネットワークにおけるネットワーク・ノードは、ノード対ノードのネットワーク接続性を保持し、アドホック・ネットワークの性能を改善する。
結論
上記では、構造的特長及び/又は方法上の手順又は動作に特化した言葉で、無線アドホック・ネットワーク用分散オーバレイ多チャンネルMACを説明したが、添付の特許請求の範囲によって画定される実現態様は、必ずしも説明された特定の特徴又は動作に限られない。例えば、OMMAC516(図5参照)のチャンネル切替待ち時間は、非リアルタイムOSによって提供されるソフトウェア・タイマを、ハードウェア・タイマに交換することにより低減され得る。代わりに、代替の実現態様において、タイマの正確性は、OSにリアルタイムのサポートを追加することにより向上する。従って、上記の無線アドホック・ネットワーク用分散オーバレイ多チャンネルMACの特定の特徴及び動作は、請求項に記載の発明を実現する例である。
1〜6 ノード
202、204、206 トラフィック・パターン
402、404、406、408、410 トラフィック・パターン
500 システム

Claims (20)

  1. コンピュータで実現される方法であって、
    アドホック・ネットワークにおける複数のネットワーク・ノード(「ノード」)のためのホーム・チャンネル周波数(「ホーム・チャンネル」)を決定するステップと、
    前記ホーム・チャンネルに直交する一組のゲスト・チャンネル周波数(「ゲスト・チャンネル」)を特定するステップと、
    前記複数のノードの各ノードにより、前記ホーム・チャンネル上で、個々の可変且つ互いに重なり合う時間量に渡り、他のノードとのネットワーク接続性を保持するよう動作するステップと、
    前記複数のノードの各ノードにより、前記アドホック・ネットワークのデータ・スループットをローカルで最適化するために、可変時間量に渡り、前記ホーム・チャンネルから前記ゲスト・チャンネルのうちの特定のゲスト・チャンネルに切り替えるか否か、及びいつ切り替えるかを決定するステップと、
    を備える方法。
  2. 請求項1記載の方法であって、前記ホーム・チャンネル及び前記ゲスト・チャンネルが、無線ネットワーク・プロトコルによって決定される方法。
  3. 相互接続されたネットワーク・ノード(「ノード」)のアドホック・ネットワークにおいて、コンピュータで実現される方法であって、
    無線ネットワーク・プロトコルのビーコン時間と関連付けられた定期的周期を二つの段階に分割するステップであって、該二つの段階が、接続性段階とデータ・スループット改善段階とを備えるステップと、
    前記接続性段階の期間に、複数の利用可能なチャンネル周波数のうちの単一のチャンネル周波数(「ホーム・チャンネル」)上での接続性を保持するよう、前記複数のノードのうちの各ノードを構成するステップであって、前記利用可能なチャンネル周波数が前記無線ネットワーク・プロトコルによって確立されるステップと、
    前記接続性段階の期間に、複数のゲスト・チャンネルのうちの特定のゲスト・チャンネルで通信するよう前記複数のノードの少なくとも一つのサブセットを構成するステップであって、各ゲスト・チャンネルが前記ホーム・チャンネルと直交するステップと、
    前記接続性段階の期間に、各ノードにより、前記ホーム・チャンネルを用いてアドホック・ネットワークにおける接続性を保持するステップと、
    前記データ・スループット改善段階の期間に、前記複数のノードの少なくとも一つのサブセットによって、前記複数のゲスト・チャンネルのうちの一つ又はそれ以上のゲスト・チャンネルを用いて、前記アドホック・ネットワークにおけるデータ・スループットを最適化するステップと、
    を備える方法。
  4. 請求項3記載の方法であって、前記無線ネットワーク・プロトコルがIEEE802.11に基づく方法。
  5. 請求項3記載の方法であって、前記ホーム・チャンネルが、前記利用可能なチャンネル周波数のうちで、他のチャンネルのノイズと比べて比べて最も少ないノイズを有する一つのチャンネル周波数である方法。
  6. 請求項3記載の方法であって、各ノードが前記ホーム・チャンネル上で接続性を保持するように構成するステップが、更に、
    前記定期的周期において、各ノードが前記ホーム・チャンネル上で動作する各時間量を決定するステップと、
    前記各時間量の最小値を計算するステップであって、該最小値が、前記複数のノード全てが前記ホーム・チャンネル上で動作している時間量を表し、前記最小の時間量がブロードキャスト時間期間Tであるステップと、
    前記アドホック・ネットワークの各ノードにより、T期間における接続性を保持するように、各ブロードキャスト・メッセージをブロードキャストするステップと、
    を備える方法。
  7. 請求項3記載の方法であって、少なくとも前記サブセットが前記特定のゲスト・チャンネル上で通信するよう構成するステップに関連する処理が分散されており、各ノードが、該ノードの1ホップの隣接ノードのデータ・スループット及び接続性に基づいて、前記複数のゲスト・チャンネルのうちの各チャンネルで通信するよう構成される方法。
  8. 請求項3記載の方法であって、少なくとも前記サブセットが前記特定のゲスト・チャンネルで通信するよう構成するステップに関連する処理が、更に、
    前記アドホック・ネットワークのノードのデータ・トラフィック・パターンを表すノード・トラフィック図を決定するステップと、
    前記ノード・トラフィック図を、前記トラフィック図に示されるアクティブ・ノード間の通信リンクを表すリンク図に変換するステップであって、各アクティブ・ノードが、データ・トラフィックの閾値と関連付けられているステップと、
    前記リンク図からノードの最大独立集合(MIS)を特定するステップであって、前記MISノードのそれぞれが、他のノードと初期衝突していないノードであり、該初期衝突とは、或るノードともう一つのノードがデータ通信のために同一のノードを必要とする場合である、ステップと、
    前記リンク図を、前記ゲスト・チャンネルを表すチャンネル図に変換するステップと、
    前記ノードのMISに少なくとも二つのノードが表されている場合に、前記ノードのMISの各ノードについて、前記ノードを、前記チャンネル図に表された前記複数のゲスト・チャンネルの各ゲスト・チャンネルに割り当てるステップと、
    を備える方法。
  9. 請求項8記載の方法であって、前記ノードのMISが前記複数のノードのうちの単一のノードのみを表し、前記方法が、更に、前記単一のノードと関連付けられた任意のチャンネル切替計画を削除するステップを備える方法。
  10. 請求項8記載の方法であって、前記ノードのMISがグリーディ・アルゴリズムを用いて決定される方法。
  11. 請求項3記載の方法であって、前記接続性を保持するステップ及び前記データ・スループットを最適化するステップに関連付けられた処理が、更に、
    前記定期的周期の期間に、各ノードについて、
    前記ノードともう一つのノードとの間のデータ・スループットが改善可能である場合に、
    (a)前記定期的周期内のポーリング・ポイントにおいて前記ノードが前記ホームチャンネルから特定のゲスト・チャンネルに切り替えるチャンネル切替計画を計算するステップと、
    (b)前記ノードと前記他のノードとが、同期された時刻に前記複数のゲスト・チャンネルのうちの特定のゲスト・チャンネルに切り替えることができるように、前記他のノードに対し前記チャンネル切替計画を通信するステップと、
    (c)前記ノードを前記接続性段階から前記データ・スループット改善段階へと遷移させるように、前記同期された時刻に前記ノードを前記ホーム・チャンネルから前記特定のゲスト・チャンネルに切り替えるステップであって、前記ノードが前記定期的周期の終わりに前記ホーム・チャンネルに戻るよう切り替えるように構成されるステップと、
    を備え、
    前記ノードともう一つのノードとの間のデータ・スループットが改善不可能である場合に、
    前記ノードが前記ホーム・チャンネルに留まるように、前記ノードと関連付けられた任意のチャンネル切替計画を削除するステップ
    を備える方法。
  12. 請求項11記載の方法であって、前記同期された時刻が、前記ノードの第一のローカル・マシン時間に従って前記ノードにより計画され、前記他のノードが前記他のノードと関連付けられた第二のローカル・マシン時間に従って前記同期された時刻を表し、第一及び第二のローカル・マシン時間が互いに独立している方法。
  13. 請求項12記載の方法であって、前記チャンネル切替計画を計算するステップが、更に、
    前記ノードにより、前記ホーム・チャンネル上で、前記無線ネットワーク・プロトコルと関連付けられたメディア・アクセス制御(MAC)時間を示すビーコン・メッセージを受信するステップと、
    前記ノードにより、前記第一のローカル・マシン時間と前記MAC時間との差を決定するステップと、
    前記ノードにより、前記差を用いて、前記同期された時刻を表す第一のポーリング・ポイントを、前記ノードのローカル・マシン時間からMACベースのポーリング・ポイント時刻へと変換するステップと、
    前記チャンネル切替計画における前記MACベースのポーリング・ポイント時刻を、前記他のノードに通信するステップであって、前記他のノードによる前記チャンネル切替計画の受信が、前記他のノードに、
    前記MACベースのポーリング・ポイント時刻を、前記他のノードのローカル・マシン時間に基づく、前記同期された時刻を表す第二のポーリング・ポイント時刻に変換し、
    前記第二のポーリング・ポイント時刻において、前記ホーム・チャンネルから前記特定のゲスト・チャンネルへと切替る、
    ようにさせるステップと、
    を備える方法。
  14. 請求項3記載の方法であって、前記複数のノードのうちの一つのノードについて、データ・スループットを最適化するステップが、更に、前記ノードが或る時間量に渡りゲスト・チャンネルに留まるよう構成するステップを備え、該時間量が、
    (a)対応する通信リンクのトラフィック量に応じて調整され、
    (b)前記通信リンクのトラフィックが増加した場合に増加され、
    (c)前記ノードの任意の他のトラフィックが影響を受けないことを保証するように、前記定期的周期と比例する、
    方法。
  15. 請求項14記載の方法であって、前記ノード(N)について、全体チャンネル占有時間(TNi)が、前記ノードと関連付けられた全チャンネルにおける伝送時間及び受信時間を表し、Nともう一つのノード(N)との間の通信リンク(l(i,j))について、全体占有時間(T(i,j))が全チャンネルにおけるチャンネル占有時間を表し、前記方法が、更に、
    前記ノードが前記ホーム・チャンネルから前記ゲスト・チャンネルに切り替わる各ポーリング・ポイントを、
    Figure 2010522487
    に従って決定するステップであって、ただし、
    Figure 2010522487
    であり、
    リンクl(i,j)の時間重み付けが、
    Figure 2010522487
    で表されるように、ノードNにおけるリンクl(i,j)の時間重み付けが、
    Figure 2010522487
    で表され、Tが前記ノードが前記ゲスト・チャンネルで動作する時間量であって、前記定期的周期(T)に比例する時間量を表すステップ
    を備える方法。
  16. プロセッサにより実行可能なコンピュータ・プログラム命令を備える、有形のコンピュータ読み取り可能媒体であって、該コンピュータ・プログラム命令が、動作のために実行される際に、複数のネットワーク・ノード(「ノード」)のためのチャンネル周波数切替動作を計画するステップであって、
    前記アドホック・ネットワークにおける通信リンク(「リンク」)の最大独立集合(MIS)を決定するステップと、
    前記複数のノードのうちの一つのノードによって、前記MISリンクのうちの一つのリンクを介して、前記複数のノードのうちの他のノードに、提案されたポーリング・ポイントにおける複数のゲスト・チャンネルのうちの特定のゲスト・チャンネルへのチャンネル切替を計画するよう要求するステップであって、前記提案されたポーリング・ポイントが、定期的周期中の同期された瞬間として定義され、前記定期的周期が無線ネットワーク・プロトコルのネットワーク・ビーコンに基づくものであり、各ゲスト・チャンネルが、前記複数のノード全てによりネットワーク接続性を保持するために利用されるホーム・チャンネルに直交であるステップと、
    前記他のノードから承認応答を受信するステップと、
    前記アドホック・ネットワークにおけるデータ・スループットをローカルで最適化するために、前記承認応答の受信に応じて、前記提案されたポーリング・ポイントにおいて前記特定のゲスト・チャンネルへ切り替えるステップと、
    によりチャンネル周波数切替動作を計画するステップ、
    を備えるコンピュータ読み取り可能媒体。
  17. 請求項16記載のコンピュータ読み取り可能媒体であって、前記ノードに対して提案されたポーリング・ポイントが、該ノードと関連付けられたローカル・マシン時間に基づき、前記他のノードに対して提案されたポーリング・ポイントが、該他のノードと関連付けられた別のローカル・マシン時間に基づく方法。
  18. 請求項16記載のコンピュータ読み取り可能媒体であって、前記MISがローカルMISであって、各ノードが個々のローカルMISを決定し、前記コンピュータ・プログラム命令が、更に、
    前記複数のノードの各ノードによって、前記複数のノードのうち該ノードから1ホップ範囲内にある一つ又はそれ以上の隣接ノードと関連付けられたトラフィック情報に基づいて、個々のローカルMISを確立するための命令であって、該決定が前記ノードから1ホップ範囲より遠い任意の他のノードと関連付けられたトラフィック情報から独立している命令を備えるコンピュータ読み取り可能媒体。
  19. 請求項16記載のコンピュータ読み取り可能媒体であって、前記MISが集中MISであり、前記集中MISを決定するための動作が、更に、前記複数のノードの全ノード間の通信リンクに基づいてリンク図を生成するステップを備えるコンピュータ読み取り可能媒体。
  20. 請求項16記載のコンピュータ読み取り可能媒体であって、前記コンピュータ・プログラム命令が、更に、
    前記複数のノードのうちの一つのノードにより、前記複数のノードの全ての他のノードにブロードキャスト・メッセージを介して直接連絡できることを確立するための命令と、
    前記確立に応じて、
    前記ホーム・チャンネルを異なるチャンネル周波数に移し、
    前記アドホック・ネットワークにおける該ホーム・チャンネルと直交する残りのチャンネル周波数を、ゲスト・チャンネルとして分類するための命令と、
    を備えるコンピュータ読み取り可能媒体。
JP2009554713A 2007-03-19 2008-03-19 無線アドホック・ネットワーク用分散オーバレイ多チャンネル・メディア・アクセス制御(mac) Expired - Fee Related JP4723035B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/687,951 US7720086B2 (en) 2007-03-19 2007-03-19 Distributed overlay multi-channel media access control for wireless ad hoc networks
US11/687,951 2007-03-19
PCT/US2008/057514 WO2008115996A1 (en) 2007-03-19 2008-03-19 Distributed overlay multi-channel media access control (mac) for wireless ad hoc networks

Publications (3)

Publication Number Publication Date
JP2010522487A true JP2010522487A (ja) 2010-07-01
JP2010522487A5 JP2010522487A5 (ja) 2010-12-02
JP4723035B2 JP4723035B2 (ja) 2011-07-13

Family

ID=39766428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009554713A Expired - Fee Related JP4723035B2 (ja) 2007-03-19 2008-03-19 無線アドホック・ネットワーク用分散オーバレイ多チャンネル・メディア・アクセス制御(mac)

Country Status (6)

Country Link
US (2) US7720086B2 (ja)
EP (1) EP2132903A4 (ja)
JP (1) JP4723035B2 (ja)
CN (1) CN101641909B (ja)
CA (1) CA2680289A1 (ja)
WO (1) WO2008115996A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178744A (ja) * 2011-02-25 2012-09-13 Nintendo Co Ltd 無線通信プログラム、情報処理装置、および通信制御方法
JP2018532355A (ja) * 2015-09-23 2018-11-01 アール3−リライアブル リアルタイム レディオ コミュニケーションズ ゲーエムベーハー 通信システム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146196A1 (en) * 2007-05-25 2008-12-04 Koninklijke Philips Electronics, N.V. Channel change decision mechanism and method for a wireless network
US8228785B2 (en) * 2007-10-11 2012-07-24 Samsung Electronics Co., Ltd. Method for contention-free NPD periodic updating
US20090154386A1 (en) * 2007-12-18 2009-06-18 Tricci So Wimax multicast broadcast services (mbs) efficient handover and power saving support for intra and inter-mbs zones
JP5320859B2 (ja) * 2008-06-30 2013-10-23 富士通株式会社 無線アドホック通信システム
US20110117852A1 (en) * 2008-07-22 2011-05-19 Gregory Clark Copeland Ad hoc wireless communications
KR101572792B1 (ko) * 2008-10-09 2015-12-11 코닌클리케 필립스 엔.브이. 메시―유형 네트워크들에서의 채널 전환
CN102257865A (zh) * 2008-12-25 2011-11-23 三洋电机株式会社 报知方法以及访问控制装置、无线装置
US8233495B2 (en) * 2009-04-22 2012-07-31 Intel Corporation Discovery channel and discovery beacon for peer-to-peer devices in wireless communications network
US8730844B2 (en) 2009-05-04 2014-05-20 Lockheed Martin Corporation Self-forming ad-hoc network system
DE102011003656B4 (de) * 2011-02-04 2014-08-21 MESH Mobile Electronics in Sports & Health GmbH Verfahren zur Durchführung eines Wechsels eines von einer Gruppe aus mehreren Teilnehmern gemeinsam genutzten Übertragungskanals
JP5814631B2 (ja) * 2011-06-01 2015-11-17 富士通株式会社 ゲートウエイ装置、ノード装置、通信システム及びチャネル変更方法
CN103024811B (zh) * 2011-09-28 2016-06-15 富士通株式会社 无线网络通信方法及无线网络通信装置
US8849325B2 (en) 2011-10-28 2014-09-30 Qualcomm Incorporated Determination of maximal independent sets of mobile devices
US9270579B2 (en) 2012-04-27 2016-02-23 Cisco Technology, Inc. Synchronization of traffic multiplexing in link aggregation
US9323803B2 (en) * 2012-07-02 2016-04-26 International Business Machines Corporation Collaborative filtering of a graph
CN103516502B (zh) * 2012-08-02 2016-08-03 杭州电子科技大学 专用控制信道多信道协议吞吐量的计算系统及方法
CN102869114B (zh) * 2012-08-28 2015-02-11 杭州电子科技大学 基于ieee 802.11的公共跳多信道协议吞吐性能分析系统及方法
EP3360374B1 (en) * 2015-10-09 2020-03-25 Telefonaktiebolaget LM Ericsson (PUBL) Network node, wireless device and methods performed thereby for the network node to provide information to the wireless device
CN106789218B (zh) * 2016-12-13 2019-12-31 中国电子科技集团公司第二十研究所 一种基于事件的链路冲突实时仿真方法
US10298289B2 (en) * 2017-04-19 2019-05-21 Qualcomm Incorporated Synchronization and paging channel design for wireless communications
CN111698146B (zh) * 2020-06-10 2022-05-20 深圳市慧联通信技术有限公司 一种低功耗广域网的即时通信方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044533A1 (en) * 2002-08-27 2004-03-04 Hossein Najaf-Zadeh Bit rate reduction in audio encoders by exploiting inharmonicity effects and auditory temporal masking
JP2004509514A (ja) * 2000-09-15 2004-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ieee802.11のwlanのための動的チャネル選択スキーム
US6829216B1 (en) * 2000-08-18 2004-12-07 Hitachi Telecom (U.S.A.), Inc. Method and system for designing a network
JP2004364260A (ja) * 2003-05-30 2004-12-24 Samsung Electronics Co Ltd マルチチャンネルを用いた無線lan通信方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE301350T1 (de) * 2000-04-07 2005-08-15 Nokia Corp Verfahren und vorrichtung zur übertragung mit mehreren antennen
US6990080B2 (en) * 2000-08-07 2006-01-24 Microsoft Corporation Distributed topology control for wireless multi-hop sensor networks
US7035227B2 (en) * 2000-10-10 2006-04-25 The Regents Of The University Of California On-demand loop-free multipath routing (ROAM)
US6807165B2 (en) * 2000-11-08 2004-10-19 Meshnetworks, Inc. Time division protocol for an ad-hoc, peer-to-peer radio network having coordinating channel access to shared parallel data channels with separate reservation channel
US7756090B2 (en) 2002-03-12 2010-07-13 Koninklijke Philips Electronics N.V. System and method for performing fast channel switching in a wireless medium
US20040042424A1 (en) 2002-08-30 2004-03-04 Hsu Hsien-Tsung Switch method and device thru MAC protocol for wireless network
US20050180356A1 (en) 2002-10-01 2005-08-18 Graviton, Inc. Multi-channel wireless broadcast protocol for a self-organizing network
US7379447B2 (en) * 2003-05-02 2008-05-27 Microsoft Corporation Slotted seeded channel hopping for capacity improvement in wireless networks
US20040230680A1 (en) * 2003-05-16 2004-11-18 Kamal Jain Computer-based techniques providing greedy approaches for facility location and other similar problems
WO2004109476A2 (en) 2003-06-05 2004-12-16 Meshnetworks, Inc. System and method to maximize channel utilization in a multi-channel wireless communication network
US7414982B2 (en) * 2003-06-24 2008-08-19 Raytheon Company Distributed dynamic channel selection in a communication network
US7469143B2 (en) * 2003-10-07 2008-12-23 Microsoft Corporation Model and method for computing performance bounds in multi-hop wireless networks
KR100659332B1 (ko) 2004-07-27 2006-12-19 학교법인 울산공업학원 이동 애드혹 네트워크에서 다중채널을 이용한 경로재설정방법
JP4590969B2 (ja) * 2004-07-28 2010-12-01 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
US7466676B2 (en) 2004-11-30 2008-12-16 Stmicroelectronics Asia Pacific Pte. Ltd. Method and apparatus for multi-channel MAC protocol using multi-tone synchronous collision resolution
EP1829398B1 (en) * 2004-12-23 2018-01-17 Intellectual Ventures I LLC Systems and methods for the connection and remote configuration of wireless clients
KR101237544B1 (ko) 2005-05-13 2013-02-26 삼성전자주식회사 단일 무선 인터페이스를 위한 다중채널 스케줄링 방법
KR101235972B1 (ko) 2005-05-31 2013-02-21 삼성전자주식회사 단일 무선 인터페이스 무선랜 장치를 위한 다중채널 매체접속제어 방법 및 장치
KR101234900B1 (ko) 2005-06-14 2013-02-19 삼성전자주식회사 다중채널 매체접속제어를 위한 비애자일 채널화 방법
KR20060131671A (ko) * 2005-06-15 2006-12-20 한국전자통신연구원 셀룰러 시스템의 레이턴시를 향상시키는 프로토콜 구조를갖는 무선 통신 시스템
US8077683B2 (en) * 2005-11-03 2011-12-13 Interdigital Technology Corporation Method and system for performing peer-to-peer communication between stations within a basic service set

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829216B1 (en) * 2000-08-18 2004-12-07 Hitachi Telecom (U.S.A.), Inc. Method and system for designing a network
JP2004509514A (ja) * 2000-09-15 2004-03-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Ieee802.11のwlanのための動的チャネル選択スキーム
US20040044533A1 (en) * 2002-08-27 2004-03-04 Hossein Najaf-Zadeh Bit rate reduction in audio encoders by exploiting inharmonicity effects and auditory temporal masking
JP2004364260A (ja) * 2003-05-30 2004-12-24 Samsung Electronics Co Ltd マルチチャンネルを用いた無線lan通信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178744A (ja) * 2011-02-25 2012-09-13 Nintendo Co Ltd 無線通信プログラム、情報処理装置、および通信制御方法
US10111242B2 (en) 2011-02-25 2018-10-23 Nintendo Co., Ltd. Systems and methods of preferential queuing by an information processing apparatus in a doze state
JP2018532355A (ja) * 2015-09-23 2018-11-01 アール3−リライアブル リアルタイム レディオ コミュニケーションズ ゲーエムベーハー 通信システム

Also Published As

Publication number Publication date
US7720086B2 (en) 2010-05-18
US20100214945A1 (en) 2010-08-26
EP2132903A1 (en) 2009-12-16
EP2132903A4 (en) 2014-10-22
CA2680289A1 (en) 2008-09-25
WO2008115996A1 (en) 2008-09-25
CN101641909B (zh) 2012-07-18
US20080232389A1 (en) 2008-09-25
CN101641909A (zh) 2010-02-03
JP4723035B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
JP4723035B2 (ja) 無線アドホック・ネットワーク用分散オーバレイ多チャンネル・メディア・アクセス制御(mac)
Rajesh et al. Congestion control using aodv protocol scheme for wireless ad-hoc network
US7609641B2 (en) System and method for providing a congestion-aware routing metric for selecting a route between nodes in a multihopping communication network
US6480505B1 (en) Batched fair exhaustive polling scheduler
Cicconetti et al. Bandwidth balancing in multi-channel IEEE 802.16 wireless mesh networks
US8077666B2 (en) Method and apparatus for assigning channels for a multi-radio wireless mesh network
EP1911205B1 (en) Bandwidth allocation in a wireless network
Barroso et al. /spl mu/-MAC: an energy-efficient medium access control for wireless sensor networks
KR101484059B1 (ko) 다중 전송 속도 파티셔닝 및 협력 전송을 이용한 고속 무선랜 통신 방법 및 무선랜 통신 장치
US8885631B2 (en) Multiuser detection enabled medium access control in mobile ad hoc networks
JP5392266B2 (ja) ネットワークシステム、公衆網リソース管理装置、公衆網無線基地局、自営網リソース管理装置、自営網無線基地局
Giustiniano et al. WiSwitcher: an efficient client for managing multiple APs
Kapoor et al. An end-to-end QoS aware greedy distributed scheduling framework for WiMAX mesh networks
JP2017017618A (ja) 通信制御方法及び中継局装置
Saeed et al. If you can't beat them, augment them: Improving local wifi with only above-driver changes
Kramer et al. Cooperative fair bandwidth scaling in contention-based wireless networks using time token bucket
Nahle et al. Graph-based approach for enhancing capacity and fairness in wireless mesh networks
US7664082B1 (en) Method of scheduling with multiple radios per node in a wireless multihop network
US7639662B1 (en) Quality of service congestion metrics propagated using routing updates system and method
Kirchhof et al. Improving MAC protocols for wireless industrial networks via packet prioritization and cooperation
Mozaffari Ahrar et al. T2AS: Topology/Traffic Aware Scheduling to Optimize the End-to-end Delay in IEEE802. 154e-TSCH Networks
Jasuja et al. A minimal spanner and backoff approach for topology and collision control in mesh networks
Sheltami et al. Clusterhead controlled token for virtual base station on-demand in manets
Seferoglu et al. Dynamic decentralized multi-channel MAC protocols
Sankaranarayanan et al. Enhancing wireless spectrum utilization with a cellular-ad hoc overlay architecture

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101013

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20101013

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20101109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees