JP7162824B1 - 地理的ルーティングメッシュネットワーク - Google Patents

地理的ルーティングメッシュネットワーク Download PDF

Info

Publication number
JP7162824B1
JP7162824B1 JP2021160236A JP2021160236A JP7162824B1 JP 7162824 B1 JP7162824 B1 JP 7162824B1 JP 2021160236 A JP2021160236 A JP 2021160236A JP 2021160236 A JP2021160236 A JP 2021160236A JP 7162824 B1 JP7162824 B1 JP 7162824B1
Authority
JP
Japan
Prior art keywords
nodes
list
node
proximate
mesh network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021160236A
Other languages
English (en)
Other versions
JP2023014958A (ja
Inventor
ジュヨン リー ウエン
Original Assignee
ラピュタロボティックス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ラピュタロボティックス株式会社 filed Critical ラピュタロボティックス株式会社
Application granted granted Critical
Publication of JP7162824B1 publication Critical patent/JP7162824B1/ja
Publication of JP2023014958A publication Critical patent/JP2023014958A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/126Shortest path evaluation minimising geographical or physical path length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】地理的ルーティングメッシュネットワークのための方法及びシステムを提供する。【解決手段】本方法は、第1のノードが、メッシュネットワーク内の第1のノードに近接する第1リストのノードを決定することを含み得る。本方法は、第1のノードが、第1リストのノードに関する各ノードに、第1のノードに近接するノードの第1リストを送信することをさらに含む。本方法は、第1のノードが、ノードの第1リストを送信することに応答して、第1リストのノードの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信し、第2リストの1つ又は複数のノードのそれぞれが第1リストのノードの1つ又は複数のノードのうちの1つに近接していること、及び第1のノードが、第1リストのノードの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、第1リストのノードの1つ又は複数のノードを更新することをさらに含む。【選択図】図6

Description

本明細書の開示は、概して、メッシュネットワーク、より具体的には、地理的ルーティングメッシュネットワークに関する。
地理的ルーティング(geographic routing)は、地理的ルーティング(geo-routing)又は位置ベースのルーティングとしても知られ、地理的位置情報に依存するルーティング(routing:経路決定)原理である。地理的ルーティングでは、各ノードがそれ自体の場所を決定でき、送信元(source)が宛先(destination:送信先)の場所を認識している必要がある。この情報を使用すると、ネットワークトポロジ又は事前のルート検出の知見がなくても、メッセージを宛先にルーティングすることができる。ルーティング方法論の分野では、IPルーティングには、一元化した権限を有するIPネットワーク内の送信元から宛先までのネットワークパケットに適した経路の決定が含まれる。このプロセスでは、静的構成ルール又は動的に取得したステータス情報を使用して、特定のパケット転送方法を選択する。ネットワークトポロジの作成及び維持は、ネットワークの負荷が変動する際に作成、委任、マージ、及び分割により、一元化した構成に対して様々なアプローチを取る。
本開示に組み込まれ、その一部を構成する添付の図面は、例示的な実施形態を示し、詳細な説明とともに、開示する原理を説明するのに役立つ。
本開示の実施形態は、従来のシステムにおいて本発明者が認識した上記の技術的問題の1つ又は複数に対する解決策としての技術的改善を提示する。例えば、一実施形態では、地理的ルーティングメッシュネットワークのためのプロセッサで実施される方法が提供される。この方法は、第1のノードが、メッシュネットワーク内の第1のノードに近接する第1リストのノードを決定するステップを含む。第1のノードに近接する第1リストのノードを決定するステップには、第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算するステップが含まれる。この方法は、第1のノードが、第1リストのノードに関する各ノードに、第1のノードに近接するノードの第1リストを送信するステップをさらに含む。この方法は、第1のノードが、ノードの第1リストを送信することに応答して、第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信するステップをさらに含み、第2リストの1つ又は複数のノードのそれぞれは、第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接している。この方法は、第1のノードが、第1リストのノードのうちの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、第1リストのノードのうちの1つ又は複数のノードを更新するステップをさらに含む。第1リストのノードのうちの1つ又は複数のノードを更新するステップには、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、第1のノードと第1のノードに近接する第1リストのノードとの間の距離を再計算するステップが含まれる。
別の実施形態では、地理的ルーティングメッシュネットワークのためのシステムが提供される。システムは、命令を記憶するメモリ、及び1つ又は複数の通信インターフェイスを介してメモリに結合した1つ又は複数のハードウェアプロセッサを含む。1つ又は複数のハードウェアプロセッサは、命令によって、第1のノードが、メッシュネットワーク内の第1のノードに近接する第1リストのノードを決定するように構成される。第1のノードに近接する第1リストのノードを決定することには、第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算することが含まれる。システムは、第1のノードが、第1リストのノードに関する各ノードに、第1のノードに近接するノードの第1リストを送信するようにさらに構成される。システムは、第1のノードが、ノードの第1リストを送信することに応答して、第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信するようにさらに構成され、第2リストの1つ又は複数のノードのそれぞれは、第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接している。システムは、第1のノードが、第1リストのノードのうちの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、第1リストのノードのうちの1つ又は複数のノードを更新するようにさらに構成される。第1リストのノードのうちの1つ又は複数のノードを更新することには、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、第1のノードと第1のノードに近接する第1リストのノードとの間の距離を再計算することが含まれる。
さらに別の実施形態では、1つ又は複数の非一時的な機械可読情報記憶媒体が提供される。1つ又は複数の非一時的な機械可読情報記憶媒体は、1つ又は複数の命令を含み、命令が1つ又は複数のハードウェアプロセッサによって実行されると、第1のノードが、メッシュネットワーク内の第1のノードに近接する第1リストのノードを決定することを行わせる。第1のノードに近接する第1リストのノードを決定することには、第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算することが含まれる。この方法は、第1のノードが、第1リストのノードに関する各ノードに、第1のノードに近接するノードの第1リストを送信することをさらに含む。この方法は、第1のノードが、ノードの第1リストを送信することに応答して、第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信することをさらに含み、第2リストの1つ又は複数のノードのそれぞれは、第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接している。この方法は、第1のノードが、第1リストのノードのうちの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、第1リストのノードのうちの1つ又は複数のノードを更新することをさらに含む。第1リストのノードのうちの1つ又は複数のノードを更新することには、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、第1のノードと第1のノードに近接する第1リストのノードとの間の距離を再計算することが含まれる。
前述の一般的な説明と以下の詳細な説明との両方は、例示的且つ説明的なものに過ぎず、特許請求の範囲に記載されるような、本発明を限定するものではないことを理解されたい。
本開示に組み込まれ、その一部を構成する添付の図面は、例示的な実施形態を示し、詳細な説明とともに、開示する原理を説明するのに役立つ。
本開示のいくつかの実施形態による、ローカル環境内の他の同様のシステムと通信し得る一般的なシステムの例を示す図である。 本開示のいくつかの実施形態による、メッシュネットワークの形成を示す図である。 本開示のいくつかの実施形態による、完全に接続されたメッシュネットワークを示す図である。 本開示のいくつかの実施形態による、メッシュネットワークにおける同期メカニズムを示す図である。 本開示のいくつかの実施形態による、アプリケーションを実行するためのシミュレーションエンジンを示す図である。 本開示のいくつかの実施形態による、地理的ルーティングメッシュネットワークの方法を示すフロー図である。
例示的な実施形態について、添付の図面を参照して説明する。図では、参照符号の左端の数字は、参照符号が最初に表れる図を示している。都合のよい場合にはいつでも、同じ又は同様の部品を参照するために、図面全体で同じ参照符号が使用される。開示する原理の例及び特徴を本明細書で説明するが、変更、適合、及び他の実施態様は、開示する実施形態の精神及び範囲から逸脱することなく、可能である。以下の詳細な説明は例示としてのみ考慮され、真の範囲及び精神は特許請求の範囲(明細書に含まれる場合に)によって示されることが意図される。
装置及びソフトウェアサービスストアを使用してメッシュネットワーク及びシミュレーションモデルを構築及び維持するための技術の実施形態を、本明細書で説明する。本明細書全体を通して「一実施形態」、「この実施形態」及び同様の句に対する言及は、実施形態に関連して説明する特定の特徴、構造、又は特性が、1つ又は複数の実施形態のうちの少なくとも1つに含まれることを意味する。こうして、本明細書全体の様々な個所でのこれらの句の出現は、必ずしも同じ実施形態を参照しているわけではない。さらに、特定の特徴、構造、又は特性は、1つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。
典型的に、メッシュネットワークは、インフラストラクチャノード(すなわち、ブリッジ、スイッチ、及び他のインフラストラクチャ装置)が、可能な限り多くの他のノードに直接、動的、且つ非階層的に接続し、互いに協力して、ソース(送信元)との間でデータを効率的にルーティングするローカルネットワークトポロジである。一般に、メッシュネットワークは、動的に自己組織化及び自己構成できるため、インストールのオーバーヘッドを削減できる。自己構成機能により、特にいくつかのノードに障害が発生した場合に、ワークロードの動的な分散が可能になる。これは、耐故障性(fault-tolerance)及びメンテナンスコストの削減に貢献する。一方、ワイヤレス無線メッシュネットワークの場合に、正しいIPアドレスが与えられれば何でも他のものに接続できると想定されるIP/インターネット上で実行するように設計されたシステムとは異なり、無線伝播の性質により物理的な範囲の制限が発生する。このため、接続を確保し、遅延を最小限に抑えるために、様々なアプローチをとる必要がある。これは、長距離接続を形成する自由度が高く、他の方法では存在しない他の制限があるためである。検出及びネットワーク保守プロトコルも、これら2つのネットワークで大きく異なる。ワイヤレス無線では、全てのノードが範囲内にいる他のノードをスキャンするだけで、ネットワーク接続の隣接ノード(neighbor)セット及びトポロジを完全に決定する。次に、ルーティングアルゴリズムの仕事は、様々な接続トポロジにもかかわらず堅牢に実行することである。また、ラジオのようネイバー(neighbor:隣接ノード)を直接スキャンするメカニズムはない。何故なら、インターネット上の全てのものが潜在的にネイバーであり、接続を確立するために最も近いネイバーを排除して比較することすら追跡し続けるには多過ぎるからである。
本開示の様々な実施形態は、上記の欠陥を克服するための地理的ルーティングメッシュネットワークのためのシステム及び方法を提供する。換言すれば、本開示は、適応型で自己維持型のメッシュオーバーレイネットワークを提案する。本開示によるメッシュネットワーク内の各ノードは、幾何学的空間によって規定される近くの限られた数のピアへの直接接続/関連付けを継続的に発見し、維持する。本開示は、ホップ距離に反比例するQoSを用いて、点源からの情報(メッセージ)の放射状伝播のモデリングを提供する。ここで、メッセージは、ネットワークを介してネイバーツーネイバーホップ(neighbor to neighbor hops)によってルーティングされる。また、メッセージのフラッディング(flooding)は、メッセージの範囲及び時間範囲(time bounds)によって制限される。本開示は、メッセージのルーティングを最適化するように設計されたネットワークトポロジを構築及び維持するための方法及びシステムも提供する。何故なら、IP/インターネット上で実行するように設計されたシステムでは、何でも他のものに接続できるからである。本開示は、直接P2P(ピアツーピア)方式での近接する隣接(neighbor:隣接ノード)リスト交換に基づく発見メカニズムも提供する。ピアツーピア(P2P)近接通信では、インフラストラクチャにとらわれない構成でアプリケーション又はサービスの情報を通信するために、1つ又は複数のピアの近接性に関連する情報を使用できる。P2P近接通信は、中央コントローラのない完全分散型システムを使用して実施できる。ピアという用語は、ユーザ、ユーザ装置、及び/又は特定のユーザに関連付けられる複数の装置を指す場合がある。P2P装置の例には、スマートフォン、タブレット、ラップトップ、ゲームコンソール、セットトップボックス、カメラ、プリンタ、センサ、ホームゲートウェイ、ロボット、医療装置等が含まれ得る。
本開示の実施形態は、メッシュネットワークの分散型アーキテクチャを提供する。分散型アーキテクチャでは、ノード同士の間の通信は機能が対称的であり、中央の調整インフラストラクチャのメンテナンスを必要としない。メッシュネットワークの分散型アーキテクチャ/インフラストラクチャフリー(infrastructure-free:インフラストラクチャにとらわれない)は、各ノードが隣接ノードに直接接続されている(つまり、ゼロホップである)ため、隣接ノード同士の間の通信遅延を最小限に抑え、効率的な隣接(ノード)検索を容易にする。分散型アーキテクチャでは、メッシュトポロジは、近接ピアへの直接接続を維持し、直接ネイバーによって共有されるメッセージ/データを考慮して、ローカルメッシュ環境の変化に動的に適応する。さらに、ノード同士の間で一定の平均接続度合いが維持されるため、アーキテクチャは無限の数のノードに拡張可能である。本開示の実施形態は、ノード同士の間の分散同期のための方法も提供する。一実施形態では、共有状態又はエンティティの同期/コンセンサスにより、ローカル領域の周りの幾何学的空間及び自然なトポロジに関して作業及び計算の分散が可能になる。
本開示の実施形態は、地理的ルーティングメッシュネットワークのためのシステム及び方法を説明する。本開示は、空間分散型コンピューティングにおける同期のためのピアツーピア(P2P)地理的ルーティングメッシュを説明する。本開示によれば、ノードは、適応型自己維持メッシュオーバーレイネットワークを形成し、このネットワークでは、各ノードは、幾何学的空間によって規定される近くの予め規定した数のピアへの直接接続を継続的に検出及び維持する。さらに、隣接ノードは、継続的に更新され、メッシュネットワークトポロジのネットワーク検出及び維持を容易にするために、ローカル近傍(neighborhood)に関する情報をブロードキャストする。
地理的ルーティングメッシュネットワークのための上記のシステム及び方法の詳細な説明は、図1~図6を参照して表される図に関して示される。
例示的な実施形態について、添付の図面を参照して説明する。図では、参照符号の左端の数字は、参照符号が最初に表示される図を示している。都合のよい場合にはいつでも、同じ又は同様の部品を参照するために、図面全体で同じ参照符号が使用される。開示する原理の例及び特徴を本明細書で説明するが、変更、適合、及び他の実施態様は、開示する実施形態の精神及び範囲から逸脱することなく、可能である。以下の詳細な説明は例示としてのみ考慮され、真の範囲及び精神は以下の特許請求の範囲によって示されることが意図される。
ここで、図面、より具体的には図1~図6を参照すると、類似の参照文字が図全体を通して一貫して対応する特徴を示す場合に、好ましい実施形態が示され、これらの実施形態は、以下の例示的なシステム及び/又は方法の文脈で説明する。
図1は、本開示のいくつかの実施形態による、ローカル環境内の他の同様のシステムと通信し得る一般的なシステムの例を示している。システム100は、プロセッサ102等の少なくとも1つのプロセッサ、メモリ104等の少なくとも1つのメモリ、及びI/Oインターフェイス106及びネットワークインターフェイス108を含むか、そうでなければこれらと通信している。図1は、システム102の例示的なコンポーネントを示しているが、他の実施態様では、システム102は、より少ないコンポーネント、追加のコンポーネント、異なるコンポーネント、又は異なる配置のコンポーネントを含んでもよい。一実施形態では、システム102は、より大きなネットワーク、例えばノード内の装置又はデータポイントであり得る。ノードは、PC、電話、又はプリンタを含むがこれらに限定されない装置であり得る。別の実施形態では、ノードは、接続ポイント、再分配ポイント、又は通信エンドポイントであり得る。
プロセッサ102等の少なくとも1つのプロセッサは、1つ又は複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態マシン、論理回路、及び/又は隣接ノードへのアクセスの管理を容易にする任意の装置として実装され得る。さらに、プロセッサ102は、マルチコア・アーキテクチャを含み得る。他の機能の中でも、プロセッサ102は、メモリ104に格納したコンピュータ可読命令又はモジュール、例えばシミュレーションモジュール、隣接ノード情報、隣接ノードからの命令等をフェッチして実行するように構成される。プロセッサ102は、とりわけ、通信に関連するオーディオ及び論理機能を実装する回路を含み得る。本開示の文脈において、表現「プロセッサ」及び「ハードウェアプロセッサ」は、交換可能に使用され得る。一実施形態では、システム100は、ラップトップコンピュータ、ノートブック、ハンドヘルド装置、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウド等の様々なコンピューティングシステムに実装することができる。プロセッサ102は、様々な異なる装置機能のうちの1つ又は複数をサポートすることができる。そのため、プロセッサ102は、本明細書に記載の1つ又は複数の機能を実行するように、及び/又は実行させるように構成及びプログラムされた1つ又は複数のプロセッサを含み得る。
一実施形態では、プロセッサ102は、ローカルメモリ(例えば、フラッシュメモリ、ハードドライブ、ランダムアクセスメモリ)に格納したコンピュータコードを実行する汎用プロセッサ、専用プロセッサ又は特定用途向け集積回路、その組合せを含み得、及び/又は他のタイプのハードウェア/ファームウェア/ソフトウェア処理プラットフォームを使用することを含み得る。さらに、プロセッサ102は、中央サーバ又はクラウドベースのシステムによってリモートで実行又は管理されるアルゴリズムのローカライズされたバージョン又は対応品として実装され得る。一例として、プロセッサ102は、ローカル環境内のピアの位置を検出し、隣接ノードによって受信される情報に基づいてノードの近接性を決定し、受信したメッセージに応答してリストの隣接ノードを再計算し、近接ノードが送受信したメッセージを伝播し、陳腐で、古い、関連性のないノード等を削除することができる。一実施形態では、この検出は、アプリケーションに固有のコンポーネント、例えば、ロボットアーム又は取得支援ロボットを備えたシミュレーションエンジンによって実行され得る。
メモリ104は、システム100の機能を実装するためにシステム100によって使用される任意の数の情報及びデータを格納することができる。メモリ104は、例えば、静的ランダムアクセスメモリ(SRAM)及び動的ランダムアクセスメモリ(DRAM)等の揮発性メモリ、及び/又は読取り専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光学ディスク、及び磁気テープ等の不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含むことができる。揮発性メモリの例には、揮発性ランダムアクセスメモリ(RAM)が含まれるが、これに限定されない。不揮発性メモリは、追加的又は代替的に、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、ハードドライブ等を含み得る。メモリ104は、システム100が様々な例示的な実施形態に従って様々な機能を実行するのを可能にするための情報、データ、アプリケーション、命令等を格納するように構成され得る。追加的又は代替的に、メモリ104は、命令を格納するように構成され得、命令がプロセッサ102によって実行されると、システム100を様々な実施形態で説明するような方法で動作させる。例示的な実施形態では、プロセッサ102は、システム102のメモリ104及び/又はデータリポジトリ(図示せず)から情報又はメッセージを検索することができる。システム100及びそのコンポーネントの1つ又は複数の機能を図2~図5に関してさらに詳細に説明する。
一実施形態では、I/Oインターフェイス106は、様々なソフトウェア及びハードウェアインターフェイス、例えばウェブインターフェイス、グラフィカルユーザインターフェイス等を含み得、LAN、ケーブル等の有線ネットワーク、及びWLAN、セルラー、衛星等の無線ネットワークを含む、多種多様なネットワーク及びプロトコルタイプ内での複数の通信を容易にすることができる。一実施形態では、I/Oインターフェイス106は、いくつかの装置を互いに又は別のサーバに接続するための1つ又は複数のポートを含むことができる。例えば、本ネットワークの1つ又は複数の装置は、無線ネットワークに関してI/Oインターフェイス106を介して接続され得る。
一実施形態では、ネットワークインターフェイス108は、システム100が装置同士の間で通信すること、例えば、ノード同士の間で通信するのを可能にするコンポーネントを含み得る。一実施形態では、ネットワークインターフェイス108は、そのオープンシステム相互接続(OSI)モデルの一部として効率的なネットワーク層を使用して通信することができる。一実施形態では、ネットワーク層によって、システム100が、無線メッシュネットワーク、例えば本開示に従って形成されたメッシュネットワークを介して互いに通信するのを可能にし得る。通信は、ノード識別子及びポート番号で構成され得、又は一意のノードIDで構成され得る。一実施形態では、ネットワークインターフェイス108は、メッセージの受渡し、接続及び切断等の標準化した機能を提供し得る。そのため、ネットワークインターフェイス108は、無線カード又は他の何らかのトランシーバ接続を含み得る。
本開示によれば、メッシュネットワークを形成する方法を開示する。メッシュネットワークは、最も近い隣接ノードの検出又は隣接ノードの近接性に基づいて構築される。隣接ノードの近接性は、隣接(neighbor:隣接ノード)基準に基づいている。ここで、隣接基準は、ノード同士の間の距離を計算することにより、各ノードが最も近い隣接ノードがどのノードであるかを知っていることに基づいている。本開示によれば、各ノードは、幾何学的空間によって規定される近くの限られた数のピアへの直接接続を継続的に発見し、維持する。本開示の実施形態は、2つ以上のピアの間の通信経路を検出及び接続するためのルーティングプロトコルを実装する。例えば、接続の形成、接続の更新、接続のドロップ、再接続等の手順の開始には、ピア同士の間の適切なルーティング経路を確保するために、ルーティング経路を更新するための1つ又は複数のピアが含まれ得る。一例では、ルーティング更新手順及び/又はルーティング変更は、例えば、リンク障害によるより良いリンクを見つけるため、1つ又は複数の不良経路を除去する及び/又はそれに応じて関連する接続をキャンセルするために、確立される新しい接続を含み得る。ルーティングプロトコルは、関連付け/接続情報を使用して構築できる。ノードによって運ばれるメッセージは、ネットワークを介して、例えばネットワークインターフェイス106を介してネイバーツーネイバーホップによってルーティングされ、ホップ距離に反比例するサービス品質(QoS)を用いて、点源からの情報の放射状伝播をモデル化する。メッシュネットワークの形成及び維持について、図2~図5に関してさらに詳細に説明する。
図2は、本開示のいくつかの実施形態による、メッシュネットワークの形成を示している。一実施形態では、メッシュネットワークは、地理的空間のローカル領域内の少なくとも1つの既知のノードで形成される。例えば、メッシュネットワークに参加する/接続を形成するノードの基準は、ローカル領域内の隣接ノード/近接ノード/最も近いノードを決定するために、少なくとも1つの別のノードを知ることである。本明細書において、ノードを知ることは、ノードの名前、すなわち装置の名前、アドレス、すなわち地理的空間におけるノードのIPアドレス及び座標のようなノードに関連する情報を参照する。また、ノードのローカル領域とは、ノードが近接ノードを決定する地理的空間内のノードの近傍(neighborhood)を指す。図2に示されるように、例示的な実施形態では、接続されていない複数のノード、すなわち、ノードn1、n2、n3・・・・・・n16が、2D空間内の地理的分布にある。最初は、ノードn1、n2、n3・・・・・・n16は互いに接続されていないが、各ノードには地理的空間内の位置座標が含まれている。第1のステップでは、ノードn1、n2、n3・・・・・・n16は第1のノードn1のみを認識している。第1のノードn1には、ノードn2、n3、・・・n16に関連する情報が含まれている。第1のタイムスタンプでは、最も近い隣接ノードがどのノードであるかを決定する反復で、n1は、隣接基準に基づいて、第1のノードに近接する第1リストのノードを決定する。このタイムスタンプでは、ノードn2、n3、・・・・・・n16によって受信された情報に応答して、ノードn1は、ノードn1に近接する第1リストのノードを決定し、前述した1つ又は複数のルーティングプロトコルを使用して接続を形成する。図2に示されるように、ルーティング経路は矢印で示され、ノードは円で示される。本開示の実施形態は、隣接基準を決定するための方法を提供する。隣接基準を決定する一実施形態では、n1は、第1のノード(n1)と、幾何学的空間内の第1のノードの近傍(例えば、n2、n3・・・n16)の1つ又は複数のノードとの間の距離を計算する。1つ又は複数のノードの計算した距離は、反転球面(inversion spherical)変換を適用することによって逆数に変換される。これにより、計算した距離は新しい逆数値に変換され、新しい逆数値に基づいて凸型ハル(convex hull)が構築される。凸型ハルでは、新しい逆数値が選択されて、第1のノードの周りの球を取り囲む最小の凸状多角形が形成され、球上にある1つ又は複数のノードが、近接ノードとして、例えば第1のノードに近接する第1リストのノードとして決定される。
図2に示されるように、ノードn1に近接するノードの第1リストには、n2、n3、n5、及びn6が含まれる。第1のノードに近接する決定したノードの第1リストは、ノードn1、n2、n3・・・・・・n16に送信される。(つまり、通信は双方向であるため、ノードn1は、n1に近接するノードの第1リストを用いてノードn1、n2、n3・・・・・・n16に応答する)。次のタイムスタンプでは、ノードn2、n3、・・・・・・n16は、n1と、n1に近接する第1リストのノードとについて認識している。応答として、ノードn2、n3、・・・・・・n16は、前述した隣接基準に基づいて、n2、n3・・・・・・n16に近接する、第2リストの1つ又は複数のノードを決定する。次のタイムスタンプでは、n2、n3・・・・・・n16に近接する第2リストの1つ又は複数のノードの決定したセットが、第1リストのノードにコンタクト(contact:連絡)したノードに送信され、それによって情報が伝播され、伝播した情報を連続した反復で使用して、完全に接続されたメッシュネットワークを形成する。一実施形態では、ノード同士の間の通信は双方向である、すなわち、ノードn1によってコンタクトされた各ノードは、各ノードの情報/隣接リストを用いてノードn1に応答する。代替の実施形態では、アプリケーション又は所定の(predetermined)基準に応じて、特定のノードのみがノードn1に応答することができる。例えば、所定の基準は、第2リストのノードからのソースノード又は元のノードのみに応答することであり得る。別の代替の実施形態では、ノードのいくつかは、アプリケーションの所定の属性に基づいて情報/メッセージを伝播せず、いくつかの情報がアプリケーションに関連しないと見なす場合がある。別の代替の実施形態では、古いノードは、時間経過等に基づいて応答しない場合がある。別の代替の実施形態では、更新の集団的拒否は、各ノードによる投票行動として、メッセージを転送するのを拒否するように直接マッピングされ得る。本実施形態によれば、隣接ノードのリストを決定するプロセスは動的且つ反復的であり、それによって完全に接続されたメッシュネットワークが形成される。近接ノードのリストを決定する連続する各反復で、隣接リストの最良の推定値が生成され、完全に接続されたノードが形成される。
図3は、本開示のいくつかの実施形態による、完全に接続されたメッシュネットワークを示している。本開示の実施形態は、伝播された情報に基づいて、n1に近接する第1リストのノードを更新することを提供する。例えば、ノードn1に近接する第1リストの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに基づいて、ノードn1は、第1のノードn1に近接する第1リストのノードを再計算する。隣接ノードのリストを再計算するプロセスは反復的である。隣接リストの再計算は、n1が隣接基準を満たす隣接ノードとの接続を形成し、隣接ノードと同期して完全に接続されたメッシュネットワーク又はメッシュネットワークトポロジを形成するまで継続される。本開示によれば、完全に形成されたメッシュネットワークは分散型アーキテクチャである。換言すると、メッシュネットワーク内の各ノードは、隣接ノードと直接接続している(ゼロホップである)。例えば、完全に接続されたメッシュネットワーク内のノード周辺の環境で何かが変化した場合に、次に、ノードは、ノード同士の間の通信が中央の調整インフラストラクチャを維持することなく機能的に対称になるように、隣接リストのノードに直接メッセージを送信する。
一実施形態では、メッシュネットワークを構築するプロセスは、構築したメッシュが維持されるように連続的且つ反復的である。こうして、メッシュネットワークの構築及び維持は、同時に継続的に行われる。各ノードが接続されると直ぐに、接続されたノードは、より良い情報伝播のために隣接ノードのリスト(リストの隣接ノード)を継続的に再計算する。例えば、ノードn1、n2、n3・・・n16のそれぞれの間の同期は、図4に関して、図5のシミュレーションエンジン及びノード同士の間のシミュレーション統合を介してさらに詳細に説明する。
図4は、本開示のいくつかの実施形態による、メッシュネットワークにおける同期メカニズムを示している。一実施形態では、完全に接続されたメッシュネットワークの各ノード、例えば図3からの各ノードは、メッセージのフィルタリング及び転送を制御する。メッセージのフィルタリング及び転送のプロセスは、メッシュネットワークトポロジの維持の一部である。説明のために、接続されたメッシュネットワークトポロジの一部を多角形で示している。別の実施形態では、メッシュネットワークは、線形、星形、ツリー、及び/又はメッシュトポロジを有するネットワークを形成することができ、ピアの各ペアは、潜在的に互いに直接及び/又は互いを介して通信することができる。図4に示されるように、ノードn1は、ノードn2、n3、及びn4と直接通信している。ノードn2、n3、及びn4はノードn1によってコンタクトされ、第1のノードに近接するノードの第1リストを受信する。次のタイムスタンプでは、ノードn2、n3、及びn4のそれぞれが、第1のノードに近接する第1リストの1つ又は複数のノードに近接するノードの第2リストを用いて、ノードn1に応答する。接続された2つ以上のノードのそれぞれは、ブルートゥース(登録商標)、WiFi、近距離無線通信(NFC)、及び/又は他の近接ベースの通信方法の1つ又は複数等の様々な通信プロトコルを使用して(リレー又は中間ネットワークを使用せずに)直接通信することができる。例えば、通信は、ローカル環境内のオブジェクト(object)の位置を含み得る。この例では、隣接ノードn2、n3、及びn4には、オブジェクトの位置に対応する情報が含まれ得る。このP2P通信では、オブジェクトの位置に関連する情報がn1、n2、n3、及びn5の(直接隣接)間で交換される。オブジェクトの位置に関連する情報は異なる場合がある。例えば、ノードn1、n2、n3、及びn5のオブジェクトの位置に対応する情報に関連する値は異なる場合があり、各ノードが異なる推定値を有する場合がある。ノードの位置に関連する異なる値は、通信インターフェイスを介して、例えば文字列、値、又はテキストの形式で、隣接ノードによって共有される。情報を受信した後に、ノードn1、n2、n3、及びn5は、値に関する平均化プロセスを実行して、隣接ノードと同期して最適な推定値に達する。本開示によれば、平均化プロセスは、タイムスタンプ毎に(値を推定する全てのサイクル)、各ノードが最良の推定値/収束値に近づく分散平均化である。分散平均化では、ピア同士の間の情報伝播は継続的であり、各ノードの最良の推定値が常にブロードキャストされ、隣接ノードに再ブロードキャストされる。
例示的なアプリケーションでは、ロボットは、オブジェクトの位置について、倉庫の同じフロアにある接続された隣接するロボットとの間で情報をやり取りすることができる。ロボット及び隣接ロボットのそれぞれは、ロボットの装置メモリ又はロボットによってアクセスされるデータベースに格納したオブジェクトの位置の推定値を有することができる。これらのロボットが仮想的に接続され、情報が互いに共有される(shared back and forth)と、値が収束するまで、情報は全てのタイムスタンプで平均化される。これにより、各ロボットは、オブジェクトの位置に対応する情報に同期する。別の例では、更新した1つ又は複数のノードのそれぞれに関連する値は、ノードに対応する情報であり得、例えば、情報は、タイムクロック(time clock:時間)、オブジェクトの位置、座標の位置等に対応し得る。
一実施形態では、実際の値の収束は地理的に生じる。換言すると、近接しているノードは最初に互いに合意し(agree with)、次に遠いノードと合意し、微視的アプローチから巨視的アプローチに移行する。例えば、図4のノードn1は、最初にノードn2及びn5が共有する値を考慮し、次に、接続が形成されるときに及び形成されるにつれ、n4、n6、又はn7が共有する値を考慮する。分散平均化メカニズムは、更新メッセージの発信元に最も近いネイバーからのものでない限り、全ての更新を無視するようにフィルタリング技術を適応させる。このメカニズムは、中央の権限がない場合に、近接権限に従う。一実施形態では、競合する更新が複数の隣接ノードから同時に受信される場合に、ローカルノードは、ユーザプリケーション又はサービスに基づいて決定及び調停する。例えば、所定の属性は、アプリケーション又はサービスに基づいて適合され得る。この場合に、結果として得られた平均化は、メッセージが所定の属性に関連してフィルタリングされる所定の属性に基づく。フィルタリングしたメッセージは残りのネイバーに転送され、伝播及び反復的な改良プロセスが続行される。本開示の実施形態は、隣接ノードの近接性に基づいて値を選択することも提供し得る。隣接ノードのうちの1つ又は複数のノードのそれぞれが競合する値に関連付けられる場合に、ノードの近接性又はノードのローカル環境と同期する値を選択できる。例えば、ノードは、ノードの近接性及び/又はアプリケーション又はサービスへの値の関連性を考慮して、一方の値を他方の値よりも優先して選択することができる。値、例えば最も近い隣接ノードに関連する値が選択されると、情報は、他の隣接ノードにさらに伝播される。
一実施形態では、メッシュネットワーク内のノードのそれぞれは、2D(すなわち、円)又は3D(すなわち、球)のいずれかで環境をシミュレートする。2Dの例では、遠く離れたノードは互いに影響を与えないため、分離したシミュレーションモデルの状態になり得る。ただし、これら2つのノードが接近すると、各ノードは互いに直接コンタクトし、メッセージを送受信してシミュレーションモデルを同期及び統合する。例えば、シミュレーションモデルは、より大きなアプリケーション又はサービスに組み込まれ得る。シミュレーション統合について、図5を参照してさらに詳細に説明する。
図5は、本開示のいくつかの実施形態による、アプリケーションを実行するためのシミュレーションエンジンを示している。シミュレーションエンジン500は、例えば、完全に接続されたメッシュネットワークトポロジにおけるシミュレーションモデルの実装を容易にするコンポーネント、特徴、及びサポート機能のコレクションである。一実施形態では、図5に示されるように、シミュレーションエンジン500は、コンポーネント、すなわち、転送インターフェイス502、ピアトラッカー(tracker)504、時間同期506、及びエコスフィア(ecosphere)508を含む。シミュレーションエンジン500の実施形態は、他のコンポーネント(図5には示されない)も含み得る。転送インターフェイス502は、ピア同士の間のメッセージ配信サービスである。例えば、直接コンタクトしている図3のノードn1からノードn2への転送である。メッセージには、メッシュオーバーレイネットワークの下位レベルのノードから上位レベルのノードへの名前及びアドレスが含まれ得る。メッセージは、データとノードのアドレスとの組合せであり得る。一実施形態では、メッセージは、バイナリブロブ、文字列、又はエンティティの形式であり得、イベントは、ソースノードとの間でテキストに変換され得る。転送インターフェイス502は、メッシュオーバーレイネットワークトポロジの抽象化層の一部であり得る。ピアトラッカー504は、メッシュネットワーク内の近接性に基づいて互いに接続しているピアのための追跡メカニズムである。一実施形態では、ピアトラッカー504は、メッシュネットワークの形成だけでなく、メッシュネットワークの継続的な維持を容易にする。例えば、ピアトラッカー504は、アプリケーション又はサービスに基づいて所定の基準を満たすメッシュネットワーク内のピアを接続し、所定のアプリケーション又はサービスに基づいて低レベルから構築されたメッシュネットワークを維持する。
一実施形態では、ピアトラッカー504の機能には、ピア選択テストが含まれる。ピア選択テストは、近接性に基づいてピア同士の間の接続を決定するために実行される。メッシュネットワークの形成プロセスでは、反復プロセスが続くと、タイムスタンプ毎に近接リストが再計算され、遠くのノードが切断される。例えば、メッシュトポロジの多角形の方向(orientation)では、5つのノード、つまりノードn1、n2、n3、及びn4(図4に示される)のそれぞれの形成は、名前、ネットワークアドレス、及び地理的空間内のノードn1、n2、n3、及びn4のそれぞれの座標を知ることに基づいている。n1、n2、n3、及びn4の間の情報/メッセージ交換に基づいて、次回のタイムスタンプで、ノードは1つ又は複数のピアに接続される。ピア選択テストには、各タイムスタンプでノード同士の間で交換された情報/メッセージに基づいてピアの追加を追跡することが含まれる。例示的な実施形態では、ピアは、座標、シーケンス番号、メッセージ、IPアドレス等を含む情報に基づいて、1つ又は複数のノードn1、n2、n3、及びn4に追加/接続され得る。一実施形態では、ピアが常に別の特定のピアに接続されるように維持されているピアにラッチされることを目的とした場合に、そのような接続はピア選択テストをスキップし、アプリケーションの全ての時間中接続されたままになる。ピア選択テストは、ピアが動的且つ継続的に検出されるように、タイムスタンプ毎に更新される。例えば、2つのピア(選択されたピア、及び受信側のピア)がある場合に、選択されたピアは、ピアが接続を維持したい相手、つまりノードが選択した相手であり、受信側のピアは、ノードがメッセージを送信した相手、ノードが選択した相手、ノードにより選択された相手である。各ノードはメッセージを送信し、隣接リストにデータを入力して(populate)、通信を双方向に保つ。別の例では、ピアが情報伝播から脱落し、メッシュネットワークからの切断/消失につながる可能性がある。
一実施形態では、シミュレーションエンジン500は、時間同期506を含む。一般に、時間同期は、メッシュネットワークトポロジの管理、保護、計画、及びデバッグを容易にする。例えば、時間同期506は、特定のイベントがいつ発生する可能性があるかを決定する。また、特定のイベントでは、時間はネットワーク上の全ての装置の間の参照フレームであり得る。参照フレームとしての時間により、全ての装置の間で時間を同期させることができる。より具体的には、本実施形態では、時間同期506は、完全に接続されたメッシュネットワーク内の各ノードの時間の同期を容易にする。さらに、本開示の分散型アーキテクチャによれば、全てのノードは、分散同期メカニズムの前に時間同期される。
一実施形態では、シミュレーションエンジン500は、エコスフィア508を含む。例えば、抽象化層状アーキテクチャでは、エコスフィア508は、より高いレベルの層であり得る。完全に接続されたメッシュネットワークでは、エコスフィア508は規定した領域の周囲で発生するイベントを追跡する。例えば、3D環境では、エコスフィア508は球の周りのローカル領域を追跡して、隣接ノードのセットを継続的に検出する。隣接ノードのセットは、既知のピアの反転球面変換された座標の前述した凸型ハル上にあるピアを含み得る。より具体的には、本実施形態による分散平均化メカニズムにおいて、エコスフィア508は、完全に到達可能なグラフへの値の収束を容易にし、複数のピアの間の一定の平均接続度合いを維持する。
一実施形態では、図5に記載のシミュレーションモデルは、シミュレーション統合、例えば、2つ以上のロボットを操作する等の2つ以上の装置の間のシミュレーション統合を含む様々なアプリケーションでロボットに実装され得る。例えば、シミュレーションモデルが異なる2つ以上のロボットが、1つ又は複数のアプリケーションに対して同期する場合がある。最初に、各シミュレーションモデルはそれぞれのロボットを中心にすることができる。例えば、2台のロボットのエコスフィアが重なると、2台のロボットは、互いのシミュレーション(ピア)と同期する。2台のロボットはメッセージを送信することで互いに通信する。メッセージは、アプリケーションに応じて数値の形式である場合があり、数値(番号)は、メッセージに応答しながら、解析及び分析され、数値形式に変換されて戻される場合がある。一実施形態では、UDP(ユーザデータグラムプロトコル)は、2つのロボットの間でメッセージを交換するための通信プロトコルとして使用され得る。接続されたロボット(ここでは、ロボットは、本開示で説明している近隣基準を介して接続されたピアである)は、メッセージを監視及びフィルタリングして、最良の推定値に達することができる。例えば、隣接ノードからの複数の測定値は、隣接(neighbor)入力と見なされ得、ロボットは、それ自体の測定入力も有し得る。この例では、測定値は2台のロボットの近くにあるオブジェクトの距離に関連し得る。一実施形態では、ロボットの1つ又は複数のセンサは、オブジェクトの距離の測定値を取得することができ、又はロボットは、隣接入力から測定値を取得することができる。本願で説明する分散同期は、測定の最良の推定値に達するために適用される。一実施形態では、ロボットは、アプリケーションに応じて、それ自体の入力を最良の入力と見なすことができ、隣接入力をフィルタリングし、フィルタリングしたメッセージを最良の推定値として伝播することができる。別の実施形態では、ロボットは、最新の更新メッセージを最良の推定値と見なし、最新の更新メッセージを伝播することができる。例えば、最新のタイムスタンプで入力メッセージを更新したピアは、最新の更新メッセージと見なされ、これは最良の推定値として伝播される場合がある。別の実施形態では、ロボットの入力メッセージ及び1つ又は複数の隣接ロボットの入力メッセージは、説明したように分散平均化方法に基づいて平均化され得、平均値に基づいて、最良の推定値が伝播される。別の実施形態では、ロボットは、実際のエンティティに最も近いピアの位置(ここでは、オブジェクトまでの距離の測定値)を考慮し、実際のエンティティに対するピアの位置に基づいて、測定の最良の推定値を考慮し、情報を伝播する。別の実施形態では、本開示によれば、近接権限に基づいて、ロボットは、最初に、最も近いピアからの入力を考慮し、次により遠いピアからの入力を考慮し得る。情報の伝播は、最良の推定値をブロードキャスト及び再ブロードキャストすることにより、1ホップで放射状に広がる。
本開示の実施形態は、指示されたメッセージの単なる複数回の伝播よりも、ピアにローカルなイベントに関してブロードキャスト、同期、及びコンセンサスに到達し、情報を伝播する方法を提供する。本開示の実施形態は、メッセージの範囲及び時間範囲によってメッセージングのブロードキャスト中のメッセージのフラッディング(flooding)を制御する方法を提供する。一実施形態では、ピアは、互いに対応する情報及びピアのそれぞれの隣接(neighbor)セットを交換し、ピアのそれぞれの隣接セットに対応する情報に基づいて隣接セットを再計算し、新しく計算した隣接セットに接続し、前述のプロセスステップを繰り返す。一実施形態では、ノードが、中継されるメッセージの内容に同意しない場合に、そのノードは、転送する前に実際のイベントに同意してメッセージの内容を転送又は変更するのを拒否し、それによってグローバル決定(すなわち、メッシュトポロジ全体に影響を与える決定)に寄与することができる。
本開示の実施形態は、分散型で、スケールに依存しないメッシュネットワークを提供する。例えば、メッシュネットワークは、メッシュトポロジの距離又は密度に依存しない場合がある。一実施形態では、ノード同士の間の接続は、実際の値よりもランク付けされた距離に基づいており、それにより、ネットワークのサイズ又は密度に関係なく、ノード同士の間の一定の平均接続度合いを維持する。さらに、メッシュネットワーク内の各ノードはローカル領域を中心に同期される。例えば、ノード同士の間の距離の測定(ノードは互いに1メートル又は1キロメートル離れている場合がある)は、メッシュネットワークトポロジの構成に影響を与えない場合がある。さらに、このメッシュネットワークは堅牢である。例えば、メッシュネットワークの密度を変更すると、構成は変更されるが、同様の方法でノードの接続が維持される。例えば、完全に接続されたネットワークの途中に20個のノードが追加され、平均して各ノードに4つの接続がある場合に、メッシュトポロジの構成は変更される可能性があるが、新しく追加されたノードは互いに接続し、ネットワークが収束すると、平均4つの接続を維持する。ただし、4つの接続が近接している場合がある。前述のメッシュネットワークトポロジの形成は、メッシュネットワークが構築され、2つのノードの間の通信がどの程度迅速に伝播されるかに関する近接基準に基づいて維持されるため、自己適応型である。例えば、ノードを追加又は削除しても、ネットワークトポロジを最も近い隣接ノードに素早く適応させることができる。
代替の実施形態では、ノードは、ジグザグ構成を形成する次のノードにのみ接続され得る。例えば、図3では、ノードn1は、ノードn2に、ノードn2からn3に、ノードn4からノードn5に、及びノードn5からn6にというように接続される。
図6は、本開示のいくつかの実施形態による、地理的ルーティングメッシュネットワークのための方法600のフロー図を示している。方法600は、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、コンピュータ実行可能命令には、特定の機能を実行する、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数等を含めることができる。方法600は、通信ネットワークを介してリンクされた遠隔処理装置によって機能が実行される分散型コンピューティング環境でも実施され得る。方法600が説明する順序は、制限として解釈されることを意図しておらず、説明する方法の任意の数のブロックを任意の順序で組み合わせて、方法600又は代替方法を実施することができる。さらに、方法600は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はこれらの組合せで実装することができる。一実施形態では、フローチャートに示される方法600は、システム、例えば図1のシステム100によって実行され得る。図6の方法600について、以下で、図1~図5を参照して、より詳細に説明する。
図6を参照すると、図示の実施形態では、方法600は602で開始され、この方法は、第1のノードが、メッシュネットワーク内の第1のノードに近接する第1リストのノードを決定するステップを含む。例えば、図3に示されるように、ノードn1は、地理的空間内の各ノードによって認識される第1のノードである。一実施形態では、メッシュネットワークは、隣接基準に基づいて、各タイムスタンプにおいて最も近いノード/隣接ノード/近接ノードを繰り返し計算することによって形成される。ノードn1は、隣接基準に基づいて、ノードn1に近接する第1リストのノードを決定する。第1のノードn1に近接する第1リストのノードは、(図2に示されるように)ノードn2、n3、n5、及びn6である。このタイムスタンプでは、ノードn1は、第1リストの近接ノードn2、n3、n5、及びn6を最も近いノードとして決定する。ノードn1、n2、n3、n5、及びn6のそれぞれは、ノードn1によってコンタクトされるか、又はn1と直接通信する。隣接基準を決定する一実施形態では、第1のノードは、第1のノードと、幾何学的空間内の第1のノードの近傍(neighborhood)にある1つ又は複数のノードとの間の距離を計算する。1つ又は複数のノードのそれぞれについて計算した距離は、反転球面変換を適用することによって逆数に変換される。これにより、計算した距離は新しい逆数値に変換され、新しい逆数値に基づいて凸型ハルが構築される。凸型ハルでは、新しい逆数値が選択されて、第1のノードの周りの球を取り囲む最小の凸状多角形が形成され、球上にある1つ又は複数のノードが、近接ノード、例えば第1のノードに近接する第1リストのノードとして決定される。
604において、この方法は、第1のノードが、第1リストのノードに関する各ノードに、第1のノードに近接するノードの第1リストを送信するステップを含む。このタイムスタンプでは、第1のノードn1に近接する第1リストのノードn1、n2、n5及びn6が決定され、(図2に示されるように)n1によってコンタクトされる。ノードn1は、ノードの第1リストを用いて、他の残りのノード、つまりノードn3、n4、n7・・・n16にもコンタクトする。これは、これらの各ノードが最初にノードn1にコンタクトしたためである。このタイムスタンプでは、ノードn1、n2、n3、n4・・・n16のそれぞれに、第1のノードn1に近接する第1リストのノードに関連する情報が含まれている。ノードn1に加えて、ノードn2、n3、、n4・・・n14には、第1リストの近接ノードn1、n2、n5、及びn6に対応する認識がある。例示的な実施形態では、次のタイムスタンプにおいて、ノードn4、n7、n8・・・n16は、ノードn3、n4、n7・・・n16に近接するリストの隣接ノードを決定し、この隣接ノードにコンタクトする。次のタイムスタンプでは、ノードn2、n5、及びn6が、ノードn2、n3、n5、及びn6の近接するリストの隣接ノードを決定し、この隣接ノードにコンタクトする。
606において、この方法は、第1のノードが、ノードの第1リストを送信することに応答して、第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信するステップを含む。第2リストの1つ又は複数のノードのそれぞれは、第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接している。ノードn3、n2、n5、及びn6は、ノードn1に近接する隣接ノードのリストを受信する。次のタイムスタンプでは、n3、n2、n5、及びn6からの1つ又は複数のノードが、第1リストのノードのうちの1つ又は複数のノードに近接する、つまりn2、n3、n5、及びn6からの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードを決定する。一実施形態では、第1リストのノードのそれぞれは、第2リストのノードを決定及びそれを生成することができ、すなわち、ノードn1、n2、n5、及びn6のそれぞれは、第2リストのノードを決定及びそれを生成し、以前のタイムスタンプで接続した全てのノードにコンタクトすることができる。別の実施形態では、第1リストのノードの1つ又は複数は、第2リストのノードを決定及びそれを生成することができ、すなわち、n2及びn3のみが、第2リストのノードを決定及びそれを生成し、以前のタイムスタンプで接続した全てのノードにコンタクトすることができる。各ノードによって生成された近接性マトリックスに基づいて、所定のアプリケーションに応じて、第2リストの1つ又は複数のノードが生成され得る。例えば、ノード(図3に示される)は本質的に動的であるため、特定のアプリケーション又はサービスに応じて、ノードが追加されたり、又はノードが消えたりする場合がある。さらに、所定のアプリケーションに基づいて、メッシュトポロジは、特定のアプリケーションに適応し、メッシュネットワークトポロジ内のノードの追加及び削除の解約率を決定することができる。
608において、この方法は、第1のノードが、第1リストのノードのうちの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、第1リストのノードのうちの1つ又は複数のノードを更新するステップを含む。第1リストのノードのうちの1つ又は複数のノードは、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、第1のノードと第1のノードに近接する第1リストのノードとの間の距離を再計算することによって更新される。本開示の実施形態は、最も近い隣接ノードを決定し、最も近い隣接ノードのリストを含む認識を用いて、決定した最も近い隣接ノードにコンタクトすることの連続的な反復によってメッシュネットワークを形成する方法を提供する。以前のタイムスタンプでは、ノードn1は、第1リストのノードのうちの1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信する。連続するタイムスタンプにおいて、第2リストの1つ又は複数のノードに関する認識を有するノードn1は、n1に近接する第1リストの決定したノードを再計算する。連続するタイムスタンプでは、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードが更新される。第1リストのノードは、第1リストのノードのうちの1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、第1のノードと第1のノードに近接する第1リストのノードとの間の距離を再計算する。従って、本開示の実施形態は、完全に接続されたメッシュネットワークを形成するために、リストの隣接ノードを計算及び再計算する動的且つ連続的なプロセスを提供する。完全に接続されたメッシュネットワークは、各ノードが分散権限(distributed authority)による隣接リストの最良の推定値を達成するまで、ノード同士の間の接続を動的に変更する隣接リストに関連する情報の継続的な伝播によってさらに維持される。
一実施形態では、本開示は、メッシュネットワークを維持するための分散権限を提供する。分散権限では、メッシュネットワーク内の接続されたノード(例えば、図3の接続されたノード)は、メッセージフィルタリング(隣接ノードからのメッセージのフィルタリング)及び転送(フィルタリングしたメッセージのブロードキャスト)を制御する。分散権限(分散同期(distributed synchronization)としても知られる)のプロセスは、メッシュネットワークにおいて、図3の第1リストのノードのうちの更新した1つ又は複数のノードのそれぞれに関連する値を決定することを含む。更新した1つ又は複数のノードのそれぞれに関連する値は、ノードに対応する情報、例えばタイムクロック、オブジェクトの位置、座標の位置、ノード同士の間の距離等であり得る。一実施形態では、第1リストのノードのうちの更新した1つ又は複数のノードのそれぞれが、そのノードのタイムクロックに対応する値を含む。完全に接続されたメッシュネットワークの全ての反復サイクルにおいて、更新した1つ又は複数のノードのそれぞれが、隣接ノード又はピアを参照してタイムクロックに対応する値を平均化する。タイムクロックの最良の推定値が達成されるまで、つまり、ピアによって合意された単一の値に達するまで、反復サイクルが繰り返される。全ての反復サイクルの後に、各ノードは平均値を隣接ノードにブロードキャスト及び再ブロードキャストし、それによって値の収束に達する。分散同期のプロセスは、微視的から進行する。つまり、最も近い隣接ノードらの値を最初に巨視的に考慮し、最も遠い隣接ノードからの値を考慮して、最良の単一の推定値又はノードによって合意された値に達する。決定した単一の値は、メッシュネットワーク全体にブロードキャスト及び適用される。一実施形態では、アプリケーションに応じて、1つのノードのみが値を計算してブロードキャストするか、又は全てのローカル隣接ノードが値を計算して最良の推定値に投票するかのいずれかである。
一実施形態では、本開示は、第1リストのノードのうちの1つ又は複数のノードのそれぞれが競合する値に関連付けられる場合に、第1リストのノードのうちの更新した1つ又は複数のノードのそれぞれの近接性に基づいて値を選択することも提供する。例えば、競合する更新が複数の隣接ノードから同時に受信された場合に、ローカルノードは、ユーザがカスタマイズ可能な論理/アプリケーションに基づいて決定及び調停し、結果として得られた最良の推定値が残りの隣接ノードに転送されて、伝播及び反復的な改良プロセスが続行される。換言すると、反復的な改良プロセスでは、更新メッセージの発信元に最も近い隣接ノードからの更新でない限り、更新は無視(フィルタリング)される。この分散権限の実施形態は、中央の権限がない場合に、近接権限に従う。
一実施形態では、ノードは、メッシュネットワーク内の第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接するノードのリストから削除されるか、又は消去され得る。削除したノードに基づいて、第1リストのノードの1つ又は複数のノードのうちの1つのノードに近接する新しいリストのノードが更新される。例えば、ノードが長期間応答しない場合に、そのようなノードは隣接ノードのリストから削除され得る。別の例では、ノードが長期間更新されない場合があり、そのような古いノードがメッシュネットワークから消える場合がある。別の例では、ノードに関連する情報が隣接ノードに関連していない可能性があるため、ノードは、もはや関連性のないノードとの通信/接続を継続しなくなる。情報/メッセージの関連性及び非関連性は、アプリケーション又はサービスに基づき得る。
図1~図6の様々な実施形態において、地理的ルーティングメッシュネットワークのための方法及びシステムが開示される。本開示は、幾何学的空間に埋め込まれたノード同士の間の低遅延、インフラストラクチャフリー、及び大規模にスケーラブルな通信及び同期の必要性に関連する分野における技術的問題を解決する。このアーキテクチャの実施形態は、メッシュトポロジが最も近い近接ピアへの直接接続を維持するので、隣接する近接のピア同士の間の最小の通信遅延を提供する。最も近い近接ピアへの直接接続は、多くの物理的な状況で役立ち、システムが近くのイベントに直ぐに応答する必要があるのに対し、リモートイベントは待機できる。さらに、全てのノードがローカル領域の周りで同期しているため、ネットワークのサイズ及び密度に関係なくノード同士の間に一定の平均接続度合いがあるため、このアーキテクチャは無限の数のノードに拡張可能である。さらに、ピアツーピア通信は機能が対称的であり、中央の調整インフラストラクチャを含まない。本アーキテクチャの実施形態は、インフラストラクチャにとらわれない/分散型アーキテクチャにより、高度の障害冗長性を提供し、メッシュネットワークは、他の方法で切断されたノードのグループの間に単一の接続が残っている限り、無傷のままであり、自己回復する。さらに、分散型アーキテクチャは、全てのノードが隣接ノードに直接接続され、隣接ノード検索に頻繁に依存する大規模なプロセス及び計算を高速化するため、効率的な隣接ノード検索を容易にする。例えば、大型粒子群シミュレーション又は最適化では、対数線形ランタイムによって達成され得るアルゴリズムとは異なり、各粒子の動きが空間領域を区画化せずに主に隣接する粒子によって影響を受ける場合に、最良のデータ構造が提供される。
上記の利点に加えて、本開示の分散権限/同期は、幾何学的空間にわたる作業及び計算の分散を可能にする。実世界のアプリケーションでは、大規模な中央コンピューティングのボトルネックの遅延を回避しながら、無限に大きな仮想世界のシミュレーションを並列化するために有用である。
前述の図は、いくつかの実施形態によるプロセスを記述するための論理アーキテクチャを表し、実際の実施態様は、他の方法で配置された1つ又は複数のコンポーネントを含み得る。他のトポロジは、他の実施形態と組み合わせて使用することができる。さらに、本明細書で説明する各コンポーネント又は装置は、任意の数の他のパブリック及び/又はプライベートネットワークを介して通信する任意の数の装置によって実装され得る。そのようなコンピューティング装置のうちの2つ以上は、互いに遠隔に配置され得、任意の既知の方法のプロトコル及び/又は専用接続を介して互いに通信し得る。各コンポーネント又は装置は、本明細書に記載の機能及び他の機能を提供するのに適した任意の数のハードウェア及び/又はソフトウェア要素を含み得る。例えば、いくつかの実施形態によるシステムの実装において使用される任意のコンピューティング装置は、コンピューティング装置が本明細書で説明したように動作するようにプログラムコードを実行するためのプロセッサを含み得る。
本明細書で議論する全てのシステム及びプロセスは、フロッピーディスク、CD-ROM、DVD-ROM、フラッシュドライブ、磁気テープ、及びソリッドステートランダムアクセスメモリ(RAM)又は読取専用メモリ(ROM)ストレージユニット等の非一時的なコンピュータ可読媒体のうちの1つ又は複数から読み取られるプログラムコードで具体化され、次に、圧縮、非コンパイル、及び/又は暗号化した形式で保存され得る。いくつかの実施形態では、ハードワイヤード回路は、いくつかの実施形態によるプロセスの実施のためのプログラムコードの代わりに、又はそれと組み合わせて使用され得る。従って、実施形態は、ハードウェア及びソフトウェアの特定の組合せに限定されない。
実施態様において、本明細書で説明した方法のうちの1つ又は複数は、非一時的なコンピュータ可読媒体に具体化され、1つ又は複数のコンピューティング装置によって実行可能である命令として少なくとも部分的に実装され得る。一般に、プロセッサ(例えば、マイクロプロセッサ)は、非一時的なコンピュータ可読媒体、例えばメモリから命令を受け取り、それらの命令を実行し、それによって、本明細書で説明した方法の1つ又は複数の方法を含む1つ又は複数の方法を実行する。そのような命令は、様々な既知のコンピュータ可読媒体のいずれかを使用して保存及び/又は送信され得る。
本明細書の実施形態は、ハードウェア及びソフトウェア要素を含み得る。ソフトウェアで実装される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されない。本明細書で説明した様々なモジュールによって実行される機能は、他のモジュール又は他のモジュールの組合せで実装され得る。この説明の目的のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、機器、又は装置によって、又はそれらに関連して使用するためのプログラムを含み、記憶し、通信し、伝播し、又は転送することができる任意の機器であり得る。
図示したステップは、示される例示的な実施形態を説明するために設定されており、進行中の技術開発は、特定の機能が実行される方法を変更することを予想すべきである。これらの例は、限定ではなく、説明の目的で本明細書に提示される。さらに、機能的構成ブロックの境界は、説明の便宜のために本明細書で任意に規定されている。指定した機能及びその関係が適切に実行される限り、代替境界を規定できる。代替案(本明細書で説明したものの同等物、拡張、変形、逸脱等を含む)は、本明細書に含まれる教示に基づいて、関連技術分野の当業者に明らかであろう。そのような代替案は、開示した実施形態の範囲及び精神の範囲内にある。また、「備える、有する、含む(comprising)」、「有する、含む(having)」、「含む(containing)」、「含む、有する(including)」という単語、及び他の同様の形式は、意味が同等であり、これらの単語のいずれかに続く1つ又は複数の項目が、そのような1つ又は複数の項目の網羅的なリストであることを意味せず、リストされた1つ又は複数のアイテムのみに限定されることを意味するという点でオープンエンドであることが意図される。本明細書及び添付の特許請求の範囲(明細書に含まれる場合に)で使用される場合に、文脈が明確に別段の指示をしない限り、単数形「1つの(a, an)」、及び「その(the)」は複数形の参照を含むことにも留意されたい。
本開示及び例は例示としてのみ考慮されることが意図されており、当業者は、他の実施形態が上記のものに修正及び変更を加えて実施され得ることを認識するであろう。

Claims (13)

  1. プロセッサで実施される方法であって、当該方法は、
    第1のノードが、メッシュネットワーク内の前記第1のノードに近接する第1リストのノードを決定するステップであって、前記第1のノードに近接する前記第1リストのノードを決定するステップには、前記第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算するステップが含まれる、決定するステップと、
    前記第1のノードが、前記第1リストのノードに関する各ノードに、前記第1のノードに近接するノードの前記第1リストを送信するステップと、
    前記第1のノードが、ノードの前記第1リストを送信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信するステップであって、前記第2リストの1つ又は複数のノードのそれぞれは、前記第1リストのノードの前記1つ又は複数のノードのうちの1つのノードに近接している、受信するステップと、
    前記第1のノードが、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードを更新するステップであって、前記第1リストのノードのうちの前記1つ又は複数のノードを更新するステップには、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、前記第1のノードと該第1のノードに近接する前記第1リストのノードとの間の距離を再計算するステップが含まれる、更新するステップと、を含
    前記第1のノードと前記幾何学的空間内の前記1つ又は複数のノードとの間の前記距離を計算するステップは、
    前記第1のノードと前記1つ又は複数のノードとの間の前記計算した距離のそれぞれに対して球の反転を実行するステップと、
    前記計算した距離のそれぞれに関する前記球の反転に基づいて凸型ハルを形成するステップと、
    該凸型ハル内の前記第1のノードに近接する前記第1リストのノードを決定するステップと、を含む、
    方法。
  2. 前記第1のノードが、該第1のノードに近接する前記第1リストの更新したノードに関する各ノードに、前記第1のノードに近接する前記更新したノードの第1リストを送信するステップをさらに含む、請求項1に記載の方法。
  3. 前記第1のノードに近接する前記第1リストのノードの近接性は、前記幾何学的空間内の前記第1リストのノードのそれぞれの座標によって規定される、請求項1に記載の方法。
  4. 前記メッシュネットワーク内の前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する値を決定するステップと、
    前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する前記決定した値に対応する情報を前記第1のノードに伝達するステップと、
    該伝達した情報に基づいて前記決定した値の平均を計算するステップであって、前記決定した値の前記平均は前記メッシュネットワーク全体に適用される、計算するステップと、をさらに含む、請求項1に記載の方法。
  5. 前記第1リストのノードのうちの前記1つ又は複数のノードが競合する値に関連付けられる場合に、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれの近接性に基づいて値を選択するステップと、
    前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれの近接性に基づいて、前記選択した値に対応する情報を前記第1のノードに伝達するステップと、をさらに含む、請求項に記載の方法。
  6. 前記第1リストのノードのうちの前記1つ又は複数のノードが競合する値に関連付けられる場合に、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する属性を予め決定するステップをさらに含む、請求項に記載の方法。
  7. 前記決定した値の前記平均を計算するステップは、前記第1のノードと、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれとの近接度に基づいており、前記第1のノードと、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれとの前記近接度は、前記メッシュネットワークの幾何学的空間によって規定される前記第1のノードの近さ(neighborhood)に基づく、請求項に記載の方法。
  8. 前記メッシュネットワークにおいて、新しいノードを追加するか、又はノードを削除するステップであって、前記新しいノードは、該新しいノードに近接するノードリストを受信する、追加又は削除するステップと、
    前記新しいノードに近接する前記新しいノードの受信リストに基づいて、前記新しいノードに近接するリストのノードを更新するステップと、をさらに含む、請求項1に記載の方法。
  9. システムであって、当該システムは、
    命令を格納するメモリと、
    該メモリに結合したプロセッサと、を含み、
    該プロセッサは、前記命令によって、
    第1のノードが、メッシュネットワーク内の前記第1のノードに近接する第1リストのノードを決定することであって、前記第1のノードに近接する前記第1リストのノードを決定することには、前記第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算することが含まれる、決定すること、
    前記第1のノードが、前記第1リストのノードに関する各ノードに、前記第1のノードに近接するノードの前記第1リストを送信すること、
    前記第1のノードが、ノードの前記第1リストを送信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信することであって、前記第2リストの1つ又は複数のノードのそれぞれは、前記第1リストのノードの前記1つ又は複数のノードのうちの1つのノードに近接している、受信すること、及び
    前記第1のノードが、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードを更新することであって、前記第1リストのノードのうちの前記1つ又は複数のノードを更新することには、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、前記第1のノードと該第1のノードに近接する前記第1リストのノードとの間の距離を再計算することが含まれる、更新すること、を行うように構成され、
    前記第1のノードと前記幾何学的空間内の前記1つ又は複数のノードとの間の前記距離を計算することには、
    前記第1のノードと前記1つ又は複数のノードとの間の前記計算した距離のそれぞれに対して球の反転を実行すること、
    前記計算した距離のそれぞれに関する前記球の反転に基づいて凸型ハルを形成すること、及び
    該凸型ハル内の前記第1のノードに近接する前記第1リストのノードを決定すること、が含まれる、
    システム。
  10. 前記メッシュネットワーク内の前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する値を決定すること、
    前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する前記決定した値に対応する情報を前記第1のノードに伝達すること、及び
    該伝達した情報に基づいて前記決定した値の平均を計算することであって、前記決定した値の前記平均は前記メッシュネットワーク全体に適用され、前記決定した値の前記平均を計算することは、前記第1のノードと、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれとの近接度に基づいている、計算すること、をさらに行うように構成される、請求項に記載のシステム。
  11. 前記第1リストのノードのうちの1つ又は複数のノードが競合する値に関連付けられる場合に、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれの近接度に基づいて値を選択し、前記第1リストのノードのうちの前記更新した1つ又は複数のノードのそれぞれに関連する属性を予め決定すること、及び
    前記第1リストのノードのうちの前記更新した1つ又は複数のノードへの近接性に基づく前記値に対応する情報を前記第1のノードに伝達すること、をさらに行うように構成される、請求項10に記載のシステム。
  12. 前記メッシュネットワークに新しいノードを追加するか、又はノードを削除することであって、前記新しいノードは、該新しいノードに近接するノードリストを受信する、追加又は削除すること、及び
    前記新しいノードに近接する新しいノードの受信リストに基づいて、前記新しいノードに近接するリストのノードを更新すること、をさらに行うように構成される、請求項に記載のシステム。
  13. コンピュータプログラムをその上に具体化した非一時的なコンピュータ可読媒体であって、前記プログラムが実行されると、
    第1のノードが、メッシュネットワーク内の前記第1のノードに近接する第1リストのノードを決定することであって、前記第1のノードに近接する前記第1リストのノードを決定することには、前記第1のノードと幾何学的空間内の1つ又は複数のノードとの間の距離を計算することが含まれる、決定すること、
    前記第1のノードが、前記第1リストのノードに関する各ノードに、前記第1のノードに近接するノードの前記第1リストを送信すること、
    前記第1のノードが、ノードの前記第1リストを送信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードから1つ又は複数のノードの第2リストを受信することであって、前記第2リストの1つ又は複数のノードのそれぞれは、前記第1リストのノードの前記1つ又は複数のノードのうちの1つのノードに近接している、受信すること、及び
    前記第1のノードが、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する1つ又は複数のノードの第2リストを受信することに応答して、前記第1リストのノードのうちの1つ又は複数のノードを更新することであって、前記第1リストのノードのうちの前記1つ又は複数のノードを更新することには、前記第1リストのノードのうちの前記1つ又は複数のノードに近接する第2リストの1つ又は複数のノードに関連する情報に基づいて、前記第1のノードと該第1のノードに近接する第1リストのノードとの間の距離を再計算すること、が行われ、
    前記第1のノードと前記幾何学的空間内の前記1つ又は複数のノードとの間の前記距離を計算することには、
    前記第1のノードと前記1つ又は複数のノードとの間の前記計算した距離のそれぞれに対して球の反転を実行すること、
    前記計算した距離のそれぞれに関する前記球の反転に基づいて凸型ハルを形成すること、及び
    該凸型ハル内の前記第1のノードに近接する前記第1リストのノードを決定すること、が含まれる、
    非一時的なコンピュータ可読媒体。
JP2021160236A 2021-07-19 2021-09-30 地理的ルーティングメッシュネットワーク Active JP7162824B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/379,981 2021-07-19
US17/379,981 US11582136B2 (en) 2021-07-19 2021-07-19 Geographic routing mesh network

Publications (2)

Publication Number Publication Date
JP7162824B1 true JP7162824B1 (ja) 2022-10-31
JP2023014958A JP2023014958A (ja) 2023-01-31

Family

ID=77626927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021160236A Active JP7162824B1 (ja) 2021-07-19 2021-09-30 地理的ルーティングメッシュネットワーク

Country Status (5)

Country Link
US (1) US11582136B2 (ja)
EP (1) EP4124119B1 (ja)
JP (1) JP7162824B1 (ja)
CN (1) CN115643626A (ja)
CA (1) CA3148120A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008271535A (ja) * 2007-03-28 2008-11-06 Harris Corp 二次タイミング追跡を行うtdma移動アドホックネットワーク(manet)
JP2008278148A (ja) * 2007-04-27 2008-11-13 Nec Corp 通信端末、通信経路制御方法、及びプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006453B1 (en) * 2000-03-14 2006-02-28 Lucent Technologies Inc. Location based routing for mobile ad-hoc networks
US7415278B2 (en) * 2004-10-27 2008-08-19 Azalea Networks Method and system for creating and deploying a mesh network
US7626966B1 (en) * 2005-01-06 2009-12-01 Idealab Ad hoc wireless communication system
IL176331A (en) * 2006-06-15 2011-06-30 Rafael Advanced Defense Sys Ad hoc network used for multi-connection routing
US7720037B2 (en) * 2006-08-03 2010-05-18 Aol Inc. Wireless social networking
US8270429B2 (en) * 2007-08-24 2012-09-18 Motorola Solutions, Inc. Method of communicating within a mesh network
WO2009150506A1 (en) * 2008-06-11 2009-12-17 Marvell World Trade Ltd. Dense mesh network communications
US8665841B1 (en) * 2008-08-13 2014-03-04 Marvell International Ltd. Multiple simultaneous mesh routes
US8995354B2 (en) * 2009-04-30 2015-03-31 Symbol Technologies, Inc. Method for selecting communication links in a multi-radio wireless communication system
US8976705B2 (en) * 2010-12-14 2015-03-10 Cisco Technology, Inc. System and method for providing configuration data in a mesh network
US9019846B2 (en) * 2011-06-20 2015-04-28 Cisco Technology, Inc. Reducing the impact of hidden nodes in mesh networks
US9723538B2 (en) * 2011-06-20 2017-08-01 Cisco Technology, Inc. Systematic neighbor detection in shared media computer networks
US9014190B2 (en) * 2011-11-11 2015-04-21 Itron, Inc. Routing communications based on node availability
ES2541527T3 (es) * 2012-08-06 2015-07-21 Itron, Inc. Modulación múltiple multimedia y red mallada con múltiples tasas de datos
US9392525B2 (en) * 2014-05-16 2016-07-12 Qualcomm Incorporated Establishing reliable routes without expensive mesh peering
US10038608B2 (en) * 2014-07-21 2018-07-31 Cisco Technology, Inc. Leapfrog communications in a TSCH network
US10219142B2 (en) * 2017-05-15 2019-02-26 Amazon Technologies, Inc. Neighbor discovery and neighbor selection of mesh network devices in a mesh network
US10499320B2 (en) * 2017-08-14 2019-12-03 Sony Corporation Mesh assisted node discovery
US10588069B1 (en) * 2017-11-02 2020-03-10 Amazon Technologies, Inc. Route discovery in wireless mesh networks
US10440631B1 (en) * 2017-11-06 2019-10-08 Amazon Technologies, Inc. Payload type aware routing in wireless mesh networks
US10484925B1 (en) * 2018-02-01 2019-11-19 Amazon Technologies, Inc. Channel diversity-aware routing in wireless mesh networks
BR112021003905A8 (pt) * 2018-09-06 2023-04-25 Ahsan Naim Muhammad Sistemas e métodos para construir redes em malha sem fio
WO2020185707A1 (en) * 2019-03-08 2020-09-17 goTenna Inc. Method for utilization-based traffic throttling in a wireless mesh network
US10979885B1 (en) * 2019-05-24 2021-04-13 Amazon Technologies, Inc. Neighbor discovery and channel coordination of dynamic frequency selection (DFS) mesh networks
US11070467B1 (en) * 2019-05-24 2021-07-20 Amazon Technologies, Inc. Expedited route recovery and load balancing in a multi-radio mesh network
US11451475B2 (en) * 2019-12-19 2022-09-20 Huawei Technologies Co., Ltd. Packet forwarding based on geometric location
US11374852B2 (en) * 2020-05-29 2022-06-28 Huawei Technologies Co., Ltd. Piecewise shortest path first routing
US11438823B2 (en) * 2020-05-29 2022-09-06 Huawei Technologies Co., Ltd. Orthodromic routing
US11374652B1 (en) * 2020-12-10 2022-06-28 Huawei Technologies Co., Ltd. Method and apparatus for limited flooding and network routing region membership management
US11476925B2 (en) * 2021-02-04 2022-10-18 Huawei Technologies Co., Ltd. Method and apparatus for limited flooding in networks using transit nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008271535A (ja) * 2007-03-28 2008-11-06 Harris Corp 二次タイミング追跡を行うtdma移動アドホックネットワーク(manet)
JP2008278148A (ja) * 2007-04-27 2008-11-13 Nec Corp 通信端末、通信経路制御方法、及びプログラム

Also Published As

Publication number Publication date
CA3148120A1 (en) 2023-01-19
CN115643626A (zh) 2023-01-24
JP2023014958A (ja) 2023-01-31
EP4124119B1 (en) 2024-05-15
US20230013258A1 (en) 2023-01-19
US11582136B2 (en) 2023-02-14
EP4124119A1 (en) 2023-01-25

Similar Documents

Publication Publication Date Title
Shen et al. CLTC: a cluster-based topology control for ad hoc networks
CN112104558B (zh) 区块链分发网络的实现方法、系统、终端及介质
JP5194233B2 (ja) 経路制御方法およびノード装置
Awad et al. Exploiting virtual coordinates for improved routing performance in sensor networks
Lam et al. Geographic routing in $ d $-dimensional spaces with guaranteed delivery and low stretch
Lin et al. A framework for wireless ad hoc routing protocols
CN109104464A (zh) 一种边缘计算环境下面向协同存储的分布式数据更新方法
Sharafeddine et al. A scatternet formation algorithm for Bluetooth networks with a non-uniform distribution of devices
Bravo-Torres et al. Optimizing reactive routing over virtual nodes in VANETs
AlZubi et al. A best-fit routing algorithm for non-redundant communication in large-scale IoT based network
Hara Quantifying impact of mobility on data availability in mobile ad hoc networks
Pantazopoulos et al. Efficient social-aware content placement in opportunistic networks
Misra et al. A low-overhead fault-tolerant routing algorithm for mobile ad hoc networks: A scheme and its simulation analysis
Lloret et al. GBP-WAHSN: a group-based protocol for large wireless ad hoc and sensor networks
CN103825826A (zh) 一种动态路由的实现方法和装置
Sit et al. Multi-robot mobility enhanced hop-count based localization in ad hoc networks
Frey et al. Geographical cluster-based routing in sensing-covered networks
JP7162824B1 (ja) 地理的ルーティングメッシュネットワーク
WO2020134713A1 (zh) 网络节点的选举方法及节点设备
Rathod et al. Relay placement algorithms for IoT connectivity and coverage in an outdoor heterogeneous propagation environment
Lavanya et al. Mobility-Based Optimized Multipath Routing Protocol on Optimal Link State Routing in MANET
JP2009165070A (ja) アドホックネットワーク通信システムと、その方法及び通信端末
JP5621565B2 (ja) マルチキャストシステム及びマルチキャストシステムのノード
Bandyopadhyay et al. Tracking user-movement in opportunistic networks to support distributed query-response during disaster management
Bok et al. Grid based Enhanced Routing Scheme in MANET

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221007

R150 Certificate of patent or registration of utility model

Ref document number: 7162824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150