(57)【特許請求の範囲】
【請求項１】
ルーティングプランが作成された後にメッシュネットワークにおいて他のデバイスとの間で協調通信を可能にするデバイスが実施する方法（５００）であって、
前記ルーティングプランに基づいてパケットを受信することができる利用可能な近隣デバイスを決定する段階（５０４）と、
前記利用可能な近隣デバイスのうち協調するデバイスを決定する段階（５０６）と、
協調すると決定した他のデバイスに前記パケットを転送する段階（５０８）と
を備え、
前記協調するデバイスの決定は、
ＮＢＲ＿ＲＨが、次のホップデスティネーションが、直近の近隣デバイスである場合であって、ルーティングテーブルに応じて現在の前記デバイスが到達可能である場合に、「１」の値を与えられ、それ以外は、ＮＢＲ＿ＲＨが「０」であり、
ｓｔｉｍｕｌｕｓが、コーディング変調レート、サービス品質、信号ノイズ比、および電池電力のうち１以上の関数であり、
ｔｈｒｅｓｈｏｌｄは、ネットワーク混雑度に比例して決まる場合、
【数１４】
0005552703.tif 000015
で表される確率転送式に基づいて行われる
方法。
【請求項２】
前記ルーティングプランの作成は、ルーティングテーブルに基づいて行われる請求項１に記載の方法。
【請求項３】
前記ルーティングプランの作成は、前記ルーティングプランを前記利用可能な近隣デバイスに送信することを含む請求項１または２に記載の方法。
【請求項４】
前記利用可能な近隣デバイスを決定する段階は、前記デバイスに最も近接している近隣デバイスを含む請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記利用可能な近隣デバイスを決定する段階は、信号品質に基づいて行われる請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記利用可能な近隣デバイスのうち協調するデバイスを決定する段階は、確率転送関数に基づいて実行される請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記確率転送は、前記デバイスにおいてランダムに生成された数を前記確率転送関数によって決定された値と比較することを含む請求項６に記載の方法。
【請求項８】
前記転送する段階を実行した後で、前記ルーティングプランにおいてチャネル容量を判断する段階をさらに備える請求項１から７のいずれか１項に記載の方法。
【請求項９】
メッシュネットワークにおいて他のデバイスとの協調を決定するデバイス（４００）であって、
１以上のプロセッサ（４０２）と、
前記１以上のプロセッサに結合されているメモリ（４０４）と
を備え、
前記メモリは、
ルーティングテーブル（４０８）と、
前記ルーティングテーブルから作成されるルーティングプランと、前記デバイスへの近接性とに基づいて、協調する相手である前記他のデバイスを決定するアルゴリズム（４１０）と
を有し、
前記アルゴリズムは、
ＮＢＲ＿ＲＨが、次のホップデスティネーションが、直近の近隣デバイスである場合であって、前記ルーティングテーブルに応じて現在の前記デバイスが到達可能である場合に、「１」の値を与えられ、それ以外は、ＮＢＲ＿ＲＨが「０」であり、
ｓｔｉｍｕｌｕｓが、コーディング変調レート、サービス品質、信号ノイズ比、および電池電力のうち１以上の関数であり、
ｔｈｒｅｓｈｏｌｄは、ネットワーク混雑度に比例して決まる場合、
【数１５】
0005552703.tif 000016
で表される確率転送式に基づいて、協調する相手である前記他のデバイスを決定することを含む
デバイス。
【請求項１０】
前記デバイスおよび前記他のデバイスは、無線インターフェースを介して通信する請求項９に記載のデバイス。
【請求項１１】
前記メモリは、専用チップセットである請求項９または１０に記載のデバイス。
【請求項１２】
前記ルーティングテーブルは、所定のものである請求項９から１１のいずれか１項に記載のデバイス。
【請求項１３】
前記アルゴリズムは、確率転送関数を含む請求項９から１２のいずれか１項に記載のデバイス。
【請求項１４】
前記確率転送関数は、認識関数である請求項１３に記載のデバイス。
【請求項１５】
前記確率転送関数から導出される値を、ランダムに生成された数と比較する請求項１３または１４に記載のデバイス。
【請求項１６】
コンピュータに、
近隣デバイスに渡すルーティングプランを作成する処理（５０２）と、
データパケットを受信することができる利用可能な近隣デバイスを判断する処理（５０４）と、
前記利用可能な近隣デバイスのうち実際に前記データパケットを送信するデバイスを決定する処理（５０６）と、
前記データパケットを、前記データパケットの受信相手として決定された前記デバイスに転送する処理（５０８）と
を含む動作を実行させ、
前記データパケットを送信するデバイスを決定する処理は、
ＮＢＲ＿ＲＨが、次のホップデスティネーションが、直近の近隣デバイスである場合であって、ルーティングテーブルに応じて現在の前記デバイスが到達可能である場合に、「１」の値を与えられ、それ以外は、ＮＢＲ＿ＲＨが「０」であり、
ｓｔｉｍｕｌｕｓが、コーディング変調レート、サービス品質、信号ノイズ比、および電池電力のうち１以上の関数であり、
ｔｈｒｅｓｈｏｌｄは、ネットワーク混雑度に比例して決まる場合、
【数１６】
0005552703.tif 000017
で表される確率転送式に基づいて行われる
プログラム。
【請求項１７】
前記ルーティングプランは、所定のルーティングテーブルに基づいて決定する
請求項１６に記載のプログラム。
【請求項１８】
前記転送する処理は、前記データパケットを符号化することを含む請求項１６または１７に記載のプログラム。
【請求項１９】
前記動作は、モバイルメッシュネットワーク内のノードによって実行される
請求項１６から１８のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
モバイルエリアネットワーク（ＭＡＮＥＴ）は、モバイル「アドホック」ネットワークまたはモバイルメッシュネットワークであってよい。ＭＡＮＥＴは、複数の通信デバイスまたはモバイルデバイスから成る自己設定ネットワークによって形成され得る。こういったデバイスは、無線リンクによって互いに接続することができる。ＭＡＮＥＴで互いに接続されているデバイスは、近隣デバイスと見なされる。各デバイスは、独立して自由に移動が可能であり、ＭＡＮＥＴ内の移動に応じて近隣デバイスを変更することができる。デバイスは、自身が利用しないトラフィックを転送する場合がある（つまり、他のデバイスの代わりに情報を渡して、他のデバイスに対してルータとして機能する）。デバイスは一般的に、ネットワーク（ＭＡＮＥＴ）では「ノード」と呼ぶとしてよい。
【０００２】
ＭＡＮＥＴは、他の用途および環境でも実現可能である。実施例としては、教室（つまり、教育機関）、会議室、軍配備、病院およびクリニック（例えば、患者のバイタルサインのモニタリング）、環境をモニタリングするべく配備されたセンサネットワーク、スマートグリッド、石油パイプライン、線路および他のインフラストラクチャが挙げられる。ＭＡＮＥＴの他の実施例としては、クライアントマシン（つまり、ノード）同士がネットワーク化されて（つまり、接続されて）、コンピュータに関するユーザの要求を満足させ、協力を可能とするクライアントクラウドコンピュータ環境がある。また、娯楽、家庭向けコンピュータの利用、および、エネルギー節約のためにネットワーク化されている家庭用デバイスおよび／または家庭用電気機器を備える「スマート」ホームでも、ＭＡＮＥＴを利用することができる。
【０００３】
ＭＡＮＥＴでは、サービス品質（ＱｏＳ）を低下させ得る問題が発生する可能性がある。ＱｏＳの一の側面では、ソースノードからデスティネーションノードへとレイテンシ要件内で送信が実行されることを保証する。ＭＡＮＥＴ等の動的メッシュネットワークは、スループットおよびリンク（例えば、ノード間リンク）の故障に対処することを含む。ＭＡＮＥＴは、ノード間の協調分散処理を低いオーバーヘッドコストで実行することが理想的である。通常のＭＡＮＥＴでは、協調し合うノードは、どのように選択するかについてのアルゴリズムを提供することなく、決定されるとしてよい。
【０００４】
高性能のメッシュネットワークには、マルチホップルーティングプランで完全な接続を構築するユーザノードを多く利用するとしてよい。動的環境によってメッシュ（例えば、ＭＡＮＥＴ）内のホップで混乱が発生すると、ルーティングプランは、修正が必要になる可能性があり、この場合にはネットワークの信号伝達のオーバーヘッドが大幅に増加して、時間がかかってしまう。
【発明を実施するための形態】
【０００５】
詳細に説明する。同様の特徴および構成要素を示すべく、同じ参照番号を利用する。
本明細書で説明する実施形態は、ユーザのサービス品質（ＱｏＳ）、スループットを改善し、モバイルエリアネットワーク（ＭＡＮＥＴ）等の動的メッシュネットワークでのリンクの停止を低減することを目的としている。オーバーヘッドが少ない「群知能」と呼ばれる分散協調処理を実現することができる。特定の実施形態によると、マルチホップルーティングプランによって接続が構築または定義されるネットワークでは、動的に混乱が発生するホップに対処するべく補償を実行することができる。
【０００６】
特に、通信システム、および、しきい値を利用したリソース割り当てモデルでの協調を実現することができる。従来、ノード間の協調は、メッシュネットワークにおいてマルチホッププロトコルを利用する通信システムにおいて実施され得るが、協調のために係るコストが大きい。このため、ハイブリッド自動再送要求（ＨＡＲＱ）が協調方法／方式の実施をトリガしてオーバーヘッドを削減し、帯域幅／電力効率を改善することが提案されている。しきい値を利用したリソース割り当てモデルは、「蟻」社会の観察結果に基づいたモデルである。「蟻」社会では、それぞれの「蟻」が、他の蟻とコミュニケーションを取ることなく、「コロニー」の要求を最も満たし易いタスクに対する対応および従事について、いつ、どこで、どのようにして行うかについて判断を下すことができる。この比喩では、ノードが「蟻」で、ネットワークが「コロニー」である。言い換えると、ノードが、別のノードとどのように協調するかを判断する。まとめると、採用する概念は、ネットワーク内のノードの協調通信で利用する「群知能」と見なすことができる。この概念は、ＭＡＮＥＴまたはモバイルアドホックネットワークにおいて、協調するノード間でリアルタイムにハンドシェイクを行うことなく、自動的に協調を決断することが可能となる方式を提供することを目的としている。これによって、オーバーヘッドおよび干渉を発生させることなく、システムの信号ノイズ比（ＳＮＲ）を自動的に向上させることができ、結果として、システムの信頼性が高くなる。
【０００７】
最も効果的な支援を提供可能で、ネットワークの干渉レベルを分散方式で低減可能な協調ノードについて、判断を下すことができる。また、本明細書で説明するアルゴリズムは、ＭＡＮＥＴ設定に利用すると、協調リンクで必要な再送が少なくなるように協調を発生させるべき最良リンクを特定することによって先手を取る形で協調通信を可能とするので、スループット、スペクトル効率およびエネルギー効率を高めることができる。
【０００８】
＜ネットワークの例＞
ノード間の協調通信のために群知能を実施するネットワーク１００を以下で説明する。ネットワーク１００は、さまざまなネットワークの１つであってよく、具体的にはモバイルエリアネットワークまたはモバイル「アドホック」ネットワーク、一般的にはＭＡＮＥＴと呼ばれるものであってよい。ネットワーク１００は、複数のノードが追加または削除されるとしてよい。各デバイス、または、各ノードは、独立して自由に移動し、ネットワーク１００内を移動すると近隣デバイスまたは近隣ノードが変化する。本例では、ノードＡ１０２、ノードＢ１０４、ノードＣ１０６、ノードＤ１０８、ノードＥ１１０、ノードＦ１１２、ノードＧ１１４、ノードＨ１１６、ノードＩ１１８、ノードＪ１２０、ノードＫ１２２、ノードＬ１２４、ノードＭ１２６、ノードＮ１２８、ノードＯ１３０、ノードＰ１３２、ノードＱ１３４、ノードＲ１３６、ノードＳ１３８、および、ノードＴ１４０を例示している。特定の実施例では、ノードの位置は不規則に並べることも考えられる。
【０００９】
ノード１０２−１４０は、さまざまな通信プロトコルまたは通信規格を利用して互いに通信を実行することができる。規格の例としては、ＩＥＥＥ８０２．１１および符号分割多重アクセス（ＣＤＭＡ）が挙げられる。ノード１０２−１４０は、無線インターフェースを介して通信を行う。データまたはメッセージは、さまざまな符号化方式／規格を利用して符号化され得るパケットとして送信され得る。
【００１０】
ノード１０２−１４０は、モバイルデバイスとして、上述したようにネットワーク１００内を移動することが可能である。ノード１０２−１４０は、近隣ノードに対して、ルータまたは中継デバイスとして利用可能である。ノード１０２−１４０はそれぞれ、当該ノードの利用に関係ないトラフィック（つまり、パケット）を転送することができる。このノードは、他のノードに対してルータとして機能する。
【００１１】
本例では、ノードＫ１２２を、「デスティネーションノード」１３０にメッセージを送信することを希望する「ソースノード」と見なす。ルーティングプランは、パケットを転送する中間ノードを用いて決定する。この場合、パケットは、「ソースノード」であるノードＫ１２２からノードＬ１２４に渡され（リンク１４２で繋げられる）、ノードＬ１２４がこのメッセージをノードＭ１２６に中継し（リンク１４４で繋げられる）、ノードＭ１２６はノードＮ１２８にメッセージを中継し（リンク１４６で繋げられる）、ノードＮ１２８はノードＯ１３０にメッセージを中継する（リンク１４８で繋げられる）。本例のルーティングプランは、ノードＫ１２２／ノードＬ１２４／ノードＭ１２６／ノードＮ１２８／ノードＯ１３０である。
【００１２】
近隣ノードによって送信がどのようにサポートされるかを示すサブネットワークを以下で説明する。上述したように、ＭＡＮＥＴまたはネットワーク１００は、規則的に配置されたノード１０２−１４０で構成される完全メッシュである。作成されたルーティングプランが提供されるとしてよく、それに基づいて各ノードにルーティングテーブルが提供される。本例では、各ノードは、８個の最も近い近隣ノードとのみ通信を行うことができる。例えば、「ソースノード」であるノードＫ１２２は、ノードＦ１１２、ノードＧ１１４、ノードＬ１２４、ノードＰ１３２およびノードＱ１３４と通信を行う。ノードＫ１２２は、先行する３つのノードと通信を行うことが可能であるが、パケット送信は前へ進むので、関連する協調ノードのみを例示している。このため、ノードＦ１１２は、リンク２００および２０２で繋げられて、パケットをノードＫ１２２からノードＬ１２４へと中継する協調ノードとして利用され得る。同様に、ノードＧ１１４は、リンク２０４および２０６で繋げられて、同様に実行され、ノードＰ１３２は、リンク２０８および２１０で繋げられて、同様に実行され、ノードＱ１３４は、リンク２１２および２１４で繋げられて、同様に実行される。このため、近隣ノードは、メッセージ（パケット送信）を「ヒアリング」することができ、メッセージの送信を支援するために利用可能である。しかし、近隣ノードが支援するタイミングを決定する必要がある。近隣ノードからの協調または支援によって、パケットまたはメッセージの強度は高くなる（つまり、パケット／メッセージを後続のノードに転送するノードが多くなる）。具体例を挙げると、ノードによる支援／協調は、ネットワーク内で他のノードにおけるノイズが大きくなる可能性があるので、望ましくない場合があるとしてよい。どのように決定するかについては、転送関数ｆ（Ｐ（ｆｏｒｗａｒｄｉｎｇ））を参照しつつさらに後述する。
【００１３】
協調通信の群知能を示すサブネットワークを以下で説明する。具体的には、協調ノードの群移動を例示している。リンク３００から３２６は、パケットを送信可能なパケット送信経路であり、本例では、短縮された経路は、ノードＬ１２４からノードＯ１３０である（全経路は、上述しているように、ノードＫ１２２からノードＯ１３０である）。
【００１４】
パケットが「ソースノード」であるノードＫ１２２から「デスティネーションノード」であるノードＯ１３０へと配信されるようにルーティングテーブル（ルーティングプラン）が作成されていることを考えると、ルーティングテーブルが作成された後の問題点は、ノードＫ１２２からノードＯ１３０の間のホップとなるノード間での協調により信頼性の高い通信を可能とするにはどうすればよいか、という点にあるとしてよい。このマルチホップルートでのホップのいずれかで混乱が発生すると、近隣ノードは自動的に、協調方式を開始すると決定して、マルチホップルートプランのうち失敗が発生した箇所の補償を行う。この方式について以下で説明する。
【００１５】
近隣ノードをデスティネーションとするパケットを正しくデコードすることができるノードについては、以下で説明する「蟻」コロニーリソース割り当てモデルから導出した関数ｆ（Ｐ（ｆｏｒｗａｒｄｉｎｇ））に応じて、パケットを次のホップデスティネーションに転送することを選択可能である。
【数１】
0005552703.tif 000002
【００１６】
ＮＢＲ＿ＲＨは、「到達可能な近隣ノード」であり、次のホップデスティネーションが直近の近隣ノードである場合であって、ルーティングテーブルに応じて現在のノードが到達可能である場合に、「１」の値を与えられる。それ以外は、ＮＢＲ＿ＲＨは「０」である。
【００１７】
可変値である「ｓｔｉｍｕｌｕｓ」は、以下の値の関数である。
パケット符号化／変調レート：符号化／変調レートが高効率化されると、メトリックレベルが高くなる。これは、パケットエラーレートの可能性が高くなるためである。
ＱｏＳに応じたパケットの分類：リアルタイムパケットは、メトリックレベルが高くなる。これは、リアルタイムパケットは、正しく受信される必要があり、再送ができないためである。
ＳＮＲ差分＝（現在のノードから次のホップのノードまでのリンクの信号ノイズ比（ＳＮＲ）の推定値）−（原点のノードから次のホップのノードまでのリンクのＳＮＲ推定値）：ＳＮＲ差分が大きくなると、メトリック値が大きくなる。これは、原点のノードと次のホップのノードとの間のリンクＳＮＲが大きい場合には、ＳＮＲ差分が小さくなり、協調は恐らく不要であることを示す。他方、原点のノードと次のホップのノードとの間のリンクＳＮＲが小さい場合には、ＳＮＲ差分が大きくなり、このノードは協調ノードとして貢献度が高い。このように、本発明に係るアルゴリズムは、必要な場合にのみ協調を可能とし、不要でありシステムで発生する干渉が大きくなるばかりであると自動的に削除する。
クライアントデバイスの電池電力レベル：電力レベルが低いノードは、支援を行わないことを選択し、十分な電力を持つノードは、支援を行うことを選択する。
【００１８】
可変値である「ｔｈｒｅｓｈｏｌｄ」は、現在のノードで検出されるか、現在のノードで実行される干渉測定結果から決まるコリジョンレートによって決まるネットワークの混雑／干渉レベルに比例して変化する。現在のノードの周囲を取り囲む近隣ネットワーク（つまり、サブネットワークまたはネットワーク１００）がビジー状態であると検出されると、現在のノードは、サイレント状態になり、他のノードが行なっている近傍での送信と干渉を発生させることはない。しかし、近隣ノードがビジー状態でない場合、現在のノードは、協調することにより近傍のノードを支援することができる。
【００１９】
＜協調／パケットの転送の判断＞
転送を判断するために利用される方法として、転送確率（Ｐ（ｆｏｒｗａｒｄｉｎｇ））がある。関数の一例として、以下の式で表せるものが挙げられる。
【数２】
0005552703.tif 000003
【００２０】
この関数によると、Ｐを二乗することでＰ（ｆｏｒｗａｒｄｉｎｇ）の値が高い方を選択し、Ｐ（ｆｏｒｗａｒｄｉｎｇ）の値が低い方を格下げする。各ノードにおいて、０と１との間の乱数を生成するとしてよい。乱数がｆ（Ｐ（ｆｏｒｗａｒｄｉｎｇ））未満である場合には、現在のノードは送信に関与する。そうでない場合には、現在のノードまたはアクティブなノードは、サイレント状態のままである。他の関数を選択することも可能である。
【００２１】
以下では一例となるシナリオを説明する。ノードＫ１２２がパケットをノードＬ１２４に送信した後、ノードＦ１１２、Ｐ１３２、Ｇ１１４、Ｌ１２４およびＱ１３４は全て、送信を「ヒアリング」することができる。ノードＬ１２４がパケットを正しく受信しなかった場合、ノードＬ１２４は、ＮＡＣＫ（否定確認応答）メッセージをノードＫ１２２に送信するか、または、ノードＬ１２４からノードＫ１２２へとＡＣＫを送信しない。そして、ノードＫ１２２からの再送が実行される。この場合、ノードＦ１１２、Ｐ１３２、Ｇ１１４およびＱ１３４は、「ＮＡＣＫ」を「ヒアリング」することができるか、ＡＣＫをヒアリングしない。そして、ノードＫ１２２と協調してパケットをノードＬ１２４へと再度送信する。一実施例を挙げると、ノードＧ１１４およびＱ１３４は、ノードＦ１１２およびＰ１３２よりも、ノードＫ１２２と協調する可能性が高い。これは、ノードＧ１１４およびＱ１３４は、ノードＬ１２４により近接しているからである。ノードＧ１１４およびＱ１３４はさらに、ノードＧ１１４またはＱ１３４からノードＬ１２４へのＳＮＲ推定値が高いので、Ｐ（ｆｏｒｗａｒｄｉｎｇ）が高い。各ノードが再送まで待機する時間は、決定されると、同期を目的とした定期的なハンドシェイクにおいて全ての近隣ノードにおいてやり取りされる。例えば、ＣＴＳ／ＲＴＳ（送信許可／送信要求）のハンドシェイクを利用する場合、全ての近隣ノードは、一のノードがＲＴＳ（送信要求）を受信した後に送信を開始すべきタイミングを知ることができる。これは、この情報が標準的なプロトコルで明記可能であるためである。ＣＴＳ／ＲＴＳハンドシェイクを行わない送信の場合、タイミング情報および次ホップルーティング情報は、ネットワークルーティングメインテナンスおよび同期のために必要となる定期ハンドシェイクにおいて、やり取りすることができる。
【００２２】
ノードＬ１２４およびノードＦ１１２、Ｐ１３２、Ｇ１１４およびＱ１３４が全て正しくパケットを受信したと仮定する。パケットは、ノードＬ１２４からノードＭ１２６へと転送され得る。尚、ノードＦ１１２およびＰ１３２は、パケットの転送に関与しない。これは、ノードＭ１２６は、ノードＦ１１２およびＰ１３２の直近の近隣ノードではなく、ＮＢＲ＿ＲＨ＝０のためにＰ（ｆｏｒｗａｒｄｉｎｇ）値がゼロとなるからである。アルゴリズムは自動的に、協調に関与しないノードを除外して、協調を実際に支援するノードのみを残して全体的なシステム干渉レベルを低減することができる。
【００２３】
一のノードがパケットを次のホップに転送するまで待機する時間は、近隣ノードの間で知られている。これは、この情報が、同期のための定期ハンドシェイクでやり取りされるためである。繰り返しになるが、ＣＴＳ／ＲＴＳハンドシェイクが利用されると、全ての近隣ノードは、標準的なプロトコル仕様に基づき、ＲＴＳを受信した後に送信を開始すべきタイミングを知ることができる。ノードＬ１２４は、ノードＧ１１４および／またはＱ１３４の支援を受けつつ、ノードＭ１２６にパケットを送信すると仮定される。
【００２４】
続いて、パケットがノードＭ１２６に到着すると、送信範囲内であるのでノードＡ１０２、Ｂ１０４、Ｃ１０６、Ｈ１１６、Ｍ１２６、Ｆ１１２、Ｋ１２２、Ｐ１３２、Ｑ１３４およびＲ１３６が送信を受信するが、アルゴリズムを適用することによって、パケットのノードＮ１２８への転送においてノードＭ１２６と協調するのはノードＨ１１６およびＲ１３６のみとすることができる。全てのその他のノードはＰ（ｆｏｒｗａｒｄｉｎｇ）がゼロである。これは、ノードＮ１２８は、ノードＡ１０２、Ｂ１０４、Ｃ１０６、Ｆ１１２、Ｋ１２２、Ｐ１３２およびＱ１３４の直近の近隣ノードではないためである。同様に、ノードＮ１２８からノードＯ１３０への最後のホップについて、ノードＮ１２８からノードＯ１３０へのパケットの送信においてノードＩ１１８およびＳ１３８のみがノードＮ１２８と協調する。
【００２５】
＜協調によるデスティネーションノードでのチャネル容量ゲイン＞
ノードＨ１１６、Ｍ１２６およびＲ１３６からノードＮ１２８への協調による容量ゲインを示すべく、一例として、分析を実行する。近隣ノード間は距離が短く、定期的に同期が行なわれるので、近隣ノードは、程度に多少はあれ、同期していると仮定される。説明を簡略化するべく、以下のシナリオではゲインが等しい３つの単一入力単一出力（ＳＩＳＯ）チャネルが受信側のノードＮ１２８で結合されると考える。ＭＩＭＯ方式およびコヒーレントチャネル推定方式を利用したより高度な方法では、得られるゲインがさらに多くなるとしてよい。パイロットおよびデータサブキャリアからノードＮで受信した信号は、以下のように定義される。
【数３】
0005552703.tif 000004
【００２６】
数３において、
【数４】
0005552703.tif 000005
は、送信側ノードＨ／Ｍ／Ｒから受信側ノードＮへのチャネルをそれぞれ表す。
【数５】
0005552703.tif 000006
は、ノードＨ１１６、Ｍ１２６およびＲ１３６からノードＮ１２８で受信した信号を表す。
【数６】
0005552703.tif 000007
は、サブキャリアでノードＮ１２８に送信されるＱＡＭシンボルを表す。サブキャリアがパイロットである場合、
【数７】
0005552703.tif 000008
は、ノードＮ１２８で分かっている。
ｎは、ノードＮ１２８における熱ノイズを表す。
【００２７】
最終的なデコードされたシンボルは、以下の式で定義され得る。
【数８】
0005552703.tif 000009
【００２８】
式中、（・）＊は、複素共役を表し、｜｜・｜｜は、ベクトルの複素数の振幅二乗を表す。
【数９】
0005552703.tif 000010
は、パイロットサブキャリアに基づき測定される。ノードＮ１２８において、ノードＨ１１６およびＲ１２６からの協調がある場合およびない場合のＳＮＲはそれぞれ、以下の式で表される。
【数１０】
0005552703.tif 000011
【００２９】
式中、
【数１１】
0005552703.tif 000012
および
【数１２】
0005552703.tif 000013
はそれぞれ、信号および受信ノイズ電力である。レーリーフェージングチャネルの最悪のケースを仮定すると（ｈがガウス変数を用いて生成され、平均値がゼロでバラツキが１であり、設定が
【数１３】
0005552703.tif 000014
である場合、協調ありの場合のＳＮＲの累積分布プロット（ＣＤＦ）は、協調なしの場合のＳＮＲのＣＤＦと比較すると、ＳＮＲが改善していることが分かる比較的低いＳＮＲでは、ＳＮＲゲインが５ｄＢとなっていることが分かる。「シャノンの公式」を用いてチャネル容量に変換すると、協調によって、ＳＮＲが低い場合には容量が大きくなり、つまり、チャネルを利用することができ、また、ＳＮＲ値が低くない場合でも利用できる。
【００３０】
＜ノードデバイスの例＞
協調通信を実施するべく群知能を実装するデバイスまたはノード４００の例を以下で説明する。ノード４００は、ノード１０２−１４０等、上述したノードの実施形態例であってよい。上述したように、ノード４００は、さまざまな無線デバイスのうち１つであってよく、モバイルメッシュまたはＭＡＮＥＴネットワークの一部である。ノード４００は、このようなネットワークに、移動により出入りすることができる。また、ノード４００は、ネットワーク内の他のノードと、通信および協調する。
【００３１】
ノード４００は、１以上のプロセッサ４０２を有する。プロセッサは、メモリ４０４と通信するように構成されている。メモリ４０４は、さまざまな種類のメモリおよび／またはメモリデバイスを含み得る。これらに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、内部メモリおよび外部メモリを含むとしてよい。メモリ４０４はさらに、本明細書で説明するプロセスを実装するチップセットを含むとしてよい。メモリ４０４は、デバイス１０２で実行可能なコンピュータ可読命令を含むとしてよい。本明細書で説明した構成要素は、集積化されているとしてもよいし、メモリ４０４の一部として含まれているとしてもよいと理解されたい。
【００３２】
ノード４００は、１以上のさまざまな無線入出力インターフェース用のプロトコルおよび規格、例えば、ＣＤＭＡ、ＩＥＥＥ８０２．１１およびその関連規格等を利用することができる。ノード４００は、無線インターフェース用の無線Ｉ／Ｏを備える。
【００３３】
メモリ４０４は、上述したように実装されるルーティングテーブル４０８を備える。メモリ４０４はさらに、協調通信に対処するべくアルゴリズム４１０を備える。アルゴリズム４１０は、群知能および協調通信をサポートする上述したアルゴリズム／等式を含む。
【００３４】
本例では、ノード４００はさらに、パケット送信をサポートするエンコーダ／デコーダ４１２を備える。言い換えると、エンコーダ／デコーダ４１２は、パケットおよびメッセージの暗号化および復号化を行うために利用され得る。
【００３５】
＜群知能のプロセスの例＞
メッシュネットワークにおける協調通信用の群知能のプロセス５００の一例を説明するためのフローチャートを以下で説明する。一例を挙げると、協調通信用の群知能は、デバイスまたはノード４００によって実行されるとしてよい。当該方法を記載している順序は、限定と解釈されるべきではなく、本明細書で説明する方法を構成するブロックは、当該方法または別の方法を実行するべく任意のものを統合することができる。また、各ブロックは、本明細書で説明する主題の意図および範囲から逸脱することなく、当該方法から削除することもできる。さらに、当該方法は、本発明の範囲から逸脱することなく、任意の適切なハードウェア、ソフトウェア、ファームウェア、または、これらの組み合わせによって実装され得る。
【００３６】
ブロック５０２において、ルーティングプランおよび／またはルーティングテーブルを作成する。ルーティングプランおよびルーティングテーブルは、所定のものであってよく、所与のノードから後続のノードへの、最終的には、デスティネーションノードへのパケットまたはメッセージの経路を記述するため用いられるとしてよい。ルーティングプランは、所与のノードからデスティネーションノードまでの特定の経路であり、ルーティングテーブルは、パケットまたはメッセージを転送するために利用可能なノードに関する情報を提供する。
【００３７】
ブロック５０４において、パケットまたはメッセージを転送する際に支援する近隣ノード、または、協調するために支援する近隣ノードを判断する。一貫して均一な構造を持つマトリクスネットワークでは、上述したように、支援または協調を行う候補ノードは、例えば、隣接または近隣の８個のノードであってよい。ネットワークは均一な構造ではなく支援および協調を行う候補ノードは変わるものと考えられる。このようなネットワークでは、一のノードの近隣ノードは、現在のノードと直接通信可能なノードであると定義される。近隣ノードが決定されると、通常の定期的なハンドシェイクを実行して、ルーティング、転送および同期のための情報のやり取りを行う。
【００３８】
ブロック５０６において、各近隣ノードは、パケット／メッセージの送信に対して協調または支援するか否かを判断することができる。この判断は、上述した転送関数に基づいて行うことができる。具体的には、転送確率関数を実施することができる。いずれにしても、各ノードは、パケット／メッセージの転送に対して協調または支援を行う近隣ノードを決定することができると考えられる。この決定は、ネットワークおよび／または他のノードとは独立して行われる。
【００３９】
ブロック５０８において、パケット／メッセージを転送する。ノードは、次のホップであるノードにパケット／メッセージを送信し、近隣ノードが、パケット／メッセージを次のホップのノードに送信する際に支援または協調を行うことができる。
【００４０】
＜結論＞
方法の例について具体的且つ詳細に説明したが、例示した特定の処理は記載した順序で実行する必要はなく、状況に応じて、修正するとしてよく、および／または、完全に削除するとしてもよいと理解されたい。本願で説明するように、モジュールおよびエンジンは、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組み合わせを用いて実行するとしてよい。また、説明した処理および方法は、コンピュータ、プロセッサ等のコンピューティングデバイスによって、１以上のコンピュータ可読格納媒体（ＣＲＳＭ）を含むメモリに格納されている命令に基づき、実行されるとしてよい。
【００４１】
ＣＲＳＭは、格納している命令を実行するべく、コンピューティングデバイスがアクセス可能な物理的媒体であれば、どのようなものであってもよい。ＣＲＳＭは、これらに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたはその他のソリッドステートメモリ技術、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、デジタル・バーサティル・ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気格納デバイス、または、所望の情報を格納するために利用され、コンピューティングデバイスがアクセス可能な任意のその他の媒体を含むとしてよい。