IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクモバイル株式会社の特許一覧

特許7402353航空宇宙ネットワークノード用の縮小された転送ルール
<>
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図1
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図2
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図3
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図4
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図5
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図6
  • 特許-航空宇宙ネットワークノード用の縮小された転送ルール 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】航空宇宙ネットワークノード用の縮小された転送ルール
(51)【国際特許分類】
   H04L 61/5084 20220101AFI20231213BHJP
   H04L 45/42 20220101ALI20231213BHJP
   H04L 45/02 20220101ALI20231213BHJP
   H04L 45/74 20220101ALI20231213BHJP
【FI】
H04L61/5084
H04L45/42
H04L45/02
H04L45/74
【請求項の数】 18
(21)【出願番号】P 2022560045
(86)(22)【出願日】2021-06-01
(65)【公表番号】
(43)【公表日】2023-07-28
(86)【国際出願番号】 US2021035182
(87)【国際公開番号】W WO2021262400
(87)【国際公開日】2021-12-30
【審査請求日】2022-12-21
(31)【優先権主張番号】63/043,948
(32)【優先日】2020-06-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/146,506
(32)【優先日】2021-01-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】バリット、ブライアン
(72)【発明者】
【氏名】ヘニウルフ、ポール
(72)【発明者】
【氏名】クライン、エリック
【審査官】宮島 郁美
(56)【参考文献】
【文献】米国特許出願公開第2008/0008179(US,A1)
【文献】米国特許出願公開第2012/0263042(US,A1)
【文献】米国特許出願公開第2018/0316603(US,A1)
【文献】成層圏プラットホーム-21世紀の革新的通信インフラ-,電子情報通信学会誌 第83巻 第9号,2000年09月25日,p.699-706
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
方法であって、
ネットワーク内の複数のノードのそれぞれから位置情報を受信する段階であって、前記複数のノードが、前記ネットワークの別のノードに対して移動している少なくとも1つのノードを有する、段階と、
前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換する段階であって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、段階と、
前記ネットワークの所与のノードのターゲット領域を、複数のルーティングパスに基づき、ネットワークコントローラの1つまたは複数のプロセッサによって識別する段階であって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、段階と、
前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記ネットワーク内の1つまたは複数のノードに、1つまたは複数の転送ルールを発信する段階であって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、段階と
を備え
前記ターゲット領域内の前記2つまたはそれ以上のノードが、移動ノードを有し、
前記方法が、
前記移動ノードの新しい位置情報を受信する段階と、
前記新しい位置情報に基づき、前記移動ノードの新しいネットワークアドレスを決定する段階と、
前記新しいネットワークアドレスが、前記ターゲット領域内の前記2つまたはそれ以上のノードの前記対応するネットワークアドレスに共通した前記共通セグメントを有していない場合、前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記新しいネットワークアドレスを前記移動ノードに発信する段階と
をさらに備える、方法。
【請求項2】
前記階層セルベースの分割方式が、球面幾何学ライブラリに基づく、請求項1に記載の方法。
【請求項3】
前記受信したそれぞれのノードの位置情報を変換する前記段階が、
前記複数のノードのそれぞれのノードについて、前記ノードの位置を、前記ノードからの前記位置情報を使用して、地球のモデルおよび地球をカプセル化した立方体に投影する段階であって、前記地球をカプセル化した前記立方体が、前記階層セルベースの分割方式を使用して複数のセルに分割されている、段階と、
前記ノードの前記位置の前記対応するネットワークアドレスを、前記複数のセルのうち、前記投影された位置が含まれる所与のセルに基づき決定する段階と
を有する、請求項1または2に記載の方法。
【請求項4】
前記対応するネットワークアドレスが、前記所与のセルのセル識別子のセグメントを有する、請求項3に記載の方法。
【請求項5】
前記受信したそれぞれのノードの位置情報を変換する前記段階が、前記ノードの位置に対応したセル識別子を、前記受信した位置情報に基づきデータベースから検索する段階であって、前記セル識別子が、前記階層セルベースの分割方式から導出されている、段階を有する、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記ターゲット領域を識別する前記段階が、前記複数のルーティングパスについて、前記ネットワーク用にネットワーク構成を生成する段階を有する、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記対応するネットワークアドレスを、前記ネットワーク内の前記複数のノードのそれぞれのノードに発信する段階をさらに備える、請求項1からのいずれか一項に記載の方法。
【請求項8】
前記ネットワークを通るルーティングパスを前記複数のノードの前記位置情報に基づき、前記ネットワークコントローラの前記1つまたは複数のプロセッサによって決定する段階であって、前記ルーティングパスが、送信元ノードおよび複数のネクストホップを識別する、段階を、前記方法がさらに備え、
前記1つまたは複数の転送ルールを発信する前記段階が、前記ルーティングパスに沿ったセグメントルーティングのために、前記複数のネクストホップをパケットのヘッダにカプセル化するための命令を前記送信元ノードに発信する段階を有する、請求項1からのいずれか一項に記載の方法。
【請求項9】
ネットワークのためのネットワークコントローラであって、前記ネットワークが、別のノードに対して移動している少なくとも1つのノードを含んでおり、前記ネットワークコントローラが、
1つまたは複数のプロセッサであって、
前記ネットワーク内の複数のノードのそれぞれから位置情報を受信することを行い、
前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換することであって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、変換することを行い、
前記ネットワーク内の所与のノードのターゲット領域を、複数のルーティングパスに基づき識別することであって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、識別することを行い、
前記ネットワーク内の前記1つまたは複数のノードに、1つまたは複数の転送ルールを発信することであって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、発信することを行う
ように構成されたプロセッサを備え、
前記ターゲット領域内の前記2つまたはそれ以上のノードが、移動ノードを有し、
前記1つまたは複数のプロセッサが、
前記移動ノードの新しい位置情報を受信し、
前記新しい位置情報に基づき、前記移動ノードの新しいネットワークアドレスを決定し、
前記新しいネットワークアドレスが、前記ターゲット領域内の前記2つまたはそれ以上のノードの前記対応するネットワークアドレスに共通した前記共通セグメントを有していない場合、前記新しいネットワークアドレスを前記移動ノードに発信する
ようにさらに構成されている、ネットワークコントローラ。
【請求項10】
前記階層セルベースの分割方式が、球面幾何学ライブラリに基づく、請求項に記載のネットワークコントローラ。
【請求項11】
前記1つまたは複数のプロセッサが、前記受信したそれぞれのノードの位置情報を、地球のモデルにおけるノードの位置に基づき変換するようにさらに構成されており、地球の前記モデルが、地球をカプセル化した、前記階層セルベースの分割方式を使用して複数のセルに分割された立方体を含む、請求項または10に記載のネットワークコントローラ。
【請求項12】
前記対応するネットワークアドレスが、前記複数のセルのうち、地球の前記モデルにおいて前記ノードが位置する1つのセルのセル識別子のセグメントを含む、請求項11に記載のネットワークコントローラ。
【請求項13】
前記1つまたは複数のプロセッサが、前記受信したそれぞれのノードの位置情報を、前記ノードの位置に対応するセル識別子を記憶したデータベースに基づき変換することであって、前記セル識別子が、前記階層セルベースの分割方式から導出されている、変換することを行うように構成されている、請求項から12のいずれか一項に記載のネットワークコントローラ。
【請求項14】
前記1つまたは複数のプロセッサが、前記複数のルーティングパスについて、前記ネットワーク用にネットワーク構成を生成するようにさらに構成されている、請求項から13のいずれか一項に記載のネットワークコントローラ。
【請求項15】
前記1つまたは複数のプロセッサが、前記対応するネットワークアドレスを、前記ネットワーク内の前記複数のノードのそれぞれのノードに発信するようにさらに構成されている、請求項から14のいずれか一項に記載のネットワークコントローラ。
【請求項16】
前記1つまたは複数のプロセッサが、
前記ネットワークを通るルーティングパスを、前記複数のノードの前記位置情報に基づき決定することであって、前記ルーティングパスが、送信元ノードおよび複数のネクストホップを識別する、決定することを行うようにさらに構成されており、
前記1つまたは複数の転送ルールが、前記ルーティングパスに沿ったセグメントルーティングのために、前記複数のネクストホップをパケットのヘッダにカプセル化するための、前記送信元ノードに対する命令を有する、請求項から15のいずれか一項に記載のネットワークコントローラ。
【請求項17】
1つまたは複数のプロセッサに、
ネットワーク内の複数のノードのそれぞれから位置情報を受信する手順であって、前記複数のノードが、前記ネットワークの別のノードに対して移動している少なくとも1つのノードを有する、手順と、
前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換する手順であって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、手順と、
前記ネットワーク内の所与のノードのターゲット領域を、複数のルーティングパスに基づき識別する手順であって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、手順と、
前記ネットワーク内の1つまたは複数のノードに、1つまたは複数の転送ルールを発信する手順であって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、手順と
前記ターゲット領域内の前記2つまたはそれ以上のノードに含まれる移動ノードの新しい位置情報を受信する、手順と、
前記新しい位置情報に基づき、前記移動ノードの新しいネットワークアドレスを決定する、手順と、
前記新しいネットワークアドレスが、前記ターゲット領域内の前記2つまたはそれ以上のノードの前記対応するネットワークアドレスに共通した前記共通セグメントを有していない場合、前記新しいネットワークアドレスを前記移動ノードに発信する手順と
実行させるための、コンピュータプログラム。
【請求項18】
前記階層セルベースの分割方式が、球面幾何学ライブラリに基づく、請求項17に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
[関連出願の相互参照]
本願は、2020年6月25日出願の米国仮特許出願第63/043,948号の出願日の利益を主張する2021年1月12日出願の米国出願第17/146,506号の優先権を主張し、これらの開示内容全体を、参照により本明細書に組み込む。
【0002】
航空宇宙ネットワークおよび他のモバイルネットワークなどの、指向性のポイントツーポイントネットワークまたはポイントツーマルチポイントネットワークを介して、情報を送信することができる。そのようなネットワークでは、それぞれのノード対の送受信機を互いに向けて照準することにより、ノードの対の間にリンクを形成することができる。ネットワークノードの送受信機を、離散したユーザ端末もしくはノードに向けるか、または何らかの離散点に向けてステアリングして、全体的な地理的エリアをカバーすることによっても、リンクを形成することができる。いくつかの実装形態において、ノードは、地球に対して運動している非静止衛星軌道(NGSO)衛星または他の高高度プラットフォーム(HAP)を含んでよい。
【発明の概要】
【0003】
本開示の態様は、方法を提供する。方法は、ネットワーク内の複数のノードのそれぞれから位置情報を受信する段階であって、前記複数のノードが、前記ネットワークの別のノードに対して移動している少なくとも1つのノードを有する、段階と、前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換する段階であって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、段階と、前記ネットワークの所与のノードのターゲット領域を、複数のルーティングパスに基づき、ネットワークコントローラの1つまたは複数のプロセッサによって識別する段階であって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、段階と、前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記ネットワーク内の1つまたは複数のノードに、1つまたは複数の転送ルールを発信する段階であって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、段階とを備える。
【0004】
一例において、階層セルベースの分割方式は、球面幾何学ライブラリに基づく。別の例において、前記受信したそれぞれのノードの位置情報を変換する段階は、前記複数のノードのそれぞれのノードについて、前記ノードの位置を、前記ノードからの前記位置情報を使用して、地球のモデルおよび地球をカプセル化した立方体に投影する段階であって、前記地球をカプセル化した前記立方体が、前記階層セルベースの分割方式を使用して複数のセルに分割されている、段階と、前記ノードの前記位置の前記対応するネットワークアドレスを、前記複数のセルのうち、前記投影された位置が含まれる所与のセルに基づき決定する段階とを有する。この例において、対応するネットワークアドレスは、任意選択で、所与のセルのセル識別子のセグメントを含む。
【0005】
さらなる例において、前記受信したそれぞれのノードの位置情報を変換する前記段階は、前記ノードの位置に対応したセル識別子を、前記受信した位置情報に基づきデータベースから検索する段階であって、前記セル識別子が、前記階層セルベースの分割方式から導出されている、段階を有する。さらに別の例において、前記ターゲット領域を識別する前記段階は、前記複数のルーティングパスについて、前記ネットワーク用にネットワーク構成を生成する段階を有する。さらなる例において、前記ターゲット領域内の前記2つまたはそれ以上のノードが、移動ノードを有し、方法は、前記移動ノードの新しい位置情報を受信し、前記新しい位置情報に基づき、前記移動ノードの新しいネットワークアドレスを決定する段階と、前記新しいネットワークアドレスが、前記ターゲット領域内の前記2つまたはそれ以上のノードの前記対応するネットワークアドレスに共通した前記セグメントを有していない場合、前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記新しいネットワークアドレスを前記移動ノードに発信する段階とをさらに備える。
【0006】
別の例において、方法は、前記ネットワークコントローラの前記1つまたは複数のプロセッサにより、前記対応するネットワークアドレスを、前記ネットワーク内の前記複数のノードのそれぞれのノードに発信する段階をさらに備える。さらなる例において、方法は、前記ネットワークを通るルーティングパスを前記複数のノードの前記位置情報に基づき、前記ネットワークコントローラの前記1つまたは複数のプロセッサによって決定する段階であって、前記ルーティングパスが、送信元ノードおよび複数のネクストホップを識別する、段階をさらに備え、前記1つまたは複数の転送ルールを発信する前記段階は、前記ルーティングパスに沿ったセグメントルーティングのために、前記複数のネクストホップをパケットのヘッダにカプセル化するための命令を前記送信元ノードに発信する段階をさらに有する。
【0007】
本開示の他の態様は、ネットワーク用のネットワークコントローラを提供する。ネットワークは、別のノードに対して移動している少なくとも1つのノードを含む。ネットワークコントローラは、1つまたは複数のプロセッサを備える。1つまたは複数のプロセッサは、前記ネットワーク内の複数のノードのそれぞれから位置情報を受信することを行い、前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換することであって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、変換することを行い、前記ネットワーク内の所与のノードのターゲット領域を、複数のルーティングパスに基づき識別することであって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、識別することを行い、前記ネットワーク内の前記1つまたは複数のノードに、1つまたは複数の転送ルールを発信することであって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、発信することを行うように構成されている。
【0008】
一例において、階層セルベースの分割方式は、球面幾何学ライブラリに基づく。別の例において、前記1つまたは複数のプロセッサは、前記受信したそれぞれのノードの位置情報を、地球のモデルにおけるノードの位置に基づき変換するようにさらに構成されており、地球の前記モデルは、地球をカプセル化した、前記階層セルベースの分割方式を使用して複数のセルに分割された立方体を含む。この例において、前記対応するネットワークアドレスは、前記複数のセルのうち、地球の前記モデルにおいて前記ノードが位置する1つのセルのセル識別子のセグメントを任意選択で含む。
【0009】
さらなる例において、前記1つまたは複数のプロセッサは、前記受信したそれぞれのノードの位置情報を、前記ノードの位置に対応するセル識別子を記憶したデータベースに基づき変換することであって、前記セル識別子が、前記階層セルベースの分割方式から導出されている、変換することを行うように構成されている。さらに別の例において、前記1つまたは複数のプロセッサは、前記複数のルーティングパスについて、前記ネットワーク用にネットワーク構成を生成するようにさらに構成されている。さらなる例において、前記ターゲット領域内の前記2つまたはそれ以上のノードが、移動ノードを有し、前記1つまたは複数のプロセッサは、前記移動ノードの新しい位置情報を受信し、前記新しい位置情報に基づき、前記移動ノードの新しいネットワークアドレスを決定し、前記新しいネットワークアドレスが、前記ターゲット領域内の前記2つまたはそれ以上のノードの前記対応するネットワークアドレスに共通した前記セグメントを有していない場合、前記新しいネットワークアドレスを前記移動ノードに発信するようにさらに構成されている。
【0010】
別の例において、前記1つまたは複数のプロセッサは、前記対応するネットワークアドレスを、前記ネットワーク内の前記複数のノードのそれぞれのノードに発信するようにさらに構成されている。さらなる例において、前記1つまたは複数のプロセッサは、前記ネットワークを通るルーティングパスを、前記複数のノードの前記位置情報に基づき決定することであって、前記ルーティングパスが、送信元ノードおよび複数のネクストホップを識別する、決定することを行うようにさらに構成されており、前記1つまたは複数の転送ルールは、前記ルーティングパスに沿ったセグメントルーティングのために、前記複数のネクストホップをパケットのヘッダにカプセル化するための、前記送信元ノードに対する命令を有する。
【0011】
本開示のさらなる態様は、命令を記憶するように構成された有形の非一時的コンピュータ可読ストレージ媒体を提供する。命令は、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに方法を実施させる。方法は、ネットワーク内の複数のノードのそれぞれから位置情報を受信する段階であって、前記複数のノードが、前記ネットワークの別のノードに対して移動している少なくとも1つのノードを有する、段階と、前記受信したそれぞれのノードの位置情報を、対応するネットワークアドレスに変換する段階であって、前記対応するネットワークアドレスが、階層セルベースの分割方式に基づく、段階と、前記ネットワーク内の所与のノードのターゲット領域を、複数のルーティングパスに基づき識別する段階であって、前記所与のノードのネクストホップであり、かつ前記対応するネットワークアドレス内に共通セグメントを有する、前記ネットワーク内の2つまたはそれ以上のノードを、前記ターゲット領域が包含している、段階と、前記ネットワーク内の前記1つまたは複数のノードに、1つまたは複数の転送ルールを発信する段階であって、前記1つまたは複数の転送ルールが、前記所与のノードの前記ネクストホップを識別するための前記共通セグメントを有する、段階とを備える。
【0012】
一例において、階層セルベースの分割方式は、球面幾何学ライブラリに基づく。
【図面の簡単な説明】
【0013】
図1】本開示の態様による、例示的なネットワークの一部分の絵図である。
【0014】
図2】本開示の態様による、例示的なネットワークの図である。
【0015】
図3】本開示の態様による、図1に示すネットワークの一部分の機能図である。
【0016】
図4】本開示の態様による、ネットワークコントローラの機能図である。
【0017】
図5】本開示の態様による、ネットワークアドレスの絵図である。
【0018】
図6】本開示の態様による、例示的なネットワークの図である。
【0019】
図7】本開示の態様による、方法のフロー図である。
【発明を実施するための形態】
【0020】
本技術は、移動ノードを含むネットワークのための転送ルールに関する。特に、転送ルールは、階層セルベースの分割方式を使用して符号化された、それぞれのノードの位置情報を含んでよい。位置情報をこのように符号化することにより、所与の領域の位置情報は、プレフィックスなどの同じ情報セグメントを持つことができる。次いで、所与の領域内のノードは、転送ルール内の情報セグメントによって簡単に識別されることが可能であり、これによりルールを簡素化し、ストレージを節約することができる。別の実装形態において、転送ルールは、ネットワーク内でセグメントルーティングを行うように構成されてよい。
【0021】
ネットワークコントローラは、複数のノードのそれぞれから位置情報を受信してよい。位置情報は、GPS座標または別のタイプの座標であってよい。ネットワークコントローラは、受信した位置情報を、IPv6アドレスなどのネットワークアドレスに変換してよい。この例において、ネットワークアドレスは、球面幾何学ライブラリなどの階層セルベースの分割方式に基づいてよい。階層セルベースの分割方式は、複数のセル内の地理的エリアをカバーし、セル識別子をそれぞれのセルに割り当てる。
【0022】
ネットワークコントローラは、それぞれのノードのネットワークアドレスに、セル識別子の少なくとも一部分を含める。ネットワークコントローラは、セル識別子の少なくとも一部分を使用して、ネットワークの少なくとも一部分を通るルーティングを可能にしてよい。ルーティングは、複数のノードまたはクライアントデバイスをカプセル化している領域を、ネットワークアドレスのセグメントを使用して識別することを含んでよい。セグメントは、所与の領域に対応したセル識別子の一部分に対応してよい。換言すると、セグメントは、所与の領域内のすべてのノードまたはクライアントデバイスのネットワークアドレスに共通であってよい。いくつかの例において、セグメントはプレフィックスであってよい。
【0023】
ルーティングを可能にするために、ネットワークコントローラは、共通セグメントを含むノードに対し転送ルールを発信してよい。ルーティングを可能にすることは、ノードに割り当てられたネットワークアドレスを、ネットワークのそれぞれのノードに発信することも含んでよい。ノードは、転送ルールを受信した後、共通セグメントによって転送ルールのネクストホップとして識別されたノードに、ルーティングを実施してよい。
【0024】
代替的に、宛先ノードに向かうルーティングパスについて複数のネットワークアドレスを、パケットのヘッダにおいて送信元ノードに発信することにより、セグメントルーティングが実装されてよい。ルーティングパス内のそれぞれのノードのネットワークアドレスは、階層セルベースの分割方式を使用して決定されてよい。
【0025】
本明細書に記載の技術は、より少量のデータを使用して、所与の領域内でノードの識別を可能にすることができる。階層セルベースの分割方式を使用すると、特定の領域に共通したセグメントに基づき、転送ルールを策定することができる。セグメントルーティングを使用すると、転送ルールは、それぞれ個々のホップにおいて別個のルックアップを必要とするのではなく、パケット内にカプセル化されてよい。その結果、転送ルールを簡素化することができ、必要な転送ルールの更新をより少なくすることができる。さらに、それぞれのノードにおけるルーティングテーブルを縮小することができる。したがって、ストレージ、重み、電力において全体的な節約を行うことができる。転送スループットも改善することができ、パケット処理レイテンシを改善することができる。
[例示的なシステムおよびネットワーク]
【0026】
図1は、ネットワーク内のネットワークノードの例示的なシステム100の絵図である。特に、図1は、ネットワークのアクセス層の一部分を示している。ネットワークは、様々な地上ベースおよび空中ベースのデバイスに搭載されたノードを含んでよく、そのうちの一部のノードは、ネットワーク内の他のノードに対して経時的にポジションを変えてよい。例えば、図1に示してあるように、ネットワークは、第1の陸上タワー110および第2の陸上タワー112をノードとして含む。ネットワークは、高高度プラットフォーム114もノードとして含む。示してあるように、HAP114は気球である。他の実施形態において、HAPは飛行船、飛行機、ドローンなどの無人航空機(UAV)、衛星、または低地球軌道が可能な別のプラットフォームであってよい。
【0027】
ネットワーク内のノードは、ミリ波(mmWave)信号または他の超高周波数信号を送信および受信する機能を備えていてよい。付加的または代替的に、ネットワーク内のノードは、他の無線周波数信号、光信号、または自由空間を伝搬することが可能な他の通信信号を送信および受信する機能を備えていてよい。ノードから突出するように示された矢印は、送信される通信信号について可能なパス120、122a、122b、124、126、128、130を表している。図1に示してあるように、可能ないくつかのパスは、建物140、142などの建物によって遮断されることがある。例えば、ノード110からパス120をたどる信号は、水平線より下方に角度を成し、建物140によって遮断されることがある。ノード110からパス122aをたどる信号は、パス120より上方に角度を成し建物140を回避できるが、次いで建物142に接触することがある。パス122aをたどる信号は、建物142から反射し、クライアントデバイス152を携行しているユーザ150の地上位置に向かってパス122bをたどることがある。ノード110からパス124をたどる信号は、水平線に向かってまたは水平線より上方に、地上とほぼ平行に角度を成して建物140の上を通ることができるが、次いで建物142によって遮断されることがある。ノード110からパス126をたどる信号は、水平線より上方に角度を成し、ノード114に到達することができる。ノード114からパス128をたどる信号は、ユーザ150の地上位置に向けられる。ノード114からパス130をたどる信号は、水平線より下方に角度を成し、建物142の上を通り、ノード112に到達することができる。
【0028】
また、図1に示してあるように、信号は、ユーザ150のクライアントデバイス152からネットワークの1つまたは複数のノードに向かって返送されてよい。例えば、クライアントデバイス152からの信号は、パス122bおよび122aに沿ってノード110に向かって返送されてよい。クライアントデバイス152からの別の信号は、パス128に沿ってノード114に向かって返送されてよい。さらに、図1に示してあるユーザ150およびクライアントデバイス152に加えて、複数のユーザまたは複数のクライアントデバイスが、所与の時点においてネットワークの所与のノードと双方向アクセスリンクを形成してよい。
【0029】
図1に示してあるネットワークノードは単なる例示であり、ネットワークは追加のノードまたは異なるノードを含んでよい。例えば、いくつかの実装形態において、ネットワークは、追加のHAPおよび/または追加の陸上タワーを含んでよい。ネットワークが、少なくとも1つの低地球軌道衛星または高地球軌道衛星とともに、1つの他のタイプのHAPを含む場合、このネットワークは、ハイブリッドHAP/衛星ネットワークと定義されてよい。
【0030】
例えば、図2に示してあるように、システム100を含むネットワーク200は、追加の陸上タワー210、220、ならびに追加の非陸上ノード230、240、および245も、ノードとして含んでよい。ノードの対の間に示す矢印は、ノード間で可能な通信パスを表している。図1に示してあるパスに対応したパス124、126、および130に加えて、パス250~260がノード間に示してある。図2に示してあるネットワーク200は単なる例示であり、いくつかの実装形態においてネットワーク200は、追加のノードまたは異なるノードを含んでよい。ネットワークのノードから受信した状態情報は、現在時間または将来時間におけるHAP114の位置情報、またはノード110、112、210、220、230、240、および245の位置における気象状況を含んでよい。HAP114の位置情報は、将来時間において陸上タワー110、112の信号範囲内にある将来位置など、予測軌道または設定位置を含んでよい。
【0031】
いくつかの実装形態において、ネットワークは、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルデバイス、タブレットコンピュータ、または他のユーザ機器などのクライアントデバイスのための、アクセスネットワークとして機能してよい。例えば、ノード110、112、114は、ワイヤレス、ファイバ、もしくはケーブルのバックボーンネットワークリンク、またはサードパーティによって運用されているトランジットネットワークを介して、データセンタに接続されてよい。ノード110、112、114は、ユーザにワイヤレスアクセスを提供してよく、バックボーンネットワークリンクを介してユーザ要求をデータセンタに転送し、応答をユーザに返送してよい。
【0032】
特に、第1の陸上タワー110、第2の陸上タワー112、およびHAP114は、5G NR(新無線)ネットワークまたはLTEネットワークなどのセルラネットワークまたは他のモバイルネットワークで動作するように構成されたワイヤレス送受信機を含んでよい。ノード110、112、114は、gNodeB局、eNodeB局、またはWiMAX(登録商標)もしくはUMTSアクセスポイントなどの他のワイヤレスアクセスポイントとして動作してよい。ネットワーク内の1つまたは複数の陸上タワーは、これらの1つまたは複数の陸上タワーを別の陸上タワーまたはデータセンタに接続する光ファイバまたは他のリンクを含んでよい。例えば、第2の陸上タワー112は、別の陸上タワー(図示せず)に接続された、破線矢印によって示すファイバ113を含んでよい。図1に示してあるように、クライアントデバイス152を携行しているユーザ150は、ネットワーク内のノードのうちの1つまたは複数と通信するように構成されてよい。また、ネットワークは、インターネットなどのより大きいネットワークに接続されてよく、より大きいコンピュータネットワークに記憶されているかまたはそれを通して提供されるリソースへのアクセスを、クライアントデバイスに提供するように構成されてよい。
【0033】
図3に示してあるように、第1の陸上タワー110、第2の陸上タワー112、およびHAP114などのそれぞれのノードは、通信信号を送信および受信し、ネットワーク内の別のノードとの1つまたは複数の通信リンクを作成するように構成された1つまたは複数の送受信機を含んでよい。例としてHAP114を参照すると、それぞれのノードは、1つまたは複数のプロセッサ310と、メモリ312と、1つまたは複数の送受信機320と、1つまたは複数のアンテナ322とを含んでよい。陸上タワー110、112、およびHAP114のみが示してあるが、ネットワーク内の他の陸上タワーおよびHAPが、同じまたは同様の構成を有してよい。
【0034】
1つまたは複数のプロセッサ310は、市販のCPUなど任意の従来型プロセッサであってよい。代替的に、1つまたは複数のプロセッサは、特定用途向け集積回路(ASIC)などの専用デバイス、またはフィールドプログラマブルゲートアレイ(FPGA)などの他のハードウェアベースのプロセッサであってよい。1つまたは複数のプロセッサ310は、5G NRアーキテクチャまたはLTE無線プロトコルアーキテクチャなどの、モバイルネットワーク用の所与のプロトコルアーキテクチャに従って動作するように構成されてよい。図3は、1つまたは複数のプロセッサ310およびメモリ312を同じブロック内にあるものとして機能的に示しているが、実際には、1つまたは複数のプロセッサ310およびメモリ312は、同じ物理的筐体内に格納されてもされなくてもよい複数のプロセッサおよびメモリを備えてよいことが理解される。したがって、プロセッサまたはコンピュータを参照することは、並列に動作してもしなくてもよい複数のプロセッサまたは複数のコンピュータまたは複数メモリの集まりを参照することを含むと理解される。
【0035】
メモリ312は、1つまたは複数のプロセッサ310によりアクセス可能な、データ314および命令316を含む情報を記憶しており、これらの情報は、1つまたは複数のプロセッサ310によって実行されてよい。メモリは、プロセッサによりアクセス可能な情報を記憶することができる任意のタイプのものであってよく、これにはコンピュータ可読命令を収容した非一時的な有形のコンピュータ可読媒体、例えばハードドライブ、メモリカード、ROM、RAM、DVD、または他の光ディスク、ならびの他の書き込み可能メモリまたはリードオンリメモリが含まれる。システムおよび方法は、前述したものの異なる組み合わせを含んでよく、それによりデータ314および命令316の異なる部分が異なるタイプの媒体に記憶される。HAP114のメモリ312などそれぞれのノードのメモリには、それぞれのノードにおいて受信した信号をどのように転送または送信すべきかを示す転送情報ベースまたは転送テーブルが記憶されてよい。例えば、メモリ312に記憶された転送テーブルは、地上局110から受信した信号をHAP114に転送すべきであることを示してよい。
【0036】
データ314は、命令316に従って1つまたは複数のプロセッサ310により検索、記憶、または修正されてよい。例えば、システムおよび方法はいずれの特定のデータ構造にも限定されないが、データ314は、コンピュータレジスタに記憶されてもよいし、複数の異なるフィールドと記録とを有するテーブルとしてリレーショナルデータベースに記憶されてもよいし、XMLドキュメントに記憶されてもよいし、またはフラットファイルに記憶されてもよい。データ314は、限定されるものではないが、バイナリ値またはユニコードなどの任意のコンピュータ可読フォーマットにフォーマット化されてもよい。さらに単なる例として、圧縮もしくは非圧縮で可逆(例えば、BMP)もしくは非可逆(例えば、JPEG)であるフォーマットに従って記憶されたピクセル格子から構成されたビットマップ、およびビットマップまたはベクトルベース(例えば、SVG)、ならびにグラフィックスを描画するコンピュータ命令として、画像データが記憶されてよい。データ314は、数字、記述テキスト、独自コード、同じメモリの他の領域もしくは異なるメモリ(他のネットワーク位置を含む)に記憶されたデータの参照など、関連情報を識別するのに十分な任意の情報、または関連データを計算するための関数によって使用される情報を含んでよい。
【0037】
命令316は、1つまたは複数のプロセッサ310によって直接実行される任意の命令セット(機械コードなど)であってもよいし、または間接的に実行される任意の命令セット(スクリプトなど)であってもよい。例えば、命令316は、ノードがその一部であるモバイルネットワーク用の所与のプロトコルアーキテクチャを含んでよい。所与のプロトコルアーキテクチャは、中央ユニットと分散ユニットとの間の分割アーキテクチャを含んでよい。さらに、所与のプロトコルアーキテクチャは、制御プレーン、ユーザプレーン、または他のプロトコル層を定義してよい。また、所与のプロトコルアーキテクチャは、プロトコル層同士の間の通信に使用される複数のメッセージを定義するインタフェースを含んでもよい。命令316は、コンピュータコードとしてコンピュータ可読媒体に記憶されてよい。これに関して、「命令」および「プログラム」という用語は、本明細書において区別なく使用されてよい。命令316は、1つまたは複数のプロセッサ310によって直接処理されるようにオブジェクトコードフォーマットで記憶されてもよいし、あるいは要求に応じて解釈されるかもしくは事前にコンパイルされたスクリプトまたは独立したソースコードモジュールの集まりを含む任意の他のコンピュータ言語で記憶されてもよい。命令316の機能、方法、およびルーチンが、以下でより詳細に説明される。
【0038】
1つまたは複数の送受信機320は、所望の方向に指向するように制御またはステアリングされることが可能な、アクチュエータに搭載された少なくとも1つのワイヤレス送受信機を含んでよい。HAP114に関連付けられたノードと第1の陸上タワー110に関連付けられたノードなど、2つのノード間でワイヤレスリンクを形成するために、それぞれのノードのワイヤレス送受信機は、これらのノード間でデータを発信し受信することができるように互いの方向に指向するように制御されることが可能である。第2の陸上タワー112など、ファイバ接続またはケーブル接続を有するノードについては、1つまたは複数の送受信機320は、ファイバ接続またはケーブル接続を介して通信するように構成された少なくとも1つの送受信機も含んでもよい。
【0039】
図3にさらに示してあるように、ユーザ150に関連付けられたクライアントデバイス152は、1つまたは複数のプロセッサ310、メモリ312、データ314、および命令316に関して上で説明したものと同様の1つまたは複数のプロセッサ350、メモリ352、データ354、および命令356を有するパーソナルコンピューティングデバイスまたはサーバであってよい。パーソナルコンピューティングデバイスは、パーソナルコンピュータを含んでよく、このパーソナルコンピュータは、パーソナルコンピュータに関連して通常使用されるすべてのコンポーネント、例えば中央処理装置(CPU)、データおよび命令を記憶しているメモリ(例えばRAMおよび内蔵ハードドライブ)、電子ディスプレイ(例えば画面を有するモニタ、小型LCDタッチスクリーン、プロジェクタ、テレビ、もしくは情報を表示するように動作可能な任意の他の電気デバイス)、ユーザ入力部(例えばマウス、キーボード、タッチスクリーン、もしくはマイク)、カメラ、スピーカ、ネットワークインタフェースデバイス、ならびにこれらの要素を互いに接続するために使用されるすべてのコンポーネントを有する。パーソナルコンピューティングデバイスは、モバイルデバイス、例えばPDA、携帯電話なども含んでよい。実際、クライアントデバイス152は、命令を処理し、人間、ならびに汎用コンピュータ、ローカルストレージの機能がないネットワークコンピュータ、およびテレビ用のセットトップボックスを含む他のコンピュータに対しまたはそれらから、データを送信することができる任意のデバイスであってよい。いくつかの実施形態において、クライアントデバイスは、1つまたは複数の自己定義ネットワーク(SDN)アプリケーションに関連付けられてよく、1つまたは複数のノースバンドインタフェース(NBI)ドライバを有してよい。
【0040】
いくつかの実装形態において、ネットワークは、図4に示してあるネットワークコントローラ400などのSDNコントローラによって制御されるSDNとすることができる。ネットワークコントローラ400は、ネットワークノードのうちの1つに位置してもよいし、または例えばデータセンタなどの別個のプラットフォームに位置してもよい。ノード110、112、114を含むネットワークのノードは、1つまたは複数の送受信機320などのステアリング可能送受信機を使用して、互いに通信するように構成されてよい。ネットワーク内のHAP114などのHAPが、ネットワーク内の陸上タワー110、112などの他のノードに対して移動するにつれ、いくつかのネットワークリンクは、送受信機の範囲またはノード間の障害物に起因して実現不可能になることがある。したがって、接続性を維持し、決定されたネットワークフローを満足するために、ネットワークの構成は、ネットワークコントローラ400を使用して定期的(すなわち周期的)または不定期な再構成を必要とすることがある。
【0041】
図4は、ネットワークコントローラ400のブロック図である。ネットワークコントローラ400は、更新済みトポロジに従って再構成を実施するため、ルーティング情報を渡すため、および再構成をスケジューリングしてクライアントデータを送信するために、ネットワークのノードに制御メッセージを発信するように構成されてよい。例えば、制御メッセージは、ネットワークを通る1つまたは複数のルーティングパスを実装するための転送ルールを含んでよい。図4に示してあるように、ネットワークコントローラ400は、1つまたは複数のプロセッサ410と、メモリ420と、通信システム440とを含んでよい。1つまたは複数のプロセッサ410は、上で説明した1つまたは複数のプロセッサ310と同様であってよい。メモリ420は、1つまたは複数のプロセッサ410によりアクセス可能な、プロセッサ410によって実行されてよいデータ422および命令424を含む情報を記憶してよい。メモリ420、データ422、および命令424は、上で説明したメモリ312、データ314、および命令316と同様に構成されてよい。データ422は、所与の時間または時間フレームにおけるネットワーク200内で、利用可能なノードおよび可能なリンクのすべてを表すテーブルを含んでよい。命令424は、トポロジおよびルーティングを管理したり、トポロジを決定したり、ネットワークフローを決定したり、ネットワーク構成について解を出したり、所与のHAPの飛行を制御したり、または将来のネットワーク構成をスケジューリングしたりする1つまたは複数のモジュールを含んでよい。
【0042】
通信システム440は、ノード110、112、114など、ネットワークのノードと通信するとともに、クライアントデバイス152などの1つまたは複数のクライアントデバイスと通信するように構成されてよい。いくつかの実施形態において、通信システム440は、コントロール/データプレーンインタフェース(Control to Data-Plane Interface:CDPI)ドライバを含み、このドライバは、ノード110、112、114のそれぞれにおいてCDPIエージェントと通信するように構成されている。さらに、ネットワークコントローラ400の通信システム440は、1つまたは複数のSDNアプリケーションに関連付けられたそれぞれのクライアントデバイスにおいて、NBIドライバと通信するように構成された1つまたは複数のNBIエージェントを含んでよい。通信システム440は、任意選択でまたは代替的に、ネットワーク内のノードおよび1つまたは複数のクライアントデバイスとの間で、無線周波数、光学周波数、光ファイバ、ケーブル、または他の通信手段を解して信号を送信および受信するように構成されてよい。
[例示的な実装形態および方法]
【0043】
上で説明し図に示した動作に加えて、様々な実装形態および方法をここで説明する。説明する動作および段階は、以下に提供する厳密な順序で実施されなくてもよいことが理解されるべきである。むしろ、様々な動作および段階は、異なる順序でまたは同時に処理されることが可能であり、動作および段階は追加されても省略されてもよい。
【0044】
ネットワークコントローラ400は、複数のノードまたはクライアントデバイスのそれぞれから位置情報を受信してよい。位置情報は、GPS座標または別のタイプの座標であってよい。ネットワークコントローラ400は、受信した位置情報を、IPv6アドレスなどのネットワークアドレスに変換してよい。この例において、ネットワークアドレスは、階層セルベースの分割方式に基づいてよい。特に、階層セルベースの分割方式は、球面幾何学の離散化であってよく、これは平面幾何学を使用するよりも、地球上の点に対してより綿密にマッピングを行うことができる。離散化は、ヒルベルト曲線、つまり複数の次元を1つの次元に変換する空間充填曲線に沿った番号セルによって実施されてよい。その結果得られる、球面幾何学内の列挙されたセルをリスト化した球面幾何学ライブラリ、例えばS2ライブラリが、階層セルベースの分割方式として使用されてよい。
【0045】
受信した位置情報を、この例の階層セルベースの分割方式を使用してネットワークアドレスに変換するために、所与のノードについて受信した位置情報が地球のモデルに投影される。地球のモデルは、地球の球面表現をカプセル化した立方体を含み、投影は、それが球エリアから立方体エリアに移動するときに、エリア全体に対する投影のサイズの比を維持するための変換を含む。立方体のそれぞれの面は、四分木を使用してさらに分解される。換言すると、立方体のそれぞれの面(正方形)が、(同じく正方形の)四等分に分割され、次いでこれら四等分のそれぞれが、(同じく正方形の)四等分に分割されるなどという具合である。四分割を繰り返すごとに、階層レベルが異なり、モデルは30個のレベル、またはそれより多いかそれより少ないレベルを含んでよい。ヒルベルト曲線を使用すると、結果として得られるそれぞれのセルに識別子が与えられる。その結果、所与のセルの識別子は、それぞれの階層レベルにおける所与のセルの位置など、階層情報を識別することができる。S2ライブラリにおいて、識別子は64ビットであってよい。識別子の64ビットすべてが使用される場合、識別されるセルは、数ミリメートルオーダの幅であってよい。
【0046】
代替的に、地球のモデルの階層情報を識別するセル識別子は、予め決定され、データベースに記憶されていてよい。受信した位置情報をネットワークアドレスに変換するために、ネットワークコントローラ400は、受信した位置情報から得た座標に対応するセル識別子を、データベースから検索してよい。
【0047】
ネットワークコントローラ400は、それぞれのノードのネットワークアドレスに、セル識別子の少なくとも一部分を含める。いくつかの実装形態においては、所与のノードの位置のセル識別子全体が、所与のノードのネットワークアドレスに使用されてよい。例えば、セル識別子全体が、IPv6アドレスのサイトプレフィックスおよび/またはサブネット識別情報であってよい。他の実装形態においては、階層レベルのサブセット内の位置を識別する部分など、セル識別子の一部分が、ネットワークアドレスに含まれてよい。S2ライブラリ識別子の一部分は、64ビットより少なくてよい。階層レベルのサブセットは、中レベルの階層レベルと、より高いレベルの1つまたは複数の階層レベルとを含んでよい。図5に示してあるように、IPv6アドレス500は、サイトプレフィックス502と、サブネット識別情報504と、ホストまたはインタフェースの識別情報506とを含む。それぞれのノードのセル識別子の一部分は、対応するノードのIPv6アドレスのサイトプレフィックスとして構成されてよい。
【0048】
ネットワークコントローラ400は、ネットワークのノードを通るルーティングを可能にしてよい。ネットワーク内のノードのグループまたはクライアントデバイスのグループは、そのネットワーク用に生成されたネットワーク構成に基づき、ルーティングパスの一部として識別されてよい。特に、ノードのグループまたはクライアントデバイスのグループは、ネットワークアドレス内の共通セグメントを使用して識別可能な領域内にあってよい。ネットワーク構成は、時間空間的なソフトウェア定義ネットワーキング、自己組織化ネットワーキング、ビッグデータ駆動型ネットワーキング、または機械学習方法を使用して生成されてよい。生成されたネットワーク構成は、形成されることになる複数のリンクと、それら複数のリンクを通る複数のルーティングパスとを含んでよい。複数のリンクは、所与の領域内のノード間のリンクを含んでよく、複数のルーティングパスの少なくとも1つは、所与の領域を通過してよい。図6に示してあるように、ネットワーク200向けに生成されたネットワーク構成は、ノード112からリンク257を通ってノード240に至り、リンク260を通ってノード245に至り、リンク258を通ってノード114に至り、リンク126を通ってノード110に至る第1のルーティングパス(破線矢印および網かけノードで示す)を含んでよい。次いでノード110は、クライアントデバイス152などの1つまたは複数のクライアントデバイスにサービス提供してよい。ネットワーク構成は、ノード112からリンク257を通ってノード240に至り、リンク256を通ってノード230に至り、リンク255を通ってノード220に至る第2のルーティングパス(二点鎖線の矢印および丸付きノードで示す)も含んでよい。
【0049】
ネットワークコントローラ400は、所与のノードの1つまたは複数のターゲット領域を、この所与のノードの2つまたはそれ以上のネクストホップのネットワークアドレス内の共通セグメントを使用して識別してよい。ネクストホップは、ネットワークのノードまたはクライアントデバイスであってよい。換言すると、識別された領域内にあるノードまたはクライアントデバイスのすべてのネットワークアドレスに、1つのセグメントが共通している。また、このセグメントは、識別された領域内のノードまたはクライアントデバイスのネットワークアドレスのみに存在するものであってよい。この実装形態において、このセグメントは、ネットワークアドレスのセル識別子の少なくとも一部分である。
【0050】
1つまたは複数のターゲット領域を識別することは、生成されたネットワーク構成内の複数のルーティングパスに従って、ネットワークの所与のノードについて2つまたはそれ以上のネクストホップを識別することを含んでよい。2つまたはそれ以上のネクストホップは、ネットワーク構成内のすべてのルーティングパスに基づく、所与のノードのすべてのネクストホップであってもよいし、またはネットワーク構成内の一部のルーティングパスに基づく、ネクストホップのサブセットであってもよい。次いで、1つまたは複数のターゲット領域を識別することは、所与のノードの2つまたはそれ以上のネクストホップのネットワークアドレスの共通セグメントであり、かつそれ自体を含んでも含まなくてもよい他のノードまたはクライアントデバイスには存在しない共通セグメントを識別することを含んでよい。いくつかの例においては、2つまたはそれ以上のネクストホップのサイトプレフィックス502、またはセル識別子に対応した他の部分だけが比較されてよい。他の例においては、2つまたはそれ以上のネクストホップのネットワークアドレス全体が比較されてよい。共通セグメントは、一部のサイトプレフィックス502、全部のサイトプレフィックス502、サイトプレフィックス502および一部のサブネット識別情報504、またはサイトプレフィックス502およびサブネット識別情報504であってよい。
【0051】
図6のノード240については、ノード245が、第1のルーティングパスにおける第1のネクストホップであり、ノード230が、第2のルーティングパスにおける第2のネクストホップである。ノード230および245のネットワークアドレスには共通しているが、ノード110、112、114、210、および220のネットワークアドレスには存在しない第1のセグメントを使用して、第1のターゲット領域が識別されてよい。ノード110については、クライアントデバイス152および1つまたは複数の追加のクライアントデバイスが、第1のルーティングパスに従ったターゲットであってよい。クライアントデバイス152および1つまたは複数の追加のクライアントデバイスのネットワークアドレスに共通した第2のセグメントを使用して、第2のターゲット領域が識別されてよい。
【0052】
ネットワークコントローラ400は、1つまたは複数のターゲット領域の共通セグメントを含む所与のノードに、転送ルールを発信してよい。また、ネットワークコントローラは、ネットワークのそれぞれのノードに対して、そのノードに割り当てられたネットワークアドレスを発信してよい。図6において、ネットワークコントローラ400は、ノード110、112、114、220、230、240、および245に対するルールを含む転送ルールを発信して、第1のルーティングパスおよび第2のルーティングパスが、生成されたネットワーク構成を実装できるようにしてよい。ノード240に発信される転送ルールは、ネクストホップとして第1のセグメントを含む。ノード110に発信される転送ルールは、第2のセグメントを含む。ノードまたはクライアントデバイスのネットワークアドレスの他の部分は、転送ルールにおいて省略されてよく、その結果、ストレージスペースを節約することができる。
【0053】
所与のノードは、転送ルールを受信した後、ネットワーク構成の実装中に共通セグメントを使用して複数のリンクを形成してよい。複数のリンクが形成されると、所与のノードは、データについて識別されたルーティングパスに従って、ネクストホップにそのデータを送信してよい。ノード240の転送ルールに含まれた第1のセグメントが、ノード230と245の両方のネットワークアドレスの一部であることから、ノード240は、ノード230とのリンク256およびノード245とのリンク260を形成させられてよい。ノード240の1つまたは複数のプロセッサは、ネットワークのノードのネットワークアドレスのルックアップテーブルにアクセスし、ネットワークアドレス内に第1のセグメントを有するノードを選択してよい。ノード240の1つもしくは複数の送受信機および/または1つもしくは複数のアンテナを、ノード230および245の位置に向かって電子的および/または物理的に指向するよう導くことにより、リンクが形成されてよい。このネットワーク構成のノード240においてデータが受信されたとき、ノード240の1つまたは複数のプロセッサは、そのデータが伝搬しているルーティングパスを識別し、そのデータをルーティングパスの適切なネクストホップに転送してよい。ノード110の転送ルールに含まれた第2のセグメントが、複数のクライアントデバイスのネットワークアドレスの一部であることから、ノード110は、クライアントデバイス152を含む複数のクライアントデバイスとの複数のリンクを形成させられてよい。ノード110の1つまたは複数のプロセッサは、サービスエリア内のクライアントデバイスのネットワークアドレスのルックアップテーブルにアクセスし、ネットワークアドレス内に第2のセグメントを有するノードを選択してよい。ノード110の1つもしくは複数の送受信機および/または1つもしくは複数のアンテナを、クライアントデバイスに向かって電子的および/または物理的に指向するよう導くことにより、複数のリンクが形成されてよい。
【0054】
移動ノードが移動して所与の領域から出るとき、ネットワークコントローラ400は、その移動ノードのネットワークアドレスおよびその移動ノードに対応した転送ルールを更新してよい。ネットワークコントローラ400は、複数のノードから経時的に受信する位置情報に基づき、ノードの位置を監視してよい。移動ノードの位置情報から変換した新しいネットワークアドレスが、もはや共通セグメントを有していない場合、ネットワークコントローラ400は、新しいネットワークアドレスをその移動ノードに発信してよい。ネットワークの他のノードとの通信において、その移動ノードは新しいネットワークアドレスを使用してよい。
【0055】
例えば転送ルールを受信した後、ノード245は、ノード230から、より遠くに離れた新しい位置に移動することがある。新しい位置を使用して、ネットワークコントローラ400は、上で説明した階層セルベースの分割方式を使用して新しいネットワークアドレスを決定してよい。ノード245の新しいネットワークアドレスは、第1のセグメントを含んでいないことがある。ネットワークコントローラ400はさらに、ネットワーク構成がノード240のネクストホップとしてノード230および245をなお含む可能性があることを決定してよい。その結果、ネットワークコントローラ400は、新しいネットワークアドレスをノード240に発信してよい。さらに、ネットワークコントローラ400は、ルーティングパスに沿ったネクストホップとしてノード245を識別する新しいセグメントを含む新しい転送命令を、ノード240に発信してよい。代替的に、ネットワークコントローラ400は、上で説明したのと同じまたは同様の方法で、ノード230および245のネットワークアドレスの新しい共通セグメントを決定してよい。
【0056】
図7には、上で説明した態様のいくつかによるフロー図700が示してあり、これはネットワークコントローラ400の1つまたは複数のプロセッサ410によって実施されてよい。図7は、複数のブロックを特定の順序で示しているが、この順序は変更されてよく、複数の動作が同時に実施されてよい。また、動作は追加または省略されてよい。
【0057】
ブロック702において、ネットワーク内の複数のノードのそれぞれから位置情報が受信される。複数のノードは、ネットワークの別のノードに対して移動している少なくとも1つのノードを含む。例えばネットワークは、気球などの少なくとも1つの高高度プラットフォーム、または他の非静止衛星を含んでよい。ブロック704において、受信したそれぞれのノードの位置情報が、対応するネットワークアドレスに変換されてよい。対応するネットワークアドレスは、S2ライブラリなどの階層セルベースの分割方式に基づいてよい。ブロック706において、ネットワーク内の所与のノードのターゲット領域が、複数のルーティングパスに基づき識別されてよい。所与のノードのネクストホップであり、かつ対応するネットワークアドレス内に共通セグメントを有する、ネットワーク内の2つまたはそれ以上のノードを、ターゲット領域は包含してよい。ターゲット領域は、時間空間的ソフトウェア定義ネットワーキング、自己組織化ネットワーキング、または機械学習方法を使用して生成されたネットワーク構成の一部として識別されてよい。ブロック708において、1つまたは複数の転送ルールが、ネットワークの1つまたは複数のノードに発信されてよく、1つまたは複数の転送ルールは、所与のノードのネクストホップを識別するための共通セグメントを含む。
【0058】
代替的な実装形態において、上で説明した段階のうちの1つまたは複数は、ネットワークコントローラの1つまたは複数のプロセッサではなく、ネットワークのノードの1つもしくは複数のプロセッサ、および/またはセントラルサーバによって実施されてよい。さらに、上で考察した実装形態は、非陸上ノードを含む領域に焦点を当てているが、必要に応じてネットワークの陸上ノードを含む領域にも適用可能である。
【0059】
別の実装形態において、ネットワークコントローラは、セグメントルーティングを実施するようにネットワーク内のノードを構成してよい。ネットワーク構成を生成した後、ネットワークコントローラは、ネットワーク構成内のルーティングパスの複数のネットワークアドレスを、そのルーティングパス内のそれぞれのノードの位置情報に基づき決定してよい。いくつかの実装形態において、決定された複数のネットワークアドレスは、上で説明したように階層セルベースの分割方式を使用して、それぞれのノードの位置情報から変換されてよい。ネットワークコントローラは、ネットワーク構成内のルーティングパスの出発点である送信元ノードに、複数のネットワークアドレスを発信してよい。送信元ノードにおいて、複数のネットワークアドレスは、ルーティングパスに沿って送信すべきデータを含むパケットのヘッダに、1つまたは複数のプロセッサを使用してカプセル化されてよい。第1のホップの第1のアドレスは、ヘッダの第1の部分に記憶されてよく、他の後続のアドレスは、ヘッダの第2の部分に記憶されてよい。
【0060】
第1のアドレスに対応した次のノードにパケットが送信された後、第1のアドレスはヘッダの第1の部分から除去されてよく、第2のアドレスは、ヘッダの第2の部分から第1の部分に移動してよい。次いで、第2のアドレスに対応した次のノードにおいて、この工程が第3のアドレスを使用して繰り返され、最終的にはヘッダの第2の部分にあるすべてのアドレスが使用される。それぞれのホップのネットワークアドレスがパケット自体にカプセル化されるので、この工程は、それぞれのノードに記憶されるものほど多数の転送ルールを必要としない。
【0061】
本明細書に記載の技術は、より少量のデータを使用して、所与の領域内でノードの識別を可能にすることができる。階層セルベースの分割方式を使用すると、特定の領域に共通したセグメントに基づき、転送ルールを策定することができる。セグメントルーティングを使用すると、転送ルールは、それぞれ個々のホップにおいて別個のルックアップを必要とするのではなく、パケット内にカプセル化されてよい。その結果、転送ルールを簡素化することができ、必要な転送ルールの更新をより少なくすることができる。さらに、それぞれのノードのルーティングテーブルを縮小することができる。したがって、ストレージ、重み、電力において全体的な節約を行うことができる。
【0062】
別段の記載がない限り、前述の代替的な例は、相互に排他的ではなく、様々な組み合わせで実装されて独特な利点を達成してよい。上で考察した特徴の上記その他の変形および組み合わせは、特許請求の範囲によって定義される主題から逸脱することなく利用可能であることから、実施形態の前述の説明は、特許請求の範囲によって定義される主題の限定としてではなく例示として受け取られるべきである。さらに、本明細書に記載の例、ならびに「など」、「含む」のように表現される節を提供することは、特許請求の範囲の主題を具体例に限定するものと解釈されるべきではなく、むしろ例は、多数の可能な実施形態のうちの1つのみを例示することを意図している。さらに、異なる図面における同じ参照符号は、同じまたは同様の要素を識別することができる。
図1
図2
図3
図4
図5
図6
図7