説明

通信システム

【課題】ネットワーク上のチャネルにアクセスする技法を提供すること。
【解決手段】時系列をなすフレームによって互いに通信するように構成されたデバイスを備える通信システムにおいて、各々のフレームがサブチャネルを含み、所与のフレーム中のサブチャネルの総数が、送信スケジュールに基づいて動的に決定される。前記送信スケジュールが、前記デバイス間でやり取りされる送信リストに基づいて前記デバイスによって計算される。第1のデバイス用の第1の送信リストが、前記第1のデバイスが予約した第1のサブチャネルグループと、前記第1のデバイスと通信するデバイスの集合が予約した第2のサブチャネルグループとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のチャネルにアクセスする技法に関する。より詳しくは、本発明は、動的なフレームの決定とスケジューリングのためのプロトコルに関する。
【背景技術】
【0002】
従来、種々の通信システムが提案され実用化されているが、それらの従来のシステムは、いずれも一長一短あり、いまだ満足すべきものがないのが現状である。
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、従来の通信システムの問題を解決することを課題とする。
【課題を解決するための手段】
【0004】
本発明の一実施形態は、時系列をなすフレームによって互いに通信するように構成されたデバイスを含む通信システムを提供する。このようなフレームは各々が複数のサブチャネルを含み、所与のフレーム中のサブチャネルの総数は送信スケジュールに基づいて動的に決定される。さらに、この送信スケジュールは、これらデバイス間でやり取りされる送信リストに基づいてこれらデバイスによって計算される。例えば、第1のデバイスに対する第1の送信リストには、第1のデバイスによって予約されているサブチャネルからなる第1のグループと、この第1のデバイスと通信しているデバイスの集合によって予約されているサブチャネルからなる第2のグループとが含まれている。
【0005】
一部の実施形態では、第1のデバイスはこのデバイス集合の第1の部分集合と直接的におよび/またはこのデバイス集合の第2の部分集合と間接的に通信する。ここで、第1のデバイスと第2のデバイス間での間接的通信は、第1のデバイスと直接的に通信している第3のデバイスによって仲介される。さらに、第2のグループのサブチャネルには、上記のデバイス集合の第1の部分集合によって予約されているサブチャネルと、上記のデバイス集合の第2の部分集合によって予約されているサブチャネルとが含まれている。
【0006】
一部の実施形態では、第1の送信リストには、第1のデバイスと上記のデバイス集合のうちのどちらかまたは双方を将来において送信する必要がある場合のためのマージンが含まれている。例えば、このマージンには、これらデバイス間の通信で用いられる予約されていないサブチャネルが含まれる。
【0007】
一部の実施形態では、第1の送信リストは、第1のグループのサブチャネル中の1つ以上のサブチャネル中で第1のデバイスによって送信される。さらに、第1の送信リストは、第1のグループのサブチャネルのうちの1つ以上のサブチャネルの制御部分中で交換される。
【0008】
一部の実施形態では、第1の送信リストには、第1のデバイスと、第1グループのサブチャネルおよび第2グループのサブチャネルに対応するデバイス集合との識別子が含まれている。さらに、第1のデバイスは、交換された送信リストに基づいて順序付け済み送信リストを決定するように構成されている。この順序付け済み送信リストには、辞書編集で順序付けされた、第1の送信リスト中のサブチャネルの識別子が含まれている。加えて、第1のデバイスは、この順序付けされた送信リスト中の利用可能なサブチャネルに対する第1のデバイスのランク付けに基づいて、どのサブチャネルを予約するかを動的に選択するように構成されている。また、第1のデバイスが、第1のデバイスが予約すべきサブチャネルを選択することが不可能な場合に、第1の送信リストに対してサブチャネルを追加するように構成されている実施形態もある。
【0009】
一部の実施形態では、第1の送信リストには、第1グループのサブチャネルと第2グループのサブチャネルのうちのどちらかまたは双方に対する最新情報が含まれている。
【0010】
一部の実施形態では、送信スケージュールによって、サブチャネルを用いているデバイス間でのコンフリクトのない通信が可能となる。
【0011】
一部の実施形態では、第1のサブチャネルグループ中の2つのサブチャネル間での時間遅延は、所定の値未満である。
【0012】
一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の最小公倍数である。ここで、この最小公倍数は、ランクの最大共通除数で除算された送信リストのランクの積である。例えば、第1のデバイスの第1のランクは、第1のサブチャネルグループと第2のサブチャネルグループ中のサブチャネルの数より大きい通信システムに対する共通基数の最小累乗である。
【0013】
一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の公倍数である。
【0014】
一部の実施形態では、送信スケジュールは、第1のデバイスに対する第1の送信リストをN回繰り返すことによって、第1のデバイスからの送信がこの送信スケジュールと同じ周期性を有することを保証している。
【0015】
一部の実施形態では、サブチャネルは時間スロット、周波数帯域、スペクトル拡散符号および/またはフレームを送受信する方向性アンテナに対応している。
【0016】
別の実施形態は、通信システムで用いられる通信デバイスを提供する。
【0017】
別の実施形態は、上記の通信システム中の機能に対応する動作を含む方法を提供する。
【発明の効果】
【0018】
通信システムにおいては、チャネルアクセスプロトコル(以降、決定論による媒体アクセスの近隣順序付け、すなわちNOMADと呼ぶ)を用いて、共有通信チャネルの送信スケジュールと所与のフレーム中のサブチャネルの総数とを動的に決定する。この送信スケジュールとフレームサイズは、通信システム中のサブチャネルを求めて競合しているデバイスの決定論的順序付けに基づいて分散的な様式(すなわち非集中的な様式)で計算される。これら競合しているデバイスに関する情報は、通信システム中のローカルの近隣(1ホップおよび/または2ホップの近隣など)中のデバイス間で交換される送信リストに含まれている。ここで、送信スケジュールと動的なフレームサイズによって、デバイスは、争いなしでサブチャネルを予約することが可能であり、また、通信システム中でのチャネルアクセスの遅延を抑圧し得る。
【発明を実施するための最良の形態】
【0019】
NOMADの一部の実施形態では、サブチャネルの総数は、デバイス間で交換される送信リスト中のサブチャネルの数の公倍数(最小公倍数など)である。さらに、送信スケジュールが所与のデバイスに対する送信リストをN回繰り返すことによって、この所与のデバイスからの送信がこの送信スケジュールと同じ周期性を有することを保証するようにしている実施形態もある。ここで、Nは整数である。しかしながら、Nが整数でない場合には、実数の上限や下限などの所定の値を用いてもよい。
【0020】
ここで、以下の説明において、「選出」という用語は、通信システム中での競合している複数のデバイスに対してサブチャネルを割り当てる技法のことであり、「予約」という用語は、選出でサブチャネルを獲得したデバイスが、通信システム中の他のデバイスに対して、自分がこのサブチャネルを1チャネル、2チャネルまたはこれ以上のフレームにわたって使用する意図であることを連絡する技法である。さらに、「スケジュール技法」には、選出技法および/または予約技法が含まれる。最後に、「サブチャネル」は、TDMA通信プロトコルを用いる場合のように、チャネルを分割したものを含む。
【0021】
ここで、NOMADの実施形態を検討する。解説目的で、以下の検討では、通信目的は1つの共通通信チャネルを有し、サブチャネルは時間スロットである。さらに、デバイス間の通信は双方向性で、半二重式である、すなわち、所与のデバイス(デバイス識別子NIDで表される)は、一度に1つのサブチャネルに対してしかチューニングできない。
【0022】
ここで、様々な特定のデバイス識別子NIDがNOMADでは用いられる。このようなNIDは通信システム中ではグローバルであり、固有である。例えば、NIDは、媒体アクセス制御(MAC)アドレスに、または、デバイス間で交換される追加の制御情報を用いている所与のデバイスのグローバルに固有の識別子にマッピングされる送信機割り当てローカル識別子に対応している。実施形態では、デバイスNのNIDは、デバイスNによって選択されたシーケンス番号と、これに続く、そのMACアドレスまたはこのデバイスの別の固有識別子との連結体である。しかしながら、NOMADの別の実施形態では、デバイスNのNIDは、優先順位、デバイスを横断するデータの流れおよび/または所与の近隣中の所与のデバイスに割り当てられた時間スロットの数などの情報を表すために用いられる記号のシーケンスと、これに続く、ネットワークまたは通信システム全体にわたってこのデバイスを固有に特定する識別子との連結体である。さらに、ゼロからなるストリングまたは1からなるストリングは、有効なデバイス識別子が何もないことを示し、また、デバイス識別子の空き値には、記号「0」または「_」で示されるゼロからなるシーケンスが含まれる。したがって、有効であれば、どのようなデバイス識別子Kであっても、Kは0より大きい。分かり易いように、以下の解説では、各々のデバイスのデバイス識別子は、デバイス内部の文字によって示される。
【0023】
図1は、本発明の実施形態による通信システム100(アドホックネットワークなど)を示すブロック図である。このシステムでは、所与のデバイス(デバイス110−3など)と直接的に無線接続されているデバイス110は、デバイス110−3の1ホップ隣人と呼ばれる。例えば、デバイス110−3の1ホップ隣人はデバイス110−2と110−5である。ここで、所与のデバイスとその1ホップ隣人を含むデバイス集合を、このデバイスの1ホップ近隣と呼ぶ。さらに、この所与のデバイスの1ホップ隣人の1ホップ隣人をこのデバイスの2ホップ隣人と呼び、この所与のデバイスの1ホップ近隣とその2ホップ隣人を含むデバイス集合をこの所与のデバイスの2ホップ近隣と呼ぶ。したがって、通信システム100では、デバイス110−2と110−5はデバイス110−3の1ホップ隣人であり、デバイス110−2、110−3および110−5は、デバイス110−3の1ホップ近隣を形成している。加えて、デバイス110−4と110−24はデバイス110−3の2ホップ隣人であり、デバイス110−2、110−3、110−4、110−5および110−24はデバイス110−3の2ホップ近隣である。
【0024】
通信システム100では、NOMADを実行するデバイスは、直接リンクまたはネットワークを介してインターネットにアクセスし得るルーターまたはエンドホストにカップリングされる。例えば、デバイス110−3はローカルエリアネットワーク112を介してホスト116とルーター114にカップリングされ、ルーター114を介してネットワーク118にカップリングされている。
【0025】
通信システム100中のデバイス110間で通信している間、情報が記憶され交換される。特に、デバイスは各々が、その1ホップ隣人に対して近隣の最新情報を送信する。実施形態では、NOMAD中の各々の時間スロットは制御部分とデータ部分を含み、近隣の最新情報はこの制御部分に含まれている。例えば、所与の時間スロットで所与のデバイスによって送信された各々のデータパケットまたは所与の時間スロットで所与のデバイスによって送信された第1のパケットは、NOMADで用いられる近隣更新情報を指定するヘッダーを含んでもよい。別の実施形態では、所与の時間スロットは制御ミニ時間スロットとデータミニ時間スロットに分割される。この例では、所与の時間スロットに割り当てられた所与のデバイスは、それ自体の近隣更新メッセージを制御ミニ時間スロット中に送信し、また、1つ以上のデータパケットをデータミニ時間スロット中に送信する。また、別の実施形態では、デバイスは、所与のデバイスに対して割り当てられた所与の時間スロット中に更新メッセージとこれに続く1つ以上のデータパケットとを送信する。
【0026】
NOMADでは、デバイスK(NUK)からの近隣最新情報が、デバイスKの識別子、デバイスKの近隣送信スケジュールに従った現行の時間スロットの時間スロット番号、報告された送信リスト(RTLK)および/またはエラー保護フィールドを指定している。ここで、デバイスKによって送信されたRTLKは、デバイスKが計算した順序付け済み送信リストから誘導される。さらに、デバイスKの順序付け済み送信リストは、デバイスK、その1ホップ隣人の各々および/またはゼロ以上のその2ホップ隣人に割り当てられている時間スロット位置(すなわちランク)を含む。一部の実施形態では、デバイスKの報告済み送信リストはまた、デバイスKまたはその1ホップ隣人の順序付け済み送信リスト中の時間スロット位置に対する付加的な最新情報を指定する。ここで、以下の検討では、所与のデバイスが、この所与のデバイスの1ホップ近隣中のデバイスに割り当てられたすべての時間スロット位置を指定している報告済み送信リストを送信する。
【0027】
報告済み送信リストは多くの方法で表される。一部の実施形態では、RTLKは、ランクによって順序付けされたデバイス識別子のリストを含み、各々のエントリが、デバイスKの1ホップ隣人のデバイス識別子またはこのエントリの空き値に対応している。さらに、RTLK中のエントリの数は、デバイスKの順序付け済み送信リスト中の時間スロット位置の数に等しく、また、RTLK中のエントリはデバイス識別子または空き値0のどちらかである。
【0028】
しかしながら、別の実施形態では、RTLKはデバイスKの順序付け済み送信リスト中のランク(すなわち、時間スロット位置)で順序付けされた組のリストを含み、また、デバイスKとその既知の1ホップ隣人の各々を含む。RTLK中の組は各々が、ランク値とデバイス識別子を指定している。ここで、ランクがLであるRTLK中の最後の組は、0に等しいデバイス識別子を指定し、また、Lは、空でないデバイス識別子値を有するその直前の組のランク値より大きい。このエントリは、RTLKに含まれ、デバイスKによって用いられる順序付け済み送信リストのランクがLである、すなわち、このリストがL個の時間スロット位置を含むことを示している。さらに、RTLK中の連続している組が、連続したランク値を指定している必要はない。あるランクの値がないということは、その1ホップ隣人中でデバイスKだけが、自分が用いている順序付け済み送信リスト中でこのランクを有する時間スロットを割り当てられていることを示している。以下の検討では、組を含む報告済み送信リストの実施形態を実例として用いる。
【0029】
デバイスKはまた、その1ホップ隣人の各々によって通信される報告済み送信リストとデバイスKがその1ホップ隣人に通信する報告済み送信リストとを含む隣人リストテーブル(NLTK)を維持している。すでに注記したように、これらの報告済み送信リストはランク(すなわち、時間スロット位置)によって編成されている。さらに、RTLKNで示されるNLTK中のデバイスKによって記憶される1ホップ隣人デバイスNからの報告済み送信リストは、r_max個の組を含み、ここでr_maxは、デバイスNが最後に送った報告済み送信リストRTLN中のあらゆる組の最大ランク値である。加えて、時間スロット位置rに対応するRTLKN中のエントリは、rに等しいランク値と、0に等しいかまたはランクrに対するデバイスNによって報告されたデバイス識別子に等しいデバイス識別値とを含む組である。例えば、RTLKN中でランクpでのエントリは、RTLNがランクpのエントリを含まず、また、pがr_max以下であれば、0に等しい。
【0030】
加えて、デバイスKは、その2ホップ近隣中のデバイスによる送信用に割り当てられた時間スロット位置を指定しているその順序付け済み送信リスト(OTLK)を維持している。ここで、デバイスKに対応し、NTLKに記憶されている報告済み送信リストをRTLKKで示す。RTLKKは、0に設定されている2ホップ隣人に割り当てられている時間スロット位置のデバイス識別子を有するOTLKのコンテンツを含む。
【0031】
図2は、本発明の実施形態による通信システム100(図1)中のデバイス110−24の2ホップ近隣200を示すブロック図である。ここで、デバイス110−24での順序付け済み送信リストの計算に関連する通信システム100(図1)中のデバイスは、デバイス110−24の1ホップ隣人と2ホップ隣人だけである。
【0032】
図3は、本発明の実施形態による通信システム100(図1)中のデバイス110−2の2ホップ近隣300での必要とされるまたは予約される時間スロット310を示すブロック図である。以下の検討では、デバイス110−2は識別子「B」を有するまたはデバイスBと呼ばれる。図3はまた、デバイスBによって維持されている報告済み送信リストと順序付け済み送信リストの実施形態を示している。さらに、ここで、「X>Y」という表記を、NOMADの実施形態で選ばれた辞書編纂法にしたがって、「X」の示す値は「Y」の示す値より大きいことを示すために用いる。例えば、辞書編纂法による順序の例として、「2>3」、「BBB>BB」および「CCC>CAC」がある。しかしながら、辞書編纂による順序付けが、「2<3」、「BBB<BB」および「CCC<CAC」と定義される実施形態もある。また、ここで、記号「B」とその後に続く「A」の連結を[数1]の記号で示す。
【数1】

