(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】ICNベースネットワークにおけるルーティング更新
(51)【国際特許分類】
H04L 67/1001 20220101AFI20241111BHJP
H04L 45/02 20220101ALI20241111BHJP
【FI】
H04L67/1001
H04L45/02
【外国語出願】
(21)【出願番号】P 2020091001
(22)【出願日】2020-05-26
【審査請求日】2023-05-23
(32)【優先日】2019-06-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】サティシュ チャンドラ ジャー
(72)【発明者】
【氏名】カティラヴェトピライ シヴァネサン
(72)【発明者】
【氏名】ヴェンカテサン ナラムパッティ エカムバラム
(72)【発明者】
【氏名】ラヴィクマール バラクリシュナン
(72)【発明者】
【氏名】シュリカティアヤニ シュリカンテスワラ
(72)【発明者】
【氏名】エス. エム. イフテカルール アラム
(72)【発明者】
【氏名】ネッド エム. スミス
(72)【発明者】
【氏名】イー ジャーン
(72)【発明者】
【氏名】ヴェシュ ラージ シャルマ バンジャデ
(72)【発明者】
【氏名】ガブリエル アロボ ヴィダル
(72)【発明者】
【氏名】クイリン クラーク チェン
(72)【発明者】
【氏名】ゾーンルイ ディン
(72)【発明者】
【氏名】ジェシカ シー. マッカーシー
(72)【発明者】
【氏名】ステパン カルペンコ
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2016-039630(JP,A)
【文献】特開2015-139219(JP,A)
【文献】特開2016-024815(JP,A)
【文献】特開2018-014077(JP,A)
【文献】特表2016-531507(JP,A)
【文献】米国特許出願公開第2016/0156737(US,A1)
【文献】中国特許出願公開第105519053(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-69/00
(57)【特許請求の範囲】
【請求項1】
情報指向ネットワーク(ICN)における第1ノードと第2ノードとの間のICNルート情報を維持するためのコンピュータに実装される方法であって、
前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するステップと、
前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップと、
前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するステップと、
少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信するステップと、
を含
み、前記方法は、さらに、
前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換するステップ、を含み、
前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している、
方法。
【請求項2】
前記方法は、さらに、
前記第1ノードおよび前記第2ノードにおける前記分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、前記ネットワークオペレータによって制御される前記集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換するステップ、を含み、
前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している、
請求項
1に記載の方法。
【請求項3】
前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するステップは、
前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間のポイントツーポイント通信リンク上で、ICNベースの通信またはIPベースの通信を使用して、前記ルーティング情報を送信するステップ、を含む、
請求項
2に記載の方法。
【請求項4】
前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するステップは、
前記少なくとも1つの集中ICNルーティング調整ユニットから、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータに対して、ルーティング情報テーブルを送信するステップ、を含む、
請求項
3に記載の方法。
【請求項5】
前記方法は、さらに、
前記少なくとも1つの集中ICNルーティング調整ユニットが、前記第1ノードと前記第2ノードとの間で、第1更新ICNルートセグメントおよび第2更新ICNルートセグメントを選択するステップ、を含み、
前記第1更新ICNルートセグメントは、遅延感受性コンテンツを送信するために選択されており、かつ、前記第2更新ICNルートセグメントは、遅延耐性コンテンツを送信するために選択されている、
請求項
1に記載の方法。
【請求項6】
ルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新する前記ステップは、
前記第1ノードにおける分散ICNルーティング制御および管理ユニットが、前記第1ノードと前記第2ノードとの間の複数のICNルートセグメント上にICNルートディスカバリリクエストをフラッディングすること、および、
前記第2ノードにおける分散ICNルーティング制御および管理ユニットが、前記ICNルートセグメントのうち1つを選択し、かつ、
前記選択された前記ICNルートセグメントにおいてユニキャストルートディスカバリレスポンスを前記第1ノードに対して送信することによって、前記ICNルートディスカバリリクエストに応答すること、
を含む、請求項1に記載の方法。
【請求項7】
前記方法は、さらに、
各ノードのポピュラリティを予測する名前付きデータ機能ネットワーキング(NFN)実行計画を受信するステップと、
前記ICNにおけるノードのポピュラリティを予測するために、前記NFN実行計画を使用するステップと、
記第1ノードおよび前記第2ノードとして前記ICN内のノードを選択するステップであり、前記ノードは、前記ICN内で選択されないノードよりも高いポピュラリティを有するように、前記NFN実行計画によって予測されている、ステップと、
前記第1ノードと前記第2ノードとの間のデータについて東-西予測ルーティングを実行するように中央ルータに通知するステップであり、前記NFN実行計画によって通知されるポピュラリティ予測を考慮した、最も効率的なルーティングストラテジを使用して、前記ICNにおけるデータおよび機能のインタレストが満足される、ステップと、
を含む、請求項1に記載の方法。
【請求項8】
前記第1ノードは車両内に配置され、かつ、前記第2ノードは車両ネットワーク内に配置されており、
前記第1ノードから前記ネクストホップノードへインタレストパケットを転送する前記ステップは、ユニキャスト通信チャネルにおけるコンテキスト・アウェア・データを用いて路側機またはインフラストラクチャノードへ前記インタレストパケットを送信するステップ、を含む、
請求項1に記載の方法。
【請求項9】
前記コンテキスト・アウェア・データは、前記車両の速度、進行方向、および位置、のうち少なくとも1つを含み、
前記方法は、さらに、
前記車両の位置、前記インタレストパケット内の情報の寿命、および前記車両ネットワーク内の車両の密度、のうち少なくとも1つに基づいて、前記路側機またはインフラストラクチャノードにおいて、コンテキスト・アウェア・キャッシングおよびルーティングを実行するステップ、を含む、
請求項
8に記載の方法。
【請求項10】
前記路側機またはインフラストラクチャノードにおけるルーティングは、前記インタレストパケットによってリクエストされたコンテンツについてローカルストレージをチェックすること、および、前記コンテンツを前記車両へ送信すること、を含む、
請求項
9に記載の方法。
【請求項11】
前記ローカルストレージが前記リクエストされたコンテンツを含んでいない場合には、
前記コンテキスト・アウェア・データおよびリクエストされたコンテンツに基づいて、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送し、かつ、
前記路側機またはインフラストラクチャノードにおいて前記FIBを更新する、
請求項
10に記載の方法。
【請求項12】
前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送することは、
前記コンテキスト・アウェア・データにおける時間情報および空間情報のうち少なくとも1つに基づいて、他のインタレストパケットと比較して前記インタレストパケットを優先すること、を含む、
請求項
11に記載の方法。
【請求項13】
前記少なくとも1つのICNルートセグメントは、データキャッシュを有する少なくとも1つの中間ノードを含み、
前記方法は、さらに、
前記データキャッシュをN個の量子化レベルへと分割することによって、前記第1ノードと前記少なくとも1つの中間ノードとの間のラウンドトリップ時間(RTT)を計算するステップであり、各レベルは平均RTTを有している、ステップと、
前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するステップと、
計算されたRTTに基づいて、前記第1ノードによるインタレストパケットの送信レートを調整するステップと、を含む、
請求項1に記載の方法。
【請求項14】
前記方法は、さらに、
前記第1ノードと前記少なくとも1つの中間ノードとの間のRTT遅延の移動ウィンドウを、現在時間が維持され得るまで利用して、前記第1ノードと前記少なくとも1つの中間ノードとの間の最大遅延推定値を計算するステップ、を含む、
請求項
13に記載の方法。
【請求項15】
前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用する前記ステップは、
任意の時点で推定されたRTTを予測するために、前記第1ノードにおける一組の特徴を考慮して、過去のコンテンツとRTTのペアリングを適合するように訓練されてきた機械学習モデルを利用するステップ、を含む、
請求項
13に記載の方法。
【請求項16】
前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップは、
前記インタレストパケットから、パケットヘッダ、メディアアクセス制御(MCA)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよび近隣リンク品質、サービス品質要件、コンテンツ検証時間、過去のFIBエントリ、および、抽出された特徴、のうち少なくとも1つを含む特徴を抽出するステップと、
ネクストホップノードを選択するために、前記抽出された特徴をニューラルネットワークに対して適用するステップと、
前記選択されたネクストホップノードを前記ICNに対して適用するステップと、
前記ニューラルネットワークに対して、リワードRとして、観測された待ち時間、コンテンツ発見率、コンテンツヒット成功率、ネットワークトポロジーの変化、転送コスト、ラウンドトリップ時間(RTT)の低下、および、前記選択されたホップノードを前記ICNへ適用した結果としてサービスパラメータの品質、のうちの少なくとも1つをフィードバックするステップと、
最適化Eを使用して、損失関数Vを最小化するステップであり、
損失関数Vは、R並びに、前記インタレストパケットを最適なネクストホップノードに対して送付していないことから生じる損失Lの関数であり、
Eは、
【数1】
として定式化され、
Wは、前記ニューラルネットワークの重み付けである、
ステップと、
を含む、請求項1に記載の方法。
【請求項17】
情報指向ネットワーク(ICN)を通じてインタレストパケットを転送するためのルート情報を維持するICNであって、
前記ICN内の第1ノードと、
前記ICN内の第2ノードと、
前記ICNにおける前記第1ノードと前記第2ノードの間のネクストホップノードであり、フォワーディングインフォメーションベース(FIB)を構成する、ネクストホップノードと、を含み、
前記第1ノードは、
前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するステップと、
前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップと、
前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するステップと、
少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信するステップ、と
を含むオペレーションを実行するように適合されて
おり、
前記情報指向ネットワークは、さらに、
ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、を含み、
前記第1ノードは、さらに、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換すること、を含むオペレーションを実行するように構成されており、
前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している、
情報指向ネットワーク。
【請求項18】
前記情報指向ネットワークは、さらに、
前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、を含み、
前記第1ノードは、さらに、前記第1ノードおよび前記第2ノードにおける分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内の前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換すること、含むオペレーションを実行するように構成されており、
前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している、
請求項
17に記載の情報指向ネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
ここにおいて説明される実施形態は、一般的に、コンピュータネットワーキングに関する。そして、より特定的には、情報指向ネットワーク(information centric network)におけるルーティングを更新するための技術に関する。
【背景技術】
【0002】
情報指向ネットワーキング(ICN)は、ホスト(例えば、情報を提供するマシン)に代わって、情報自体がネットワークから名付けされ(named)、かつ、リクエストされる新しいネットワークパラダイムに対する包括的な用語である。コンテンツを獲得するために、デバイスは、ネットワーク自体から名付けされたコンテンツをリクエストする。コンテンツリクエストは、インタレスト(interest)と呼ばれ、そして、インタレストパケット(interest packet)を介して送信され得る。インタレストパケットがネットワークデバイス(例えば、ルータ)を横断する際に、インタレストの記録が保持される。インタレストにおける名前に一致するコンテンツを有するデバイスに出会ったときに、そのデバイスはインタレストパケットに応答してデータパケットを送信することができる。典型的に、データパケットは、ネットワークデバイス内に残されたインタレストのトレースを追跡することによって、ネットワークを介してソースへトラックバック(tracked back)される。
【図面の簡単な説明】
【0003】
図面は、必ずしも縮尺どおりに描かれておらず、類似の番号は、異なるビュー(views)において同様なコンポーネントを説明し得る。異なる添え字を有する類似の番号は、類似のコンポーネントの異なるインスタンスを表現し得る。図面は、本文書において説明される様々な実施形態を、例として、一般的に説明するが、限定するものではない。
【
図1】
図1は、一つの実施形態に従って、情報指向ネットワークの一つの例を図示している。
【
図2】
図2は、セルラーネットワークにおいて頻繁に使用されるポピュラーノード(Popular Nodes、PNs)間のマルチホップ(multi-hop)ルートを示すICNの一つの例を図示している。
【
図3】
図3は、2つのポピュラーノード(隣接するeNB/gNB)間におけるICNルート更新、および、新しいルート上のノードにおけるフォワーディング・インフォメーション・ベース(forwarding information bases、FIBs)に対する更新の一つの例を図示している。
【
図4】
図4は、2つのポピュラーノード(隣接するeNB/gNB)間のICNルート更新、および、新しいルート上の中間ルータにおけるFIBに対する更新の一つの例を図示している。
【
図5】
図5は、集中ICNルーティング調整ユニット(Centralized ICN Routing Coordination Unit)が存在しない場合の2つのポピュラーノード(隣接するeNB/gNB)間のICNルートの更新、並びに、新しいルート上の中間ルータにおけるFIBの更新の一つの例を図示している。
【
図6】
図6は、ポピュラリティ予測(popularity prediction)のためのNFN実行プランを使用する予測(predictive)ICN/NDN/NFNルーティングを採用している一つの例を図示している。
【
図7】
図7は、一つの例示的実施形態における車両ネットワーキングシナリオを図示している。
【
図8】
図8は、より詳細に示された路側機(road side unit)を伴う
図7の車両ネットワーキングシナリオを図示している。
【
図9】
図9は、異なるラウンドトリップ時間(round-trip-times、RTTs)に至るICNにおける異なるノードからアクセスされ得るコンテンツを図示している。
【
図10】
図10は、FIBにおけるネクストホップ決定(next-hop determination)が強化学習問題(reinforcement learning problem)としてキャストされる一つの例を図示している。
【
図11】
図11は、インタレストパケットをネクストホップに対してマッピングするエントリを有するFIBテーブルが、入力インタレストをネクストホップに対してマッピングする機能(function)を用いて置き換えられ得る一つの例を図示している。
【
図12】
図12は、1つまたはそれ以上の実施形態が実装され得るマシンの一つの例を説明しているブロック図である。
【発明を実施するための形態】
【0004】
図1-
図12に関する以下の説明は、当業者が実施することを可能にするように具体的な実施形態を十分に説明している。他の実施形態は、構造、論理、プロセス、および他の変更を組み込むことができる。いくつかの実施形態の一部および特徴は、他の実施形態に含まれ、または、代替され得る。請求項において明らかにされる実施形態は、これらの請求項に係る全ての利用可能な均等物を包含する。例示的な実施形態は、例示目的のためだけに提示されるものであり、そして、ここにおいて提示される明細書または請求項の範囲を限定または制限するように意図されたものではない。
【0005】
ここにおいて説明される機能は、一つの実施形態においてはソフトウェアで実施され得る。ソフトウェアは、コンピュータで読取り可能な媒体またはコンピュータで読取り可能な記憶装置に保管されたコンピュータ実行可能命令で構成され得る。ローカルまたはネットワーク化された、1つまたはそれ以上の非一時的(non-trasitory)メモリ、または、他のタイプのハードウェアベースの記憶装置、といったものである。さらに、そうした機能は、ソフトウェア、ハードウェア、ファームウェア、または、それらの任意の組み合わせであり得る、モジュールに対応している。複数の機能は、要望どおりに1つまたはそれ以上のモジュールで実行され得る。そして、説明される実施形態は単なる例である。ソフトウェアは、パーソナルコンピュータ、サーバ、または他のコンピュータシステムといった、コンピュータシステム上で動作する、デジタル信号プロセッサ、ASIC、マイクロプロセッサ、または、他のタイプのプロセッサにおいて実行され得るものであり、そうしたコンピュータシステムを特別にプログラムされたマシンへと変化させる。
【0006】
ICNシステムの概要
図1は、一つの実施形態に従って、例示的なICNを図示している。ICNは、従来のホストベース(例えば、アドレスベース)の通信ネットワークとは異なって動作する。ICNは、ホスト(例えば、情報を提供するマシン)の代わりに、情報自体がネットワークから名付けされ、そして、リクエストされる、ネットワークパラダイムに対する包括的な用語である。インターネットプロトコル(IP)で使用されるといった、ホストベースのネットワーキングパラダイムにおいて、デバイスは、ホストを見つけ(locates)、そして、ホストからのコンテンツをリクエストする。ネットワークは、パケットにおいて指定されたアドレスに基づいて、どのようにパケットをルーティング(例えば、ダイレクト)するかを理解する。対照的に、ICNは、特定のマシンに対するリクエストを含まず、そして、アドレスを使用しない。代わりに、コンテンツを獲得するために、デバイス105(例えば、加入者)は、ネットワーク自体から名付けされたコンテンツ(named content)をリクエストする。コンテンツリクエストは、インタレストと呼ばれ、インタレストパケット130を介して送信され得る。インタレストパケットがネットワークデバイス(例えば、ネットワークエレメント、ルータ、スイッチ、ハブ等)-ネットワークエレメント110、115、および120といったもの-を横断する際に、インタレストの記録が、例えば、各ネットワークエレメントにおいてペンディング・インタレスト・テーブル(pending interest table、PIT)135内に保持される。従って、ネットワークエレメント110は、インタレストパケット130について、そのPIT 135内にエントリを維持し、ネットワークエレメント115は、そのPIT 135におけるエントリを維持し、そして、ネットワークエレメント120は、そのPIT 135におけるエントリを維持している。
【0007】
インタレストパケット130内に名前が一致してるコンテンツを有する、パブリッシャー(publisher)140といった、デバイスに出会ったときに、そのデバイス140は、インタレストパケット130に応答してデータパケット145を送信することができる。典型的に、データパケット145は、ネットワークエレメントPIT 135に残されたインタレストパケット130のトレースを追跡することによって、ネットワークを通じてソース(例えば、デバイス105)へトラックバックされる。従って、各ネットワークエレメントにおけるPIT 135は、フォローするデータパケット145について、加入者105へ戻るトレイル(trail)を確立する。
【0008】
ICNにおける名付けされたデータの一致(matching)は、いくつかのストラテジに従い得る。一般的に、データは、階層的に名付けされる。ユニバーサルリソース識別子(universal resource identifier、URI)といったものである。例えば、ビデオは、www.somedomain.comまたはv8675309と名付けされてよい。ここにおいて、階層構造は、パブリッシャー、“www.somedomain.com”、サブカテゴリ、「ビデオ(“videos”)」、および、正規(canonical)の識別子“v8675309”として見なされてよい。インタレスト130がICNを横断する際に、ICNネットワークエレメントは、一般的に、最大限に名前を一致させようと試みる。従って、ICNエレメントが、「www.somedomain.comまたはビデオ」および「www.somedomain.comまたはビデオもしくはv8675309」の両方について、キャッシュされたアイテムまたはルート(route)を有する場合に、ICNエレメントは、「www.somedomain.comまたはビデオもしくはv8675309」を特定して、インタレストパケット130について、後者(the later)を一致させる。一つの例において、ICNデバイスによって、一つの表現が(an expression)マッチング(matching)において使用され得る。例えば、インタレストパケットは、「www.somedomain.comまたはビデオもしくはv8675*」を指定することができ、ここで、「*」はワイルドカードである。従って、ワイルドカード以外のデータを含むキャッシュされたアイテムまたはルートがマッチングされる。
【0009】
アイテムマッチングは、インタレスト130をICNエレメントにおいてキャッシュされたデータとマッチングさせることを含む。従って、例えば、インタレスト130内で名付けされたデータ145がネットワークエレメント115内にキャッシュされている場合に、ネットワークエレメント115は、ネットワークエレメント110を介して加入者105に対してデータ145を戻す(return)。しかしながら、データ145がネットワークエレメント115においてキャッシュされていない場合に、ネットワークエレメント115は、インタレスト130を(例えば、ネットワークエレメント120に対して)ルーティングする(route on)。ルーティングを促進するために、ネットワークエレメントは、フォワーディング・インフォメーション・ベース(FIB)125を使用して、名付けされたデータをルートのためのインターフェイス(例えば、物理ポート)に対してマッチングすることができる。従って、FIB 125は、従来のネットワークデバイスにおけるルーティングテーブルのように動作する。
【0010】
一つの例において、マッチングの追加的なレベルを提供するために、追加のメタデータが、インタレストパケット130、キャッシュされたデータ、またはルート(例えば、FIB 125)に対して添付されてよい。例えば、データ名は「www.somedomain.comまたはビデオもしくはv8675309」として指定することができるが、バージョン番号-または、タイムスタンプ、時間範囲、保証(endorsement)、等も、また、含み得る。この例において、インタレストパケット130は、所望の名前、バージョン番号、またはバージョン範囲を指定することができる。マッチングは、次いで、名前に一致するルートまたはキャッシュされたデータを見つけて、そして、メタデータ、等の追加の比較を実行して、データまたはルートがインタレストパケット130に一致するか否かに関する最終決定に到達すし、それぞれに、データパケット145を用いてインタレストパケット130に応答し、または、インタレストパケット130を転送する(forwarding)。
【0011】
ICNは、データセグメントが個別に名付けされているので、ホストベースのネットワーキングを越える利点を有している。このことは、ネットワーク全体を通じて積極的なキャッシングを可能にする。ネットワークエレメントは、オリジナルの起草者(author)140と同様に容易にインタレスト130に応答してデータパケット130を提供し得るからである。従って、ネットワークの同じセグメントが、異なるデバイスによってリクエストされた同じデータを重複して送信する可能性は低い。
【0012】
微細な(fine grained)暗号化は、多くのICNネットワークの別の特徴である。典型的なデータパケット145は、インタレストパケット130内の名前に一致するデータに対する名前を含んでいる。さらに、データパケット145は、リクエストされたデータを含み、そして、類似して名付けされたデータ(例えば、作成時間、有効期限、バージョン、等によるもの)をフィルタリングするための追加情報を含み得る。同じ名前の下で誤った情報を提供する悪意ある(malicious)エンティティを取り扱うために、データパケット145は、また、パブリッシャー鍵(publisher key)を用いてそのコンテンツ暗号化し、または、データおよび名前の暗号化ハッシュを提供することもできる。従って、(例えば、期待されるパブリッシャー140の証明書(certificate)から)鍵を知ることにより、受信者は、データがそのパブリッシャー140からのものであるか否かを確認することが可能になる。この技術は、また、ネットワーク全体を通じたデータパケット145の積極的なキャッシングも促進する。各データパケット145が、自己充足(self-contained)であり、かつ、安全(secure)なためである。対照的に、多くのホストベースのネットワークは、通信の安全のために、2つのホスト間の接続を暗号化することに依存している。このことは、接続が確立されている間の待ち時間(latency)を増加させ、そして、ネットワークエレメントからデータを隠すことによってデータキャッシングを妨げてしまい得る。
【0013】
例示的なICNネットワークは、CCNx 0.xおよびCCN 1.xについてインターネット・エンジニアリング・タスクフォース(Internet Engineering Task Force、IETF)のドラフト仕様において規定されている、コンテンツ指向ネットワーキング(content centric networkingCCN)、および、NDN(named data networking)技術報告書DND-0001において規定されている、ネームドデータネットワーキング(NDN)を含んでいる。
【0014】
セルラーICNネットワーク
セルラーICNネットワークにおいて、ICNルートは、特定のノード(進化ノードB(Evolved Node B、eNB)/次世代ノードB(Next Generation Node B、gNB)、モビリティ管理エンティティ(Mobility Management Entity、MME)/アクセスおよびモビリティ管理機能(Access and Mobility Management Function、AMF)、サービスゲートウェイ(Serving Gateway、SGW)/パケットデータネットワーク(Packet Data Network、PDN)ゲートウェイ(PGW)/ユーザプレーン機能(User Plane Function、UPF)ノード、といったもの)を介して進行する必要があり得る。これらのノードは、既存のセルラーデータ伝送オペレーション/プロトコルに基づいてセルラー固有の機能を実行するからである。例えば、ユーザの活動(activities)は、一般的に、セルラーシステム内のこれらのノードのうち1つまたはそれ以上において追跡される。これらのノードは、ここにおいてポピュラーノード(Popular Nodes、PNs)として参照される。PNは、クラスターヘッド(cluster-head)であり、他の分散ネットワークにおいて事前に指定された(pre-designated)ノードであり得ること、そして、サンプルの実施形態におけるセルラーネットワークに限定さるものではないことが正しく理解されるだろう。これらの特定のPN間のルートは、たいてい、中間ルータを通じたマルチホップ(multi-hop)である。これらのマルチホップルート(ポピュラーノード間のICNルート)は、多くのユーザによって、いくつかの目的のために非常に頻繁に使用される。任意の2つのポピュラーノード間のルートは、ここにおいて、ポピュラールートセグメント(Popular-Route-Segment)として参照される。
【0015】
セルラーネットワークにおいて、ICNデータ/インタレストパケットルートは、しばしば、1つまたはそれ以上のポピュラールートセグメントを使用する。従って、これらのポピュラールートセグメントは、頻繁に、かつ、積極的に更新される必要がある。例えば、中間ルータ間での負荷分散を維持するため、そして、新しいICNルート探索のオーバーヘッド(待ち時間とフラッディング(flooding))を低減するためである。たいてい、ICNインタレストパケットおよびデータパケットルート(1つまたはそれ以上のポピュラールートセグメントを含み得るもの)は、いくつかの理由のために頻繁に更新される必要がある。ノードの移動性(mobility)を取り扱うため、古いルートでのキャッシュの変更を取り扱うため、ルータでの動的な負荷分散を可能にするため、などといったものである。ここにおいて説明されるサンプルの実施形態は、分散ICNルーティング制御(Distributed ICN Routing Control)および管理ユニット(Management Units)を制御するための集中ICNルーティング調整ユニット(Centralized ICN Routing Coordination Unit)の有無にかかわらず、積極的にこれらのポピュラールートセグメントを最新の状態(up-to-date)に維持するためのソリューションを説明している。コンテンツ検索の待ち時間およびシグナリングオーバーヘッドを(ICNインタレストパケットを獲得した後のルート全体のオンデマンド検索と比較して)低減するために、エンドツーエンドのICNデータ/インタレストパケットルートを更新し続けるための代替的なソリューションと同様である。ここにおいて説明されるソリューションは、デバイス/ユーザ及びそのアクティビティを追跡するために、既存のセルラー機能を使用している。ここにおいて説明される実施形態は、また、5Gオペレータが、ICNベースのセルラーネットワークにおいてICNルートのパフォーマンスを最適化しながら、中間ルータ間での負荷分散を動的に最適化し、そして、調整することも可能にする。
【0016】
サンプルの実施形態において、セルラーオペレータに属する集中ICNルーティング調整ユニットは、2つのポピュラーノード間におけるポピュラールートセグメントの頻繁な更新を調整する責任がある。ポピュラーノードと中間ルータとが、集中ICNルーティング調整ユニットと頻繁に情報(ルータ負荷、様々なリンク品質/輻輳(congestion)、リンク/ルート待ち時間、等といったもの)を交換することができるように、メカニズムが提案されており、従って、このエンティティがグローバルなルーティング環境を有することを可能にしている。集中ICNルーティング調整ユニットは、さらに、PNペア(PN-pair)間で2つ以上の(more than one)ルートを選択すること支援し得る。例えば、1つのルートは、待ち時間に敏感なコンテンツに対して選択され、そして、別のルートは、データレート待ち時間の許容が高いコンテンツに対して選択され得る。
【0017】
NDN/ICNルート(インタレストパケットおよびデータパケット)は、ルータでの負荷分散、ノードの移動性の取り扱い、古いルートでのキャッシュにおける変更、等といった、いくつかの理由で頻繁に更新される必要があり得る。同時に、
図2に示されるように、マルチホップNDN/ICNルート(eNB/gNBs、MME/AMFs、SGWs/PGWs/UPFsといった既知の特定のポピュラー間)がいくつか存在しており、これらは、いくらかのユーザによって、いくつかの目的のために非常に頻繁に使用されている。
図2は、セルラーネットワークにおいて頻繁に使用されている、ポピュラーノード202と204との間のマルチホップルートを示す一つの例示的なICN 200を図示している。この例において、ポピュラーノード202および204は隣接するeNB/gNBであるが、ポピュラーノードは、また、MME/AMF 206といったMME/AMF、または、アプリケーションサーバ210に接続されたS-GW/P-GW/UPF 208といったSGW/PGW/UPFであってもよい。例えば、ハンドオーバーの最中に、ソースeNB1 202は、いくつかのポピュラーコンテンツについて、ターゲットeNB2 204を介したコンシューマ(consumer)UE2 214のためのプロデューサ(producer)UE1 212への新しいルートを見つける必要がある。この例においては、それぞれに、NDNインタレストパケット(NDN-interest-packet)ルート216が、UE2 214からポピュラーノード202および204を介してUE1 212まで延び、一方で、NDNコンテンツ(NDN-content)ルート218が、UE1 212からUE2 214までポピュラーノード204および202を介して逆ルートを移動する。これらのICNルート(例えば、ポピュラールートセグメントeNB1-eNB2 220)を数多くの中間ルータ222を介して積極的に最新の状態(up-to-date)に維持することは、コンテンツに対するインタレストパケットを獲得した後のオンデマンドルート探索と比較して、コンテンツ検索(retrieval)の待ち時間および信号オーバーヘッドを低減するのに役立つ。これらのポピュラーノード202と204との間のルートは、これらのノードが移動性アンカー、キャッシング、プロデューサディスカバリー、等のために使用される主要ノードであるので、セルラーネットワークにおいて頻繁に使用されている。しかしながら、他の一般的なネットワークも、また、ここにおいて説明されるように、ポピュラーノードおよびルーティング技術を含み得ることが正しく理解されよう。
【0018】
集中ICNルーティング調整
集中ICNルーティング調整ユニットは、セルラーインフラストラクチャ/バックホール(backhaul)ネットワークルーティング最適化に係るオペレータに所属し得る。いくつかの他の事例においては、アドホック(ad-hoc)または分散ネットワークのように、集中ICNルーティング調整ユニットは、クラスターヘッド、または、この役割を担う選択されたリーダー(leader)のうちの1つであり得る。後者の場合、クラスターヘッドまたは選択されたリーダーは、グローバルルーティングビューを獲得するために、地理的エリア内の他のノードに対して頻繁に通信する必要があり得る。1つの集中ICNルーティング調整ユニットは、特定の地理的エリアを担当し得る。このことは、様々なエリアをカバーするために、オペレータによってそうした複数のエンティティが実装され得ることを意味している。集中ICNルーティング調整ユニットは、様々なポピュラーノード間の全ての中間ルータに係るステータスのグローバルビューを、たいてい、有するので、より効率的な方法でポピュラーノード間のルートを最適化する。
【0019】
ポピュラーノードおよび中間ルータは、集中ICNルーティング調整ユニットを用いて頻繁に情報(ルータ負荷、様々なリンク品質/輻輳、リンク/ルート待ち時間、等といったもの)を交換し得る。集中ICNルーティング調整ユニットとポピュラーノード/中間ルータの間の情報交換は、ICNベースの通信、または、これらのポイントツーポイント通信リンクにおけるIPベースの通信のいずれかを使用して行われ得る。集中ICNルーティング調整ユニットは、次いで、様々な中間ルータを介したポピュラーノード間のルートを更新するためにこれらのグローバルビューを使用し、例えば、中間ルータがセルラーオペレータの制御の下にあるときに、中間ルータ間の負荷をバランスさせる。集中ICNルーティング調整ユニットは、また、ポピュラーノードペア間における2つ以上のルートも推奨し得る。例えば、1つのルートが待ち時間に敏感なコンテンツのために推奨され、そして、別のルートが、データレート待ち時間の許容が高いコンテンツが推奨され得る。集中ICNルーティング調整ユニットからのルーティング情報テーブルは、次いで、中間ルータがスマートである(すなわち、ルーティング情報テーブルを処理する能力がある)場合に、ポピュラーノード及び/又は中間ルータにおいて分散ICN制御及び管理ユニットに対して頻繁に送信され得る。
【0020】
図3は、2つのポピュラーノードeNB1とeNB2(隣接するeNB/gNB)との間のICNルート更新、および、新しいルート上のノードにおけるフォワーディングインフォメーションベース(forwarding information bases、FIBs)への更新に係る一つの例を図示している。
図3においては、「/prefix1」を有するコンテンツのプロデューサがeNB1からeNB2に移動した(ハンドオーバー(hand over)された)、一方で、いくらかのコンシューマ(「/prefix1」を有するコンテンツについて)は未だにeNB1内にあることが仮定されている。その結果として、ハンドオーバーの最中または直後に、eNB1は、新しいインタレストパケット転送ルート(interest packet forwarding route)を事前に更新している。eNB2が同様にFIBエントリを追加できるように、L2プロデューサID(L2-Producer-ID)が、任意的に送信される。しかしながら、ポピュラーノード間でルートを確立するためには、ディスカバリリクエストにおいてL2プロデューサIDを送信することは要求されないことが正しく理解されるだろう。
【0021】
図3の例において、eNB1、eNB2、中間ルータR1、および中間ルータR2を含む、コアネットワーク内の集中ICNルーティング調整ユニット300は、ルータ、等の間での負荷をバランスさせるために、2つのポピュラーノードeNB1とeNB2との間のルートに対して、中間ルータR1およびR2を頻繁に選択し得る。集中ICNルーティング調整ユニット300からのルーティング情報テーブルが、次いで、各ポピュラーノード、この場合には、eNB1およびeNB2における分散(distributed)ICN制御及び管理ユニット302に対して送信され得る。ポピュラーノードeNB1およびeNB2におけるICN制御及び管理ユニット302は、例えば、ICNインターPNルートディスカバリ(ICN-Inter-PNs-Route-Discovery)プロセスの最中に、ICNルートのためのネクストホップ(next hop)を見つけるために、このルーティング情報を使用する。また、中間ルータR1およびR2が「スマート(“smart”)」であるときに、R1およびR2も、また、同様に、ICNルートのためのネクストホップを見つけるために、ルーティング情報を処理するためのICN制御及び管理ユニット304を含み得る。例えば、ICN制御及び管理ユニット302および304は、ICN制御及び管理メッセージ(例えば、ICNインターPNルートディスカバリリクエスト(ICN-Inter-PNs-Route-Discovery-Request)およびICNインターPNルートディスカバリレスポンス(ICN-Inter-PNs-Route-Discovery-Response)を使用して、集中ICNルーティング調整エンティティ300からのルーティング情報テーブルにおいて示唆されるように、ポピュラーノード間でのルート上のノード/ルータにおけるFIB内に更新されたエントリを追加することによって、ルートを更新することができる。FIBエントリの更新は、標準的なICN方法でICNインタレストパケット転送を有効にする(enable)ために必要である。
【0022】
図3は、ポピュラーノードが隣接するeNB1およびeNB2である2つのポピュラーノード間で名前「/prefix1」を有するコンテンツのために、ポピュラーノードおよび中間ルータにおけるFIBテーブルに対するルートを更新するための一つの例を表している。上述のように、この例においては、「/prefix1」を有するコンテンツのプロデューサがeNB1からeNB2へ移動(ハンドオーバー)され、一方で、いくらかのコンシューマ(「/prefix1」を有するコンテンツについて)が未だにNB1内に存在することが仮定されている。その結果として、ハンドオーバーの最中または直後に、eNB1は、インタレストパケット転送ルートによって事前に更新される。中間ルータR1およびR2は、eNB1が、また、将来に他のコンテンツのためにもこのルートを使用できるように、プレフィックス(prefix)「/eNB1-eNB2」を有する1つの追加的なFIBエントリも、また、追加するだろう。例えば、プロデューサがeNB2内にあり、または、eNB2がキャッシュを有する、新しいコンテンツ「/prefix-new」について、eNB1がインタレストパケットを送信する必要がある場合に、eNB1は、単にプレフィックス内に1つの追加的な部分「/prefix-new/eNB1-eNB2」を加え、そして、コンテンツ「/prefix1」と同じルートを通じてインタレストパケットを転送することができる。中間ルータR1およびR2は、FIBエントリ/eNB1-eNB2とのプレフィックスマッチングの一部を見て、そして、/eNB1-eNB2についてのFIBエントリに基づいて、インタレストパケットを転送します。
図3は、ICNインターPNルートディスカバリリクエストが、eNB1から、R1、R2、およびeNB2へ移動する際の、FIBにおける各エントリを図示している。
【0023】
ICNインターPNルートディスカバリレスポンスは、成功したルート確立のためのアクノレッジメカニズム(acknowledgement mechanism)として任意的なものである。
図3に示されるように、それはICNインターPNルートディスカバリリクエストと同じルートをたどる。アクノレッジが実装されるときに、タイマーが満了する以前にリザーブされたルート上でアクノレッジまたはレスポンスをノードが受け取らない場合に、ルート上のノードは、タイマーの満了後にFIBエントリを除去する。
【0024】
上述のように、
図3の例において、ポピュラーノードeNB1およびeNB2におけるICN制御及び管理ユニット(ICN Control and Management Unit)302は、ICNルートのためのネクストホップを見つけるために、集中ICNルーティング調整ユニット300からのルーティング情報テーブルの情報を使用する。従って、ICNインターPNルートディスカバリリクエストは、フラッディング/ブロードキャストではなく、むしろユニキャストとしてネクストホップに対して送信され得る。つまり、ポピュラーノードeNB1とeNB2との間のルートは、集中ICNルーティング調整ユニット300によって積極的に維持されており、そして、FIBエントリだけが、例えば、ICNインターPNルートディスカバリリクエストおよびICNインターPNルートディスカバリレスポンスを送信することによって、各ポピュラーノードにおけるICN制御及び管理ユニット302によってICNのために更新される。そうしたFIB更新は、従来のICNインタレストパケット転送を可能にするために必要とされることが理解されるだろう。しかしながら、いくつかのネットワークにおいて(例えば、コアネットワークがIPからICNベースのシステムへ移行している間)、集中ICNルーティング調整ユニット300からのルーティング情報テーブルは、IPベースのルーティングとより整列されたネクストホップに関する情報を有し得る。この場合には、ネクストホップのL2アドレスまたはICN関連のフェイス(face)/アドレスが決定され得るように、別のマッピングルックアップテーブルがポピュラーノードにおいて維持され得る。
【0025】
特別なプレフィックスを含むルートディスカバリリクエストは、(例えば、
図3に示されるように)各中間ルータにおいてFIBを更新するためのアクションをトリガすることができる。このアクションは、(i)全ての中間ルータをセルラーオペレータの制御下で管理し、かつ、特定のプレフィックスの受信の際にFIB更新アクションをそれらに行わせること、および、(ii)管理されていないが、P4プログラムを実行することができるプログラマブルなIP/NDN中間ルータを使用すること、の2つの方法で実現することができる。P4プログラムは、NDNおよび他のプロトコルに拡張されてきたプログラマブルIPデータプレーンの一般的な言語である(“NDN.p4:Programming information-centric data-planes”、S.Signorello、R.State、J.Franchois、およびO.Festor共著、IEEE NetSoft、2016.を参照のこと)。セルラーエンティティ間のプログラマブルルータを用いて、所与のプレフィックスに対してルートを容易に制御することができる。例えば、固定エンティティ(fixed entitites)間でルートを確立するために、従来のIPベースのルーティングプロトコル、または、NDNベースのルーティングプロトコル(プレフィックスとして/NODE_NAMEを伴うもの)が存在し得る。このように、P4を通して、所与のプレフィックス(/prefix1/eNB1-eNB2)に対して、宛先(destination)eNB2のためのルーティングテーブルからエントリを読み出す中間ルータが指令され(dictated)、そして、FIBテーブルを更新して、それによってインタレストパケットを転送するために、関連付けられたネクストホップアドレスが使用され得る。
【0026】
図4は、2つのポピュラーノード(隣接するeNB/gNB)間のICNルート更新、および、新しいルート上の中間ルータにおけるFIBに対する更新に係る一つの例を図示している。図示されるように、更新のために、コンテンツ「/prefix1」が送信される必要はない。
【0027】
集中ICNルーティング調整なし(No Centralized ICN Routing Coordination)
図5は、集中ICNルーティング調整ユニット300が存在しないときの、2つのポピュラーノード(隣接するeNB/gNB)間のICNルート更新、並びに、新しいルータ上の中間ルータにおけるFIBの更新を示す一つの例を説明している。分散ICN制御及び管理ユニット302が、各ポピュラーノードには存在しており、そして、分散ICN制御及び管理ユニット304が各スマート中間ルータに存在する。ICN制御及び管理ユニット302および304は、ICNインターPNルートディスカバリリクエストおよびICNインターPNルートディスカバリレスポンスといった、ICN制御及び管理メッセージを使用することにより、PN(例えば、PNxとPNy)間のルートを更新する。ICNルートのためのネクストホップを見つけるために集中ICNルーティング調整ユニット300からのルーティング情報テーブルが存在しないので、PNxにおけるICN制御及び管理ユニット302は、/PNx-PNy/Route-Discovery-Request-TagといったルートディスカバリリクエストプレフィックスでICNインターPNルートディスカバリリクエストをフラッディングする。場合によっては、PNxは、フラッディングではなく、むしろ、以前のルート(PNx-PNy間)の履歴に基づいて、選択されたネクストホップに対してディスカバリリクエストを転送するように選択し得る。ICNインターPNルートディスカバリリクエストは、複数のパスを介して(すなわち、R1およびR2といった様々な中間ルータのセットを通じて)PNyに到達し得る。PNyは、いくつかの基準またはパスコストメトリック(path cost metrics)(待ち時間といったもの)に基づいてパスのうち1つを選択し、そして、/PNx-PNy/Route-Discovery-Request-TagといったルートディスカバリレスポンスプレフィックスでICNインターPNルートディスカバリレスポンスを送信することによって応答する。ICNインターPNルートディスカバリレスポンスは、ユニキャストとして、選択されたICNインターPNルートディスカバリリクエストパスと同じパスを経由することができる。集中ICNルーティング調整の場合とは異なり、ICNインターPNルートディスカバリレスポンスメッセージは、成功したルート確立のために必須であることに留意する。
【0028】
中間ルータは、ICNインターPNルートディスカバリレスポンスのフォワーディング中に、/PNx-PNyといったプレフィックスについてエントリを追加することによって、FIBを更新する。この場合には、プロデューサがPNyにあるか、または、PNyがキャッシュを持つ、新しいコンテンツ「/prefix-new」のために、PNxがインタレストパケットを送る必要がある場合に、PNxは、単に、プレフィックス「/prefix-new/eNB1-eNB2」の中に1つの追加部分を加えて、そして、「/PNx-PNy」のために確立されたルートを通してインタレストパケットを転送することができる。R1およびR2といった中間ルータは、FIBエントリ「/PNx-PNy」と一致するプレフィックスの部分を見て、そして、「/PNx-PNy」のFIBエントリに基づいて、インタレストパケットを転送する。
【0029】
集中東-西ルーティング調整(Centralized Est-West Routing Coordination)
ICNは、しばしば、既存のエッジ/IoT(Edge/IoT)アーキテクチャの上にオーバーレイされる。従って、ICNは、根底にある(underlying)物理展開(physical deployments)の固有の特性のせいで、北-南(north-south)および東-西(east-west)最適化ストラテジに関連し得る。ここで、物理展開は、南端が低いネットワーク待ち時間を有し、かつ、北端が高いネットワーク待ち時間を有する、レイテンシーの差異に従ったサービスの階層(hierarchy)を示しているエッジアーキテクチャ(Edge architecture)において配置されている。東-西の用語は、同様なレンテンシー特性を有するノード間における相互作用(interaction)を意味する。ICNに対するマッピングは、中間ICNノード/ルーティングノード、並びにプロデューサ/コンシューマノードが、低(low)から高(high)へのレーテンシー差異に応じてグリッドに配置されるのと、同様に説明することができる。ここで、低は南であり、かつ、高は北である。そうした場合、東-西は、共通または単一のルーティングノードを通じて相互作用することができるプロデューサ/コンシューマノードを表す。北から南のキャッシングは、同様なデータ局所性(locality)(同じ北-南の層に同居(co-resident)している)のために、東-西の相互作用の増加を可能にし得る。
【0030】
東-西最適化は、中央ルータ(central router)/オーケストレータ(orchestrator)によって処理され、ここで、上述のルーティング最適化方法は、名前付きデータネットワーキング(named data networking、NFN)機能のインタレストおよび実行の東-西ルーティングのために使用されている。モバイルエッジコンピューティング(MEC)オーケストレーションコンテキストは、予測ルーティング(predictive routing)のために使用され、ここで、オーケストレーションは、サービスとしての機能(Function as a Service、FaaS)またはサービスとしてのプラットフォーム(Platform as a Service、PaaS)実行計画の知識に基づいている。
【表1】
例示的なFaaS実行計画が、
図6に示されているネットワーク600のための表1に記載されている。ポピュラリティ予測(popularity prediction)のためのNFN実行計画を使用して、ポピュラーノードeNB/gNB1 602とeNB/gNB2 604との間の予測ICN/NDN/NFNルーティングを示すものである。この例において、ワークロードは、一連のNFNサーバ(Server1、...、Server6)606上に存在する一連のNFN機能呼び出し(NFN function invocations)(F1、...、F4)を含んでいる。ここで、機能入力は、コンテンツ(C1、...、C5)608を含み、および、ここで、C1は関数F1のための入力、C2は関数F2のため入力、C3は関数F3のため入力、かつ、C4は関数F4のため入力を含む。さらに、関数F1はコンテンツC2を生成し、F2はコンテンツC3を生成し、F3はコンテンツC4を生成し、そして、F4はコンテンツC5を生成する。
【0031】
オーケストレータ610は、先験的に(a priori)、NFN実行計画612から、関数F1が関数F2、等に先行することを知っている。オーケストレータ610は、様々なプロデューサおよびコンシューマノードを含む、ルーティングノード(gNB1 602、gNB2 604、およびGW/UPF 614)のポピュラリティを予測するために、そうした知識を使用する。機能結果は、NFNサーバ606におけるコンテンツストア内に保持される。NFN実行計画612は、どのコンテンツがどの機能にインタレストを示すかを指示する。NFNは、適切なコンテンツにインタレストを示し得る(例えば、F1:Server3はコンテンツC1にインタレストを有し得る)。代替的に、コンテンツが適切な機能にインタレストを示し得る(例えば、C1は関数F1にインタレストを有し得る)。オーケストレータ610は、事前に、コンテンツから機能へのインタレストおよび次の機能に対する機能結果、等の完全なシーケンスを知っているので、データおよび機能のインタレストが最も適切なルーティングノードを使用して満足されるように、東-西予測ルーティングを実行するためにICNルーティングコーディネータ616に通知することができる。NFN実行計画612は、ポピュラーノードのポピュラリティを予測する。ポピュラーノードとして選択されるノードは、ICNにおいて選択されていないノードよりも高いポピュラリティを有するように、NFN実行計画612によって予測されるノードである。適切なアルゴリズムを使用して、NFN実行計画612を用いてオーケストレータ610によって知らされるポピュラリティ予測が与えられた最も効率的なルーティングストラテジ(routing strategy)を実装するために、適切なアルゴリズムが使用され得る。
【0032】
車両ネットワークにおける低遅延のためのインフラストラクチャ支援コンテキスト・アウェア・ICN(Infrastracture Assisted Context Aware ICN for Low Latency in Vehicular Networks)
上述の実施形態は、セルラーネットワークに関連する。当業者であれば、車両ネットワークのトポロジーおよび構成が、従来のセルラーネットワークよりもはるかに速く変化しており、そして、従って、新しい問題をもたらすことを正しく理解するだろう。急速に変化するトポロジー、短寿命(short-lived)の断続的な接続性、異種の(heterogeneous)リクエストを有する考えられた(conceivwd)アプリケーションの幅広い集合、および、過酷な伝搬条件は、車両ネットワークのための伝統的な情報指向ネットワーク展開にとって重いチャレンジである。車両ネットワークにおいては、ネットワーク内にメッセージのフラッディング(flooding)が存在し得るし、かつ、インタレストパケットの送信とコンテンツの受信との間の待ち時間がより長くなり得る。ネットワークの高度にダイナミックな性質は、パケットの転送とルーティングを非常にチャレンジングなものにしている。
【0033】
サンプルの実施形態において、エッジインフラストラクチャ(edge infrastracture)は、遅延を最適化し、かつ、ネットワークフラッディングまたはオーバーヘッドを低減する、ICN機能を実行するために、ネットワーク化された車両によって活用され得る。車両ネットワークにおいて、コンテンツを生成し、かつ、消費する車両が、エッジインフラストラクチャと共に存在する。コンテンツは、主として、空間的または時間的関連性(relevance)を有している。コンテンツのジェネレータ(generator)およびコンシューマは、道路ネットワークのルールおよび規制の範囲内で高い移動性を有している。
【0034】
図7は、車両700が路側機(road side unit、RSU)710と通信するサンプル実施形態における車両ネットワークシナリオを示している。そうした構成において、コンテンツのコンシューマは、アクノレッジ付きのユニキャスト方式で、ネットワーク内のRSU710に対して彼らのインタレストパケットを送信する。RSU710は、車両700のための仮想エージェントとして動作し、そして、エッジネットワークの中で関連コンテンツを獲得するために、ICN機能を実行する。これらのRSU710は、以下を実行することによって、インタレストパケットによるネットワークのフラッディングを防ぎ、かつ、より良いユーザ体験のために待ち時間を低減する。
1.位置(location)、情報の寿命、および、他の時間的な側面、車両の密度、等に基づいた、コンテキスト・アウェア・キャッシング(context aware caching)。
2.ホップのエッジおよび数に基づいた、コンテキスト・アウェア・ルーティング。
3.インタレストパケットのマージ、および、分割、または、マルチパス(multipathing)を含む、プライオリティベースのインタレストパケットの転送。
【0035】
図8に示される車両ネットワークシナリオにおいて説明されるように、車両700は、路側機(RSU)710、エッジネットワーク800内のエッジコンピューティングサーバ、および、各RSU710間の無線または有線接続を含む、路側(road side)エッジインフラストラクチャと通信することができる。図示されるように、RSU710は、着信(incoming)データパケットをキャッシュするためのコンテンツストレージ712を有し、そして、発信(outgoing)インターフェイスを保管するためのルーティングテーブル(Forwarding Information Base(FIB))714、および、
図1の例示的なICNのように、転送されたインタレストを追跡するためのペンディング・インタレスト・テーブル(Pending Interest Table(PIT))716を維持する。RSU710は、以下の方法でICN機能を実行する、車両700のための仮想エージェントとして機能するように構成されている。
【0036】
車両700は、コンテンツの一部を取得(fetch)したいとき、アクノレッジ機能を有するユニキャスト通信チャネル内でRSU710に対してインタレストパケットを送信する。インタレストパケットは、RSU710がコンテキスト・アウェア・転送およびルーティングの決定を行うことを可能にするために、車両の空間情報(速度、進行方向(heading)、位置、等)を含み得る。RSU710は、インタレストパケットを受信すると、最初に、そのコンテンツストレージ(CS)にチェックインする。コンテンツがCS内で利用可能であるか、または、エッジネットワーク800内のエッジコンピューティングサーバにおいて保管されている場合に、コンテンツは、車両700に対して送信され得る。そうでなければ、RSU710は、車両700のコンテキスト(例えば、空間情報、情報の寿命、等)、および、リクエストされたコンテキストに基づいて、エッジネットワーク800の中でインタレストパケットを転送する。いくつかのシナリオにおいて、RSU710は、送信機718を使用して、そのカバレッジ(coverage)内で、同様に、これらのインタレストパケットを車両700に対してマルチキャストするだろう。RSU710は、それに応じて、FIBテーブル714およびPITテーブル716を更新する。RSU710は、また、マージされ得る他の車両から、あらゆる他の類似したインタレストパケットが存在するか否かもチェックするだろう。
【0037】
RSU710は、また、転送(forwarding)の前に、リクエストされたコンテンツに基づいて、インタレストパケットが複数のインタレストパケットへと分割される必要があるか否かもチェックし得る。車両速度および提供される他のパラメータに基づいて、インタレストパケットを受信したRSU710は、車両700の速度および方向のせいで、車両710に対してコンテンツを送ることができないことがあり得る。RSU710は、転送の前に、インタレストパケット内のコンテキスト・アウェア・ルーティング情報を含むだろう。
【0038】
車両700およびRSU710は、また、インタレストパケット内のインタレストの寿命も含み得る。別の言葉で言えば、リクエストされたコンテンツは、例えば、車両700がブロードキャストの範囲内に居る最中の期間のような、インタレストの寿命の期間内だけで有用であると識別され得る。RSU 710およびエッジネットワーク800は、いくつかの事前設定された(predefined)プライオリティレベルを有するインタレストパケットを取り扱うだろう。例えば、時間的情報は、空間的情報よりも高いプライオリティ(priority)を有するだろう。
【0039】
RSU710は、1つのインタレストパケットに対して複数のコンテンツを受信した場合には、車両700に対してコンテンツを送信する前に、コンテンツを組み合わせることができる。例えば、車両が交差点のLiDARポイントクラウド(point cloud)をリクエストした場合、RSU710は、インタレストパケットおよび複数のソースから受信したポイントクラウドを転送し得る。例えば、RSU710は、受信したポイントクラウドを車両700に対して転送する前に、それらを結合するだろう。
【0040】
一方で、コンテンツ生成車両がコンテンツを作成するときに、コンテンツ生成車両は、エッジネットワーク800のエッジサーバにおいてキャッシュするために、RSU710に対してコンテンツを転送し得る。例えば、LiDARポイントクラウドまたはカメラ画像が、エッジネットワーク800のエッジサーバにおいてキャッシュされ得る。車両700は、また、そのように保管されたコンテンツに対して情報の寿命を追加することもできる。コンテンツ生成車両700が視野内で何らかの異常(anomaly)を検出した場合に、車両700は、また、エッジネットワーク800のエッジサーバにおいてキャッシュするために、異常を表すデータをRSU 710に対して転送することもできる。例えば、道路障害(road hazard)のLiDARポイントクラウドまたはカメラ画像は、タイムスタンプされ、そして、エッジネットワーク800のエッジサーバにおいてキャッシュされ得る。
【0041】
RSU710が別のRSU710から転送されたインタレストパケットを受信すると、受信RSU(receiving RSU)710は、以下を行う。
1.コンテンツがそのコンテンツストレージデバイス712からのものであるか、または、そのカバレッジ内の車両700からのものであるか否かを決定するために、インタレストパケットにおける空間的コンテキスト情報(spatial context information)をチェックする。
2.コンテンツが特定のRSU710からリクエストされていない場合に、特定のRSU710は、空間的コンテキストに基づいて、インタレストパケットを別のRSU710に対して転送する。
3.コンテンツが、RSU710からリクエストされており、そのCS 712において利用可能であり、かつ、インタレストの寿命および情報の寿命が満了していない場合に、RSU710はコンテンツを転送する。
4.インタレストの寿命が満了しておらず、かつ、コンテンツが利用可能でない場合、または、情報の寿命が満了している場合に、RSU710は、コンテンツを取得するために、そのカバレッジ内の車両700に対してインタレストパケットをブロードキャスト/マルチキャストする。
【0042】
RSU710は、従って、
図6に関して上述したタイプのオーケストレータとして機能し、そして、また、全てのノード/デバイスが同じ無線(radio)を有しないときに、異種の無線インターフェイスを有する異種ネットワークを手助けすることができる。少なくともいくつかのRSU710は、1つの無線において受信し、そして、次いで、他の無線において他の車両に通知することができるデュアル/マルチプル・ラジオスタック(radio stack)を有していることが、仮定され得る。デュアル無線ノードが存在しない場合には、デュアル無線を有するゲートウェイが使用され得る。RSU710は、複数の無線を有する少数のRSU710を調整、かつ、選択し、そして、コンテキスト・アウェア・ルーティングのためにこの情報を考慮し得る。
【0043】
しかしながら、全てのRSU710がICN機能またはサポートを持たないとき、少なくともいくつかのRSU710は、2つのプロトコルスタック(APP層とICN/IP層との間のコンバージェンス層(convergence layer)と共存しているICNおよびIP)サポートを有していることが仮定され得る。そうして、これらのノードは、1つのスタックにおいてデータを受信し、そして、次いで、別のスタックにおいて他のユーザに通知することができる。デュアルプロトコルスタックノードが存在しない場合には、デュアルプロトコルスタックを有するゲートウェイが使用され得る。そのように構成されたRSU710は、デュアルプロトコルスタック(共存しているICNおよびIP)サポートを有する少数のリーダーを調整、かつ、選択し、そして、ここにおいて説明されているようにコンテキスト・アウェア・ルーティングにおいて情報を使用し得る。
【0044】
ICNにおけるラウンドトリップ遅延の推定(Estimating Round-Trip Delays in ICN)
従来のTCP/IPネットワークにおいては、固定エンドポイントの性質により、エンドポイント間のラウンドトリップ時間のより詳細(granular)な推定が可能である。このことにより、伝送速度を適応させるための高度な輻輳制御およびフロー制御アルゴリズムの開発が可能である。TCPといった既存のプロトコルは、以前経験したRTT遅延の指数加重移動平均を利用している。しかしながら、このことは、データが同じ送信者から(おそらく複数のルート上で)受信される場合だけに機能する。別の言葉で言えば、データが異なる送信者から異なる時間に到着する場合に、加重平均は効果的に機能しない。ICNのデータ中心性(data centric)および位置非依存性(location-agnostic)の性質のために、いくつかのパケットは近くから来ることがあり、そして、他のパケットは遠くから来ることがあり、従って、輻輳制御とフロー制御のためのアルゴリズムを開発すること、特には、インタレストパケットが送出されるレートを設定することを難しくしている。妥当な精度でICNのラウンドトリップ遅延を推定することが、さらに望まれる。中でも、輻輳制御、フロー制御といった効率的な適応伝送方法を含むルーティング技術の開発において利用され得るものである。
【0045】
情報指向ネットワークにおけるコンシューマノードでのRTT遅延を推定する方法が提供され、中間ノード/ルータでのコンテンツのキャッシングを可能にする。同じデータのフラグメント(fragment)が異なる場所から発生し、ラウンドトリップ時間において大きな分散を生じさせ得るので、取り扱われる問題は複雑である。この方法は、従って、キャッシュメモリ対CPU内のメインメモリに係る異なるレベルからデータを検索するアナログ(analouge)として、データ検索問題(data retrieval problem)を近似する。ここにおいて説明される方法は、次いで、分析および機械学習アプローチを使用して、異なるキャッシュレベルでのデータの利用可能性の確率を推定するために、キャッシュ内のコンテンツの動きを体系的に評価し得る。
【0046】
情報指向ネットワークにおけるラウンドトリップ時間(RTT)遅延を推定することは、適応速度制御、受付制御(admission control)、等といった、いくつかの利点を有している。ここにおいて説明される方法は、コンテンツソースを固定量子化レベル(fixed quantized level)へと分割することに基づくものであり、履歴情報に基づいてRTT遅延のスケーラブルな推定を可能にする。さらに、新しいRTT推定に適合(fit)するように、過去の{コンテンツ、RTT}({content,RTT})ペアリングに基づいた訓練データの豊富な利用可能性を使用する、機械学習ベースのアプローチが適用され得る。
【0047】
上述のように、ICNネットワークにおけるラウンドトリップ遅延の推定は、異なる場所からコンシューマに到着するデータの可能性のせいで、RTTが時間にわたり大きく変化することを考えると、根本的にチャレンジングである。例えば、
図9は、コンテンツが、ICN内の異なるノード1および3からアクセスされ得ることを示しており、ノード3および5(RTT1)、ならびに、ノード1、2および4(RTT2)を介して異なるRTTに導いている。しかしながら、ネットワークにおけるキャッシュの性質を考えると、いくつかの観察がなされ得る。
【0048】
例えば、ベースアプローチにおいて、プロデューサ/パブリッシャーへの遅延を推定できる場合に、それはインタレストレート(interest rate)適応における遅延の上限であるべきである。この遅延を推定するために、そのポイントまでの最大遅延の記録が保持され、そして、それはプロデューサに対する遅延であると仮定される。RTTの移動ウィンドウは、現在時間まで、最大遅延推定を更新するために維持され得る。このことは、ここにおいて説明される方法が存在しないときにRTT推定の基本値であるだろうし、そして、任意の変分誤差(variational error)を低減し得る。クラスタリング、アベレージング、または、その他の技術は、不規則性を平滑化し、かつ、外れ値(outliners)を除去するために使用され得る。さらに、異なる時間におけるホップ数を記録することができ、RTTの推定の作成を可能にする。
【0049】
別の例として、RTTは、履歴に基づいて計算され得る。任意の所与のコンテンツについて、最良のシナリオは、コンシューマが隣接するノードからコンテンツを取得したときである(L1キャッシュとして呼ばれ得る)。逆に、データが受信され得る最も遠くは、プロデューサであろう(唯一のプロデューサを仮定している)。キャッシュ位置は、各レベルが所定の別個の平均RTTを有する、N個の量子化レベルへ分割され得る。履歴情報が、次いで、キャッシュレベルそれぞれに対するキャッシュヒット確率を決定するために使用され得る。このことは、以下でより明確に説明される。
【0050】
時点tでの推定RTTは、RTTest(t)=P*RTTとして決定され得る。ここで、
P=[p1,...,pN]は、i=1,...,N、および、Σpi=1であるレベルにおけるキャッシュヒットの確率のベクトルである。そして、
RTT=[RTT1,...,RTTN]は、コンシューマからレベルi=1,...,Nまでのラウンドトリップ時間のベクトルである。
目的は、所与の{コンシューマ、コンテンツ}({consumer,content})タプル(tuple)に対するキャッシュヒット確率ベクトルPを決定し、そして、それを更新することである。
【0051】
サンプルの実施形態においては、キャッシュヒット確率が、コンシューマにおいて周期的に計算される。コンシューマは、過去の伝送のいくつかについてRTT時間レポートを収集し、そして、量子化されたキャッシュレベルの抽象化(abstraction)を維持し、それぞれのレベルは、RTTの所定の範囲を示している。これらの量子化されたRTTインターバルについて、コントローラ/コンシューマは、Pとして保管される、成功したキャッシュヒットの確率質量関数(probability mass function)を計算する。各周期的なインターバルにおいて、コンシューマ/コントローラは、確率質量関数(pmf)の計算から、より古い記録されているRTT値のいくつかを除去することができる。代替的に、RTTest(t)を計算するために使用される過去のRTT値を選択する、移動ウィンドウが利用され得る。このデータは、主として、インタレストパケットの送信レートを調整するために、コンシューマノードにおいて収集され得る。しかしながら、ネットワーク内の各ノードに対応するRTTの推定値を取得するために、同じ方法論が、また、マスターコントローラによっても利用され得る。
【0052】
別のサンプルの実施形態においては、インタレストのコンテンツ、リクエストの時間、利用可能なネクストホップリンク、等といった、コンシューマでの一連の特徴を考えると、過去のRTT値に適合するように、回帰モデル(線形または多項式)を利用することによって、RTTの機械学習ベースの推定が獲得され得る。訓練された回帰モデルが、次いで、任意の所与の時間tにおける推定RTTを計算するための予測子(predictor)として利用され得る。
【0053】
代替的に、回帰といった、いくつかの機械学習モデルが、RTT関数のコンポーネントを予測するために訓練され、そして、使用される。1つのモデルは、コンテンツがキャッシュされる確率を学習することができ、モデルは、近隣において要求される(demanded)されるコンテンツの可能性を決定することができ(多くのコンシューマが近傍(vicinity)における同じコンテンツにインタレストを持つ場合には、それで、そのコンテンツが近くでキャッシュされる可能性が高い)、そして、モデルは、時間の期間内にネットワークがどれだけ忙しいかを予測することができる。RTTは、それで、デマンド、キャッシング、およびトラフィックの関数であり得る。
【0054】
別の例においては、ポークアンドプローブアプローチ(pork and probe approach)を利用することができ、それにより、ノードは、ネットワークRTTの試行(trying)およびテスト(実際の測定)によって、所与のコンテンツのRTT機能を学習しようと試みる。このことは、ネットワークの挙動(behavior)の関数を学習するタスクであるため、強化学習法(reinforcement learning method)は、タスクに対して良好に適合する。この場合に、履歴情報は、所定のタイプのトラフィックについてトラフィックパターンまたはネットワーク挙動を決定するために役に立つ。
【0055】
さらに別の例においては、より多くの履歴情報が利用可能になるので、キャッシュヒット確率を計算するために、ベイズ学習(Bayesian learning)技術を利用することができる。また、RTTの最尤度(maximum likelihood)を計算することができる。このことは、典型的なキャッシュの場所、および、それらのキャッシュ(およびプロデューサ)についてRTTが事前に知られている場合に、特に役に立つ。
【0056】
FIB最適化のための機械学習技術(Machine Learning techniques for optimizing the FIB)
上述のように、ネクストホップの決定は、チャレンジングな問題である。既存のソリューションは、ネットワーク内に不必要なオーバーヘッドを引き起こすインタレストをフラッディングさせる(flood)。また、車両ネットワークといった、動的ネットワークにおいて、ネクストホップは、静的ではなく、そして、適応的に更新される必要がある。さらに、ノードに依存するストレージ制限(例えば、センサネット、小型デバイスを備えるIoTネットワーク、等)のせいで、FIBのサイズが限定され得る。
【0057】
典型的に、インタレストは全てのインターフェイスにおいてフラッディングされ、そして、レスポンスまでの遅延が最も小さいものが保持される。ルートを見つけるために特別な広告パケット(advertisement packet)を使用する名前ベースのルーティングプロトコルが存在している。FIBは、また、新しいインタレスト/送信元-宛先(source-destination)のペア毎に1つのエントリも有しており、そして、より古いエントリは、新鮮度値(freshness value)に基づいてFIB内のより新しいエントリに適合するように流し出される(flushed out)。しかしながら、フラッディングはオーバーヘッドを生き起こしてしまう。動的なネットワーク変更およびFIB更新は、効率的でない。FIBのサイズは、また、小さなノードネットワークにおいて問題になり得るし、そして、<prefix、next-hop>ペア毎の1つのエントリは効率的でないだろう。
【0058】
機械学習技術は、パケットから抽出された特徴に基づいて、入力インタレストパケットのネクストホップを適応的に決定するために使用される。FIBは、インタレストパケットを宛先ペアにマッピングするための関数として考えることができ、そして、従って、全ての入力について明示的なエントリを有することなく、プレフィックスをネクストホップにマッピングするために、共通の特徴が使用され得る。そうしたアプローチは、効率的な転送、および、圧縮されたFIBテーブルと同様に、ネットワークにおける動的な変化に対する潜在的により速い適応を提供する。
【0059】
FIBにおけるネクストホップの決定(Next-hop Determination in a FIB)
FIBにおけるネクストホップの決定は、補強学習問題として、そして、特には、使用される必要がある入力特徴の多様な性質および問題の複雑さを考えると、ディープ強化学習問題としてキャスト(cast)され得る。
図10は、強化学習問題としてキャストされたFIB内のネクストホップの宛先を示している。図示されるように、入力インタレスト特徴1000は、入力層1012、隠れ層1014、および、ネットワーク環境1020に対する適用のために1018においてネクストホップを選択する出力層1016を含む、ニューラルネットワーク1010に対して適用される。ネットワーク環境1020に対する選択されたネクストホップ1018の適用の結果として得られる待ち時間(latency)1030は、ニューラルネットワーク1010を従来の方法で訓練するためにニューラルネットワークに対してフィードバックされる。
【0060】
図10に示されるシステムの状態は、入力インタレストパケットによって定められる。特徴(features)が、このインタレストパケットから抽出され、そして、入力インタレスト特徴1000としてネットワークに送られる。特徴の例示的な集合は、これらに限定されるわけではないが、パケットヘッダ、メディアアクセス制御(Media Access Control、MAC)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよびそれらのリンク品質、インタレストヘッダ内に提供されているプロデューサヒント、サービス品質(QoS)要件、コンテンツ検証時間、過去のFIBエントリ、および、これらの特徴の全ての過去の履歴、を含む。ネットワーク固有の入力インタレスト特徴1000のさらなる例は、ネットワークのタイプ、および、ネットワーク1020に対して適用されるアクション/リワード(rewards)1030に基づいて提供され得る。
【0061】
例えば、
図7に関して説明したタイプの車両ネットワークにおいては、インタレストパケットが、(交差点HDマップ、特定の駐車場情報、等についてのリクエストといった) 地理位置に関連するコンテンツに対するものである場合には、コンテンツの位置、コンシューマの位置、ノード自身の位置、ロードマップ/トポロジー、近隣ノード位置/方向/リンク品質も、また、ネクストホップを決定するために使用され得る。
【0062】
アクションAのドメインは、そこにおいてインタレストパケットが送出され得る出力インターフェイスの集合である。このことは、多くの出力インターフェイス、全てのインターフェイス(フラッディング)、または、インターフェイスに係る全ての可能なサブセットのうち1つに過ぎないことがあり得る。アクションAのドメインは、可能なアクションの集合である出力を用いて、ニューラルネットワークの重み付け(weights)としてパラメータ化され得る。従って、目標は重み付けドメイン(weights domain)において最適化することである。
【0063】
観察されるリワードRは、待ち時間の短縮、成功したキャッシュ/コンテンツの発見率、プロデューサの移動性またはネットワークトポロジーが変化する場合のキャッシュ/コンテンツのヒット率、転送コスト(電力および計算)、リクエスターによるRTTの低下、および、ネットワークから受信されるデータレスポンスの他のQoSパラメータである。様々な探究(exploration)および開拓(exploitation)の原則を探求することができる。例えば、フラッディングは探究の極端なケースであり、一方で、それ以前の時点(time instant)において推定された最良のインターフェイス上で送信することは、他の極端なケースである。
【0064】
Vが、時間にわたり最小化されることを要する損失関数(loss function)であると定義される場合に、Vは、任意の所与の時点においてインターフェイス上でパケットを送出しないことによる、リワード並びに開拓を通じた損失の関数である。Wが、ニューラルネットワークの重み付けである場合に、最適化問題は次のように定式化され得る。
【数1】
【0065】
多くのネットワークにおいて、異なるノードは、異なるレベルのリソースを有している。あるものは、おそらくフルFIBテーブル(FULL-FIB-Table)を保管しており、一方で、他のものは、学習ベースのネクストホップ決定を使用することができる。フルFIBテーブルノードは、その近隣(neighbor)による学習ベースのネクストホップ選択が最適なパスではないことを見つけた場合には(インタレストパケットがネクストホップに対して転送される時はいつでも、フルFIBテーブル隣接ノードがそれを読み出すことができるという仮定の下)、インタレストパケットが正しく転送されることを保証する負担(burden)を共有する。フルFIBテーブルノードを選択するためのより大きな重み付けまたはリワードは、また、学習アルゴリズムによってもネクストホップとして与えられ得る。他方では、遅延に敏感な(delay sensitive)インタレストパケットについて、フルFIBテーブルの近隣を選択するために、学習アルゴリズムをバイアスすることができる。ディスカバリメッセージの交換によって、ノードは、フルFIBテーブルの近隣について知識を有し得る。例えば、ノードの学習ベースのアルゴリズムは、誤った/次善(next-optimal)のネクストホップを選択し得る。そうした場合に、フルFIBテーブルノードのタスクは、隣接ノードからの転送されたインタレストパケットをオーバーヒアリング(overhear)し、そして、いくつかの隣接ノードの学習ベースのアルゴリズムが誤った/次善のネクストホップを選択したことを見つけた場合には、インタレストパケットを最適なネクストホップに対して転送することである。
【0066】
遅延に敏感なトラフィックについては、最適ルートを決定するために、学習アルゴリズムがダミーインタレストパケット上で積極的に実行されることが可能であり得る。学習アルゴリズムは、また、積極的に最適化するために、異なるインタレストについて、インバウンドデータパスからのデータも使用し得る。ホップ毎の待ち時間(latency per-hop)は、特定のインタレストのためのルートに関係なく使用できる別のメトリック(metric)であり得る。インタレストパケットがプロデューサに到達すると、全ての近隣に対してホップ毎の待ち時間を通知する特別なインタレストパケットが生成され得る。遅延に敏感なトラフィックについて、インタレストが到着する限り、アルゴリズムが動的に実行され得る。
【0067】
MLベースのアプローチを使用したFIB圧縮(FIB compression using a ML based approach)
ネクストホップ決定方針は、上述のアプローチまたは他の標準的なアプローチに基づいて提供され得る。インタレストパケットをネクストホップに対してマッピングするエントリを有するFIBテーブルが提供され得る。単一のエントリは、信頼性のために複数のネクストホップを有し得る。サンプルの実施形態において、FIBテーブルは、入力インタレストをネクストホップに対してマッピングする関数で置き換えられてよい。例えば、
図11は、インタレストパケットをネクストホップに対してマッピングするエントリ1110を有するFIBテーブル1100を示しており、入力インタレスト特徴1130をネクストホップ1140に対してマッピングすることによって入力インタレストをネクストホップに対してマッピングする関数1120で置き換えられ得るものである。
【0068】
図11に示される関数1120は、例えば、ディープニューラルネットワークを含む任意のMLアルゴリズムによってパラメータ表記(parametrized)され得る。使用されるMLアルゴリズムのサイズは、ノードにおける複雑性の制限によって決定され得る。目的は、メモリルックアップテーブルを、同じ複雑度ではあるが、より大きく有効な「マッピング(“mapping”)」能力を有するパラメトリック関数で置き換えることである。関数1120に対する入力インタレスト特徴1130は、上述のように入力パケットのいくつかの特徴であってよく、または、ヘッダだけでもよい(ディープニューラルネットワークは、関連する特徴をこれから自動的に抽出することができる)。関数1120は、従って、FIB 1100の固有の構造を識別する必要がある。ノードが限られた計算能力を有する場合に、関数1120は、評価フェイズ(evaluation phase)における訓練(training)をすることなく、大規模なシミュレーションによってオフラインで訓練され得る。関数1120は、また、それが実装されるネットワークの固有の特性を捕捉(capture)するために、オンラインの方法でも訓練され得る。この場合に、ノードが、ノードのために計算を実行し、かつ、更新された関数パラメータをこれらのノードに返送し得るエッジサーバに対して、いくつかの特徴、関数パラメータ、および、いくつかのFIBエントリを送信することが可能である。加えて、システムに固有のフラッディング/マルチキャスティング(ブロードキャストメッセージは、いずれにせよ、最初に送信されなければならない)も、また、ニューラルネットワークについて初期の訓練機会として活用され得る。
【0069】
ここにおいて説明される機械学習技術は、特にリソースが制約されたデバイスについて、FIBサイズを低減するために使用され得ることが正しく理解されるだろう。ソリューションは、スマートIoTデバイス上で実現可能なオンデバイスコンピューティング(on-device computing)または推論(inference)を必要とすることが、さらに、正しく理解されるだろう。ここにおいて説明される技術は、マルチノードにシナリオにも拡張可能であることが、さらに、正しく理解されるだろう。この問題は、また、マルチエージェントディープ強化学習問題としても定式化することができ、ここで、訓練は、また、オフラインの方法で複数のルータ間で共同して行うことができ、そして、中央エンティティはグローバル強化学習モデルの重み付けを更新することができる。目的は、それで、総計リワード(aggregate rewards)を最大化すること、または、全てのエージェント(各エージェントはルータである)からの総計コストのN次モーメントを最小化することである。
【0070】
ルーティング更新、コンテキスト・アウェア・転送、RTT推定、および、FIBを最適化/圧縮するための機械学習技術を提供するためにここにおいて説明された技術は、様々なセルラーおよび一般的なネットワークアプリケーションについてより効率的なICNを提供するために、独立して実施され、または、様々な組み合わせに結合されてよいことが、さらに、正しく理解されるだろう。サンプルの実施形態において、ICNは、特定のネットワーキングアプリケーションについて適切な特徴を含むように適合されるであろう。
【0071】
コンピューティングアーキテクチャ(computing architecture)
図12は、一つの例示的なマシン1200のブロック図を示しており、そこでは、ここにおいて説明される技術(例えば、方法論)のうち任意の1つまたはそれ以上が実行され得る。ここにおいて説明されるように、実施例は、マシン1200内に論理または多数のコンポーネント、もしくはメカニズムを含み、または、それよって動作し得る。回路(例えば、処理回路)は、ハードウェア(例えば、単純回路、ゲート、ロジック、等)を含む、マシン1200の有形なエンティティ内に実装される回路の集合である。電気回路構成(circuitry)のメンバーシップは、時間にわたりフレキシブルであり得る。回路は、動作時に指定されたオペレーションを、単独または組み合わせで、実行し得るメンバーを含んでいる。一つの例において、回路のハードウェアは、特定の動作を実行するように、不変的にデザインされ得る(例えば、ハードワイヤード(hardwired))。一つの例において、回路のハードウェアは、特定のオペレーションの命令を符号化するために物理的に変更された(例えば、磁気的、電気的に、移動可能な不変の塊状粒子(massed particle)の配置、等)マシンで読取り可能な媒体を含む、可変的に接続された物理的コンポーネント(例えば、実行ユニット、トランジスタ、単純回路、等)を含み得る。物理的コンポーネントを接続する際に、ハードウェア構成の根底にある電気的特性は、例えば、絶縁体から導体へ変更され、または、その逆も同様である。命令は、可変な接続を介してハードウェア内に回路のメンバーを生成するように、エンベッドされたハードウェア(例えば、実行ユニットまたはローディングメカニズム)を有効にして、動作中に特定のオペレーションの一部を実行する。従って、一つの例において、マシンで読取り可能な媒体エレメントは、回路の一部であるか、または、装置が動作しているときに回路の他のコンポーネントに対して通信可能に結合されている。一つの例において、任意の物理的コンポーネントは、1つ以上の回路の1つ以上のメンバーにおいて使用され得る。例えば、動作中に、実行ユニットは、1つの時点において第1電気回路構成の第1回路において使用され、そして、第2電気回路構成の第2回路によって、もしくは、異なる時点において第2電気回路構成の第3回路によって再利用され得る。マシン1200に関して、これらのコンポーネントの追加的な実施例が以下に続く。
【0072】
代替的な実施形態において、マシン1200は、スタンドアロン装置として動作してよく、または、他の機械に接続(例えば、ネットワーク化)されてよい。ネットワーク化された展開において、マシン1200は、サーバ-クライアントネットワーク環境において、サーバマシン、クライアントマシン、または、その両方のキャパシティー(capacity)で動作し得る。一つの例において、マシン1200は、ピアツーピア(P2P)(または他の分散)ネットワーク環境におけるピアマシンとして動作し得る。マシン1200は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、移動電話、ウェブ機器、ネットワークルータ、スイッチまたはブリッジ、もしくは、そのマシンがとるべきアクションを指定する命令(シーケンシャル又はそうでないもの)を実行することができる任意のマシンであり得る。さらに、単一のマシンだけが例示されているが、用語「マシン(“machine”)」は、また、クラウドコンピューティング、ソフトウェアアズアサービス(software as a service、SaaS)、他のコンピュータクラスタコンフィグレーションといった、ここにおいて説明される方法論のうち任意の1つまたはそれ以上を実行するための命令のセット(または複数のセット)を個別に又は共同で実行するマシンの任意の集合も含むように解釈される。
【0073】
マシン(例えば、コンピュータシステム)1200は、ハードウェアプロセッサ1202(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、ハードウェアプロセッサコア、または、それらの任意の組み合わせ)、メインメモリ1204、スタティックメモリ(例えば、ファームウェア、マイクロコード、基本入出力(BIOS)、ユニファイド・エクステンシブル・ファームウェア・インターフェイス(UEFI)、等のためのメモリまたはストレージ)1206、および、マスストレージ1208(例えば、ハードドライブ、テープドライブ、フラッシュストレージ、または、他のブロックデバイス)を含み、それらの一部または全ては、インターリンク(例えば、バス)1230を介して相互に通信することができる。マシン1200は、さらに、ディスプレイユニット1210、英数字入力装置1212(例えば、キーボード)、および、ユーザインターフェイス(UI)ナビゲーション装置1214(例えば、マウス)を含み得る。一つの例において、ディスプレイユニット1210、入力装置1212、およびUIナビゲーション装置1214は、タッチスクリーンディスプレイであってよい。マシン1200は、追加的に、ストレージデバイス(例えば、ドライブユニット)1208、信号発生装置1218(例えば、スピーカ)、ネットワークインターフェイス装置1220、および、全地球測位システム(GPS)のセンサ、コンパス、加速度計、または他のセンサといった、1つまたはそれ以上のセンサ1216を含み得る。マシン1200は、1つまたはそれ以上の周辺装置(例えば、プリンタ、カードリーダ、等)と通信または制御するための、シリアル(例えば、ユニバーサルシリアルバス(USB))、パラレル、または、他の有線または無線(例えば、赤外線(IR)、近接場通信(NFC)、等)接続といった、出力コントローラ1228を含み得る。
【0074】
プロセッサ1202、メインメモリ1204、スタティックメモリ1206、またはマスストレージ1208のレジスタは、ここにおいて説明される技術または機能のうち任意の1つまたはそれ以上によって具体化または利用される1つまたはそれ以上のデータ構造または命令のセット(例えば、ソフトウェア)1224が保管されるマシンで読取り可能な媒体1222であってよく、または、含んでよい。命令1224は、また、マシン1200による実行の最中に、プロセッサ1202、メインメモリ1204、スタティックメモリ1206、またはマスストレージ1208のいずれかのレジスタ内に、完全に又は少なくとも部分的に存在してもよい。一つの例において、ハードウェアプロセッサ1202、メインメモリ1204、スタティックメモリ1206、またはマスストレージ1208のうち1つ又は任意の組み合わせが、マシンで読取り可能な媒体1222を構成し得る。マシンで読取り可能な媒体1222は、単一の媒体として示されているが、用語「マシンで読取り可能な媒体(“machine readble medium”)」は、1つまたはそれ以上の命令1224を保管するように構成された単一の媒体または複数の媒体(例えば、集中型または分散型データベース、及び/又は、関連するキャッシュおよびサーバ)を含み得る。
【0075】
用語「マシンで読取り可能な媒体」は、マシン1200による実行のための命令を保管、符号化、または運搬することができ、かつ、本開示の技術のうち任意の1つまたはそれ以上をマシン1200に実行させ、あるいは、そうした命令によって使用され、または、関連するデータ構造を保管、符号化、または運搬することができる任意の媒体を含み得る。非限定的なマシンで読取り可能な媒体の例は、ソリッドステートメモリ、光媒体、磁気媒体、および、信号(例えば、無線周波数信号、他の光子ベースの信号、音響信号、等)を含み得る。一つの例において、非一時的なマシンで読取り可能な媒体は、不変質量(例えば、静止質量)を有する複数の粒子を伴うマシンで読取り可能な媒体を含み、そして、従って、物質の組成物である。従って、非一時的なマシンで読取り可能な媒体は、一時的な伝搬信号を含まないマシンで読取り可能な媒体である。非一時的なマシンで読取り可能な媒体の特定の例は、半導体メモリデバイス(例えば、電気的プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM))および、フラッシュメモリデバイスといった、不揮発性メモリ、および、インターナルハードディスクおよびリムーバブルディスクのといった、磁気ディスク、光磁気ディスク、そして、CD-ROMおよびDVD-ROMディスクを含み得る。
【0076】
命令1224は、さらに、多数の転送プロトコル(例えば、フレームリレー、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、等)のうち任意の1つを利用して、ネットワークインターフェイス装置1220を介して伝送媒体を使用して、通信ネットワーク1226にわたり送信または受信され得る。例示的な通信ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パケットデータネットワーク(例えばインターネット)、移動電話ネットワーク(例えば、セルラーネットワーク)、プレーンオールドテレフォン(POTS)ネットワーク、および、無線データネットワーク(例えば、Wi-Fi(R)として知られるInstitute of Electrical and Electronics Engineers(IEEE)802.11の規格ファミリー、WiMax(R)として知られるIEEE 802.16の規格ファミリー)、IEEE 802.15.4の規格ファミリー、ピアツーピア(P2P)ネットワーク、等である。一つの例において、ネットワークインターフェイス装置1220は、通信ネットワーク1226に接続するための、1つまたはそれ以上の物理的なジャック(例えば、イーサネット(登録商標)、同軸、または電話ジャック)、もしくは、1つまたはそれ以上のアンテナを含み得る。一つの例において、ネットワークインターフェイス装置1220は、単一入力多重出力(SIMO)、多入力多重出力(MIMO)、または多入力単一出力(MISO)技術のうち少なくとも1つを使用して無線で通信するための複数のアンテナを含み得る。用語「伝送媒体(“transmission medium”)」は、マシン1200による実行のための命令を保管、符号化、または搬送することができ、かつ、そうしたソフトウェアの通信を促進するための一時的なデジタルまたはアナログ通信信号、もしくは、他の非一時的な無形媒体を含む、任意の無形媒体を含むように捉えられる。伝送媒体は、マシンで読取り可能な媒体である。
【0077】
実施例は、ここにおいて説明されるように、プロセッサ、ロジック、もしくは、多数のコンポーネント、モジュール、またはメカニズム(ここにおいては「モジュール(“modules”)」)を含んでよく、または、それらにおいて動作し得る。モジュールは、指定されたオペレーションを実行することができる有形のエンティティ(例えば、ハードウェア)であり、そして、所定の方法で構成され、または、配置されてよい。一つの例において、回路は、モジュールとして指定された方法で(例えば、内部的に、または、他の回路といった外部エンティティに対して)配置されてよい。一つの例において、1つまたはそれ以上のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)、もしくは、1つまたはそれ以上のハードウェアプロセッサ、の全体または一部は、指定されたオペレーションを実行するように動作するモジュールとして、ファームウェアまたはソフトウェア(例えば、命令、アプリケーション部分、またはアプリケーション)によって構成され得る。一つの例において、ソフトウェアは、マシンで読取り可能な媒体上に存在し得る。ソフトウェアは、モジュールの根底にあるハードウェアによって実行されるとき、指定されたオペレーションをハードウェアに実行させる。
【0078】
従って、用語「モジュール(“modules”)」は、有形のハードウェア及び/又はソフトウェアエンティティを包含するように理解され、それは、指定された方法で動作するか、または、ここにおいて説明される任意の動作の一部もしくは全部を実行するように、物理的に構成され、具体的に構成され(例えば、ハードワイヤード)、または、一時的に(例えば、短い時間の間に)構成された(例えば、プログラムされた)エンティティである。モジュールが一時的に構成されている例を考慮すると、モジュールそれぞれは、いつ何時もインスタンス化される必要はない。例えば、モジュールがソフトウェアを使用して構成された汎用ハードウェアプロセッサを含む場合に、汎用ハードウェアプロセッサは、異なる時間においてそれぞれ異なるモジュールとして構成されてよい。ソフトウェアは、従って、ハードウェアプロセッサを、例えば、ある時点(instance of time)で特定のモジュールを構成し、そして、異なる時点で異なるモジュールを構成するように構成することができる。
【0079】
所定の実施形態が、ここにおいて、実施例1、2、3、等などの番号を付したものとして記載されている。これらの番号付けされた実施例は、単なる例として提供されるものであり、そして、本技術を限定するものではない。異なる実施形態は、別々に、または、任意の提案された組み合わせで実施され得ることが正しくが理解されるだろう。
【0080】
実施例1においては、情報指向ネットワーク(ICN)における第1ノードと第2ノードとの間のICNルート情報を維持するためのコンピュータに実装される方法が提供される。本方法は、前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するステップと、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップと、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するステップと、少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信するステップとを含む。
【0081】
実施例2は、実施例1における方法であり、さらに、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換するステップを含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0082】
実施例3は、先行する任意の実施例における方法であり、さらに、前記第1ノードおよび前記第2ノードにおける前記分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、前記ネットワークオペレータによって制御される前記集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換するステップ、を含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0083】
実施例4は、先行する任意の実施例における方法であり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するステップは、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間のポイントツーポイント通信リンク上で、ICNベースの通信またはIPベースの通信を使用して、前記ルーティング情報を送信するステップを含む。
【0084】
実施例5は、先行する任意の実施例における方法であり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するステップは、前記少なくとも1つの集中ICNルーティング調整ユニットから、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータに対して、ルーティング情報テーブルを送信するステップを含む。
【0085】
実施例6は、先行する任意の実施例における方法であり、さらに、前記少なくとも1つの集中ICNルーティング調整ユニットが、前記第1ノードと前記第2ノードとの間で、第1更新ICNルートセグメントおよび第2更新ICNルートセグメントを選択するステップ、を含み、前記第1更新ICNルートセグメントは、遅延感受性コンテンツを送信するために選択されており、かつ、前記第2更新ICNルートセグメントは、遅延耐性コンテンツを送信するために選択されている。
【0086】
実施例7は、先行する任意の実施例における方法であり、さらに、前記ICNのそれぞれの地理的エリアに対して集中ICNルーティング調整ユニットを提供するステップを含む。
【0087】
実施例8は、先行する任意の実施例における方法であり、前記ネクストホップノードにおいてFIB内のエントリを更新するために、ICN制御および管理メッセージを送信する前記ステップは、前記ネクストホップノードの前記FIB内に、前記第1ノードおよび前記第2ノードを識別するエントリを追加するステップを含む。
【0088】
実施例9は、先行する任意の実施例における方法であり、ルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新する前記ステップは、前記第1ノードにおける分散ICNルーティング制御および管理ユニットが、前記第1ノードと前記第2ノードとの間の複数のICNルートセグメント上にICNルートディスカバリリクエストをフラッディングすること、および、前記第2ノードにおける分散ICNルーティング制御および管理ユニットが、前記ICNルートセグメントのうち1つを選択し、かつ、前記選択された前記ICNルートセグメントにおいてユニキャストルートディスカバリレスポンスを前記第1ノードに対して送信することによって、前記ICNルートディスカバリリクエストに応答すること、を含む。
【0089】
実施例10は、先行する任意の実施例における方法であり、さらに、各ノードのポピュラリティを予測する名前付きデータ機能ネットワーキング(NFN)実行計画を受信するステップと、前記ICNにおけるノードのポピュラリティを予測するために、前記NFN実行計画を使用するステップと、前記第1ノードおよび前記第2ノードとして前記ICN内のノードを選択するステップであり、前記ノードは、前記ICN内で選択されないノードよりも高いポピュラリティを有するように、前記NFN実行計画によって予測されている、ステップと、前記第1ノードと前記第2ノードとの間のデータについて東-西予測ルーティングを実行するように中央ルータに通知するステップであり、前記NFN実行計画によって通知されるポピュラリティ予測を考慮した、最も効率的なルーティングストラテジを使用して、前記ICNにおけるデータおよび機能のインタレストが満足される、ステップと、を含む。
【0090】
実施例11は、先行する任意の実施例における方法であり、前記第1ノードは車両内に配置され、かつ、前記第2ノードは車両ネットワーク内に配置されており、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送する前記ステップは、ユニキャスト通信チャネルにおけるコンテキスト・アウェア・データを用いて路側機またはインフラストラクチャノードへ前記インタレストパケットを送信するステップを含む。
【0091】
実施例12は、先行する任意の実施例における方法であり、前記コンテキスト・アウェア・データは、前記車両の速度、進行方向、および位置、のうち少なくとも1つを含む。
【0092】
実施例13は、先行する任意の実施例における方法であり、さらに、前記車両の位置、前記インタレストパケット内の情報の寿命、および前記車両ネットワーク内の車両の密度、のうち少なくとも1つに基づいて、前記路側機またはインフラストラクチャノードにおいて、コンテキスト・アウェア・キャッシングおよびルーティングを実行するステップ、を含む。
【0093】
実施例14は、先行する任意の実施例における方法であり、前記路側機またはインフラストラクチャノードにおけるルーティングは、前記インタレストパケットによってリクエストされたコンテンツについてローカルストレージをチェックすること、および、前記コンテンツを前記車両へ送信することを含む。
【0094】
実施例15は、先行する任意の実施例における方法であり、前記ローカルストレージが前記リクエストされたコンテンツを含んでいない場合には、前記コンテキスト・アウェア・データおよびリクエストされたコンテンツに基づいて、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送し、かつ、前記路側機またはインフラストラクチャノードにおいて前記FIBを更新する。
【0095】
実施例16は、先行する任意の実施例における方法であり、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送することは、前記コンテキスト・アウェア・データにおける時間情報および空間情報のうち少なくとも1つに基づいて、他のインタレストパケットと比較して前記インタレストパケットを優先することを含む。
【0096】
実施例17は、先行する任意の実施例における方法であり、前記少なくとも1つのICNルートセグメントは、データキャッシュを有する少なくとも1つの中間ノードを含み、前記方法は、さらに、前記データキャッシュをN個の量子化レベルへと分割することによって、前記第1ノードと前記少なくとも1つの中間ノードとの間のラウンドトリップ時間(RTT)を計算するステップであり、各レベルは平均RTTを有している、ステップと、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するステップと、計算されたRTTに基づいて、前記第1ノードによるインタレストパケットの送信レートを調整するステップを含む。
【0097】
実施例18は、先行する任意の実施例における方法であり、さらに、前記第1ノードと前記少なくとも1つの中間ノードとの間のRTT遅延の移動ウィンドウを、現在時間が維持され得るまで利用して、前記第1ノードと前記少なくとも1つの中間ノードとの間の最大遅延推定値を計算するステップを含む。
【0098】
実施例19は、先行する任意の実施例における方法であり、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用する前記ステップは、任意の時点で推定されたRTTを予測するために、前記第1ノードにおける一組の特徴を考慮して、過去のコンテンツとRTTのペアリングを適合するように訓練されてきた機械学習モデルを利用するステップを含む。
【0099】
実施例20は、先行する任意の実施例における方法であり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップは、前記インタレストパケットから、パケットヘッダ、メディアアクセス制御(MCA)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよび近隣リンク品質、サービス品質要件、コンテンツ検証時間、過去のFIBエントリ、および、抽出された特徴、のうち少なくとも1つを含む特徴を抽出するステップと、ネクストホップノードを選択するために、前記抽出された特徴をニューラルネットワークに対して適用するステップと、前記選択されたネクストホップノードを前記ICNに対して適用するステップと、前記ニューラルネットワークに対して、リワードRとして、観測された待ち時間、コンテンツ発見率、コンテンツヒット成功率、ネットワークトポロジーの変化、転送コスト、ラウンドトリップ時間(RTT)の低下、および、前記選択されたホップノードを前記ICNへ適用した結果としてサービスパラメータの品質、のうちの少なくとも1つをフィードバックするステップと、最適化Eを使用して、損失関数Vを最小化するステップであり、損失関数Vは、R並びに、前記インタレストパケットを最適なネクストホップノードに対して送付していないことから生じる損失Lの関数であり、Eは、
【数2】
として定式化され、Wは、前記ニューラルネットワークの重み付けである、ステップを含む。
【0100】
実施例21は、先行する任意の実施例における方法であり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップは、入力インタレストをネクストホップノードにマッピングするパラメトリック関数を使用して、前記FIBが、前記インタレストパケットを少なくとも1つのネクストホップノードにマッピングすることを含む。
【0101】
実施例22は、先行する任意の実施例における方法であり、誤った、または、次善のネクストホップが選択された場合に、隣接ノードから転送されたインタレストパケットをモニタリングするフルFIBテーブルノードは、前記インタレストパケットを最適なネクストホップへ転送する。
【0102】
実施例23は、情報指向ネットワーク(ICN)を通じてインタレストパケットを転送するためのルート情報を維持するICNであって、前記ICN内の第1ノードと、前記ICN内の第2ノードと、前記ICNにおける前記第1ノードと前記第2ノードの間のネクストホップノードであり、フォワーディングインフォメーションベース(FIB)を構成する、ネクストホップノードと、を含み、前記第1ノードは、前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するステップと、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップと、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するステップと、少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信するステップと、を含むオペレーションを実行するように適合されている。
【0103】
実施例24は、実施例23におけるICNであり、さらに、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニットを含み、前記第1ノードは、さらに、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換するように適合されており、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0104】
実施例25は、実施例23および24におけるICNであり、さらに、更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニットを含み、前記第1ノードは、さらに、前記第1ノードおよび前記第2ノードにおける前記分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、前記ネットワークオペレータによって制御される前記集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換するステップを含む、オペレーションを実行するように適合されており、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0105】
実施例26は、実施例23-25におけるICNであり、前記第1ノードは、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間のポイントツーポイント通信リンク上で、ICNベースの通信またはIPベースの通信を使用して、前記ルーティング情報を送信することによって、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換する。
【0106】
実施例27は、実施例23-26におけるICNであり、前記第1ノードは、前記少なくとも1つの集中ICNルーティング調整ユニットから、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータに対して、ルーティング情報テーブルを送信することによって、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換する。
【0107】
実施例28は、実施例23-27におけるICNであり、前記少なくとも1つの集中ICNルート調整ユニットは、前記第1ノードと前記第2ノードとの間で第1更新ICNルートセグメントとおよび第2更新ICNルートセグメントとを選択し、前記第1更新ICNルートセグメントは、遅延感受性コンテンツを送信するために選択され、かつ、前記第2更新ICNルートセグメントは、高いデータレート遅延耐性コンテンツを送信するために選択される。
【0108】
実施例29は、実施例23-28におけるICNであり、さらに、前記ICNのそれぞれの地理的エリアのための集中ICNルーティング調整ユニットを含む。
【0109】
実施例30は、実施例23-29におけるICNであり、前記第1ノードは、前記ネクストホップノードの前記FIB内に、前記第1ノードおよび前記第2ノードを識別するエントリを追加することによって、前記ネクストホップノードにおいてFIB内のエントリを更新するために、ICN制御および管理メッセージを送信する。
【0110】
実施例31は、実施例23-30におけるICNであり、前記第1ノードは、さらに、分散ICNルーティング制御および管理ユニットを含み、かつ、前記第2ノードは、分散ICNルーティング制御および管理ユニットを含む。分散ICNルーティング制御および管理ユニットが、前記第1ノードと前記第2ノードとの間の複数のICNルートセグメント上にICNルートディスカバリリクエストをフラッディングすることによって、前記第1ノードは、ルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新する。そして、分散ICNルーティング制御および管理ユニットが、前記ICNルートセグメントのうち1つを選択し、かつ、前記選択された前記ICNルートセグメントの1つにおいてユニキャストルートディスカバリレスポンスを前記第1ノードに対して送信することによって、前記ICNルートディスカバリリクエストに応答する。
【0111】
実施例32は、実施例23-31におけるICNであり、前記第1ノードは、さらに、各ノードのポピュラリティを予測する名前付きデータ機能ネットワーキング(NFN)実行計画を受信し、かつ、前記ICNにおけるノードのポピュラリティを予測するために、前記NFN実行計画を使用しする。第1ノードは、前記ICN内で選択されないノードよりも高いポピュラリティを有するように、前記NFN実行計画によって予測されている、前記第1ノードおよび前記第2ノードとして前記ICN内のノードを選択する。そして、前記第1ノードと前記第2ノードとの間のデータについて東-西予測ルーティングを実行するように中央ルータに通知する。ここで、前記ICNにおけるデータおよび機能のインタレストは、前記NFN実行計画によって通知されるポピュラリティ予測を考慮した、最も効率的なルーティングストラテジを使用して満足される。
【0112】
実施例33は、実施例23-32におけるICNであり、前記第1ノードは車両内に配置され、かつ、前記第2ノードは車両ネットワーク内に配置されており、さらに、路側機またはインフラストラクチャノードを含む。ここで、第1ノードは、ユニキャスト通信チャネルにおけるコンテキスト・アウェア・データを用いて路側機またはインフラストラクチャノードへ前記インタレストパケットを送信することによって、前記インタレストパケットを前記ネクストホップノードへ転送する。
【0113】
実施例34は、実施例23-33におけるICNであり、ここで、前記コンテキスト・アウェア・データは、前記車両の速度、進行方向、および位置、のうち少なくとも1つを含む。
【0114】
実施例35は、実施例23-34におけるICNであり、ここで、前記路側機またはインフラストラクチャノードは、前記車両の位置、前記インタレストパケット内の情報の寿命、および前記車両ネットワーク内の車両の密度、のうち少なくとも1つに基づいて、コンテキスト・アウェア・キャッシングおよびルーティングを実行する。
【0115】
実施例36は、実施例23-35におけるICNであり、さらに、ローカルストレージを含み、ここで、前記路側機またはインフラストラクチャノードにおけるルーティングは、前記インタレストパケットによってリクエストされたコンテンツについてローカルストレージをチェックすること、および、前記コンテンツを前記車両へ送信することによって、データをルーティングする。
【0116】
実施例37は、実施例23-36におけるICNであり、ここで、前記ローカルストレージが前記リクエストされたコンテンツを含んでいない場合に、第1ノードは、前記コンテキスト・アウェア・データおよびリクエストされたコンテンツに基づいて、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送し、かつ、前記路側機またはインフラストラクチャノードにおいて前記FIBを更新する。
【0117】
実施例38は、実施例23-37におけるICNであり、ここで、前記第1ノード、路側機、またはインフラストラクチャノードは、前記コンテキスト・アウェア・データにおける時間情報および空間情報のうち少なくとも1つに基づいて、他のインタレストパケットと比較して前記インタレストパケットを優先することによって、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送する。
【0118】
実施例39は、実施例23-38におけるICNであり、ここで、前記少なくとも1つのICNルートセグメントは、データキャッシュを有する少なくとも1つの中間ノードを含む。そして、前記第1ノードは、前記データキャッシュをN個の量子化レベルへと分割することによって、前記第1ノードと前記少なくとも1つの中間ノードとの間のラウンドトリップ時間(RTT)を計算し、ここで、各レベルは平均RTTを有している。第1ノードは、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用し、そして、計算されたRTTに基づいて、前記第1ノードによるインタレストパケットの送信レートを調整する。
【0119】
実施例40は、実施例23-39におけるICNであり、ここで、前記第1ノードは、さらに、前記第1ノードと前記少なくとも1つの中間ノードとの間のRTT遅延の移動ウィンドウを、現在時間が維持され得るまで利用して、前記第1ノードと前記少なくとも1つの中間ノードとの間の最大遅延推定値を計算する。
【0120】
実施例41は、実施例23-40におけるICNであり、さらに、前記第1ノードにおける一組の特徴を考慮して、過去のコンテンツとRTTのペアリングを適合するように訓練されてきた機械学習モデルを含み、ここで、第1ノードは、任意の時点で推定されたRTTを予測するように前記機械学習モデルを使用することにより、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用する。
【0121】
実施例42は、実施例23-41におけるICNであり、ここで、前記第1ノードは、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つける。前記インタレストパケットから、パケットヘッダ、メディアアクセス制御(MCA)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよび近隣リンク品質、サービス品質要件、コンテンツ検証時間、過去のFIBエントリ、および、抽出された特徴、のうち少なくとも1つを含む特徴を抽出するステップと、ネクストホップノードを選択するために、前記抽出された特徴をニューラルネットワークに対して適用するステップと、前記選択されたネクストホップノードを前記ICNに対して適用するステップと、前記ニューラルネットワークに対して、リワードRとして、観測された待ち時間、コンテンツ発見率、コンテンツヒット成功率、ネットワークトポロジーの変化、転送コスト、ラウンドトリップ時間(RTT)の低下、および、前記選択されたホップノードを前記ICNへ適用した結果としてサービスパラメータの品質、のうちの少なくとも1つをフィードバックするステップと、最適化Eを使用して、損失関数Vを最小化するステップであり、損失関数Vは、R並びに、前記インタレストパケットを最適なネクストホップノードに対して送付していないことから生じる損失Lの関数であり、Eは、
【数3】
として定式化され、Wは、前記ニューラルネットワークの重み付けである、ステップによるものである。
【0122】
実施例43は、実施例23-42におけるICNであり、ここで、前記FIBは、入力インタレストをネクストホップノードにマッピングするパラメトリック関数を使用して、前記インタレストパケットを少なくとも1つのネクストホップノードにマッピングする。
【0123】
実施例44は、実施例23-43におけるICNであり、さらに、誤った、または、次善のネクストホップが選択された場合に、隣接ノードから転送されたインタレストパケットをモニタリングし、かつ、前記インタレストパケットを最適なネクストホップへ転送する、フルFIBテーブルノードを含む。
【0124】
実施例45は、プロセッサによって実行されたときに、情報指向ネットワーク(ICN)における第1ノードと第2ノードとの間のICNルート情報を維持するためのオペレーションを、前記プロセッサに実行させる、命令を含む非一時的なコンピュータ可読媒体である。前記オペレーションは、前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するステップと、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるステップと、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するステップと、少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信するステップと、を含む。
【0125】
実施例46は、実施例45における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換するステップを含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0126】
実施例47は、実施例45および46における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記第1ノードおよび前記第2ノードにおける前記分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、前記ネットワークオペレータによって制御される前記集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換するステップを含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0127】
実施例48は、実施例45-47における媒体であり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するための命令は、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間のポイントツーポイント通信リンク上で、ICNベースの通信またはIPベースの通信を使用して、前記ルーティング情報を送信するための命令を含む。
【0128】
実施例49は、実施例45-48における媒体であり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換する命令は、前記少なくとも1つの集中ICNルーティング調整ユニットから、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータに対して、ルーティング情報テーブルを送信するための命令を含む。
【0129】
実施例50は、実施例45-49における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記少なくとも1つの集中ICNルーティング調整ユニットが、前記第1ノードと前記第2ノードとの間で、第1更新ICNルートセグメントおよび第2更新ICNルートセグメントを選択するステップを含み、前記第1更新ICNルートセグメントは、遅延感受性コンテンツを送信するために選択されており、かつ、前記第2更新ICNルートセグメントは、遅延耐性コンテンツを送信するために選択されている。
【0130】
実施例51は、実施例45-50における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記ICNのそれぞれの地理的エリアに対して集中ICNルーティング調整ユニットを提供するステップを含む。
【0131】
実施例52は、実施例45-51における媒体であり、前記ネクストホップノードにおいてFIB内のエントリを更新するために、ICN制御および管理メッセージを送信する前記命令は、前記ネクストホップノードの前記内に、前記第1ノードおよび前記第2ノードを識別するエントリを追加する、ための命令を含む。
【0132】
実施例53は、実施例45-52における媒体であり、ルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新する前記命令は、前記第1ノードと前記第2ノードとの間の複数のICNルートセグメント上にICNルートディスカバリリクエストをフラッディングし、かつ、前記第2ノードにおける分散ICNルーティング制御および管理ユニットから、前記ICNルートセグメントのうち選択された1つにおいてユニキャストルートディスカバリレスポンスを受信する、ための命令を含む。
【0133】
実施例54は、実施例45-53における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、各ノードのポピュラリティを予測する名前付きデータ機能ネットワーキング(NFN)実行計画を受信するステップと、前記ICNにおけるノードのポピュラリティを予測するために、前記NFN実行計画を使用するステップと、記第1ノードおよび前記第2ノードとして前記ICN内のノードを選択するステップであり、前記ノードは、前記ICN内で選択されないノードよりも高いポピュラリティを有するように、前記NFN実行計画によって予測されているステップと、前記第1ノードと前記第2ノードとの間のデータについて東-西予測ルーティングを実行するように中央ルータに通知するステップであり、前記NFN実行計画によって通知されるポピュラリティ予測を考慮した、最も効率的なルーティングストラテジを使用して、前記ICNにおけるデータおよび機能のインタレストが満足されるステップを含む。
【0134】
実施例55は、実施例45-54における媒体であり、前記第1ノードは車両内に配置され、かつ、前記第2ノードは車両ネットワーク内に配置されている。ここで、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するための前記命令は、ユニキャスト通信チャネルにおけるコンテキスト・アウェア・データを用いて路側機またはインフラストラクチャノードへ前記インタレストパケットを送信する、ための命令を含む。
【0135】
実施例56は、実施例45-55における媒体であり、前記コンテキスト・アウェア・データは、前記車両の速度、進行方向、および位置、のうち少なくとも1つを含む。
【0136】
実施例57は、実施例45-56における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記車両の位置、前記インタレストパケット内の情報の寿命、および前記車両ネットワーク内の車両の密度、のうち少なくとも1つに基づいて、前記路側機またはインフラストラクチャノードにおいて、コンテキスト・アウェア・キャッシングおよびルーティングを実行するステップ、を含む。
【0137】
実施例58は、実施例45-57における媒体であり、前記路側機またはインフラストラクチャノードにおけるルーティングのための命令は、前記インタレストパケットによってリクエストされたコンテンツについてローカルストレージをチェックし、かつ、前記コンテンツを前記車両へ送信する、ための命令を含む。
【0138】
実施例59は、実施例45-58における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記ローカルストレージが前記リクエストされたコンテンツを含んでいない場合には、前記コンテキスト・アウェア・データおよびリクエストされたコンテンツに基づいて、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送し、かつ、前記路側機またはインフラストラクチャノードにおいて前記FIBを更新するステップ、を含む。
【0139】
実施例60は、実施例45-59における媒体であり、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送するための命令は、前記コンテキスト・アウェア・データにおける時間情報および空間情報のうち少なくとも1つに基づいて、他のインタレストパケットと比較して前記インタレストパケットを優先すること、を含む。
【0140】
実施例61は、実施例45-60における媒体であり、前記少なくとも1つのICNルートセグメントは、データキャッシュを有する少なくとも1つの中間ノードを含み、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記データキャッシュをN個の量子化レベルへと分割することによって、前記第1ノードと前記少なくとも1つの中間ノードとの間のラウンドトリップ時間(RTT)を計算するステップであり、各レベルは平均RTTを有しているステップと、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するステップと、計算されたRTTに基づいて、前記第1ノードによるインタレストパケットの送信レートを調整するステップ、を含む。
【0141】
実施例62は、実施例45-61における媒体であり、プロセッサによって実行されたときに、オペレーションを前記プロセッサに実行させる命令を含み、前記オペレーションは、さらに、前記第1ノードと前記少なくとも1つの中間ノードとの間のRTT遅延の移動ウィンドウを、現在時間が維持され得るまで利用して、前記第1ノードと前記少なくとも1つの中間ノードとの間の最大遅延推定値を計算するステップ、を含む、
【0142】
実施例63は、実施例45-62における媒体であり、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するための前記命令は、任意の時点で推定されたRTTを予測するために、前記第1ノードにおける一組の特徴を考慮して、過去のコンテンツとRTTのペアリングを適合するように訓練されてきた機械学習モデルを利用する、ための命令を含む。
【0143】
実施例64は、実施例45-63における媒体であり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるための命令は、前記インタレストパケットから、パケットヘッダ、メディアアクセス制御(MCA)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよび近隣リンク品質、サービス品質要件、コンテンツ検証時間、過去のFIBエントリ、および、抽出された特徴、のうち少なくとも1つを含む特徴を抽出するための命令と、ネクストホップノードを選択するために、前記抽出された特徴をニューラルネットワークに対して適用するための命令と、前記選択されたネクストホップノードを前記ICNに対して適用するための命令と、前記ニューラルネットワークに対して、リワードRとして、観測された待ち時間、コンテンツ発見率、コンテンツヒット成功率、ネットワークトポロジーの変化、転送コスト、ラウンドトリップ時間(RTT)の低下、および、前記選択されたホップノードを前記ICNへ適用した結果としてサービスパラメータの品質、のうちの少なくとも1つをフィードバックする命令と、最適化Eを使用して、損失関数Vを最小化する命令であり、損失関数Vは、R並びに、前記インタレストパケットを最適なネクストホップノードに対して送付していないことから生じる損失Lの関数であり、Eは、
【数4】
として定式化され、Wは、前記ニューラルネットワークの重み付けである命令、を含む。
【0144】
実施例65は、実施例45-64における媒体であり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるための命令は、入力インタレストをネクストホップノードにマッピングするパラメトリック関数を使用して、前記FIBが、前記インタレストパケットを少なくとも1つのネクストホップノードにマッピングできるようにする、ための命令を含む。
【0145】
実施例66は、情報指向ネットワーク(ICN)を通じてインタレストパケットを転送するためのルート情報を維持するICNであって、前記ICN内の第1ノードと、前記ICN内の第2ノードと、前記ICNにおける前記第1ノードと前記第2ノードの間のネクストホップノードであり、フォワーディングインフォメーションベース(FIB)を構成する、ネクストホップノードと、を含む。ここで、前記第1ノードは、前記第1ノード、前記第2ノード、および、前記第1ノードと前記第2ノードとの間の中間ルータ、の間で、ロードバランシングを維持し、かつ、コンテンツ検索およびシグナリングオーバーヘッドの待ち時間を軽減するルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新する手段と、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つける手段と、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送する手段と、少なくとも第1ノードについてエントリを含むように、前記ネクストホップノードにおいてフォワーディングインフォメーションベース(FIB)内のエントリを更新するために、ICN制御および管理メッセージを送信する手段と、を含む。
【0146】
実施例67は、実施例66におけるICNであり、さらに、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、および、ネットワークオペレータによって制御される少なくとも1つの集中ICNルーティング調整ユニット、の間で、前記ルーティング情報を交換するための手段を含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0147】
実施例68は、実施例66および67におけるICNであり、さらに、前記第1ノードおよび前記第2ノードにおける前記分散ICNルーティング制御および管理ユニット、前記更新された少なくとも1つのICNルートセグメント内で前記第1ノードと前記第2ノードとの間の少なくとも1つの中間ルータにおける分散ICNルーティング制御および管理ユニット、および、前記ネットワークオペレータによって制御される前記集中ICNルーティング調整ユニット、の間で、ルーティング情報を交換するための手段を含み、前記少なくとも1つの集中ICNルーティング調整ユニットは、前記更新された少なくとも1つのICNルートセグメントにわたり、ロードバランシングを動的に最適化し、かつ、調整している。
【0148】
実施例69は、実施例66-68におけるICNであり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するための手段は、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間のポイントツーポイント通信リンク上で、ICNベースの通信またはIPベースの通信を使用して、前記ルーティング情報を送信するための手段、を含む。
【0149】
実施例70は、実施例66-69におけるICNであり、前記少なくとも1つの集中ICNルーティング調整ユニットと、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータとの間で、ルーティング情報を交換するための手段は、前記少なくとも1つの集中ICNルーティング調整ユニットから、前記第1ノード、前記第2ノード、および前記少なくとも1つの中間ルータに対して、ルーティング情報テーブルを送信するための手段、を含む。
【0150】
実施例71は、実施例66-70におけるICNであり、ここで、前記少なくとも1つの集中ICNルーティング調整ユニットが、前記第1ノードと前記第2ノードとの間で、第1更新ICNルートセグメントおよび第2更新ICNルートセグメントを選択し、前記第1更新ICNルートセグメントは、遅延感受性コンテンツを送信するために選択されており、かつ、前記第2更新ICNルートセグメントは、遅延耐性コンテンツを送信するために選択されている。
【0151】
実施例72は、実施例66-71におけるICNであり、さらに、前記ICNのそれぞれの地理的エリアに対する集中ICNルーティング調整ユニットを含む。
【0152】
実施例73は、実施例66-72におけるICNであり、前記ネクストホップノードにおいてFIB内のエントリを更新するために、ICN制御および管理メッセージを送信するための手段は、前記ネクストホップノードの前記内に、前記第1ノードおよび前記第2ノードを識別するエントリを追加するための手段を含む。
【0153】
実施例74は、実施例66-73におけるICNであり、ルーティング情報を提供するために、ICN制御および管理メッセージを使用して、前記第1ノードと前記第2ノードとの間で少なくとも1つのICNルートセグメントを更新するための手段は、前記第1ノードと前記第2ノードとの間の複数のICNルートセグメント上にICNルートディスカバリリクエストをフラッディングするための手段を含む、前記第1ノードにおける分散ICNルーティング制御および管理ユニット、および、前記ICNルートセグメントのうち1つを選択し、かつ、前記選択された前記ICNルートセグメントにおいてユニキャストルートディスカバリレスポンスを前記第1ノードに対して送信することによって、前記ICNルートディスカバリリクエストに応答するための手段を含む、前記第2ノードにおける分散ICNルーティング制御および管理ユニット、を含む。
【0154】
実施例75は、実施例66-74におけるICNであり、さらに、各ノードのポピュラリティを予測する名前付きデータ機能ネットワーキング(NFN)実行計画を受信するための手段と、前記ICNにおけるノードのポピュラリティを予測するために、前記NFN実行計画を使用するための手段と、前記第1ノードおよび前記第2ノードとして前記ICN内のノードを選択するための手段であり、前記ノードは、前記ICN内で選択されないノードよりも高いポピュラリティを有するように、前記NFN実行計画によって予測されている手段と、前記第1ノードと前記第2ノードとの間のデータについて東-西予測ルーティングを実行するように中央ルータに通知するための手段であり、前記NFN実行計画によって通知されるポピュラリティ予測を考慮した、最も効率的なルーティングストラテジを使用して、前記ICNにおけるデータおよび機能のインタレストが満足される手段と、を含む。
【0155】
実施例76は、実施例66-75におけるICNであり、前記第1ノードは車両内に配置され、かつ、前記第2ノードは車両ネットワーク内に配置されており、前記第1ノードから前記ネクストホップノードへインタレストパケットを転送するための手段は、ユニキャスト通信チャネルにおけるコンテキスト・アウェア・データを用いて路側機またはインフラストラクチャノードへ前記インタレストパケットを送信する手段、を含む。
【0156】
実施例77は、実施例66-76におけるICNであり、前記コンテキスト・アウェア・データは、前記車両の速度、進行方向、および位置、のうち少なくとも1つを含む。
【0157】
実施例78は、実施例66-77におけるICNであり、さらに、前記車両の位置、前記インタレストパケット内の情報の寿命、および前記車両ネットワーク内の車両の密度、のうち少なくとも1つに基づいて、前記路側機またはインフラストラクチャノードにおいて、コンテキスト・アウェア・キャッシングおよびルーティングを実行するための手段、を含む。
【0158】
実施例79は、実施例66-78におけるICNであり、前記路側機またはインフラストラクチャノードにおけるルーティングは、前記インタレストパケットによってリクエストされたコンテンツについてローカルストレージをチェックし、かつ、および、前記コンテンツを前記車両へ送信するための手段、を含む。
【0159】
実施例80は、実施例66-79におけるICNであり、さらに、前記ローカルストレージが前記リクエストされたコンテンツを含んでいない場合には、前記コンテキスト・アウェア・データおよびリクエストされたコンテンツに基づいて、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送し、かつ、前記路側機またはインフラストラクチャノードにおいて前記FIBを更新するための手段、を含む。
【0160】
実施例81は、実施例66-80におけるICNであり、さらに、前記インタレストパケットを前記更新された少なくとも1つのICNルートセグメント内の別のノードに対して転送するための手段は、前記コンテキスト・アウェア・データにおける時間情報および空間情報のうち少なくとも1つに基づいて、他のインタレストパケットと比較して前記インタレストパケットを優先するための手段、を含む。
【0161】
実施例82は、実施例66-81におけるICNであり、前記少なくとも1つのICNルートセグメントは、データキャッシュを有する少なくとも1つの中間ノードを含み、さらに、前記データキャッシュをN個の量子化レベルへと分割することによって、前記第1ノードと前記少なくとも1つの中間ノードとの間のラウンドトリップ時間(RTT)を計算するための手段であり、各レベルは平均RTTを有している手段と、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するための手段と、計算されたRTTに基づいて、前記第1ノードによるインタレストパケットの送信レートを調整する手段と、を含む。
【0162】
実施例83は、実施例66-82におけるICNであり、さらに、前記第1ノードと前記少なくとも1つの中間ノードとの間のRTT遅延の移動ウィンドウを、現在時間が維持され得るまで利用して、前記第1ノードと前記少なくとも1つの中間ノードとの間の最大遅延推定値を計算するための手段、を含む。
【0163】
実施例84は、実施例66-83におけるICNであり、前記N個の量子化レベルそれぞれについてキャッシュヒット確率を決定するために、キャッシュヒットの履歴情報を利用するための手段は、任意の時点で推定されたRTTを予測するために、前記第1ノードにおける一組の特徴を考慮して、過去のコンテンツとRTTのペアリングを適合するように訓練されてきた機械学習モデルを利用するための手段、を含む。
【0164】
実施例85は、実施例66-84におけるICNであり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるための手段は、前記インタレストパケットから、パケットヘッダ、メディアアクセス制御(MCA)および以前のホップのリンクレベルのアドレス、地理的な位置、近隣リストおよび近隣リンク品質、サービス品質要件、コンテンツ検証時間、過去のFIBエントリ、および、抽出された特徴、のうち少なくとも1つを含む特徴を抽出するための手段と、ネクストホップノードを選択するために、前記抽出された特徴をニューラルネットワークに対して適用するための手段と、前記選択されたネクストホップノードを前記ICNに対して適用するための手段と、前記ニューラルネットワークに対して、リワードRとして、観測された待ち時間、コンテンツ発見率、コンテンツヒット成功率、ネットワークトポロジーの変化、転送コスト、ラウンドトリップ時間(RTT)の低下、および、前記選択されたホップノードを前記ICNへ適用した結果としてサービスパラメータの品質、のうちの少なくとも1つをフィードバックするための手段と、最適化Eを使用して、損失関数Vを最小化するための手段であり、損失関数Vは、R並びに、前記インタレストパケットを最適なネクストホップノードに対して送付していないことから生じる損失Lの関数である手段と、を含む。ここで、Eは、
【数5】
として定式化され、Wは、前記ニューラルネットワークの重み付けである。
【0165】
実施例86は、実施例66-85におけるICNであり、前記ルーティング情報を使用して、前記更新された少なくとも1つのICNルートセグメント上で前記第1ノードと前記第2ノードとの間のネクストホップノードを見つけるための手段は、入力インタレストをネクストホップノードにマッピングするパラメトリック関数を使用して、前記FIBが、前記インタレストパケットを少なくとも1つのネクストホップノードにマッピングできるようにするための手段、を含む。
【0166】
実施例87は、実施例66-86におけるICNであり、誤った、または、次善のネクストホップが選択された場合に、隣接ノードから転送されたインタレストパケットをモニタリングするフルFIBテーブルノードは、前記インタレストパケットを最適なネクストホップへ転送する。
【0167】
上記の詳細な説明は、詳細な説明の一部を形成している、添付の図面に対する参照を含んでいる。図面は、例示として、実施され得る特定の実施形態を示している。これらの実施形態は、また、ここにおいて「実施例(“examples”)」としても参照される。そうした実施例は、図示または説明されたものに加えて、エレメントを含み得る。しかしながら、本発明者は、また、図示または説明されたエレメントだけが提供される実施例も考えている。さらに、本発明者は、また、特定の実施例(または、その1つまたはそれ以上の態様)に関して、もしくは、ここにおいて図示または説明される他の実施例(または、その1つまたはそれ以上の態様)に関して、図示または説明されるこれらのエレメント(または、その1つまたはそれ以上の態様)の任意の組み合わせ又は並べ替えを使用する実施例を考えている。
【0168】
この文書において言及されている全ての刊行物、特許、および特許文献は、あたかも参照によって個々に組み込まれているかのように、全体として参照によってここにおいて組み込まれている。本明細書と引用によって編入される文献との間で使用に一貫性がない場合、編入される文献における使用は、この文書での使用の補足として考えられるべきである。一致しない矛盾点については、この文書での使用が制御するものである。
【0169】
この文書において、用語「1つの(“a”または“an”)」は、特許文献において一般的なように、「少なくとも1つ(“at least one”)」または「1つまたはそれ以上(“one or more”)」の他のインスタンスまたは使用とは独立して、1つ、または、1より大きい、を含むために使用されている。この文書において、用語「または(“or”)」は、非排他的なものを指すように使用されており、その結果、「AまたはB(“A or B”)」は、特に明記されない限り、「AであるがBではない(“A but not B”)」、「BであるがAではない(“B but not A”)」、および「AおよびB(“A and B”)」を含む。添付の請求項において、用語「含む“including”」および「その中で(“in which”)」は、それぞれ用語「有する(“comprising”)」および「ここで(“wherein”)」の平易な英語の等価語として使用されている。また、以降の請求項において、用語「含む」および「有する」は、オープンエンドであり、すなわち、請求項内でそうした用語の後に列挙されているものに加えて、エレメントを含んでいる、システム、装置、製品、またはプロセスは、なおも、請求の範囲内にあるものとみなされる。さらに、以降の請求項において、用語「第1(“first”)」、「第2(“second”)」、および「第3(“third”)」、等は、単にラベルとして使用されているだけであり、そして、それらの目的に数値的な要件を課すように意図されたものではない。
【0170】
上記の説明は、例示であるように意図されたものであり、限定的なものではない。例えば、上述の実施例(または、その1つまたはそれ以上の態様)は、相互に組み合わせて使用され得る。他の実施形態が、上記の説明を検討した上で、当業者といった者によって使用され得る。要約は、読者が技術的開示の性質を迅速に確認できるようにするものであり、そして、請求の範囲または意味を解釈し、もしくは、限定するために使用されないという理解と共に提出されている。上記の詳細な説明においては、また、様々な特徴が、開示を合理化するように一緒にまとめられてもよい。このことは、請求されていない開示された特徴が任意の請求項に対して必須であることを意図しているものとして解釈されるべきではない。むしろ、発明の主題は、特定の開示された実施形態に係る全て特徴より少ないところに存在し得るものである。従って、以降の請求項は、ここにおいて詳細な説明の中に組込まれており、それぞれの請求項が、別々の実施形態として独自に成立している。実施形態の範囲は、添付の請求項を参照して決定されるべきであり、そうした請求項が権利を有する均等物の全ての範囲を伴うものである。