(57)【要約】【課題】ネットワーク上のチャネルにアクセスする技法を提供すること。【解決手段】時系列をなすフレームによって互いに通信するように構成されたデバイスを備える通信システムにおいて、各々のフレームがサブチャネルを含み、所与のフレーム中のサブチャネルの総数が、送信スケジュールに基づいて動的に決定される。前記送信スケジュールが、前記デバイス間でやり取りされる送信リストに基づいて前記デバイスによって計算される。第１のデバイス用の第１の送信リストが、前記第１のデバイスが予約した第１のサブチャネルグループと、前記第１のデバイスと通信するデバイスの集合が予約した第２のサブチャネルグループとを含む。【選択図】図１
2008167446.tif 000002
【特許請求の範囲】
【請求項１】
時系列をなすフレームによって互いに通信するように構成されたデバイスを備える通信システムであって、
各々のフレームがサブチャネルを含み、
所与のフレーム中のサブチャネルの総数が、送信スケジュールに基づいて動的に決定され、
前記送信スケジュールが、前記デバイス間でやり取りされる送信リストに基づいて前記デバイスによって計算され、
第１のデバイス用の第１の送信リストが、前記第１のデバイスが予約した第１のサブチャネルグループと、前記第１のデバイスと通信するデバイスの集合が予約した第２のサブチャネルグループとを含む、
通信システム。
【請求項２】
前記第１のデバイスが前記デバイス集合のうちの第１の部分集合と直接的に通信する、請求項１に記載の通信システム。
【請求項３】
前記第１のデバイスが前記デバイス集合の第２の部分集合と間接的に通信し、また、前記第１のデバイスと第２のデバイス間の間接的通信が、前記第１のデバイスと直接的に通信する第３のデバイスを介して仲介される、請求項２に記載の通信システム。
【請求項４】
前記第２のサブチャネルグループが、前記デバイス集合のうちの前記第１の部分集合が予約したサブチャネルと、前記デバイス集合のうちの前記第２の部分集合が予約したサブチャネルとを含む、請求項３に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のチャネルにアクセスする技法に関する。より詳しくは、本発明は、動的なフレームの決定とスケジューリングのためのプロトコルに関する。
【背景技術】
【０００２】
従来、種々の通信システムが提案され実用化されているが、それらの従来のシステムは、いずれも一長一短あり、いまだ満足すべきものがないのが現状である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、従来の通信システムの問題を解決することを課題とする。
【課題を解決するための手段】
【０００４】
本発明の一実施形態は、時系列をなすフレームによって互いに通信するように構成されたデバイスを含む通信システムを提供する。このようなフレームは各々が複数のサブチャネルを含み、所与のフレーム中のサブチャネルの総数は送信スケジュールに基づいて動的に決定される。さらに、この送信スケジュールは、これらデバイス間でやり取りされる送信リストに基づいてこれらデバイスによって計算される。例えば、第１のデバイスに対する第１の送信リストには、第１のデバイスによって予約されているサブチャネルからなる第１のグループと、この第１のデバイスと通信しているデバイスの集合によって予約されているサブチャネルからなる第２のグループとが含まれている。
【０００５】
一部の実施形態では、第１のデバイスはこのデバイス集合の第１の部分集合と直接的におよび／またはこのデバイス集合の第２の部分集合と間接的に通信する。ここで、第１のデバイスと第２のデバイス間での間接的通信は、第１のデバイスと直接的に通信している第３のデバイスによって仲介される。さらに、第２のグループのサブチャネルには、上記のデバイス集合の第１の部分集合によって予約されているサブチャネルと、上記のデバイス集合の第２の部分集合によって予約されているサブチャネルとが含まれている。
【０００６】
一部の実施形態では、第１の送信リストには、第１のデバイスと上記のデバイス集合のうちのどちらかまたは双方を将来において送信する必要がある場合のためのマージンが含まれている。例えば、このマージンには、これらデバイス間の通信で用いられる予約されていないサブチャネルが含まれる。
【０００７】
一部の実施形態では、第１の送信リストは、第１のグループのサブチャネル中の１つ以上のサブチャネル中で第１のデバイスによって送信される。さらに、第１の送信リストは、第１のグループのサブチャネルのうちの１つ以上のサブチャネルの制御部分中で交換される。
【０００８】
一部の実施形態では、第１の送信リストには、第１のデバイスと、第１グループのサブチャネルおよび第２グループのサブチャネルに対応するデバイス集合との識別子が含まれている。さらに、第１のデバイスは、交換された送信リストに基づいて順序付け済み送信リストを決定するように構成されている。この順序付け済み送信リストには、辞書編集で順序付けされた、第１の送信リスト中のサブチャネルの識別子が含まれている。加えて、第１のデバイスは、この順序付けされた送信リスト中の利用可能なサブチャネルに対する第１のデバイスのランク付けに基づいて、どのサブチャネルを予約するかを動的に選択するように構成されている。また、第１のデバイスが、第１のデバイスが予約すべきサブチャネルを選択することが不可能な場合に、第１の送信リストに対してサブチャネルを追加するように構成されている実施形態もある。
【０００９】
一部の実施形態では、第１の送信リストには、第１グループのサブチャネルと第２グループのサブチャネルのうちのどちらかまたは双方に対する最新情報が含まれている。
【００１０】
一部の実施形態では、送信スケージュールによって、サブチャネルを用いているデバイス間でのコンフリクトのない通信が可能となる。
【００１１】
一部の実施形態では、第１のサブチャネルグループ中の２つのサブチャネル間での時間遅延は、所定の値未満である。
【００１２】
一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の最小公倍数である。ここで、この最小公倍数は、ランクの最大共通除数で除算された送信リストのランクの積である。例えば、第１のデバイスの第１のランクは、第１のサブチャネルグループと第２のサブチャネルグループ中のサブチャネルの数より大きい通信システムに対する共通基数の最小累乗である。
【００１３】
一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の公倍数である。
【００１４】
一部の実施形態では、送信スケジュールは、第１のデバイスに対する第１の送信リストをＮ回繰り返すことによって、第１のデバイスからの送信がこの送信スケジュールと同じ周期性を有することを保証している。
【００１５】
一部の実施形態では、サブチャネルは時間スロット、周波数帯域、スペクトル拡散符号および／またはフレームを送受信する方向性アンテナに対応している。
【００１６】
別の実施形態は、通信システムで用いられる通信デバイスを提供する。
【００１７】
別の実施形態は、上記の通信システム中の機能に対応する動作を含む方法を提供する。
【発明の効果】
【００１８】
通信システムにおいては、チャネルアクセスプロトコル（以降、決定論による媒体アクセスの近隣順序付け、すなわちＮＯＭＡＤと呼ぶ）を用いて、共有通信チャネルの送信スケジュールと所与のフレーム中のサブチャネルの総数とを動的に決定する。この送信スケジュールとフレームサイズは、通信システム中のサブチャネルを求めて競合しているデバイスの決定論的順序付けに基づいて分散的な様式（すなわち非集中的な様式）で計算される。これら競合しているデバイスに関する情報は、通信システム中のローカルの近隣（１ホップおよび／または２ホップの近隣など）中のデバイス間で交換される送信リストに含まれている。ここで、送信スケジュールと動的なフレームサイズによって、デバイスは、争いなしでサブチャネルを予約することが可能であり、また、通信システム中でのチャネルアクセスの遅延を抑圧し得る。
【発明を実施するための最良の形態】
【００１９】
ＮＯＭＡＤの一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の公倍数（最小公倍数など）である。さらに、送信スケジュールが所与のデバイスに対する送信リストをＮ回繰り返すことによって、この所与のデバイスからの送信がこの送信スケジュールと同じ周期性を有することを保証するようにしている実施形態もある。ここで、Ｎは整数である。しかしながら、Ｎが整数でない場合には、実数の上限や下限などの所定の値を用いてもよい。
【００２０】
ここで、以下の説明において、「選出」という用語は、通信システム中での競合している複数のデバイスに対してサブチャネルを割り当てる技法のことであり、「予約」という用語は、選出でサブチャネルを獲得したデバイスが、通信システム中の他のデバイスに対して、自分がこのサブチャネルを１チャネル、２チャネルまたはこれ以上のフレームにわたって使用する意図であることを連絡する技法である。さらに、「スケジュール技法」には、選出技法および／または予約技法が含まれる。最後に、「サブチャネル」は、ＴＤＭＡ通信プロトコルを用いる場合のように、チャネルを分割したものを含む。
【００２１】
ここで、ＮＯＭＡＤの実施形態を検討する。解説目的で、以下の検討では、通信目的は１つの共通通信チャネルを有し、サブチャネルは時間スロットである。さらに、デバイス間の通信は双方向性で、半二重式である、すなわち、所与のデバイス（デバイス識別子ＮＩＤで表される）は、一度に１つのサブチャネルに対してしかチューニングできない。
【００２２】
ここで、様々な特定のデバイス識別子ＮＩＤがＮＯＭＡＤでは用いられる。このようなＮＩＤは通信システム中ではグローバルであり、固有である。例えば、ＮＩＤは、媒体アクセス制御（ＭＡＣ）アドレスに、または、デバイス間で交換される追加の制御情報を用いている所与のデバイスのグローバルに固有の識別子にマッピングされる送信機割り当てローカル識別子に対応している。実施形態では、デバイスＮのＮＩＤは、デバイスＮによって選択されたシーケンス番号と、これに続く、そのＭＡＣアドレスまたはこのデバイスの別の固有識別子との連結体である。しかしながら、ＮＯＭＡＤの別の実施形態では、デバイスＮのＮＩＤは、優先順位、デバイスを横断するデータの流れおよび／または所与の近隣中の所与のデバイスに割り当てられた時間スロットの数などの情報を表すために用いられる記号のシーケンスと、これに続く、ネットワークまたは通信システム全体にわたってこのデバイスを固有に特定する識別子との連結体である。さらに、ゼロからなるストリングまたは１からなるストリングは、有効なデバイス識別子が何もないことを示し、また、デバイス識別子の空き値には、記号「０」または「＿」で示されるゼロからなるシーケンスが含まれる。したがって、有効であれば、どのようなデバイス識別子Ｋであっても、Ｋは０より大きい。分かり易いように、以下の解説では、各々のデバイスのデバイス識別子は、デバイス内部の文字によって示される。
【００２３】
図１は、本発明の実施形態による通信システム１００（アドホックネットワークなど）を示すブロック図である。このシステムでは、所与のデバイス（デバイス１１０−３など）と直接的に無線接続されているデバイス１１０は、デバイス１１０−３の１ホップ隣人と呼ばれる。例えば、デバイス１１０−３の１ホップ隣人はデバイス１１０−２と１１０−５である。ここで、所与のデバイスとその１ホップ隣人を含むデバイス集合を、このデバイスの１ホップ近隣と呼ぶ。さらに、この所与のデバイスの１ホップ隣人の１ホップ隣人をこのデバイスの２ホップ隣人と呼び、この所与のデバイスの１ホップ近隣とその２ホップ隣人を含むデバイス集合をこの所与のデバイスの２ホップ近隣と呼ぶ。したがって、通信システム１００では、デバイス１１０−２と１１０−５はデバイス１１０−３の１ホップ隣人であり、デバイス１１０−２、１１０−３および１１０−５は、デバイス１１０−３の１ホップ近隣を形成している。加えて、デバイス１１０−４と１１０−２４はデバイス１１０−３の２ホップ隣人であり、デバイス１１０−２、１１０−３、１１０−４、１１０−５および１１０−２４はデバイス１１０−３の２ホップ近隣である。
【００２４】
通信システム１００では、ＮＯＭＡＤを実行するデバイスは、直接リンクまたはネットワークを介してインターネットにアクセスし得るルーターまたはエンドホストにカップリングされる。例えば、デバイス１１０−３はローカルエリアネットワーク１１２を介してホスト１１６とルーター１１４にカップリングされ、ルーター１１４を介してネットワーク１１８にカップリングされている。
【００２５】
通信システム１００中のデバイス１１０間で通信している間、情報が記憶され交換される。特に、デバイスは各々が、その１ホップ隣人に対して近隣の最新情報を送信する。実施形態では、ＮＯＭＡＤ中の各々の時間スロットは制御部分とデータ部分を含み、近隣の最新情報はこの制御部分に含まれている。例えば、所与の時間スロットで所与のデバイスによって送信された各々のデータパケットまたは所与の時間スロットで所与のデバイスによって送信された第１のパケットは、ＮＯＭＡＤで用いられる近隣更新情報を指定するヘッダーを含んでもよい。別の実施形態では、所与の時間スロットは制御ミニ時間スロットとデータミニ時間スロットに分割される。この例では、所与の時間スロットに割り当てられた所与のデバイスは、それ自体の近隣更新メッセージを制御ミニ時間スロット中に送信し、また、１つ以上のデータパケットをデータミニ時間スロット中に送信する。また、別の実施形態では、デバイスは、所与のデバイスに対して割り当てられた所与の時間スロット中に更新メッセージとこれに続く１つ以上のデータパケットとを送信する。
【００２６】
ＮＯＭＡＤでは、デバイスＫ（ＮＵK）からの近隣最新情報が、デバイスＫの識別子、デバイスＫの近隣送信スケジュールに従った現行の時間スロットの時間スロット番号、報告された送信リスト（ＲＴＬK）および／またはエラー保護フィールドを指定している。ここで、デバイスＫによって送信されたＲＴＬKは、デバイスＫが計算した順序付け済み送信リストから誘導される。さらに、デバイスＫの順序付け済み送信リストは、デバイスＫ、その１ホップ隣人の各々および／またはゼロ以上のその２ホップ隣人に割り当てられている時間スロット位置（すなわちランク）を含む。一部の実施形態では、デバイスＫの報告済み送信リストはまた、デバイスＫまたはその１ホップ隣人の順序付け済み送信リスト中の時間スロット位置に対する付加的な最新情報を指定する。ここで、以下の検討では、所与のデバイスが、この所与のデバイスの１ホップ近隣中のデバイスに割り当てられたすべての時間スロット位置を指定している報告済み送信リストを送信する。
【００２７】
報告済み送信リストは多くの方法で表される。一部の実施形態では、ＲＴＬKは、ランクによって順序付けされたデバイス識別子のリストを含み、各々のエントリが、デバイスＫの１ホップ隣人のデバイス識別子またはこのエントリの空き値に対応している。さらに、ＲＴＬK中のエントリの数は、デバイスＫの順序付け済み送信リスト中の時間スロット位置の数に等しく、また、ＲＴＬK中のエントリはデバイス識別子または空き値０のどちらかである。
【００２８】
しかしながら、別の実施形態では、ＲＴＬKはデバイスＫの順序付け済み送信リスト中のランク（すなわち、時間スロット位置）で順序付けされた組のリストを含み、また、デバイスＫとその既知の１ホップ隣人の各々を含む。ＲＴＬK中の組は各々が、ランク値とデバイス識別子を指定している。ここで、ランクがＬであるＲＴＬK中の最後の組は、０に等しいデバイス識別子を指定し、また、Ｌは、空でないデバイス識別子値を有するその直前の組のランク値より大きい。このエントリは、ＲＴＬKに含まれ、デバイスＫによって用いられる順序付け済み送信リストのランクがＬである、すなわち、このリストがＬ個の時間スロット位置を含むことを示している。さらに、ＲＴＬK中の連続している組が、連続したランク値を指定している必要はない。あるランクの値がないということは、その１ホップ隣人中でデバイスＫだけが、自分が用いている順序付け済み送信リスト中でこのランクを有する時間スロットを割り当てられていることを示している。以下の検討では、組を含む報告済み送信リストの実施形態を実例として用いる。
【００２９】
デバイスＫはまた、その１ホップ隣人の各々によって通信される報告済み送信リストとデバイスＫがその１ホップ隣人に通信する報告済み送信リストとを含む隣人リストテーブル（ＮＬＴK）を維持している。すでに注記したように、これらの報告済み送信リストはランク（すなわち、時間スロット位置）によって編成されている。さらに、ＲＴＬKNで示されるＮＬＴK中のデバイスＫによって記憶される１ホップ隣人デバイスＮからの報告済み送信リストは、ｒ＿ｍａｘ個の組を含み、ここでｒ＿ｍａｘは、デバイスＮが最後に送った報告済み送信リストＲＴＬN中のあらゆる組の最大ランク値である。加えて、時間スロット位置ｒに対応するＲＴＬKN中のエントリは、ｒに等しいランク値と、０に等しいかまたはランクｒに対するデバイスＮによって報告されたデバイス識別子に等しいデバイス識別値とを含む組である。例えば、ＲＴＬKN中でランクｐでのエントリは、ＲＴＬNがランクｐのエントリを含まず、また、ｐがｒ＿ｍａｘ以下であれば、０に等しい。
【００３０】
加えて、デバイスＫは、その２ホップ近隣中のデバイスによる送信用に割り当てられた時間スロット位置を指定しているその順序付け済み送信リスト（ＯＴＬK）を維持している。ここで、デバイスＫに対応し、ＮＴＬKに記憶されている報告済み送信リストをＲＴＬKKで示す。ＲＴＬKKは、０に設定されている２ホップ隣人に割り当てられている時間スロット位置のデバイス識別子を有するＯＴＬKのコンテンツを含む。
【００３１】
図２は、本発明の実施形態による通信システム１００（図１）中のデバイス１１０−２４の２ホップ近隣２００を示すブロック図である。ここで、デバイス１１０−２４での順序付け済み送信リストの計算に関連する通信システム１００（図１）中のデバイスは、デバイス１１０−２４の１ホップ隣人と２ホップ隣人だけである。
【００３２】
図３は、本発明の実施形態による通信システム１００（図１）中のデバイス１１０−２の２ホップ近隣３００での必要とされるまたは予約される時間スロット３１０を示すブロック図である。以下の検討では、デバイス１１０−２は識別子「Ｂ」を有するまたはデバイスＢと呼ばれる。図３はまた、デバイスＢによって維持されている報告済み送信リストと順序付け済み送信リストの実施形態を示している。さらに、ここで、「Ｘ＞Ｙ」という表記を、ＮＯＭＡＤの実施形態で選ばれた辞書編纂法にしたがって、「Ｘ」の示す値は「Ｙ」の示す値より大きいことを示すために用いる。例えば、辞書編纂法による順序の例として、「２＞３」、「ＢＢＢ＞ＢＢ」および「ＣＣＣ＞ＣＡＣ」がある。しかしながら、辞書編纂による順序付けが、「２＜３」、「ＢＢＢ＜ＢＢ」および「ＣＣＣ＜ＣＡＣ」と定義される実施形態もある。また、ここで、記号「Ｂ」とその後に続く「Ａ」の連結を[数１]の記号で示す。
【数１】
2008167446.tif 000003
【００３３】
デバイスＢは、その１ホップ隣人によって通信される順序付け済み送信リストからのその２ホップ近隣のことを知っている。図４と図５は、本発明の実施形態による通信システム１００（図１）中のデバイス１１０−１（デバイス「Ａ」）の２ホップ近隣４００とデバイス１１０−８（デバイス「Ｈ」）の２ホップ近隣５００を示すブロック図である。図４と図５は、デバイスＡとＨが維持している報告済み送信リストと順序付け済み送信リストの実施形態を示している。
【００３４】
２ホップ近隣３００（図３）を見ると、デバイスＢの１ホップ隣人のデバイス識別子はデバイス１１０−３（デバイス「Ｃ」）とデバイス１１０−４（デバイス「Ｄ」）であることに気付く。この例では、デバイスＢＯＴＬBの順序付け済み送信リストは［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、Ｏ）］であり、デバイスＢに記憶され、１ホップ隣人に通信される報告済み送信リストＲＴＬBBは［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、Ｏ）］である。ここで、デバイスＢの順序付け送信リストは、４つの時間スロットを含み、これによって、その２ホップ隣人デバイス１１０−１５（デバイス「Ｏ」）は、衝突なしで送信することが可能となる。したがって、ＲＴＬBは、ランク４の組に対しては空のデバイス識別子を含む。
【００３５】
２ホップ近隣４００（図４）を見ると、デバイスＡが、その１ホップ隣人として、デバイス１１０−１９（デバイス「Ｓ」）とデバイスＨを有し、また、ＯＴＬAが［（１、Ａ）（２、Ｈ）（３、Ｓ）（４、０）（５、０）（６、０）（７、Ｘ）］であることに気付く。さらに、デバイスＡがその隣人に送る報告済み送信リストはＲＴＬAAであり、［（１、Ａ）（２、Ｈ）（３、Ｓ）（７、０）］に等しい。ここで、デバイスＡはランク７と空のデバイス識別子を有する最後の組をＲＴＬA中に含み、その順序付け済み送信リストが、ランク７までの時間スロットを用いている２ホップ隣人を有することを示している。
【００３６】
２ホップ近隣５００（図５）では、デバイスＨが、その１ホップ隣人として、デバイスＡとデバイス１１０−２４（デバイス「Ｘ」）とを有し、また、ＯＴＬHが［（１、Ａ）（２、Ｈ）（３、Ｅ）（４、Ｍ）（５、Ｒ）（６、Ｗ）（７、Ｘ）］であることに気付く。さらに、デバイスＨがその隣人に送る報告済み送信リストはＲＴＬHHであり、［（１、Ａ）（２、Ｈ）（７、Ｘ）に等しい。ここで、ＲＴＬHH中で未指定のままのエントリは、空のデバイス識別子を有する時間スロット位置を示すものであると、デバイスＨによって解釈される、すなわち、デバイスＨもそのいずれの１ホップ隣人もこのような位置での時間スロットを用いてはいないと解釈される。
【００３７】
２ホップ近隣３００（図３）、４００（図４）および５００（図５が示すように、デバイス１１０が空の時間スロット位置を有する報告済み送信リストを送る場合が２つある。例えば、ＲＴＬAA中に空の時間スロット位置がある理由の１つは、デバイスＡもその１ホップ隣人もこの時間スロット位置を占有していないが、その２ホップ隣人のうちの少なくとも１つは、この時間スロット位置を占有するためである。一部の実施形態では、送信が所与のデバイスからその１ホップ隣人のすべてに対して１つのチャネルで放送されるため、デバイスＡは、その２ホップ隣人のうちのあるものとの干渉を防止するためにこのような時間スロット位置を用いてはならない。ＲＴＬAA中にランクｒの空の時間スロット位置があるもう１つの理由は、デバイスＡの２ホップ近隣中のどのデバイスも、ランクｒの時間スロット位置を占有していないが、その１ホップ隣人のうちの少なくとも１つは、デバイスＡまたはｒより大きいランクにあるその１ホップ隣人のうちの１つによって占有されている時間スロット位置でのスケジュールを有するためである。ＮＯＭＡＤのこの態様を２ホップ近隣４００（図４）に示すが、ここで、デバイスＡはランク７の時間スロットを空のままにしているが、これは、その２ホップ隣人デバイスＸが、１ホップ隣人デバイスＨから送られた順序付け済み送信リストにしたがってこの時間スロット位置を占有するためである。また、ここで、デバイスＡは、ランク４、５および６の時間スロットに対して空のデバイス識別子を割り当てて、デバイスＸが必要とする時間スロット位置を含むようにしている。
【００３８】
図６は、本発明の実施形態による通信システム１００（図１）中の各々のデバイスによって報告された報告済み送信リスト６００を示すブロック図である。以下にさらに検討するように、ここで、図３〜６は、最小公倍数スケジューリング法（ＬＣＭＳ）を用いて、近隣送信スケジュールを計算している。ここで、送信リストは、デバイス識別子の辞書式順序で表され、また、デバイス１１０（図１）のスケジュールランクは４つまたは７つの時間スロット位置である。
【００３９】
すでに注記したように、デバイスＫは、送信スケジュールにおける時間スロットに各々が対応している組の順序付けされたリストである近隣送信スケジュールテーブル（ＮＴＳK）を維持している。ＮＴＳK中の組は各々が、デバイスＫの１ホップ近隣中のデバイスのデバイス識別子にしたがって辞書式に順序付けされたエントリのベクトルを含む。ＮＴＳKは、デバイスＫの１ホップ近隣中の各々のデバイスに対して行を有すると見なしてもよいし、各々の列が送信スケジュール中の時間スロット位置に対応しているとみなしてもよい。ここで、近隣送信スケジュール中の時間スロット（すなわちランク）の数は、デバイスＫがその近隣送信スケジュールの各々のサイクルを各々の報告済み送信リストの最初の時間スロット位置から開始することが可能であるような方法でそれ自体の近隣中のすべての報告済み送信リストをそれ自体が循環するために必要とされるスロットの数に等しい。
【００４０】
図７〜９Ｂは、本発明の実施形態による通信システム１００（図１）中のデバイスによって計算された近隣送信スケジュール７００、８００および９００を示すブロック図である。以下にさらに解説するように、特定のスケジューリング規律であるＬＣＭＳが、これら実施形態では用いられる。ＬＣＭＳでは、通信システム１００（図１）中の所与のデバイスによって計算された近隣送信スケジュールのランク（すなわち時間スロットの数）は、この所与のデバイスの１ホップ近隣中のすべてのデバイスによって少なくとも１つの時間スロットが割り当てられたこの所与のデバイスの２ホップ近隣中の各々のデバイスのための時間スロットの最小数を含む。ここで、近隣送信スケジュールのランクは、通信システム１００（図１）全体にわたって変動する。
【００４１】
ここで、ＮＯＭＡＤでの送信スケジューリングの実施形態を説明する。すでに述べたように、ＮＯＭＡＤでは、所与のデバイスが、その１ホップ近隣中で交換される報告済み送信リストから計算された近隣送信リストに従ってネットワーク（アドホックネットワークなど）の共通チャネルにアクセスする。初期化中、この所与のデバイス（デバイスＫ）は、初期化時間期間ＩＴＰK（時間スロット数個に匹敵する）にわたって共通チャネルに耳を傾けて、デバイスＫの１ホップ隣人との時間同期を取り、また、これら１ホップ隣人からの近隣最新情報を受信する。デバイスＫは、ＩＴＰK秒にわたってこのチャネルに耳を傾けている間に、以下に説明する更新技法にしたがって、また、デバイスＫの１ホップ隣人から受信した近隣最新情報中で通信された情報に基づいてＮＬＴK、ＯＴＬKおよびＮＴＳKを更新する。デバイスＫがＩＴＰK中に何ら近隣最新情報を受信しなかった場合、デバイスＫは、自分用の現行の時間スロットを選択する。この場合、送信リストはたった１つの時間スロットしか含まない。
【００４２】
次いで通信している間に、デバイスＫは報告済み送信リストを記憶する。例えば、１ホップ隣人Ｎから報告済み送信リストＲＴＬNを受信した後でまたは１ホップ隣人Ｎとの無線接続性が失われたことを検出した後で、デバイスＫはＮＬＴK中のＲＴＬKNを更新する。ＮＩＤ＿Ｎ［ｒ］をＲＴＬN中のランクｒの組のデバイス識別子であると定義し、ＮＩＤ＿ＫＮ［ｒ］をＲＴＬKN中のランクｒの組のデバイス識別子であると定義し、ｒ＿ｍａｘをＲＴＬN中に含まれる最大ランクであると定義する。さらに、ＲＴＬNの存在しないエントリのデバイス識別子は空であると仮定する。すると、一部の実施形態では、ＲＴＬKNを更新するとき、デバイスＫは、集合｛１、．．．、ｒ＿ｍａｘ｝中のすべてのＫに対してＮＩＤ＿ＫＮ［ｒ］＝０およびＮＩＤ＿ＫＮ［ｒ］と設定する。
【００４３】
２ホップ近隣３００（図３）は、報告済み送信リストがどのように記憶されるかの実施形態を示している。特に、デバイスＣおよびＤがデバイスＢに送った報告済み送信リストは、ＲＴＬC＝［（１、Ｂ）（２、Ｃ）（３、Ｅ）（７、０）］であり、また、ＲＴＬD＝［（１、Ｂ）（３、Ｄ）（４、０）］である。この情報に基づいて、デバイスＢは、ＲＴＬBC＝［（１、Ｂ）（２、Ｃ）（３、Ｅ）（４、０）（５、０）（６、０）（７、０）］およびＲＴＬBD＝［（１、Ｂ）（２、０）（３、Ｄ）（４、０）］を記憶する。
【００４４】
ここで、一部の実施形態では、デバイスＫは、それ自体の１ホップ隣人デバイスＮが失われたと判定したら、ＲＴＬKNの各々の組中のデバイス識別子を０に設定して、デバイスＫが他のいくつかのデバイスから２ホップ離れているわけではないことを、デバイスＮを介して示す。さらに、一部の実施形態では、報告済み送信リストが、近隣送信スケジュールの計算をより効率的なものとするために空の時間スロット位置を含む。この例を、公基底倍数スケジューリング法について以下に解説する。
【００４５】
ここで、順序付け済み送信リストと報告済み送信リストの計算の実施形態を検討する。デバイスＫは、ＮＬＴKを更新するごとに、ＯＴＬKを更新する。報告済み送信リストまたは隣人の喪失が１ホップ隣人Ｎに関連している場合、デバイスＫは、ＮＬＴK中のＲＴＬKNを更新した後で２つのフェーズでＯＴＬKを更新する。第１のフェーズで、デバイスＫは、ＯＴＬK中の１ホップもしくは２ホップの隣人に割り当てられている時間スロット位置と、空のデバイス識別子を有する時間スロット位置とを選択して、その１ホップ隣人の送信リストの全体を収容する。さらに、第２のフェーズで、デバイスＫは、自分用の時間スロット位置を選択する。ここで、順序付け済み送信リストを更新するために用いられる動作は、所与のデバイスの２ホップ近隣に関する情報には、デバイスの移動性、デバイスの故障および他の原因による矛盾が発生し得ることを考慮に入れている。
【００４６】
下記の表１に、本発明の実施形態による更新技法の例示の擬似コードを示す。この更新技法を用いて、２ホップ隣人に対する優先権を１ホップ隣人に与え、ＮＯＭＡＤで用いられる辞書式順序にしたがって大きいデバイス識別子を有する隣人に対して優先権を与える。ここで、ＮＩＤ＿ＫＮ［ｒ］をＲＴＬKN中のランクｒの組のデバイス識別子であると定義し、ＮＩＤ＿Ｋ［ｒ］をＯＴＬK中のランクｒの組のデバイス識別子であると定義する。さらに、ＲＴＬK中で存在しないエントリのデバイス識別子は空であると仮定する。
【００４７】
【表１】
2008167446.tif 000004
【００４８】
デバイスＫは、ＯＴＬKを更新したら、Ｋより大きいデバイス識別子を有しない最小のランクを有する時間スロット位置を自分用に選択する。既存の時間スロット位置のうちのデバイスＫに割り当て可能な時間スロット位置がない場合、デバイスＫは自分用の時間スロット位置をＯＴＬKの末尾に加える。２ホップ近隣３００（図３）の場合で図示されているように、デバイスＢは、ＲＴＬBC＝［（１、Ｂ）（２、Ｃ）（３、Ｅ）（４、０）（５、０）（６、０）（７、０）］とＲＴＬBD＝［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、０）］からＯＴＬB＝［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、０）］と判定してから、自分用の時間スロット位置１を選択する。ここで、この動作の後ではＯＴＬBの長さは時間スロット４個分となるが、これは、デバイスＢのどの１ホップ隣人も、４より大きいランクでデバイス識別子が空ではない組を有する順序付け済み送信リストを報告しないためである。２ホップ近隣５００（図５）の場合も同様に、デバイスＨは、ＲＴＬHA＝［（１、Ａ）（２、Ｈ）（３、Ｓ）（４、０）（５、０）（６、０）（７、０）］とＲＴＬHX＝［（１、Ｊ）（２、Ｈ）（３、Ｅ）（４、Ｍ）（５、Ｒ）（６、Ｗ）（７、Ｘ）］からＯＴＬH＝［（１、Ａ）（２、Ｈ）（３、Ｅ）（４、Ｍ）（５、Ｒ）（６、Ｗ）（７、Ｘ）］と判定してから、自分用の時間スロット位置を選択する。
【００４９】
次に、デバイスKは、ＯＴＬKを計算した後、最初にＯＴＬKをＲＴＬKK中にコピーし、次に、２ホップ隣人のデバイス識別子を空にするように設定することによって、その報告済み送信リストＲＴＬKKを更新する。デバイスＫはまた、ＲＴＬKによって表される、その隣人に送られる報告済み送信リストを作成する。このリストには、デバイスＫとデバイスＫの１ホップ隣人によって占められる時間スロット位置に対応する組が含まれる。ＲＴＬKはまた、ＲＴＬKの長さについて１ホップ隣人に通知するため、空のデバイス識別子値を有するエンド組を含む。
【００５０】
２ホップ近隣３００（図３）の場合、デバイスＢは、２ホップ隣人である図１のデバイスＯのデバイス識別子を空にするように設定することによって、ＯＴＬB＝［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、０）］からＲＴＬBB＝［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、０）］を計算する。次に、デバイスＢはその隣人に対して、リストＲＴＬB＝［（１、Ｂ）（２、Ｃ）（３、Ｄ）（４、０）］を報告する。
【００５１】
さらに、２ホップ近隣４００（図４）の場合、デバイスＡは、２ホップ隣人であるデバイスＸに対応するデバイス識別子を空にするように設定することによって、ＯＴＬA＝［（１、Ａ）（２、Ｈ）（３、Ｓ）（４、０）（５、０）（６、０）（７、Ｘ）］からＲＴＬAA＝［（１、Ａ）（２、Ｈ）（３、Ｓ）（４、０）（５、０）（６、０）（７、０）］を計算する。デバイスＡはその隣人に対して、リストＲＴＬA＝［（１、Ａ）（２、Ｈ）（３、Ｓ）（７、０）］を報告する。
【００５２】
一部の実施形態では、デバイスＫは、自分からの報告済み送信リストを受信した新しい１ホップ隣人または新しい２ホップ隣人を発見し得る。デバイスＫは、ＮＬＴKとＯＴＬKを更新する際には、このような新たなエントリを計上する。さらに、一部の実施形態では、デバイスＫは、それ自体が１ホップ隣人から多くの報告済み送信リストを受信できなければこの隣人との接続性が喪失されたものと判定する。デバイスＫは、その１ホップ隣人デバイスＮが失われたと判定したら、ＲＴＬKNの組の中のすべてのデバイス識別子をリセットして、ＯＴＬKを空にして更新する。ここで、デバイスＫは、１ホップ隣人Ｎとの接続性を喪失した場合、デバイスＫの２ホップ近隣中の共有チャネルに対する競合が少ないことから、より効率的な順序付け済み送信リストを得ることが可能である。しかしながら、既存の送信スケジュールを非常に迅速に変更することは逆効果となるが、これは、新たな２ホップ近隣情報が通信システムを伝播するのに時間がかかるためである。
【００５３】
ここで、デバイスの１ホップ近隣中での報告済み送信リストから取ったこのデバイスによる近隣送信スケジュールの計算の実施形態を検討する。ここで、デバイスＫ、ＮＴＳKの近隣送信スケジュールには、その１ホップ近隣中の各々のデバイスに対する行と、このスケジュールで必要とされる各々の時間スロットに対する列とが含まれている。また、ここで、近隣送信スケジュールを報告済み送信リストから構築するために用いられる方式をスケジューリング技法と呼ぶ。
【００５４】
ＮＯＭＡＤで用いられるスケジューリング技法では、あるデバイスに記憶されている報告済み送信リストにデバイス識別子をこれらが占める時間スロット位置に従って順序付けし、次に、報告済み送信リストに含まれるデバイス識別子のシーケンスを近隣送信スケジュールに１回以上コピーする。例えば、１ホップ近隣中にあるデバイスの報告済み送信リストが近隣送信スケジュール中にコピーされる回数は、近隣送信スケジュールが１ホップ近隣中のすべての報告済み送信リストの最初の時間スロット位置から始まって、報告済み送信リストが繰り返す時間スロットに先行する最後の時間スロットで終了するように選択される。したがって、一部の実施形態では、近隣送信スケジュールでは、このデバイスに対する１つ以上の送信リストをＮ回（ここでＮは整数）繰り返すことによって、このデバイスからの送信の周期性が近隣送信スケジュールのそれと同じとなることを保証するようにしている。
【００５５】
その近隣送信スケジュールでの情報に基づいて、デバイスＫは、それ自体の１ホップ隣人がデバイスＫからの送信と衝突することがないＮＴＳK中の時間スロットを選択してもよい。例えば、近隣送信スケジュール中の時間スロット位置ごとにリストアップされたデバイス識別子に基づいて、デバイスＫは、自分用の時間スロットを、近隣送信スケジュールの行ごとにこの時間スロットにそれ自体のデバイス識別子がリストアップされたときに選択する。さらに、デバイスＫはまた、デバイス識別子が自分にとって都合のよい何らかの辞書式順序に従うような時間スロットを自分用に選択する。
【００５６】
ここで、このスケジューリング技法では、あるデバイスから２ホップ内にあるデバイスは、これらの近隣送信スケジュールの各々が始まる時間スロットが一致していなければならない。デバイスＫは、１ホップ隣人の近隣送信スケジュールが開始したことを、自分がこの隣人から報告済み送信リストを受信するごとに判定する。例えば、現行の時間スロット近隣送信スケジュール中の対応する時間スロットに対するマッピング上の不一致を軽減するために、デバイスはスケジュールアンカーを選択して、それ自体が計算する近隣送信スケジュールを基準とした現行の時間スロットの位置を決定する。
【００５７】
ここで、最小公倍数スケジューリング法（ＬＣＭＳ）を用いるスケジューリング技法の実施形態を検討する。ＬＣＭＳでは、デバイスＫの近隣送信スケジュール中の時間スロットの数は、デバイスＫの１ホップ近隣中の報告済みの隣人リストのランクの最小公倍数（ＬＣＭ）に等しい。様々な方式を用いて、１ホップ近隣中の報告済みの送信リストのランクのＬＣＭを計算する。１つの方式ではユークリッド技法を用いるが、この場合、報告済み送信リストのランクの積を計算し、次にこの積を同じ報告済み送信リストのランクの最大公約数で除算する。したがって、ＬＣＭＳ技法では、デバイスＫの１ホップ隣人Ｎの報告済み送信リストを、デバイスＮからの報告済み送信リストのランクで除算した報告済み送信リストのランクのＬＣＭに等しい回数だけ繰り返す。
【００５８】
下記の表２に、本発明の実施形態によるＮＴＳKを構築するためにＬＣＭＳを用いるスケジューリング技法の例示の擬似コードを示す。ランク［ＲＴＬKN］はＲＴＬKNのランク（すなわち時間スロット位置の数）と定義され、ＮＩＤ［ＲＴＬKN］は、ＲＴＬKN中で報告されるデバイス識別子を記憶するＮＬＴKの行に含まれているデバイス識別子の順序付けされたリストと定義される。さらに、ＮＴＳK［Ｎ］は１ホップ隣人デバイスＮに対応するＮＴＳKの行であると定義され、ＯＨＮKは、デバイスＫの１ホップ近隣中のデバイスの集合であると定義される。ここで、ＮＴＳK中の時間スロットの数はＬＣＭKに等しく、デバイスＫの１ホップ隣人Ｎの報告済み送信リスト中の各々の時間スロットがサイクルKNに等しい回数だけ繰り返される。
【００５９】
【表２】
2008167446.tif 000005
【００６０】
一部の実施形態では、デバイスＫは、最大のランクと最大のデバイス識別子を有する報告済み送信リストを有するそれ自体の１ホップ近隣中のデバイスを、報告済み送信リストの最大ランク中に関連があれば、そのスケジュールアンカーとして選択する。例えば、２ホップ近隣３００（図３）の場合、デバイスＢはデバイスＣをそのスケジュールアンカーとして選択するが、これは、そのリストランクが７であり、デバイスＢやＤのリストランクより大きいためである。同様に、２ホップ近隣４００（図４）では、デバイスＡはデバイスＨをそのスケジュールアンカーとして選択するが、これは、そのリストランクが７（デバイスＡのリストランクに等しく、デバイス１１０−１９すなわちデバイス「Ｓ」が報告したリストランク４より大きい）であり、また、Ｓが辞書的にはＡより大きいためである。また、２ホップ近隣５００（図５）の場合、デバイスＨの１ホップ近隣中のデバイスはすべて同じリストランクを有する。したがって、デバイスＨは、それ自体のスケジュールアンカーとしてデバイスＸを選択するが、これは、そのデバイス識別子が最大であるためである。
【００６１】
通信システム１００（図１）の近隣送信スケジュールを図７に示す。近隣送信スケジュール７００では、デバイスＤに記憶されているすべての報告済み送信リストが４に等しい同じランクを有し、したがって、各々の報告済み送信リストのデバイス識別子は１回しか循環しないが、これは、デバイスＤの１ホップ近隣中のでデバイスＮの各々に対してＬＣＭDが４に等しく、サイクルDNが１に等しいためである。これとは対照的に、デバイスＢに記憶されているすべての報告済み送信リストはランクが異なる。特に、ランク［ＲＴＬBD］は４に等しく、ランク［ＲＴＬBB］は７に等しく、ランク［ＲＴＬBC］は７に等しい。したがって、ＬＣＭBは２８に等しく、サイクルBDが７に等しく、サイクルBBが４に等しく、サイクルBCが４に等しい。ここで、ＲＴＬBD中のデバイス識別子のリストは連続して７回繰り返されるが、一方、ＲＴＬBBとＲＴＬBC中のデバイス識別子のリストは４回しか繰り返されない。
【００６２】
近隣送信スケジュール７００では、ランクが互いの倍数ではない報告済み送信リストを報告するデバイスの１ホップ近隣中のデバイスの近隣送信スケジュールのランクは結局はるかに大きいものとなる。これらのランクは、デバイスの１ホップ近隣中の報告済み送信リストのランクのＬＣＭによって決定される。例えば、デバイスＡ、ＢおよびＣは２８個の時間スロットを有する近隣送信スケジュールを有し、一方、デバイスＤとデバイス１１０−１１（デバイス「Ｋ」）は４つの時間スロットを有する近隣送信スケジュールを有し、残余のデバイスは７つの時間スロットを含む近隣送信スケジュールを有する。
【００６３】
下記の表３に、本発明の実施形態による、デバイスＫがそれ自体の送信用の時間スロットを選択するために用いるスケジューリング技法の例示の擬似コードを示す。ここで、ＮＴＳK［Ｎ、ｔ］は、時間スロットｔのＮＴＳK［Ｎ］中のデバイス識別子である。
【００６４】
【表３】
2008167446.tif 000006
【００６５】
各々のデバイスが送信目的で選択する時間スロットは近隣送信スケジュール７００中で強調される。ここで、ＬＣＭＳをＮＯＭＡＤで用いる場合、各々のデバイスはそれ自体の近隣送信スケジュールの循環ごとに対して少なくとも１つの時間スロットを有することを保証されるが、これは、すべてのデバイスが、その近隣送信スケジュールを構築する際に同じ順序付け動作に従うからであり、また、デバイスＫの２ホップ近隣中の各々のデバイスはデバイスＫに対して割り当てられた時間スロットを有しなければならないためである。表３に示すスケジューリング技法では、デバイスＫはそれ自体の近隣送信スケジュール中に追加の時間スロットを得る。したがって、ＬＣＭＳを用いるＮＯＭＡＤでは、デバイスＫに対して、１／ＴＬＣＭKという最小送信レートが保証される。しかしながら、デバイスＫがＬＣＭK個の時間スロットごとに１つの時間スロット以外に要求することが可能な時間スロットの数は、それ自体の１ホップ近隣中のデバイス識別子と、それ自体の報告済み送信リストがどのように重なり合ってその送信スケジュールを形成しているかとによって異なる。したがって、一部の実施形態では、小さいランクの（すなわち時間スロットの数が少ない）近隣送信スケジュールを得るのが望ましい。各々のデバイスの保証済みの時間スロットを近隣送信スケジュール７００（図７）中で実線の正方形で示す。この保証時間スロットによって、各々のデバイスに対する２つのサブチャネル間での最大遅延時間が確実に所定値未満となる。さらに、それ自体の近隣送信スケジュールで使用可能な追加の時間スロットを、空の破線の正方形で示す。ここで、ランクが同じである報告済み送信リストを有する１ホップ隣人を有するデバイスはこのランクの近隣送信スケジュールを有するが、これは、ＬＣＭが報告済み送信リストのランクに等しいためである。これらの例において、デバイスは、それ自体の近隣送信スケジュール中では単に１つの送信機会を有するだけであるが、これは、上に概括した時間スロットの選択の最初の場合だけが真であるためである。この例として、デバイスＤ、デバイス１１０−５（デバイス「Ｅ」）、デバイスＨ、デバイスＫ、デバイス１１０−１０（デバイス「Ｊ」）、デバイス１１０−１３（デバイス「Ｍ」）、デバイス１１０−１６（デバイス「Ｐ」）、デバイス１１０−１８（デバイス「Ｒ」）、デバイス１１０−２２（デバイス「Ｖ」）、デバイス１１０−２３（デバイス「Ｗ」）、およびデバイスＸがある。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態による通信システムを示すブロック図である。
【図２】本発明の実施形態による通信システム中の２ホップ近隣を示すブロック図である。
【図３】本発明の実施形態による通信システム中の２ホップ近隣を示すブロック図である。
【図４】本発明の実施形態による通信システム中の２ホップ近隣を示すブロック図である。
【図５】本発明の実施形態による通信システム中の２ホップ近隣を示すブロック図である。
【図６】本発明の実施形態による通信システム中のデバイスによって報告された送信リストを示すブロック図である。
【図７】本発明の実施形態による通信システム中のデバイスによって計算された近隣送信スケジュールを示すブロック図である。
【符号の説明】
【００６７】
１００  通信システム
１１０−１〜２４  デバイス
１１２  ローカルエリアネットワーク
１１４  ルーター
１１６  ホスト
２００〜５００  ２ホップ近隣
３１０  時間スロット
６００  報告済み送信リスト
７００〜９００  近隣送信スケジュール
【図１】
2008167446.tif 000007
【図２】
2008167446.tif 000008
【図３】
2008167446.tif 000009
【図４】
2008167446.tif 000010
【図５】
2008167446.tif 000011
【図６】
2008167446.tif 000012
【図７】
2008167446.tif 000013