【0033】
デバイスBは、その1ホップ隣人によって通信される順序付け済み送信リストからのその2ホップ近隣のことを知っている。図4と図5は、本発明の実施形態による通信システム100(図1)中のデバイス110−1(デバイス「A」)の2ホップ近隣400とデバイス110−8(デバイス「H」)の2ホップ近隣500を示すブロック図である。図4と図5は、デバイスAとHが維持している報告済み送信リストと順序付け済み送信リストの実施形態を示している。
【0034】
2ホップ近隣300(図3)を見ると、デバイスBの1ホップ隣人のデバイス識別子はデバイス110−3(デバイス「C」)とデバイス110−4(デバイス「D」)であることに気付く。この例では、デバイスBOTLBの順序付け済み送信リストは[(1、B)(2、C)(3、D)(4、O)]であり、デバイスBに記憶され、1ホップ隣人に通信される報告済み送信リストRTLBBは[(1、B)(2、C)(3、D)(4、O)]である。ここで、デバイスBの順序付け送信リストは、4つの時間スロットを含み、これによって、その2ホップ隣人デバイス110−15(デバイス「O」)は、衝突なしで送信することが可能となる。したがって、RTLBは、ランク4の組に対しては空のデバイス識別子を含む。
【0035】
2ホップ近隣400(図4)を見ると、デバイスAが、その1ホップ隣人として、デバイス110−19(デバイス「S」)とデバイスHを有し、また、OTLAが[(1、A)(2、H)(3、S)(4、0)(5、0)(6、0)(7、X)]であることに気付く。さらに、デバイスAがその隣人に送る報告済み送信リストはRTLAAであり、[(1、A)(2、H)(3、S)(7、0)]に等しい。ここで、デバイスAはランク7と空のデバイス識別子を有する最後の組をRTLA中に含み、その順序付け済み送信リストが、ランク7までの時間スロットを用いている2ホップ隣人を有することを示している。
【0036】
2ホップ近隣500(図5)では、デバイスHが、その1ホップ隣人として、デバイスAとデバイス110−24(デバイス「X」)とを有し、また、OTLHが[(1、A)(2、H)(3、E)(4、M)(5、R)(6、W)(7、X)]であることに気付く。さらに、デバイスHがその隣人に送る報告済み送信リストはRTLHHであり、[(1、A)(2、H)(7、X)に等しい。ここで、RTLHH中で未指定のままのエントリは、空のデバイス識別子を有する時間スロット位置を示すものであると、デバイスHによって解釈される、すなわち、デバイスHもそのいずれの1ホップ隣人もこのような位置での時間スロットを用いてはいないと解釈される。
【0037】
2ホップ近隣300(図3)、400(図4)および500(図5が示すように、デバイス110が空の時間スロット位置を有する報告済み送信リストを送る場合が2つある。例えば、RTLAA中に空の時間スロット位置がある理由の1つは、デバイスAもその1ホップ隣人もこの時間スロット位置を占有していないが、その2ホップ隣人のうちの少なくとも1つは、この時間スロット位置を占有するためである。一部の実施形態では、送信が所与のデバイスからその1ホップ隣人のすべてに対して1つのチャネルで放送されるため、デバイスAは、その2ホップ隣人のうちのあるものとの干渉を防止するためにこのような時間スロット位置を用いてはならない。RTLAA中にランクrの空の時間スロット位置があるもう1つの理由は、デバイスAの2ホップ近隣中のどのデバイスも、ランクrの時間スロット位置を占有していないが、その1ホップ隣人のうちの少なくとも1つは、デバイスAまたはrより大きいランクにあるその1ホップ隣人のうちの1つによって占有されている時間スロット位置でのスケジュールを有するためである。NOMADのこの態様を2ホップ近隣400(図4)に示すが、ここで、デバイスAはランク7の時間スロットを空のままにしているが、これは、その2ホップ隣人デバイスXが、1ホップ隣人デバイスHから送られた順序付け済み送信リストにしたがってこの時間スロット位置を占有するためである。また、ここで、デバイスAは、ランク4、5および6の時間スロットに対して空のデバイス識別子を割り当てて、デバイスXが必要とする時間スロット位置を含むようにしている。
【0038】
図6は、本発明の実施形態による通信システム100(図1)中の各々のデバイスによって報告された報告済み送信リスト600を示すブロック図である。以下にさらに検討するように、ここで、図3〜6は、最小公倍数スケジューリング法(LCMS)を用いて、近隣送信スケジュールを計算している。ここで、送信リストは、デバイス識別子の辞書式順序で表され、また、デバイス110(図1)のスケジュールランクは4つまたは7つの時間スロット位置である。
【0039】
すでに注記したように、デバイスKは、送信スケジュールにおける時間スロットに各々が対応している組の順序付けされたリストである近隣送信スケジュールテーブル(NTSK)を維持している。NTSK中の組は各々が、デバイスKの1ホップ近隣中のデバイスのデバイス識別子にしたがって辞書式に順序付けされたエントリのベクトルを含む。NTSKは、デバイスKの1ホップ近隣中の各々のデバイスに対して行を有すると見なしてもよいし、各々の列が送信スケジュール中の時間スロット位置に対応しているとみなしてもよい。ここで、近隣送信スケジュール中の時間スロット(すなわちランク)の数は、デバイスKがその近隣送信スケジュールの各々のサイクルを各々の報告済み送信リストの最初の時間スロット位置から開始することが可能であるような方法でそれ自体の近隣中のすべての報告済み送信リストをそれ自体が循環するために必要とされるスロットの数に等しい。
【0040】
図7〜9Bは、本発明の実施形態による通信システム100(図1)中のデバイスによって計算された近隣送信スケジュール700、800および900を示すブロック図である。以下にさらに解説するように、特定のスケジューリング規律であるLCMSが、これら実施形態では用いられる。LCMSでは、通信システム100(図1)中の所与のデバイスによって計算された近隣送信スケジュールのランク(すなわち時間スロットの数)は、この所与のデバイスの1ホップ近隣中のすべてのデバイスによって少なくとも1つの時間スロットが割り当てられたこの所与のデバイスの2ホップ近隣中の各々のデバイスのための時間スロットの最小数を含む。ここで、近隣送信スケジュールのランクは、通信システム100(図1)全体にわたって変動する。
【0041】
ここで、NOMADでの送信スケジューリングの実施形態を説明する。すでに述べたように、NOMADでは、所与のデバイスが、その1ホップ近隣中で交換される報告済み送信リストから計算された近隣送信リストに従ってネットワーク(アドホックネットワークなど)の共通チャネルにアクセスする。初期化中、この所与のデバイス(デバイスK)は、初期化時間期間ITPK(時間スロット数個に匹敵する)にわたって共通チャネルに耳を傾けて、デバイスKの1ホップ隣人との時間同期を取り、また、これら1ホップ隣人からの近隣最新情報を受信する。デバイスKは、ITPK秒にわたってこのチャネルに耳を傾けている間に、以下に説明する更新技法にしたがって、また、デバイスKの1ホップ隣人から受信した近隣最新情報中で通信された情報に基づいてNLTK、OTLKおよびNTSKを更新する。デバイスKがITPK中に何ら近隣最新情報を受信しなかった場合、デバイスKは、自分用の現行の時間スロットを選択する。この場合、送信リストはたった1つの時間スロットしか含まない。
【0042】
次いで通信している間に、デバイスKは報告済み送信リストを記憶する。例えば、1ホップ隣人Nから報告済み送信リストRTLNを受信した後でまたは1ホップ隣人Nとの無線接続性が失われたことを検出した後で、デバイスKはNLTK中のRTLKNを更新する。NID_N[r]をRTLN中のランクrの組のデバイス識別子であると定義し、NID_KN[r]をRTLKN中のランクrの組のデバイス識別子であると定義し、r_maxをRTLN中に含まれる最大ランクであると定義する。さらに、RTLNの存在しないエントリのデバイス識別子は空であると仮定する。すると、一部の実施形態では、RTLKNを更新するとき、デバイスKは、集合{1、...、r_max}中のすべてのKに対してNID_KN[r]=0およびNID_KN[r]と設定する。
【0043】
2ホップ近隣300(図3)は、報告済み送信リストがどのように記憶されるかの実施形態を示している。特に、デバイスCおよびDがデバイスBに送った報告済み送信リストは、RTLC=[(1、B)(2、C)(3、E)(7、0)]であり、また、RTLD=[(1、B)(3、D)(4、0)]である。この情報に基づいて、デバイスBは、RTLBC=[(1、B)(2、C)(3、E)(4、0)(5、0)(6、0)(7、0)]およびRTLBD=[(1、B)(2、0)(3、D)(4、0)]を記憶する。
【0044】
ここで、一部の実施形態では、デバイスKは、それ自体の1ホップ隣人デバイスNが失われたと判定したら、RTLKNの各々の組中のデバイス識別子を0に設定して、デバイスKが他のいくつかのデバイスから2ホップ離れているわけではないことを、デバイスNを介して示す。さらに、一部の実施形態では、報告済み送信リストが、近隣送信スケジュールの計算をより効率的なものとするために空の時間スロット位置を含む。この例を、公基底倍数スケジューリング法について以下に解説する。
【0045】
ここで、順序付け済み送信リストと報告済み送信リストの計算の実施形態を検討する。デバイスKは、NLTKを更新するごとに、OTLKを更新する。報告済み送信リストまたは隣人の喪失が1ホップ隣人Nに関連している場合、デバイスKは、NLTK中のRTLKNを更新した後で2つのフェーズでOTLKを更新する。第1のフェーズで、デバイスKは、OTLK中の1ホップもしくは2ホップの隣人に割り当てられている時間スロット位置と、空のデバイス識別子を有する時間スロット位置とを選択して、その1ホップ隣人の送信リストの全体を収容する。さらに、第2のフェーズで、デバイスKは、自分用の時間スロット位置を選択する。ここで、順序付け済み送信リストを更新するために用いられる動作は、所与のデバイスの2ホップ近隣に関する情報には、デバイスの移動性、デバイスの故障および他の原因による矛盾が発生し得ることを考慮に入れている。
【0046】
下記の表1に、本発明の実施形態による更新技法の例示の擬似コードを示す。この更新技法を用いて、2ホップ隣人に対する優先権を1ホップ隣人に与え、NOMADで用いられる辞書式順序にしたがって大きいデバイス識別子を有する隣人に対して優先権を与える。ここで、NID_KN[r]をRTLKN中のランクrの組のデバイス識別子であると定義し、NID_K[r]をOTLK中のランクrの組のデバイス識別子であると定義する。さらに、RTLK中で存在しないエントリのデバイス識別子は空であると仮定する。
【0047】
【表1】

【0048】
デバイスKは、OTLKを更新したら、Kより大きいデバイス識別子を有しない最小のランクを有する時間スロット位置を自分用に選択する。既存の時間スロット位置のうちのデバイスKに割り当て可能な時間スロット位置がない場合、デバイスKは自分用の時間スロット位置をOTLKの末尾に加える。2ホップ近隣300(図3)の場合で図示されているように、デバイスBは、RTLBC=[(1、B)(2、C)(3、E)(4、0)(5、0)(6、0)(7、0)]とRTLBD=[(1、B)(2、C)(3、D)(4、0)]からOTLB=[(1、B)(2、C)(3、D)(4、0)]と判定してから、自分用の時間スロット位置1を選択する。ここで、この動作の後ではOTLBの長さは時間スロット4個分となるが、これは、デバイスBのどの1ホップ隣人も、4より大きいランクでデバイス識別子が空ではない組を有する順序付け済み送信リストを報告しないためである。2ホップ近隣500(図5)の場合も同様に、デバイスHは、RTLHA=[(1、A)(2、H)(3、S)(4、0)(5、0)(6、0)(7、0)]とRTLHX=[(1、J)(2、H)(3、E)(4、M)(5、R)(6、W)(7、X)]からOTLH=[(1、A)(2、H)(3、E)(4、M)(5、R)(6、W)(7、X)]と判定してから、自分用の時間スロット位置を選択する。
【0049】
次に、デバイスKは、OTLKを計算した後、最初にOTLKをRTLKK中にコピーし、次に、2ホップ隣人のデバイス識別子を空にするように設定することによって、その報告済み送信リストRTLKKを更新する。デバイスKはまた、RTLKによって表される、その隣人に送られる報告済み送信リストを作成する。このリストには、デバイスKとデバイスKの1ホップ隣人によって占められる時間スロット位置に対応する組が含まれる。RTLKはまた、RTLKの長さについて1ホップ隣人に通知するため、空のデバイス識別子値を有するエンド組を含む。
【0050】
2ホップ近隣300(図3)の場合、デバイスBは、2ホップ隣人である図1のデバイスOのデバイス識別子を空にするように設定することによって、OTLB=[(1、B)(2、C)(3、D)(4、0)]からRTLBB=[(1、B)(2、C)(3、D)(4、0)]を計算する。次に、デバイスBはその隣人に対して、リストRTLB=[(1、B)(2、C)(3、D)(4、0)]を報告する。
【0051】
さらに、2ホップ近隣400(図4)の場合、デバイスAは、2ホップ隣人であるデバイスXに対応するデバイス識別子を空にするように設定することによって、OTLA=[(1、A)(2、H)(3、S)(4、0)(5、0)(6、0)(7、X)]からRTLAA=[(1、A)(2、H)(3、S)(4、0)(5、0)(6、0)(7、0)]を計算する。デバイスAはその隣人に対して、リストRTLA=[(1、A)(2、H)(3、S)(7、0)]を報告する。
【0052】
一部の実施形態では、デバイスKは、自分からの報告済み送信リストを受信した新しい1ホップ隣人または新しい2ホップ隣人を発見し得る。デバイスKは、NLTKとOTLKを更新する際には、このような新たなエントリを計上する。さらに、一部の実施形態では、デバイスKは、それ自体が1ホップ隣人から多くの報告済み送信リストを受信できなければこの隣人との接続性が喪失されたものと判定する。デバイスKは、その1ホップ隣人デバイスNが失われたと判定したら、RTLKNの組の中のすべてのデバイス識別子をリセットして、OTLKを空にして更新する。ここで、デバイスKは、1ホップ隣人Nとの接続性を喪失した場合、デバイスKの2ホップ近隣中の共有チャネルに対する競合が少ないことから、より効率的な順序付け済み送信リストを得ることが可能である。しかしながら、既存の送信スケジュールを非常に迅速に変更することは逆効果となるが、これは、新たな2ホップ近隣情報が通信システムを伝播するのに時間がかかるためである。
【0053】
ここで、デバイスの1ホップ近隣中での報告済み送信リストから取ったこのデバイスによる近隣送信スケジュールの計算の実施形態を検討する。ここで、デバイスK、NTSKの近隣送信スケジュールには、その1ホップ近隣中の各々のデバイスに対する行と、このスケジュールで必要とされる各々の時間スロットに対する列とが含まれている。また、ここで、近隣送信スケジュールを報告済み送信リストから構築するために用いられる方式をスケジューリング技法と呼ぶ。
【0054】
NOMADで用いられるスケジューリング技法では、あるデバイスに記憶されている報告済み送信リストにデバイス識別子をこれらが占める時間スロット位置に従って順序付けし、次に、報告済み送信リストに含まれるデバイス識別子のシーケンスを近隣送信スケジュールに1回以上コピーする。例えば、1ホップ近隣中にあるデバイスの報告済み送信リストが近隣送信スケジュール中にコピーされる回数は、近隣送信スケジュールが1ホップ近隣中のすべての報告済み送信リストの最初の時間スロット位置から始まって、報告済み送信リストが繰り返す時間スロットに先行する最後の時間スロットで終了するように選択される。したがって、一部の実施形態では、近隣送信スケジュールでは、このデバイスに対する1つ以上の送信リストをN回(ここでNは整数)繰り返すことによって、このデバイスからの送信の周期性が近隣送信スケジュールのそれと同じとなることを保証するようにしている。
【0055】
その近隣送信スケジュールでの情報に基づいて、デバイスKは、それ自体の1ホップ隣人がデバイスKからの送信と衝突することがないNTSK中の時間スロットを選択してもよい。例えば、近隣送信スケジュール中の時間スロット位置ごとにリストアップされたデバイス識別子に基づいて、デバイスKは、自分用の時間スロットを、近隣送信スケジュールの行ごとにこの時間スロットにそれ自体のデバイス識別子がリストアップされたときに選択する。さらに、デバイスKはまた、デバイス識別子が自分にとって都合のよい何らかの辞書式順序に従うような時間スロットを自分用に選択する。
【0056】
ここで、このスケジューリング技法では、あるデバイスから2ホップ内にあるデバイスは、これらの近隣送信スケジュールの各々が始まる時間スロットが一致していなければならない。デバイスKは、1ホップ隣人の近隣送信スケジュールが開始したことを、自分がこの隣人から報告済み送信リストを受信するごとに判定する。例えば、現行の時間スロット近隣送信スケジュール中の対応する時間スロットに対するマッピング上の不一致を軽減するために、デバイスはスケジュールアンカーを選択して、それ自体が計算する近隣送信スケジュールを基準とした現行の時間スロットの位置を決定する。
【0057】
ここで、最小公倍数スケジューリング法(LCMS)を用いるスケジューリング技法の実施形態を検討する。LCMSでは、デバイスKの近隣送信スケジュール中の時間スロットの数は、デバイスKの1ホップ近隣中の報告済みの隣人リストのランクの最小公倍数(LCM)に等しい。様々な方式を用いて、1ホップ近隣中の報告済みの送信リストのランクのLCMを計算する。1つの方式ではユークリッド技法を用いるが、この場合、報告済み送信リストのランクの積を計算し、次にこの積を同じ報告済み送信リストのランクの最大公約数で除算する。したがって、LCMS技法では、デバイスKの1ホップ隣人Nの報告済み送信リストを、デバイスNからの報告済み送信リストのランクで除算した報告済み送信リストのランクのLCMに等しい回数だけ繰り返す。
【0058】
下記の表2に、本発明の実施形態によるNTSKを構築するためにLCMSを用いるスケジューリング技法の例示の擬似コードを示す。ランク[RTLKN]はRTLKNのランク(すなわち時間スロット位置の数)と定義され、NID[RTLKN]は、RTLKN中で報告されるデバイス識別子を記憶するNLTKの行に含まれているデバイス識別子の順序付けされたリストと定義される。さらに、NTSK[N]は1ホップ隣人デバイスNに対応するNTSKの行であると定義され、OHNKは、デバイスKの1ホップ近隣中のデバイスの集合であると定義される。ここで、NTSK中の時間スロットの数はLCMKに等しく、デバイスKの1ホップ隣人Nの報告済み送信リスト中の各々の時間スロットがサイクルKNに等しい回数だけ繰り返される。
【0059】
【表2】

【0060】
一部の実施形態では、デバイスKは、最大のランクと最大のデバイス識別子を有する報告済み送信リストを有するそれ自体の1ホップ近隣中のデバイスを、報告済み送信リストの最大ランク中に関連があれば、そのスケジュールアンカーとして選択する。例えば、2ホップ近隣300(図3)の場合、デバイスBはデバイスCをそのスケジュールアンカーとして選択するが、これは、そのリストランクが7であり、デバイスBやDのリストランクより大きいためである。同様に、2ホップ近隣400(図4)では、デバイスAはデバイスHをそのスケジュールアンカーとして選択するが、これは、そのリストランクが7(デバイスAのリストランクに等しく、デバイス110−19すなわちデバイス「S」が報告したリストランク4より大きい)であり、また、Sが辞書的にはAより大きいためである。また、2ホップ近隣500(図5)の場合、デバイスHの1ホップ近隣中のデバイスはすべて同じリストランクを有する。したがって、デバイスHは、それ自体のスケジュールアンカーとしてデバイスXを選択するが、これは、そのデバイス識別子が最大であるためである。
【0061】
通信システム100(図1)の近隣送信スケジュールを図7に示す。近隣送信スケジュール700では、デバイスDに記憶されているすべての報告済み送信リストが4に等しい同じランクを有し、したがって、各々の報告済み送信リストのデバイス識別子は1回しか循環しないが、これは、デバイスDの1ホップ近隣中のでデバイスNの各々に対してLCMDが4に等しく、サイクルDNが1に等しいためである。これとは対照的に、デバイスBに記憶されているすべての報告済み送信リストはランクが異なる。特に、ランク[RTLBD]は4に等しく、ランク[RTLBB]は7に等しく、ランク[RTLBC]は7に等しい。したがって、LCMBは28に等しく、サイクルBDが7に等しく、サイクルBBが4に等しく、サイクルBCが4に等しい。ここで、RTLBD中のデバイス識別子のリストは連続して7回繰り返されるが、一方、RTLBBとRTLBC中のデバイス識別子のリストは4回しか繰り返されない。
【0062】
近隣送信スケジュール700では、ランクが互いの倍数ではない報告済み送信リストを報告するデバイスの1ホップ近隣中のデバイスの近隣送信スケジュールのランクは結局はるかに大きいものとなる。これらのランクは、デバイスの1ホップ近隣中の報告済み送信リストのランクのLCMによって決定される。例えば、デバイスA、BおよびCは28個の時間スロットを有する近隣送信スケジュールを有し、一方、デバイスDとデバイス110−11(デバイス「K」)は4つの時間スロットを有する近隣送信スケジュールを有し、残余のデバイスは7つの時間スロットを含む近隣送信スケジュールを有する。
【0063】
下記の表3に、本発明の実施形態による、デバイスKがそれ自体の送信用の時間スロットを選択するために用いるスケジューリング技法の例示の擬似コードを示す。ここで、NTSK[N、t]は、時間スロットtのNTSK[N]中のデバイス識別子である。
【0064】
【表3】

【0065】
各々のデバイスが送信目的で選択する時間スロットは近隣送信スケジュール700中で強調される。ここで、LCMSをNOMADで用いる場合、各々のデバイスはそれ自体の近隣送信スケジュールの循環ごとに対して少なくとも1つの時間スロットを有することを保証されるが、これは、すべてのデバイスが、その近隣送信スケジュールを構築する際に同じ順序付け動作に従うからであり、また、デバイスKの2ホップ近隣中の各々のデバイスはデバイスKに対して割り当てられた時間スロットを有しなければならないためである。表3に示すスケジューリング技法では、デバイスKはそれ自体の近隣送信スケジュール中に追加の時間スロットを得る。したがって、LCMSを用いるNOMADでは、デバイスKに対して、1/TLCMKという最小送信レートが保証される。しかしながら、デバイスKがLCMK個の時間スロットごとに1つの時間スロット以外に要求することが可能な時間スロットの数は、それ自体の1ホップ近隣中のデバイス識別子と、それ自体の報告済み送信リストがどのように重なり合ってその送信スケジュールを形成しているかとによって異なる。したがって、一部の実施形態では、小さいランクの(すなわち時間スロットの数が少ない)近隣送信スケジュールを得るのが望ましい。各々のデバイスの保証済みの時間スロットを近隣送信スケジュール700(図7)中で実線の正方形で示す。この保証時間スロットによって、各々のデバイスに対する2つのサブチャネル間での最大遅延時間が確実に所定値未満となる。さらに、それ自体の近隣送信スケジュールで使用可能な追加の時間スロットを、空の破線の正方形で示す。ここで、ランクが同じである報告済み送信リストを有する1ホップ隣人を有するデバイスはこのランクの近隣送信スケジュールを有するが、これは、LCMが報告済み送信リストのランクに等しいためである。これらの例において、デバイスは、それ自体の近隣送信スケジュール中では単に1つの送信機会を有するだけであるが、これは、上に概括した時間スロットの選択の最初の場合だけが真であるためである。この例として、デバイスD、デバイス110−5(デバイス「E」)、デバイスH、デバイスK、デバイス110−10(デバイス「J」)、デバイス110−13(デバイス「M」)、デバイス110−16(デバイス「P」)、デバイス110−18(デバイス「R」)、デバイス110−22(デバイス「V」)、デバイス110−23(デバイス「W」)、およびデバイスXがある。
【図面の簡単な説明】
【0066】
【図1】本発明の実施形態による通信システムを示すブロック図である。
【図2】本発明の実施形態による通信システム中の2ホップ近隣を示すブロック図である。
【図3】本発明の実施形態による通信システム中の2ホップ近隣を示すブロック図である。
【図4】本発明の実施形態による通信システム中の2ホップ近隣を示すブロック図である。
【図5】本発明の実施形態による通信システム中の2ホップ近隣を示すブロック図である。
【図6】本発明の実施形態による通信システム中のデバイスによって報告された送信リストを示すブロック図である。
【図7】本発明の実施形態による通信システム中のデバイスによって計算された近隣送信スケジュールを示すブロック図である。
【符号の説明】
【0067】
100 通信システム
110−1〜24 デバイス
112 ローカルエリアネットワーク
114 ルーター
116 ホスト
200〜500 2ホップ近隣
310 時間スロット
600 報告済み送信リスト
700〜900 近隣送信スケジュール

【特許請求の範囲】
【請求項1】
時系列をなすフレームによって互いに通信するように構成されたデバイスを備える通信システムであって、
各々のフレームがサブチャネルを含み、
所与のフレーム中のサブチャネルの総数が、送信スケジュールに基づいて動的に決定され、
前記送信スケジュールが、前記デバイス間でやり取りされる送信リストに基づいて前記デバイスによって計算され、
第1のデバイス用の第1の送信リストが、前記第1のデバイスが予約した第1のサブチャネルグループと、前記第1のデバイスと通信するデバイスの集合が予約した第2のサブチャネルグループとを含む、
通信システム。
【請求項2】
前記第1のデバイスが前記デバイス集合のうちの第1の部分集合と直接的に通信する、請求項1に記載の通信システム。
【請求項3】
前記第1のデバイスが前記デバイス集合の第2の部分集合と間接的に通信し、また、前記第1のデバイスと第2のデバイス間の間接的通信が、前記第1のデバイスと直接的に通信する第3のデバイスを介して仲介される、請求項2に記載の通信システム。
【請求項4】
前記第2のサブチャネルグループが、前記デバイス集合のうちの前記第1の部分集合が予約したサブチャネルと、前記デバイス集合のうちの前記第2の部分集合が予約したサブチャネルとを含む、請求項3に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−167446(P2008−167446A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2007−336965(P2007−336965)
【出願日】平成19年12月27日(2007.12.27)
【出願人】(502096543)パロ・アルト・リサーチ・センター・インコーポレーテッド (393)
【氏名又は名称原語表記】Palo Alto Research Center Incorporated
【Fターム(参考)】