(57)【要約】      （修正有）【課題】名称付きデータネットワーク内の経路の性能を測定するルートトレースアプリケーションを提供する。【解決手段】ネットワークノードは、インタレストの名称を使用して転送情報ベース（ＦＩＢ）において検索動作を実行し、各ＦＩＢエントリが名称を転送規則にマッピングする。ＦＩＢがインタレストのルートトレース名称についてのエントリを含まない場合、トレースエージェントは、インタレストの名称に基づいてルートトレース動作のために１つ以上の送信インターフェースを決定し、新たなルートトレースＦＩＢエントリを作成し、決定されたインターフェースについての転送規則に対してインタレストの名称をそれぞれがマッピングする。ネットワークノードは、コンテンツオブジェクトが新たなＦＩＢエントリの名称とともに、経路についての性能情報を含む、インタレストを満たすコンテンツオブジェクトを返信する。【選択図】なし【特許請求の範囲】
【請求項１】
名称付きデータネットワークにおける経路の性能を測定するコンピューティングシステムにおいて、
１つ以上のプロセッサと、
メモリと、
１つ以上のプロセッサによって実行されたときに、コンピューティングシステムに方法を実行させる、記憶された命令を記憶する１つ以上のプロセッサに結合されたコンピュータ読み取り可能な媒体とを備え、方法が、
受信したインタレストがルートトレース動作に対応する名称を含むことを判定することと、
インタレストの名称に基づいてルートトレース動作についての１つ以上の送信インターフェースを決定することと、
送信インターフェースについての１つ以上の新たな転送情報ベース（ＦＩＢ）エントリを作成することであり、各ＦＩＢエントリがインタレストの名称を対応する送信インターフェースを含む転送規則にマッピングすることと、
インタレストを満たすコンテンツオブジェクトを返信することであり、コンテンツオブジェクトが少なくとも新たなＦＩＢエントリの名称を含むこととを備える、コンピューティングシステム。
【請求項２】
方法が、さらに、
ローカルネットワークノードについてのトレース情報を判定することを備え、トレース情報が、
ノード識別子、
タイムスタンプ、
全経路通過時間、
各近隣者に対する通信時間、
トレースされたプレフィックスのもとでキャッシュされた名称及びコンテンツオブジェクトの数、
名称空間のもとにノードによって発行されたインタレストについての平均応答時間、
近隣ノードに対するリンクのセット、
自由空間又は生産量、
輻輳状態情報、
電力状態情報、
位置情報、及び、
名称区間について保留中の多数のインタレスト
のうちの１つ以上を含む、請求項１に記載のコンピューティングシステム。
【請求項３】
方法が、さらに、トレース情報も含むようにコンテンツオブジェクトを生成することを備える、請求項２に記載のコンピューティングシステム。
【請求項４】
方法が、さらに、インタレストの名称がまたローカルネットワークノードによって提供される名称空間に対応すると判定することに応答して、第２のルートトレース動作に関連付けられた少なくともトレース情報を含むように第２のコンテンツオブジェクトを生成することを備える、請求項１に記載のコンピューティングシステム。
【請求項５】
インタレストの名称がルートトレース動作に関連付けられた旨を判定することは、インタレストの名称の要素がルートトレース動作又はアプリケーションについての予め定義された名称に一致する旨を判定することを含む、請求項１に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータネットワークのネットワーク経路を分析することに関する。より具体的には、本開示は、名称付きデータネットワーク（ＮＤＮ）における経路の性能を測定する方法及び装置に関する。
【背景技術】
【０００２】
インターネット・プロトコル（ＩＰ）ネットワークは、ネットワークを通過する際にパケットが通る経路に関する情報を収集するためにトレースルートと呼ばれるツールを使用している。トレースルート中において、送信元ノードは、送信先アドレスに向けてネットワーク経由で「エコー要求」パケットを送信することができ、送信先（例えば、ルータ）に向かう経路に沿ってネットワークノードから「エコー応答」メッセージを受信する。
【０００３】
トレースルートは、トレースルートツールが遷移遅延を測定するために使用するパケットの経路についての最大ホップ数を指定するためにパケット上の有効期間（ＴＴＬ）フィールドを利用する。送信先ノードに向けた各ホップにおいて、パケットは、パケットを転送する前にＴＴＬを減少させる新たなノードに到達する。パケットがノードにおいて０のＴＴＬに到達すると、ノードは、パケットにエラーがあることを送信元ノードに通知するエラーパケットを作成して返信する。
【０００４】
トレースルートアプリケーションは、経路のトレースを生成するために経路のノードからのエラーパケットを利用する。最初の反復において、トレースルートアプリケーションは、最初のホップノードからエラーパケットを得るために、１のＴＴＬを有するパケットを送信先ノードに対して送信する。トレースルートは、返信メッセージから最初のホップに対応するノードを判定することができる。そして、トレースルートは、処理を繰り返し、各反復毎に１ずつＴＴＬ値を増加させる。長さＮの経路についてのＮ回の反復の後、トレースルートは、経路に沿って各ホップにおいてノードからの応答を受信し、経路のトレースを生成するためにこれらの応答を分析する。
【０００５】
あいにく、トレースルート技術は、コンテンツセントリックネットワーク（ＣＣＮ）又は名称付きデータネットワーク（ＮＤＮ）など、パケットがＴＴＬフィールドを含んでいないコンピュータネットワークにおいては動作しない。ＣＣＮにおいて、ネットワークノードは、要求されたコンテンツの名称を含むインタレストパケットを広めることによってコンテンツを要求することができる。他のノードは、コンテンツの名称に基づいてインタレストを転送することができるか、又は、インタレストを満たすために要求されたコンテンツを含むコンテンツオブジェクトを返信することができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の１つの実施形態は、名称付きデータネットワークにおける経路の性能を測定するシステムを提供する。動作中において、送信元ノードは、所定のデータの一部に関連するコンテンツ製作者に対する経路についての情報を判定するために、ルートトレース・インタレストを広めることができる。インタレストを受信するネットワークノードは、インタレストの名称がネットワークノードによって提供されていない名称空間に関連付けられているかどうかを判定することができる。インタレストの名称がネットワークノードによって提供されない場合、ネットワークノードは、インタレストの名称に基づいてルートトレース動作についての１つ以上の送信インターフェースを決定することができ、送信インターフェースについての１つ以上の新たな転送情報ベース（ＦＩＢ）エントリを作成する。ＦＩＢエントリは、対応する送信インターフェースを含む転送規則にインタレストの名称をマッピングすることができる。その後、ネットワークノードは、インタレストを満たし且つ少なくとも新たなＦＩＢエントリの名称を含むコンテンツオブジェクトを返信する。
【０００７】
この実施形態の１つの変形例において、システムは、ローカルネットワークノードについてのトレース情報を決定する。トレース情報は、タイムスタンプ、経路についての総経過時間、名称空間のもとにノードによって発行されたインタレストについての平均応答時間、各近隣者までの経過時間、及び、近隣ノードまでのリンクのセットを含むことができる。トレース情報はまた、トレースされるプレフィックスのもとでキャッシュされた多数のコンテンツオブジェクト、キャッシュされたコンテンツオブジェクトの名称、自由空間又は生産量、輻輳情報、電力状態情報、位置情報、ノード識別子及び名称空間についての多数の保留中のインタレストを含むことができる。
【０００８】
さらなる変形例において、ネットワークノードは、トレース情報も含むようにコンテンツオブジェクトを生成する。
【０００９】
さらなる変形例において、ネットワークノードは、第２のルートトレース動作に関連付けられた名称を含む第２のインタレストを受信する。第２のインタレストの名称がローカルネットワークノードによって提供される名称空間に対応しているとローカルネットワークノードが判定した場合、ネットワークノードは、第２のルートトレース動作に関連付けられた少なくともトレース情報を含む第２のコンテンツオブジェクトを生成する。そして、ネットワークノードは、第２のインタレストを満たすために、第２のコンテンツオブジェクトを返信することができる。
【００１０】
さらなる変形例において、送信インターフェースが第２のインタレストの名称に基づいて第２のルートトレース動作のために存在しているとネットワークノードが判定した場合、ネットワークノードは、送信インターフェースについての転送情報ベース（ＦＩＢ）のエントリを作成することができる。したがって、ＦＩＢエントリを作成することにより、ネットワークノードは、名称空間に関連付けられた近隣ノードまで突き抜ける経路を作成する。ネットワークノードはまた、ネットワークノードがローカルネットワークノードからのトレース情報及び名称空間に関連付けられた１つ以上の近隣ノードに対する送信インターフェースについての情報の双方を返信するのを可能とする新たなＦＩＢエントリの名称を含むように第２のコンテンツオブジェクトを作成することができる。
【００１１】
さらなる変形例において、インタレストの名称がルートトレース動作に関連付けられていることを判定することは、インタレストの名称の要素がルートトレース動作又はアプリケーションについての所定の名称と一致することを判定することを含む。
【００１２】
本実施形態の１つの変形例において、新たなＦＩＢエントリを作成することは、送信インターフェースについてのインターフェース識別子を判定することを含む。ネットワークノードは、インタレストの名称及びインターフェース識別子を含むトレース名称を生成する。そして、ネットワークノードは、送信インターフェースを含む転送規則にトレース名称をマッピングするためにＦＩＢエントリを作成する。
【００１３】
本実施形態の１つの変形例において、ネットワークノードは、対応するタイムアウト期間に到達したことを判定した後、対応するルートトレース動作が完了したことを検出した後、又は、トレースプログラムからＦＩＢエントリを削除する命令を含むメッセージを受信した後にＦＩＢエントリを削除する。
【００１４】
本実施形態の１つの変形例において、名称は、１つ以上の名称要素のセットを含む。各名称要素は、インタレストを処理するためのトレースルートアプリケーション、ルートトレース動作を行うデータの一部についての名称、パスに沿った１つ以上のノードについての送信インターフェース、及び、ＦＩＢに入るための転送規則のうちの１つ以上を示す。
【００１５】
本実施形態の１つの変形例において、インタレストの名称がネットワークノードによって提供される名称空間に関連付けられているかどうかを判定することは、各ＦＩＢエントリが名称を転送規則にマッピングするインタレストの名称を使用してＦＩＢにおいて検索動作を実行することを含む。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施形態にかかるＣＣＮを含む例示的なネットワーク環境を図示する図を提示している。
【図２】図２は、本発明の実施形態にかかるＣＣＮにおいてノードの正確な転送性能を測定するプロセスを図示する時間−空間図を提示している。
【図３Ａ】本発明の実施形態にかかる転送性能を測定するためにインタレストを広めるトレースプログラムについての例示的なプロセスを図示するフローチャートを提示している。
【図３Ｂ】図３Ｂは、本発明の実施形態にかかるインタレストに応答するエージェントトレースプログラムを有するノードについての例示的なプロセスを図示するフローチャートを提示している。
【図４】図４は、本実施形態にかかる特定の名称空間をトレースするインタレストを受信する前に、ノードＣにおける例示的なＦＩＢを図示するブロック図を提示している。
【図５】図５は、本実施形態にかかるトレースエージェントにおいてルートトレースインタレストを処理した後に、ノードＣにおいて例示的なＦＩＢを図示するブロック図を提示している。
【図６】図６は、本実施形態にかかるＣＣＮにおけるノードの正確な転送性能を測定する例示的なコンピュータシステムを提示している。
【発明を実施するための形態】
【００１７】
図において、同様の参照符号は、同一の図要素を指す。
【００１８】
以下の説明は、当業者が本発明を作成して使用するのを可能とするために提示され、特定の用途及びその要件の文脈で提供される。開示された実施形態に対する様々な変更は、当業者にとって容易に明らかであり、本願明細書において定義された一般的な原理は、本発明の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができる。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１９】
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び／又はデータを記憶することができる任意の装置又は媒体とすることができるコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多用途ディスク若しくはディジタルビデオディスク）などの磁気及び光学記憶装置、又は、現在知られている若しくは後に開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
【００２０】
本発明の実施形態は、コンテンツセントリックネットワーク（ＣＣＮ）におけるネットワークノードの正確な転送性能を測定するという問題を解決する。例えば、ＣＣＮノードは、経路の一部を形成するノードのＦＩＢに転送規則エントリを追加する「トレースエージェント」アプリケーションを含むことができる。これらのエントリは、インタレストがその後の経路横断中にノードを介して直接流れるのを可能とし、それにより、インタレストがそれらの送信先ノードに向かうのにともない、ノードにおけるトレースエージェント及び任意の関連する遅延による不要な処理を回避する。
【００２１】
トレースプログラムは、この送信先ノードに対する経路トレースインタレストを広めることによって所定のインタレストを満たすことができるネットワークノードに向かう経路の性能を決定することができる。しかしながら、典型的なトレースプログラムは、送信先ノードに向けて中間ノードの経路に沿って１つのトレースエージェントから他へと流れるインタレストを送信することができる。中間ノードにおけるインタレストを処理するためにトレースエージェントを使用することは、経路に沿ったノードの正確な転送性能を測定するのを困難とする各ノードの全体的な転送時間を追加する。これは、送信先ノードに向けてインタレストを転送する時間を含むのみならず、各中間ノードがトレースエージェントにおいてインタレストを処理するために消費される時間量も含む不正確な伝播遅延をもたらす。
【００２２】
この問題を解決するために、インタレストが中間ノードに到着したとき、ノードは、規則エントリがインタレストを転送するためのＦＩＢに存在する場合に次ノードに対してインタレストを直接転送する。これは、トレースエージェント処理のために不要なオーバーヘッドを回避する。一方、ＦＩＢがインタレストを転送するための規則エントリを含まないとき、ノードは、ＦＩＢエントリを作成するローカルノードにおいて実行しているトレースエージェントに対してインタレストを転送する。
【００２３】
トレースエージェントは、近隣ノードに到達するための１つ以上の転送規則エントリを作成することができ、それらをローカルＦＩＢに追加する。トレースエージェントはまた、送信元トレースプログラムについてのコンテンツオブジェクトを生成し、インタレストを満たすためにコンテンツオブジェクトを返信する。コンテンツオブジェクトは、ＦＩＢエントリ名称を含むことができ、ローカルノードからの情報をトレースすることができる。ノードからの応答を受信した後、送信元ノードにおけるトレースプログラムは、ＦＩＢエントリ名称を有する新たなインタレストを生成することができる。新たなインタレストは、トレースプログラムが経路に沿って追加のノードに到達したトレースを実行するのを可能とする。
【００２４】
新たなインタレストが上述した同じ中間ノードに到達すると、ノードのトレースエージェントは、転送ノードがインタレストを転送するために使用することができるＦＩＢにエントリが存在することから、インタレストについての任意の追加の処理を実行する必要はない。これは、インタレストが各中間ノードにおいて追加の処理オーバーヘッドを招くことなく送信先ノードに向けて伝播するのを可能とする。
【００２５】
いくつかの実施形態において、送信元ノードにおけるトレースプログラムは、経路トレースプレフィックスを名称に追加し、変更された名称を含む経路トレースインタレストを作成することにより、所定の名称に関連付けられたコンテンツ製作者に向かう経路をトレースすることができる。例えば、プレフィックスは、／ｔｒａｃｅ／ａｇｅｎｔ／とすることができる。トレースエージェントは、名称空間「／ｔｒａｃｅ／ａｇｅｎｔ／」についてのデフォルトの送信先としてそれ自体を登録することができる。到達したインタレストがプレフィックス「／ｔｒａｃｅ／ａｇｅｎｔ／Ｉｎｔｅｒｆａｃｅ２」を有するが、ＦＩＢがこのプレフィックスについての転送規則エントリを含まない場合には、ネットワークノードは、（例えば、プレフィックス「／ｔｒａｃｅ／ａｇｅｎｔ」に基づいて）ローカルトレースエージェントに対してインタレストを転送することができる。トレースエージェントは、ローカルＦＩＢに対して新たな転送規則エントリを追加する。
【００２６】
送信元ノードにおけるトレースプログラムが経路に沿って各ネットワークノードからの応答を受信した後に、トレースプログラムは、これらのノードの正確な転送性能を計算することができる。例えば、ネットワーク経路は、トレースプログラムを含む送信元ノード「Ａ」、中間ノード「Ｂ」及び「Ｃ」、並びに、送信先ノード「Ｄ」を含むことができる。ノードＣがノードＡに対して応答を送信すると、トレースプログラムは、インタレストパケットがノードＣに到達するのに必要な時間に基づいて、ノードＢの正確な転送性能を計算することができる。また、ノードＤがノードＡに対する応答を送信すると、トレースプログラムはまた、ノードＢ及びＣについての正確な転送性能をともに計算することができる。トレースプログラムは、ノードＢについての公知の性能に基づいてノードＣについての性能を導出することができる。
【００２７】
以下、ノードを介して通常のトラフィックの流れを中断することなく、通常のＣＣＮ動作を免れて経路トレース動作を開始するための経路トレースプレフィックス（例えば、プレフィックス「／ｔｒａｃｅ／ａｇｅｎｔ」）を使用する例が記載される。しかしながら、いくつかの実施形態において、コンテンツオブジェクトの名称に経路トレースサフィックスを追加することなどによって代替経路トレースインジケータが可能である（例えば、「…／ｔｒａｃｅ」）。
【００２８】
ＣＣＮにおいて、通信は、データの消費者によって駆動される。ＣＣＮアーキテクチャは、インタレストパケット及びコンテンツオブジェクト（例えば、データ）パケットという２つのパケット種類を提供する。（「クエリ」とも呼ばれる）インタレストパケットは、一部のコンテンツについてのリクエストである。インタレストパケットは、コンテンツが望まれるもの及びコンテンツが望まれないものを表現するクエリの特殊な形態を符号化する。コンテンツオブジェクトパケットは、コンテンツのユニットを含む。コンテンツオブジェクトパケットは、その中にそれ自体のフルネームを持つことによって自己識別される。消費者は、コンテンツセントリックネットワーク上にそのインタレストをブロードキャストすることによってコンテンツを要求し、インタレストを満たすことができるインタレストの任意の受信者は、コンテンツオブジェクトに応答することができる。コンテンツオブジェクトは、インタレストに対する応答においてのみ送信され、そのインタレストを消費する。インタレスト及びコンテンツオブジェクトの双方は、コンテンツ名称（又はＣＣＮ名称）によって交換されるコンテンツを識別する。１つの実施形態において、コンテンツオブジェクトは、インタレストパケット内のＣＣＮ名称がデータパケット内のＣＣＮ名称のプレフィックスである場合、インタレストを「満たす」ことができる。以下の用語は、コンテンツセントリックネットワーク（ＣＣＮ）などの名称付きデータネットワーク（ＮＤＮ）アーキテクチャの要素を説明する。
【００２９】
コンテンツオブジェクト：固有の名称にバインドされている名称付きデータの単一部分。コンテンツオブジェクトは、コンテンツオブジェクトがコンピューティングデバイス内を又は異なるコンピューティングデバイスにわたって移動することができるが変更されないことを意味する「永続的」である。コンテンツオブジェクトの任意の要素が変更した場合、変更を行ったエンティティは、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たなコンテンツオブジェクトを新たな固有の名称にバインドする。
【００３０】
名称：ＮＤＮにおける名称は、一般に、位置から独立しており、コンテンツオブジェクトを固有に識別する。データ転送装置は、コンテンツオブジェクトについてのネットワークアドレス又は物理的位置にかかわらず、コンテンツオブジェクトを生成又は記憶するネットワークノードに向けてインタレストパケットを転送するために名称又は名称プレフィックスを使用することができる。いくつかの実施形態において、名称は、階層的に構造化された可変長識別子（ＨＳＶＬＩ）とすることができる。ＨＳＶＬＩは、様々な方法で構造化されることができるいくつかの階層的要素に分割されることができる。例えば、個々の名称要素ｐａｒｃ、ｈｏｍｅ、ｎｄｎ及びｔｅｓｔ．ｔｘｔは、名称「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ．」を形成するために、左指向プレフィックスメジャーな方法で構造化されることができる。それゆえに、名称「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ」は、「／ｐａｒｃ／ｈｏｍｅ／ｎｄｎ／ｔｅｓｔ．ｔｘｔ」の「親」又は「プレフィックス」とすることができる。追加の要素は、共同文書などのコンテンツアイテムの異なるバージョンを区別するために使用されることができる。
【００３１】
いくつかの実施形態において、名称は、コンテンツオブジェクトのデータ（例えば、チェックサム値）から及び／又はコンテンツオブジェクトの名称の要素から導出されたハッシュ値などの非階層的識別子を含むことができる。名称はまた、フラットラベルとすることができる。以下では、「名称」は、階層的名称又は名称プレフィックス、フラット名称、固定長名称、任意長名称又はラベル（例えば、マルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）ラベル）などの名称付きデータネットワーク内のデータの一部についての任意の名称を参照するために使用される。
【００３２】
インタレスト：データの一部についてのリクエストを示し、データの一部についての名称（又は名称プレフィックス）を含むパケット。データ消費者は、ＮＤＮルータがリクエスト又はインタレストを満たすために要求されたデータを提供することができる記憶装置（例えば、キャッシュサーバ）又はデータ製作者に向かって伝播することができる情報セントリックネットワークにわたってリクエスト又はインタレストを広めることができる。
【００３３】
いくつかの実施形態において、ＮＤＮシステムは、コンテンツセントリックネットワーク（ＣＣＮ）アーキテクチャを含むことができる。しかしながら、本願明細書に開示された方法はまた、他のＮＤＮ又は他の情報セントリックネットワーク（ＩＣＮ）アーキテクチャに適用可能である。
【００３４】
図１は、本発明の実施形態にかかるＣＣＮ１００を含む例示的なネットワーク環境を図示する図を提示している。ＣＣＮ１００は、ＣＣＮ１００を介して互いに結合されたラップトップコンピュータ１０２、メディアサーバ１０４及びスマートフォン１０６〜１１１などの多数の装置を含む。ここで留意すべきは、装置が、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン、若しくは、携帯情報端末機（ＰＤＡ）などのモバイルコンピューティングデバイス、又は、デスクトップコンピュータ若しくはホームメディアサーバなどの固定コンピューティングデバイスを含む任意の種類のコンピューティングデバイスとすることができるということである。
【００３５】
さらに、各装置は、他の要素のうち、トレースエージェント、トレースプログラム、ＦＩＢ及びフォワーダを有することができる。要素の例は、トレースエージェント１１２、トレースプログラム１１４、ＦＩＢ１１６及びフォワーダ１１８を含むメディアサーバ１０４について図示されている。トレースプログラム１１４は、ＣＣＮのノードに記憶されたコンテンツを要求するために、ネットワークにインタレストを提出する。トレースエージェント１１２は、経路トレースとノードの転送性能の測定とを容易とする。ＦＩＢ１１６は、転送テーブルである。転送テーブルは、インタレストが送信されるべき近隣ノード（複数可）を判定するためのノードについての情報を含む。フォワーダ１１８は、ネットワーク上にインタレスト及び／又はパケットを転送する。トレース経路上に位置するトレースプログラムとトレースエージェントとの間の相互作用は、図２に関して説明され、さらなる詳細は、図３Ａ及び図３Ｂをともなう説明によって提供される。
【００３６】
図２は、本発明の実施形態にかかるＣＣＮにおけるノードの正確な転送性能を測定する処理を図示する時間−空間図を提示している。トレースプログラムのノードからトレースされた名称のコンテンツを記憶する送信先ノードまでの経路内の各ノードにおいて、名称空間／ｔｒａｃｅ／ａｇｅｎｔ／の監視とすることができるトレースエージェントがある。トレースエージェントが送信インターフェースについて一致するＦＩＢエントリを有しない名称空間においてインタレストを検出すると、トレースエージェントは、インタレストを処理し、ＦＩＢに１つ以上のＦＩＢエントリ転送規則を追加する。トレースエージェントは、トレースエージェントのノードと送信先ノードに向かう次ホップノードとの間のインターフェースを指すようにＦＩＢエントリ転送規則を設定する。
【００３７】
いくつかの実装において、トレースエージェントは、名称空間「／ｔｒａｃｅ／ａｇｅｎｔ／」についてのデフォルトの送信先としてそれ自体を登録することができる。到達したインタレストがプレフィックス「／ｔｒａｃｅ／ａｇｅｎｔ／」を有するが、ＦＩＢがインタレストのフルネーム（例えば、「／ｔｒａｃｅ／ａｇｅｎｔ／Ｉｎｔｅｒｆａｃｅ２」）についての転送規則エントリを含まない場合には、ネットワークノードは、必要なＦＩＢエントリを作成するためにローカルトレースエージェントに対してインタレストを転送することができる。
【００３８】
そして、トレースエージェントは、ＦＩＢにおける転送規則エントリの名称及び他のトレース情報を含むコンテンツオブジェクトを生成し、トレースプログラムに対してコンテンツオブジェクトを返信する。トレースプログラムは、転送規則エントリの名称を有する新たなインタレストを生成し、ＣＣＮに対して新たなインタレストを送信する。転送規則エントリは、トレースエージェントによって処理することなく、新たなインタレストがノードを介して直接流れるのを可能とし、それにより、正確な転送性能測定を容易とする。
【００３９】
図２において、ノードＡ〜Ｇのそれぞれは、名称空間／ｔｒａｃｅ／ａｇｅｎｔ／についてのデフォルトの送信先としてそれ自体を登録したトレースエージェントを含む。ノードＡは、ルートトレース処理を開始するトレースプログラムを含み、ノードＧは、ルートトレース処理用の送信先ノードとして機能する。中間ノードにおけるトレースエージェントが名称空間においてインタレストを受信すると、トレースエージェントは、インタレストを処理し、関連するＦＩＢに対してＦＩＢエントリを追加する。例えば、ノードＡにおいて実行しているトレースエージェントは、インターフェースＡＢを指すＦＩＢエントリを作成することができ、ノードＡにおけるトレースプログラムに対してＦＩＢエントリ名称を有するコンテンツオブジェクトを返信する。
【００４０】
コンテンツオブジェクトを受信した後、トレースプログラムは、ＦＩＢエントリ名称を有する新たなインタレスト２０２を生成し、ノードＢに対してインタレスト２０２を送信する。トレースプログラムと個々のノードのそれぞれとの間において実行されるステップは、図３に関してより詳細に説明されている。ノードＢはまた、ＦＩＢエントリをそのＦＩＢに追加するように図３Ｂに図示されたステップを実行し、トレースプログラムに対してＦＩＢエントリ名称を有するコンテンツオブジェクト２０４を返信する。
【００４１】
そして、トレースプログラムは、ノードＣに対して伝播される受信したＦＩＢエントリ名称についての他のインタレスト２０６を生成して広めることができる。インタレスト２０６は、エージェント処理の追加のオーバーヘッドなしでノードＢを介して流れる。ノードＣは、ＦＩＢエントリをそのＦＩＢに追加するように図３に図示されたステップを実行し、トレースプログラムについてのＦＩＢエントリ名称を有するコンテンツオブジェクト２０８を返信する。したがって、トレースプログラムは、ノードＢにおけるトレースエージェント処理のオーバーヘッドによって影響を受ける計算なしで、ノードＢの正確な転送性能をここで計算することができる。
【００４２】
ノードＤ、Ｅ及びＦについてのインタレストを繰り返し送信した後に、トレースプログラムは、トレースエージェントのオーバーヘッドなしで、ノードＦ、Ｅ及びＤのそれぞれについての正確な転送性能を計算する。そして、トレースプログラム１１４は、送信先ノードＧに向かって他のインタレスト２１４を生成して送信し、ノードＧは、ネットワークを介してインタレスト２１４を受信する。ノードＧは、インタレスト２１４を満たすコンテンツオブジェクト２１６によって応答することができ、また、ノードＡについてのトレース情報を含む。ノードＡにおけるトレースプログラムは、計算結果に影響を与える中間ノードにおけるトレースエージェント処理のオーバーヘッドなしで、ノードＦ、Ｅ、Ｄ、Ｃ及びＢの正確な転送性能を計算することができる。
【００４３】
各ノードにおいて、トレースエージェントは、次ホップのＩＤ要素を含むようにトレース名称を付加する。トレース処理の終了時に、最終的なインタレストは、名称要素として全てのノード／ＩＤ／リンクを含む。ここで留意すべきは、この種のトレースはまた、コンテンツベース又は名称ベースではない他のネットワークに適合させることができるということである。
【００４４】
プロセスの各段階において、ネットワーク内の各ホップはまた、ノードＡに対してトレース情報を返信する。このトレース情報は、インタレストにとって、トレースエージェント及び名称及びトレースされたプレフィックスのもとにキャッシュされたコンテンツオブジェクトの数に到達するのに要した時間を含むことができる。情報は、その名称空間又はその名称空間についての保留中のインタレストの数のもとでそのノードによって発行されたインタレストについての平均応答時間のような名称空間に関する様々な項目を含むことができる。トレース情報はまた、そのノードに固有であるが、ノードのリンクのセット、自由空間又は生産量、輻輳状態、電力状態、位置、ノード識別子（ＩＤ）などの名称空間には固有でない情報を含むことができる。トレースプログラムは、様々な方法で経路情報を提示することができる。例えば、トレースプログラムは、ノード識別子のセットとしてトレース結果を提示することができる。あるいは、トレースプログラムは、インターフェースのセット又はフェースの識別子を表示することができる。以下、用語「フェース」は、インターフェース又は仮想インターフェースを指す。
【００４５】
図３Ａは、本発明の実施形態にかかる転送性能を測定するためにインタレストを広めるトレースプログラムについての例示的な処理を図示するフローチャートを提示している。図３Ａ及び図３Ｂに図示された処理は、トレース経路の各ノードの正確な転送性能を測定する。図３Ａ及び図３Ｂに示された通信及び動作は、トレースプログラムとトレース経路の各ノードとの間において生じる。反復は、発信ノード（例えば、コンテンツを要求するノード）から開始し、送信先ノードまで継続する。ここで留意すべきは、図３Ａ及び図３Ｂに示された動作及び動作を実行する要素の順序は実装に応じて変化し得るということであり、本発明の実施形態は、図３Ａ及び図３Ｂに示された動作の順序に限定されるものではない。
【００４６】
トレースプログラムは、最初にトレースエージェントに対してインタレストを送信する。トレースエージェントは、名称を抽出し、転送するための次ノードを決定し、ＦＩＢエントリを生成し、ＦＩＢに対してエントリを追加する。そして、トレースエージェントは、ＦＩＢエントリ名称及びトレース情報を含むコンテンツオブジェクトを生成し、トレースプログラムに対してコンテンツオブジェクトを送信する。トレースプログラムは、ネットワークに対してＦＩＢエントリ名称を有する新たなインタレストを生成して送信する。同様の処理は、インタレストがトレース経路に沿って伝播するのにともない、トレース経路の各中間ノードに位置する各トレースエージェントによって繰り返される。
【００４７】
図３Ａに示されるように、トレースプログラムは、最初にトレースルートインタレストを生成して広める（動作３０２）。生成されたインタレストは、プレフィックス／ｔｒａｃｅ／ａｇｅｎｔ／及びトレースされた名称を含む。例えば、トレースプログラムが／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔをトレースしたい場合、トレースプログラムは、名称／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔを有する要求されたコンテンツについてのトレースルートインタレストを生成する。トレースプログラムは、トレースエージェントに対してトレースルートインタレストを広める。最初に、トレースプログラムは、トレースプログラムと同じノード（例えば、送信元ノードＡ）に位置するトレースエージェントに対してインタレストを送信する。トレースされた経路に沿ったノードは、送信先ノードに対して後続インタレストを伝播する。
【００４８】
トレースプログラムは、インタレストについてのコンテンツオブジェクトを受信し（動作３０４）、コンテンツオブジェクトが送信先ノードからであるかどうかかを判定する（動作３０６）。送信先ノードからのコンテンツオブジェクトは、トレース情報及び要求されたコンテンツを含むことができる。コンテンツオブジェクトが送信先ノードからのものである場合、トレースプログラムは、他のインタレストを生成しない。以前のインタレストは、既に送信先ノードに到達し、経路測定が完了している。
【００４９】
コンテンツオブジェクトが送信先ノードからのものではない場合は、トレースプログラムは、コンテンツオブジェクトを使用してエンドノードのＦＩＢエントリを選択する（動作３０８）。トレースプログラムは、コンテンツオブジェクトからＦＩＢエントリ名称を抽出することができ、他のトレースルートインタレストを同様に生成して広める（動作３１０）。トレースプログラムは、コンテンツオブジェクトにおける１つ以上のＦＩＢエントリ名称に基づいてインタレストを生成することができる。いくつかの実装において、複数のＦＩＢエントリ名称がある場合、トレースプログラムは、単一の次ホップに転送するＦＩＢエントリ名称の１つを選択することによってインタレストを生成することができる。単一のＦＩＢエントリがある場合、トレースプログラムは、ＦＩＢエントリについてのインタレストを生成する。例えば、トレースプログラムは、ＦＩＢエントリ名称についてのインタレストを生成することができる。
／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）。
そして、処理は、トレース経路における次ノードから他のコンテンツオブジェクトを受信したトレースプログラムを継続する。
【００５０】
トレースプログラムは、トレースの発信ノードから送信先ノードまでの経路内の全てのホップについての新たなインタレスト（例えば、／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ）を生成することができる。また、トレースプログラムは、インタレストを満たすことができるコンテンツを記憶する送信先ノードにインタレストが到達するまで、動作３０２から３１０を繰り返すことができる。ここで留意すべきは、インタレストが同種の規則及び非トレースルートインタレストと同じ時間量の消費に基づいて、送信先ノードに向けて転送されるということである。
【００５１】
図３Ｂは、本発明の実施形態にかかるインタレストに対して応答するエージェントトレースプログラムによるノードについての例示的な処理を図示するフローチャートを提示している。図３Ｂに示されるように、ノードは、トレースプログラムからネットワーク経路に沿って伝播したインタレストを受信する。インタレストの名称がローカルネットワークノードに対応する場合、ノードは、インタレストに応答する。そうでなければ、既存のＦＩＢエントリがある場合には、トレースエージェントは、名称を抽出し、名称に関連付けられた次ホップのノードを決定し、ＦＩＢエントリを生成し、ＦＩＢにＦＩＢエントリを追加する。そして、トレースエージェントは、ＦＩＢエントリ名称及びトレース情報を含むコンテンツオブジェクトを生成し、トレースプログラムに対してコンテンツオブジェクトを送信する。ここで留意すべきは、送信先ノードが転送ノードを決定する必要がなく、ＦＩＢについてのＦＩＢエントリを生成する必要がないということである。むしろ、送信先ノードは、発信ノードに対してトレース情報を返信し、インタレストにおいて名称が付されたコンテンツを返信することもできる。
【００５２】
図３Ｂに示されるように、ノードは、最初に、インタレストを受信する（動作３１２）。ノードは、インタレストの名称がローカルネットワークノードに対応するかを判定する（動作３１４）。インタレストの名称がローカルネットワークノードに対応する場合、ノードは、要求されたコンテンツによってインタレストに応答する（動作３１６）。ノードは、トレース情報及び要求されたコンテンツを有するコンテンツオブジェクトを生成した後、コンテンツオブジェクトを返信することができる。トレース情報は、近隣ノードのリスト、時間遅延、タイムスタンプ、各近隣者に対する通過時間及び他の情報を含むことができる。
【００５３】
いくつかの実施形態において、ノードはまた、新たなＦＩＢエントリに関する情報を含むコンテンツオブジェクトを生成して返信することができる。例えば、送信インターフェースがインタレストにおいて指定された名称空間についてのコンテンツを提供することができる近隣ノードに存在するとノードが判定した場合、ネットワークノードは、送信インターフェースについての転送情報ベース（ＦＩＢ）エントリを作成することができる。したがって、ＦＩＢエントリを作成することにより、ローカルノードは、名称空間についての追加コンテンツによって応答することもできる近隣ノードまで「突き抜ける」経路を作成する。ローカルノードは、ローカルノードからトレース情報を含むようにコンテンツオブジェクトを作成することができるとともに、インタレストの名称空間についてのコンテンツを提供することができる近隣ノードに対する新たなＦＩＢエントリに関する情報を含むことができる。
【００５４】
インタレストの名称がローカルネットワークノードに対応していない場合、ノードは、インタレストの名称に関連付けられた既存のＦＩＢエントリ転送規則があるかどうかを判定する（動作３１８）。既存のＦＩＢエントリがある場合、ノードは、経路内の次ノードに対してインタレストを転送する（動作３２０）。例えば、インタレストが／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）の名称を有して到達し且つ名称がローカルＦＩＢにおけるものである場合、ノードＡは、「ｉｄ（ＡＢ）」によって識別されるインターフェースを介してノードＢに対してインタレストを転送する。ここで留意すべきは、このシナリオにおいて、トレースエージェントは、インタレストの処理に関与しないということである。動作３１４、３１８及び３２０は、異なる実装が詳細には変化し得るものの、フォワーダによって実行されることができる。既にＦＩＢ内に転送規則エントリがある場合、トレースエージェントをバイパスすることにより、エージェント処理によるノードにおける遅延はない。
【００５５】
一方、ＦＩＢが一致するエントリを含まない場合、ノードは、ノードにおけるトレースエージェントに対してインタレストを送信する（動作３２２）。トレースエージェントは、トレースされる名称（例えば、／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ）を抽出し、インタレストを転送する次ノードを決定する（動作３２４）。トレースエージェントは、この名称を有するインタレストを転送すべきノードを決定するためにＦＩＢを参照することができる。ノードＣについてのＦＩＢの例が図４及び図５に示されている。本例において、インタレストは、ノードＢに転送され、ノードＡからノードＢまでのリンクは、ＡＢと表されている。
【００５６】
トレースエージェントは、新たなＦＩＢエントリを生成し、ＦＩＢにＦＩＢエントリを追加する（動作３２６）。トレースエージェントは、トレース経路内の次ノードに対応する送信インターフェースについてのインターフェース識別子を判定することができる。例えば、トレースエージェントは、インタレストの名称及びインターフェース識別子を含むトレース名称を生成することができ、インターフェースについてのｉｄ要素を作成することができ、トレース名称に対してｉｄ要素を追加することができる。そして、トレースエージェントは、送信インターフェースを含む転送規則にトレース名称をマッピングするためにＦＩＢエントリを作成し、ＦＩＢにＦＩＢエントリを追加する。
【００５７】
例えば、ノードＢにおけるトレースエージェントは、ＦＩＢにＦＩＢエントリとして／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）を追加することができ、インターフェースＢＣを指すようにＦＩＢエントリを設定する。いくつかの実装において、トレースエージェントは、次ホップを指すようにＦＩＢエントリを設定してもよい。ＦＩＢにＦＩＢエントリを追加することにより、／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）という名称を有するインタレストが到達する次の時間に、ノードＢにおけるフォワーダは、インタレストを処理するためにトレースエージェントを使用することなく、ノードＣに対してインタレストを自動的に転送する。
【００５８】
いくつかの実施形態において、トレースエージェントは、複数のＦＩＢエントリを生成して作成することができ、及び／又は、その転送規則が複数の送信インターフェースを含むＦＩＢエントリを作成することができる。これらの複数のＦＩＢエントリ及び／又は複数の送信インターフェースは、トレースが単一経路よりもむしろツリーパターンを介して伝播するのを可能とする。
【００５９】
そして、トレースエージェントは、トレースプログラムについての応答を組み立て、この応答を含むコンテンツオブジェクトを生成する（動作３２８）。このコンテンツオブジェクトは、トレース情報とともに、経路内の次ホップに継続するのに必要な情報を含む。コンテンツオブジェクトは、
／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）／ｉｄ（ＣＤ）
などの生成されたＦＩＢエントリの名称を含むことができる。例えば、トレースエージェントは、インタレスト要求コンテンツの名称に対応する名称／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔを有するコンテンツオブジェクトを生成することができる。そして、トレースエージェントは、インタレストを満たすようにコンテンツオブジェクトを返信することができる（動作３３０）。
【００６０】
いくつかの実施形態において、ノードは、名称空間について複数の転送エントリを有していてもよい。したがって、トレースエージェントは、ＦＩＢに複数のエントリを追加することができる。１つのＦＩＢエントリは、１つのノード（例えば、ノードＢ）に対してインタレストを転送する規則を含むことができ、他のエントリは、他のノード（例えば、ノードＣ）に対してインタレストを転送する規則を含むことができる。また、ＦＩＢエントリは、複数のノードに対して（例えばノードＢ及びノードＣに対して）又は複数の代替ノードに対して（例えば、ノードＢ又はノードＣに対して）インタレストを転送する規則を含むことができる。トレースエージェントは、送信元ノードにおけるトレースプログラムが他のインタレストを生成するために使用することができるこれらの複数の転送エントリを含むコンテンツオブジェクトを生成することができる。エントリの種類及び数は、中間ノードにおけるパラメータ設定に依存することができ、異なる転送計画及び実装に応じて変わることができる。発信ノードにおいて実行しているトレースプログラム（例えば、トレースプログラム１１４）は、転送規則を続けるか又は単にトレースを終了させるかを決定することができる。
【００６１】
いくつかの実装において、トレースプログラムは、各実行における応答間の差異がより多くの情報を生み出すように複数回実行することができる。この情報は、例えば、トレースプログラムの実行間の時間中における所定の名称空間のために到達するインタレストの変化率又は数を含むことができる。
【００６２】
トレースエージェントは、所定のタイムアウト期間後に、トレースしているＦＩＢエントリを除去することができる（又はＦＩＢエントリは自動タイムアウト値に関連付けることができる）。いくつかの実装において、トレースエージェントは、トレース動作が終了したときを検出することができ、その時点においてトレースしているＦＩＢエントリをすぐに削除することができる。例えば、トレースプログラムは、中間ノードにおける全てのトレースしているＦＩＢエントリを削除する最後のメッセージラウンド（おそらく逆に）を送信することができる。
【００６３】
いくつかの実装はまた、永続的な経路を確立するのを可能とすることができる。ＦＩＢエントリは、経路が確立された後にＦＩＢ内に留まることができ、送信元ノードにおけるトレースプログラムは、時間の経過とともにいつでも経路を監視することができる。経路のＦＩＢエントリの期限が切れた場合には、トレースプログラムは、その後にいつでも同じ経路を再確立することができる。さらに、経路に沿ったノード内のトレースエージェントは、トレース経路を再確立するようにＦＩＢエントリを定期的に更新することができる。経路情報は、ＦＩＢ又はトレースエージェントに記憶されることができる。トレースプログラムは、最適経路を再確立するのに便利であることができる経路に関連付けられた以前記憶されたノード状態を設定するようにトレースエージェントを開始させるメッセージを送信することができる。いくつかの実装において、トレースプログラムはまた、経路を再作成するためにパケットにおいて圧縮形式で経路情報を伝播することができる。
【００６４】
いくつかの実装において、システムは、実行中のトレースエージェントを有しない可能性があるいくつかのノードをスキップすることができる。例えば、ノードＡ及びノードＣは、実行中のエージェントを有するハブ（又はハブ前のノード）とすることができるが、ノードＢは、実行中のエージェントを有しない第三者の装置とすることができる。したがって、ノードＡにおけるトレースプログラムは、ノードＢにおけるルートトレース動作をスキップすることができるルートトレースインタレストを生成することができる。これは、ノードＢにおけるＦＩＢエントリを事前設定することにより、又は、ノードＢを通るトンネルを確立することにより、達成されることができる。
【００６５】
あるいは、トレースエージェントは、単独でプレフィックスを監視するよりもむしろ、トレースクエリを検索するためにインタレストの完全な名称を監視することができる。例えば、トレーシングプログラムは、サフィックス「／ｔｒａｃｅ」によって終わる名称を有するインタレストを送信することができる（例えば、「／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｔｒａｃｅ」）。一致する名称が検出されると、トレースエージェントは、ＦＩＢに対して次ノードについての転送エントリ（例えば、／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｔｒａｃｅ／ｉｄ（ＡＢ））を追加することができる。これは、ノードがトレースエージェントを実行していないときに、いつものようにトレースパケットを転送するのを可能とし、トレースエージェントを実行しているノードが要求されたトレース情報を返信するのを可能とする。トレースプログラムはまた、名称がトレースされるのを示すために他の技術を使用することによって名称プレフィックスの変更を回避することができる。例えば、パケット符号化は、（例えば、いくつかのフラグによって又はいくつかのＤＴＡＧ値若しくは他のＴＬＶ値によって）パケットのトレースを可能とすることができる。
【００６６】
いくつかの実装において、ノードはまた、所定のプレフィックスを有するインタレストを受信したときのみ、トレースエージェント処理を分岐することができる。トレースエージェントは、トレースエージェントがトレース可能であることを示すトレース可能なフラグに関連付けられることができる。そして、トレースエージェントのノードから発信ノードまでのインタレストの経路をトレースすることができ、発信ノードとトレースエージェントを有するノードとの間のみにおいて性能測定値を得ることができる。インタレストはまた、「報告ルート」フラグを含めることができ、各フォワーダがインタレストを受信してこのフラグを検出すると、フォワーダは、次ホップノードに対してインタレストを転送する前にインタレストにノード識別子を追加する。ノードがトレースエージェントにおいてインタレストを受信して処理すると、トレースエージェントは、インタレストからトレース経路の記録を得ることができ、送信元ノードにおいてトレースプログラムに戻るためにコンテンツオブジェクトに対してこのトレース経路を追加することができる。
【００６７】
いくつかの実施形態において、フォワーダは、インタレストの名称に情報を追加することによってインタレストに情報を追加することができる。この情報は、例えば、ノード識別子、リンク識別子、送信時間、クエリパラメータなどを含むことができる。また、リンクを記載するために使用される識別子は、グローバル永続的識別子、ローカル持続的識別子又は一時的識別子とすることができる。トレースエージェントは、コンテンツオブジェクトに戻すために識別子の種類を決定することができる。
【００６８】
図４は、本実施形態にかかる特定の名称空間をトレースするインタレストを受信する前に、ノードＣの典型的なＦＩＢ４０２を図示するブロック図を提示している。図４に示されるように、ＦＩＢ４０２内に２つの規則エントリがある。列４０４は、名称空間（例えば、コンテンツ名称、及び／又は、／ｔｒａｃｅ／ａｇｅｎｔ  ｐｒｅｆｉｘ又は経路）を記憶しており、列４０６は、所定の名称空間についての関連付けられたインターフェース及び／又はローカルアプリケーションを記憶する。例えば、名称空間「／ｔｒａｃｅ／ａｇｅｎｔ」は、プレフィックスに関連付けられたルートトレースインタレストを処理するために、トレースエージェントアプリケーション（ｔｒａｃｅ．ａｐｐ）にマッピングされる。また、名称空間「／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ」は、インターフェースＣＤ（例えば、ノードＤに対するインターフェース）にマッピングされる。
【００６９】
図５は、本実施形態にかかるトレースエージェントにおいてルートトレースインタレストを処理した後のノードＣにおける典型的なＦＩＢを図示するブロック図を提示している。図５に示されるように、ＦＩＢ５０２において３つの規則エントリが存在する。図４と同様に、列５０４は、名称空間のセットを記憶し、列５０６は、所定の名称に関連付けられたインタレストパケットを受信することになっている関連付けられたインターフェース及び／又はアプリケーションを記憶する。具体的には、ＦＩＢ５０２は、図４において記載されたものと同じエントリを含むことができる。しかしながら、「／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）」という名称を有するルートトレースインタレストを処理した後、ローカルトレースエージェントは、次ホップノードＤが「／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ」についてのインタレストを満たすことができると判定し、「／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）／ｉｄ（ＣＤ）」についてのＦＩＢエントリを作成する。双方のＦＩＢエントリ「／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ」及び「／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）／ｉｄ（ＣＤ）」は、ノードＤについてのインターフェース「ＣＤ」にマッピングされる。将来のインタレストが名称（又は名称プレフィックス）「／ｔｒａｃｅ／ａｇｅｎｔ／ｃｏｍｐａｎｙ／ｐａｔｈ／ｃｏｎｔｅｎｔ／ｏｂｊｅｃｔ／ｉｄ（ＡＢ）／ｉｄ（ＢＣ）／ｉｄ（ＣＤ）」を有するノードＣにおいて到達すると、ノードは、ＦＩＢエントリに基づいて、ノードＤに対してインタレストを直接転送する。
【００７０】
図６は、本発明の実施形態にかかるＣＣＮにおけるノードの正確な転送性能を測定するための例示的なコンピュータシステムを提示している。図１に関して記載されたように、ＣＣＮ装置は、ラップトップコンピュータ、タブレット若しくはスレートコンピュータ、スマートフォン、若しくは、携帯情報端末機（ＰＤＡ）などのモバイルコンピューティングデバイス、又は、デスクトップコンピュータ、インターネットサーバ若しくはホームメディアサーバなどの固定コンピューティングデバイスを含む任意の種類のコンピューティングデバイスとすることができる。図６は、そのようなコンピューティングデバイスの例を図示している。
【００７１】
図６において、コンピュータ及び通信システム６００は、プロセッサ６０２と、メモリ６０４と、記憶装置６０６とを含む。記憶装置６０６は、プロセッサ６０２によって実行されるプログラムを記憶する。具体的には、記憶装置６０６は、トレースエージェント６２０、トレースプログラム６２２、フォワーダ６２６及びＦＩＢ６２４とともに、アプリケーション６２８及び６３０などの他のアプリケーションを記憶する。動作中において、トレースエージェント６２０、フォワーダ６２６、ＦＩＢ６２４及び必要に応じてトレースプログラム６２２は、記憶装置６０６からメモリ６０４にロードされた後、プロセッサ６０２によって実行される。プログラムの実行時に、プロセッサ６０２は、上述した機能を実行する。コンピュータ及び通信システム６００は、任意のディスプレイ６１４、キーボード６１６及びポインティングデバイス６１８に結合されている。
【００７２】
詳細な説明のセクションに記載された方法及びプロセスは、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び／又はデータとして具現化されることができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み出して実行した場合、コンピュータシステムは、データ構造及びコードとして具体化されてコンピュータ読み取り可能な記憶媒体に記憶された方法及びプロセスを実行する。
【００７３】
さらにまた、上述した方法及びプロセスは、ハードウェアモジュールに含めることができる。例えば、ハードウェアモジュールは、これらに限定されるものではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、及び、現在知られている若しくは後に開発される他のプログラマブルロジックデバイスを含むことができる。ハードウェアモジュールが起動された場合、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法及びプロセスを実行する。
【００７４】
本発明の実施形態の上述した説明は、例示及び説明のみを目的として提示されている。それらは、網羅的であること又は開示された形態に本発明を限定することを意図するものではない。したがって、多くの変更例及び変形例が当業者には明らかであろう。さらに、上記開示は、本発明を限定するものではない。本発明の範囲は、添付された特許請求の範囲によって定義される。
【図１】
2015139221.tif 000002
【図２】
2015139221.tif 000003
【図３Ａ】
2015139221.tif 000004
【図３Ｂ】
2015139221.tif 000005
【図４】
2015139221.tif 000006
【図５】
2015139221.tif 000007
【図６】
2015139221.tif 000008