(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】高高度プラットフォームを使用した時空間的ソフトウェア定義型海洋ネットワーク
(51)【国際特許分類】
H04B 7/185 20060101AFI20240701BHJP
H04L 41/12 20220101ALI20240701BHJP
【FI】
H04B7/185
H04L41/12
(21)【出願番号】P 2023510344
(86)(22)【出願日】2021-10-22
(86)【国際出願番号】 US2021056144
(87)【国際公開番号】W WO2022150086
(87)【国際公開日】2022-07-14
【審査請求日】2023-04-10
(32)【優先日】2021-01-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】523048206
【氏名又は名称】アーリリア テクノロジーズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】バリット,ブライアン
(72)【発明者】
【氏名】アナス,シャラス
【審査官】麻生 哲朗
(56)【参考文献】
【文献】米国特許第10193761(US,B1)
【文献】米国特許出願公開第2017/0310550(US,A1)
【文献】特開2017-184034(JP,A)
【文献】国際公開第2020/172327(WO,A1)
【文献】特開2006-163765(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/185
H04L 41/12
(57)【特許請求の範囲】
【請求項1】
海洋ネットワークのためのネットワーク構成を生成する方法であって、前記方法が、
1つ以上のプロセッサによって、前記海洋ネットワークの所与のノードの範囲内にある1つ以上のクライアントデバイスに関するクライアント情報を、前記1つ以上のクライアントデバイスが海の方に移動している時間期間にわたって受信することと、
前記1つ以上のプロセッサによって、前記所与のノードを含む前記ネットワーク内の複数のノードから、前記時間期間にわたって場所情報を受信することであって、前記場所情報が、前記海洋ネットワーク内の少なくとも1つの海洋ノード及び少なくとも1つの航空宇宙ノードの予測される又は既知の軌道を含むことと、
前記クライアント情報及び前記場所情報に基づいて、前記1つ以上のプロセッサによって、前記海洋ネットワークを通る1つ以上のルーティング経路に対して形成される複数のリンクを含むネットワーク構成を決定することと、を含み、
前記1つ以上のルーティング経路が、前記1つ以上のクライアントデバイスに関連するデータを伝送するように構成され、
前記複数のリンクが、前記所与のノードと、前記ネットワーク内の、前記所与のノードから最大距離以内にある別のノードとの間のリンクを含む、方法。
【請求項2】
前記最大距離が、前記複数のリンクのために使用される通信信号のタイプによって定義される、請求項1に記載の方法。
【請求項3】
前記複数のノードが、第1の陸塊上の地上ノードと、前記第1の陸塊とは別個の第2の陸塊上の第2の地上ノードとを更に含む、請求項1に記載の方法。
【請求項4】
前記ネットワーク構成を前記決定することが、前記ネットワーク構成のための1つ以上の追加のノード場所を決定することを含む、請求項1に記載の方法。
【請求項5】
前記1つ以上の追加のノード場所を前記決定することが、
前記所与のノードのための経路内の、バックホールカバレージのない少なくとも1つのゾーンを識別することと、
前記所与のノードのための完全なバックホールリンクを形成するために、前記1つ以上の追加のノード場所を決定することと、を含む、請求項4に記載の方法。
【請求項6】
前記少なくとも1つのゾーンを前記識別することが、経時的にトラフィック量がどこで最大になるかに更に基づく、請求項5に記載の方法。
【請求項7】
前記ネットワーク構成を実装するために前記1つ以上の追加のノード場所に移動するための命令を、前記ネットワークの1つ以上のノードに送信することを更に含む、請求項4に記載の方法。
【請求項8】
前記命令が、前記1つ以上の追加のノード場所において軌道保持を実施するための命令を含む、請求項7に記載の方法。
【請求項9】
前記1つ以上の追加のノード場所が、航空宇宙場所を含み、前記1つ以上のノードが、航空宇宙ノードを含む、請求項7に記載の方法。
【請求項10】
前記1つ以上の追加のノード場所が、海洋場所を含み、前記1つ以上のノードが、海洋ノードを含む、請求項7に記載の方法。
【請求項11】
システムであって、
海洋ネットワーク内の複数のノードと通信するように構成された1つ以上のプロセッサを含むネットワークコントローラを備え、前記1つ以上のプロセッサが、
前記海洋ネットワークの所与のノードの範囲内にある1つ以上のクライアントデバイスに関するクライアント情報を、前記1つ以上のクライアントデバイスが海の方に移動している時間期間にわたって受信することと、
前記所与のノードを含む前記ネットワーク内の複数のノードから、前記時間期間にわたって場所情報を受信することであって、前記場所情報が、前記海洋ネットワーク内の少なくとも1つの海洋ノード及び少なくとも1つの航空宇宙ノードの予測される又は既知の軌道を含むことと、
前記クライアント情報及び前記場所情報に基づいて、前記海洋ネットワークを通る1つ以上のルーティング経路に対して形成される複数のリンクを含むネットワーク構成を決定することと、を行うように構成されており、
前記1つ以上のルーティング経路が、前記1つ以上のクライアントデバイスに関連するデータを伝送するように構成され、
前記複数のリンクが、前記所与のノードと、前記ネットワーク内の、前記所与のノードから最大距離以内にある別のノードとの間のリンクを含む、システム。
【請求項12】
前記最大距離が、前記複数のリンクのために使用される通信信号のタイプによって定義される、請求項11に記載のシステム。
【請求項13】
前記複数のノードが、第1の陸塊上の地上ノードと、前記第1の陸塊とは別個の第2の陸塊上の第2の地上ノードとを更に含む、請求項11に記載のシステム。
【請求項14】
前記ネットワーク構成が、前記ネットワーク構成のための1つ以上の追加のノード場所を含むように決定される、請求項11に記載のシステム。
【請求項15】
前記1つ以上のプロセッサが、
前記所与のノードのための経路内の、バックホールカバレージのない少なくとも1つのゾーンと、
前記所与のノードのための完全なバックホールリンクを形成するための要件と、に基づいて、前記1つ以上の追加のノード場所を決定するように更に構成されている、請求項14に記載のシステム。
【請求項16】
前記少なくとも1つのゾーンが、経時的にトラフィック量がどこで最大になるかに基づく、請求項15に記載のシステム。
【請求項17】
前記1つ以上のプロセッサが、前記ネットワーク構成を実装するために前記1つ以上の追加のノード場所に移動するための命令を、前記ネットワークの1つ以上のノードに送信するように更に構成されている、請求項14に記載のシステム。
【請求項18】
前記命令が、前記1つ以上の追加のノード場所において軌道保持を実施するための命令を含む、請求項17に記載のシステム。
【請求項19】
前記1つ以上の追加のノード場所が、航空宇宙場所を含み、前記1つ以上のノードが、航空宇宙ノードを含む、請求項17に記載のシステム。
【請求項20】
前記1つ以上の追加のノード場所が、海洋場所を含み、前記1つ以上のノードが、海洋ノードを含む、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年1月11日に出願された米国特許出願第17/146,107号の利益を主張し、その開示全体は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
世界中で、より高いスループット、より低いレイテンシ、及びより多くの地域での利用可能性を備えたデータ接続性の需要が高まっていると考えられる。情報は、航空宇宙及び他のモバイルネットワークなどの指向性ポイントツーポイントネットワークを介して伝送することができる。このようなネットワークでは、各ノード対の送受信機を互いに向けることによって、ノード対間にリンクを形成することができる。いくつかの実装形態では、ノードは、地球に対して動いている非静止衛星軌道(non-geostationary satellite orbit、NGSO)衛星又は他の航空宇宙プラットフォームを含み得る。機器を搭載した気球などの成層圏に浮遊する航空宇宙プラットフォームは、互いに通信し、地上のネットワーク機器及びモバイルデバイスと通信して、陸上の人々、又は陸地、海上の輸送機関、又は低高度の航空機を接続することができる。
【発明の概要】
【0003】
本開示の態様は、陸地から様々な距離で移動する、したがって既存の地上ノードの範囲に出入りする航海輸送機関又は航空宇宙機にカバレージを提供することが可能な海洋ネットワークの構成を計画するための、システム及び方法を提供する。
【0004】
本開示のいくつかの態様は、海洋ネットワークのためのネットワーク構成を生成する方法を提供する。方法は、1つ以上のプロセッサによって、海洋ネットワークの所与のノードの範囲内にある1つ以上のクライアントデバイスに関するクライアント情報を、1つ以上の当該クライアントデバイスが海の方に移動している時間期間にわたって受信することと、1つ以上のプロセッサによって、所与のノードを含むネットワーク内の複数のノードから、当該時間期間にわたって場所情報を受信することであって、場所情報が、海洋ネットワーク内の少なくとも1つの海洋ノード及び少なくとも1つの航空宇宙ノードの予測される又は既知の軌道を含むことと、クライアント情報及び場所情報に基づいて、1つ以上のプロセッサによって、海洋ネットワークを通る1つ以上のルーティング経路に対して形成される複数のリンクを含むネットワーク構成を決定することと、を含み、1つ以上のルーティング経路は、1つ以上のクライアントデバイスに関連するデータを伝送するように構成され、複数のリンクは、所与のノードと、ネットワーク内の、所与のノードから最大距離以内にある別のノードとの間のリンクを含んでいる。
【0005】
一例では、最大距離は、複数のリンクのために使用される通信信号のタイプによって定義される。別の例では、複数のノードは、第1の陸塊上の地上ノードと、第1の陸塊とは別個の第2の陸塊上の第2の地上ノードとを更に含む。更なる例では、ネットワーク構成を決定することは、ネットワーク構成のための1つ以上の追加のノード場所を決定することを含む。この例では、1つ以上の追加のノード場所を決定することは、任意選択で、所与のノードのための経路内の、バックホールカバレージのない少なくとも1つのゾーンを識別することと、所与のノードのための完全なバックホールリンクを形成するために、1つ以上の追加のノード場所を決定することと、を含む。更にここで、少なくとも1つのゾーンを識別することは、任意選択で、経時的にトラフィック量がどこで最大になるかに更に基づく。
【0006】
代替的にこの例では、方法は、ネットワーク構成を実装するために1つ以上の追加のノード場所に移動するための命令を、ネットワークの1つ以上のノードに送信することも含む。更にここで、命令は、任意選択で、1つ以上の追加のノード場所において軌道保持を実施するための命令を含む。また、更にここで、1つ以上の追加のノード場所は、任意選択で航空宇宙場所を含み、1つ以上のノードは、航空宇宙ノードを含む。更にまたここで、1つ以上の追加のノード場所は、任意選択で海洋場所を含み、1つ以上のノードは、任意選択で海洋ノードを含む。
【0007】
本開示の他の態様は、海洋ネットワーク内の複数のノードと通信するように構成された1つ以上のプロセッサを含むネットワークコントローラを含むシステムを提供する。1つ以上のプロセッサは、海洋ネットワークの所与のノードの範囲内にある1つ以上のクライアントデバイスに関するクライアント情報を、1つ以上のクライアントデバイスが海の方に移動している時間期間にわたって受信することと、所与のノードを含むネットワーク内の複数のノードから、当該時間期間にわたって場所情報を受信することであって、場所情報が、海洋ネットワーク内の少なくとも1つの海洋ノード及び少なくとも1つの航空宇宙ノードの予測される又は既知の軌道を含むことと、クライアント情報及び場所情報に基づいて、海洋ネットワークを通る1つ以上のルーティング経路に対して形成される複数のリンクを含むネットワーク構成を決定することと、を行うように構成され、1つ以上のルーティング経路は、1つ以上のクライアントデバイスに関連するデータを伝送するように構成され、複数のリンクは、所与のノードと、ネットワーク内の、所与のノードから最大距離以内にある別のノードとの間のリンクを含んでいる。
【0008】
一例では、最大距離は、複数のリンクのために使用される通信信号のタイプによって定義される。別の例では、複数のノードはまた、第1の陸塊上の地上ノードと、第1の陸塊とは別個の第2の陸塊上の第2の地上ノードとを含む。更なる例では、ネットワーク構成は、当該ネットワーク構成のための1つ以上の追加のノード場所を含むように決定される。この例では、1つ以上のプロセッサは、任意選択で、所与のノードのための経路内の、バックホールカバレージのない少なくとも1つのゾーンと、所与のノードのための完全なバックホールリンクを形成するための要件と、に基づいて、1つ以上の追加のノード場所を決定するようにも構成されている。更にここで、少なくとも1つのゾーンは、任意選択で、経時的にトラフィック量がどこで最大になるかに基づく。
【0009】
代替的にこの例では、1つ以上のプロセッサは、任意選択で、ネットワーク構成を実装するために1つ以上の追加のノード場所に移動するための命令を、ネットワークの1つ以上のノードに送信するようにも構成されている。更にここで、命令は、任意選択で、1つ以上の追加のノード場所において軌道保持を実施するための命令を含む。また、更にここで、1つ以上の追加のノード場所は、任意選択で航空宇宙場所を含み、1つ以上のノードは、任意選択で航空宇宙ノードを含む。更にまたここで、1つ以上の追加のノード場所は、任意選択で海洋場所を含み、1つ以上のノードは、任意選択で海洋ノードを含む。
【図面の簡単な説明】
【0010】
【
図1】本開示の態様による例示的な指向性ポイントツーポイントネットワーク100の絵図である。
【
図2】本開示の態様による、
図1に示されるネットワーク100の一部分の機能
図200である。
【
図3】本開示の態様によるネットワークコントローラ300の機能図である。
【
図6】本開示の態様による、
図1に示されるネットワーク100のトポロジ600の機能図である。
【
図7】本開示の態様による、ネットワーク100の一次ネットワーク構成700の機能図である。
【発明を実施するための形態】
【0011】
本技術は、航空宇宙ノード、海洋ノード、及び地上ノードの組み合わせを使用して船舶又は航空機にサービスを提供する海洋メッシュネットワークに関する。海洋メッシュネットワークは、船舶又は航空機など、海上又は海の近くを移動する特定の輸送機関のルート特性に基づいて設計され得る。例えば、ルート特性は、陸塊への近接度を含み得る。ルートが陸塊から最大距離以内にあるとき、船舶と地上ノードとの間のリンクが確立され得る。ルートが、陸塊から最大距離外にあるとき、1つ以上の航空宇宙ノード又は海洋ノードは、輸送機関と地上ノードとの間に追加のリンクを形成し得る。航空宇宙ノードは、気球、飛行機、海上ドローン、又は他の空中プラットフォームを含み得、海洋ノードは、船舶、ブイ、又は海に向かう他のプラットフォームを含み得、
【0012】
ネットワークは、複数の地上ノード、少なくとも1つの海洋ノード、及び少なくとも1つの航空宇宙ノードを含む複数のノードを含み得る。各ノードは、互いに通信するための1つ以上の見通し内光通信リンクを形成するように構成された、自由空間光通信(free-space optical communication、FSOC)システムを含み得る。地上ノードは、地上タワー又は陸地の様々な場所に配置された他のタイプのノードであり得る。所与の地上ノードのためのFSOCシステムは、少なくとも1つの海洋ノードのためのFSOCシステムの高さと同一又は同様の高さで配置され得る。少なくとも1つの海洋ノードは、海上のプラットフォーム上にあってよい。航空宇宙ノードは、成層圏気球、低地球軌道衛星、又は空中を移動し地面に対して相対的に動くことができる他の空中プラットフォーム上にあってよい。
【0013】
1つ以上のクライアントデバイスにサービスを提供するために、ネットワークコントローラは、クライアントデバイスがある輸送機関などからクライアント情報を受信することができる。クライアント情報は、クライアント場所情報及びクライアントデータ情報を含み得る。クライアント場所情報は、1つ以上のクライアントデバイスが輸送機関と通信しているときの当該輸送機関の場所を示し得る。クライアントデータ情報は、1つ以上のクライアントデバイスから伝送されるか又はそれに伝送されるデータの量を含み得る。
【0014】
また、ネットワークコントローラは、1つ以上のクライアントデバイスと関連付けられた輸送機関を含む、複数のノードの各々から場所情報を受信することもできる。場所情報は、少なくとも海洋ノードについての予測軌道を含んでもよく、又は少なくとも1つの航空宇宙ノードは、現在位置及び移動特性に基づいてもよい。既知の軌道は、輸送機関の経時的な位置又は位置の範囲などを含むルートであり得る。ルートは、輸送機関がルートに沿った位置にあるときのスケジュールを含んでもよい。場所情報はまた、複数のノードの各場所の状態又はその近くの状態を含んでもよい。
【0015】
クライアント情報及び場所情報に基づいて、ネットワークコントローラは、ネットワークを通る1つ以上のルーティング経路のために形成される複数のリンクを含むネットワーク構成を決定することができる。ネットワーク構成を決定するために、ネットワークコントローラは、所与のクライアントデバイスと関連付けられた輸送機関の場所についての場所情報、輸送機関との間でルーティングされるデータの予測される量、ネットワーク内の複数のノードについての場所情報、及び複数のノードの場所の各々における状態を考慮に入れることができる。
【0016】
特に、ネットワーク構成は、ルートに沿ったホップ間の距離が最大距離未満となるように決定されてもよい。1つ以上のクライアントデバイスと関連付けられた輸送機関が、いずれかの地上ノードから最大距離を超えて位置するとき、ネットワーク構成は、この輸送機関と航空宇宙ノード又は海洋ノードとの間のリンクを、地上ノードへの第2のホップの前の第1のホップとして含み得る。輸送機関が同一又は同様のルートに沿って移動する複数の海洋ノードのうちの1つであるとき、ネットワーク構成は、複数の海洋ノード内の別の海洋ノードとの1つ以上のリンクを含み得る。
【0017】
加えて、ネットワークコントローラは、ネットワーク構成のための1つ以上の航空宇宙場所を決定することができる。そうするために、ネットワークコントローラは、輸送機関がネットワーク内の別のノードから最大距離外にある少なくとも1つのゾーンを識別することができる。1つ以上の航空宇宙場所は、所与の海洋ノードが少なくとも1つのゾーン内にあるときに、輸送機関にサービスを提供するように決定され得る。例えば、1つ以上の航空宇宙場所は、航空宇宙ノードが、少なくとも1つのゾーン内の輸送機関をネットワークの別のノードとリンクさせるために少なくとも1つのゾーンの範囲内にある場所であり得る。1つ以上の航空宇宙場所はまた、輸送機関の場所における、又は輸送機関の場所と可能な航空宇宙場所との間の、予測される状態に基づいて決定されてもよい。ネットワークコントローラは、1つ以上の航空宇宙ノードに、1つ以上の航空宇宙場所に移動してそこで軌道保持を実施するための命令を送信することができる。1つ以上の航空宇宙ノードは、場所情報、システム条件、又は他の特性に基づいて選択され得る。
【0018】
本明細書の技術は、海上又は海の周辺を移動する航海輸送機関又は航空宇宙機をサポートするネットワークを作成する。航空宇宙ノード及び他の海洋ノードは、輸送機関が地上ノードの範囲内にないときであっても、地上ノードからこの輸送機関へのアクセス又はバックホールサービスを提供することができる、メッシュネットワークを形成することができる。高高度プラットフォームなどの航空宇宙ノード及び他の海洋ノードを利用することによって、ネットワークにおける容量のコスト及びレイテンシを低減することができる。加えて、航空宇宙ノードは、輸送機関への通信及び輸送機関からの通信のための追加の帯域幅を提供することができる。更に、航空宇宙ノードの場所を調整できることにより、天候又は輸送機関の近くの物体によって障害が引き起こされる可能性があるときに、ネットワークに堅牢性を追加することができる。
【0019】
システムの例
図1は、例示的な指向性ポイントツーポイントネットワーク100の絵図である。ネットワーク100は、陸地ベース及び空中ベースの様々なデバイスに搭載されたノードからなる指向性ポイントツーポイントコンピュータネットワークであり、ノードのうちのいくつかは、ネットワーク100内の他のノードに対して経時的に位置を変化させ得る。例えば、ネットワーク100は、2つの陸地ベースのデータセンタ105a及び105b(概してデータセンタ105と呼ばれる)の各々と関連付けられた地上ノードと、2つの地上局107a、107b(概して地上局107と呼ばれる)の各々と関連付けられた他の地上ノードと、5つの航空宇宙プラットフォーム110a~110e(概して航空宇宙プラットフォーム110と呼ばれる)の各々と関連付けられたノードとを含む。地上局107は、陸地の様々な場所、例えば沿岸に沿って配置された地上タワー又は他のタイプのノードであり得る。地上局107aは、第1の沿岸場所108aにあり得、地上局107bは、第2の沿岸場所108bにあり得る。第2の沿岸場所108bは、第1の沿岸場所108aの範囲外であり得る。いくつかのシナリオでは、第1の沿岸場所108aは第1の島にあり得、第2の沿岸場所108bは第2の島にあり得る。所与の地上ノードのためのFSOCシステムは、少なくとも1つの海洋ノードのためのFSOCシステムの高さと同一又は同様の高さで配置され得る。
【0020】
示されるように、航空宇宙プラットフォーム110aは飛行船、航空宇宙プラットフォーム110bは飛行機、航空宇宙プラットフォーム110c、110eは気球、及び航空宇宙プラットフォーム110dは衛星であり得る。ネットワーク100は、船舶109a及び109b(概して船舶109と呼ばれる)などの海洋プラットフォームと関連付けられたノードを含み得る。これらの海洋ノードは、クライアントデバイス、及び/又はネットワーク100内の別のノードとの通信リンクを形成するように構成され得る。いくつかの実装形態では、クライアントデバイスは、ネットワーク100のノードであってもよく、又はネットワーク100の任意のノードに直接若しくは間接的に接続されていてもよい。例えば、クライアントデバイスは、地上局107a、107b、又は航空宇宙プラットフォーム110a~110e、又は海洋プラットフォーム109a、109b、のうちのいずれかと通信リンクを形成するように構成されていてもよい。
【0021】
いくつかの実施形態では、ネットワーク100内のノードは自由空間光通信(FSOC)を実施するように装備され、これによりネットワーク100をFSOCネットワークにすることができる。追加的又は代替的に、ネットワーク100内のノードは、無線周波数信号を介して、又は自由空間を通って移動することができる他の通信信号を介して通信するように装備されていてもよい。所与の地上局107のためのFSOCシステム又はペイロードは、少なくとも1つの海洋プラットフォーム109のための、又はネットワーク100にアクセスするように構成された航海輸送機関のためのFSOCシステムの高さと同一又は同様の高さで配置され得る。一対のノード間に示される矢印は、ノード間の可能な通信見通し線リンク120、122、130~141を表す。リンク120は、データセンタ105aと地上局107aとの間にあり得、リンク122は、データセンタ105bと地上局107bとの間にあり得る。航空宇宙プラットフォーム110aは、リンク130、131、及び132を介して、それぞれ地上局107a、航空宇宙プラットフォーム110b、及び航空宇宙プラットフォーム110cとリンクされ得る。航空宇宙プラットフォーム110bは、リンク133、135、137、及び138を介して、それぞれ航空宇宙プラットフォーム110c、地上局107b、船舶109、及び航空宇宙プラットフォーム110dとリンクされ得る。航空宇宙プラットフォーム110cは、リンク134を介して地上局107bとリンクされ得る。船舶109aは、リンク136及び139を介して、それぞれ地上局107a及び航空宇宙プラットフォーム110dとリンクされ得る。航空宇宙プラットフォーム110eは、リンク140及び141を介して、それぞれ航空宇宙プラットフォーム110d及び船舶109bとリンクされ得る。
【0022】
図1に示されるネットワーク100は例示的なものにすぎず、いくつかの実装形態では、ネットワーク100は追加の又は異なるノードを含んでもよい。例えば、いくつかの実装形態では、ネットワーク100は、気球、飛行船、飛行機、無人航空機(unmanned aerial vehicle、UAV)、衛星、若しくは任意の他の形態の高高度プラットフォームであり得る追加の航空宇宙プラットフォーム、又はブイ、無人航海輸送機関、石油掘削装置、若しくは他のタイプの海洋プラットフォームであり得る追加の海洋プラットフォームを含み得る。いくつかの海洋プラットフォームは、気球などの航空宇宙プラットフォームを海洋プラットフォームにテザリングさせることによって、ネットワークノードとして構成され得る。
【0023】
いくつかの実装形態では、ネットワーク100は、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルデバイス、又はタブレットコンピュータなどのクライアントデバイスのためのアクセスネットワークとして機能し得る。また、ネットワーク100は、インターネットなどのより大きなネットワークに接続されてもよく、より大きなコンピュータネットワークに格納されたリソース、又はより大きなコンピュータネットワークを介して提供されるリソースへのアクセスをクライアントデバイスに提供するように構成されてもよい。いくつかの実装形態では、航空宇宙プラットフォーム110及び海洋プラットフォーム109は、eNodeB基地局又はWiMAX若しくはUMTSアクセスポイントなどの他の無線アクセスポイントなどの、携帯電話ネットワーク若しくは他のモバイルネットワークと関連付けられた無線送受信機を含むことができる。航空宇宙プラットフォーム110及び海洋プラットフォーム109は一緒に、無線アクセスネットワークの全部又は一部を形成することができる。航空宇宙プラットフォーム110及び海洋プラットフォーム109は、例えば、バックボーンネットワークリンク、又はサードパーティによって運用される輸送網を介してデータセンタ105に接続することができる。データセンタ105は、リモートユーザによって、並びにネットワーク100の構成要素を監視又は制御するシステムによってアクセスされるアプリケーションをホストするサーバを含むことができる。航空宇宙プラットフォーム110は、ユーザに無線アクセスを提供することができ、ユーザ要求をデータセンタ105に転送し、バックボーンネットワークリンクを介してユーザに応答を返すことができる。
【0024】
図2に示されるように、地上局107及び航空宇宙プラットフォーム110などの各ノードは、所与の航空宇宙プラットフォーム110とネットワーク内の別のノードとの間の、リンク120、122、130~141などの1つ以上のリンクを作成するように構成された1つ以上の送受信機を含み得る。航空宇宙プラットフォーム110aについて言及すると、ノードの各々は、1つ以上のプロセッサ210、メモリ212、及び1つ以上の送受信機220を含み得る。ネットワーク100の地上局107、航空宇宙プラットフォーム110、及び海上プラットフォーム109を含む他のノードは、構成要素の同一又は同様の構成を含んでもよい。明瞭かつ簡単にするために、地上局107a、及び航空宇宙プラットフォーム110a、110bのみが
図2に示されている。しかしながら、ネットワーク内の他の地上局、航空宇宙プラットフォーム、及び海洋プラットフォームは、地上局107b、又は航空宇宙プラットフォーム110a、110bと同一又は同様の構成を有し得る。
【0025】
1つ以上のプロセッサ210は、市販のCPUなどの任意の従来のプロセッサであり得る。代替的に、1つ以上のプロセッサは、特定用途向け集積回路(application specific integrated circuit、ASIC)などの専用デバイス、又はフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)などの他のハードウェアベースのプロセッサであってもよい。
図2は、1つ以上のプロセッサ210及びメモリ212を同じブロック内にあるものとして機能的に例示しているが、実際には、1つ以上のプロセッサ210及びメモリ212が、同じ物理的筐体内に格納されてもされなくてもよい複数のプロセッサ及び複数のメモリを備え得ることが理解されよう。したがって、プロセッサ又はコンピュータへの言及は、並列に動作してもしなくてもよいプロセッサ又はコンピュータ又はメモリの集合への言及を含むと理解されよう。
【0026】
メモリ212は、データ214を含む情報と1つ以上のプロセッサ210によって実行され得る命令216とを格納し、これらは1つ以上のプロセッサ210によってアクセス可能である。メモリは、プロセッサによってアクセス可能な情報を格納することができる任意のタイプのものであり得、ハードドライブ、メモリカード、ROM、RAM、DVD、又は他の光ディスク、並びに他の書込み可能メモリ及び読み取り専用メモリなどの、コンピュータ可読命令を含む非一時的有形コンピュータ可読媒体を含む。システム及び方法は、前述の異なる組み合わせを含み得、これにより、データ214及び命令216の異なる部分が異なるタイプの媒体に格納される。航空宇宙プラットフォーム110aのメモリ212などの各ノードのメモリには、各ノードで受信された信号がどのように転送又は伝送されるべきかを示すデータベース又はテーブルなどの、転送情報ベース又は転送データ構造が格納され得る。換言すれば、各ノードのメモリは、対応するノードのための1つ以上の転送ルールを格納することができる。例えば、メモリ212に格納された転送テーブルは、地上局107aから受信した信号が航空宇宙プラットフォーム110bに転送されるべきであるという転送ルールを含むことができる。
【0027】
データ214は、命令216に従って、1つ以上のプロセッサ210によって検索、格納、又は修正され得る。例えば、システム及び方法はいずれの特定のデータ構造によっても制限されないが、データ214は、複数の異なるフィールド及びレコード、XML文書又はフラットファイルを有するテーブルとして、リレーショナルデータベースのコンピュータレジスタに格納され得る。データ214は、バイナリ値又はユニコードなどであるがこれらに限定されない任意のコンピュータ可読フォーマットでフォーマットされてもよい。更なる単なる例として、画像データがビットマップとして格納され得、ビットマップは、圧縮又は非圧縮、無損失(例えば、BMP)又は損失(例えば、JPEG)、及びビットマップ又はベクトルベース(例えば、SVG)、並びにグラフィックスを描画するためのコンピュータ命令であるフォーマットに従って格納されるピクセルのグリッドからなる。データ214は、番号、記述テキスト、専用コード、同じメモリ又は異なるメモリの他の領域(他のネットワーク場所を含む)に格納されたデータへの参照、又は関連データを計算するために関数によって使用される情報などの、関連情報を識別するのに十分な任意の情報を含んでもよい。
【0028】
命令216は、1つ以上のプロセッサ210によって直接実行される命令(機械コードなど)又は間接的に実行される命令(スクリプトなど)の任意のセットであり得る。例えば、命令216は、コンピュータ可読媒体にコンピュータコードとして格納され得る。この点に関して、用語「命令」及び「プログラム」は、本明細書では交換可能に使用され得る。命令216は、1つ以上のプロセッサ210による直接処理のためにオブジェクトコード形式で格納されてもよいし、オンデマンドで解釈されるか若しくは事前にコンパイルされるスクリプト又は独立したソースコードモジュールの集合を含む他のコンピュータ言語で格納されてもよい。命令216の関数、方法、及びルーチンについては、以下でより詳しく説明する。
【0029】
1つ以上の送受信機220は、所望の方向を指すように制御又は操向することができるアクチュエータに搭載されてもよい。航空宇宙プラットフォーム110aと関連付けられたノード及び航空宇宙プラットフォーム110bと関連付けられたノードなどの2つのノード間にリンクを形成するために、それぞれのノードの送受信機は、ノード間でデータを送受信することができるように互いの方向を指すように制御され得る。いくつかの実装形態では、ネットワーク100内のリンク120、122、130~141(例えば、
図1を参照のこと)の形成を容易にするために、各送受信機によって伝送される信号の電力もまた、それぞれのノードの1つ以上のプロセッサによって制御され得る。例えば、比較的長い距離で分離されたノードは、この2つのノードを分離する距離にわたって生じる信号対雑音比の低減を補償するために、より高い電力で動作するように構成することができる。互いにより近い間隔で置かれたノードは、電力を節約するために、比較的より低い電力で動作するように制御され得る。
【0030】
いくつかの実装形態では、ネットワーク100は、
図3に描写されるネットワークコントローラ300などのSDNコントローラによって制御されるソフトウェア定義ネットワーク(software-defined network、SDN)とすることができる。ネットワークコントローラ300は、ネットワークノードのうちの1つ、又は例えば、データセンタ105のうちの1つなどの別個のプラットフォームに位置し得る。ネットワーク100のノードは、1つ以上の送受信機220などの操向可能な送受信機を使用して互いに通信するように構成されていてよい。航空宇宙プラットフォーム110及び海洋プラットフォーム109が互いに対して、かつデータセンタ105、地上局107、及び他の地上場所に対して経時的に移動すると、
図1のブロック図に示されるリンクのうちのいくつかは実行不可能になる可能性がある。例えば、地上局107aと航空宇宙プラットフォーム110aとの間のリンク130は、航空宇宙プラットフォーム110aの経路によって航空宇宙プラットフォーム110aが、地上局107aの範囲外にある位置に移動させられるとき、又は航空宇宙プラットフォーム110aと地上局107aとの間に地面が配置される位置に移動させるときに、実現可能ではない場合がある。他の例では、航空宇宙プラットフォーム110と海上プラットフォーム109と地上場所との間の気象事象もまた、特定のリンクを実現不可能にする可能性がある。したがって、航空宇宙プラットフォーム110及び海洋プラットフォーム109の連続的な動きに起因して、ネットワーク100のトポロジは、接続性を維持し、決定されたネットワークフローを満たすために、規則的な(すなわち、周期的な)又は不規則な再構成を必要とし得る。ネットワークコントローラ300は、ビッグデータ主導型ネットワーキングの要望を処理できるようにするために、以下で更に記載する決定されたネットワークフローを効率的に満たすための構成を決定するように構成されていてもよい。
【0031】
図3は、ネットワークコントローラ300の機能図である。ネットワークコントローラ300は、ネットワーク100のトポロジを構成するため、ルーティング情報をノード107、109、110に渡すため、及びクライアントデータを伝送するようにネットワーク100のトポロジの変更をスケジュールするために、ネットワーク100に制御メッセージを送信するように構成されていてもよい。
図3に示されるように、ネットワークコントローラ300は、1つ以上のプロセッサ310、メモリ、320及び通信システム340を含み得る。1つ以上のプロセッサ310は、上述した1つ以上のプロセッサ210と同様であってもよい。
【0032】
メモリ320は、1つ以上のプロセッサ310によってアクセス可能な情報を格納し得、情報は、データ322とプロセッサ310によって実行され得る命令324とを含む。メモリ320、データ322、及び命令324は、上述したメモリ212、データ214、及び命令216と同様に構成されてもよい。データ322は、ネットワーク100内の、所与の時間又は時間枠において利用可能な全てのノード及び可能なリンクを表すテーブルなどのデータベース、テーブル、又は他の記憶構造を含み得る。テーブルは、ネットワーク100内の全てのノード及びリンクに対する列、及び時間又は時間枠に対する行を有し得る。場合によっては、列及び行を逆にしてもよい。テーブルはまた、各ノード及び各リンクについて、ノード又はリンクが利用可能であるスケジュールされた時間又は時間枠を格納することができる。代替的に、グラフ又は他の形態の情報編成が使用されてもよい。命令324は、トポロジ及びルーティングマネージャモジュール326、トポロジ決定モジュール328、フロー決定モジュール330、ソルバーモジュール332、経路制御モジュール334、及びスケジューリングモジュール336を含み得る。
【0033】
図3に戻ると、通信システム340は、ネットワーク100のノード107、109、110、並びに1つ以上のクライアントデバイス350と通信するように構成することができる。いくつかの実施形態では、通信システム340は、ノード107、109、110の各々において制御装置データプレーンインターフェース(Control to Data-Plane Interface、CDPI)エージェントと通信するように構成されたCDPIドライバを含む。加えて、ネットワークコントローラ300の通信システム340は、1つ以上のSDNアプリケーションと関連付けられた各クライアントデバイス350においてノースバウンドインタフェース(northbound interface、NBI)ドライバと通信するように構成された、1つ以上のNBIエージェントを含んでもよい。通信システム340は、任意選択的又は代替的に、無線周波数、光周波数、光ファイバ、ケーブル、又は他の通信手段を介して、ネットワーク100内のノード107、109、110との間、及び1つ以上のクライアントデバイス350との間で信号を送受信するように構成されてもよい。
【0034】
各クライアントデバイス350は、1つ以上のプロセッサ210及び310、メモリ212及び320、データ214及び322、並びに命令216及び324に関して上述したものと同様の1つ以上のプロセッサ360、メモリ370、データ372、及び命令374を有するパーソナルコンピューティングデバイス又はサーバであってもよい。パーソナルコンピューティングデバイスは、中央処理装置(central processing unit、CPU)、データ及び命令を格納するメモリ(例えば、RAM及び内部ハードドライブ)、電子表示装置(例えば、画面を有するモニタ、小型LCDタッチスクリーン、プロジェクタ、テレビ、又は情報を表示するように動作可能な任意の他の電気デバイス)、ユーザ入力(例えば、マウス、キーボード、タッチスクリーン又はマイクロフォン)、カメラ、スピーカ、ネットワークインターフェースデバイス、及びこれらの要素を互いに接続するために使用される全ての構成要素など、パーソナルコンピュータに関連して通常使用される全ての構成要素を有するパーソナルコンピュータを含むことができる。また、パーソナルコンピューティングデバイスは、PDA、携帯電話などのモバイルデバイスも含み得る。実際には、クライアントデバイス350は、命令を処理し、人間との間でデータを送受信することができる任意のデバイス、並びに汎用コンピュータ、ローカルストレージ能力を欠いたネットワークコンピュータ、及びテレビ用のセットトップボックスを含む他のコンピュータを含み得る。いくつかのクライアントデバイス350は、ネットワーク100の範囲内で移動する航空宇宙機又は航海輸送機関に搭載され得る。いくつかの実施形態では、クライアントデバイスは、1つ以上のSDNアプリケーションと関連付けられてもよく、1つ以上のNBIドライバを有してもよい。
【0035】
図3の命令324のモジュールに目を向けると、トポロジ及びルーティングマネージャモジュール326は、1つ以上のプロセッサ310に、ネットワークコントローラ300とネットワーク100との間をインターフェース接続させてもよい。トポロジ及びルーティングマネージャモジュール326を使用して、1つ以上のプロセッサ310は、ネットワーク100内のノードの各々から情報を受信することができる。例えば、いくつかの実装形態では、トポロジ及びルーティングマネージャモジュール326は、1つ以上のプロセッサ310に、ネットワーク100内の各ノード107、109、110から、各ノードの現在の場所、各ノードの予測される経路、各ノードと関連付けられた現在のリンク、各ノードによって格納されたルーティング情報、及び現在のストレージ容量、例えば各ノードにおいて利用可能な空きビット数がある場合はそのビット数、に対応する情報を受信させることができる。各ノードの予測される経路は、航空宇宙ノード110の既知の/登録された飛行計画、又は海洋ノード109の既知の/登録された航海計画を含み得る。各ノードから受信される情報はまた、天候状態、乱気流、放射線、又はノード間のFSOCに影響を及ぼし得る他の条件に関する他の報告も含み得る。また、各ノードは、1つ以上のプロセッサ310に、ノード間の予期せぬ障害物、ノードにおける乱気流、又は1つ以上の送受信機の障害に起因して発生し得る任意の障害リンクに対応する情報を送信することもできる。
【0036】
トポロジ及びルーティングマネージャモジュール326はまた、1つ以上のプロセッサ310に、予測されるリンクメトリック及び条件を受信させてもよい。例えば、予測されるリンクメトリックは、ノード107、109、110から受信される情報に基づいて現在又は将来形成され得る仮想リンクについてのネットワーク性能メトリックの予測値を含んでもよい。ネットワーク性能メトリックは、帯域幅容量、レイテンシ、又はリンク寿命持続時間を含み得、ネットワーク100内のノード107、109、110の予測される相対運動又は軌道に基づくことができる。リンク寿命持続時間は、リンクがネットワーク100において実現可能である時間期間を表すことができる。ノード場所、予測されるノード場所又は予測されるリンクにおける天気予報もまた、ノード107、109、110又は任意選択でリモートシステムから、1つ以上のプロセッサ310によって受信され得る。
【0037】
トポロジ及びルーティングマネージャモジュール326を使用して、1つ以上のプロセッサ310は、ネットワーク100から受信された情報をメモリ320に格納してもよい。例えば、ネットワーク100内の利用可能な全てのノード及び可能なリンクを表すテーブルは、テーブル内の特定のノード又はリンクに関連する情報で更新又は注釈付けすることができる。テーブルの注釈は、ネットワーク100内の各ノードの利用可能性、各ノードの現在及び将来の場所、現在及び将来の予想される天候状態、並びにネットワーク内のノードの各々における、現在の利用可能なストレージ量及び将来の(推定される)利用可能なストレージ量を示すことができる。更に、テーブルの注釈は、特定のリンクの現在及び将来の利用可能性、並びにそのようなリンクの現在及び将来の予想される帯域幅を示すことができる。障害リンク及び予見される状態もまた、留意されテーブルに格納することができる。
【0038】
トポロジ決定モジュール328は、1つ以上のプロセッサ310に、ネットワーク100の現在又は将来のトポロジを決定させることができる。ネットワーク100の現在のトポロジの決定は、トポロジ及びルーティングマネージャモジュール326を使用して、1つ以上のプロセッサによって受信され格納された情報に基づいて行われてもよい。例えば、トポロジ決定モジュール328は、1つ以上のプロセッサ310に、各ノード107、109、110の現在の場所、ノードの各対の間に形成されたリンク130~141、及びネットワーク100内に存在し得る任意の障害リンクに関する情報を集約させてもよい。1つ以上のプロセッサ310は、この情報を、トポロジ及びルーティングマネージャモジュール326の使用を通じて受信することもできるし、メモリ320から取り出すこともできる。
【0039】
また、ネットワーク100の現在のトポロジを決定するために、トポロジ決定モジュール328を使用して、1つ以上のプロセッサ310によって追加の情報が使用されてもよい。トポロジ及びルーティングマネージャモジュール326を使用して1つ以上のプロセッサ310によって受信された予測されるリンクメトリック及びはまた、現在のトポロジにおいて利用可能なリンクの帯域幅、サービス品質、及び他の特性を決定するために使用されてもよい。いくつかの実装形態では、トポロジ決定モジュール328を使用して、1つ以上のプロセッサ310はまた、特定の時間に、又は現在時刻の若しくは現在時刻付近の特定の時間枠にわたって、気球110c、110eなどの空中ノードの飛行経路、又は無人航海輸送機関などの海洋ノードの航海経路に対応する経路制御モジュール334を使用することによって情報を受信することもでき、現在のトポロジの決定は、受信された飛行情報にも基づいて行うことができる。
【0040】
ネットワーク100の将来のトポロジを決定するために、1つ以上のプロセッサ310は、トポロジ決定モジュール328を使用して、将来の時間に関連する場所情報、予測されるリンク状態、フライト情報、利用可能なストレージ、及び/又は天気予報を集約することができる。1つ以上のプロセッサ310は、メモリ320内のテーブル又は他の場所に格納された、将来の時間において利用可能なノード及びリンク、場所情報、予測されるリンク状態、飛行情報、及び/又は天気予報に関する情報にアクセスすることができる。将来の時間についての情報は、将来の時間において、ノードがどこにあると予測されるか、並びにノード及びリンクの利用可能性、及び各ノードにおける記憶能力が何であると予測されるかを決定するために、1つ以上のプロセッサ310によって使用され得る。
【0041】
トポロジ決定モジュール328は、1つ以上のプロセッサ310に、ネットワーク100内の全ての利用可能なノード及び可能なリンク、並びに各ノード若しくはリンクと関連付けられたスケジュールされた時間若しくは時間枠を表すテーブルを生成及び又は更新することなどによって、現在若しくは将来のトポロジ又は他のトポロジ情報をメモリ320に格納させてもよい。
【0042】
フロー決定モジュール330は、1つ以上のプロセッサ310に、所与の時間又は時間枠においてネットワーク100内で決定されるフローの全てを決定させてもよい。所与のフローは、ネットワーク100を通るルーティング経路に対する1つ以上の要件であり得る。例えば、各フローは、開始局、終了局、時間枠、最小帯域幅、又は伝送のための他の要件を含み得る。1つ以上のプロセッサ310は、トポロジ決定モジュール328を使用して決定されたトポロジ情報、及び/又は1つ以上のクライアントデバイス350のクライアントデータの特性に関する情報に基づいてフローを決定することができる。クライアントデータ情報は、1つ以上のプロセッサ310によって、以下で記載するスケジューリングモジュール336を使用して、1つ以上のクライアントデバイス350又は遠隔システムから受信され得る。クライアントデータ情報は、クライアントデータの発信元及び宛先、伝送されるクライアントデータの量、及び/又はクライアントデータの伝送のタイミングを含み得る。データの量は、追加的又は代替的に、ある時間期間にわたって地理的領域内の1つ以上の特定の地上局から伝送される又はそこへ伝送されるデータの、推定される平均量であり得る。
【0043】
フローの最小帯域幅は、利用可能なシステムリソース及びリンク能力を考慮して1つ以上のプロセッサ310によって事前設定又は事前決定され得るか、又は代替として、クライアントデータに含まれる要件に基づいて決定され得る。より大量のデータを輸送するフローのために、より大きな帯域幅が設定されてもよい。1つ以上のプロセッサ310は、要求された時間にクライアントデータの量を伝送することができる、ネットワークを介した開始局と宛先局との間のフローを決定することができる。いくつかの実施形態では、1つ以上のプロセッサ310は、決定されたフローごとのサービスクラス又はサービス品質など、決定されたフローに関連する他の情報を決定してもよい。他の情報は、クライアントデバイスから受信された要件に基づくことができる。
【0044】
いくつかの実装形態では、フロー決定モジュール330は、ネットワーク100内の各ノード対間で必要とされる帯域幅の総量を決定するために、1つ以上のプロセッサ310に、1つ以上のクライアントデバイス350からのクライアントデータを集約させてもよい。集約されたクライアントデータは、例えば、メモリ320に格納され得る。更に、クライアントデータは、より詳細なレベルで集約されてもよい。例えば、ノードの各対についてのネットワークデータは、サービスクラス、サービス品質、又は任意の他の関連するネットワークトラフィック識別子によって集約され得る。フローは、関連する任意のネットワークトラフィック識別子に更に基づいて決定され得る。
【0045】
他の場合には、将来の時点におけるクライアントデータ量、発信元、及び宛先を予測するために、過去のクライアントデータトレンドを使用してもよい。フロー決定モジュール330は、1つ以上のプロセッサ310に、この将来の時点においてクライアントデバイスに直接接続可能な全てのノード間の、複数の利用可能なフローを決定させることができる。直接接続可能なノードは、ネットワーク100を使用せずにクライアントデバイスと通信することが可能であり得る。各ノード対間の予測されるクライアントデータ量は、各ノード対間の帯域幅要件を決定するために使用され得る。
【0046】
代替的に、クライアントデータ情報がない場合、1つ以上のプロセッサ310は、現在又は将来の時間においてクライアントデバイスに直接接続可能な全てのノード間の、複数の利用可能なフローを決定することができる。複数の利用可能なフローの決定は、現在又は将来のトポロジに基づくことができる。更に、この決定は、最小システム要件に基づくことができる。
【0047】
フロー決定モジュール330は、1つ以上のプロセッサ310に、決定されたフローをメモリ320に格納させる。いくつかの例では、1つ以上のプロセッサ310は、フローによりテーブルに注釈付けしてもよい。
【0048】
ソルバーモジュール332は、1つ以上のプロセッサ310に、メモリに格納されたテーブルに表されたトポロジに基づくなど、ネットワークのトポロジに基づいて、ネットワーク構成又はネットワーク構成のスケジュールを生成させることができる。第1のソルバーモジュールを使用して生成されたネットワーク構成は、他の可能な構成よりも優先して実装される主要な構成であり得る。ネットワーク構成は、決定された全てのネットワークフローを満たすことができる実現可能なネットワークトポロジを表すことができ、かつ実現可能なネットワークトポロジにおいて使用されるであろうノード及びリンクのリストと、ノード及びリンクがいつ使用されるであろうかのスケジュールとを含むことができる。ネットワーク構成のスケジュールは、決定された全てのネットワークフローを満たすことができる実現可能な一連のネットワークトポロジを表すことができる。実現可能な一連のネットワークトポロジは、ノード及びリンクのリストと、ネットワーク構成のスケジュール内の各ネットワーク構成についてノード及びリンクがいつ使用されるであろうかのスケジュールとを含むことができる。いくつかの例では、実現可能な一連のネットワークトポロジは、使用可能なストレージを有するノードにデータが格納され得るネットワークトポロジと、ノードが別のノードとの新たな接続又はリンクを形成し、新たに確立されたリンクを介してデータを伝送する次のネットワークトポロジとを含む。
【0049】
ネットワーク構成は、1つ以上のプロセッサ310によって、テーブル内の所与の時点についてのトポロジ及び所与の時点におけるトポロジのネットワーク性能メトリックに基づいて生成され得る。所与の時点におけるトポロジのための加重制約として、例えば、リンク帯域幅、リンクレイテンシ、フロー帯域幅、フロー優先度、リンク切り替え時間(すなわち、ネットワーク100内で新たなトポロジを実装するために必要な時間)、リンク持続時間、及び/又はトポロジ持続時間などの様々なネットワーク性能メトリックがモデル化されてもよい。いくつかの実施形態では、1つ以上のネットワーク性能メトリックは、メモリに格納されたテーブルに含まれなくてもよく、別のモジュール、別のノード、又は遠隔システムから受信されてもよい。
【0050】
1つ以上のプロセッサ310は、ネットワーク構成によって表されるトポロジ上の決定されたフローのためのルーティング経路を計算することもできる。所与のルーティング経路は、決定されたフロー要件を満たす所与のフローを実装するための1つの方法であり得、ネットワーク内の特定のノード及びリンク、又は一連のノード間のホップのリストを含み得る。いくつかの例では、所与のルーティング経路は、ネットワーク上で伝送されるデータの量に関する決定されたフロー要件を満たす利用可能なストレージを有するノードを含み得る。所与のルーティング経路をたどるデータは、次のホップに移動する前の時間期間にわたってノードに格納され得る。
【0051】
更に、ネットワーク構成又はネットワーク構成のスケジュールを決定するために、ネットワークの以前の状態及び以前のネットワークトポロジに対応する情報もまた使用され得る。例えば、1つ以上のプロセッサ310は、ネットワークがネットワーク構成を実装するために必要とされる以前のネットワークトポロジからの変更の数と、ネットワークがその数の変更を行うために必要とされる時間量とに少なくとも部分的に基づいて、ネットワーク構成を生成し得る。1つ以上のプロセッサ310は、代替的に、ネットワーク構成のスケジュールにおけるネットワーク構成のネットワークトポロジ間の変更の数と、ルーティングテーブルの情報を利用する変更間の時間量とに少なくとも部分的に基づいて、ネットワーク構成のスケジュールを生成してもよい。変更には、例えば、新しい方向を指すように送受信機を操向すること、又はノードのメモリに格納された転送テーブル内の転送ルールを変更することが含まれ得る。送受信機を操向することは、ノードのメモリに格納された転送テーブルを変更することよりも多くの時間を要する場合がある。生成されたネットワーク構成は、変更の数が閾値数未満であること、及び/又は時間量が閾値時間量未満であることを必要としてもよい。
【0052】
ネットワーク構成のスケジュールにおける後続のネットワーク構成のいくつかの対の場合、より前のネットワーク構成とより後のネットワーク構成との間の差は、単一のノードにおけるルーティング変更など、送受信機の方向の変更を伴わない可能性がある単一の変更である可能性がある。
【0053】
1つ以上のプロセッサ310がソルバーモジュール332を使用してネットワーク構成及びルーティング経路を生成した後、1つ以上のプロセッサ310は、生成された一次構成に含まれるリンクをノードに形成させるための実装命令を当該ノードに送信することによって(例えば、当該ノードのそれぞれの送受信機を操向すること、当該ノードのそれぞれの伝送電力レベルを調整すること、及び当該ノードの送受信周波数帯域を設定することなどにより)生成された一次構成によって表されるトポロジを実装するために、かつ一次構成及び二次構成について計算されたルーティング経路に従って、各ノードのメモリに格納されている転送テーブル内の転送ルールを更新するために、トポロジ及びルーティングマネージャモジュール326に従ってネットワーク100のノードを制御することができる。例えば、各ノードについて、ネットワークコントローラは、一次構成を実装するための1つ以上の第1の転送ルールを送信してもよい。いくつかの転送テーブルは、ネットワーク構成のスケジュールに基づく変更のスケジュールによって更新されることができ、また、次のホップの前にノードにおいてデータを格納するための命令を含むこともできる。
【0054】
経路制御モジュール334は、1つ以上のプロセッサ310に、気球110c、110eなどの空中ノードの飛行経路に関する、空中ノードに対する飛行命令、又は無人航海輸送機関などの海洋ノードの航海経路に関する、海洋ノードに対する航海命令を生成させ得る。例えば、1つ以上のプロセッサ310は、ソルバーモジュール332を使用して、決定されたネットワークフローの全てを満たすことが可能なネットワークトポロジを表すネットワーク構成を決定することができない場合がある。1つ以上のプロセッサは、ソルバーモジュール332を使用したこの失敗の理由が、ネットワーク100内の空中ノード又は海洋ノードのうちの1つ以上が、他のネットワークノードから遠くに移動しすぎてリンクを形成できないことであると決定することができる。それに応じて、1つ以上のプロセッサ310は、経路制御モジュール334を使用して、ネットワーク100の空中ノードにそれらの飛行経路を変更させるための、空中ノードに対する飛行命令、又はネットワーク100の海上ノードにそれらの航海経路を変更させ、それにより追加のリンクが形成され得るようにするための、海上ノードに対する航海命令を生成及び送信することができる。例えば、命令は、空中ノード又は海洋ノードを別のノードのより近くに移動させるか、又はそれらに空中ノード若しくは海洋ノードに障害物を回避させ得る。経路制御モジュール334を使用して、1つ以上のプロセッサによって生成された命令に従ってノードが再配置された後、ネットワークノードの新たな場所に基づいて、トポロジ及びルーティングマネージャモジュール326、又はトポロジ決定モジュール328を使用して、更新されたテーブルを作成することができる。次いで、更新されたテーブルは、ネットワーク構成を決定するために、1つ以上のプロセッサ310によってソルバーモジュール332を使用して処理され得る。
【0055】
スケジューリングモジュール336は、ネットワークコントローラ300の1つ以上のプロセッサ310を、1つ以上のクライアントデバイス350とインターフェース接続させることができる。スケジューリングモジュール336を使用して、1つ以上のプロセッサ310は、ネットワーク100上で伝送されるクライアントデータの発信元及び宛先などのクライアントデータ情報を、クライアントデバイス350から受信することができる。クライアントデバイス350から受信された他の情報には、伝送されるクライアントデータの量及び伝送のタイミングなど、クライアント要望に関連するデータが含まれてもよい。情報は、ネットワークを通る決定されたフローを決定するために、メモリ320に格納され得、かつ/又はフロー決定モジュール330に従って使用され得る。いくつかの実装形態では、ネットワークコントローラ300の1つ以上のプロセッサ310は、スケジューリングモジュール336を使用して、所与の地上局又は所与の地理的場所で利用可能な帯域幅に基づいて、1つ以上のクライアントデバイス350にクライアントデータ情報を要求することができる。
【0056】
上述したように、フロー決定モジュール330を使用して、決定されたフローが決定され、ソルバーモジュール332を使用して、ネットワーク構成が生成された後、1つ以上のプロセッサ310は、テーブル及び生成されたネットワーク構成に基づいて、ネットワーク100上でクライアントデータを伝送するためのルーティング命令を生成することができる。これらのルーティング命令は、クライアントデータの発信元場所、クライアントデータの宛先場所、及びクライアントデータの伝送のタイミングを含むことができる。いくつかの実施形態では、ルーティング命令は、前のノードからの、次のノードに伝送されるデータを一時的に格納するための、ノードへの格納命令を含んでもよい。ルーティング命令は、スケジュールを含み得、スケジュールは、クライアントデータを送信するクライアントデバイス350と直接接続可能であるネットワークのノードに格納され得る。次いで、1つ以上のプロセッサ310は、クライアントデバイス350と直接接続可能なノードにルーティング命令を送信して、当該ノードに、スケジュールに従って決定されたフローを介してクライアントデータを受信させ、クライアントデータの送信を開始させることができる。
【0057】
クライアントデータ情報なしでフローが決定されるいくつかの実施形態では、スケジューリングモジュール336は、1つ以上のプロセッサ310に、1つ以上のクライアントデバイス350のうちのあるクライアントデバイスにメッセージを送信させることができる。このメッセージは、フロー決定モジュール330を使用して決定された、決定されたフローと、ソルバーモジュール332を使用して生成された、ネットワーク構成とに基づいて、ネットワークを通るフローの利用可能性を示すことに関するものである。メッセージはまた、フローが利用可能である時間若しくは時間枠、及び/又は各フローと関連付けられたデータの伝送のための価格を含み得る。スケジュールモジュール336を使用して、1つ以上のプロセッサ310は、クライアントデータを伝送するために決定されたフローのうちの1つを使用する要求を含む応答を、1つ以上のクライアントデバイス350のうちの1つから受信することができる。次いで、1つ以上のプロセッサ310は、決定されたフローを介してクライアントデータの伝送を開始するためのルーティング命令を、1つ以上のノードに送信することができる。
【0058】
方法の例
次に、上述し図に示したシステムに加えて、様々な動作について記載する。
図4では、上述した態様のうちのいくつかによるフロー
図400が示され、これは、少なくとも1つの海洋ノード又は少なくとも1つの航空宇宙ノードを含む海洋ネットワークのためのネットワーク構成を決定するために、ネットワークコントローラ300の1つ以上のプロセッサ310によって実施され得る。海洋ネットワークは、海上又は海の上方を移動する航海輸送機関又は航空宇宙機のカバレージを提供し得る。追加的又は代替的に、ノードの1つ以上のプロセッサが、動作のうちの1つ以上を実施してもよい。
図4は特定の順序でブロックを示しているが、順序は変更されてもよく、複数の動作が同時に実施されてもよい。また、動作が追加又は省略されてもよい。
【0059】
ブロック402において、ネットワークコントローラ300の1つ以上のプロセッサ310は、スケジューリングモジュール336を使用するなどして、ネットワーク100上で伝送されるクライアントデータに関するクライアント情報を受信し得る。いくつかの例では、クライアント情報は、ネットワーク100の1つ以上のノードから、通信システム340を介して受信され得る。1つ以上のクライアントデバイス350は、ネットワークの所与のノードの範囲内にあるときに、所与の当該ノードと通信することができる。例えば、1つ以上のクライアントデバイス350は、1つ以上の当該クライアントデバイス350が船舶109a、109bなどの海洋ノード上にあるときに、所与の当該海洋ノードと通信することができる。同様に、1つ以上のクライアントデバイス350は、1つ以上の当該クライアントデバイス110bが航空宇宙ノードにあるときに、航空機110bなど所与の当該航空宇宙ノードと通信することができる。他の例では、クライアント情報は、1つ以上のクライアントデバイス350から、通信システム340を介して直接受信され得る。この例では、1つ以上のクライアントデバイス350は、ネットワークコントローラ300の範囲内を移動する航空宇宙機又は航海輸送機に搭載することができ、ネットワークコントローラ300と通信するように構成することができる。クライアント情報は、クライアント場所情報及びクライアントデータ情報を含み得る。クライアント場所情報は、1つ以上のクライアントデバイスが所与のノードと通信しているときに、所与の当該ノードの場所を示し得る。クライアントデータ情報はまた、1つ以上のクライアントデバイスから伝送されるか又はそれに伝送されるデータの量も含み得る。いくつかの代替形態では、クライアント情報は、1つ以上のクライアントデバイス又は所与のノードのカバレージ領域の挙動履歴に基づいて、1つ以上のプロセッサ310によって予測することができる。
【0060】
図5Aに示されるように、地
図500は、クライアントデバイスを持ち運ぶか又はそれと通信する船舶109bの複数の位置を示し、船舶109bの航海経路を図示している。複数の位置は、Yucatan半島に沿ったBelize CityとCancunとの間の位置、CancunとCayman諸島との間の位置、及びCayman諸島とBelize Cityとの間の位置を含む。地上局107aは、Cancun近くの第1の沿岸場所108aに示されており、地上局107bは、Belize City近くの第2の沿岸場所108bに示されている。地
図500において、第3の沿岸場所108cは、別の地上局が位置するCayman諸島に示されている。船舶109bの航海経路は、1つ以上のプロセッサ310によって、クライアント情報の一部として受信することができる。いくつかの例では、クライアントデータが伝送されるタイミングに対応する、船舶109bの航海経路の一部のみが1つ以上のプロセッサ310によって受信されてもよい。代替的に、1つ以上のプロセッサ310は、地
図500に示される船舶109bの複数の位置を受信し、船舶109bのおおよその航海経路は
図5Bに示される複数の位置の全てを包含する影付きの経路502になると決定することができる。
【0061】
ブロック404において、ネットワークコントローラ300の1つ以上のプロセッサ310は、トポロジ及びルーティングマネージャモジュール326を使用するなどして、ネットワーク100の複数のノードの各々から場所情報を受信し得る。場所情報は、GPS座標又は別のタイプの座標であってもよい。いくつかの例では、場所情報には、各ノードについての予測される又は既知の軌道が含まれ得る。所与の海洋ノード又は所与の航空宇宙ノードについての予測される軌道は、現在場所と、機首方位、速度、海洋マーカ若しくは他の船舶に対する位置などの進行特性と、に基づき得る。巡航定期船などの所与の海洋ノードの場合、既知の軌道はあらかじめ決められた航海経路であり得、これは、経時的な巡航定期船の位置又は位置の範囲を示す。航海経路は、巡航定期船が航海経路に沿った位置にあるときのスケジュールを含み得る。いくつかの例では、ネットワーク100は、同一又は同様のルートに沿って移動する複数の海洋ノードを含み得る。例えば、船舶109aは、
図5A~
図5Bに示されるBelize Cityと、Cancunと、Cayman諸島との間で、船舶109bと同一又は同様の航海経路を有し得る。
【0062】
同様の場所情報が、航空宇宙ノード及びその予測される又は既知の飛行軌道について受信され得る。場所情報は、天候状態など、複数のノードの各場所の又はその近くの状態を含むことができる。
【0063】
図5Cに示される例示的なシナリオでは、受信された場所情報は、航空宇宙ノード110aが、現在天候が晴れている場所Aにおいて利用可能であると判定され、また1時間後に場所F(点線の円及びイタリック体で表示される)になると予測もされることを含む。航空宇宙ノード110bの場合、受信された場所情報は、航空宇宙ノード110dに向かう一方向の雷雨があることを除いて、場所Bにおいて天候が概ね晴れている場所Bにあることを含む。航空宇宙ノード110c、110d、及び110eの場合、受信された場所情報は、それぞれ同様に現在天候が晴れている場所C、D、及びEにあることを含む。海洋ノード109aの場合、受信された場所情報は、現在、地上局107aの範囲内にある場所Gに位置しており、1時間後に地上局107aの範囲外である場所Hになると予測される(点線の円及びイタリック体で表示される)ことを含む。海洋ノード109bの場合、受信された場所情報は、現在、Cayman諸島に近い場所Iに位置しており、1時間後に、場所Iから海の方に更に離れた場所Jになると予測される(点線の円及びイタリック体で表示される)ことを含む。
【0064】
ブロック406において、クライアント情報及び場所情報に基づいて、ネットワークコントローラ300の1つ以上のプロセッサ310は、ソルバーモジュール332を使用するなどして、ネットワークを通る1つ以上のルーティング経路のために形成される複数のリンクを含むネットワーク構成を決定し得る。特に、ネットワーク構成は、ネットワークのトポロジを決定し、受信したクライアントデータ情報に従ってクライアントデータに必要なトポロジを通るフローを決定し、かつクライアントデータのルーティング経路としてトポロジを通る1つ以上のフローを選択することによって決定され得る。また、ネットワーク構成は、ルートに沿ったホップ間の距離が最大距離未満となるように決定されてもよい。最大距離は、ノード間で伝送されている通信信号のタイプによって定義される。具体的には、最大距離は、あるタイプの通信信号があるノードから確実に送信され、別のノードによって受信され得る距離であり得る。最大距離は、そのタイプの通信信号を減衰させ得るノードにおける状態又はそのようなノード間の状態によって、更に定義され得る。いくつかの例では、最大距離は50キロメートルであり得るが、それより長くても短くてもよい。1つ以上のクライアントデバイスと関連付けられた海洋ノードが、任意の地上ノードから最大距離を超えて位置するとき、ネットワーク構成は、海洋ノードと航空宇宙ノード又は別の海洋ノードとの間のリンクを、地上ノードへのホップの前の中間ホップとして含み得る。海洋ノードが、同一又は同様のルートに沿って移動する複数の海洋ノードのうちの1つであるとき、ネットワーク構成は、複数のこれらの海洋ノード内の別の海洋ノードとの1つ以上のリンクを含み得る。
【0065】
ネットワーク100のトポロジを決定するために、1つ以上のプロセッサ310は、トポロジ決定モジュール328を使用してもよい。クライアントデータがネットワーク100上で伝送されるときのために、ネットワーク100の複数のノードの各々から受信した場所情報が選択されてもよい。トポロジは、利用可能なノード、可能なリンク、並びに利用可能なノード及び可能なリンクの状態に関連する対応するデータを含むことができる。ネットワークコントローラは、所与のクライアントデバイスと関連付けられた所与の海洋ノードの場所についての場所情報、所与の海洋ノードとの間でルーティングされるデータの予測される量、ネットワーク内の複数のノードについての場所情報、及び複数のノードの場所の各々における状態を考慮に入れることができる。
【0066】
ノード109a~109b、110a~110eについて受信された情報に従い、現在のトポロジ600は、
図6に示されるように全てのノードを含むように決定されてもよい。なぜなら、それら全てのノードが
図5Cに示されるそれらの現在場所において利用可能であるからである。別の例では、航空宇宙ノード110cが、場所Cにおけるそれ自体の場所を1つ以上のプロセッサ310に報告しなかったが、飛行制御モジュール334を使用して飛行経路又は軌道をあらかじめ報告した場合、1つ以上のプロセッサ310は、その飛行経路又は軌道に基づいて現在航空宇宙ノード110cが場所Cにあることを決定し、航空宇宙ノード110cを現在のトポロジに含めることができる。加えて、リンク130、132~137、及び139~141は、現時点で利用可能であるので(
図6では実線矢印で示される)、トポロジ600に含まれ、一方、リンク131及び138は利用可能ではない(一点鎖線で示される)。リンク130、132~137、及び139~141は、各リンクの範囲に基づいて、又はノードの対間で正常に伝送された信号に基づいて、利用可能であると決定されてもよい。リンク131については、航空宇宙ノード110aからの要求に対して航空宇宙ノード110cが無応答を示したことに基づいて、リンク131が現時点で障害を有すると決定されてもよい。リンク138については、航空宇宙ノード110bと航空宇宙ノード110dと間の雷雨により、リンク138が現時点で利用不可能であると決定されてもよい。リンク136については、海洋ノード109aが地上局107aの範囲外に移動していることにより、リンク136が将来の時点で利用可能ではないと決定されてもよい。利用可能なノード及び可能なリンクはまた、予測される将来のノードの場所、又は各ノードにおける予測される状態、例えば天気予報に基づいて、現時点以外の異なる時点について決定されてもよい。いくつかの実装形態では、現在のトポロジ内の可能な各リンクはまた、受信された情報に基づいて決定される、帯域幅などのリンクメトリックでラベル付けされてもよい。
【0067】
1つ以上のプロセッサ310は更に、可能なフローを決定するためにフロー決定モジュール330を使用してもよい。可能なフローは、トポロジ内のノード及びリンク、クライアントデータの所望の宛先、並びにクライアントデータに対する他の要件に従って決定することができる。ネットワーク構成が、ネットワークノードの能力を使用してクライアントデータの要件を満たすように、可能なフローのうちの1つ以上が選択され得る。
図6に示されるように、地上局107bから地上局107aへの可能な複数のフローから、薄い色の矢印で示される第1のルーティング経路が第1のクライアントデータのために選択され得、地上局107aから地上局107bへの可能な複数のフローから、切り刻み線で塗りつぶされた矢印で示される第2のルーティング経路が第2のクライアントデータのために選択され得、船舶109aから地上局107aへの可能な複数のフローから、灰色の矢印で示される第3のルーティング経路が第3のクライアントデータのために選択され得る。いくつかの実装形態では、帯域幅制約又は必要性に基づいて、所与のクライアントデータに対して2つ以上のルーティング経路が選択されてもよい。
【0068】
第1のルーティング経路は、地上局107bから航空宇宙ノード110bまでのリンク135を通る第1の経路部分、航空宇宙ノード110bから航空宇宙ノード110aまでのリンク132を通る第2の経路部分、及び航空宇宙ノード110aから地上局107aまでのリンク130を通る第3の経路部分を含み得る。第2のルーティング経路は、地上局107aから海洋ノード109aまでのリンク136を通る第1の経路部分、海洋ノード109aから航空宇宙ノード110bまでのリンク137を通る第2の経路部分、航空宇宙ノード110bから航空宇宙ノード110cまでのリンク133を通る第3の経路部分、及び航空宇宙ノード110cから地上局107bまでのリンク134を通る第4の経路部分を含み得る。第3のルーティング経路は、海洋ノード109bから航空宇宙ノード110eまでのリンク141を通る第1の経路部分、航空宇宙ノード110eから航空宇宙ノード110dまでのリンク140を通る第2の経路部分、航空宇宙ノード110dから海洋ノード109aまでのリンク139を通る第3の経路部分、及び海洋ノード109aから地上局107aまでのリンク136を通る第4の経路部分を含み得る。第3のルーティング経路に示されるように、船舶109bは、地上局107aに伝送されるクライアントデータを有するが、地上局107aからは最大距離50キロメートルを超えている。したがって、地上局107aに到達するためには航空宇宙ノード110e、航空宇宙ノード110d、及び船舶109aへのホップを有する必要がある。
【0069】
ネットワーク上で伝送されるクライアントデータの現時点でのルーティング経路に基づいて、1つ以上のプロセッサ310は、
図7に示すように、ネットワーク構成700がリンク130、132~137、139~141を含むように決定することができる。ネットワーク構成から省略されたリンク131及び138などのリンクは、現時点で形成される必要はない。ネットワーク構成700を決定することは、ネットワークの1つ以上のノードに送信される各ルーティング経路についての、ルーティング命令又は転送ルールを決定することも含み得る。ルーティング命令は、向かう方向、切り替え設定、又はビーム構成など、ネットワーク構成内のリンクを形成することに関する命令を含むことができる。ルーティング命令はまた、クライアントデータを搬送するパケット内にカプセル化されたクライアントデータのための転送ルールを含んでもよい。
【0070】
追加的に、ブロック408において、ネットワークコントローラ300の1つ以上のプロセッサ310は、ネットワーク構成の一部として1つ以上の追加のノード場所を決定し得る。1つ以上のノード場所は、1つ以上のクライアントデバイスと関連付けられた所与のノード又は当該クライアントデバイスがバックホールカバレージのないゾーンを通って移動しているときに、所与の当該ノードのためのバックホールリンクを完了するように決定され得る。他の例では、1つ以上のノード場所は、カバレージがない場合にアクセスリンクを完了するように決定され得る。1つ以上のノード場所は更に、所与のノード又はクライアントデバイスがゾーン内を移動している特定の時点のために決定され得る。他の例では、1つ以上のノード場所は、ゾーン、及びゾーンを通って移動する任意のノードのための、連続カバレージのためにより永続的であるように決定され得る。1つ以上のノード場所は、気球又はドローンなどの無人航空機若しくは無人航海輸送機関が移動するように制御され得る場所、又は設定された経路を移動するノードの予測される場所であり得る。
【0071】
ネットワークコントローラ300の1つ以上のプロセッサ310は、所与の海洋ノードがネットワーク内の別のノードの範囲外にあるか又はその逆である、少なくとも1つのゾーンを識別することができる。1つ以上のノード場所は、所与の海洋ノードが少なくとも1つのゾーン内にあるときに、所与の海洋ノードにサービスを提供するように決定され得る。例えば、1つ以上のノード場所は、航空宇宙ノード又は他の海洋ノードが、少なくとも1つのゾーン内の所与の海洋ノードをネットワークの別のノードとリンクするために、少なくとも1つのゾーンの範囲内にある場所であり得る。1つ以上のノード場所はまた、所与の海洋ノード場所における、又は海洋ノード場所と可能な航空宇宙場所との間の、予測される条件に基づいて決定されてもよい。
【0072】
図8に示される例では、ゾーンは、それぞれ円802、804、806によって示される地上局107a、107b、107cの範囲の外側にある船舶109bのおおよその航海ルート502の領域を含むことができる。船舶109bが、CancunとCayman諸島との間の航海経路502の部分を移動しているとき、船舶109aがCancun付近の地上局107aともCayman諸島の地上局107cとも通信できない第1の領域がある。このシナリオでは、1つ以上のプロセッサ310は、地上局107aへの第1の領域のための中間ホップを提供するための航空宇宙場所810、及び地上局107cへの領域のための中間ホップを提供するための航空宇宙場所812を決定することができる。船舶109bが、Cayman諸島とBelize Cityとの間の航海経路502の部分を移動しているとき、船舶109aがCayman諸島の地上局107cともBelize City付近の地上局107bとも通信できない第2の領域がある。このシナリオでは、1つ以上のプロセッサ310は、航空宇宙場所814、並びに海洋場所820及び822を決定することができる。海上場所820は無人航海輸送機関に対するものであり、海上場所822は、船舶109bが第2の領域にあるときの船舶109aの予測される場所である。
【0073】
ブロック410において、ネットワークコントローラ300の1つ以上のプロセッサ310は、経路制御モジュール334を使用するなどして、1つ以上のノード場所に移動するための命令を1つ以上のノードに送信し得る。いくつかの例では、命令は、1つ以上のノード場所において軌道保持を実施するための命令を含み得る。1つ以上のノードは、場所情報、システム条件、又は他の特性に基づいて選択され得る。例えば、航空宇宙ノード110dには航空宇宙場所810に移動するための命令が送信され得、航空宇宙ノード110eには812に移動するための命令が送信され得、これは、これらのノードがこれらのそれぞれの場所に最も近いことを考慮している。ネットワーク内にもともと存在しない追加のノードが1つ以上のノード場所に送られてもよく、又は1つ以上のノード場所における1つ以上のノード若しくはネットワーク内の複数の地上ノードに追加のサポートを提供してもよい。場合によっては、所与のノード場所におけるノードを地上ノード場所とリンクさせるために、所与の当該ノード場所と当該地上ノード場所との間の場所に1つ以上の追加のノードが送られてもよい。
【0074】
図4に更に示されるように、ブロック412において、ネットワークコントローラ300の1つ以上のプロセッサ310は、ネットワーク100のノード107、109、110にネットワーク構成を実装させるための実装命令を、当該ネットワークの当該ノードに送信し得る。例示的なシナリオでは、ネットワーク構成について、ノード107、109、110への実装命令は、リンクを形成し、少なくとも
図7に示されるルーティング経路部分を実装するための命令を含んでもよい。したがって、実装命令は、リンク130及び136を形成するために、1つ以上の送受信機をそれぞれ航空宇宙ノード110a及び船舶109aの方に向けるための地上局107aへの命令、リンク135及び134を形成するために、1つ以上の送受信機をそれぞれ航空宇宙ノード110b及び110cの方に向けるための地上局107bへの命令、リンク130及び132を形成するために、1つ以上の送受信機をそれぞれ地上局107a及び航空宇宙ノード110bの方に向けるための航空宇宙ノード110aへの命令、リンク135、132、133及び137を形成するために、1つ以上の送受信機をそれぞれ地上局107b、航空宇宙ノード110a、航空宇宙ノード110c、及び船舶109aの方に向けるための航空宇宙ノード110bへの命令、リンク134及び133を形成するために、1つ以上の送受信機をそれぞれ地上局107b及び航空宇宙ノード110bの方に向けるための航空宇宙ノード110cへの命令、リンク136、137、及び139を形成するために、1つ以上の送受信機をそれぞれ地上局107a、航空宇宙ノード110b、及び航空宇宙ノード110dの方に向けるための船舶109aへの命令、リンク139及び140を形成するために、1つ以上の送受信機をそれぞれ船舶109a及び航空宇宙ノード110eの方に向けるための航空宇宙ノード110dへの命令、リンク140及び141を形成するために、1つ以上の送受信機をそれぞれ110d及び船舶109bの方に向けるための航空宇宙ノード110eへの命令、及びリンク141を形成するために、1つ以上の送受信機を航空宇宙ノード110eの方に向けるための船舶109bへの命令を含むことができる。場合によっては、ネットワーク構成内の1つ以上のリンクがすでに形成されている可能性があり、その場合、送受信機の方向を変更する必要はない。
【0075】
将来の時間、将来の時間枠、又は他の時点のために生成されたネットワーク構成の場合、実装命令は、ネットワーク100内のスケジュールされた変更を格納することを含み得、このスケジュールされた変更とは、例えば、各ノードにおいて将来の時点でクライアントデータを伝送する前に発生し得る、新たなルーティング経路を実装するように送受信機を操向することなどである。したがって、実装命令は、各ノードにおける転送テーブル内の転送ルールを、将来のネットワーク構成に従って新しいルーティング経路を実装するための新しいルーティング経路及び時間若しくは時間枠で更新することを含むことができる。時間又は時間枠に達したとき、実装命令に従って、ネットワーク100のノード107、109、110に将来のネットワーク構成を自動的に実装させてもよい。
【0076】
上述のネットワーク構成700は、海洋ノード109bと関連付けられたクライアントデータに対して部分的に生成されるが、飛行機110bなどの航空宇宙ノード、又は地
図500に示された領域の上方を飛行するクライアント旅客機と関連付けられたクライアントデータに対して同じプロセスが実施されてもよい。クライアントデータ情報は、ブロック402と同様、ノード又はクライアントから受信されてもよいし、クライアント旅客機の履歴又はノード若しくはクライアントと関連付けられたいくつかのクライアントデバイスの推定された挙動を考慮して予測されてもよい。1つ以上のプロセッサ310によって識別される少なくとも1つのゾーンは、上述した
図5C及びブロック406と同様、領域内の旅客機又は他の飛行機の航空交通量が最も多い空中のレーンを含むことができる。ブロック406及び408で上述したように、特定のノード場所を含むネットワーク構成は、航空宇宙ノード又は海洋ノードが少なくとも1つのゾーンをサポートするように決定され得る。ブロック410及び412で上述したように、命令は次いで、ネットワークのノードに送信され得る。そのような航空宇宙ノード又はクライアント旅客機と通信するノードの1つ以上の送受信機は、海洋ノード又は地上ノードと通信するノードよりも高い位置に向けられる。そのため、航空宇宙ノード又はクライアント旅客機へのアクセスを提供するように構成された気球などの特定のタイプのノードが存在し得る。
【0077】
本明細書の技術は、巡航定期船などの海洋ノードをサポートするネットワークを作成する。航空宇宙ノード及び他の海洋ノードは、海洋ノードが地上ノードの範囲内にないときであっても、地上ノードからこの海洋ノードへのアクセス又はバックホールサービスを提供することができる、メッシュネットワークを形成することができる。高高度プラットフォームなどの航空宇宙ノード及び他の海洋ノードを利用することによって、ネットワークにおける容量のコスト及びレイテンシを低減することができる。加えて、航空宇宙ノードは、海洋ノードとの通信のための追加の帯域幅を提供することができる。更に、航空宇宙ノードの場所を調整できることにより、天候又は海洋ノードの近くの物体によって障害が引き起こされる可能性があるときに、ネットワークに堅牢性を追加することができる。
【0078】
特に明記しない限り、前述の例及び実施形態は相互に排他的ではなく、独自の利点を達成するために様々な組み合わせで実施することができる。上記の特徴のこれら及び他の変形及び組み合わせは、特許請求の範囲によって定義される主題から逸脱することなく利用でき、実施形態の前述の説明は、特許請求の範囲によって定義される主題の限定としてではなく、例示として解釈されるべきである。更に、本明細書に記載の例の提供、並びに「など」、「含む」などの表現は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではなく、むしろ、これらの例は、多くの可能な実施形態のうちの1つのみを説明することを意図している。更に、異なる図面の同じ参照符号は、同一又は同様の要素を識別することができる。