(57)【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークの第１ノードで、前記コンピュータ・ネットワークの第２ノードによる前記コンピュータ・ネットワーク内での時間の指示を受信するステップと、
前記第２ノードから受信した時間の前記指示が、前記第１ノードでの時間よりも新しいか、または古いかによって、前記第１ノードでの前記時間を調整するかどうかを決定するステップと
を含み、
前記第２ノードから受信した時間の指示が、前記第１ノードでの時間から、所定のしきい値量を超えて異なっている場合、前記第１ノードと前記第２ノードのどちらが、他方に対して優先順位を有するかを前記第１ノードが判定し、前記第２ノードが優先順位を有する場合にだけ、前記第１ノードでの前記時間を調整するよう構成され、さらに、前記第１ノードは、
（１）前記第２ノードが属するネットワークがより古いネットワークに遷移することを要求されるのを防止する「ロック済み状態」にある時、または
（２）前記第２ノードが、前記第１ノードの時間の指示より古い時間の指示を有している時に、
前記第２ノードが優先順位を有すると判定する方法。
【請求項２】
第２ノードから受信した時間の指示が、第１ノードでの時間よりも古い場合にのみ、前記第１ノードでの前記時間が調整される請求項１に記載の方法。
【請求項３】
第２ノードから受信した時間の指示が、第１ノードでの時間を調整するかどうかを決定する前に、コンピュータ・ネットワーク内での遅延のために増加される請求項２に記載の方法。
【請求項４】
第１ノードが、前記第１ノードでの時間を調整する前に、まず、前記第２ノードに遷移要求パケットを伝送して、該第２ノードを遷移モードに入らせる請求項１に記載の方法。
【請求項５】
第１ノードと同期されたノードが、前記第１ノードから遷移要求パケットを受信して、前記遷移要求パケット内で指定された時間により、対応するローカル時間を調整する請求項４に記載の方法。
【請求項６】
コンピュータ・ネットワークの第１ノードで、前記コンピュータ・ネットワークの第２ノードによる前記コンピュータ・ネットワーク内での時間の指示を受信する手段と、
前記第２ノードから受信した時間の前記指示が、前記第１ノードでの時間よりも新しいか、または古いかによって、前記第１ノードでの前記時間を調整するかどうかを決定する手段とを含み、
前記第２ノードから受信した時間の指示が、前記第１ノードでの時間から、所定のしきい値量を超えて異なっている場合、前記第１ノードと前記第２ノードのどちらが、他方に対して優先順位を有するかを前記第１ノードが判定し、前記第２ノードが優先順位を有する場合にだけ、前記第１ノードでの前記時間を調整するよう構成され、さらに、前記第１ノードは、
前記第２ノードが属するネットワークがより古いネットワークに遷移することを要求されるのを防止する「ロック済み状態」にある時、または
前記第２ノードが、前記第１ノードの時間の指示より古い時間の指示を有している時に、
前記第２ノードが優先順位を有すると判定する、第１ノードとして動作する装置。
【請求項７】
第２ノードから受信した時間の指示が、第１ノードでの時間よりも古い場合にのみ、前記第１ノードでの前記時間を調整する手段を、さらに設けた請求項６に記載の装置。
【請求項８】
第２ノードから受信した時間の指示が、第１ノードでの時間を調整するかどうかを決定する前に、コンピュータ・ネットワーク内での遅延のために増加される請求項７に記載の装置。
【請求項９】
第１ノードが、前記第１ノードでの時間を調整する前に、まず、前記第２ノードに遷移要求パケットを伝送して、該第２ノードを遷移モードに入らせる請求項６に記載の装置。
【請求項１０】
第１ノードと同期されたノードが、前記第１ノードから遷移要求パケットを受信して、前記遷移要求パケット内で指定された時間により、対応するローカル時間を調整する請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（政府許諾権の言明）
米国政府は、本発明の一部での許諾権料を支払っており、限定された状況で、特許所有者に、Ｕ．Ｓ．Ａｒｍｙ  Ａｖｉａｔｉｏｎ  ＆  Ｍｉｓｓｉｌｅ  Ｃｏｍｍａｎｄによって与えられる契約書Ｎｏ．：ＤＡＡＨ０１−９８−Ｃ−Ｒ００５の条項によって既定される、妥当な条件で他人に許諾を与えることを要求する権利を有する。
【０００２】
（発明の分野）
本発明は、コンピュータ・ネットワークで使用する通信プロトコルに関し、より詳細には、アドホック・ワイヤレス・ネットワーク内での媒体アクセス制御および／またはリンク・レベルで使用する、そうしたプロトコルに関する。
【背景技術】
【０００３】
（背景）
マルチホップ・パケット無線ネットワーク（すなわち、アドホック・ネットワーク）は、パケット・スイッチング技術を移動ユーザを有する環境に拡張する。そうしたネットワークは、緊急状況で迅速に設置することが可能であり、また自己構成可能である。パケット無線機（または局）が、共通同報通信を共用することができるようにする媒体アクセス制御（ＭＡＣ）プロトコルは、パケット無線ネットワークの必要不可欠な構成要素である。
【０００４】
ＭＡＣプロトコルには２つの主な種類が存在する。競合・ベースのプロトコルと競合・フリーのプロトコルである。キャリア検知多重アクセス（ＣＳＭＡ）プロトコル（例えば、Ｌ．Ｋｌｅｉｎｒｏｃｋ  ＆  Ｆ．Ａ．Ｔｏｂａｇｉ，「Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｉｎｇ  ｉｎ  Ｒａｄｉｏ  Ｃｈａｎｎｅｌｓ：Ｐａｒｔ  Ｉ  −  Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  Ｍｏｄｅｓ  ａｎｄ  ｔｈｅｉｒ  ｔｈｒｏｕｇｈｐｕｔ−Ｄｅｌａｙ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ」，ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍ．，Ｖｏｌ．ＣＯＭ−２３，Ｎｏ，１２，ｐｐ．１４００−１４１６（１９７５）を参照）が、競合・ベースのＭＡＣプロトコルのうちの最も普及しているものの例であり、Ｂ．Ｍ．Ｌｅｉｎｅｒ他、編、「Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ，Ｖｏｌ．７５（１９８７年１月）」に記載されるもののような、いくつものパケット無線ネットワーク内で使用されてきた。これらのプロトコルは、各局に、伝送を行う前に、チャネルにリスンすることを要求することによって、局が、その伝送範囲内で他の局と同時に伝送を行うことを防止しようとする。
【０００５】
パケット無線機のハードウェア特性は、パケット無線機が、同一チャネルに対して、伝送を行うと同時にリスンすることができないようになっている。したがって、衝突検出（例えば、Ｒ．Ｍ．Ｍｅｔｃａｌｆｅ  ＆  Ｄ．Ｒ．Ｂｏｇｇｓ，「ＥＴＨＥＲＮＥＴ（登録商標）：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｉｎｇ  ｆｏｒ  Ｌｏｃａｌ  Ｃｏｍｐｕｔｅｒ  Ｎｅｔｗｏｒｋｓ」，Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ，Ｖｏｌ．１９，Ｎｏ．７，ｐｐ．３９５−４０３（１９７６年）に記載されるＣＳＭＡ／ＣＤ）は、単一チャネル・パケット無線ネットワーク内で使用することができない。さらに、ＣＳＭＡプロトコルのスループットは、同じ受信機の範囲内にある複数の送信機が互いの伝送を検知できる限り、非常に良好なものではあるが、「隠れた端末」の問題が、ＣＳＭＡのパフォーマンスを相当に低下させる。これは、キャリア検知が、そのケースでの衝突を防止できないからである。例えば、Ｆ．Ａ．Ｔｏｂａｇｉ  ＆  Ｌ．Ｋｌｅｉｎｒｏｃｋ，「Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｉｎｇ  Ｒａｄｉｏ  Ｃｈａｎｎｅｌｓ：Ｐａｒｔ  ＩＩ  −  ｔｈｅ  Ｈｉｄｄｅｎ  Ｔｅｒｍｉｎａｌ  Ｐｒｏｂｌｅｍ  ｉｎ  Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  Ｍｏｄｅｓ  ａｎｄ  ｔｈｅ  Ｂｕｓｙ−Ｔｏｎｅ  Ｓｏｌｕｔｉｏｎ」，ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍ．，Ｖｏｌ．２３，Ｎｏ．１２，ｐｐ．１４１７−１４３３（１９７５年）を参照されたい。
【０００６】
ＴｏｂａｇｉおよびＫｌｅｉｎｒｏｃｋによって進められるビジートーン多重アクセス（ＢＴＭＡ）プロトコルは、ＣＳＭＡの隠れた端末の問題に取り組んだ最初の提案であった。ＢＴＭＡは、局ベースのネットワークのために設計されており、チャネルをメッセージ・チャネルとビジートーン・チャネルに分割する。基地局は、データ・チャネル上でキャリアを検知するかぎり、ビジートーン・チャネル上でビジートーン信号を伝送する。基地局は、すべての端末を見ることができるので、各端末は、ビジートーン・チャネルを検知して、データ・チャネルの状態を判定することができる。ＢＴＭＡの限界は、データ・チャネルの状態を伝えるのに、別個のチャネルを使用すること、データ・チャネル内でキャリアを検出している間、ビジートーンを伝送するのに受信機を必要とすること、および狭帯域チャネル内でビジートーン信号を検出するのが困難なことである。
【０００７】
パケット無線ネットワークのための受信側開始ビジートーン多重アクセス・プロトコルも提案されている。Ｃ．Ｗｕ．＆  Ｖ．Ｏ．Ｋ．Ｌｉ，「Ｒｅｃｅｉｖｅｒ−Ｉｎｉｔｉａｔｅｄ  Ｂｕｓｙ−Ｔｏｎｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｉｎ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＡＣＭ  ＳＩＧＣＯＭＭ  ８７  Ｗｏｒｋｓｈｏｐ：Ｆｒｏｎｔｉｅｒｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｔｅｃｈｎｏｌｏｇｙ，Ａｕｇ．１１−１３，１９８７年。このスキームでは、送信側は、送信要求（ＲＴＳ）を受信側に対して、データ・パケットを送信する前に伝送する。受信側は、正しいＲＴＳを得たとき、別個のチャネルでビジートーンを伝送して、付近の他のソースに引き下がるように警報する。正しいソースには、常に、それがデータ・パケットの伝送を開始できることが通知される。このスキームの１つの限界は、それが、やはり、別個のビジートーン・チャネルおよび全二重オペレーションを受信側で必要とし、したがって、パケット無線ネットワークを非実用的にしていることである。
【０００８】
送信側と受信側の間でのハンドシェークに基づく、ワイヤレス・ネットワークのための最初のプロトコルのうちの１つは、ＳＲＭＡ（分割チャネル予約多重アクセス）であった。Ｆ．Ａ．Ｔｏｂａｇｉ  ＆  Ｌ．Ｋｌｅｉｎｒｏｃｋ，「Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｉｎｇ  ｉｎ  Ｒａｄｉｏ  Ｃｈａｎｎｅｌｓ：Ｐａｒｔ  ＩＩＩ  −  Ｐｏｌｌｉｎｇ  ａｎｄ  （Ｄｙｎａｍｉｃ）  Ｓｐｌｉｔ−Ｃｈａｎｎｅｌ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ」，ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍ．，Ｖｏｌ．ＣＯＭ−２４，Ｎｏ．８，ｐｐ．８３２−８４５（１９７６年）。ＳＲＭＡによれば、パケットの送信側は、ＡＬＯＨＡまたはＣＳＭＡを使用して、それがＲＴＳを正しく受信した場合、いつ送信応答（ＣＴＳ）を送信するかを判定する。ＣＴＳは、送信側に、いつそのデータ・パケットを伝送するかを知らせる。ＳＲＭＡは、ＲＴＳ／ＣＴＳ交換のための１つまたは２つの制御チャネルとともに提案されたが、同一のスキームが、単一チャネルにも当てはまる。
【０００９】
ＳＲＭＡが最初に提案されて以来、いくつかの他のＭＡＣプロトコルが、同様のＲＴＳ−ＣＴＳ交換、あるいはＲＴＳとそれに続く休止に基づく単一チャネル・ワイヤレス・ネットワークまたはワイヤライン・ローカル・エリア・ネットワークに対して提案されている。例えば、Ｖ．Ｂｈａｒｇｈａｖａｎ他，「ＭＡＣＡＷ：Ａ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  ＬＡＮｓ」，Ｐｒｏｃ．ＡＣＭ  ＳＩＧＣＯＭＭ  ′９４，ｐｐ．２１２−２５，Ａｕｇ．３１−Ｓｅｐ．２，１９９４年、Ｖ．Ｂｈａｒｇｈａｖａｎ，「Ａｃｃｅｓｓ，Ａｄｄｒｅｓｓｉｎｇ  ａｎｄ  Ｓｅｃｕｒｉｔｙ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｐａｃｋｅｔ  Ｎｅｔｗｏｒｋｓ」，ＰｈＤ  Ｔｈｅｓｉｓ，Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｃａｌｉｆｏｒｎｉａ，Ｂｅｒｋｅｌｅｙ，Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｄｅｐｔ．（１９９５年）、Ａ．Ｃｏｌｖｉｎ，「ＣＳＭＡ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ」，Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍ．，Ｖｏｌ．６，Ｎｏ．５，ｐｐ．２２７−２３５（１９８３年）、Ｗ．Ｆ．Ｌｏ  ＆  Ｈ．Ｔ．Ｍｏｕｆｔａｈ，「Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  ｆｏｒ  Ｒａｄｉｏ  Ｃｈａｎｎｅｌｓ」，ＩＥＥＥ  １３ｔｈ  Ｉｎｔ′ｌ  Ｃｏｍｍ．Ａｎｄ  Ｅｎｅｒｇｙ  Ｃｏｎｆ．，ｐｐ．２４４−２４７（１９８４年）、Ｒ．Ｒｏｍ，「Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｒａｄｉｏ  Ｃｈａｎｎｅｌｓ」ｐｐ．２３５−４９（１９８６年）、およびＧ．Ｓ．Ｓｉｄｈｕ他，「Ｉｎｓｉｄｅ  Ａｐｐｌｅ  Ｔａｌｋ」，２ｎｄ  ｅｄ．（１９９０年）を参照されたい。さらに、Ｋａｒｎが、ＭＡＣＡ（多重アクセス衝突回避）と呼ばれるプロトコルを提案して、ＲＴＳの伝送のためにＡＬＯＨＡを使用する単一チャネルでの隠れた端末の問題に対処している。Ｐ．Ｋａｒｎ，「ＭＡＣＡ  −  Ａ  Ｎｅｗ  Ｃｈａｎｎｅｌ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｐａｃｋｅｔ  Ｒａｄｉｏ」，ＡＲＲＬ／ＣＲＲＬ  Ａｍａｔｅｕｒ  Ｒａｄｉｏ  ９ｔｈ  Ｃｏｍｐｕｔｅｒ  Ｎｅｔｗｏｒｋｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ，ｐｐ．１３４−１４０（１９９０年）。このプロトコルは、キャリア検知なしに、ＲＳＴ−ＣＳＴ交換を使用して、受信側で衝突を検出しようとする。コンピュータ・ネットワークに関する８０２．１１規格を管理する電気電子学会（ＩＥＥＥ）の委員会が、ＲＳＴ−ＣＴＳハンドシェーク（ＤＦＷＭＡＣ）に基づく伝送モードを含む、無線ローカル・エリア・ネットワークのためのＭＡＣプロトコルを提案している。Ｋ．Ｃ．Ｃｈｅｎ，「Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ｏｆ  Ｗｉｒｅｌｅｓｓ  ＬＡＮｓ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｐｕｔｉｎｇ」，ＩＥＥＥ  Ｎｅｔｗｏｒｋ，Ｖｏ．８，Ｎｏ．５，ｐｐ．５０−６３（１９９４年）、Ｐ８０２．１１−Ｕｎａｐｐｒｏｖｅｄ  Ｄｒａｆｔ：Ｗｉｒｅｌｅｓｓ  ＬＡＮ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ，ＩＥＥＥ（１９９６年１月）。
【００１０】
ＦｕｌｌｍｅｒおよびＧａｒｃｉａ−Ｌｕｎａ−Ａｃｅｖｅｓが、アドホック・ネットワークにとって特に魅力的な、ＲＴＳ−ＣＴＳ交換に基づくＭＡＣプロトコルに対する新しい変形形態を導入した。Ｃ．Ｌ．Ｆｕｌｌｍｅｒ  ＆  Ｊ．Ｊ．Ｃａｒｃｉａ−Ｌｕｎａ−Ａｃｅｖｅｓ，「Ｓｏｌｕｔｉｏｎ  ｔｏ  Ｈｉｄｄｅｎ  Ｔｅｒｍｉｎａｌ  Ｐｒｏｂｌｅｍｓ  ｉｎ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ」，Ｐｒｏｃ．ＡＣＭ  ＳＩＧＣＯＭＭ  ′９７，Ｓｅｐｔｅｍｂｅｒ  １４−１８（１９９７年）。このプロトコルは、ＦＡＭＡ−ＮＣＳ（非持続性キャリア検知を有するフロア獲得多重アクセス）。ＦＡＭＡ−ＮＣＳの目的は、送信すべきデータを有する局が、いかなるデータ・パケットも送信する前に、受信機の近辺（これが「フロア」と呼ばれる）で、チャネルの制御を獲得して、データ・パケットが、受信側で、どの他のパケットとも衝突しないことを確実にすることである。
【００１１】
前述したもののような競合・ベースのＭＡＣプロトコルが抱える主な問題は、それらが、遅延アクセスを保証しないことである。この欠点は、競合・ベースのプロトコルを、ワイヤレス・ネットワークを介するボイド転送などの適用形態に関して、非効率的にすることである。衝突フリーのプロトコルは、チャネル・アクセスの遅延を保証することができる。ただし、マルチホップ・ワイヤレス・ネットワーク内で動作するように設計されているプロトコルは、ほとんどない。
【００１２】
ネットワーク内で使用される別のプロトコルは、時間分割多重アクセス（ＴＤＭＡ）プロトコル・ファミリである。この場合、時間が、時間スロットから成るフレームに分割される。時間スロットは、特定ノードに割り振られるか、あるいは、その時間スロットを割り振るのに、中央局が使用される。ＴＤＭＡの限界は、ノードに対する時間スロットの固定割当ての使用に由来し、この割当ては、ネットワークの変化に適応するのが遅く、ノードが、トラフィックのバースト性ソースである場合（アドホック環境の場合に、そうであるように）、チャネルを非効率的に使用する。いくつかのプロトコルが、中央基地局を必要とせずに動的に時間スロットを割振るために、近年、提案されている。これらのプロトコルは、トポロジ非依存時間スケジューリング・プロトコルまたはトポロジ依存時間スケジューリング・プロトコルとして分類することができる。
【００１３】
Ｓｈｅｐａｒｄ、Ｃｈｌａｍｔａｃ、およびＪｕとＬｉが、トポロジ非依存時間スケジューリング・プロトコルを提案している。Ｔ．Ｓｈｅｐａｒｄ，「Ａ  Ｃｈａｎｎｅｌ  Ａｃｃｅｓｓ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｌａｒｇｅ  Ｄｅｎｓｅ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＳＩＧＣＯＭＭ  ′９６  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃ．（１９９６年）、Ｉ．Ｃｈｌａｍｔａｃ他，「Ｔｉｍｅ−Ｓｐｒｅａｄ  Ｍｕｌｔｉｐｌｅ−Ａｃｃｅｓｓ（ＴＳＭＡ）  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｍｕｌｔｉｈｏｐ  Ｍｏｂｉｌｅ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，Ｖｏｌ．５，Ｎｏ．６（１９９７年１２月）、Ｊｉ−Ｈｅｒ  Ｊｕ  ＆  Ｖｉｃｔｏｒ  Ｏ．Ｋ．Ｌｉ，「Ａｎ  Ｏｐｔｉｃａｌ  Ｔｏｐｏｌｏｇｙ−Ｔｒａｎｓｐａｒｅｎｔ  Ｓｃｈｅｄｕｌｉｎｇ  Ｍｅｔｈｏｄ  ｉｎ  Ｍｕｌｔｉｈｏｐ  Ｐａｃｋｅｔ  ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｖｏｌ．６，Ｎｏ．３（１９９８年６月）。これらのプロトコルでは、ノードには、それらが発行する伝送スケジュールが事前に割当てられる（例えば、それらのノードＩＤを使用して）、またはノードは、それを採用する。そうしたスケジュールは、ノードが送信および受信を行う時刻を指定する。プロトコルは、ノードのスケジュール内の少なくとも１つの伝送時間が、１ホップまたは２ホップ離れたどのノードとも競合しないことを保証するか、またはその高い可能性を与える。
【００１４】
ＣｈｌａｍｔａｃおよびＪｕの手法では、ノードは、どの伝送が成功するかを判定することができず、より高い層（例えば、リンク層）のプロトコルを複雑にする。これらの手法は、また、ネットワーク内の全数のノードおよび各ノードごとの最大数の隣接ノードに対する値を、アルゴリズムに対する入力パラメータとして必要とし、したがって、それらを最悪ケース条件に対して設計させる（したがって、ネットワークが、予期されるほど高密度ではない場合、非効率をもたらす）か、またはそれらは、実際のネットワーク条件の影響を受けやすくなる（ネットワークが、予期されるよりも大きい、または高密度である場合）。
【００１５】
Ｓｈｅｐａｒｄの手法は、ノードが、その隣接ノードと同期され、それらの隣接ノードのスケジュールを知っており、複数の伝送ノードから同時に受信することができると想定することによって、衝突を回避する。この最後の想定は、かなり高度な無線ハードウェアを必要とする。
【００１６】
最近、ＺｈｕおよびＣｏｒｓｏｎ（Ｃ．Ｚｈｕ  ＆  Ｍ．Ｓ．Ｃｏｒｓｏｎ，「Ａ  Ｆｉｖｅ−Ｐｈａｓｅ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＦＰＲＰ）  ｆｏｒ  Ｍｏｂｉｌｅ  Ａｄ  Ｈｏｃ  Ｎｅｔｗｏｒｋｓ」，Ｐｒｏｃ．ＩＥＥＥ  ＩＮＦＯＣＯＭ  ′９８）、ならびにＴａｎｇおよびＧａｒｃｉａ−Ｌｕｎａ−Ａｃｅｖｅｓ（Ｚ．Ｔａｎｇ  ＆  Ｊ．Ｊ．Ｇａｒｃｉａ−Ｌｕｎａ−Ａｃｅｖｅｓ，「Ｈｏｐ−Ｒｅｓｅｒｖａｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（ＨＲＭＡ）  ｆｏｒ  Ｍｕｌｔｉｃｈａｎｎｅｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，Ｐｒｏｃ．ＩＥＥＥ  ＩＣ３Ｎ  ′９８：Ｓｅｖｅｎｔｈ  Ｉｎｔ′ｌ  Ｃｏｎｆ．Ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｎｅｔｗｏｒｋｓ，Ｏｃｔｏｂｅｒ  １２−１５，１９９８年、Ｊ．Ｊ．Ｇａｒｃｉａ−Ｌｕｎａ−Ａｃｅｖｅｓ，「ＳＰＡＲＲＯＷ／ＷＩＮＧＳ  Ｔｅｃｈｎｏｌｏｇｉｅｓ」，ＤＡＲＰＡ／ＳＰＡＷＡＲ  Ｍｅｅｔｉｎｇ，ＳＰＡＷＡＲ，Ｓａｎ  Ｄｉｅｇｏ，Ｎｏｖｅｍｂｅｒ  １８，１９９８年）が、トポロジ依存スケジューリング・プロトコルを開発し、ノードが、それ自体から１ホップまたは２ホップ離れたノードに干渉することなく、伝送できるようにする伝送スケジュールを獲得できるようにし、またチャネル再使用が、ノード当たりの隣接ノードの数が減少するにつれて、増加するようにしている。これらのプロトコルは、ノードが、衝突フリーの時間スロットを予約するために競合することを必要とする。
【００１７】
初期のトポロジ非依存スケジュールと、その後で、ネットワーク・ノード間の通信が最終スケジュールをネゴシエーションすることを必要とする他のＴＤＭＡ手法には、下記のものが含まれる。Ｃｈｌａｍｔａｃが、そのアルゴリズムの数回の反復の後、トラフィック・デマンドに適応することができる反復リンク・スケジュールに基づくアルゴリズムを提案している。このアルゴリズムは、各ノードに、そのノードＩＤによる伝送スロットを割り当てる、「リンク当たり単一スロット」のスケジュールで開始する。各反復で、スケジュール情報およびスケジュール「トークン」が、経路指定ツリー（既存のアルゴリズムを使用して確立される）を上下して経路指定されて、その満たされていないトラフィック・デマンドの程度に応じて、追加のスロットをノードまたはリンクに割り当てる。Ｉ．Ｃｈｌａｍｔａｃ，「Ｆａｉｒ  Ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  Ｍａｘｉｍａｌ  Ｌｉｎｋ  Ａｃｔｉｖａｔｉｏｎ  ｉｎ  Ｍｕｌｔｉｈｏｐ  ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｖｏｌ．ＣＯＭ−３５，Ｎｏ．７（１９８７年）。
【００１８】
ＥｐｈｒｅｍｉｄｅｓおよびＴｒｕｏｎｇが、同様のアルゴリズムを提案しており、そこでは、各ノードには、最初、そのノードＩＤに対応するスロットが割り当てられ、次に、各ノードは、その割当てを使用して、「スケルトン」スケジュールをその隣接ノードに渡す。次の２フレーム（通信スケジュールの２反復）中、固定ノード優先順位に従って、すべての利用可能なスロットが取られるまで、ノードは、利用可能なノードを取ることができる。（すなわち、衝突を生じさせずに、それ以上のスロットを割り当てることができない。収束するのに数回の反復を必要とする比較的固定されたスケジュールの必要性、およびネットワークの最大サイズに等しいスケジューリング・フレーム・サイズのため、これらの手法は、移動性または他のダイナミックスに対する限られたスケーラビリティおよび堅固さを有する。Ａ．Ｅｐｈｒｅｍｉｄｅｓ  ＆  Ｔ．Ｔｒｕｏｎｇ，「Ｓｃｈｅｄｕｌｉｎｇ  Ｂｒｏａｄｃａｓｔｓ  ｉｎ  Ｍｕｌｔｉｈｏｐ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｖｏｌ．ＣＯＭ−３８，Ｎｏ．４（１９９０年）。
【００１９】
Ｙｏｕｎｇによって提案される手法もまた、ノード当たり１スロットの初期割当てと、次に、他のスロットを割り当てるための、パケットをスケジュールするネゴシエーションを必要とする。ただし、初期に割り当てられるスロットは、各「フレーム」内の第１スロットに限られる。したがって、各ノードの割当てスロットは、毎Ｎフレームごとに起こる。ここで、Ｎは、最大ネットワーク・サイズである。このため、この手法は、スケーラブルではない。また、ノードは、隣接ノードが提案されるスケジュール追加を確認するまでに、最高でＮフレームまで待つ必要があるため、この手法は、動的なトラフィック条件に適応するのが、比較的遅い。Ｃ．Ｄａｖｉｎｄ  Ｙｏｕｎｇ，「ＵＳＡＰ：ａ  ｕｎｉｆｙｉｎｇ  ｄｙｎａｍｉｃ  ｄｉｓｔｒｉｂｕｔｅｄ  ｍｕｌｔｉｃｈａｎｎｅｌ  ＴＤＭＡ  ｓｌｏｔ  ａｓｓｉｇｎｍｅｎｔ  ｐｒｏｔｏｃｏｌ」，ＭＩＬＣＯＭ  ′９６  Ｃｏｎｆ．Ｐｒｏｃ．，ｖｏｌ．１，ｐｐ．２３５−２３９（１９９６年１０月）。
【発明の概要】
【発明が解決しようとする課題】
【００２０】
（発明の概要）
一実施態様では、コンピュータ・ネットワークのノードが活動化されて、そのノードが、まず、そのコンピュータ・ネットワーク内に存在する可能性がある他のノードとのコンタクトを確立することを試みて、そうすることに失敗した場合には、自らを単一ノード・ネットワークとして確立する。ノードは、まず、コンピュータ・ネットワーク内での通信のために、１セットの１つまたは複数のコモン・チャネル（例えば、ワイヤレス通信チャネル）を巡回することによって、他のノードとのコンタクトを確立することを試みる。ノードは、各チャネルで要求パケットを伝送することによって、コンタクトを確立するのを試みることができる。次いで、コモン・チャネルのうちの１つで要求パケットを伝送した後、ノードは、コモン・チャネルのうちの次のものに進む前に応答パケットを求めてリスンする。他のノードのうちの１つから応答パケットを受信すると、ノードは、同期モードに入って、そのコンピュータ・ネットワークに参加する。
【００２１】
好ましくは、応答パケットは、コンピュータ・ネットワーク内での時間を指定するパラメータを含み、また、そのネットワークを識別するコードをさらに含んでもよい。そうした場合、ネットワークを識別するコードは、要求パケットに含まれなければならない。
【課題を解決するための手段】
【００２２】
ノードが単一ノード・ネットワークとして確立された場合、そのノードは、さらなるノードによるネットワークに参加する試みを探してリスンする。他のノードによるネットワークに参加するための１つまたは複数の試みを検出して、ノードは、それに対して応答を伝送する。この応答は、単一ノード・ネットワーク内での時間の指示を含み、また、ネットワーク・コードも含み得る。
【００２３】
別の実施態様では、コンピュータ・ネットワークの第１ノードは、そのコンピュータ・ネットワークの第２ノードによるそのコンピュータ・ネットワーク内の時間の指示を受信して、第２ノードから受信した時間の指示が、第１ノードでの時間よりも新しいか、または古いかによって、第１ノードでの時間を調整するかどうかを決定する。好ましくは、第１ノードでの時間は、第２ノードから受信した時間の指示が、第１ノードでの時間よりも古い場合にのみ調整される。いくつかの場合では、第２ノードから受信した時間の指示は、第１ノードでの時間を調整するかどうかを決定する前に、コンピュータ・ネットワーク内での遅延のために、増加させることが可能である。第２ノードから受信した時間の指示と第１ノードでの時間との違いが、所定のしきい値量よりも小さい場合、第１ノードは、第１ノードまたは第２ノードのどちらが、他方よりも古い時間を有するかを判定して、第２ノードでの時間の方が古い場合にだけ、第１ノードでの時間を調整する。
【００２４】
さらに別の実施態様では、コンピュータ・ネットワークの第１ノードからのパケット（例えば、制御パケット）のための伝送時間が、ノードの識別およびそのネットワークの経時によって計算される。ネットワークの経時は、制御パケットがその中で伝送されるべき現行のフレームの開始までのネットワーク経時の指示であり得る。この計算は、第１ノードの識別およびネットワークの経時の様々な入力に対して、結果の様々な（例えば、疑似ランダムな）分布を与える関数を使用して計算され、その結果は、最小から最大までの幅があり、パケットが伝送されるフレーム当りの伝送スロットの数を表す。そうした関数は、例えば、暗号化関数またはハッシュ関数であり得る。他の場合には、計算は、パケットが伝送されるフレーム内の伝送スロットを表す疑似ランダム値のエントリの表を使用して実行することができる。
【００２５】
前述のことに加えて、第１ノードは、また、コンピュータ・ネットワークの他のノードに関する伝送時間を計算することもできる。好ましくは、これは、他のノードの各固有識別子、およびネットワーク経時を使用して実行される。この計算は、第１ノードに関する伝送時間を計算するため使用される関数を使用して実現することができ、また、いくつかのケースでは、他のノードは、すべて、コンピュータ・ネットワーク内で、第１ノードの２ホップ近隣内にある。
【００２６】
第１ノードは、また、優先順位判定により、自らと他のノードの内の任意のものとの間での伝送時間に関する競合を解決する。この優先順位判定は、様々な識別入力に対して、一意的な出力を提供する関数、例えば、暗号化アルゴリズムまたは表ルックアップを使用して行うことができる。また、この優先順位判定は、ノードの各々と関連する優先順位バイアスを考慮に入れることも可能である。いずれにしても、第１ノードは、それが、他のノードに勝る優先順位を有すると判定された場合、また、いくつかのケースでは、それが、優先順位しきい値を超える優先順位を有する場合、伝送時間に伝送を行う。
【００２７】
伝送される制御パケットは、データ伝送に関するスケジュールをアドバタイジングすることができる。そうしたスケジュールは、データ伝送を受信する１つまたは複数のノードの識別、および／またはデータ伝送時間の識別、および／またはチャネルの識別を含み得る。スケジュールは、また、持続インディケータ（例えば、データ伝送がそれに対して継続する現行のフレームを超えるフレームの数を示すために）も含み得る。
【００２８】
制御パケット内で、ローカル識別子が、送信ノードおよび／または受信ノードを識別することが可能である。そうしたローカル識別子は、ノードに、通常、関連付けられているネットワーク識別子よりも小さいことがある。ネットワーク識別子に対するローカル識別子のマッピングをネットワーク内で定期的に伝送することができる。他の場合では、制御パケットは、また、ネットワークの１つまたは複数の他のノードによって伝送されたスケジュールおよび／またはパケットに対する確認情報も含み得る。
【００２９】
前述した優先順位判定は、いくつかのケースでは、疑似ランダム値の表を使用して行うことができる。そうしたケースでは、表は、第１ノードの媒体アクセス制御（ＭＡＣ）層アドレスから導出した値によって索引付けして、第１優先順位判定に対応するエントリをリトリーブすることができる。この第１優先順位判定は、第１ノードのＭＡＣ層アドレスを第１優先順位判定に対応するエントリと論理方式で結合することによって検査して、競合を解決することができる。
【００３０】
さらに別の実施態様では、トポロジ非依存スケジューリング手続きを使用して、コンピュータ・ネットワーク内で、そこでのパケットの伝送に関して、候補パケット伝送時間を判定することができ、またトポロジ依存スケジューリング手続きを利用して、競合する期間内での衝突を回避することができる。トポロジ非依存スケジューリング手続きは、ネットワークの経時をそのネットワークの各ノードごとの固有識別子と併せて利用して、ノードの各々に対する候補伝送時間を判定することができる。一実施態様では、ノードの各々に対する候補伝送時間は、入力の様々なサンプリングに対して、様々な（例えば、疑似ランダムの）分布の出力を提供する関数を使用して、計算することができる。この関数は、ハッシュ関数、暗号化関数、または表ルックアップ・オペレーションであり得る。
【００３１】
ノードの各々に対する候補伝送時間に関する競合は、それらのノードの各々に関連する優先順位に従って解決することが可能である。そうした優先順位は、各セットの入力ごとに、一意的な出力を提供する関数、例えば、暗号化関数、ハッシュ関数、または表ルックアップ・オペレーションにより、決定することができる。これらの入力は、各ノードに関連する固有識別子、ネットワークに対するスケジューリング・フレーム数、および／または各ノードごとの優先順位バイアスであり得る。
【図面の簡単な説明】
【００３２】
本発明は、付随する図面の図で、例として、限定するものとしてではなく図示され、そこでは同じ参照番号が同様の要素を指している。
【図１】いくつかのサブ・ネットワーク、およびインターネット・サービス・プロバイダ（ＩＳＰ）によって維持されるルータを介するインターネットとの相互接続を含むアドホック・ネットワークを示す図である。
【図２】本発明の一実施形態による、ネットワーク時間および経時の計算を可能にするスロット・フレーム・エポック方法論を示す図である。
【図３】本発明の一実施形態による、ノードがそれによってネットワークに同期化する処理を示す図である。
【図４】本発明の一実施形態による、ノードが、それによってそのローカル時間を変更して、ネットワークとの同期を実現する処理を示す図である。
【図５】本発明の一実施形態による、ノードがそれによってネットワーク内での伝送のための候補スロットを決定する処理を示す図である。
【図６】図５に示す手続きによって選択された候補伝送スロット上での競合を、ノードがそれによって解決することができる処理を示す図である。
【図７】図１に示すネットワーク内で伝送され得る制御パケットの一例を示す図である。
【発明を実施するための形態】
【００３３】
（詳細な説明）
下記に提示するのは、ワイヤレス（例えば、アドホック）ネットワークのための、リンク・レベル機能および媒体アクセス制御（ＭＡＣ）レベル機能を備えた通信プロトコルである。アドホック・ネットワーク内で、ホストおよびネットワーク（例えば、ローカル・エリア・ネットワークまたはＬＡＮ）が、パケット無線機（これは、インターネット無線機（ＩＲ）またはノードと呼ぶ）に結合されて、その無線機が、アドホック・ネットワーク内でノード間通信を行うことが可能である。従来の有線ネットワークと対照的に、ホストおよびルータの移動性、ならびに様々なリンクおよび／またはノード条件は、アドホック・ネットワーク内では、例外でなく、むしろ通常のことである。図１は、下記の説明を理解することを助ける例としてのアドホック・ネットワークの形態を図示している。
【００３４】
アドホック・ネットワーク１０は、いくつかのＩＲ１６ａ〜１６ｉを介してインターネット１４を拡張するいくつかのサブ・ネットワーク１２ａ、１２ｂ、１２ｃと見なすことができる。各ＩＲ１６ａ〜１６ｉは、割当て済みＩＰアドレスを有するパケット無線機であり得る。一般的に、ＩＲ１６ａ〜１６ｉは、当分野で一般的なスペクトル拡散ワイヤレス通信技法を使用して、単一チャネル上で動作する。例えば、ＩＲ１６ａ〜１６ｉは、規制されていないＵＨＦ周波数帯域のうちの１つで動作して、これにより、オペレーティング・ライセンスの必要性をあらかじめ回避することが可能である。図が示すとおり、ＩＲは、基本的には、ＩＰルータであるが、次の例外がある。制御トラフィックを抑えてネットワーク効率を高めるために、共用表を介してリンク層プロトコルと対話する固有経路指定プロトコルを従来の経路指定の代りに使用することができ、かつアドホック・ネットワーク１０の同報通信無線リンク２４ａ〜２４ｊのために設計された隣接管理プロトコル、リンク・プロトコル、およびチャネル・アクセス・プロトコルをより従来のチャネル・アクセス・プロトコルの代りに使用することができる。
【００３５】
インターネット１４に対するアドホック・ネットワーク１０の結合は、ルータ１８を介して実現することができ、このルータは、インターネット・サービス・プロバイダ（ＩＳＰ）によって稼動され得る。示すとおり、単一のＩＳＰが、複数のＩＲが接続されているＬＡＮ２０を稼動させることができる。そうしたスキームでは、ＩＲ１６ａおよび１６ｂは、「ＡｉｒＨｅａｄ」として動作して、ゲートウェイ・サービスをインターネット１４に、ルータ１８を介して行うことができる。いくつかのＩＲ、例えば、図１のＩＲ１６ｄと１６ｅは、ホスト２２ａ、２２ｂ、２２ｃに関連付けられ、これらのホストは、アドホック・ネットワーク１０を介して、任意のインターネット・ユーザによってアクセスされ得る。
【００３６】
概要
ＩＲ１６ａ〜１６ｉの間での通信を調整しているのは、インターネット無線オペレーティング・システム（ＩＲＯＳ）のリンクおよびＭＡＣ層で、その機能のすべてを実行する統合プロトコルである。このプロトコルは、ネットワーク同期が、ＭＡＣスケジューリング、つまり、ネゴシエーションのない衝突フリーの伝送スケジューリングと、衝突フリーのデータ転送の適応スケジューリングと、新しいノードやモバイル・ノードの効率的な発見および受入れとに緊密に統合されるようにいくつかの構成要素を導入する。したがって、アドホック・ネットワーク１０内での伝送するパケットは、予測可能な、衝突フリーの方式でスケジュールすることができ、これにより、ネットワークが安定した後の、「隠れた端末」との衝突の可能性を回避する。
【００３７】
より詳細には、下記の説明からより明白になるとおり、統合プロトコルによって使用されるスケジューリング手続きは、どのパケット伝送のスケジューリングをも可能とする。そうしたスケジュール済みパケットは、ＭＡＣ層制御パケットの衝突フリーな、ネゴシエーションのないスケジューリングのためのスケジューリング・アルゴリズムの自然な使用のために、以下では「制御パケット」と呼ばれる。これらを使用して、データ・パケットの伝送を動的にスケジュールすることができる。したがって、統合プロトコルは、ＭＡＣ層制御パケットのスケジュールに対してコモン・チャネルを使用し、またデータ・パケットに対してデータ・チャネルを使用する。また、データ伝送のマルチ・チャネル・スケジューリングもサポートされて、同一近隣内での複数の同時伝送を可能にしている。
【００３８】
基本スキームでは、各ノードは、パケット伝送がいつ行われるのかを決定するためには、そのローカル（例えば、２ホップ）近隣内のノードのアドレス、ならびにそのネットワークの「経時」（通常、同期ネットワーク内で知られている数）を知っているだけでよい。したがって、パケット伝送は、１つのノードの近隣ノードによって予測できるので、統合プロトコルは、制御パケットを伝送するためにいつ起きるか、または他の近隣ノードの制御パケットをいつリスンするかを「スリープ中」ノードが知ることができるようにする。このスケジューリング処理は、リアルタイムのネゴシエーションを全く必要とせず、等しい数の２ホップ近隣ノードを有する各ノードが、任意の所与の期間（下記に、フレームと呼ぶ）内に伝送を行う等しい確率を有することになることで、公平である。さらに、各ノードに固有のオプションの「優先順位バイアス」を通信することによって、制御パケット伝送の頻度を、ノードの電力容量またはネットワーク内でのそのトラフィック処理優先順位に従って次第に調整することができる。
【００３９】
ネットワーク同期
統合プロトコルは、同期ネットワーク内で動作する。そこで、図２に示すとおり、ネットワーク内のノードは、どのように時間が「スロット」に分割されるか、また次に、どのようにスロットが、「フレーム」にグループ化されるかについて合意する。必要とされてはいないが、フレームは、「エポック」にさらにグループ化することが可能である。フレームのスロットは、０からＭ−１まで番号付けられ、他方、フレームは、エポックごとに、０フレームからＮ−１フレームまで番号付けられる。統合プロトコルは、伝送の開始（個別パケットまたは連続パケットのバーストのどちらか）が、スロットの開始と一致するようにスケジュールする。したがって、各ノードのスロット・タイミングとその２ホップ近隣ノードでのそれは、Ｓｌｏｔ＿Ｇｕａｒｄ＿Ｔｉｍｅパラメータ内で同期されなければならない。ただし、ノードは、２ホップよりも離れているノードとは、より緩く同期することができる。
【００４０】
ノードの２ホップ近隣ノードは、そのノードの直接近隣ノード（すなわち、単一ホップ、つまり１ホップ近隣ノード）のすべて、および２ホップ近隣ノードを含む。直接（１ホップ）近隣ノードは、主ノードと直接に通信することができるノードであり、通常、近隣発見―管理プロトコルにより、場合によっては、それをＭＡＣ層制御パケットと組み合わせて、知られる。２ホップ近隣ノードは、直接近隣ノードではなく、主ノードの直接近隣ノードのうちの１つまたは複数の直接近隣ノードである。２ホップ近隣ノードは、経路指定プロトコル更新を介して知ることができるが、ＭＡＣ層（例えば、本通信プロトコルによってサポートされ得る）によって送信される制御パケットの一環として、より迅速に知ることができる。図１では、ノード１６ｃと１６ｅが、互いに２ホップ離れ（別個の可能なパスが考慮されるときでも）、他方、ノード１６ａと１６ｅは、さらに（すなわち、３ホップ）離れている。
【００４１】
前述のスケジューリングに対応するため、同期スキームは、２つのパラメータを使用する。ネットワーク経時およびネットワーク時間である。「ネットワーク経時」は、現行のフレームの開始までの同期ネットワークの経時である（すなわち、第１ノードが、同期ネットワークの誕生を宣言して以来の）。いくつかのケースでは、これは、単に、そのエポック内のフレーム数に連結されたオプションのエポック数（その同期ネットワークの誕生以来、カウントした）でよい。プロトコルは、そのネゴシエーションなしのスケジューリング・アルゴリズム内で、このネットワーク経時を使用して、パケット伝送のための候補スロットをスケジュールすることと、各フレーム内で競合するスロットを公平に解決するノード優先順位を決定することの両方を行う。実装形態に依存して、ネットワーク経時の周期長（すなわち、ネットワーク経時のいくつかの最下位部分だけ）が、共通パケット・ヘッダ（下記を参照）内で通信されて、完全なネットワーク経時は、キー・ネットワーク同期およびネットワーク・マージ・パケットで使用されることが可能である。
【００４２】
「ネットワーク時間」は、スロット数および現行のスロット内での正確な時間（これは、伝送が、しばしば、スロットの開始で開始するため、パケットにタグ付けされた時間スタンプとしては、しばしば、０である）と連結されたネットワーク経時として定義される。
【００４３】
この同期スキームは、「マスタ」ノードにも、グローバルにアクセス可能なタイミング・ソースにも依拠しない分散方式で動作する。代りに、各ノード（例えば、１６ａ〜１６ｉ）が、「ネットワーク時間」を追跡するローカル・タイマに対するアクセスを有し、伝送され、受信されたパケットのローカル・タイムを「スタンプ」する機能を有する。これには、パケットが伝送／受信されたときとパケットがローカルでスタンプされたときの間の予測可能な遅延が伴う。タイマの分解能、およびパケットにスタンプするための処理遅延での変動は、Ｓｌｏｔ＿Ｇｕａｒｄ＿Ｔｉｍｅの分数よりも小さくなければならない。ノード・タイマは、異なる比率でドリフトすることが予期されるので、同期スキームは、オペレーティング・ネットワーク内で同期を維持する構成要素を含み、また、ネットワークを開始し、それに参加すること、および２つの同期ネットワークをマージすることを負う。これらの構成要素は、下記に説明する。
【００４４】
ネットワークを開始して、それに参加すること
ノードは、最初に電源投入したとき（例えば、リブートまたはリセットの後）、そこで既存のネットワークに参加しようとする「獲得モード」に入る。それに失敗すると、ノードは、自らを単一ノードのネットワークであると宣言して、「Ｓｙｎｃモード」に入り、そのスロッティングおよびネットワーク経時カウンタ（フレーム数およびエポック数）を開始する。ノードは、Ｓｙｎｃモードに単一ノードネットワークとして、限られた時間（ランダム構成要素を有する）だけ留まり、その後、獲得モードに再び戻って、既存のネットワークを見つけることを試みる。
【００４５】
獲得モードでは、ノードは、ネットワークがそこで稼動する１セットのコモン・チャネルを迅速に循環する（チャネル波形は、オプションとして、ネットワーク管理者によってノード内にプログラムされ得る「ネットワーク・コード」によって決定される）。各チャネル上で、ノードは短い時間リスンし、短い「ＮｅｔＳｙｎｃ要求」パケットを伝送する。これは、オプションとして、ネットワーク・コードのためのフィールドを含み、短い時間、「ＮｅｔＳｙｎｃ応答」パケットを探してリスンし、次のチャネルに移る。
【００４６】
この処理は、図３に図示されており、そこでノードＡは、電源投入したばかりである。最初、ノードＡは、チャネル１をリスンして、その後、そのチャネルに符号化されたＮｅｔＳｙｎｃ要求を伝送する。ノードＢは、チャネル２上で動作しているので、応答は全く提供されず、そのため、ノードＡは、チャネル２に移って、新しい要求を伝送する。
【００４７】
任意の時点で、ノードが、Ｓｙｎｃモードで、ＮｅｔＳｙｎｃ要求パケット（それが使用される場合、適切なネットワーク・コード・フィールドを有する）を受信した場合、そのノードは、ＮｅｔＳｙｎｃ応答パケットを送信することになる（ランダムな量の時間待った後、ある一瞬の時間、ノードは獲得モードでチャネルをリスンして、その後次のチャネルに移る）。これは、図３に示されており、そこではノードＢが適切に符号化された要求をノードＡから受信して応答を伝送する。
【００４８】
ＮｅｔＳｙｎｃ応答パケットは、パケット伝送が開始した時間に関して伝送ノード（図３のノードＢ）により、またオプションとして、ネットワーク・コード（例えば、共に配置されたネットワークに対する同期を回避するために使用され得る）によって決定された、正確なネットワーク時間を含む。後述するとおり、このネットワーク時間とネットワーク・コードのペアは、「ＮｅｔＳｙｎｃ情報」パケット・ヘッダとして、他のＭＡＣパケットまたはより高い層のパケットの先頭に付加して、ネットワーク同期を維持するのを助けることも可能である。
【００４９】
ネットワーク時間と正しいネットワーク・コードを有するパケット（ＮｅｔＳｙｎｃ応答パケット、またはＮｅｔＳｙｎｃ情報ヘッダを有する他のパケットのいずれか）を受信すると、ノードは獲得状態で（例えば、図３のノードＡ）、即時に、Ｓｙｎｃモードに入り、パケット伝送、伝搬、および処理遅延に対して調整されたＮｅｔＳｙｎｃ応答パケット内のネットワーク時間にそのネットワーク・タイマを初期設定する。
【００５０】
ネットワーク内で同期を維持すること
ノードは、Ｓｙｎｃモードで、ネットワーク内の同期を維持するスキームに参加する。そうした維持は、各ノードのタイマごとの、異なる「ドリフト」比率に対して補償するために必要とされる。
【００５１】
同期を可能にするため、各ノードは、各パケットの先頭にＮｅｔＳｙｎｃ情報ヘッダを付加する。例えば、これらのヘッダは、スロット境界で伝送を開始することができる、各連続伝送バースト内、あるいは単一パケット伝送内の第１パケットの先頭に付加することが可能である。ノードは、ＮｅｔＳｙｎｃ情報ヘッダを有するパケット（これは、オプションとして、それ自体のネットワーク・コードにマッチするネットワーク・コードを含む）を受信したときはいつでも、まず、パケット伝送、伝搬、および処理遅延に対してパケットのネットワーク時間を調節して、次に、パケット内の結果としての調整済みネットワーク時間をそれ自体のネットワーク時間と比較する。
【００５２】
パケットの調整済みネットワーク時間が、それ自体のネットワーク時間と、スロット持続時間のある分数（例えば、１／４）より大きい量で異なる場合には、マージ処理（下記を参照）を使用して、ノードのネットワーク時間を調整する。そうではなく、パケットの調整済みネットワーク時間が、それ自体のネットワーク時間よりも小さい（新しい）場合、ＮｅｔＳｙｎｃ情報ヘッダは無視される。別法では、パケットの調整済みネットワーク時間がそれ自体のネットワーク時間よりも大きい（古い）場合、ノードはローカル・ネットワーク時間の関数とパケットの調整済みネットワーク時間に応じて、例えば、下記のとおり、そのローカル・ネットワーク時間を調整する。
ＬｏｃａｌＮｅｔｗｏｒｋＴｉｍｅ＝α（ＬｏｃａｌＮｅｔｗｏｒｋＴｉｍｅ）＋（１−α）（ＡｊｕｓｔｅｄＰａｃｋｅｔＮｅｔｗｏｒｋＴｉｍｅ）
ただし、αは、平滑化定数（場合によっては、０にセットされる）である。もちろん、他のネットワーク時間関数も使用することができる。
【００５３】
したがって、ネットワーク同期を維持している間、各ノードのローカル・ネットワーク時間は、順方向にだけ調整され、ネットワークは、最速のクロックをたまたま有するネットワーク内のノードの時間をラフに追跡する。もちろん、そのノードが何らかの理由でネットワークを離れた場合には、何の混乱も起きない。ネットワーク時間は、次に最も速いクロックの時間を追跡することに、グレースフルに切り替わることになる。
【００５４】
２つの同期ネットワークをマージすること
ノードが、正しいネットワーク・コード（すなわち、それ自体のネットワーク・コードにマッチするもの）を有するパケットを受信したが、調整済みネットワーク時間が、それ自体のネットワーク時間と相当に異なっている場合（前述のとおり）、ノードは、「遷移モード」に入ることを考慮する。ただし、遷移モードに入る前に、ノードは、いずれのネットワーク（この場合、ノードは、それ自体を、ネットワークの残りのノードに対する単一ネットワークのノードと見なすことができ、あるいはエッジ・ノードが新しいネットワークにコンタクトする状況が生じ得る）が優先順位を有するかを判定する。いずれのネットワークも「ロック済み」状態にはない場合には、より古いネットワーク時間を有するネットワークが、優先順位を有する。ネットワークのうちの１つが、ロック済みである場合には、そのネットワークが優先順位を有する。両方のネットワークがロック済みである場合には、パケットは無視される（また、遷移モードには入らない）。いくつかのケースでは、ネットワークのうちの１つが優先順位を有する場合には、ノードは遷移モードに入る（そのノードがより古いネットワーク内にある場合でも）。他の実施形態では、ノードは、自らがより新しいネットワーク内にあることを知った場合、常に、遷移モードに入るが、より古いネットワークにある場合には、遷移モードに入ることも、入らないこともできる。
【００５５】
ネットワークは、オプションとして、管理制御の下でロック済み（「ＮｅｔＳｙｎｃロック済み」）状態に入って、大きいネットワークが、それがコンタクトすることになった小さいけれども、より古いネットワークに遷移することを要求されるのを防止する。ロック済み状態では、各ＮｅｔＳｙｎｃ応答パケットおよびＮｅｔＳｙｎｃ情報ヘッダは、ロック済み状態を示すフラグを含むことが可能であり、それに加えて、ネットワーク管理者によって発行された最新のロック／ロック解除コマンドを判定するのに使用するシーケンス番号（例えば、２〜３ビット長の）を含み得る。ネットワークのすべてのメンバは、このフラッグセットを有するパケットを受信したとき、このロック済み状態を自動的に採用しなければならない。
【００５６】
また、それ自体のものにマッチするネットワーク・コードおよびネットワーク時間を有する「ＮｅｔＳｙｎｃ遷移パケット」（下記を参照）を受信する任意のノード（前述の同期維持スキームの範囲内で）であって、既に遷移モードに入っていないものは、即時に、遷移モードに入らなければならない。
【００５７】
図４に示すとおり、遷移モードに入る処理３０で、ノードはまず一時的にそのネットワーク・インターフェースが「ダウンしている」、またはより高い層のプロトコルには利用不可能であることを宣言する（ステップ３２）。次に、ステップ３４で、ノードは、より古いネットワーク時間とより新しいネットワーク時間の間の差（ネットワーク時間差）を計算する。それが必要な場合、ノードは、より新しいネットワークのネットワーク時間にそのローカル時間がマッチするように調整する（ステップ３６）。
【００５８】
遷移モードにある間、ノードは、プロトコル入力パラメータ（図ではｋｍａｘで表される）によって制御されるとおり、ある回数の反復（例えば、処理３０でのカウンタｋによって定義される）で、より古いネットワークの「外」にあまり長くいて、そのタイミングからドリフトして離れるのを回避することに注意を払いながら、下位処理４０を実行する。下位処理４０中、ノードは、ネットワーク時間差、およびより新しいネットワークの現行のネットワーク時間を含む「ＮｅｔＳｙｎｃ遷移パケット」を伝送し（ステップ４２）、次に、ランダムな量の時間（その範囲は、プロトコル入力パラメータによって制御される）、待つ（ステップ４４）。
【００５９】
ノードは、特定の回数、この下位処理４０を完了すると、遷移モードを出る。そうしている内に、ノードは、ネットワーク時間差を現行のネットワーク時間に追加することによって、より古いネットワークのローカル・ネットワーク時間にそのローカル・ネットワーク時間がマッチするように調整し（ステップ４６）、ネットワーク・インターフェースが、より高い層のプロトコルに対して、再び「アップ」になっていることを宣言して（ステップ４８）から、Ｓｙｎｃモードに戻る（ステップ５０）。
【００６０】
ネゴシエーションのない衝突フリーのスケジューリング
本統合通信プロトコルによって使用されるスケジューリング処理は、競合スロットでの衝突を回避するため、候補パケット伝送スロットを決定するためのトポロジ非依存スケジューリングをトポロジ依存スケジューリングと組み合わせる。競合スロットに関する衝突回避は、ノード間のリアルタイム通信を全く必要とすることなく実現される。ノードは、自らの２ホップ近隣ノードを知り、ネットワーク経時についてのらかの合意を有するだけでよい。これは、固定反復スケジュールを必要とする従来のスキーム、例えば、Ｉ．Ｃｈｌａｍｔａｃ他、「Ｔｉｍｅ−Ｓｐｒｅａｄ  Ｍｕｌｔｉｐｌｅ−Ａｃｃｅｓｓ（ＴＳＭＡ）  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｍｕｌｔｉｈｏｐ  Ｍｏｂｉｌｅ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，Ｖｏｌ．５，Ｎｏ．６（１９９７年１２月）、Ｊｉ−Ｈｅｒ  Ｊｕ  ＆  Ｖｉｃｔｏｒ  Ｏ．Ｋ．Ｌｉ，「Ａｎ  Ｏｐｔｉｍａｌ  Ｔｏｐｏｌｏｇｙ−Ｔｒａｎｐａｒｅｎｔ  Ｓｃｈｅｄｕｌｉｎｇ  Ｍｅｔｈｏｄ  ｉｎ  Ｍｕｌｔｉｈｏｐ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｆ  Ｎｅｔｗｏｒｋｉｎｇ，Ｖｏｌ．６，Ｎｏ．３（１９９８年６月）を参照、または即時に、複数の伝送を受信できる無線機を必要とする従来のスキーム、例えば、Ｔ．Ｓｈｅｐａｒｄ，「Ａ  Ｃｈａｎｎｅｌ  Ａｃｃｅｓｓ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｌａｒｇｅ  Ｄｅｎｓｅ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋｓ」，ＳＩＧＣＯＭＭ  ′９６  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃ．，ＡＣＭ（１９９６年）を参照、とは異なる。
【００６１】
図１のネットワークのようなアドホック・ネットワークでは、一般的に、衝突フリーのスケジューリングが、ノードとその直接隣接ノードとの間だけでなく、ノードとその２ホップ隣接ノードとの間でも確実に行われて、直接隣接ノードでの「隠れた端末」受信衝突を回避することが重要である。例えば、任意のノード（「主ノード」）が、２つの直接隣接ノードを有し、そのどちらも、他方の直接隣接ノードではなく、その両方が、ほぼ同時に同一チャネル上で、主ノードにパケットを伝送しようとする状況を考慮されたい。結果の衝突（主ノードでの受信衝突）は、主ノードによってのみ検出されることが可能であり、互いのことを直接に知らない伝送ノードによっては検出され得ない。「隠れた端末」によるそうした衝突を回避するためには、したがって、ノードが、その２ホップ隣接ノードについてある程度知っている必要があり、その知識が本スキームで提供される。
【００６２】
オプションとして、各ノード（ｉ）は、優先順位バイアス（ＰＢ（ｉ））を有することが可能であり、その２ホップ隣接内のノードの優先順位バイアスを知ることになる。優先順位バイアスは、インターネットに対する高速リンクに接続されたノードなどの、ネットワーク内の重要なノードにスケジューリング優先順位を与えるのに使用することができる、またはノードが、その伝送がより頻繁でなく行われるように間隔を空けて、例えば、節電できるようにするのに使用することができる。
【００６３】
各フレームごとに、各ノード（ｉ）は、ネットワーク経時（ＮｅｔＡｇｅ）およびノードＩＤ（本スキームでは、各ノードは、固有ノードＩＤを有し、その２ホップ隣接内のノードの固有ノードＩＤを知る；ノードのインターネット・プロトコル（ＩＰ）アドレスおよび／またはＭＡＣアドレスが、固有ノードＩＤの例である）を入力として受け入れる、グローバルに知られた関数（ＳｌｏｔＦｕｎｃ）を使用することによって、候補伝送スロット（ＣＳ（ｉ））を計算する。
ＣＳ（ｉ）＝ＳｌｏｔＦｕｎｃ（ＩＤ（ｉ），ＮｅｔＡｇｅ）
ＳｌｏｔＦｕｎｃは、１からＳまでの整数を生成する。ここで、Ｓは、フレーム当りの候補スロットの総数を表す（例えば、Ｓは、制御パケットの伝送に専用のスロットの数であって、フレームは、制御パケットのためのスロットとデータ・パケットのためのスロットに分割されていることが可能である）。この処理は、図５に図式で示されている。オプションとして、入力ａおよびｂの様々なサンプリングが与えられると、ＳｌｏｔＦｕｎｃ（ａ，ｂ）は、１からＳまでの範囲の様々な（例えば、一様にランダムな）分布を生成する。ただし、この振舞いに対する迅速な近似が、最善のシステム・パフォーマンスとなる。
【００６４】
例としてのＳｌｏｔＦｕｎｃ（ａ，ｂ）は、暗号化関数（データ暗号化規格（ＤＥＳ）などの）であり、ここでは、関係のある暗号化ブロック・サイズに埋め込まれ得るＩＤ（ｉ）が、「暗号化」されるべきデータであり、ＮｅｔＡｇｅは暗号化キーとして扱われる。「暗号化」オペレーションの結果が、スロット番号を識別するのに必要なビットの数にまで切捨てられる（フレーム内のスロットの数（Ｓ）は、２の整数べき乗であると想定して）。また、暗号化の使用は、ネットワーク経時が、ネットワーク内の許可されたノードによってのみ知られる秘密の「ネットワーク・コード」と連結され得るようにもして、可能なインテリジェント干渉者またはインテリジェント盗聴者が、スケジューリング処理に同期することができるのを防止することを助ける。ネットワーク・コードが、他のＳｌｏｔＦｕｎｃ（ａ，ｂ）方法によって使用されて、理論的にはよりセキュアではない方式である可能性はあるが、観察者に対して、パケットのスケジュールをランダム化することも可能であることに留意されたい。
【００６５】
他の例としてのＳｌｏｔＦｕｎｃ（ａ，ｂ）は、ハッシュ関数（ＭＤ５ハッシュ関数などの）である。そうした処理で、ａとｂは、連結されることになり、次に、入力としてハッシュ関数に適用される。この場合も、結果のより下位のビットを使用して、結果（１からＳまでの）を判定することができる。
【００６６】
第３の例は、ＳｌｏｔＦｕｎｃの理想的な性質を速度のためにトレードオフすることになる。例えば、Ｆ個のエントリの表（ＰｎＳｌｏｔＴａｂｌｅ）であって、Ｆが、エポック当りのフレームの数を表す表が、システムの初期化中に、１からＳ（この場合も、Ｓは、２のべき乗である）までの疑似ランダム値でロードされ得る（または、必要に応じて、「オンザフライ」で計算された任意のエントリで）。したがって、
ＳｌｏｔＦｕｎｃ（ａ，ｂ）＝（Ｔｒｕｎｃ（ａ）∧ＰＮＳｌｏｔＴａｂｌｅ［ｂ］）  ただし、「∧」は、排他ＯＲ演算を表し、Ｔｒｕｎｃ（ａ）は、「ａ」を１からＳまでの数にまで切捨てる（または、より高位のビットをより下位のビットと排他ＯＲ演算して、よりランダムな切捨て済み結果をもたらす）。
【００６７】
各ノードは、また、その２ホップ隣接内のノード（ｊ）の各々の候補伝送スロットを、その各々のノードＩＤ、グローバルに知られるネットワーク経時、および同一のＳｌｏｔＦｕｎｃ関数を使用して計算することもできる。
ＣＳ（ｊ）＝ＳｌｏｔＦｕｎｃ（ＩＤ（ｊ），ＮｅｔＡｇｅ）
もちろん、ＣＳ（ｎ）（ここで、ｎは、入力ノードＩＤに対応するノード数である）は、どのノードが計算を行っているか（ローカル・ノード、またはその２ホップ隣接内にあるノードのうちの１つ）に依存せず、同一の結果を与えることになる。したがって、各ノードは、その２ホップ隣接内にあるノードのうちのどれが、それが存在するとすれば、同一の候補伝送スロットを共用しているかを判定することができる。これらのノードのＩＤは、このフレームに関するノードｉの競合グループ（ＣＧ（ｉ））に入れられる。
ＣＧ（ｉ）＝｛ｊ：ＣＳ（ｉ）＝ＣＳ（ｊ）｝
前述の説明から、競合グループのすべてのノードが、伝送のために、特定フレームの同一候補スロット内で競合することになることが明白であろう。
【００６８】
図６に示すとおり、各ノード（ｉ）は、したがって、その競合グループ内の各ノードの優先順位ＰＲ（ｊ）を計算して、どのノードが、それらの競合ノードのなかで優先順位を有するか、ノードＩＤ、スケジューリング・フレーム数、およびオプションとして、ノードの優先順位バイアスを、グローバルに知られた優先順位関数（ＰｒｉｏｒｉｔｙＦｕｎｃ）への入力として使用して判定する。優先順位バイアスが使用されない場合には、ＰＢ（ｊ）は、０に設定される。
ＰＲ（ｊ）＝ＰｒｉｏｒｉｔｙＦｕｎｃ（ＩＤ（ｊ），ＮｅｔＡｇｅ）＋ＰＢ（ｊ）
ノード（ｉ）は、ＰＲ（ｉ）が競合グループ内のどのＰＲ（ｊ）よりも大きい場合、またはＰＲ（ｉ）が、最大のものと等しく、すべての優先順位バイアスが０であったとしたら最大のものとなる場合、自らを勝者と見なすことができる。そうしたケースでは、ノードｉは、スロットＣＳ（ｉ）で伝送を行う。
【００６９】
ＰｒｉｏｒｉｔｙＦｕｎｃ（ａ、ｂ）は、それが、各可能な入力「ａ」に対して固有な数を与えるように選択される。例えば、ＳｌｏｔＦｕｎｃと同様に、ＰｒｉｏｒｉｔｙＦｕｎｃは、暗号化アルゴリズムを使用して、同一のＮｅｔＡｇｅ「キー」を与えて、各ＩＤ（ｊ）に固有の優先順位を与えることができる。やはり別のＳｌｏｔＦｕｎｃの例と同様な別の例は、Ｆ個のエントリの表（ＰｎＳｌｏｔＴａｂｌｅとは異なるＰｎＰｒｉｏｒｉｔｙＴａｂｌｅ）を使用することであり、これが、可能なノードＩＤの範囲をカバーする疑似ランダム値でロードされる。したがって、
ＰｒｉｏｒｉｔｙＦｕｎｃ（ａ，ｂ）＝（ａ∧ＰｎＰｒｉｏｒｉｔｙＴａｂｌｅ［ｂ］）
他のケースでは、表は、疑似ランダム値で埋め、スロットに関する各競合ノードごとに、その表に対する対応する索引が、表のサイズをモジュロとして、ノードのＭＡＣアドレス（または他のＩＤパラメータ）をネットワーク経時とＸＯＲ演算することによって見出され得る。表からの結果の値（すなわち、前記関数によって索引付けされた表エントリ）が、この場合、初期優先順位判定となる。ただし、引分けが生じ、どの引分けも決着をつけるために、ノードのＭＡＣアドレス（または他のＩＤパラメータ）を表エントリ（すなわち、前記索引付け手続きからリトリーブされた表の値）とＸＯＲ演算して、第２優先順位値を生成し、最高の第２優先順位を有するノードが勝者として宣言され得ることが構想される。
【００７０】
いくつかのケースでは、ノードｉは、それが、その競合グループ内で勝者である場合に限って、かつそのＰＲ（ｉ）が、ＰｒｉｏｒｉｔｙＴｈｒｅｓｈｏｌｄよりも大きい場合に、その候補伝送スロット（ＣＳ（ｉ））で伝送することになる。例としてのＰｒｉｏｒｉｔｙＴｈｒｅｓｈｏｌｄは、ＰｒｉｏｒｉｔｙＦｕｎｃ（ａ，ｂ）の最低値である。この場合、しきい値は、負のＰＢ（ｉ）を有するノードだけに影響を与えることになり、これは、バッテリ電力を節約しているノードに関して当てはまるであろう。別の例として、ＰｒｉｏｒｉｔｙＴｈｒｅｓｈｏｌｄのより大きな値が代りに使用されて、２ホップ隣接内にあるどのノードもそこで伝送することが許されないスロットのオカレンスを増やすことができ、これにより近隣に参加しようとしている新しいノードまたはモバイル・ノードによる伝送のためにこのスロットを解放する。また、１セットのノードＩＤを、一時的に、新しいノードまたはモバイル・ノードによる使用のために予約して、ＳｌｏｔＦｕｎｃ（）目的およびＰｒｉｏｒｉｔｙＦｕｎｃ（）目的に対して、常に存在すると想定することができる。
【００７１】
すべてのノードが、チャネルに対する等しい優先順位を有すると想定して、ノードが、任意のフレーム内で伝送のためにチャネルにアクセスを得る確率（フレーム当りＳ候補スロット、およびそのノード自体を含むＺの２ホップ隣接サイズで）は、下記のとおり判定される。
【数１】
0004726967.tif 000002
【００７２】
各ノードは、妥当な数の連続フレーム内で、少なくとも１回、チャネルにアクセスする機会を有していなければならない。ノードが、Ｆ個のフレーム内でチャネルにアクセスする確率は、したがって、
ＰＳ（Ｆ）＝１−（１−ＰＳ）Ｆ
【００７３】
生じる疑問は、時間を、フレーム当りでより少ない候補スロットを有する短いフレームに構成する方がよいのか、あるいはフレーム当りでより多くの候補スロットを有する長いフレームであるが、フレーム間により長い時間があるものに構成した方がよいのかということである。これに留意してＰＳ（Ｆ）を分析すると、ある興味深い結果が得られた。
【００７４】
高密度のネットワーク内（そこで、ノードが、制御スロットのために競合する可能性がより高い）では、一般的に、フレーム当りより多くのスロットを有し、したがってフレーム間でより長い時間を有する方がよいことが判定された。ただし、密度の低いネットワーク内では、フレーム当り少ない数のスロットを有する方がよいことが判明した。例えば、２０ノード（Ｎ＝２０）の２ホップ隣接を有するノードの場合、合計で１００スロットが１フレーム、２フレーム、または４フレームに分割された後でのチャネルにアクセスする確率は、下記のとおりである。
１００スロット／フレーム、１フレーム合計、ＰＳ（１）＝９１．１％
５０スロット／フレーム、２フレーム合計、ＰＳ（２）＝９７．１％
２５スロット／フレーム、４フレーム合計、ＰＳ（４）＝９９．１％
したがって、この場合、２５スロット／フレームかつ４フレーム内でのスケジューリングの方が、１００スロット／フレームかつ１フレームのみを使用するよりも相当によい。
【００７５】
よい妥協案は、フレーム当りのスロットの数が、ノード当りの２ホップ隣接ノードの予測される平均数の、およそ１／２から１／４に等しいように設計することであるように思われる。ただし、本スキームは、この予期される密度からの大きな変動に対して極めて堅固である。
【００７６】
例として、ネゴシエーションのないスケジューリング・スキームを使用して、ネットワーク内でのＭＡＣ層制御パケットの伝送をスケジュールする実施形態を考慮する。このネットワークでは、フレームの１０％だけが、制御パケット伝送に専用とされ（９０％をデータ伝送のために残して）、エポック当り４フレームが伝送され、ＰＳ（Ｆ）は、およそ９９％であり、各ノードは、８隣接ノードをサポートすることが許される（電力制御を使用して隣接のサイズを制限して）ものとする。
【００７７】
例えば、各ノードが、３６ノードを２ホップ隣接として有し、またフレーム当り、４０制御スロットが存在する（フレーム当り、合計４００スロット）場合、各ノードは、４フレーム内でそのＭＡＣ層制御パケットを伝送するのにおよそ９９％の確率を有する。５００μ秒／スロットで、これは、２００ミリ秒／フレーム、つまり４フレーム当り、８００ミリ秒である（ノード当り、９９％成功する制御パケット伝送の場合）。
【００７８】
これらの制御パケットを使用して、データ・トラフィックの転送のために保証されたスロットをスケジュールする場合（すなわち、フレームが、制御部分とデータ部分に分割され、制御パケットを使用して、データを伝送するために、どの「データ・スロット」を使用するかを指定する場合）には、それは、前述の特性を有するワイヤレス・マルチホップ・ネットワーク内で、サービス・センシティブな連続データ・ストリームの初期セットアップを実行するのに、ホップ当り、約２００（または最悪のケースでは、およそ８００まで）ミリ秒となる。別法では、平均で、１０ノードの２ホップ隣接、フレーム当り、１０制御スロット（フレーム当り、合計１００スロット）を有する低密度のネットワークであって、そこで各ノードが、４フレーム内でそのＭＡＣ層制御パケットを伝送するのに、９８．５２％を有するネットワーク内では、これは、フレーム当り、５０ミリ秒、つまり４フレーム当り、２００ミリ秒である（ノード当り、９９％成功する制御パケット伝送の場合）。
【００７９】
衝突フリーのデータ転送のスケジューリング
一般に、本スケジューリング方法は、データおよび／またはネットワーク制御パケットをスケジュールするために使用することができる。一実施形態では、ノードは、ネゴシエーションのないスケジューリング方法を使用して、共通制御チャネル上での制御パケットの伝送をスケジュールする。ネットワーク内でどのような情報が重要であり得るかに依存して、下記のタイプの情報のうちのいくつか、またはそのすべてが、制御パケット内で渡され得る。近隣リストおよび近隣品質情報、各近隣ノードからの最近のパケットのリンク層確認、および後続フレームのためのデータ・パケットに関するスケジューリング情報。したがって、図７に図示する制御パケット６０の例を参照すると、様々な制御パケット構造が、伝送ノードＩＤ６２、隣接情報リストと確認６４、およびスケジューリング情報６６のためのフィールドを含み得る。
【００８０】
隣接情報リストと確認フィールド６４内に、各論理隣接ノードＰごとに（プロトコルによって受け入れられた）、制御パケット６０は、隣接ノードＩＤ６８、隣接リンク品質７０、隣接ローカル識別子７２、および確認（Ａｃｋ．）情報７４を含む。プロトコルによって（未だ）受け入れられていない各物理隣接ノードごとに、制御パケットは、隣接ノードＩＤ６８および隣接リンク品質７０のみを含む。
【００８１】
したがって、本明細書で提示するネゴシエーションのないスケジューリング方法の使用の一例は、ノード間で渡されるべき隣接管理情報のスケジューリングである。例えば、各ノードは、その現行の隣接ノードのノードＩＤ（例えば、ＭＡＣアドレス）のリストを送信することができる。これには、パケットを転送するために使用される隣接ノードとしてノードによって受け入れられている隣接ノード、および（それが存在する場合）、まだ、受け入れられていないが、それでも、そのノードの伝送範囲内にある他のノードが含まれ得る。さらに、各隣接ノードＩＤとともに、この隣接ノードに対するリンクに関してノードが計算した品質の指示が含まれる。また、隣接ローカル識別子が、オプションとして、リスト内の各ノードＩＤに伴うことが可能であり、これは、隣接ノードのノードＩＤをこのノードが省略で表したものであり、このノードによって伝送される後続のリンク別制御パケット情報のサイズを抑えるのに役立つ。さらに、各隣接ノードＩＤには、パケット確認情報が伴うことが可能であり、これは、各隣接ノードからのそのノードでのパケット受信（または受信の欠如）の何らかの最近の履歴の成功／失敗状況を提供する。
【００８２】
その隣接ノードの各々からこの情報を受信することによって、ノードは、そのノードの２ホップ隣接内の物理ノードＩＤのすべてを発見することができる（前記スケジューリング処理で使用するために）。また、この情報を受信することは、隣接ノードの各々がこのノードとのリンクに関して計算した品質をこのノードが知ることを可能にする。これは、そのリンクに関してこのノードによって計算される品質、ならびにパケットを転送するために特定のリンクを使用するかどうかについてのこのノードの判断に影響することになる。さらに、各ノードは、どの最近のパケットがうまく受信され、また他のどのパケットがうまく受信されなかったか（場合によっては、再伝送を必要として）を知ることになる。
【００８３】
さらに、制御パケット７０は、１つまたは複数のエントリＱから成るスケジュール・リストを指定することができ、各エントリは、好ましくは、送信側識別子７６、受信側識別子７８、スロット識別子８０、チャネル識別子８２、および持続インディケータ８４を含んでいる。したがって、制御パケットは、対応するデータ・パケットをスケジュールする別の処理によって使用される情報を提供することができる。
【００８４】
送信側識別子７６は、エントリ内で指定されたスロットおよびチャネルで伝送するようにスケジュールされていることが知られているノードに対応する。制御パケットを送信するノードは、それ自体のスケジュール済み伝送およびその直接（１ホップ）近隣ノードからのスケジュール済み伝送を報告する。
【００８５】
受信側識別子７８は、特定の送信側からの伝送を受信するようにスケジュールされている受信機に対応する。特別識別子（例えば、すべて１の）を使用して、「送信側のすべての近隣ノード」を、例えば、同報通信伝送のために指定することができる。マルチキャスト・グループの識別子を使用して、マルチキャスト伝送の場合のために、「マルチキャスト・グループに参加しているすべての近隣ノード」を指定することができる。
【００８６】
時間スロット識別子８０およびチャネル識別子８２は、特定ソースから特定の受信機またはグループの受信機へのスケジュールされたデータ伝送のための、フレーム内の時間およびその時間で使用されるチャネルを指定する。
【００８７】
持続識別子８４は、伝送がそれに対してスケジュールされている現行フレームを超えるフレームの数を確立する。
【００８８】
上記に示したとおり、制御パケット内で送信側および受信側を指定するのに必要なビットの数を抑えるため、ノードは、ローカル識別子を使用して、スケジュールされる伝送の送信側および受信側を指定することができる。すべてのノードからのトラフィックの一部だけが、所与のノードの近隣を通過するので、ローカル識別子は、ネットワーク内のノードを表すのに必要なネットワーク全体の識別子よりもずっと小さいことが可能である。そうしたローカル識別子が使用される場合、ネットワーク・オペレーション中、ノードは、ローカル識別子に対するノード識別子のマッピングを定期的に、例えば、いくつかの制御パケットごとに１つ、送信することができる。このマッピングは、異なる方式で伝えることができる。例えば、ノードは、その近隣ノードの各々について、意図する受信機に関するマッピングも含めて、ノード識別子からローカル識別子に対するマッピングを伝送することができる。
【００８９】
他の制御パケット内では、スケジューリング情報フィールド６６が、トランシーバＩＤ（例えば、ノードごとに共に配置された複数のトランシーバの場合）を含み、その後に１つまたは複数の前記スケジュール・ブロックが続くことが可能である。さらに、伝送／受信フラグ、および／または波形情報フィールド（例えば、異なるチャネルに対して異なる波形が使用される場合）が存在し得る。制御パケットは、共に配置されたトランシーバを有するノード内の各トランシーバごとに、１つのスケジュール情報ブロック６６を含むことができ、また各スケジュール・ブロック６６は、１つまたは複数のスケジュールを含むことができる。
【００９０】
新しいノードおよびモバイル・ノードの発見および受け入れ
前記に説明したとおり、本通信プロトコルでの制御パケットのネゴシエーションのないスケジューリングは、ノードが、その２ホップ隣接ノードを知っていることを必要とする。ノードが移動するとき、リンクおよび／またはノードが機能しないとき、または新しいノードまたはリンクがネットワークに追加されたとき、ノードがその２ホップ隣接ノードについて有する情報は、しばらくの間不正確であることがある。そうした一時的不正確さのため、複数のノードが、所与の制御スロットで制御パケットを伝送することがあり得る。そうした衝突が際限なく起きることを防止するため、本通信プロトコルは、衝突解決機構を利用する。
【００９１】
衝突解決機構は、前述したネゴシエーションのないスケジューリング処理に基づく。各ノードは、それ自体がネゴシエーションのないスケジューリング処理によって制御パケットを伝送すべきであると判定したスロット以外のフレームのすべての制御スロットをリスンする。したがって、ノードは、近隣ノードからの制御パケットを受信したとき、制御パケット内でアドバタイジングされたスケジュールが、ノードが自らの制御パケットで伝送したスケジュールと競合するように、自らの制御パケットが他の制御パケットと衝突した、あるいは少なくとも１つの近隣ノードによってそれが正しく受信されなかったことを検出することができる。そうしたケースでは、ノードは、単純な決定性選択処理を使用して、どちらのスケジュールが勝者であるべきか、すなわち、どちらのノードが他方のノードによってアドバタイジングされたスケジュールによって自らのスケジュールを変更すべきかを決定することができる。
【００９２】
最も単純なそうしたスキームは、競合するスケジュールを有するノードのうちの最大（または最小）識別子を勝者にすることができ、あるいは前述したＰｒｉｏｒｉｔｙＦｕｎｃ（）を使用することができる。したがって、ノードが、別のノードからスケジュールを受信して、そのスケジュール内のエントリのうちのいくつか（すなわち、送信側−受信側ペアに対する提案されるスロットおよびチャネル）が、受信ノードによって採用された現行のスケジュール内で同一のスロットおよびチャネルを使用する送信側−受信側ペアに対して勝つ場合には、受信ノードは、すべての勝者の送信側−受信側ペアを反映するように自らのスケジュールを変更して、ネゴシエーションのないスケジューリング処理によって自らがアクセスできる次の制御スロット内で、変更したスケジュールを伝送することができる。さらに、受信ノードは、その２ホップ隣接ノード状態を、それが受信する各制御パケットで更新し、これが、ネゴシエーションのないスケジューリング処理により、それ自体の制御パケットのスケジューリングを変更する。
【００９３】
前述のとおり、ノードは、最初に初期化または再起動されたとき、１つまたは複数のフレームに等しいある期間、制御チャネル上でリスンする。この時間中ノードはその近隣ノードのいくつかからの制御パケットを聞くことができ、このことから、ノードはその２ホップ隣接ノードに関する初期状態を確立することができる。ノードは初期化期間中に何も伝送を聞かなかった場合、ネゴシエーションのないスケジューリング処理によって制御パケットを伝送する。ノードはしたがって、自らがリスンする制御パケットから自らの２ホップ隣接ノードの存在について知る。同一グループのノードからの制御パケットの継続する衝突が回避され、これは制御スロットにノードが割り当てられる方式のためである。データ・パケットの継続する衝突が回避され、これは、最終的にすべてのノードが、自らの２ホップ隣接ノードを識別して、衝突なしに制御パケットを送信し、そうした制御パケットを使用して、データ・パケットに関する勝者スケジュールを判定することができるからである。
【００９４】
かくして、ワイヤレス・ネットワークのための通信プロトコルを説明した。このプロトコルは、移動性または他のダイナミックスに対して堅固であり、また高密度ネットワークに対するスケーリングに関しても堅固である。モバイルの、または別の方式で動的なネットワーク内ではどの制御パケット衝突も単に一時的で公平になるように思われる。つまり、遷移期間中、近隣内の新しいノードＸによる伝送が、別のノードＹの伝送と衝突を起こす場合、Ｘによる可能な後続の伝送は、Ｘの新しい近隣内にある任意の他のノードの伝送に対するのと等しいだけの、Ｙの伝送と衝突する確率を有することになる。高密度ネットワーク内で、ネットワーク・パフォーマンスはグレースフルに低下して、コモン・チャネルのあるパーセンテージだけが制御パケットで消費されることを確実にする。ネットワークの密度が高いほど、ノードがデータ・スケジューリング変更を行うのにかかるアクセス時間が長くなる。ただし、全体のネットワーク容量は一定に保たれる。さらに、統合プロトコルは、パケット（例えば、データ・スケジューリング制御パケット）が、衝突フリーの予測可能な方式（すべての近隣ノードに知られた）でスケジュールされ得るようにするので、マルチキャスト・パケット、ならびに遅延センシティブなトラフィックまたは遅延ジッタ・センシティブなトラフィックのストリームを確実にスケジュールすることができる。さらに、オプションの秘密ネットワーク・コード、例えば、ネットワーク内の許可のあるノードにだけ知られるものを使用して、制御パケットのスケジューリングは、観察者に、ランダム化されているように見え得る。これは、ある環境では、有用なセキュリティ機能である。
【００９５】
最後に本発明の実施形態を以下に記す。
実施形態１  コンピュータ・ネットワークのノードを活動化して、前記ノードが、まず、前記コンピュータ・ネットワーク内に存在する可能性のある他のノードとのコンタクトを確立することを試みて、そうすることに失敗した場合には、自らを単一ノード・ネットワークとして確立するようにするステップを含む方法。
実施形態２  ノードが、まず、コンピュータ・ネットワーク内での通信を求めて、１セットの１つまたは複数のコモン・チャネルを巡回することによって、他のノードとのコンタクトを確立することを試みて、各チャネルで、要求パケットを伝送することによってコンタクトを確立することを試みる実施形態１に記載の方法。
実施形態３  コモン・チャネルのうちの１つで要求パケットを伝送した後、ノードが、前記コモン・チャネルのうちの次のチャネルに進む前に、応答パケットを探してリスンする実施形態２に記載の方法。
実施形態４  １つまたは複数のコモン・チャネルが、ワイヤレス通信チャネルである実施形態２に記載の方法。
実施形態５  他のノードのうちの１つから応答パケットを受信したとき、ノードが、同期モードに入って、そのコンピュータ・ネットワークに参加する実施形態３に記載の方法。
実施形態６  応答パケットが、コンピュータ・ネットワーク内の時間を指定するパラメータを含む実施形態５に記載の方法。
実施形態７  応答パケットが、ネットワークを識別するコードをさらに含む実施形態５に記載の方法。
実施形態８  ネットワークを識別するコードが、まず、要求パケットに含まれる実施形態７に記載の方法。
実施形態９  ノードが、単一ノード・ネットワークとして確立されている間、前記ノードが、さらなるノードによるネットワークに参加しようとする試みを探してリスンする実施形態１に記載の方法。
実施形態１０  さらなるノードによるネットワークに参加しようとする１つまたは複数の試みを検出したとき、ノードが、それに対して応答を伝送する実施形態９に記載の方法。
実施形態１１  応答が、単一ノード・ネットワーク内での時間の指示を含む実施形態１０に記載の方法。
実施形態１２  応答が、ネットワーク・コードをさらに含む実施形態１１に記載の方法。
実施形態１３  コンピュータ・ネットワークの第１ノードで、前記コンピュータ・ネットワークの第２ノードによる前記コンピュータ・ネットワーク内での時間の指示を受信するステップと、
前記第２ノードから受信した時間の前記指示が、前記第１ノードでの時間よりも新しいか、または古いかによって、前記第１ノードでの前記時間を調整するかどうかを決定するステップとを含む方法。
実施形態１４  第２ノードから受信した時間の指示が、第１ノードでの時間よりも古い場合にのみ、前記第１ノードでの前記時間が調整される実施形態１３に記載の方法。
実施形態１５  第２ノードから受信した時間の指示が、第１ノードでの時間を調整するかどうかを決定する前に、コンピュータ・ネットワーク内での遅延のために増加される実施形態１４に記載の方法。
実施形態１６  第２ノードから受信した時間の指示が、第１ノードでの時間から、所定のしきい値量を超えて異なっている場合、前記第１ノードが、前記第１ノードと前記第２ノードのどちらが、他方に対して優先順位を有するかを判定し、前記第２ノードが優先順位を有する場合にだけ、前記第１ノードでの前記時間を調整する実施形態１５に記載の方法。
実施形態１７  第１ノードが、前記第１ノードでの時間を調整する前に、まず、遷移要求パケットを伝送する実施形態１６に記載の方法。
実施形態１８  第１ノードと同期されたノードが、前記第１ノードから遷移要求パケットを受信して、前記遷移要求パケット内で指定された時間により、対応するローカル時間を調整する実施形態１７に記載の方法。
実施形態１９  ノードの識別およびネットワークの経時により、コンピュータ・ネットワークの第１ノードからのパケットに関する伝送時間を計算するステップを含む方法。
実施形態２０  ネットワークの経時が、パケットがその中で伝送されるべき現行のフレームの開始までのネットワーク経時の指示を含む実施形態１９に記載の方法。
実施形態２１  パケットが、ネットワーク制御パケットを含む実施形態２０に記載の方法。
実施形態２２  計算するステップが、第１ノードの識別およびネットワークの経時の様々な入力に対して、様々な分布の結果を提供する関数を使用して実行され、前記結果が、制御パケットがその中で伝送されるフレーム当りの伝送スロットの数を表す最小数から最大数の範囲にある実施形態２０に記載の方法。
実施形態２３  関数が、暗号化関数を含む実施形態２２に記載の方法。
実施形態２４  関数が、ハッシュ関数を含む実施形態２２に記載の方法。
実施形態２５  ハッシュ関数が、ＭＤ５ハッシュ関数を含む実施形態２４に記載の方法。
実施形態２６  計算するステップが、疑似ランダム値のエントリの表を使用して実行される実施形態２０に記載の方法。
実施形態２７  疑似ランダム値が、制御パケットがその中で伝送されるフレーム毎の伝送スロットを表す実施形態２６に記載の方法。
実施形態２８  第１ノードで、コンピュータ・ネットワークの他のノードに関する伝送時間を計算するステップをさらに含む実施形態２０に記載の方法。
実施形態２９  他のノードに関する伝送時間を計算するステップが、前記他のノードの各々に対する固有識別子およびネットワーク経時を使用して実行される実施形態２８に記載の方法。
実施形態３０  他のノードに関する伝送時間を計算するステップが、第１ノードに関する伝送時間を計算するためにも使用される関数を使用して実現される実施形態２９に記載の方法。
実施形態３１  他のノードがすべて、コンピュータ・ネットワーク内の第１ノードの２ホップ隣接内にある実施形態３０に記載の方法。
実施形態３２  第１ノードが、自らと他のノードのうちのいずれかのノードとの間での伝送時間に対する競合も、優先順位判定により解決する実施形態３１に記載の方法。
実施形態３３  優先順位判定が、様々な識別およびネットワーク経時の入力に対して、一意的な出力を提供する関数を使用してなされる実施形態３２に記載の方法。
実施形態３４  関数が、暗号化アルゴリズムを含む実施形態３３に記載の方法。
実施形態３５  関数が、表ルックアップを含む実施形態３３に記載の方法。
実施形態３６  優先順位判定が、ノードの各々に関連する優先順位バイアスを使用してさらに行われる実施形態３３に記載の方法。
実施形態３７  第１ノードが、他のノードに勝る優先順位を有すると判定された場合、前記第１ノードが、伝送時間に伝送を行う実施形態３６に記載の方法。
実施形態３８  第１ノードが、さらに、優先順位しきい値を超える優先順位を有する場合、前記第１ノードが、伝送時間に伝送を行う実施形態３７に記載の方法。
実施形態３９  第１ノードが、他のノードに勝る優先順位を有すると判定された場合、前記第１ノードが、伝送時間に伝送を行う実施形態３３に記載の方法。
実施形態４０  第１ノードが、さらに、優先順位しきい値を超える優先順位を有する場合、前記第１ノードが、伝送時間に伝送を行う実施形態３９に記載の方法。
実施形態４１  制御パケットが、データ転送のためのスケジュールをアドバタイジングする実施形態２１に記載の方法。
実施形態４２  スケジュールが、データ転送を受信する１つまたは複数のノードの識別を含む実施形態４１に記載の方法。
実施形態４３  スケジュールが、データ転送時間をさらに含む実施形態４２に記載の方法。
実施形態４４  スケジュールが、データ転送チャネルをさらに含む実施形態４３に記載の方法。
実施形態４５  スケジュールが、持続インディケータを含む実施形態４１に記載の方法。
実施形態４６  データ転送を受信するノードが、前記ノードに関連するネットワーク識別子よりも小さいローカル識別子によって識別される実施形態４２に記載の方法。
実施形態４７  第１ノードが、ネットワーク内で、ネットワーク識別子に対するローカル識別子のマッピングを伝送する実施形態４６に記載の方法。
実施形態４８  制御パケットが、ネットワークの１つまたは複数のノードによって伝送されたスケジュールに対する確認情報を含む実施形態４１に記載の方法。
実施形態４９  優先順位判定が、疑似ランダム値の表を使用して行われる実施形態３２に記載の方法。
実施形態５０  疑似ランダム値の表が、第１優先順位判定に対応するエントリをリトリーブするために、第１ノードの媒体アクセス制御層アドレスから導出した値によって索引付けされる実施形態４９に記載の方法。
実施形態５１  第１優先順位判定が、第１ノードの媒体アクセス制御層アドレスを前記優先順位判定に対応するエントリと論理方式で組み合わせることによって検査されて、競合を解決する実施形態５０に記載の方法。
実施形態５２  トポロジ非依存スケジューリング手続きを使用して、コンピュータ・ネットワーク内で、そこでのパケットの伝送に関して、候補パケット伝送時間を決定し、かつトポロジ依存スケジューリング手続きを使用して、競合期間内での衝突を回避するステップをさらに含む方法。
実施形態５３  トポロジ非依存スケジューリング手続きが、ネットワークの経時および前記ネットワークの各ノードに対する固有識別子を利用して、ノードの各々に関する候補伝送時間を決定する実施形態５２に記載の方法。
実施形態５４  トポロジ非依存スケジューリング手続きが、入力の様々なサンプリングに対して、様々な分布の出力を提供する関数を使用して、ノードの各々に関する候補伝送時間を計算する実施形態５３に記載の方法。
実施形態５５  関数が、ハッシュ関数、暗号化関数、または表ルックアップ・オペレーションのうちの少なくとも１つを含む実施形態５４に記載の方法。
実施形態５６  ノードの各々に関する候補伝送時間に対する競合が、前記ノードの各々に関連する優先順位によって解決される実施形態５４に記載の方法。
実施形態５７  ノードの各々に関する優先順位が、各セットの入力に対して一意的な出力を提供する関数によって決定される実施形態５６に記載の方法。
実施形態５８  各セットの入力に対して一意的な出力を提供する関数が、暗号化関数、ハッシュ関数、または表ルックアップ・オペレーションのうちの少なくとも１つを含む実施形態５７に記載の方法。
実施形態５９  各セットの入力に対して一意的な出力を提供する関数が、各ノードに関連する１つまたは複数の固有識別子、ネットワークに関するスケジューリング・フレーム数、および各ノードの優先順位バイアスを含む実施形態５７に記載の方法。
【００９６】
前述の説明および付随する図面は、特定の実施形態を説明し、図示しているが、本発明は、頭記の実施形態との関係でのみ判断されるべきものであることを理解されたい。
【符号の説明】
【００９７】
１６ａ〜１６ｉ  ノード
【図１】
0004726967.tif 000003
【図２】
0004726967.tif 000004
【図３】
0004726967.tif 000005
【図４】
0004726967.tif 000006
【図５】
0004726967.tif 000007
【図６】
0004726967.tif 000008
【図７】
0004726967.tif 000009