(58)【調査した分野】(Int.Cl.,DB名)
前記ランキング情報は、優先標識を備え、前記優先標識は、前記ランキング情報が前記第1のノードによってあらかじめ受信されたランキング情報よりも高い優先度であることを示す、請求項1に記載の方法。
前記ランキング情報は、優先標識を備え、前記優先標識は、前記ランキング情報が前記第1のノードによってあらかじめ受信されたランキング情報よりも高い優先度であることを示す、請求項9に記載の記憶媒体。
前記ランキング情報は、優先標識を備え、前記優先標識は、前記ランキング情報が前記第1のノードによってあらかじめ受信されたランキング情報よりも高い優先度であることを示す、請求項17に記載のコンピュータ・システム。
前記バックボーン・ノード以外のノードの自己割り当てランクを調整する工程は、前記バックボーン・ノード以外のノードに関連付けられている前記ルックアップ・テーブルにおいて、前記バックボーン・ノード以外のノードの自己割り当てランクを1つ増加させる工程を備える、請求項24に記載の方法。
前記バックボーン・ノード以外のノードと前記第2のノードとの間の通信の確立に成功するに際し、前記第2のノードが、前記第2のノードに関連付けられている前記ルックアップ・テーブルにおいて、前記第2のノードの自己割り当てランクを調整する工程をさらに備える、請求項24に記載の方法。
前記第2のノードの自己割り当てランクを調整する工程は、前記第2のノードに関連付けられている前記ルックアップ・テーブルにおいて、前記第2のノードの自己割り当てランクを1つ増加させる工程を備える、請求項26に記載の方法。
前記バックボーン・ノードにおいてゼロ(0)値を自己割り当てランクとして選択する工程であって、前記バックボーン・ノードは、前記複数の地理的に分布されるノードに含まれており、前記バックボーン・ノードは、前記バックボーンネットワーク接続に接続されている、工程と、
前記バックボーン・ノードにおいて、
前記バックボーン・ノードの近傍にあるノードのランクを指定するリストを前記バックボーン・ノードにおいて受信する工程と、
前記リストの情報に基づいて、前記バックボーン・ノードに関連付けられているルックアップ・テーブルを更新する工程と、
の動作を、反復して行う工程と、をさらに備え、
前記更新は、
前記バックボーン・ノードの自己割り当てランクよりも高いランクに関連付けられている第3のノードを求めて前記リストをサーチする工程であって、前記第3のノードは、前記複数の地理的に分布されるノードに含まれている、工程と、
前記バックボーン・ノードに関連付けられているルーティング情報を前記第3のノードに対して通信することを試みる工程であって、前記ルーティング情報は、前記バックボーン・ノードの前記地理的ロケーションを含む、工程と、
を備える、請求項24に記載の方法。
前記バックボーン・ノード以外のノードの近傍にあるノードのランクを指定する前記リストは、前記複数の地理的に分布されるノードから取得される、請求項24に記載の方法。
【発明を実施するための形態】
【0006】
本明細書で導入される技法は、以下の詳細な説明を付随する図面と併せて参照することによって最もよく理解されてよく、ここで同様の参照番号は、同一の、または機能的に類似した要素を示す。
【0007】
本明細書において提供される小見出しは、便宜のためのみであり、特許請求される実施形態の範囲または意味に必ずしも影響を及ぼさない。さらに、図面は、必ずしも一定の縮尺で描かれているわけではない。たとえば、図における要素のうちのいくつかの寸法は、実施形態の理解を向上させる手伝いをするために、拡大または縮小されていることがある。同様に、実施形態のうちのいくつかの議論の目的のために、いくつかのコンポーネント
および/または動作は、異なるブロックに別々にされる、または単一のブロックに組み合わされることがある。その上、さまざまな実施形態が、さまざまな改変形態および代替形態の対象となる一方で、固有の実施形態が、図面において例として示されており、下で詳細に説明される。しかしながら、その意図は、説明される特定の実施形態を限定することではない。反対に、実施形態は、添付の特許請求の範囲によって定義される、開示された実施形態の範囲内に入るすべての改変形態、均等形態、および代替形態をカバーするように意図される。
【0008】
一般的な説明
次に、開示される技法のさまざまな例が、さらに詳細に説明されることになる。以下の説明は、これらの例の徹底理解および授権的な説明のために固有の詳細を提供する。しかしながら、当業者は、本明細書で議論される技法が、多くのこれらの詳細なしに実践され得ることを理解するであろう。同じように、当業者はまた、本技法が、本明細書に詳細に説明されていない、多くの他の明らかな特徴を含むことができることも理解するであろう。追加として、いくつかのよく知られた構造または機能は、該当する説明を不必要に曖昧にするのを回避するために、下で詳細には示されない、または説明されないことがある。
【0009】
下で使用される専門用語は、たとえ実施形態の一定の固有の例の詳細な説明と併せて使用されていたとしても、その広く合理的なやり方で解釈されるべきである。実際、一定の用語が下で強調されることさえある。しかしながら、いかなる制限されたやり方で解釈されるように意図されたいかなる専門用語も、本セクションでは、あからさまに、とりわけそのようなものとして定義されることになる。
【0010】
ネットワーク概要
さまざまな開示される実施形態は、ラインオブサイト(LOS)ベースの、たとえば、光ベースのネットワークに関する。所望のネットワーク・トポロジーを達成するように、ある地理的領域においてネットワーク・ノードをどこに配置するかを決定し、ノードをそれらのピアと整列させ、次いでピアを関連付けするために、システムおよび方法が提供される。開示される実施形態のうちのいくつかは、遠隔領域およびコミュニティに対して、インターネット・アクセスを提供するために使用されてよい。ネットワーク配備の異なる段階で、局所的および全体論的な優先度を組み合わせることによって、堅牢かつ効率的なLOSネットワークが形成され得る。
【0011】
図1は、いくつかの実施形態において生じ得る、配備された光ネットワーク100の原位置イメージである。複数のノード105a〜105cが、LOS接続115a、bを介して、互いにローカル通信していてよい。各ノードは、たとえば無線WIFIアクセスを介して、そのローカル領域に対してネットワーク・アクセス110a〜110cを提供することができる。いくつかのノードが、インターネットに接続され得るファイバ・バックボーン(他のバックボーンも可能であるが)などのバックボーン125に接続されてよい。コミュニティの人口に対して所望のアクセスを提供するために配置される一方で、ノードはまた、自然障害物135および人造障害物130の存在に対処するように位置付けられてよい。
【0012】
ハードウェア
図2は、いくつかの実施形態において生じ得る、ノード200におけるいくつかのコンポーネントのブロック図である。電力モジュール205は、電源への任意の好適な接続であってよく、たとえば、土地ベースの電源(グリッド・ベースの交流電流)への接続、ソーラ・セルへの接続、バッテリ・ソースへの接続、自然媒体における電圧差への接続、その他への接続であってよい。ネットワーク・アクセス・モジュール210は、ローカル・ネットワーク・アクセスを提供するために使用される、ノード200におけるコンポーネ
ントであってよい。たとえば、ネットワーク・アクセス・モジュール210は、WIFI無線アクセス・ポイント、有線イーサネット(登録商標)端末、その他であってよい。接続ベイ215は、ピア・ノードとの通信のための複数の接続モジュール215a〜215nを含むことができる。接続モジュール215a〜215nは、同じ通信の形態である必要はなく、たとえばそれらは、マイクロ波接続、ラインオブサイトによる光接続、レーザ・ベースの無線周波数接続、方向性アンテナ・システムによる接続、ハード線接続、その他であってよい。接続モジュール215a〜215nは、異なる帯域幅および通信レートを有することができる。接続モジュール215a〜215nは、送信コンポーネントと受信コンポーネントの両方を含むことができ、同じ、または異なるピア・ノードに関連付けられてよい。いくつかの接続モジュール215a〜215nは、バックボーンとの通信のためにとりわけ設計されてよい。接続モジュール215a〜215nは、アライメントおよび方向性送信/受信のための、個々の、または共有のアクチュエータを含むことができる。
【0013】
ロケーション・モジュール220は、GPS受信システム、コンパス、高度計、圧力センサ、その他などの、ロケーションおよび/または指向を決定するために使用される1つまたは複数のコンポーネントを含むことができる。圧力センサは、本明細書でさらに説明されるように、ピア・ノードと比較して、相対的な気圧測定値を取得するために使用され得る。メモリ・モジュール230は、ソリッド・ステート・メモリ、ハード・ディスク・メモリ、その他であってよい、1つまたは複数のメモリ・デバイスを含むことができる。キャッシュ235は、本明細書でより詳細に議論されるように、ユーザが要求した情報を記憶するために使用されてよい。ピア・トポロジー情報240は、たとえば、本明細書で議論されるように、関連付けの間に決定される、ピア・ロケーションの記録、バックボーン・ノードに対するそれらのランキング、その他を含むことができる。ルーティング情報245は、チャネル条件、トラフィック負荷、気象条件、ネットワーク負荷、その他に基づいて、異なるピアを介して情報を送るためのプロトコルを含むことができる。論理回路250は、接続モジュール215a〜215nを維持するため、ユーザに対して情報を転送し、リダイレクトするため、ノード200の動作を一般的に維持するため、その他のための動作論理を含むことができる。1つまたは複数のプロセッサ255は、論理回路250を実行するために使用されてよい。本例は普通のメモリ・プロセッサ命令アーキテクチャを表すが、説明される動作が、他のツール、たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)を使用して実装され得ることが容易に認識されるであろう。ユーザ・インターフェース260は、フィールド内オペレータまたはユーザが、たとえば、その動作モードを指示する、そのポジションを構成する、データを受信する等、ノード200と対話するために、含まれてよい。
【0014】
いくつかの実施形態において、接続モジュール215a〜215nは、バックホール・サブシステム・モジュールを含むことができる。バックホール・サブシステムは、ノードからノードへ大きなデータ・レートを搬送するために設計されてよく、各ノードにおける容量の断片をアクセス・サブシステムと共有することができる。近傍ノードへのバックホール・サブシステム・リンクは、多くのアクセス・サブシステムに供給することが可能な大量のデータを搬送するために設計されてよい。これは、多くのそのようなノードを一体に一続きにつなげるのを促進することができる。いくつかの実施形態において、ノードは、配備の後ではめったに再ポジショニングされない。建物の沈下および温度の変動のために、ノードのなんらかの小さな移動があることはあるが、より大きな移動は、たとえば、環境的な理由のために、ノードが別のサイトに物理的に移動されることになるときに生じ得る。
【0015】
アクセス・モジュール210は、ノードを直に取り囲むエリアにおいて(およびことによると、他のピア・ノードよりもこのノードにより近いユーザに対し)、モバイルと固定
の両方のエンド・ユーザ・デバイスと接続を共有するように設計されてよい。アクセス・サブシステムは、ワイド・エリア・カバレッジ無線技術を使用して、その近辺にいる多くのエンド・ユーザと接続することができる。物理的なファイバよりもむしろ、バックホール・サブシステムは、狭ビーム通信システム(光、高利得アンテナを用いるRF、その他)を活用して、近傍ノードに効率的に高いデータ・レートを渡し、他のバックホール・ノード間の通信干渉を最小限にすることができる。
【0016】
バックホール・サブシステムのために使用される狭ビーム技術は、RF、ミリメートル波、および光を含むことができる(しかし、限定はされない)。バックホール・サブシステムのためのビーム発散は、RFシステムについておよそ3度〜5度、ミリメートル波システムについて1度〜3度、および光システムについて0.05度から0.5度であってよいが、これらの範囲は例として差し出されており、他の範囲が可能であることを我々は容易に認識するであろう。
【0017】
建物の揺れ、建物の沈下、温度ドリフト、その他は、これらの異なる範囲の実現性に影響を及ぼすことがある。整列されるシステム上で誘発されるそのような変化は、わずかな度合いの小さな変化を誘発することがある。いくつかの実施形態において、この揺れは、移動がビーム発散角度内であるように、小視野ステアリング技術、またはデバイスをビームの中心に整列させることで操作されてよい。インストレーション・プロセスの間、バックホール・サブシステムは、接続するためのすぐそばのノードを位置特定するために、X−Y面において180度およびZ軸において30度の角度範囲にわたってサーチする必要があることがある。
【0018】
図3は、いくつかの実施形態において生じ得る、ノード305に該当するラインオブサイト(LOS)角度および範囲の三次元表示である。アクチュエータ構成次第で、ノード305は、範囲345を有するLOS領域335内で、そのLOS送信機/受信機を指向することができてよい。ノード305は、鉛直アクセス(すなわち、ヨー軸)に対して360°フル回転することができてよい。この領域は、水平軸(すなわち、ピッチ軸)に対する面345から、面340より上の最大値角度320aおよび面340より下の最大値角度320aまで、拡大することができる。したがって、領域330a、330bは、境界315a、315bにおいて、ノード305の可視性から除かれてよい。これらの領域は、必ずしも一定の縮尺ではなく、さまざまな実施形態によって変化することになる(たとえば、いくつかの実施形態において、領域330aは、ヌル領域およびノード305の可視性までアクセス可能な頂点であってよい)。半径345は、ノード305のハードウェアおよび送信チャネル条件(たとえば、湿度、他のソースからの干渉、その他)次第であってよい。ウィンドウ325は、範囲345に沿った所与のポジションで、ノード305によって見られる実際の領域を反映することができる(異なるデバイスでは、複数のそのようなウィンドウが存在してもよい)。ウィンドウはここで、発散因子の結果として、範囲に沿った寸法の増加が見られる。ウィンドウ325は相対的に狭いことがあるので、合理的な期間内に近傍ピア・ノードとの通信が確立されるべき場合、近傍ピア・ノード・ポジションの正確な識別が必要となることがある。そのような情報がなければ、ノード305は、領域をまたいでピア・ノードから離れたウィンドウ325をスキャンすることになる。
【0019】
本明細書で表されるLOS範囲は、他のモジュールの、無線アクセス範囲、無線周波数、および/またはマイクロ波通信方法には無関係である場合があることに留意されたい。
配備概要
図4は、いくつかの実施形態において生じ得る、ノード・ネットワークの非常にハイレベルの例示的な配備および運用を表すフローチャートである。ブロック405で、シミュレートされた環境においてノード配置が決定されてよい。この段階の間、1人または複数
の計画者が、所与の地理的および人口コンテキストにおいて、ノードのための最良の物理的および論理的なトポロジーを識別することができる。この運用の例示的な態様は、たとえば、「ノード配置計画」の小見出しの付いたセクションにおいてより詳細に本明細書で議論される。
【0020】
ブロック410で、地理的領域においてノードが物理的に配置されてよい。専門の技術者のグループがノードをインストールしてもよいし、またはコミュニティのメンバーによるアドホックなやり方でノードが確立されてもよい。たとえば、ノードは、そのインストレーション用の説明書と共に、参加するコミュニティのメンバーに郵送されてもよい。
【0021】
ブロック415で、ノードは、それらのピアを位置特定し、それらのピアの方へ指向するために、ディスカバリ手順およびアライメント手順に関与することができる。この段階の間、ノードは、その最もそばにあるピアの相対的な物理ロケーション、およびそれらのピアのうちの1つまたは複数とラインオブサイト通信を実施するために必要な指向を決定することができる。この運用の例示的な態様は、たとえば、「ディスカバリおよびアライメント」の小見出しの付いたセクションにおいてより詳細に本明細書で議論される。
【0022】
ブロック420で、ノードは、バックボーンに対するそのトポロジー関係を決定するために、関連付けに関与することができる。この段階の間、ネットワーク・バックボーンへのアクセスを取得するために、ノードは、その近傍のうち、ノードがLOS接続を形成すべきなのはどれかを決定することができる。バックボーンは、インターネットへの、またはサブネットワークへの接続であってよい。これらの形成は、ノードのサブグループが、バックボーン接続から孤立するのを妨げることができる。この運用の例示的な態様は、たとえば、「関連付け」の小見出しの付いたセクションにおいてより詳細に本明細書で議論される。
【0023】
ブロック425で、ノードは、たとえば、ルーティング、ネットワーク管理、データ・キャッシング、その他を含む、さまざまな定常状態動作を実施することができる。
ノード配置計画
図5は、いくつかの実施形態において生じ得る、ノード配置計画アルゴリズムにおける動作を表すフローチャートである。ブロック505で、システムは、さまざまなターゲット制約を受信することができる。たとえば、ネットワークの計画者は、本明細書でより詳細に議論される、利用可能なノードの最大値数、領域ごとの所望のカバレッジ、一定のコミュニティまたはエリアの優先度付け、反復パラメータ、その他を指定することができる。
【0024】
ブロック510で、ターゲット領域のための特定の実世界情報が提供されてよい。この情報は、ターゲット領域の人口分布(平均された、または異なる時間的期間の)、領域における障害物(自然および人造の)、領域の一部の高度、バックボーン接続のロケーション、その他を含むことができる。
【0025】
ブロック515で、システムは、検討されるべき次のバックボーン接続を選択することができる。たとえば、複数の接続ポイントが、規則的な間隔でバックボーンに沿って指定されてよい。各ポイントは、さまざまな利点および/または欠点をもたらすことがある。解説を簡単にするために、本明細書では一度に単一のバックボーン接続の検討が議論されるが、議論される方法は、複数のバックボーン接続が同時に検討されるいくつかの実施形態における手法に拡大され得ることを、我々は容易に認識するであろう。
【0026】
ブロック520で、システムは、現在検討されているバックボーンのリーフの間で反復を実施することができる。最初に、単一のリーフ(バックボーン接続)のみが存在してよ
いが、この工程の間に、さまざまな提供されるパラメータに基づいて、提案されるピアが生成されることになる。これらの提案されるピアは、その後の反復の間にそれ自体がリーフとしての働きをして、追加のピア/リーフを生成することができる。
【0027】
ブロック525で、システムは、停止条件に到達したかどうかを判定することができる。たとえば、企図されるパスのうちの各々が最大値利用可能数のノードを使い果たした場合、システムは、生成プロセスを終結することができる。同様に、所望のレベルのカバレッジが指定されており、パスがこのカバレッジを提供する場合、リーフは、そのパスのために生成されなくてもよい。たとえ他のパスが条件を満たした可能性があったとしても、停止条件をまだ満たしていないパスに関連付けられたノードのために、システムがリーフを生成することを続行してもよいことを、我々は認識するであろう。いくつかの実施形態において、停止条件を無視し、しかし所与のパスのために停止条件が満たされたという記録を取ることによって、極小値が回避され得る(これにより、それ自体の中に新しいパス、たとえば、より大きなパスのサブパスを生成することができる)。たとえば、これは、より低く優先付けられた停止条件(たとえば、好ましいコスト)を満足させるパスが、より高く優先付けられた停止条件(たとえば、達成される所望のカバレッジ)を満足させるパスの生成を妨げることを、妨げることができる。
【0028】
ブロック530で、システムは、すべてのバックボーン・ポジションが検討されたかどうかを判定することができる。検討されていない場合、システムは、次のバックボーン接続のための新しい一連のノードおよびパスを生成することができる。これらは、以前のバックボーン・ノード反復で生成されたものとは別々に検討されてもよいし、またはブロック535でパス同士の相乗効果が下で検討されてもよい。
【0029】
ブロック535で、システムは、ターゲット制約に基づいて、パスを識別し、記録することができる。たとえば、制約が、それ以上リーフが生成されないことをあらかじめ命じていることがあるという事実から見れば、制約はここで、最も高いメトリック値に関連付けられたそれらのパスを識別するために、可能な接続を「切り詰める」ために使用される。たとえば、その中で5反復が実施された3の分岐因子を持つツリーのためには、364(1+3+9+27+81+243)ほどの数のノードが、検討するために存在してよい(これは、単なる例にすぎず、いくつかの実施形態においては、5反復よりもはるかに多い反復が実施されてよく、3とは異なる分岐因子が使用され得る)。これらの364ノードのうち、243ノードは、リーフであってよい(残りのノードは、バックボーンまでの中間ノードである)。これらの243リーフの各々について、バックボーンへの1つまたは複数の可能なパスが(近傍ノードについてのLOS限界に基づいて)存在してよい。バックボーンまでの中間ノードから、多くのサブパスがまた存在してよい。制約(たとえば、コスト、達成されるカバレッジ、インストレーションの難しさ、その他)に基づいたメトリック決定は、これらのパスの各々について決定されてよい。
【0030】
ブロック540で、システムは、所望の数のパスが決定されたかどうかを判定することができる。決定されていない場合、追加のパスおよびその対応するメトリックが決定されてよい。所望の数のパスが識別されると、ブロック545で、システムおよび/または人間の計画者は、好ましいメトリック値に関連付けられた1つまたは複数のパスを選択することができる。計画者は、ブロック550で、ノード・ポジションを手動で調整して、原位置インストレーションのための最終的なノード・トポロジーを生成することができる。
【0031】
ノード配置計画−反復リーフ表現
図6は、いくつかの実施形態において生じ得る、パス計画アルゴリズム時のあるノードに該当するラインオブサイト角度および範囲のトップ・ダウン二次元表示である。これらの変数を反映するデータ構造が計画システムにおいて現れてよいが、
図6の二次元表現は
、単に解説を促進するためにすぎず、ピア・ツー・ピアの対話を判断するときには、システムが
図3の三次元構造を予測することを、我々は容易に認識するであろう。
【0032】
配置プロセスのピア生成態様の反復の間、システムは、あらかじめ配置されたノード605、および現在はこの反復において検討されるリーフであるその子ノード610を検討することができる。ここで、ノードのLOS範囲は、範囲円615および620によって表されているが、あらかじめ議論されたように、システムは、地形、ハードウェア、その他によって課される範囲および限界の三次元特性を検討することができる。子ノード610は、ノード605のLOS範囲の周辺にあらかじめ配置されていた。次に子ノード610に対して1つまたは複数のリーフを配置するために、システムは、限度625aおよび625bによる優先方向640およびスパン630を検討することができる。スパンは、円に沿っている必要はないが、子ノード610の可視性を想定する任意の形態の周辺に沿った線パスであってもよい。候補子ノードは、所望の分岐因子に従って、このスパン630に沿って配置されてよい。優先方向640は、スパン630の幅を(たとえば、重み付け重心までの距離、重み付け重心に対する分散、優先方向あたりのローカル・トポロジー、その他に基づいて)決定することができ、限度625aおよび625bは、1つまたは複数の制約に基づいて生成されてよい。たとえば、システムが最大値数のコミュニティにサービス提供しようとする場合、システムは、人口密度における重心を識別し、優先度によって重心を重み付けし、次いで子ノード640のポジションと、重み付け平均(この例で、重み付け平均は、ページの上部の方向にあることになる)との関係性に基づいて、優先方向640を決定することができる。
【0033】
ノード配置計画−例示的な反復
図7は、いくつかの実施形態において生じ得る、ノード配置プロセスの例示的な反復である。人口密度データは、そのコミュニティ・メンバーの頻出領域705a〜705eを示してよい。これらの領域705b〜705eのうちのいくつか、たとえば、オフィス複合施設またはダウンタウン中心地は、近くに一緒にグループ化されていてよい。たとえば、孤立した村、サービス・ステーション、その他を表す他の領域705aは、孤立していることがある。高度データは、大きな山710が領域に存在することを示すことができる。
【0034】
この特定の実世界情報をターゲットとして与えられると、システムは、バックボーン730から始まり、さまざまな領域に対してネットワーク・アクセスを提供する、最適なノード配置を識別しようとすることができる。接続ポイント725は、企図されるネットワークにおける最初のノードとしての働きをすることができる。この例において、第1のノード715aは、接続ポイント725の光範囲内に配置されている。この単純化された例において、システムは、たとえば、領域705b〜705eによって反映されるコミュニティにサービス提供する要望に基づいて、優先方向740を識別している。リーフ生成反復ごとに、システムはまた、異なる優先方向740を検討するために、異なる制約プロフィールをまたいで反復することができる(単純化のために、ここでは1つのみの方向が検討されるが、各反復で複数の優先方向を検討することは、上の例で提示された364ノードよりもはるかに多くのノードを生成することがある)。
【0035】
図8は、
図7のノード配置プロセスの例示的な反復である。ここで、分岐因子が3であるので、システムは、3つの新しいリーフ・ノード815a〜815cを配置している。示されるように、これらのリーフ・ノード815a〜815cの各々は、異なる有利点/不利点を差し出している。ノード815aは、結局のところ、他のオプションよりも低いコストで、領域705aへのアクセスを提供することができる。しかしながら、ノード815bは、領域705b〜705eへの最も直接的なパスを提供することができる。ノード815cは、高度の一定の限界を回避することができるが、人口の多い領域からはさら
に移動する。
【0036】
図9は、いくつかの実施形態において生じ得る、全体論的な方向性発展基準の効果を表す、
図7のノード配置プロセスの例示的な反復である。たとえば、リーフは、制約および結果として生じた優先方向930a〜930cに従って、ノード815a〜815cの各々について生成されている。優先方向930a〜930cは、同じである必要はなく(この例においては同じであるが)、現在のノードの状況を制約がどのように解釈するか次第で、「貪欲な手法」で多様にすることができる。この例において、新しいリーフ・ノード915a〜915c、920a〜920c、925a〜925cは、最大のサービス提供可能な人口、すなわち領域705b〜705eに到達するように、「全体論的」優先度に準じて生成されている。
【0037】
図10は、いくつかの実施形態において生じ得る、貪欲な方向性発展基準の効果を表す、
図7のノード配置プロセスの例示的な反復である。先出の例とは対照的に、優先方向1030a〜1030cは、各ノード815a〜815cについて局所的に再評価されている。ここで、領域705aに到達するためのノード815aの潜在性は、他の制約/優先度よりも勝っており、それに応じて優先方向1030aが調整されている。同様に、領域705b〜705eに到達するためのノード815bの潜在性、および/または、より高い高度に到達するその能力(および場合によって、より広大なLOS範囲を持つ子ノード)は、他の制約/優先度よりも勝っている。それに応じて、優先方向1030bが調整されている。いくつかの事例において、優先方向の作成を左右するルールは、他のノードおよび優先方向の存在を検討することができる。たとえば、右下の領域が他のパスによって未踏のままであることから、優先方向1030cが生成されてもよい。異なる優先度に対応する重み付けは、優先方向および各反復で生成された結果として生じたリーフが、検討のためのパス・オプションの望ましい多様性を提供するように、調整されてよい。
【0038】
図11は、いくつかの実施形態において生じ得る、
図7のノード配置プロセスの例示的な結果として生じるパスである。本明細書で議論されるように、ノード配置は、停止条件が到達されるまで続行することができる。システムは次いで、配置されたノードの間ですべての実現可能なパスを識別し、次いでそれらに適切なメトリックを割り当てることができる。たとえば、
図11は、バックボーンから、ノード1130a〜1130Jを介して、領域705b〜705eまでのパスを表す。パスがかなりの数のノードを必要とし、領域705aにサービス提供し損なうので、このパスは、相対的に低い値のメトリックを受信することがある。
【0039】
図12は、いくつかの実施形態において生じ得る、
図7のノード配置プロセスの例示的な結果として生じるパスである。この例示的なパスは、ノード1230a〜1230hがすべての領域705a〜705eにサービス提供するので、
図11の例よりも高い相対的なメトリック値を受信することある。しかしながら、このパスはなおも、いくぶん大きな数のノードを必要とする。
【0040】
図13は、いくつかの実施形態において生じ得る、
図7のノード配置プロセスの例示的な結果として生じるパスである。この例は、切り詰めることが、検討されるパスの外側のノードを取り除いてよいだけでなく、検討されるパス内のノードも、それらが不適切と思われる場合は、取り除いてもよいことを実証している。たとえば、システムは、山710の頂上へのノード1330aの配置が、そのLOS範囲をかなり拡大させることをディスカバリしている。現に、戦略的に配置された周辺ノード1330bおよび1330cは、
図11および
図12の例よりもはるかに少ないノードで、ネットワークに領域705a〜705eの各々にサービス提供させる。
【0041】
ノード715aのLOS範囲を表現する過度に単純化した円は、より低い高度でのより限定されたLOSオプションの理解を単に促進するためだけにここで使用されており、ノード715aおよび1330aの相互のLOS領域にもかかわらず、山の頂上のノード1330aまで相互に拡大するものとして、
図7〜
図13のいずれにも表されていない(ノード1330aによる、ノード1330bおよび1330cについての相互の重複も表されていない)ことを、我々は認識するであろう。実際、実装される実施形態において、各ノードに関連付けられたLOS領域は、これらの単純な二次元の円ではなく、複雑な三次元構造であってよい。計画システムは、ノードに対するLOS領域が、ローカルな地形の結果として生じた幾何学的な立体(半球など)の一部ではなく、「ブラブ(ぼんやりした形状)」であると判定することがある。しかしながら、地形または気象の検討がなければ、LOS領域は、半球(または、たとえば山710の頂上のノード1330aについてのケースなど、その下半球にいくらかの領域も存在しない球体であってもよい)に似ていることがある。しかしながら、
図13の例において、山は、ノード715aに対する半球LOS領域の一部を取り去ることになる。しかしながら、ノード715aのLOS領域の半球の残りの一部はなお、ノード1330aに到達するように、山710の上部まで拡大することになる。こうして、計画システムは、最初にLOS領域335の最大値の可能寸法を想定することができ、次いで総体的条件(たとえば、絶えず高湿度である領域)に基づいて、ローカル障害物を「切り出す」、または範囲345を縮小することができる。
【0042】
それに応じて、これらの説明的な例がスパン630に沿って候補ノードの配置することを議論する場合、いくつかの実施形態は、検討中のノードのLOS領域がグラウンド面と交わる場所に候補ノードを配置することになることを、我々は理解するであろう。これらの交点は、スパン630に対応する角度範囲に限定されてよい。非常に複雑なLOS領域のスパン630は、角度としてではなく、検討されるノードのLOS領域のグラウンド面との交わりに沿った線パスとして表現されてよい。線パスは、その中心点が、検討されるノードから優先方向に外に向かって延びる線と一致するように、選択されてよい。
【0043】
各反復で、候補ノードは、たとえば、人口重心、環境因子、土地所有者の許可、電力可用性(ソーラ、グリッド接続、その他)、近傍ノードのアクセス強度に基づいて、配置されてよい。メトリック評価は、同様の、または同じ因子を検討することができる。
【0044】
ノード配置計画−カバレッジ駆動
図14は、いくつかの実施形態において生じ得る、ノード配置プロセスでのカバレッジ駆動発展基準の例示的な結果である。いくつかの実施形態において、計画者は、優先方向を選択するとき、「カバレッジ」が他の因子より優先することを指定することができる。それに応じて、システムは、
図14に表されるように、最大値カバレッジを提供するノード配置を生成し、パスを選択することができる。
【0045】
図15は、いくつかの実施形態において生じ得る、ノード配置プロセスにおけるカバレッジ駆動発展基準のためのリーフ生成プロセスを表すフローチャートである。ブロック1505で、システムは、カバーされない領域(たとえば、まだサービス提供されていない領域)の重心を決定することができる。たとえば、領域は、ボロノイ図としてみなされてよく、重心は、それぞれのボロノイ領域(たとえば、K平均法クラスタリングの後で生成された)の中心としてみなされてよい。ブロック1510で、システムは、検討中の特定のリーフ・ノードについて、最も近い、および/または最大の重心への方向を識別することができる。ブロック1515で、システムは、生成するリーフの数を決定することができる(たとえば、分岐因子は優先度次第で多様にすることができる)。ブロック1520で、システムは、リーフの広がりを決定することができ、ブロック1525で、システムは、新しいリーフを生成することができる。
【0046】
ノード配置計画−デマンド駆動
図16は、いくつかの実施形態において生じ得る、ノード配置プロセスでのデマンド駆動発展基準の例示的な結果である。いくつかの実施形態において、計画者は、優先方向を選択するとき、「デマンド」が他の因子より優先することを指定することができる。それに応じて、システムは、最大値数の個人にサービス提供するノード配置を生成し、パスを選択することができる。
【0047】
図17は、いくつかの実施形態において生じ得る、ノード配置プロセスにおけるデマンド駆動発展基準のためのリーフ生成プロセスを表すフローチャートである。ブロック1705で、システムは、人口重心までの距離を決定することができる。たとえば、人口は再び、たとえば、K平均法または同様のグループ化方法に基づいて、グループ化されてよい。ブロック1710で、システムは、検討中のリーフ・ノードについて、最もそばにある/最大の人口重心への方向を識別することができる。ブロック1715で、システムは、生成するリーフの数を決定することができる(たとえば、分岐因子は優先度次第で多様にすることができる)。ブロック1720で、システムは、リーフの広がりを決定することができ、ブロック1725で、システムは、新しいリーフを生成することができる。
【0048】
ディスカバリおよびアライメント
計画フェーズが完了した後に、ノードは、それらの決定されたポジションにて領域に物理的に配置されてよい。配置に続いて、ノードは次いで、計画段階において識別された所望のレベルのサービスを達成するために、それらのピアを位置特定し、適切な接続を形成することができる。本明細書において、一般に、近傍ピアの識別は、「ディスカバリ」と呼ばれ、ピアへの指向は、「アライメント」と呼ばれ、計画の間に決定された適切な接続の(第1の、またはその後の指向を介した)形成は、「関連付け」と呼ばれる。解説を単純化する目的のために、「アライメント」、「ディスカバリ」、および「関連付け」の以下の議論は、一般にデカルト・レイアウトを参照することにするが、これはそうである必要はなく、他のレイアウト(たとえば、本明細書で議論される「スター型」ネットワーク)が生じ得ることを、我々は容易に認識するであろう。異なるレイアウトは、上で議論された計画フェーズの結果として生成されてよい。
【0049】
図18は、いくつかの実施形態において生じ得る、ディスカバリ、アライメント、および関連付け後の、配備されたデカルト・メッシュにおけるノード関係のトポロジー・ブロック図である。コラムの各々は、それぞれのバックボーン接続で始まる計画分析から生成されていてよい。たとえば、ノード1815a〜1815cを備えるコラムは、バックボーン接続1805bで始まる計画反復から生じることができる。いくつかの実施形態において企図され、上の例で表されるように、3つのタイプのバックホール・ハードウェア、すなわち、ファイバ入力(トランクまでのネットワークの接続)、高速ハードウェア(たとえば、100GB)、および定速ハードウェア(たとえば、1GB)が存在してよい。
【0050】
図19は、いくつかの実施形態において生じ得る、ディスカバリ/アライメントより前の、配備されたデカルト・メッシュにおけるノード関係のトポロジー・ブロック図である。
図18は、一般に、その地理的ロケーションではなく、ノード間の論理関係(すなわち、互いの間のそれらのルーティング接続)に及ぶ一方で、
図19は、ノード1815bおよび1825bのためのLOSを反映する範囲1919aおよび1910bを表す。「ディスカバリ」の間、ノード1815bは、ピア1815aがLOS範囲内にあることを、そのそれぞれのロケーションに基づいて認識するはずである。同様に、ノード1825bは、ピア・ノード1820aおよび1825aの各々がLOS範囲内にあることを認識することができる。ノード1825bには複数の代替が存在するので、アライメントの間、ノード1825bは、ノード1820aおよび1825aのいずれか(またはいくつかの実施形態においては両方)とデフォルト接続を形成することができる。これらのデフォル
ト接続は、バックボーン・ノードとの所望の接続を達成するために、その後、関連付けの間に精査(たとえば、補われる、または取り除かれる)されてよい。
【0051】
ディスカバリ−受動的なユーザの伝播
いくつかの実施形態において、ノードは、たとえば、GPSシステムに照会すること、または現地の技術者から座標を受信することによって、そのロケーション情報を能動的に決定することができる。いくつかの実施形態において、インストールする技術者は、インストレーションに続いてノードのイメージを撮ることができ、イメージには1つまたは複数のランドマークが含まれる。これらのランドマークは次いで、ノードのロケーションを推測するために、データベース・イメージと相互参照されてよい。いくつかの実施形態は、より正確な総体的な読み取り値を推測するために、さまざまなこれらの開示される技法を組み合わせることができる。
【0052】
いくつかの実施形態において、各ノードはまた、そのピア間で、ユーザによる情報の受動的転送に依存することが(他の技法の代わりに、他の技法に加えて、または他の技法を補完して)できる。たとえば、
図20は、いくつかの実施形態において生じ得る、配備されたデカルト・メッシュにおいて、ディスカバリの間の受動的なユーザ・ベースの情報伝播を表すトポロジー・ブロック図である。モバイル・デバイスを伴うユーザは、ポジション2010aからポジション2010bへ、次いでポジション2010cへと移動することができる。インストレーションに続いて、ノードA〜ノードFの各々は、それらがまだバックボーン接続と通信していないとしても、ローカル・ネットワーク・アクセスをアクティブ化させる(たとえば、WIFI)ことができる。それに応じて、ユーザが異なるノード間を通過するとき、ユーザのモバイル通信デバイスは、ノードの各々と関連付けすることができる。たとえば、ユーザは、初めにノードBを通過してよく、ノードBは、そのGPSポジションを、「32.22.21|28.22.11」として認識する(ノードBは、ユーザ・デバイスのGPS座標からこれらの座標を推測することができる)。モバイル通信デバイスは、アプリケーションを実行していてよく、そうでなければ、ロケーション・ログ2015aにおいてこの情報をローカルにそのメモリに記憶することができてよい。ユーザがポジション2010bとして着くとき、モバイル・デバイスは、ノードCと関連付けする(たとえば、802.11関連付けを形成する)ことができる。この例におけるGPSポジション値は、単に理解を促進するためだけに提供されており、実施形態の実世界実装において実際に使用される可能性のある値を反映するものではない。
【0053】
ノードCは、モバイル・デバイスからポジション・ログ2015aを引っぱり、ノードBのポジションの内部記録をそれ自体で取り、ユーザのモバイル・デバイスのロケーション・ログ2015bを、それ自体のロケーション情報、ならびにあらかじめ取得した既に存在しない任意のロケーションで補うことができる。たとえば、ノードCが、ノードAを通過したユーザにあらかじめ遭遇していたとしたら、ノードAについてのロケーション情報は、ロケーション・ログ2015bに含まれていることになる。ユーザがポジション2010cに到達する時間までには、ユーザは、ノードD、E、およびFの各々からロケーション情報を受信しており、ノードD、E、およびFの各々にロケーション情報を提供している。
【0054】
こうして、ユーザ/サブスクライバは、ノード・アクセス・ポイントのすべてに対するメンバーシップ(802.11認証、その他)を、最初に与えられてよい。たとえば、WIFIシステムにおいて、これは、共通のSSID/パスワードを提供することによって、またはオープン・アクセスを提供することによって完遂されてよい。各ユーザが構成されていないノードのそばを通過するとき、アクセス・ポイント・サブシステムは、ユーザに対してメッセージを送る。メッセージは、たとえば、以下の情報、すなわち、ノードのMACアドレス(または他の一意の識別子)、ノードのGPS座標、ノードからの高度計
データ、さまざまなノード通信システムのハードウェア・タイプ、およびノードについての関連付け情報(たとえば、計画プロセスによって好ましいとされるバックボーン・ノードとそれが通信しているかどうか)を保有することができる。ユーザ・デバイスは、この情報を記憶し、その後、情報を将来の遭遇するノードに伝えることができる。
【0055】
このメカニズムによって、ランダムにあちこち移動する人々が、ノードのロケーションを他のノードに搬送することができる。最後には、各ノードが、すべての近傍ノードの完成したリストを有することができる。
【0056】
アライメントLOSサーチ・バリエーション
いくつかの実施形態において、アライメントの間、ノードは、狭ビーム、たとえば、小さなウィンドウ325を用いて、ランダム・サーチを実施することができる。これらの実施形態において、ノードは、半ビーム幅(たとえば、ウィンドウ325の幅)のステップ・サイズと、2つの角度間でステップするための少なくともその2倍の時間のドウェル時間とを使用することができる。たとえば、ビーム・ステアリング・システムは、5msかけて2つのポジションの間を切り替え、各ポジションで10msの間、滞留(ドウェル)することがある。4度のRFビーム幅のケースでは、2度の角度ステップ・サイズが使用されてよい。この例では、各ノードはその場合、90×15=1350ステップ内でサーチすることになる。この例でノードが近傍ノードを検出するためには、両方の狭ビームが整列することを必要とすることがあり、それにより182万ステップかかることになる。各ステップに15msかかると、ノードのペアを整列させるための合計時間は、7.6時間かかってよい。2度のビーム幅および1度のステップ・サイズを用いるミリメートル波システムは、代わりに、各ノードが5400ステップを通してサーチすることを可能にすることができる。検出には、2910万ステップかかることになり、それにより121時間かかることになる。
【0057】
別の例として、0.1度のステップ・サイズで0.2度のビーム幅を用いる光システムは、各ノードが540,000ステップを通してサーチすることを必要とすることになる。このアライメントには、2910億ステップおよび138年かかってよい。したがって、狭ビーム・ランダム・サーチ手法は、より広いビーム幅を有する実施形態のために本明細書で一般に検討される。
【0058】
いくつかの実施形態は、より広いビーム(たとえば、より大きなウィンドウ325)を用いたランダム・サーチを利用する。たとえば、いくつかのノード実施形態は、アライメントのためにより広いビームによる別個の信号を使用し、しかしその一方で、通常動作の間は、より高速なデータを伴うより狭いビームを使用する。このより広いビーム信号は、狭ビームのためのサーチ・エリアをそのビーム幅まで狭めるために使用されることがある。
【0059】
いくつかの実施形態において、全方向性受信アンテナ/センサ、または全方向性送信アンテナ/ソースが、ノードに接続されてよい。この全方向性デバイスは、各ノードのサーチ・ステップの数を設定時間の平方根に縮小することができ、それは、各ノードがそのピアとのその相対的なアライメントをその2つが互いに認識するように厳密に決定していることを、全方向性デバイスが必要としないからである。
【0060】
いくつかの実施形態は、追加の長距離ワイド・エリア無線技術を利用することができるGPS支援サーチを実装する。各ノードは、空間におけるそのポジションを決定するのに、高度計(たとえば、本明細書で説明された気圧手法を使用する)およびGPS受信機を装着してもよい。ノードは次いで、アライメントを助けるために、この情報を近傍ピアと共有することができる。追加の全方向性無線もまた、情報を共有するために使用されてよ
い。この無線の周波数および送信電力は、信号がすぐそばのノードにうまく到達するのを可能にするように(たとえば、上で説明された計画フェーズの間に決定されたように)選ばれてよい。衝突回避技法が実施されてよく、これは多くのノード間でチャネルを共有するために使用されることがある。
【0061】
GPSデータは、ノードがサーチ領域を、そのポジション・データのエラー・バンド、およびピア・ノードのポジション・データのエラー・バンドまでに限ることを可能にすることができる。このエラーは、極端に近い範囲(80メートル)およびZ軸における1度での水平面で8度の最悪のケースから、10KmおよびZ軸における0.006度での水平で0.6度の最悪のケースまでの範囲に及ぶことがある。これにより、アライメントの間、はるかに速いサーチ・プロセスを可能にすることができる。
【0062】
いくつかの実施形態は、アクセス・サブシステムを使用するGPS支援サーチを利用する。これらの手法は、もっぱらアライメントの目的のために、余分な通信システムの必要性を取り除くことができる。たとえば、アクセス・サブシステム無線範囲は、ノードが互いに直接通信し、それらのアドレスおよび座標情報を中継するのを可能にすることができる。この情報ペイロードは、低いデータ・レートで送信されてよいので、より低いビット・レート(より少ないビット/Hz)を使用してメッセージを渡すことが可能であってよい。
【0063】
あいにく、いくつかの状況において、アクセス技術の範囲が、アクセス・サブシステム手法を使用するGPS支援サーチを実現不可能にしていることがある。限定された範囲が、アドレスおよび座標情報を近傍ノードに渡すことを妨げることがある。これらの状況においては、本明細書で説明されたように、ノード間を行き来するユーザによるピア情報の受動的転送が代わりに使用されてよい。
【0064】
アライメント気圧高度推測
いくつかの実施形態において、ノードは、GPS情報、インストールする技術者によって提供される情報、その他から、そのロケーションを排他的に推測することができてよい。しかしながら、いくつかの実施形態において、ポジション情報は、複数のソースから推測されることがある。いくつかの実施形態において、より正確なノードの相対的な指向の決定を達成するために、GPS情報を補完するように、相対的な圧力情報がノードによって使用されてよい。たとえば、
図21は、いくつかの実施形態において生じ得る、ノード2115a〜2115cがその上に配置され、相対的な気圧読み取り値が取られる傾斜面2110aの断面透視図である。ロケーション・ログ、またはノード間で受動的に転送された他の情報は、ノードについての気圧読み取り値を含むことができる。ノードは、それ自体の気圧読み取り値とピアの読み取り値との差を比較して、高度の差(およびそこでウィンドウをスキャンするための対応する角度)を推測することができる。この例において、ノード2115aは、ノード2115bに対してわずかに低い高度にあってよい。それに応じて、ノード2115aにおける圧力は、ノード2115bにおけるよりも高く、小さな正の差(+10)が記されている。対照的に、ノード2115cは、ノード2115bよりもはるかに高い高度に位置特定される。それに応じて、ノード2115cにおける圧力は、ノード2115bにおけるよりも低く、大きな負の差(−75)が記されている。圧力対角度の対応関係は、テーブルから推測されてもよいし、または動的に決定されてもよい。
【0065】
図22は、いくつかの実施形態において生じ得る、数個のノード2205a〜2205d、および第1のノードに対するそれらの気圧読み取り値の三次元透視図である。相対的な気圧読み取り値および地上面に対するピア・ノードのロケーションに基づいて、各ノードは、そのローカルな周囲状況のトポロジー・マッピングを推測することができてよい。
たとえば、ノード2205dは、たとえばGPS座標に基づいて、地上面2215(すなわち、ノードから地球の中心まで通過する線に対して垂直な面)内で、それがノード2205aからの距離2210a、ノード2205bからの距離2210b、およびノード2205cからの距離2210cであることを認識することができる。ノード2205dに対するそれぞれのノード2205a〜2205cの各々について、+80、−75、および−25の相対的な圧力距離が存在してよい。これらの差から、ノード2205dは、ノード2205a〜2205cの各々についての相対的な鉛直の高さ2225a〜2225cを推測することができる。高さ2225a〜2225cおよび距離2210a〜2210cが知られているので、ノード2205dは、各ノードまでのユークリッド距離2220a〜2220c、および地上面2215に対する対応する角度を容易に推測することができる。
【0066】
図23は、いくつかの実施形態において生じ得る、そのピアの気圧データに基づいて、アライメントの間にピア・ノードを指向するためのプロセスを表すフローチャートである。ブロック2305で、ノードは、地上面において最もそばにあるピア・ノードを決定することができる。ブロック2310で、ノードは、そのピアまでの面内距離を決定することができる。ブロック2315で、ノードは、最もそばにあるピアの相対的な気圧デルタと、対応する高さ値とを決定することができる。ブロック2320で、ノードは、最もそばにあるピアまでのユークリッド距離を決定することができる。ブロック2325で、ノードは、最もそばにあるピアへの角度を決定することができる。ブロック2330で、ノードは、その相対的なポジショニングを反映するために、最もそばにあるピアに関するそのローカルに記憶された情報を更新することができる。ブロック2340で、ノードは、たとえば、関連付けより前のデフォルト接続の部分として、最もそばにあるピアに対して指向することができる。
【0067】
関連付け
各ノードがその近傍ノードのうちのいくつかに到達するのに十分な通信リンクしか有さないシステムにおいて、計画フェーズに従ってリンクするのに適正な隣接ノードを選ぶことは、そのシステムにとって非常に望ましいことがある。システムが異なる速度を持つ通信リンクを追加的に有する場合、適正なリンクのペアが(たとえば、計画プロセスにおいて指定されたように)確立されることが特に好ましいことがある。関連付けフェーズは、適切なリンクが形成されるのを保証するための1つまたは複数のプロセスを含む。
【0068】
アライメント・プロセスから関連付けへの移行は、1つまたは複数の条件に基づいて生じてもよいし、各ノードがそれらのピアに関する十分な情報の取得するときにノードごとに有機的に生じてもよい。たとえば、いくつかの実施形態において、各ノードは、固定された時間の期間の後に、十分な量のピア・ロケーション情報が取得された後に、またはいくつかの他の信号で、アライメント手順から関連付け手順へと移行することができる。
【0069】
アライメントが完了すると、ノード間のデフォルト・関連付けが、所望の計画された関連付けを正しく反映していないことがある。
図24は、いくつかの実施形態における配備されたデカルト・メッシュにおいて生じ得る、アライメント後の、関連付けより前の、孤立した形成を表すトポロジー・ブロック図である。孤立した「アイランド」ネットワーク2
405a、2
405bは、バックボーン接続を欠いて形成されており、言うまでもないが、適切なバックボーン接続は計画の間に決定されている。この例において、ノード2410aのみが、計画の間に意図されたように、バックボーン接続2415aと正しく関連付けしている。ノード2410bは、ノード2410cおよび2410aの両方を、LOS範囲内にあるものとして認識することができるが、ノード2410bは、ノード2410cとデフォルト・関連付けを形成していてよい。同様に、デフォルト推論は、ノード2410dがノード2415aと関連付けするのに失敗し、ノード2410eがノード2410fと関連付けするのに失敗し、2410fがバックボーン2415cと関連付けするのに失敗するという結果になっている可能性がある。本明細書で議論されるように、孤立したネットワーク2405a、2405b内のノードは、それらがバックボーン2415bとの接続を欠いていることを認識することができる。各ノードは、バックボーン接続までのパスが識別されるまで、そのピアとパス情報を共有することができる。
【0070】
図25は、いくつかの実施形態における配備されたデカルト・メッシュにおいて生じ得る、関連付け後のエンド・ランキングを表すトポロジー・ブロック図である。この例において、各ノードは、本明細書でランク(X,Y)と呼ばれる、2つの部分のトポロジー参照を与えられる。ランクの第1の部分(X、バックボーン・コンポーネント)は、バックボーンとのノードの関係(たとえば、高速ネットワーク・デバイスまで)を表現する。ランクの第2の部分(Y、サブネットワーク・コンポーネント)は、サブネットワークにおける他のノードとのノードの関係(たとえば、定速ネットワーク・デバイスまで)を表現する。関係は、たとえば、サブネットワークに関連付けられたバックボーン・ノードからのホップのある数であってよい。ノードのハードウェアにバックボーン入力があると、バックボーン・ランクに対して0のランク、およびサブネットワーク・ランクに対して0を、ノードがそれ自体に自動的に割り当てるという結果になってよい。たとえば、最初に、ノード2505a〜2505dは、ランク0,0を有していてよい。それらが互いに通信を始めると、それらは、示されるように一意のバックボーン・ランク識別子を選択することになる。バックボーンに接続されていないノードは、随意の、0ではないXランク(たとえば、9999)で始めることができる。
【0071】
ハードコードされた(0,0)ランクを有するノード2505aは、近傍ノード座標のそのリストを調べて、どのノードが最も近く、かつ(X,0)のランクを有するかを判定することができ、ここでXは、任意の値である(ノード2505aの知識は伝播するので、ノード2505b〜2505dは他のXランクを想定することになる)。ノード2505aは、計画フェーズにおいて指定されたハードコードされたプリファレンス(たとえば、インストールする技術者による文字通りのハードコーディング、論理コードにおいて確立されたルール、その他)に基づいて、この(0,0)ランキングを保持することができる。このノードは次いで、その高速光ヘッドを用いて(または、いかなる他の通信モジュールも実施形態に利用可能である)近傍ノードの方向にサーチを始めることができる。
【0072】
(0,0)にランク付けされたノードのロケーションは他のデバイスの間で伝播するので、他のデバイスは、(0,0)ノードのGPS座標を使用して、(0,0)ノードの方向にサーチし始めることになる。あるノードが(0,0)ノードを見つけるとき、それは、ランキング情報を再調査して、それが0,0ノードのサブネットワーク内に入るかどうかを判定することができる。入る場合、ノード2510aは、そのランクを(1,0)に更新することができる。ノード間の距離は、割り当ての優先度を左右してよく、(0,0)ノード2505aに接続されたバックボーン上には、1つのみの(1,0)にランク付けされたノード2505bが最後には存在しているという結果になる。このランクは、近傍ノードに対して渡されるブロードキャスト・メッセージにおいて更新される。ランク(X,0)を持つ各その他のノードは次いで、リンクが作られ、新しいノード2505cがランク(2,0)を与えられるまでノード(1,0)を探す、などのサーチを開始する。
【0073】
同様のやり方で、ノード2505aに最も近い定速ノードリンクは、(0,Y)を持つノードを探し出すことができ、ここで、Yは任意の数である(再び、Xがゼロであることへのプリファレンスは、距離に関連付けられた全順序に基づく)。(0,Y)ランクを持つすぐそばのノードを通知されている各ノードは、そのノードのGPS座標あたりの座標エリアのサーチを始めることができる。(0,Y)ノードは、最も近い(X,Y)ノードの方向にサーチを始めることができる。リンクが確立されると、ノード2510a〜25
10dは、そのランクを(1,Y)に更新し、このランクは、近傍ノードと共有されるメッセージにおいて更新される。(1,Y)ノードによるデバイスでメッセージを受信する、関連付けられたハードウェアのない他のノードは、(1,Y)ノードの方向にサーチを始め、プロセスはそこから続行する。
【0074】
ノードが、接続のロスを通じて、またはそのGPS座標における変化を通じて、移動したことを判定した場合、ノードは、そのランクをデフォルトにリセットして、再びプロセスが始まることを可能にする/プロセスを始めさせることができる。同様に、ノードが、適切なランクのノードよりも近い座標を持つノードを検出した場合、ノードは、新しいノードが存在している、またはノードが移動されていることを推測することができる。その結果として、ノードは、そのランクをリセットして、再開始するためのサーチ手順を可能にすることができる。こうして、いくつかの実施形態において、ノード・関連付けプロセスは、一般に、以下のように進むことができる。1)最初の開始状態から(たとえば、インストレーションまたはリセット後の)、すべてのノードが1とNとの間でランダム・ランクを選択し、ここでNは、ノード0を除く、ネットワークにおけるノードの数である。ノード0は、ランク0を選択する。2)ノードがロケーション・リスト更新を受信する(たとえば、通過する人から、または近傍ノードから)たびに、ノードはリストを調べて、リストによって与えられた、より高いランクを持つ第1の既知のノード、およびより低いランクを持つ第1の既知のノードのロケーションを識別する。そして、3)ノードは次いで、より低いランクのノード(すなわち、ノード0により近い)と、初めに接続を試みる。
【0075】
この例において、接続が成功した場合、ノードはそのランクを、ノードが接続したノード+1のランクに更新する。ノードは次いで、より高くランク付けされたノードに接続を試みる。より高くランク付けされたノードへの接続が成功した場合、ノードが接続したノードは、そのランクを、接続するノードのランク+1に更新する。たとえば、Yランク5を持つノード(随意に「ノードZ」と呼ばれる)が、Yランク0、2、8、10を持つノードのロケーションを識別するリストを受信する。ノードZは初めに、Yランク2を持つノードへの接続を試みる。接続が成功した場合、ノードZのYランクは、ランク3に更新される。ノードZは、Yが8にランク付けされたノードに接続を試みることができ、成功した場合、Yが8にランク付けされたノードは、そのYランクを代わりに6に更新する。
【0076】
図26は、いくつかの実施形態において生じ得る、ノード・ランキングを更新するためのローカル・プロセスを表すフローチャートである。ブロック2605で、ノードは、そのピアからのランキング情報を能動的に求めることができる。ブロック2610で、ノードは、取得されたランキング情報がバックボーン・ノードを含むかどうかを判定することができる。ブロック2615で、ノードは、そのピアにそのランキングを調整するための決断を通知することができる。ブロック2620で、ノードは、そのランキングを調整することができる。そのランキング情報に対するその後の要求は、今度はこの新しいランキングを含むことになる。ブロック2625で、ノードは、そのピアからのランキング情報を受動的に求めることができる。
【0077】
上で議論されたように、ランキング情報は、バックボーン上の接続ノードに逆伝播することができる。バックボーン・ノードは、所望のネットワーク・トポロジーの知識を有し、好ましいランキングにかなうように、ネットワークの中にランキング情報を再提出することができる。それに応じて、ブロック2630で、ノードは、より高く優先付けられたパスが、たとえば、バックボーン・ノードによって指示されたように識別されているかどうかを判定することができる。識別されている場合、ランキングは、ブロック2615および2620に準じて調整されてよい。より高い優先度情報が受信されていない場合、ノードは、入って来るランキング情報を受動的にリスンすることを続行することができる。
【0078】
ネットワーク・トポロジー・バリエーション
図27は、いくつかの実施形態において生じ得る、関連付け後のスター型ネットワーク2700を表すトポロジー・ブロック図である。計画フェーズは、ノード2710a、2710bがバックボーン・ノードからの分岐を促進するように、または分岐を促進しないように、ランキング条件を課していてよい。本明細書で議論されるように、分岐は、高い高度の点(建物、山、その他)で、かつ多くの異なる通信コンポーネント(たとえば、より多い光コンポーネントおよびより多いメモリ)を有するノードのために、好適であってよい。
【0079】
データ・キャッシング
図28は、いくつかの実施形態において生じ得る、デカルト・ネットワークにおけるキャッシング・トポロジーを表すトポロジー・ブロック図である。計画フェーズの間、ロケーションは、激しい使用またはトラフィックが生じ得る場所で戦略的に決定されてよい。これらの戦略的点において、キャッシング(または追加のキャッシング)メモリが、動作の間、ネットワークの効率を向上させるために提供されてよい。
ルーティング・アプリケーション
図29は、いくつかの実施形態において生じ得る、デカルト・ネットワークにおける再ルーティング・イベントを表すトポロジー・ブロック図である。たとえば、霧2905が、ノード2910aと2910bとの間に形成されることがある。計画フェーズの間、予測される気象パターンが検討に入れられてよく、代替のルーティングのプリファレンスが分布されるノードに含まれてよい。たとえば、ノード2910aは、ノード2910cとの光接続を形成するためにリダイレクトされてよい。いくつかの実施形態において、このルーティングは、たとえば、バックボーンから切断されたノードのための関連付けプロセスを再開始することによって、動的に実施されてよい。いくつかの実施形態において、この関連付けプロセスは、元の関連付けとは異なってもよく、計画フェーズから提供される再ルーティング・ガイダンスを検討することができる。ルーティング調整は、新しい接続の作成を含むことができるだけではなく、代わりに通信モジュールの変更を含むこともできる。たとえば、霧2905は、光波長で見通せないことがあるが、マイクロ波波長ではそうでないことがある。それに応じて、ノード2910aおよび2010bは、条件が緩和するまで、別の通信媒体(たとえば、マイクロ波)に切り替えることができる。
【0080】
コンピュータ・システム
図30は、実施形態のうちのいくつかの特徴を実装するために使用され得る(たとえば、計画プロセスを実施するために使用され得る、またはノード200に現れ得る)、コンピュータ・システムのブロック図である。コンピューティング・システム3000は、1つまたは複数の中央処理ユニット(「プロセッサ」)3005と、メモリ3010と、入力/出力デバイス3025(たとえば、キーボードおよびポインティング・デバイス、ディスプレイ・デバイス)と、ストレージ・デバイス3020(たとえば、ディスク・ドライブ)と、ネットワーク・アダプタ3030(たとえば、ネットワーク・インターフェース)とを含むことができ、これらは、インターコネクト3015に接続されている。インターコネクト3015は、任意の1つまたは複数の別個の物理バス、ポイント・ツー・ポイント接続、または、適切なブリッジ、アダプタ、もしくはコントローラによって接続されたその両方を表現する抽象概念として図示されている。したがって、インターコネクト3015は、たとえば、システム・バス、周辺コンポーネント・インターコネクト(PCI)バスもしくはPCIエクスプレス・バス、ハイパートランスポート・バスもしくは工業規格アーキテクチャ(ISA)バス、スモール・コンピュータ・システム・インターフェース(SCSI)バス、ユニバーサル・シリアル・バス(USB)、IIC(I2C)バス、または「ファイヤワイヤ」とも呼ばれる、電気電子技術者協会(IEEE)規格1394バスを含むことができる。
【0081】
メモリ3010およびストレージ・デバイス3020は、さまざまな実施形態の少なくとも一部を実装する命令を記憶することができる、コンピュータ可読記憶媒体である。加えて、データ構造およびメッセージ構造が、データ送信媒体、たとえば、通信リンク上の信号を介して、記憶される、または送信されてよい。さまざまな通信リンク、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはポイント・ツー・ポイント・ダイヤル・アップ接続が使用されてよい。こうして、コンピュータ可読媒体は、コンピュータ可読記憶媒体(たとえば、「非一時的な」媒体)およびコンピュータ可読送信媒体を含むことができる。
【0082】
メモリ3010に記憶された命令は、上で説明されたアクションを遂行するようにプロセッサ3005をプログラムするために、ソフトウェアおよび/またはファームウェアとして実装され得る。いくつかの実施形態において、そのようなソフトウェアまたはファームウェアは最初に、コンピューティング・システム3000を通して(たとえば、ネットワーク・アダプタ3030を介して)、遠隔システムからダウンロードすることによって、処理システム3000に提供されてよい。
【0083】
本明細書で導入されたさまざまな実施形態は、たとえば、ソフトウェアおよび/もしくはファームウェアでプログラムされたプログラマブル回路(たとえば、1つもしくは複数のマイクロプロセッサ)によって、または完全に特殊目的ハードワイヤード(非プログラマブル)回路において、あるいはそのような形態の組合せにおいて実装され得る。特殊目的ハードワイヤード回路は、たとえば、1つまたは複数のASIC、PLD、FPGA、その他の形態であってよい。
【0084】
備考
上の説明および図面は、例証であり、限定としてみなされるべきではない。数多くの固有の詳細が、本開示の徹底理解を提供するために説明されている。しかしながら、一定の事例において、よく知られた詳細は、本説明を曖昧にするのを回避するために説明されていない。さらに、実施形態の範囲から逸脱せずに、さまざまな改変形態がなされてもよい。それに応じて、実施形態は、添付の特許請求の範囲によるものを除き、限定はされない。
【0085】
本明細書における「一実施形態」または「実施形態」という言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれていることを意味する。本明細書におけるさまざまな箇所での「一実施形態」という文言の現れは、必ずしも同じ実施形態にすべて言及しているわけではなく、別個のまたは代替の実施形態が他の実施形態を互いに排除するわけでもない。その上、いくつかの実施形態によって呈され、他の実施形態によっては呈されないことがある、さまざまな特徴が説明されている。同様に、いくつかの実施形態のための要件であり、しかし他の実施形態のための要件ではないことがある、さまざまな要件が説明されている。
【0086】
本明細書で使用される用語は、一般に、各用語が使用される、本開示のコンテキスト内で、および固有のコンテキストにおいて、当技術分野におけるその通例の意味を有する。本開示を説明するのに使用された一定の用語は、本開示の説明に関して専門家への追加のガイダンスを提供するために、下で、または明細書の他の箇所で議論されている。便宜上、一定の用語が、たとえば、イタリック文字および/または引用符を使用してハイライトされていることがある。ハイライトの使用は、用語の範囲および意味に影響を有さない。用語の範囲および意味は、ハイライトされていてもいなくても、同じコンテキストにおいては同じである。同じ事柄が、2つ以上の言い方で言われ得ることが認められるであろう。「メモリ」は、「ストレージ」の1つの形態であり、これらの用語が、折に触れて交換
可能に使用されてもよいことを、我々は認識するであろう。
【0087】
その結果として、代替の言語および同義語が、本明細書で議論された用語のいずれか1つまたは複数のために使用されてよく、本明細書においてある用語が詳述または議論されるか否かには、いずれの特殊な重要性も置かれないことになる。一定の用語については同義語が提供される。1つまたは複数の同義語の列挙は、他の同義語の使用を除くものではない。本明細書で議論されるいずれの用語の例も含んだ本明細書のどこにおける例の使用も、例証のみであり、本開示の、またはいずれの例示された用語の範囲および意味をさらに限定することは意図されていない。同じように、本開示は、本明細書において与えられたさまざまな実施形態に限定はされない。
【0088】
本開示の範囲のさらに限定することを意図することなく、本開示の実施形態による機器、装置、方法の例、およびそれらの関係した結果が、上で与えられている。タイトルまたはサブタイトルは、読者の便宜のための例において使用されてよく、本開示の範囲を限定すべきでは決してないことに留意されたい。別段定義されない限り、本明細書で使用されるすべての技術的および科学的な用語は、本開示が属する技術分野の当業者によって普通に理解されるのと同じ意味を有する。矛盾する場合には、定義を含めて本文書が統制することになる。