JP2017069950A - スモールマルチパス又はシングルパス転送状態による情報中心ネットワーキング - Google Patents
スモールマルチパス又はシングルパス転送状態による情報中心ネットワーキング Download PDFInfo
- Publication number
- JP2017069950A JP2017069950A JP2016179861A JP2016179861A JP2017069950A JP 2017069950 A JP2017069950 A JP 2017069950A JP 2016179861 A JP2016179861 A JP 2016179861A JP 2016179861 A JP2016179861 A JP 2016179861A JP 2017069950 A JP2017069950 A JP 2017069950A
- Authority
- JP
- Japan
- Prior art keywords
- interest
- router
- content
- dart
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 33
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 4
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- ODCKICSDIPVTRM-UHFFFAOYSA-N [4-[2-hydroxy-3-(propan-2-ylazaniumyl)propoxy]naphthalen-1-yl] sulfate Chemical compound C1=CC=C2C(OCC(O)CNC(C)C)=CC=C(OS(O)(=O)=O)C2=C1 ODCKICSDIPVTRM-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000012813 breadcrumbs Nutrition 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000375 direct analysis in real time Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012063 dual-affinity re-targeting Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 231100000205 reproductive and developmental toxicity Toxicity 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L45/507—Label distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】情報中心ネットワーク(ICN)におけるルータのルーティングテーブルのサイズを削減する。【解決手段】ルータは、コンテンツの一部に関連付けられた名称を示すインタレストを受信するように構成された受信モジュールを含み、また、インタレストが転送されることができるかどうかを判定し、インタレストが第2のルータに転送されることができるという判定に応答して、第2のルータに固有のラベルを取得し、インタレストにラベルを添付するように構成されたインタレスト処理モジュールを含み、添さらに、付されたラベルを有する第2のルータに対してインタレストを転送するように構成された転送モジュールを含む。【選択図】図11
Description
本開示は、一般に、情報中心ネットワーク(ICN)に関する。より具体的には、本開示は、データ回答ルーティングテーブル(DART)によって保留インタレストテーブルを置換するICNアーキテクチャに関する。
インターネット及び電子商取引の普及は、ネットワーク業界における革命的な変化を刺激し続けている。今日では、オンライン映画鑑賞から毎日のニュース配信、小売売上高及びインスタントメッセージまで、かなりの数の情報交換がオンラインで行われている。増加する数のインターネットアプリケーションはまたモバイルになってきている。しかしながら、現在のインターネットは、主にロケーションベースのアドレッシング方式で動作する。2つの最もユビキタスなプロトコルであるインターネットプロトコル(IP)及びイーサネット(登録商標)プロトコルは、双方とも、エンドホストアドレスに基づいている。すなわち、コンテンツの消費者は、典型的には物理オブジェクト又は位置に関連しているアドレス(例えば、IPアドレス又はイーサネット(登録商標)メディアアクセス制御(MAC)アドレス)からコンテンツを明示的に要求することによってコンテンツを受信することができるにすぎない。この制限のあるアドレッシング方式は、刻々と変化するネットワークの要求を満たすために次第に不十分になってきている。
近年、コンテンツが直接名称付けられてアドレッシングされる情報中心ネットワーク(ICN)アーキテクチャが業界において提案されている。コンテンツ中心ネットワーキング(CCN)及び名称付きデータネットワーキング(NDN)は、主要なインタレストベースのICNアプローチである。CCNにおいて、コンテンツが移動するエンドツーエンド会話としてのアプリケーションレベルでネットワークトラフィックを表示する代わりに、コンテンツは、固有名称に基づいて要求又は返送され、ネットワークは、提供者から消費者へとコンテンツをルーティングする責を担う。コンテンツは、テキスト、画像、映像及び/又は音声などの任意の形態のデータを含む通信システムにおいて伝送されることができるデータを含むことに留意されたい。消費者及び提供者は、CCNの内部又は外部のコンピュータ又は自動プロセスにおける人とすることができる。コンテンツの一部は、コンテンツ全体又はコンテンツの各部を指すことができる。例えば、新聞記事は、データパケットとして具現化されたコンテンツの複数部分によって表されることができる。コンテンツの一部はまた、認証データ、作成日付、コンテンツ所有者などの情報を有するコンテンツの一部を記述又は増補するメタデータに関連付けることができる。
CCN及びNDNなどの既存のインタレストベースのICNアプローチにおいて、ルータ(又はネットワークにおけるノード)は、特定の名称付きデータオブジェクト(NDO)についてのインタレストが受信されるインターフェース及びそのようなインタレストが転送されるインターフェースを含むインタレスト状態を記憶するために、保留インタレストテーブル(PIT)を維持する必要がある。PITは、元の要求者の身元を隠しながらインタレストを満たすNDOが元の要求者まで戻る逆経路をたどるのを可能とする。しかしながら、ルータによって処理されるインタレスト数が増えるのにともない、ルータがネットワーク内のルータの数よりもはるかに多くのインタレストを処理することから、伝統的なルーティングテーブルのサイズよりも大きい大きさの多くのオーダとすることができるPITのサイズがとても大きくなる。
本開示において使用される用語は、一般に、以下のように定義される(それらの解釈はそのように限定されるものではない)。
「HSVLI」:名称とも称される階層的構造化可変長識別子である。それは、可変長オクテット文字列とすることができる名称要素の順序付きリストである。人間が読める形式において、ccnx:/path/partなどの形式で表現することができる。また、HSVLIは、人間が読めるものでなくてもよい。上述したように、HSVLIは、コンテンツを指し、それらは、コンテンツについての組織的構造を表現することができ且つ人間にとって少なくとも部分的に有意とすることができるのが望ましい。HSVLIの個別の要素は、任意長を有することができる。さらにまた、HSVLIは、明示的に区切られた要素を有することができ、バイトの任意のシーケンスを含むことができ、人間が読める文字に限定されるものではない。最長接頭辞一致検索は、HSVLIを有するパケットの転送に重要である。例えば、「/parc/home/bob」におけるインタレストを示すHSVLIは、「/parc/home/bob/test.txt」及び「/parc/home/bob/bar.txt」の双方に一致する。名称要素の数の観点で最長の一致は、最も特異的であるために最良であると考えられる。HSVLIの詳細な説明は、2009年9月23日に出願された発明者Van L. Jacobson及びJames D. Thorntonによる「階層的構造化可変長識別子を有するパケットを転送するためのシステム」と題された米国特許第8,160,069号明細書においてみることができる。
「インタレスト」:コンテンツオブジェクトについての要求である。インタレストは、同じ名称接頭辞を有する複数のオブジェクトを選択するために使用することができるHSVLI名称接頭辞及び他の任意のセレクタを指定する。名称がインタレスト名称接頭辞と一致する(及び、必要に応じて発行者鍵IDなど他の要求されたパラメータが一致する)任意のコンテンツオブジェクトは、インタレストを満たす。
「コンテンツオブジェクト」:インタレストに応答して送信されたデータオブジェクトである。それは、暗号化署名を介して互いに結合しているHSVLI名称及びコンテンツペイロードを有する。必要に応じて、全てのコンテンツオブジェクトは、コンテンツオブジェクトのSHA−256ダイジェストから構成された暗黙的な端末名称要素を有する。1つの実施形態において、暗黙的なダイジェストは、有線で転写されないが、必要に応じて、各ホップにおいて計算される。この開示において、用語「コンテンツオブジェクト」及び用語「名称付きデータオブジェクト(NDO)」は互換性がある。
「フェース」:CCNにおいて、用語フェースは、インターフェースの概念の一般化である。フェースは、ネットワーク又は直接アプリケーションパーティに接続されることができる。フェースは、特定のネットワークインターフェース上でブロードキャスト又はマルチキャストパケットを送受信するか又は下層伝送においてポイントツーポイントアドレッシングを使用して若しくはトンネル(例えば、TCPトンネル)を使用してパケットを送受信するように構成されることができる。フェースはまた、UDP又はOS固有のプロセス間通信経路のようなカプセル化を介して、同じマシン上で実行されている単一のアプリケーションプロセスへの接続とすることができる。全てのメッセージは、フェースを介して到達し、フェースを介して送信される。この開示において、用語「隣接者」は、用語「フェース」と互換可能であり、インタレストの到来又は発信インターフェースを指す。
「接頭辞」:この開示において、用語「接頭辞」は、特定のコンテンツオブジェクトの名称又はコンテンツオブジェクトについての名称接頭辞のいずれかを指すために使用することができる。
「アンカー」:この開示において、用語「アンカー」は、コンテンツを公表するルータを指すために使用される。より具体的には、接頭辞に対応するコンテンツの一部又は全てについて公表するルータ(又はノード)は、接頭辞のアンカーと称される。
「DART」:この開示において、大文字頭文字「DART」は、宛先及び返送トークン(dart)とルータのフェースとの間のマッピングを記憶するデータ構造(テーブル)を指す。
「dart」:この開示において、小文字頭文字「dart」は、インタレストによって担持された宛先及び返送トークンを指し、テーブル「DART」と混同してはならない。
本発明の1つの実施形態は、情報中心ネットワーク(ICN)におけるルータを提供する。ルータは、コンテンツの一部についてのインタレストを受信するように構成された受信モジュールを含む。インタレストは、コンテンツの一部に関連付けられた名称を示す。ルータは、さらに、インタレストが転送されることができるかどうかを判定し、インタレストが第2のルータに転送されることができるという判定に応答して、第2のルータに固有のラベルを取得し、インタレストにラベルを添付するように構成されたインタレスト処理モジュールを含む。ルータはまた、添付されたラベルを有する第2のルータに対してインタレストを転送するように構成された転送モジュールを含む。
この実施形態の変形例において、転送モジュールは、さらに、インタレストが転送されることができないとインタレスト処理モジュールが判定したのに応答してインタレストに対する応答を送信するように構成されている。
さらなる変形例において、インタレスト処理モジュールは、コンテンツの一部をみつけることができないこと、コンテンツの一部を公表する宛先ルータまでのルートをみつけることができないこと、及び、インタレストがループを移動していることのいずれかに基づいて、インタレストが転送されることができないことを判定するように構成されており、転送モジュールによって送信された応答は否定応答を含む。
さらなる変形例において、インタレストは、さらに、コンテンツの一部を公表する宛先ルータへのホップ数を示し、インタレスト処理モジュールは、ルータに記憶されたルーティング情報及びホップ数に基づいてインタレストがループを移動していることを判定するように構成されている。
さらなる変形例において、インタレスト処理モジュールは、ルータがコンテンツの一部に関連付けられた名称に基づいてコンテンツの一部のコピーを有することを判定するように構成されており、転送モジュールによって送信された応答は、コンテンツの一部のコピーを含む。
さらなる変形例において、転送モジュールは、インタレストが移動する逆経路に沿ってインタレストの発信元に対して応答を送信するか、又は、インタレストが移動する逆経路とは異なる経路に沿ってインタレストの発信元に対して応答を送信するように構成されている。
さらなる変形例において、インタレストは、さらに、インタレストの発信元に特有のノンスを示す。ルータは、さらに、一致エントリが1つ以上のタプルを含み且つ各タプルが隣接ルータ及び隣接ルータに特有のラベルを示し、ノンスに基づく一致エントリについてローカルに記憶されたテーブルにおける検索を実行し、1つ以上のタプルからタプルを選択し、選択されたタプルによって示されたラベルを使用して応答にラベル付けするように構成された応答処理モジュールを備える。転送モジュールは、選択されたタプルによって示されたルータに対してラベル付けされた応答を送信するように構成されている。
この実施形態の変形例において、インタレストは、さらに、以前のラベルを含む。インタレスト処理モジュールは、一致エントリが第2のルータ及び第2のルータに特有のラベルを示し、以前のラベルに基づく一致エントリについてローカルに記憶されたテーブルにおける検索を実行し、一致エントリがみつからないことに応答して、第2のルータ及び第2のルータに特有のラベルを示す記憶されたエントリとともに、エントリを生成してローカルテーブルに記憶するように構成されている。
さらなる変形例において、インタレストにラベルを添付することは、第2のルータに特有のラベルによって以前のラベルを置き換えることを備える。
図面において、同様の参照符号は、同じ図要素を指している。
概説
本発明の実施形態は、データ回答ルーティングテーブル(CCN−DART)を実装するCCNシステムを提供する。具体的には、CCN−DARTを実装するルータは、もはや保留インタレストテーブル(PIT)を維持する必要がない。代わりに、CCN−DARTルータは、ラベル交換ネットワークにおいて使用されるラベルスワッピングテーブルと同様のデータ回答ルーティングテーブル(DART)を維持する。インタレストは、要求されたコンテンツの名称、ホップ数、宛先及び返送トークン(dart)及びノンスを記載する。ホップ数は、正確なインタレストループ検出を確実にするために使用される。dartは、以前のホップ及び現在のホップのローカル識別子を使用してインタレストが移動する経路跡を残すためにルータを転送することによって使用される。それは、ホップ単位で変更し、ルート固有である。dartは、名称付きデータオブジェクト(NDO)又は否定応答(NACK)がインタレストのソースを開示することなくコンテンツ要求者に返送するのを可能とする。インタレストのノンスは、そのルータの身元を把握することなく、インタレストが移動する複数の経路を同じ発信元ルータと関連付けるためにコンテンツ制作者又はキャッシングルータによって使用される。ノンスは、逆経路転送を必要とするよりもむしろ、ルータがコンテンツ消費者とコンテンツ提供者との間に確立された複数経路にわたってインタレスト及びNDO又はNACKを転送するのを可能とする。
本発明の実施形態は、データ回答ルーティングテーブル(CCN−DART)を実装するCCNシステムを提供する。具体的には、CCN−DARTを実装するルータは、もはや保留インタレストテーブル(PIT)を維持する必要がない。代わりに、CCN−DARTルータは、ラベル交換ネットワークにおいて使用されるラベルスワッピングテーブルと同様のデータ回答ルーティングテーブル(DART)を維持する。インタレストは、要求されたコンテンツの名称、ホップ数、宛先及び返送トークン(dart)及びノンスを記載する。ホップ数は、正確なインタレストループ検出を確実にするために使用される。dartは、以前のホップ及び現在のホップのローカル識別子を使用してインタレストが移動する経路跡を残すためにルータを転送することによって使用される。それは、ホップ単位で変更し、ルート固有である。dartは、名称付きデータオブジェクト(NDO)又は否定応答(NACK)がインタレストのソースを開示することなくコンテンツ要求者に返送するのを可能とする。インタレストのノンスは、そのルータの身元を把握することなく、インタレストが移動する複数の経路を同じ発信元ルータと関連付けるためにコンテンツ制作者又はキャッシングルータによって使用される。ノンスは、逆経路転送を必要とするよりもむしろ、ルータがコンテンツ消費者とコンテンツ提供者との間に確立された複数経路にわたってインタレスト及びNDO又はNACKを転送するのを可能とする。
CCNアーキテクチャ
一般に、CCNは、インタレスト及びコンテンツオブジェクトという2つの種類のメッセージを使用する。インタレストは、コンテンツオブジェクトの「名称」とも称される階層的構造化可変長識別子(HSVLI)を担持し、そのオブジェクトについての要求として機能する。ネットワーク要素(例えば、ルータ)が同じ名称についての複数のインタレストを受信した場合、それはそれらのインタレストを集約することができる。一致するコンテンツオブジェクトとともにインタレストの経路に沿ったネットワーク要素は、インタレストを満たすそのオブジェクトをキャッシュして返送することができる。コンテンツオブジェクトは、インタレストの発信元へのインタレストの逆経路をたどる。
一般に、CCNは、インタレスト及びコンテンツオブジェクトという2つの種類のメッセージを使用する。インタレストは、コンテンツオブジェクトの「名称」とも称される階層的構造化可変長識別子(HSVLI)を担持し、そのオブジェクトについての要求として機能する。ネットワーク要素(例えば、ルータ)が同じ名称についての複数のインタレストを受信した場合、それはそれらのインタレストを集約することができる。一致するコンテンツオブジェクトとともにインタレストの経路に沿ったネットワーク要素は、インタレストを満たすそのオブジェクトをキャッシュして返送することができる。コンテンツオブジェクトは、インタレストの発信元へのインタレストの逆経路をたどる。
前述したように、HSVLIは、コンテンツの一部を示し、階層的に構造化されており、最も一般的なレベルから最も特定のレベルまで順序付けられた連続要素を含む。各HSVLIの長さは固定されていない。コンテンツ中心ネットワークにおいて、従来のIPネットワークとは異なり、パケットは、HSVLIによって識別されることができる。例えば、「abcd/bob/papers/ccn/news」は、コンテンツの名称とすることができ、対応するパケット、すなわち、「ABCD」と名付けられた組織における「Bob」と名付けられたユーザについての新聞の「ccn」コレクションからの「news」記事を識別する。コンテンツの一部を要求するために、ノードは、コンテンツの名称によってそのコンテンツにおけるインタレストを表現する(例えば、ブロードキャストする)。コンテンツの一部におけるインタレストは、コンテンツの名称又は識別子に応じたコンテンツについてのクエリとすることができる。コンテンツは、ネットワークにおいて利用可能な場合、コンテンツを記憶する任意のノードから要求ノードに対して返送される。ルーティングインフラストラクチャは、情報を有する可能性が高い有望なノードに対してインタレストをインテリジェントに伝播した後、インタレストメッセージが移動する逆経路に沿って利用可能なコンテンツを運ぶ。基本的に、コンテンツオブジェクトは、インタレストメッセージによって残されたブレッドクラムにしたがい、それゆえに要求ノードに到達する。
図1は、本発明の実施形態にかかる、ネットワークの例示的なアーキテクチャを図示している。この例において、ネットワーク180は、ノード100〜145を備える。ネットワーク内の各ノードは、1つ以上の他のノードに接続されている。ネットワーク接続185は、そのような接続の例である。ネットワーク接続は実線で示されているが、各線はまた、1つのノードが他のノードに結合することができるサブネットワーク又はスーパーネットワークを表現することができる。ネットワーク180は、コンテンツ中心のローカルネットワーク、スーパーネットワーク又はサブネットワークとすることができる。1つのネットワーク内のノードが他のネットワーク内のノードに到達することができるように、これらのネットワークのそれぞれは、相互接続することができる。ネットワーク接続は、ブロードバンド、無線、電話、衛星又は任意の種類のネットワーク接続とすることができる。ノードは、コンピュータシステム、ユーザを表すエンドポイント及び/又はインタレストを生成したり若しくはコンテンツを発信したりすることができる装置とすることができる。
本発明の実施形態によれば、消費者は、コンテンツの一部についてのインタレストを生成し、ネットワーク180内のノードに対してそのインタレストを転送することができる。コンテンツの一部は、ネットワークの内部又は外部に配置することができる発行者又はコンテンツ提供者によってネットワーク180内のノードに記憶されることができる。例えば、図1において、コンテンツの一部におけるインタレストは、ノード105において発生する。コンテンツがノードにおいて利用可能でない場合、インタレストは、第1のノードに結合された1つ以上のノードへと流れる。例えば、図1において、インタレストは、利用可能なコンテンツを有していないノード115に流れる(インタレストフロー150)。次に、インタレストは、ノード115から同様にコンテンツを有しないノード125に流れる(インタレストフロー155)。そして、インタレストは、利用可能なコンテンツを有するノード130に流れる(インタレストフロー160)。そして、コンテンツオブジェクトのフローは、コンテンツが配信されるノード105に到達するまでその経路を引き返す(コンテンツフロー165、170及び175)。認証などの他のプロセスは、コンテンツのフローに含まれることができる。
ネットワーク180において、コンテンツホルダ(ノード130)とインタレスト生成ノード(ノード105)との間の経路における任意数の中間ノード(ノード100〜145)は、それがネットワークを介して移動するのにともないコンテンツのローカルコピーをキャッシュする際に加入することができる。キャッシングは、ローカルにキャッシュされたコンテンツに対するアクセスを暗黙的に共有することによって他の加入者の近傍に位置する第2の加入者についてのネットワーク負荷を低減する。
従来のCCN又はNDNにおいて、各ノードは(ルータとも称される)は、転送情報ベース(FIB)、コンテンツストア(CS)及び保留インタレストテーブル(PIT)を含む3つの主要なデータ構造を維持する。転送プレーンは、要求されたコンテンツのコピーを公表するノードに向けてインタレストを転送し、インタレストが移動する逆経路上にそれらを要求した消費者に対してNDO又は他の応答を返送するために、これらの3つのテーブルに記憶された情報を使用する。
FIBは、一致コンテンツオブジェクトのポテンシャルソースに向けてインタレストパケットを転送するために使用される。典型的に、ルーティングプロトコルは、ネットワーク内の全てのノード間でFIBを投入するために使用される。従来のCCNにおいて、FIBエントリは、大抵の場合、一致するインタレストが転送されるべき少なくとも1つのフェースの物理アドレスを含む各エントリとともに名称接頭辞によってインデックス付けされる。NDNにおいて、名称接頭辞についてのFIBエントリはまた、その後にエントリが削除されることができる失効時間、インターフェースを介したラウンドトリップ時間、レート制限、及び、インターフェースがデータを戻すことができるかできないことを知っているか知っていないかを記載するステータス情報を含む。インタレストメッセージを転送するとき、一致するエントリをみつけるためにFIBにおいて名称最長接頭辞一致検索が実行される。
コンテンツストア(CS)は、IPルータにおいて使用されるバッファメモリと同様である。より具体的には、CSは、このノードを通過するコンテンツオブジェクトを一時的にバッファリングし、異なる消費者による効率的なデータ検索を可能とする。ルータがインタレストパケットを受信したとき、それは、上流のインタレストを発行する前にそのコンテンツストアに一致するコンテンツオブジェクトがあるかどうかを最初にチェックする。
保留インタレストテーブル(PIT)は、インタレスト状態のキャッシュとして機能する。PITは、NDOメッセージ又は制御メッセージ(例えば、NACK)がインタレストに対する応答において返送されるべきである隣接者を追跡する。これは、上流及び下流のネットワークフローを維持し、インタレストがそれらのソースを開示しないことを可能とし、インタレスト集約を可能とする。CCNにおいては、インタレストパケットのみがルーティングされる。NDNにおいては、PITエントリは、ベクトル、又は、同じNDO名称について処理された各ノンスについての1つのタプルを有する1つ以上のタプルを含むことができる。各タプルは、使用されるノンス、到来フェース及び発信フェースを記載する。各PITエントリはまた、典型的には要求されたNDOを有するノードまでの推定ラウンドトリップ時間よりも大きい寿命を有する。
ルータがインタレストを受信すると、そのCSにおいて要求されたコンテンツについての一致があるかどうかをチェックする。CNNにおいて、正確なインタレスト一致機構が一致するコンテンツをみつけるために使用される。インタレストに対する一致がみつかった場合、ルータは、インタレストが移動する逆経路を介してNDOを返送する。CSにおいて一致がみつからない場合、ルータは、同じコンテンツについてのエントリについてのPITをチェックする。ノンスがインタレストを識別するために使用されるNDNにおいて、インタレストが要求されたコンテンツについてのPITエントリに記憶されたものとは異なるノンスを記載する場合、ルータは、インタレストを転送することなく、PITエントリに到来フェース及びノンスを追加することによってインタレストを集約する。一方、インタレストにおける同じノンスが要求されたコンテンツについてのPITエントリにすでに記載されている場合、ルータは、インタレストが移動する逆経路上にループが検出されたことを示すNACKを送信する。CCNにおいて、集約は、要求されたコンテンツについてのPITエントリに記載されていないフェースからインタレストが受信された場合に行われ、同じフェースから受信した繰り返されたインタレストは単に削除される。
ルータがそのCS及びPITにおいて一致をみつけなかった場合、ルータは、最高の接頭辞一致についてそのFIBに記載されているルート(又は複数のルート)に沿ってインタレストを転送する。NDNにおいて、ルータは、そのようなフェースがコンテンツをもたらすことが知られており且つその性能がコンテンツを同様にもたらすことができる他のフェースよりも高くランク付けされている場合、インタレストを転送するようにフェースを選択することができる。ルータは、他のルータとは独立してフェースのランク付けを実行する。
前述したように、PITのサイズがルータによって処理されるインタレストの数のオーダで大きくなることから、PITを維持し且つPITにおける一致をチェックすることは、非効率的であることがあり、そのような数は、ネットワーク内のルータの数よりも多いオーダとすることができる。したがって、それらの発信元の要求者に対してNDOを返送するためにPITに依存しないインタレストベースのICNシステムを設計することが望ましい。
データ回答ルーティングテーブル(CCN−DART)を有するCCN:原理
CCN−DARTの設計は、以下の観察に基づいている。まず、ネットワークシミュレーションは、コンテンツストアの容量が増加するのにともない、コンテンツのキャッシュがインタレスト集約の発生を極めて稀にすることを示している。消費者と要求されたコンテンツを記憶するコンテンツストアとの間における同じコンテンツについてのインタレストの到来時間間隔及びラウンドトリップ時間(RTT)は、コンテンツが同じコンテンツを要求する後続のインタレストが到来した時点でキャッシュにおいて利用可能であるようなものである。これは、シミュレーションパラメータがインタレスト集約を優先するように設定されている場合にも同様である。一方、CSのサイズとは無関係に、PITエントリの数は、インタレスト送信レートによって劇的に大きくなり、インタレスト集約は、検出されないインタレストループをもたらすことがある。
CCN−DARTの設計は、以下の観察に基づいている。まず、ネットワークシミュレーションは、コンテンツストアの容量が増加するのにともない、コンテンツのキャッシュがインタレスト集約の発生を極めて稀にすることを示している。消費者と要求されたコンテンツを記憶するコンテンツストアとの間における同じコンテンツについてのインタレストの到来時間間隔及びラウンドトリップ時間(RTT)は、コンテンツが同じコンテンツを要求する後続のインタレストが到来した時点でキャッシュにおいて利用可能であるようなものである。これは、シミュレーションパラメータがインタレスト集約を優先するように設定されている場合にも同様である。一方、CSのサイズとは無関係に、PITエントリの数は、インタレスト送信レートによって劇的に大きくなり、インタレスト集約は、検出されないインタレストループをもたらすことがある。
第2に、ネットワーク内のルータの数は、名称付きデータオブジェクト(NDO)の数、それゆえにそれらを要求してインタレストの数よりも小さい大きさのオーダである。したがって、ルータを経由するルートに基づいて転送状態を維持することは、ルータを移動するインタレストに基づいて転送状態を維持するよりも小さい大きさのオーダとすることができる。
第3に、正確なインタレスト転送戦略は、固有に各インタレストを識別しようとするよりもむしろ、所定のインタレストを転送するルータの順序に基づくことができる。
最後に、制御プレーンが名称接頭辞に対するマルチパスルーティングをサポートしており且つ適切な転送状態が効率的に維持される場合、インタレストに応答して送信されたNDO又はNACKを転送するために使用されることになる逆経路転送を要求するための固有の理由は存在しない。
仮定の数は、CCN−DARTの説明において行うことができる。インタレストは、中継ルータによってではなく発信消費者によってのみ再送信されると仮定することができる。ルータは、どのインターフェースがルータに隣接しているのか及びどのインターフェースがローカル消費者であるのかを知っており、ベストエフォート方式でインタレストを転送すると仮定される。さらにまた、ルータは、インタレストの完全一致を使用すると仮定される。
動作中において、CCN−DARTは、ノード間のコンテンツの交換を実現するために、インタレスト、制御メッセージ(例えば、NACK)及びデータオブジェクト(例えば、NDO)を使用する。具体的には、インタレスト、NDO及びNACKの正確な転送を可能とするために、宛先及び返送トークン(dart)及びインタレストノンスが使用される。dartは、発信元と宛先ルータとの間で確立されたルートを固有に表すことができるローカル識別子である。ノンスは、同じ発信元と宛先ルータとの間で確立された2つ以上のルートを関連付けることができるグローバル識別子である。
NDOn(j)を要求するノードkによって送信されたインタレストは、I[n(j),hI(k),IDI(k),dartI(k)]で表される。ここで、要求されたNDO名称(n(j))、ノードkからn(j)について最高一致である名称接頭辞n(j)*の最も近いインスタンスまでのホップ数(hI(k))、インタレストの発信元ルータによって作成されたノンス(IDI(k))、及び、インタレストのソースに戻る匿名ルートを確立するために使用されるdart(dartI(k))を記載している。いくつかの実施形態において、ノンス及びdartは、ラベルスワッピングネットワーキングにおけるデータグラムヘッダの一部であるラベルに類似した方法でインタレストパケットのヘッダフィールドに含めることができる。インタレストI[n(j),hI(k),IDI(k),dartI(k)]に応答してルータiによって送信されたコンテンツオブジェクトは、D[n(j),sig(j),IDI(i),dartI(i)]で表される。ここで、送信されたNDOの名称(n(j))、必要に応じてコンテンツオブジェクトを検証するために使用される署名ペイロード(sig(j))、ノンス(IDI(i))、及び、NDOを転送するために使用されることになるdart(dartI(i))を記載している。一方、インタレストI[n(j),hI(k),IDI(k),dartI(k)]に応答してルータiによって送信された制御メッセージ(NACK)は、NI[n(j),CODE,IDI(i),dartI(i)]で表される。ここで、CODEは、NACKを送信するための理由を記載している。NACKを送信するための考えられる理由は、(a)インタレストループが検出されたこと、(b)要求されたコンテンツに向かうルートがみつからないこと、(c)コンテンツがみつからないこと、及び、(d)DARTエントリの期限切れである。
インタレスト、NDO及びNACKの転送を実現するために、CCN−DARTルータは、任意のコンテンツストア(CSi)、FIB(FIBi)、データ回答ルーティングテーブル(DARTi)、発信元ノンステーブル(ONTi)及び宛先ノンステーブル(DNTi)という5つのテーブルを維持する。CSiは、従来のCCN又はNDNにおけるものと同様である。CSiは、ローカルキャッシュに記憶されたNDOを一覧表示し、NDOの名称によってインデックス付けされる。いくつかの実施形態において、任意のコンテンツストアは、ローカルコンテンツのインデックスとして機能するのみならずリモートコンテンツのローカル要求を追跡する任意の要求コンテンツテーブル(RCT)によって置き換えることができる。RCTにおけるエントリは、コンテンツの名称、コンテンツが記憶されたローカル記憶装置へのポインタ、及び、コンテンツを要求したローカル消費者のリスト(もしあれば)を識別する多数の識別子を含むことができる。RCTは、一方がローカルコンテンツのためであり且つ一方がリモートコンテンツについての要求のためである2つの別個のインデックスとして実装されることができる。
CCN−DARTをより良好に理解するために、先行者、後行者及びアンカーの概念がここで導入される。ルータiにおいて、名称接頭辞n(j)*に関するインタレストについての先行者は、名称接頭辞n(j)*に一致するNDOn(j)に関するルータiに対してインタレストを転送するルータであり、n(j)*に関連するインタレストについての後行者は、ルータiが名称接頭辞n(j)*に一致するNDOn(j)に関するインタレストを転送するルータである。接頭辞のアンカーは、接頭辞を公表しているルータである。
図2は、本発明の実施形態にかかる、例示的な転送情報ベース(FIB)を図示する図である。図2において、FIB200は、コンテンツ名称接頭辞を使用してインデックス付けされた多数のエントリを含む。各エントリは、名称接頭辞及び名称接頭辞を公表するノードまでのホップ数によって識別されるコンテンツへの次のホップを記載している。表記のために、ルータiにおいて、FIBは、FIBiとして表され、FIBエントリ202などの名称接頭辞n(j)*についての各FIBエントリは、
として表される。各FIBエントリは、1つ以上のタプルのリストを含むことができ、その1つはn(j)*についてのルータiの後行者のセットにおける各次ホップについてものであることに留意されたい。n(j)*についてのルータiの後行者(次ホップ)のセットは、
として表され、FIBエントリ
に含まれる。各インターフェース
について、対応するタプルは、隣接者qを通る名称接頭辞n(j)*までのホップ数(h(i,n(j)*,q)として表される)及びn(j)*についてqによって報告されたアンカー(a(i,n(j)*,q)として表される)を記載している。FIB200はまた、FIB200に記載されている任意の隣接者を通るルータから既知の各名称接頭辞までの最小ホップ数を記憶する。具体的には、ルータiから名称接頭辞n(j)*までの最小ホップ数は、h(i,n(j)*)で表される。
図3は、本発明の実施形態にかかる、例示的なデータ回答ルーティングテーブル(DART)を図示する図である。DARTは、アンカーまでの経路に沿った後行者に対する先行者のマッピングを記憶する。ルータiに記憶されたDARTは、DARTiとして表される。図3において、DART300は、ルータiの隣接フェースにしたがって編成された複数のエントリを含む。ルータpから受信されて所定のアンカーaに向かってルータsまで転送されたインタレストについて作成されたエントリは、DARTi(a,p)として表される。ルータpに対応する1つ以上のアンカーについて作成されたエントリは、DARTiにおいてサブテーブル302などのサブテーブルを形成することができる。エントリ304などのサブテーブル302における各エントリは、アンカー(ai(a,p))、先行者(pi(a,p))、先行者dart(pdi(a,p))、後行者(si(a,p))、後行者dart(sdi(a,p))、ホップ数(hi(a,p))及び寿命(LTi(a,p))を指定する。
アンカーai(a,p)は、転送状態がルータiにおいて確立されたアンカー(ルータa)である。先行者pi(a,p)は、aまでのルートの先行者(ルータp)である。先行者dart pdi(a,p)は、pからアンカーaに向かうインタレストにおいて受信されたdartに等しい。後行者si(a,p)は、pからアンカーaに向かうインタレストを転送するためにルータiによって選択されたルータsの名称である。後行者dart sdi(a,p)は、ルータsを通ってアンカーaに向かって送信されたインタレストに含まれるdartである。ホップ数hi(a,p)は、dartエントリが確立されたときに後行者sを通るアンカーaまでのホップ数である。LTi(a,p)は、DARTエントリの寿命である。DARTエントリの寿命は、ルータがそれを記憶するときにデクリメントされる。DARTエントリは、その寿命がゼロに到達したときに削除される。PITにおけるエントリの寿命とは対照的に、DARTエントリの寿命は、重要な設計パラメータではない。DARTにおけるエントリは、トポロジ変更がない限り、長期間(例えば、多秒)だけ記憶装置に残ることができる。さらにまた、DARTエントリの削除は、いくつかのインタレストの僅かな減速を生じさせる。安定したネットワークにおいて、DARTエントリの置換は、消去されたエントリと同じ情報を記載している可能性が最も高い。
図4Aは、本発明の実施形態にかかる、例示的な発信元ノンステーブル(ONT)を図示する図である。ルータiによって記憶されたONTは、ONTiとして表され、ローカル消費者の名称とルータiによってそれらに割り当てられたノンスとの間のマッピングを記憶する。図4Aにおいて、例えばエントリ402などのONTi400におけるエントリは、ローカル消費者によってインデックス付けされる。ノンスniについてのエントリは、ローカル消費者のローカル識別子を指定し、ONTi(ni)として表される。
図4Bは、本発明の実施形態にかかる、例示的な宛先ノンステーブル(DNT)を図示する図である。ルータiによって記憶されたDNTは、DNTiで表される。図4Bにおいて、例えばエントリ412などのDNTi410におけるエントリは、インタレストにおいて受信されたノンスを使用してインデックス付けされる。ルータkからのインタレストにおいて受信されたノンスIDI(k)についてのエントリは、DNTi(IDI(k))として表され、1つ以上のタプルのリストを含む。各タプルは、同じノンスを含むインタレストを送信したルータの名称と、インタレストに記載されたdartとを指定する。
CCN−DART:ループ検出
CCN−DARTは、インタレストルーピングを防止するために距離ベースの転送戦略を実装する。そのような転送戦略は、kがインタレストを転送したときにそれがkよりも少なくとも1つの次ホップの隣接者を通る接頭辞に近いことをルータが判定した場合にのみルータがルータkからのインタレストを受け入れるのを保証する。インタレストループを防止するために使用することができる距離ベースの転送戦略の詳細な説明は、2014年12月16日に出願された発明者Jose J. Garcia−Luna−Acevesによる「距離ベースのインタレスト転送のためのシステム及び方法」と題された同時係属の米国特許出願第14/572,608号(代理人整理番号PARC−20140178US01)においてみることができる。
CCN−DARTは、インタレストルーピングを防止するために距離ベースの転送戦略を実装する。そのような転送戦略は、kがインタレストを転送したときにそれがkよりも少なくとも1つの次ホップの隣接者を通る接頭辞に近いことをルータが判定した場合にのみルータがルータkからのインタレストを受け入れるのを保証する。インタレストループを防止するために使用することができる距離ベースの転送戦略の詳細な説明は、2014年12月16日に出願された発明者Jose J. Garcia−Luna−Acevesによる「距離ベースのインタレスト転送のためのシステム及び方法」と題された同時係属の米国特許出願第14/572,608号(代理人整理番号PARC−20140178US01)においてみることができる。
CCN−DARTを実装するルータがインタレストを受信したとき、それらは、以下の条件が満たされた場合にルータiが隣接者kからのインタレストI[n(j),hI(k),IDI(k),dartI(k)]を受け入れることができることを記載するインタレスト転送規則(IFR)を使用してインタレストを受け入れるかどうかを最初に判定する。
図5A〜図5Bは、本発明の実施形態にかかる、CCN−DARTがインタレストループを検出する方法を図示している。図5Aに示されるように、ネットワーク500は、ノード502〜514などの多数のノードを含む。マルチパスは、ノード502とノード514との間に存在し、ルーティングテーブルは、ノード504−ノード506−ノード508−ノード504というループを含むことができる。図5Aにおいて、ルータからその隣接者へと発信する各リンクにおいて、一対の数字が記載されており、これは、n(j)(ノード514)まで隣接者を通るホップ数(第1の番号)と、FIBに応じた隣接者のランキング(第2の番号)とを示す。同じリンクについて、2つの対が存在する可能性があり、各対が対に近いルータにおけるFIBに記憶されることに留意されたい。例えば、ルータ504からルータ506までのリンクにおいて、2つの番号対、対(4,1)及び対(5,2)がリンクの隣に示されている。番号対(4,1)は、ルータ504に隣接し且つルータ504のFIBに記憶されており、番号対(5,2)は、ルータ506に隣接し且つルータ506のFIBに記憶される。具体的には、ルータ504に隣接する番号対(4,1)は、その隣接者506を介したn(j)までのホップ数が4であり、隣接者506がルータ504のFIBにおいて番号1にランク付けしていることを示す。一方、ルータ506に隣接する番号対(5,2)は、その隣接者504からn(j)までのホップ数が5であり、隣接者504がルータ506のFIBにおいて番号2にランク付けしていることを示す。
隣接者、そのホップ数及びそのランキングを示すためにタプル(ν,h,r)を使用することができる。そのようなタプルは、名称接頭辞n(j)*のもとにFIBに記載されたエントリとすることができることに留意されたい。例えば、FIBnode504は、タプル(ノード506,4,1)、(ノード510,4,2)及び(ノード508,6,3)を一覧表示することができる。同様に、FIBnode502は、タプル(ノード504,5,1)を一覧表示することができ、FIBnode506は、タプル(ノード508,6,1)、(ノード504,5,2)及び(ノード512,3,3)を一覧表示することができ、FIBnode508は、タプル(ノード506,5,1)及び(ノード504,5,2)を一覧表示することができる。ノード510及び512についての部分的なFIBエントリもまた、図5Aに示されていることに留意されたい。
図5Bは、CCN−DARTルータがインタレストを転送する方法を図示している。図5Bに示された例において、ルータ504は、時間t1においてルータ502から名称n(j)についてのインタレストI[n(j),hI(ノード502)=5,IDI,dartI(ノード502)]を受信した。5=hI(ノード502)>h(ノード504,n(j)*,ノード506)=4とすれば、ルータ504は、IFRを満たす少なくとも1つの隣接者(ルータ506)を有することから、インタレストを受け入れる。そして、ルータ504は、ルータ506が同様にIFRを満たすルータ510よりも上位にランク付けしていることから、ルータ506に対してインタレストを転送する。転送前に、ルータ504は、インタレストにおけるdartをスワップし、ルータ506に対してインタレストI[n(j),hI(ノード504)=4,dtI(ノード504)]を転送することに留意されたい。
ルータ506は、時間t2においてI[n(j),hI(ノード504)=4,IDI,dartI(ノード504)]を受信し、4=hI(ノード504)>h(ノード506,n(j)*,ノード512)=3であることから、それを受け入れる。そして、ルータ506は、ルータ512がIFRを満たす最高ランクの隣接者であることから、インタレストについての次ホップとしてルータ512を使用する。インタレストが移動するルートは、時系列t1→t2→t3に続く破線によって示されている。道に沿った各ルータは、返送NDOがインタレストの逆経路をたどることができるのを確実にするために、インタレストに含まれるdartをスワップすることに留意されたい。
同様に、ルータ508によって生成されたインタレストは、各中継ルータがIFRを満たさなければならないことから、ループを移動することなく、n(j)に向けてルータ512に対して転送される(ルートは、時系列t3→t4→t5に続く異なる破線によって示されている)。
図6A〜図6Cは、本発明の実施形態にかかる、CCN−DARTがシングルパスルーティング及び一時ルーティングテーブルループによって動作する方法を図示している。図において、ネットワーク600は、ノード602〜614などの多数のノードを含む。図6Aにおいて、各ルータは、そのFIBに記載された各接頭辞についての単一の次ホップ及び1つのホップ数を有する。例えば、ルータ614によって公表される名称接頭辞n(j)*について、ルータ604は、(リンク(ノード604、ノード610)が失敗する前に)隣接ルータ610を介した4のホップ数を一覧表示し、ルータ606は、隣接ルータ608を介した6のホップ数を一覧表示する。ルータから名称接頭辞n(j)*までの距離は、経路のホップ数に正比例しなくてもよいことに留意されたい。例えば、リンク(ノード606、ノード612)は、制限された帯域幅又は長い遅延を有してもよく、したがって、ノード606は、ノード614においてn(j)*に到達するためにノード608を通る経路を優先してもよい。
ルータ604とルータ610との間のリンクが失敗した場合、ルータ606は、図6Aに示されるように、時間t0においてリンク失敗を反映するようにそのFIBを更新する。ここで、ルータ604は、隣接ルータ606を介した4のホップ数を一覧表示する。そのようなリンク失敗は、インタレストが転送されているときにネットワーク600内のルータがn(j)について一貫性のないFIB状態を有することをもたらすことに留意されたい。例えば、ルータ606は、そのFIBをまだ更新しておらず、一時的なルーティングテーブルのループをもたらすことがある。時間t1において、ルータ602は、ルータ604に対して名称n(j)についてのインタレストI[n(j),hI(ノード602)=5,IDI,dartI(ノード602)]を送信する。図6Bは、ルータ604が時間t2においてルータ606に対してインタレストを転送することを示している。図6Bはまた、IFRに違反している
であることから、ルータ606が時間t3においてインタレストに対してNACKで応答することを示している。NACKは、ループが検出されたときにNACKについての理由を示す。NACKは、最終的に、図6Cに示されるように、時間t4においてインタレストの発信元であるルータ602に対して全ての方法で転送される。
図6Bはまた、時間t3において、ルータ608がルータ604に対して名称n(j)についてのインタレストI[n(j),hI(ノード608)=5,IDI,dartI(ノード608)]を送信することを示している。そのようなインタレストはまた、図6Cに示されるように、IFR違反に起因して時間t5においてルータ606からのNACKを促す。図6Cはまた、ルータ604が時間t6においてルータ606からルータ608に対してNACKを転送することを図示している。有限時間内において、FIBnode604、FIBnode606及びFIBnode608は、新たなトポロジ状態を反映するように更新される。具体的には、ノード606についてのFIBは、もはやその次ホップとしてノード608を一覧表示することができず、n(j)*に関するノード602からのインタレストは、n(j)*、すなわちノード614に向かってノード604、606及び612のチェーンに沿って転送されることができる。同様に、有限時間内において、n(j)*に関するノード608からのインタレストは、n(j)*に向かってノード606及び612に対して転送されることができる。CCN−DARTにおいてインタレストループは検出されないであろうことを示すことができる。
CCN−DART:転送状態の維持
NDN及びCCNにおけるように、CCN−DARTにおけるルータは、名称接頭辞のアンカーまでのルートを維持し、制御プレーンにおいて動作するルーティングプロトコルを使用してそれらのルーティングテーブルを読み込む。
NDN及びCCNにおけるように、CCN−DARTにおけるルータは、名称接頭辞のアンカーまでのルートを維持し、制御プレーンにおいて動作するルーティングプロトコルを使用してそれらのルーティングテーブルを読み込む。
NDN及びCCNにおいて、インタレストに対する応答は、インタレストが移動する逆経路をとる。経路は、経路に沿ってルータのPITに漸増的に記憶される。CCN−DARTにおいて、ルータにPITはない。代わりに、ルータは、DART、ONT及びDNTを維持する。DART及びONTは、インタレスト応答がインタレストの逆経路を介して正確な消費者に返送されるのを可能とすることができる。一方、DNTは、インタレストの逆経路でなくてもよい経路にわたるインタレストソースへのNACKのNDOメッセージの転送返送を可能とすることができる。
DARTに記憶されたdartマッピングは、パケット交換ネットワークにおけるラベルマッピングと同様である。これらのマッピングは、同じ名称接頭辞に関連付けられているNDOを求める複数のインタレストが発信元ルータと接頭辞のアンカー又はコンテンツのキャッシュサイトとの間の同じルート区間において多重化されるのを可能とするために使用することができる。ローカルに固有の識別子であるdartに加えて、ルータはまた、ローカル消費者の身元を明らかにすることなくそれらに代わって送信されたインタレストとローカル消費者を一義的に関連付けるためにグローバルに固有のノンスを作成することができる。
この開示において、ルータにおけるノンステーブルは、ローカル消費者にローカルに割り当てられている全てのノンスに移入されており、DARTエントリは、それらの寿命の期限が切れるときに黙って削除されることが想定される。便宜上、また、名称接頭辞のアンカーは、そのCSにおける接頭辞に関連付けられている全てのNDOを記憶することが想定される。さらに、制御プレーンは、トポロジ変更に起因する接頭辞に対するホップ数におけるいかなる変更も反映するようにFIBを更新することが想定される。例えば、隣接者kに対する接続が切断されたことをルータiが検出した場合、kが任意のアンカーに向かう経路の先行者又は後行者であるDARTiにおける全てのエントリを削除する。
図7は、本発明の実施形態にかかる、ルータがローカル消費者からインタレストを受信したときにルータによって実行される例示的なインタレスト処理アルゴリズムを示している。簡略化するために、ローカル消費者からのコンテンツ要求は、NDOの名称(n(j))、空ホップ数(ゼロ)、ローカル消費者の名称(c)及び空dart(ゼロ)を記載するインタレストであると仮定されると想定される。
ルータiがローカル消費者cからインタレストを受信すると、それは、要求されたコンテンツについてのコンテンツストアをチェックし、もしあれば一致するNDOを返送する(図7における3行目)。CSiが接頭辞を含むが一致するNDOを含まない場合、ルータiは、コンテンツをみつけることができないことを示すNACKを消費者に対して送信することによって応答する(図7における4行目)。そうでない場合、ルータiは、一致する接頭辞についてのそのFIBをチェックする。一致するFIBエントリは、要求されたコンテンツへのルートが存在しないことを示すNACKの返送を促すことはできない(図7における7行目)。
一致するFIBエントリがある場合、ルータiは、最高ランクの隣接者を使用し、インタレストを転送する(図7における9〜15行目)。具体的には、DARTエントリがインタレストの選択された後行者について存在する場合、発信インタレストに含まれるdartとして対応する後行者dartが使用される(図7における11〜12行目)。そうでない場合、新たな後行者dartが作成され、インタレストが転送される前に新たなDARTエントリが記憶される(図7における14〜15行目)。インタレストを転送するとき、ルータiはまた、ONTによって示されるように、消費者cに割り当てられたノンスをインタレストに挿入する(図7における12及び15行目)。
図8は、本発明の実施形態にかかる、ルータが隣接者からインタレストを受信したときにルータによって実行される例示的なインタレスト処理アルゴリズムを示している。ルータiが隣接者kからインタレストを受信すると、それは、要求されたコンテンツについてのコンテンツストアをチェックし、もしあれば一致するNDOを返送する(図8における3行目)。CSiが接頭辞を含むが一致するNDOを含まない場合、ルータiは、コンテンツをみつけることができないことを示すNACKをルータkに対して返送する(図8における4行目)。
コンテンツがローカルにキャッシュされていない場合、すなわち、先行者dartがインタレストに記載されたdartと同じである場合、ルータiは、DARTエントリがルータkからのインタレストに記載されたdartについて存在するかどうかを判定する。DARTにおける一致するエントリの存在は、IFRが接頭辞のアンカーへの同じルート上の以前のインタレストによって満たされており、既存のマッピングが使用可能であることを意味する。したがって、そのようなDARTエントリは、インタレストを転送するために使用することができる。具体的には、DARTエントリによって指定された後行者は、インタレストが転送されるルータであり、転送されたインタレストに含まれるdartは、DARTエントリによって指定された後行者dartである(図8における9行目)。アンカー−先行者対(a,k)についてのDARTiにおけるエントリは、アンカーa(先行者dart)によって解決可能なインタレストにおけるルータkによって使用されるdartから、アンカーaによって解決可能であって且つルータv(後行者dart)に転送可能なインタレストにおけるルータiによって使用されるdartへのマッピングを確立することに留意されたい。ルータiからアンカーaへのルータのDARTに記憶された先行者−後行者マッピングは、一義的にaに向けてインタレストを転送するために使用することができるルート区間を表す。逆に、同じ経路に沿って記憶されている一連の後行者−先行者のマッピングは、一義的にインタレストの発信元に対してインタレスト応答(例えば、NDO及びNACK)を転送するために使用することができる。
一致するDARTエントリがみつからない場合、ルータiは、受信したインタレストについての後行者をみつけてDARTエントリを作成する必要がある。NACKは、エントリがn(j)*についてのFIBiにみつけることができない場合(図8における11行目)又はIFRが満たされない場合(図8における21行目)に送信される。そうでない場合、ルータiは、IFRを満たす最高ランクの隣接ルータvを選択し、DARTエントリを作成する(図8における14〜20行目)。ルータvは、受信したインタレストに記載されたホップ数よりも厳密に小さい要求されたコンテンツに向けたホップ数を有する経路を提供する。新たに作成されたDARTエントリは、受信したインタレストに含まれるdart(先行者dart)を、ルータvを通る選択されたアンカーへのルートについて作成された新たなdart(後行者dart)にマッピングする。新たなdartは、ローカルな固有の識別子としてルータiにおいて作成されることに留意されたい。新たなdartを生成する場合、ルータiは、新たなdartがいかなる既存のdartとも重複しないことを確実にする必要がある。いくつかの実施形態において、dartは、16又は32ビットの番号を含むことができる。dartの長さ及び形式は変化してもよい。例えば、dartはまた、様々な長さの英数字文字列を含んでいてもよい。新たなDARTエントリが作成された後、転送されるべきインタレストは、受信したインタレストに含まれるdartを新たなDARTエントリの後行者dartと置き換えることによって作成される。
図8に示されるアルゴリズムにおいて、ルータiはまた、受信したインタレストに応答してNACKメッセージのNDOメッセージを返送するために応答関数を呼び出すことができる(図8における3、5、12及び21行目)。図9は、本発明の実施形態にかかる、例示的な応答生成アルゴリズムを示している。ルータiが応答(例えば、NDO又はNACK)を送出する前に、ルータiは、(ノード、dart)対とそのDNTに対するノンスとの間のマッピングを追加する(図9における3行目)。簡略化するために、リモート消費者からのインタレストに対して応答するそれらのルータのみがそれらのDNTに情報を記憶するものとする。中継ルータは、そのような情報を記憶していない。図9から、応答を送信するときに、ルータiは、インタレストの逆経路ではない経路を選択することができることがわかることに留意されたい(図9における4行目)。例えば、ルータiは、応答を送信するために、対応するDNTエントリから、ルータkとは異なるルータnを選択することができる。図9に示されるアルゴリズムは、対応するDNTエントリによって指定された多くのルータから特定のルータを選択する方法を明示的に開示していないものの、それは、同じルータ間で異なる以前のインタレストが移動する多くの経路のいずれかを介した正確な消費者への応答の転送からノンス及びdartの使用を明確にする。
前述したように、インタレストは、複数の経路を介して同じアンカーに転送されることができ、各経路がdartマッピングの異なるセットによって識別される。インタレストに対して応答するルータは、インタレストに含まれるノンスと(インタレストにおける隣接ルータ及びdartによって識別される)インタレストが受信されたルートとの間のマッピングをそのDNTに記憶する。ノンスが低い衝突確率で割り当てられていることを考えると、NDOメッセージ又はNACKは、インタレストが移動するものとは異なる経路を介して応答するルータによって送信されることができる。これは、この開示の範囲を超えた負荷分散を可能とすることができる。
図10Aは、本発明の実施形態にかかる、例示的なNDO処理アルゴリズムを示している。ルータは、ルータがNDOメッセージに記載されたdartに一致する後行者dartとともにDARTエントリを有する場合にのみ隣接者から受信したNDOメッセージを受け入れる(図10Aにおける5行目)。ルータは、必要に応じて、NDOの署名を検証し(図10Aにおける3行目)、必要に応じて、それが受信したNDOを記憶することができる(図10Aにおける6行目)。NDOを転送するとき、ルータはまた、対応するDARTエントリにおける先行者dartを使用してNDOにおけるdartをスワップするということに留意されたい(図10Aにおける6行目)。
図10Bは、本発明の実施形態にかかる、例示的なNACK処理アルゴリズムを示している。ルータは、ルータがNACKに記載されたdartに一致する後行者dartとともにDARTエントリを有する場合にのみNACKを転送する(図10Bにおける3行目)。NACKを転送するとき、ルータは、対応するDARTエントリにおける先行者dartを使用してNACKにおけるdartをスワップする(図10Bにおける4行目)。
NDNは、集約インタレストが移動する経路を介したインタレストに対する応答の逆経路転送(RPF)によってマルチキャストをサポートする。インタレストは、マルチキャスト転送ツリー(MFT)を維持し且つマルチキャストソースをペーシングするという二重の目的を果たす。CCN−DARTはまた、RPFアプローチを使用してマルチポイント通信をサポートするが、ソースをペーシングするか又はツリー上でマルチキャストデータを広めるために使用される機構からMFTの確立を分離する。
CCN−DARTは、MFTを維持するためにコンテンツストア及びマルチキャストデータ回答ルーティングテーブル(MDART)を使用する。単一のdartは、各ルータにおけるグループのMFTにおける全ての先行者及び後行者を示すために使用することができる。これは、単一のdartがマルチキャストグループのMFTの全ての分岐をラベル付けするために使用することができることを意味する。マルチキャストグループ名称g(j)のために使用されるdartは、d(g(j))として表され、その普及を簡略化するためにグループ名の一部を構成することができる。
マルチキャストグループのローカル受信機を有するルータは、RCTにおけるマルチキャストグループの名称に対するローカル受信機の名称のマッピングを維持する。ルータiにおけるMDARTは、MDARTiによって表され、ルータがトラフィックを転送するマルチキャストグループの名称によってインデックス付けされる。MDARTiにおける名称g(j)を有するマルチキャストグループについてのエントリは、グループのdart(d(g(j)))、グループに参加するためにルータiによって選択された後行者、ルータiを介してg(j)に参加するように要求されたルータのセット(先行者)、及び、ルータiがグループ(hi(g(j)))についてのMDARTエントリを確立したときのg(j)のアンカーまでのホップ数距離を記載する。
ルータiがグループg(j)についてのローカル受信機を有する場合、それは、JR[g(j),hJ(i),IDJ(i),dartJ(i)]として表される参加要求(JR)を送信する。ここで、hI(i)=hi(g(j))及びdartJ(i)=d[g(j)]である。JRの転送は、FIBエントリに基づいており、インタレストの転送と同様である。中継ルータは、2つのケースにおいてg(j)のアンカーに向けてJRを転送することができる。MDARTエントリが存在せず且つIFRが満たされる場合、MDARTエントリは、グループについて作成される。MDARTエントリが存在する場合、ルータは、単に、既存のMDARTエントリにおけるグループについての新たな先行者を追加する。g(j)までのルートがみつからない場合、IFRが満たされない場合、又は、MDARTエントリがトポロジ変更に起因して無効になった場合、否定応答が送信されることができる。
マルチキャストソースのマルチキャストデータ頒布又はペーシングは、この開示の範囲を超えている。
CCN−DART:ルータアーキテクチャ
図11は、本発明の実施形態にかかる、例示的なCCN−DARTルータのアーキテクチャを示す図である。図11において、CCN−DARTルータ1100は、フェース1102、1104及び1106などの多数のフェースと、インタレスト処理モジュール1108と、転送モジュール1110と、NDO/NACK処理モジュール1112と、制御メッセージ生成モジュール1114と、データベース1116とを含む。
図11は、本発明の実施形態にかかる、例示的なCCN−DARTルータのアーキテクチャを示す図である。図11において、CCN−DARTルータ1100は、フェース1102、1104及び1106などの多数のフェースと、インタレスト処理モジュール1108と、転送モジュール1110と、NDO/NACK処理モジュール1112と、制御メッセージ生成モジュール1114と、データベース1116とを含む。
フェース1102〜1106は、物理インターフェースのみならず、インタレスト及びNDOを含むパケットの送受信が可能なアプリケーションプロセスを含むことができる。インタレスト処理モジュール1108は、様々なフェース上で受信されたインタレストを処理する責を担う。いくつかの実施形態において、インタレスト処理モジュール1108は、上述したインタレスト転送規則(IFR)に基づいて到来インタレストを受け入れるかどうかを判定する。インタレストが受け入れられた場合、インタレスト処理モジュール1108は、dartマッピングをみつけるためにデータベース1116に維持されたDARTをチェックし、マッピングに基づいてインタレストに含まれるdartをスワップする。インタレスト処理モジュール1108は、さらに、インタレストについてのノンスを作成することができる(インタレストがローカル消費者から受信された場合)。転送モジュール1110は、インタレスト又はNDOなどのパケットをフェースに対して転送する責を担う。いくつかの実施形態において、転送モジュール1110は、dartマッピングに基づいてインタレスト/NDOを転送する。制御メッセージ生成モジュール1114は、インタレスト処理モジュール1108がインタレストを拒否又は削除したとき、異なるNACKメッセージを含むことができる制御メッセージを生成する。いくつかの実施形態において、制御メッセージ生成モジュール1114は、それらに限定されるものではないが、インタレストループが検出されたとき、要求されたコンテンツに向かうルートがみつからないとき、コンテンツがみつからないとき、及び、対応するDARTエントリの期限が切れたときを含む様々な条件下でNACKメッセージを生成する。名称n(j)についてのインタレストに対する応答におけるNACKメッセージは、NI[n(j),CODE,IDI(k),dartI(k)]として表される。ここで、CODEは、NACKが送信される条件を記載する。NDO/NACK処理モジュール1112は、インタレストに対する応答において受信したNDO/NACKメッセージを処理する責を担う。いくつかの実施形態において、NDO/NACK処理モジュール1112は、dartマッピングをみつけるためにデータベース1116に維持されたDARTをチェックし、マッピングに基づいてNDO/NACKメッセージに含まれるdartをスワップする。データベース1116は、FIB、DART、ONT及びDNTというCCN−DARTの動作に必要とされるデータ構造を記憶する。データベース1116は、必要に応じて、コンテンツストアを記憶する。
CCN−DART:例示的な動作
図12は、本発明の実施形態にかかる、CCN−DARTの例示的な動作を図示する図である。具体的には、図12は、ルータがNDOメッセージ及びNACKによってインタレスト及び関連するインタレストをラベル付けするためにdart及びノンスを使用する方法を図示している。
図12は、本発明の実施形態にかかる、CCN−DARTの例示的な動作を図示する図である。具体的には、図12は、ルータがNDOメッセージ及びNACKによってインタレスト及び関連するインタレストをラベル付けするためにdart及びノンスを使用する方法を図示している。
図12において、ネットワーク1200は、ノード1202〜1214などの多数のノードを含む。図12に示される例において、ルータ1202及びルータ1214は、ルータ1208によって公表される名称接頭辞に関するNDOを要求するインタレストを発信するローカル消費者を有する。矢印線は、ルータに記憶されているFIBエントリにしたがってルータ1208によって公表される(名称n(j)を有する)コンテンツに対する次ホップを示している。図12はまた、アンカー1208についてのルータのDARTエントリを示しており、各ルータの横に記載されている。さらに、ルータ1202及び1214におけるONTエントリ並びにルータ1208におけるDNTエントリはまた、図12に示されており、全て対応するルータの横に記載されている。例えば、ルータ1202の隣のリストは、アンカー1208についてのそのONTエントリ及びDARTエントリを含み、ルータ1208の隣のリストは、DNTエントリを含む。
ルータ1202は、2つのコンテンツ消費者(cp及びcq)を有する。ルータ1202において、消費者cp及びcqの代わりにルータ1202から発信されたインタレストは、それぞれ、ノンス
によってラベル付けされる。同様に、ルータ1214は、ローカル消費者cwに代わって発信するインタレストをラベル付けするためにノンス
を使用する。
ルータ1202において維持されるDARTマッピングは、先行者及び先行者dart対[1202,1202(i)]が後行者及び後行者dart対[1204,1202(i)]にマッピングすることを示す。ルータ1204において、[1202,1202(i)]は、[1206,1204(j)]にマッピングし、ルータ1206において、[1204,1204(j)]は、[1208,1206(i)]にマッピングする。ルータ1208において、コンテンツについてのDARTエントリは、先行者及び先行者dart対[1206,1206(i)]を指定するのみである。図12に示されるインデックスi、j、k、m、uは、個々のDARTにおいて使用されるインデックスであることに留意されたい。例えば、1202(i)は、ルータ1202によって維持されるDARTにおけるi番目のエントリを意味する。ルータ1202、1204、1206及び1206における上述したマッピングは、破線1222によって示されるように、ルート(ノード1202、ノード1204、ノード1206、ノード1208)、(ノード1204、ノード1206、ノード1208)及び(ノード1206、ノード1208)を一意的に表す。
同様に、図12に示されるDARTマッピングはまた、[1202,1202(k)]がルータ1202における[1210,1202(k)]にマッピングし、[1202,1202(k)]がルータ1210における[1212,1210(m)]にマッピングし、[1210,1210(m)]がルータ1212における[1208,1212(j)]にマッピングし、ルータ1208がDARTエントリ[1212,1212(j)]を維持することを示している。このDARTマッピングのセットは、破線矢印1224によって示されるように、ルート(ノード1202、ノード1210、ノード1212、ノード1208)と、(ノード1210、ノード1212、ノード1208)及び(ノード1212、ノード1208)を含むルータ1208へのサブ経路とを表している。
破線矢印1226は、ルータ1214からアンカー1208までのルート、すなわち、(ノード1214、ノード1204、ノード1206、ノード1208)を示している。このルートについてのDARTマッピングのセットは、図12において斜文字で示されている。
アンカー1208によって公表されるコンテンツに関する消費者cp、cq及びcwによって発信された全てのインタレストは、接頭辞及びインタレストの数にかかわらず、図12に示されているのと同じ少数のdartを使用してルータ1208に向けてルーティングされることができる。したがって、インタレストについての固有のエントリを有するPITと比較して、DARTについて使用される記憶装置の量ははるかに小さい。NDO又はNACKが後行者dartを指定しており且つそれが回答するインタレストにノンスが記載されていることを考えると、NDO及びNACKは、ルータ1208(又は要求されたコンテンツをキャッシュするルータ1208への道に沿ったルータ)からルータ1202又は1214に対して一義的に正確に転送されることができる。さらにまた、ルータ1202及び1214は、正確なローカル消費者に対して応答を送信するためにそれらが受信する応答においてそれらのONT及びノンスにおけるエントリを使用することができる。
DART及びONTを使用した正確なインタレスト転送及び正確なNDOメッセージ及びNACKの逆経路転送のサポートに加えて、CCN−DARTはまた、インタレストが移動しない経路を介してインタレストを発信するルータに対するNDO及びNACKの転送をサポートすることができる。図12に示されるように、ルータ1208が隣接者1206及び1212からインタレストを受信したとき、それは、
がルータおよびdart対[1206,1206(i)]及び[1212,1212(j)]にマッピングし、
がdart対[1206,1206(i)]及び[1212,1212(j)]にマッピングし、
が[1206,1206(k)]にマッピングするように、そのDNT(DNT1208)における受信したインタレストにおいてノンスと後行者dartとの間のマッピングを記憶する。したがって、ルータ1208は、インタレストの逆経路を使用する必要なく、隣接ルータ1206又は1212を介して
を記載するインタレストの発信元に対してNDOメッセージ又はNACKを送信することができる。換言すれば、ルータ1202にNDO又はNACKを返送するために、ルータ1208は、破線1222によって示されるルート又は破線1224によって示されるルートを選択することができる。ルートの選択は、ルートの状態又は負荷分散の必要性などの様々な要因によって判定されることができる。例えば、ルート1222が輻輳している場合、ルータ1208は、ルート1224を介してNDO又はNACKを送信することによってルータ1202から発信されたインタレストに対して応答することができる。さらに、ルータ1208がルータ1202から発信された多くのインタレストを受信した場合、ルータ1208は、ルート1222を介して応答のある部分を且つルート1224を介して応答の他の部分を送信することができる。
前述したように、データ回答ルーティングテーブルを有するCCN(CCN−DART)システムは、動作するために保留インタレストテーブル(PIT)を必要としないインタレストベースのICNについての転送戦略を実装する。CCN−DARTは、FIBが次ホップの隣接者及びそのような隣接者を通る名称付きコンテンツまでのホップ数を記憶することを要求することにより、また、要求されたコンテンツの名称、中継ルータからコンテンツまでのホップ数、コンテンツを要求する消費者に固有のノンス並びにインタレストが移動するルートに固有の宛先及び返送トークン(dart)を記載する各インタレストを有することにより、動作する。インタレストは集約されず、インタレストループ検出は、コンテンツ接頭辞までの距離に基づいている。インタレストの転送状態は、各ルータにおいて保持されるDARTによって維持される。DARTエントリは、ネットワークの区間を移動するインタレストの到来フェース及び発信フェースをマッピングする。DARTの状態は、従来のCCN又はNDNネットワークにおけるように、特定のNDOを要求する個々のインタレストが移動するルートよりもむしろ、コンテンツ接頭辞を公表するルータに向かって移動されるルートの関数である。さらに、含まれるノンスは、インタレストに対する応答がインタレストの逆経路ではない経路を介してインタレストの発信元ルータに対して返送されるのを可能とする。
インタレストの転送状態を維持するためにDARTを使用することは、特にコンテンツ要求のレートが高い場合、PITにおけるインタレストあたりの転送状態を保持するアプローチに対して大きな利点を示す。PITのサイズは、コンテンツ要求のレートが増加するのにともない劇的に大きくなることができるのに対して、DARTのサイズは、コンテンツ要求レートに対して略一定に維持することができる。実際に、コンテンツ要求レートが低い場合、DARTにおけるエントリの平均数は、PITにおけるエントリの平均数よりも大きくすることができる。これは、それらが表すルートがインタレスト及びそれらの応答によって実際に使用されるか否かにかかわらず、DARTエントリが長期間(例えば、数秒)保持されるためである。一方、PITエントリは、対応するインタレストが満たされた直後に削除される。しかしながら、コンテンツ要求レートが増加するのにともない、PITのサイズは、与えられたDARTエントリが多くのインタレストについて使用可能であることから、DARTのサイズの10倍よりも大きくすることができるのに対して、異なるPITエントリは、各インタレストについて必要とされる。一般に、軽負荷時に使用することができないDARTエントリを維持するためのコストは、高負荷時に既存のDARTエントリを使用して転送される多くのインタレストから得られるシグナリング遅延の大幅な減少によって補償されることができることが期待されることができる。
コンピュータ及び通信システム
図13は、本発明の実施形態にかかる、適応名称付けによるオンデマンドコンテンツ交換についての例示的なシステムを図示している。適応名称付けによるオンデマンドコンテンツ交換についてのシステム1300は、プロセッサ1310と、メモリ1320と、記憶装置1330とを含む。記憶装置1330は、典型的には、メモリ1320にロード可能であり且つ上述した方法を実行するためにプロセッサ1310によって実行可能な命令を記憶する。1つの実施形態において、記憶装置1330における命令は、インタレスト処理モジュール1332と、名称付きデータオブジェクト処理モジュール1334と、転送モジュール1336と、制御メッセージ生成モジュール1338とを実装することができ、それらの全ては様々な手段を介して互いに通信することができる。記憶装置1330は、さらに、コンテンツストア1340、転送情報ベース1342及びデータ回答ルーティングテーブル1344などの多数のデータ構造を含むことができる。
図13は、本発明の実施形態にかかる、適応名称付けによるオンデマンドコンテンツ交換についての例示的なシステムを図示している。適応名称付けによるオンデマンドコンテンツ交換についてのシステム1300は、プロセッサ1310と、メモリ1320と、記憶装置1330とを含む。記憶装置1330は、典型的には、メモリ1320にロード可能であり且つ上述した方法を実行するためにプロセッサ1310によって実行可能な命令を記憶する。1つの実施形態において、記憶装置1330における命令は、インタレスト処理モジュール1332と、名称付きデータオブジェクト処理モジュール1334と、転送モジュール1336と、制御メッセージ生成モジュール1338とを実装することができ、それらの全ては様々な手段を介して互いに通信することができる。記憶装置1330は、さらに、コンテンツストア1340、転送情報ベース1342及びデータ回答ルーティングテーブル1344などの多数のデータ構造を含むことができる。
いくつかの実施形態において、モジュール1332、1334、1336及び1338は、部分的又は全体的にハードウェアで実装することができ、プロセッサ1310の一部とすることができる。さらに、いくつかの実施形態において、システムは、別個のプロセッサ及びメモリを含まなくてもよい。代わりに、それらの特定のタスクを実行することに加えて、モジュール1332、1334、1336及び1338は、別個に又は一体的に、汎用又は専用計算エンジンの一部とすることができる。
記憶装置1330は、プロセッサ1310によって実行されることになるプログラムを記憶する。具体的には、記憶装置1330は、適応名称付けによるオンデマンドコンテンツ交換についてのシステム(アプリケーション)を実装するプログラムを記憶する。動作中において、アプリケーションプログラムは、記憶装置1330からメモリ1320にロードされることができ、プロセッサ1310によって実行されることができる。その結果、システム1300は、上述した機能を実行することができる。システム1300は、(タッチスクリーンディスプレイとすることができる)任意のディスプレイ1380、キーボード1360及びポインティングデバイス1370に結合されることができ、また、ネットワーク1382に対して1つ以上のネットワークインターフェースを介して結合されることができる。
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び/又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタル多用途ディスク若しくはディジタルビデオディスク)などの磁気及び光記憶装置、又は、現在知られている若しくは今後開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
詳細な説明のセクションに記載された方法及びプロセスは、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び/又はデータとして具体化することができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び/又はデータを読み取って実行する場合、コンピュータシステムは、データ構造及びコードとして具現化されてコンピュータ読み取り可能な記憶媒体内に記憶された方法及びプロセスを実行する。
さらにまた、本願明細書に記載された方法及びプロセスは、ハードウェアモジュール又は装置に含めることができる。例えば、これらのモジュール又は装置は、これらに限定されるものではないが、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、特定の時間に特定のソフトウェアモジュール若しくはコードの一部を実行する専用又は共有プロセッサ、及び/又は、現在知られている若しくは今後開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュール又は装置が起動されると、それらは、それらの内部に含まれる方法及びプロセスを実行する。
Claims (10)
- 情報中心ネットワーク(ICN)におけるルータにおいて、
コンテンツの一部についてのインタレストを受信するように構成され、前記インタレストが前記コンテンツの一部に関連付けられた名称を示す受信モジュールと、
前記インタレストが転送されることができるかどうかを判定し、
前記インタレストが第2のルータに対して転送されることができるという判定に応答して、前記第2のルータに固有のラベルを取得し、
前記インタレストにラベルを添付するように構成されたインタレスト処理モジュールと、
前記添付されたラベルを有する前記第2のルータに対して前記インタレストを転送するように構成された転送モジュールとを備える、ルータ。 - 前記転送モジュールが、さらに、
前記インタレストが転送されることができないと前記インタレスト処理モジュールが判定したことに応答して、前記インタレストに対する応答を送信するように構成されている、請求項1に記載のルータ。 - 前記インタレスト処理モジュールが、
前記コンテンツの一部をみつけることができないこと、
前記コンテンツの一部を公表する宛先ルータまでのルートをみつけることができないこと、
前記インタレストがループを移動していることのいずれかに基づいて、前記インタレストが転送されることができないことを判定するように構成されており、前記転送モジュールによって送信された応答が否定応答を含む、請求項2に記載のルータ。 - 前記インタレストが、さらに、前記コンテンツの一部を公表する宛先ルータまでのホップ数を示し、前記インタレスト処理モジュールが、前記ルータに記憶されたルーティング情報及び前記ホップ数に基づいて前記インタレストが前記ループを移動していることを判定するように構成されている、請求項3に記載のルータ。
- コンピュータ実行可能な方法において、
情報中心ネットワーク(ICN)における第1のノードにより、コンテンツの一部についてのインタレストを受信することであって、前記インタレストが前記コンテンツの一部に関連付けられた名称を示すことと、
前記インタレストが転送されることができるかどうかを判定することと、
前記インタレストが第2のノードに対して転送されることができるという判定に応答して、前記第2のノードに固有のラベルを取得することと、
前記インタレストにラベルを添付することと、
前記添付されたラベルを有する前記第2のノードに対して前記インタレストを転送することとを備える、方法。 - さらに、
前記インタレストが転送されることができないという判定に応答して、前記インタレストに対する応答を送信することを備える、請求項5に記載の方法。 - 前記インタレストが転送されることができないと判定することが、
前記コンテンツの一部をみつけることができないと判定することと、
前記コンテンツの一部を公表するノードまでのルートをみつけることができないと判定することと、
前記インタレストがループを移動していると判定することのいずれかを含み、
前記応答が否定応答を含む、請求項6に記載の方法。 - コンピューティングデバイスによって実行されたときに前記コンピューティングデバイスに方法を実行させる命令を記憶する非一時的コンピュータ読み取り可能な記憶媒体において、
前記方法が、
情報中心ネットワーク(ICN)における第1のノードにより、コンテンツの一部についてのインタレストを受信することであって、前記インタレストが前記コンテンツの一部に関連付けられた名称を示すことと、
前記インタレストが転送されることができるかどうかを判定することと、
前記インタレストが第2のノードに対して転送されることができるという判定に応答して、前記第2のノードに固有のラベルを取得することと、
前記インタレストにラベルを添付することと、
前記添付されたラベルを有する前記第2のノードに対して前記インタレストを転送することとを備える、コンピュータ読み取り可能な記憶媒体。 - 前記方法が、さらに、
前記インタレストが転送されることができないという判定に応答して、前記インタレストに対する応答を送信することを備える、請求項8に記載のコンピュータ読み取り可能な記憶媒体。 - 前記インタレストが転送されることができないと判定することが、
前記コンテンツの一部をみつけることができないと判定することと、
前記コンテンツの一部を公表するノードまでのルートをみつけることができないと判定することと、
前記インタレストがループを移動していると判定することのいずれかを備え、
前記応答が否定応答を含む、請求項9に記載のコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/867,814 US20170093713A1 (en) | 2015-09-28 | 2015-09-28 | Information-centric networking with small multi-path or single-path forwarding state |
US14/867,814 | 2015-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017069950A true JP2017069950A (ja) | 2017-04-06 |
Family
ID=56958812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016179861A Pending JP2017069950A (ja) | 2015-09-28 | 2016-09-14 | スモールマルチパス又はシングルパス転送状態による情報中心ネットワーキング |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170093713A1 (ja) |
EP (1) | EP3148128B1 (ja) |
JP (1) | JP2017069950A (ja) |
KR (1) | KR20170037818A (ja) |
CN (1) | CN106559340A (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10021222B2 (en) * | 2015-11-04 | 2018-07-10 | Cisco Technology, Inc. | Bit-aligned header compression for CCN messages using dictionary |
US10356209B2 (en) * | 2015-11-30 | 2019-07-16 | Futurewei Technologies, Inc. | System and method to support context-aware content requests in information centric networks |
US11051355B2 (en) * | 2016-03-01 | 2021-06-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Correlation of user equipment identity to information centric networking request |
US10069736B2 (en) * | 2016-05-02 | 2018-09-04 | Cisco Technology, Inc. | Optimized in-network retransmission for information-centric networking protocols |
US10320675B2 (en) * | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10397809B2 (en) * | 2016-05-13 | 2019-08-27 | Cisco Technology, Inc. | Mobility loss detection and recovery |
US10432509B2 (en) * | 2016-06-14 | 2019-10-01 | Cisco Technology, Inc. | Flow classification for information centric network protocols |
US20180006937A1 (en) * | 2016-06-30 | 2018-01-04 | Fujitsu Limited | Packet forwarding in information centric networking networks |
US9992097B2 (en) * | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10110469B2 (en) * | 2016-07-21 | 2018-10-23 | Cisco Technology, Inc. | Detecting and preventing network loops |
US10122624B2 (en) * | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10819524B2 (en) * | 2016-10-19 | 2020-10-27 | Qualcomm Incorporated | Methods for header extension preservation, security, authentication, and protocol translation for RTP over MPRTP |
EP3610628B1 (en) * | 2017-04-14 | 2021-09-22 | Koninklijke KPN N.V. | Transmitting and receiving an interest message specifying an aggregation parameter |
US10623322B1 (en) * | 2017-09-15 | 2020-04-14 | Juniper Networks, Inc. | Dynamic prefix list for route filtering |
CN110493885B (zh) * | 2019-08-21 | 2020-12-08 | 北京理工大学 | 一种针对数据分片的命名数据网络连续数据推送方法 |
WO2021072299A2 (en) * | 2019-10-09 | 2021-04-15 | Curated Networks | Multipath routing in communication networks |
US11483238B2 (en) * | 2019-10-14 | 2022-10-25 | Cisco Technology, Inc. | Centralized path computation for information-centric networking |
US10904851B1 (en) | 2020-01-21 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for determining locations of access points |
CN112866106B (zh) * | 2020-12-31 | 2023-04-18 | 网络通信与安全紫金山实验室 | 一种兴趣包缓存方法、装置、设备及存储介质 |
WO2023161666A1 (en) * | 2022-02-27 | 2023-08-31 | Doka Janos | System and method for forwarding-information base compression by distribution in named data networks |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7936753B1 (en) * | 2007-11-30 | 2011-05-03 | Qlogic, Corporation | Method and system for reliable multicast |
US8160069B2 (en) | 2009-01-30 | 2012-04-17 | Palo Alto Research Center Incorporated | System for forwarding a packet with a hierarchically structured variable-length identifier |
US9331937B2 (en) * | 2012-04-18 | 2016-05-03 | Nicira, Inc. | Exchange of network state information between forwarding elements |
US9049233B2 (en) * | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US10193662B2 (en) * | 2014-09-19 | 2019-01-29 | Panasonic Intellectual Property Corporation Of America | Router, terminal, and congestion control method for router and terminal |
US9647925B2 (en) * | 2014-11-05 | 2017-05-09 | Huawei Technologies Co., Ltd. | System and method for data path validation and verification |
-
2015
- 2015-09-28 US US14/867,814 patent/US20170093713A1/en not_active Abandoned
-
2016
- 2016-09-09 KR KR1020160116650A patent/KR20170037818A/ko unknown
- 2016-09-14 JP JP2016179861A patent/JP2017069950A/ja active Pending
- 2016-09-19 EP EP16189544.6A patent/EP3148128B1/en active Active
- 2016-09-19 CN CN201610831683.4A patent/CN106559340A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20170093713A1 (en) | 2017-03-30 |
KR20170037818A (ko) | 2017-04-05 |
EP3148128B1 (en) | 2019-05-08 |
CN106559340A (zh) | 2017-04-05 |
EP3148128A1 (en) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017069950A (ja) | スモールマルチパス又はシングルパス転送状態による情報中心ネットワーキング | |
CN105721311B (zh) | 一种用于更新链路状态信息的方法及系统 | |
EP3151517B1 (en) | System and method for stateless information-centric networking | |
EP3054635B1 (en) | System and method for on-demand content exchange with adaptive naming in information-centric networks | |
KR101607879B1 (ko) | 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용 | |
EP3035611B1 (en) | System and method for distance-based interest forwarding | |
US10091012B2 (en) | System and method for multi-source multicasting in content-centric networks | |
KR102033999B1 (ko) | 컨텐트 중심 네트워크에서의 통신 방법 및 장치 | |
EP3148124B1 (en) | System and method for eliminating undetected interest looping in information-centric networks | |
US10033639B2 (en) | System and method for routing packets in a content centric network using anonymous datagrams | |
Garcia-Luna-Aceves | A more scalable approach to content centric networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160923 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160926 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170822 |