JP2016082578A - コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置 - Google Patents
コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置 Download PDFInfo
- Publication number
- JP2016082578A JP2016082578A JP2015175540A JP2015175540A JP2016082578A JP 2016082578 A JP2016082578 A JP 2016082578A JP 2015175540 A JP2015175540 A JP 2015175540A JP 2015175540 A JP2015175540 A JP 2015175540A JP 2016082578 A JP2016082578 A JP 2016082578A
- Authority
- JP
- Japan
- Prior art keywords
- interest
- node
- packets
- packet
- content
- 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
Images
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】データを迅速にユーザーに供給してネットワークトラフィックを低減する方法を提供する。
【解決手段】コンテンツセントリックネットワーク内におけるノードのネットワーク供給経路に沿ったコンテンツ配置の方法は、下流ノードから第1及び第2関心パケットを受け取り、第1及び第2データパケットについて第1ノードのコンテンツキャッシュをチェックし、第1及び第2データパケットがコンテンツキャッシュに存在しないことに応答して、第1及び第2関心パケットについて第1ノードのペンディング関心テーブルをチェックする。又、方法は、第1及び第2関心パケットが第1ノードのペンディング関心テーブルに存在してなく且つ下流ノードから受け取った第1関心パケットのキャッシュフラグがオフにあることに応答して、第1データパケットが第1ノードのコンテンツキャッシュ内においてキャッシングされるように様々な動作を実行するステップを含む。
【選択図】図5
【解決手段】コンテンツセントリックネットワーク内におけるノードのネットワーク供給経路に沿ったコンテンツ配置の方法は、下流ノードから第1及び第2関心パケットを受け取り、第1及び第2データパケットについて第1ノードのコンテンツキャッシュをチェックし、第1及び第2データパケットがコンテンツキャッシュに存在しないことに応答して、第1及び第2関心パケットについて第1ノードのペンディング関心テーブルをチェックする。又、方法は、第1及び第2関心パケットが第1ノードのペンディング関心テーブルに存在してなく且つ下流ノードから受け取った第1関心パケットのキャッシュフラグがオフにあることに応答して、第1データパケットが第1ノードのコンテンツキャッシュ内においてキャッシングされるように様々な動作を実行するステップを含む。
【選択図】図5
Description
本明細書において記述されている実装形態は、コンテンツセントリックネットワーク内におけるコンテンツの配置に関する。
そうではない旨が本明細書において示されていない限り、本明細書において記述されている内容は、本出願における請求項の従来技術ではなく、且つ、本節における包含は、従来技術であることを是認するものではない。
現在のインターネットの構造は、ホスト指向型であると共に、1対1のパラダイムに基づいて構成されているが、ビデオ、音楽、写真、文書などの視聴及び共有などの現在のインターネットの使用法の多くは、ホストを中心とした側面とは異なるデータ又はコンテンツを中心とした側面を有する場合がある。インターネットプロトコル(Internet Protocol:IP)アドレスの代わりに、命名されたデータに基づいてエンドポイントが通信するコンテンツセントリックネットワーク(Content Centric Network:CCN)は、ホスト指向型のインターネットアーキテクチャの代替肢として発展したものである。
本明細書において特許請求されている主題は、なんらかの欠点を解決するか又は上述のものなどの環境においてのみ動作する実装形態に限定されるものではない。むしろ、この背景説明は、本明細書において記述されているいくつかの実装形態を実施しうる1つの例示用の技術分野を示すべく提供されるものに過ぎない。
一実装形態の一態様によれば、コンテンツセントリックネットワーク内におけるノードのネットワークの供給経路に沿ったコンテンツ配置の方法は、下流ノードから第1及び第2関心パケットを受け取るステップを含む。又、方法は、第1及び第2データパケットについてルーターのコンテンツキャッシュをチェックするステップをも含む。又、方法は、第1及び第2データパケットがコンテンツキャッシュに存在していないことに応答して、第1及び第2関心パケット(interest packet:インタレストパケット)についてルーターのペンディング関心テーブルをチェックするステップをも含む。又、方法は、第1及び第2関心パケットがルーターのペンディング関心テーブル(pending interest table:ペンディングインタレストテーブル)に存在しておらず、且つ、下流ノードから受け取った第1関心パケットのキャッシュフラグがオフ状態であることに応答して、第1及び第2関心パケットをペンディング関心テーブル内において記録するステップと、ペンディング関心テーブル内の第1関心パケットのキャッシュフラグを設定するステップと、第1関心パケットによって識別される第1データパケットがルーターのコンテンツキャッシュ内においてキャッシングされることになることを通知するように第1関心パケット内のキャッシュフラグが設定された状態で、第1及び第2関心パケットを上流ノードに転送するステップと、第1及び第2データパケットを上流ノードから受け取るステップと、第1データパケットをルーターのコンテンツキャッシュ内においてキャッシングするステップと、をも含む。又、方法は、カウント値に基づいて、コンテンツキャッシュ内において保存されるべきコンテンツのデータパケットの数を判定するステップをも含む。
実装形態の目的及び利点は、少なくとも、請求項において具体的に指摘されている要素、特徴、及び組合せにより、実現及び達成されることになる。
上述の一般的な説明及び以下の詳細な説明は、いずれも、例示及び説明を目的としており、且つ、特許請求されている本発明を限定するためのものではないことを理解されたい。
添付図面を使用することにより、更なる具体性及び詳細を伴って、例示用の実装形態について記述及び説明することとする。
近年においては、インターネット上においてビデオ及びオーディオをストリーミングする需要が増大し続けている。ビデオ、オーディオのストリーミング、ビデオオンデマンド、及びこれらに類似したサービスは、ユーザーに対する大量データの供給を必要としており、この結果、輻輳とユーザー遅延の増大をもたらす場合がある。従って、本明細書において記述されているいくつかの実装形態は、データを迅速にユーザーに供給すると共にネットワークトラフィックを低減する能力を有するCCNアーキテクチャ及びこれをサポートする通信プロトコルに関する。
CCNにおいては、コンテンツファイルは、一般に、本明細書においてデータパケットと呼称される、いくつかの塊又は断片から構成されてもよい。コンテンツファイルのいくつかのデータパケットが、コンテンツファイルのその他のデータパケットよりも頻繁に要求される場合がある。例えば、ビデオの開始点に対応したデータパケットは、ビデオの中間点及び/又は終了点に対応したデータパケットよりも頻繁に要求されることになる。コンテンツの第1データパケットがユーザーに近いノードにおいて優先的にキャッシング又は保存されるCCN方式によれば、性能が改善されることになり、且つ、コンテンツファイルの人気が増大するのに伴って、ユーザーに近いノードにおいてキャッシングされるコンテンツのデータパケットの数が増大する。又、このような方式は、コンテンツファイルの人気が乏しい場合には、CCNの全体における冗長レプリカのキャッシングを低減することにもなる。
本明細書において記述されているいくつかの実装形態は、コンテンツに対する要求が増大するのに伴って、ユーザーに近いノードにおいてコンテンツの第1データパケットを優先的に保存すると共にユーザーに近いノードにおいて保存されるコンテンツの断片の数を増大させる(例えば、CCN内の)ノードのネットワークの供給経路に沿ったコンテンツ配置に関する。
添付図面を参照し、本発明の実装形態について説明することとする。
図1は、本明細書において記述されている少なくとも1つの実装形態に従って構成された例示用のCCN100の概略図である。CCN100は、「関心パケット」と呼称されてもよいメッセージをルーティングすると共にデータパケットを供給するように構成されたノードのネットワークを含んでもよい。「関心パケット」という用語は、コンテンツの断片又は塊に対する要求を意味してもよい。「データパケット」という用語は、コンテンツの断片又は塊を意味してもよい。それぞれの関心パケットは、コンテンツソースノード103においてホスティングされるコンテンツ105を集合的に形成する複数のデータパケットのうちの1つに対応していてもよい。図1には、単一のコンテンツ105が示されているが、更に一般的には、CCN100は、複数の異なるコンテンツ105を含んでもよく、これらのコンテンツ105のそれぞれは、対応した関心パケットによって要求されうる複数のデータパケットを含んでもよい。
様々な実装形態においては、CCN100は、インターネット又はその一部分を含んでもよく、或いは、これらによって含まれてもよい。本開示の利益と共に、図1に示されているCCN100は、いくつかの観点において、単純化を構成してもよいことを理解されたい。例えば、CCN100は、クライアント、サーバー、ルーター、スイッチ、及び/又はその他のネットワーク装置などの多数の更なるネットワークノードを含んでもよい。図1に示されているように、CCN100は、2つのユーザーノード102a、102b(一般的に、「1つのユーザーノード102」又は「複数のユーザーノード102」)、1つのコンテンツソースノード103、及び9つの中間ノード104を含むいくつかのネットワークノードを含んでもよい。その他の実装形態においては、CCN100は、図1に示されているものとは異なる数のユーザーノード102、コンテンツソースノード103、及び/又は中間ノード104を含んでもよい。
図示のように、中間ノード104は、関心パケット及びデータパケットがユーザーノード102とコンテンツソースノード103の間において交換されうるように、ユーザーノード102とコンテンツソースノード103を相互接続してもよい。ユーザーノード102は、中間ノード104の下流であると見なされてもよく、中間ノード104は、コンテンツソースノード103の下流であると見なされてもよい。
それぞれの中間ノード104は、ルーターを含んでもよい。「ルーター」という用語は、関心パケットを受け取ると共に転送する且つ/又はデータパケットを受け取ると共に転送する能力を有する任意のネットワーク装置を意味してもよい。
コンテンツソースノード103は、サーバーを含んでもよい。「サーバー」という用語は、関心パケットを受け取ると共にデータパケットをサービスする能力を有する任意の装置を意味してもよい。コンテンツソースノード103は、コンテンツ105をホスティングしてもよく、或いは、更に一般的には、1つ又は複数の異なるコンテンツ105をホスティングしてもよく、それぞれのコンテンツ105は、少なくとも1つのコンテンツ名称によって識別される。
ユーザーノード102のそれぞれは、例えば、関心パケットを送信すると共にデータパケットを受け取ることにより、ネットワークを介してコンテンツを要求及び受信する能力を有する任意の装置であってもよい。ユーザーノード102のそれぞれは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話機、スマートフォン、パーソナルデジタルアシスタント(Personal Digital Assistant:PDA)、ウェアラブル装置、又はその他のクライアント装置などのクライアント装置を含んでもよい。
ユーザーノード102は、対応した関心パケットを送信することにより、コンテンツ105のうちの任意のコンテンツの供給を要求してもよく、この対応した関心パケットは、次いで、中間ノード104のうちの1つ又は複数により、適切なソースノード103までルーティングされてもよい。図1においては、ユーザーノード102からコンテンツソースノード103までの関心パケットのルーティングは、一般に、106によって表記されている。関心パケットのルーティングは、要求されているコンテンツの名称に基づいて実行されてもよく、この名称は、関心パケット内において見い出されてもよい。コンテンツソースノード103は、関心パケットを使用することにより、適切なコンテンツを見出してもよく、且つ、対応したデータパケットを供給経路107に沿って配置された中間ノード104を介してユーザーノードに返送してもよい。更には、図1のCCN100内に示されているように、コンテンツ105の少なくとも一部を構成するデータパケット108は、ユーザーノード102に対する相対的に高速且つ効率的な供給を提供すると共にユーザー経験を改善するべく、インネットワーク状態(in−network)で、供給経路に沿った中間ノード104のいくつか又はすべてにおいて配置されてもよい。
これらの及びその他の実装形態においては、データパケット108は、対応するコンテンツ105の人気の増大に伴って、CCN100の全体にわたって、ユーザーノード102に相対的に近い場所において拡散されてもよい。例えば、2つの異なるコンテンツ105の場合に、相対的に人気のあるコンテンツ105は、相対的に人気のないコンテンツ105よりもユーザーノード102に相対的に近接した中間ノード104においてキャッシングされるコンテンツ105のうちのより多くのコンテンツに対応したより多くのデータパケット108を有してもよい。上述の内容を実装するべく、中間ノード104のそれぞれは、関心パケットの記録を含むルーティング、供給、及び保存タスクを実行するために、ペンディング関心テーブル(PIT)、転送情報ベース(Forwarding Information Base:FIB)、及びコンテンツキャッシュ(Content cache:CC)を含んでもよい。PIT、FIB、及びCCについては、図2Aとの関係において更に詳細に説明する。
図2Aは、本明細書において記述されている少なくとも1つの実装形態に従って構成された代表的なCCNルーター200のアーキテクチャの概略図である。図1のそれぞれのユーザーノード102及び中間ノード104は、CCNルーター200を含んでもよい。ルーター200は、CCN内におけるコンテンツデータの転送を適切に処理するべく、複数のポート又はインターフェイス201a〜201c(例えば、フェイス0、フェイス1、フェイス2...)と、複数の転送テーブル又はデータ構造203〜205(集合的に、「データ構造203〜205」)と、を含んでもよい。
インターフェイス201a〜201c(以下、一般的に、「1つのインターフェイス201」又は「複数のインターフェイス201」)は、固定された(有線の)リンク、無線リンク、ネットワーク、インターネット、及び/又はその他のコンポーネント又はシステムを介して、1つ又は複数のユーザーノード(図示されてはいない)、中間ノード、コンテンツソースノード、及び/又は1つ又は複数のサービス又はアプリケーションに対して結合されてもよい。例えば、第1インターフェイス201a(フェイス0)は、下流の中間ノード又はユーザーノード206(以下、「下流ノード206」)に結合されてもよい。第2インターフェイス201b(フェイス1)は、上流の中間ノード又はコンテンツソースノード207(以下、「上流ノード207」)に結合されてもよい。第3インターフェイス201cは、1つ又は複数のサービス又はアプリケーション202に結合されてもよい。
ルーター200は、CC203、PIT204、及びFIB205を含むデータ構造203〜205を含んでもよい。CC203は、関心パケットを対応するデータパケットと関連付けてもよい。例えば、CC203は、それぞれの受け取った関心パケットを示す「名称」列と、対応するデータパケットを通知する「データ」列と、を含んでもよく、これらのパケットは、ルーター200において受け取られると共にキャッシングされたものであってもよい。PIT204は、それぞれの関心パケットを1つ又は複数の受け取りインターフェイス201と関連付けることにより、(対応する要求されたデータパケットが受け取られる時点まで)サービスされるか又はペンディング状態にあるそれぞれの受け取った関心パケットを記録及び追跡してもよい。例えば、PIT204は、それぞれの関心パケットを通知する「プレフィックス」列と、関心パケット用の1つ又は複数の受け取りインターフェイス201を通知する「1つ又は複数の要求フェイス」列と、を含んでもよい。FIB205は、それぞれの関心パケットを、関心パケットがその上部において転送されうる対応したインターフェイス201と関連付けてもよい。例えば、FIB205は、それぞれの関連パケットを通知する「プレフィックス」列と、対応する転送インターフェイス201を通知する「1つ又は複数のフェイス」列と、を含んでもよい。
関心パケットは、第1インターフェイス201a(フェイス0)においてユーザーノード又は中間ノード(図示されてはいない)から受け取られてもよい。関心パケットは、要求されたコンテンツ又はデータパケットを通知する名称プレフィックスを含んでもよく、且つ、CC203に転送されてもよく、或いは、CC203において処理されてもよい。対応するデータパケットが到来すると共にCCNルーター200においてキャッシングされた際に、受け取った関心パケットについて、通知された名称プレフィックスを使用することにより、入力がCC203において実施されてもよい。名称プレフィックスは、「名称」列におけるCC203の新しい又は空の行内において入力されてもよい。
データパケットがCC203に存在していない場合には、関心パケットは、PIT204に転送されてもよく、或いは、PIT204において処理されてもよい。受け取った関心パケットについて、通知された名称プレフィックスを使用することにより、入力がPIT204において実施されてもよい。同一の入力において、第1インターフェイス201a(フェイス0)が通知されてもよい。名称プレフィックスは、「プレフィックス」列におけるPIT204の新しい又は空の行内において入力されてもよく、且つ、フェイス0は、「要求フェイス」列における同一の行内において通知されてもよい。
次いで、関心パケットは、FIB205に転送されてもよく、或いは、FIB205において処理されてもよい。受け取った関心パケットについて、通知された名称プレフィックスを使用することにより、入力がFIB205において実施されてもよい。又、同一の入力において、第1インターフェイス201a(フェイス0)が通知されてもよい。次いで、関心パケットは、インターフェイス201b(フェイス1)上において、例えば、上流ノード207に転送されてもよい。
要求されているデータパケットが、第2インターフェイス201b(フェイス1)を介して、例えば、上流ノード207から受け取られた際に、受け取ったデータパケット内において通知された名称プレフィックスは、PIT204内の対応する入力とマッチングしてもよい。相応して、データパケットは、マッチングされた入力の「要求フェイス」列内において通知された1つ又は複数の第1インターフェイス201a(フェイス0)上において転送されてもよい。データパケットは、後述するように、キャッシング基準又は方式に従って保存されてもよく、或いは、保存されなくてもよい。
いくつかの実装形態においては、CCNルーター200との間において且つ/又は図1のCCN100内において伝達される関心パケットは、それぞれ、キャッシュフラグを含んでもよい。関心パケットのキャッシュフラグが、設定されている、即ち、オン状態にある際には、これを使用し、下流ノードが関心パケットによって識別される対応したデータパケットをキャッシングしようとしていると上流ノードに対して通知してもよい。関心パケットのキャッシュフラグが、設定されていない、即ち、オフ状態にある際には、これを使用し、下流ノードが関心パケットによって識別される対応したデータパケットをキャッシングしようとしていないと上流ノードに対して通知してもよい。
CCNルーター200が、下流ノードによってキャッシングされていないと共にCCNルーター200においてもキャッシングされていないデータパケットの関心パケットを受け取った際には、CCNルーター200は、CCNルーター200がそのCC203内の対応するデータパケットをキャッシングしようとしていると上流ノードに通知するべく、関心パケットを上流に転送する前に、関心パケットのキャッシュフラグを設定してもよい。
或いは、この代わりに、又はこれに加えて、CC203は、CC203内においてキャッシングされているデータパケットの、且つ/又は、複数のコンテンツのうちのそれぞれのコンテンツの第1データパケットの、入力のそれぞれにおいてカウントフィールドを含んでもよい。カウントフィールド内には、カウント値が保存されてもよい。特定のデータパケットが要求されるたびに、CC203内において、そのカウント値が増分されてもよい。データパケットのカウント値の増大は、そのデータパケット及びそのデータパケットが属するコンテンツの人気がユーザーの間において増大していることを通知してもよい。相応して、CCNルーター200は、コンテンツの相対的に多くのものがユーザーに相対的に近い状態においてキャッシングされることによってネットワークの輻輳及び遅延が低減されるように、同一のコンテンツに属する更なるデータパケットのキャッシングを開始してもよい。これらの及びその他の側面については、更に詳細に後述する。
図2Bは、本明細書において記述されている少なくとも1つの実装形態に従って構成された例示用のCCNシステム(以下、「システム210」)を示すブロックダイアグラムである。システム210は、本明細書において記述されている少なくとも1つの実装形態に従って、ノードのネットワークの供給経路に沿ったコンテンツ配置のために構成されてもよく、且つ、演算装置又はシステムとして実装されてもよい。システム210は、図2AのCCNルーターを含んでもよい。或いは、この代わりに、又はこれに加えて、システム210は、図1の中間ノード104及び/又はユーザーノード102を含んでもよく、或いは、これらに対応していてもよい。例えば、中間ノード104及び/又はユーザーノード102の1つ又は複数は、システム210として実装されてもよい。システム210は、ルーター又はルーティング装置或いは本明細書において記述されているルーティングの能力を有するその他の装置として実装されてもよい。
システム210は、いくつかの例によれば、キャッシュマネージャアプリケーション212と、プロセッサ装置213と、第1インターフェイス201aと、第2インターフェイス201bと、ストレージ216と、メモリ217と、を含んでもよい。システム210のコンポーネントは、バス211によって通信自在に結合されてもよい。バス211は、限定を伴うことなしに、メモリバス、ストレージインターフェイスバス、バス/インターフェイスコントローラ、インターフェイスバス、又はこれらに類似したもの、或いは、これらの任意の組合せを含んでもよい。
プロセッサ装置213は、本明細書において記述されている動作を実行するか又は動作の実行を制御するべく、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、又はなんらかのその他のプロセッサアレイを含む。プロセッサ装置213は、データ信号を処理し、且つ、CISC(Complex Instruction Set Computer)アーキテクチャ、RISC(Reduced Instruction Set Computer)アーキテクチャ、又は命令セットの組合せを実装するアーキテクチャを含む様々な演算アーキテクチャを含んでもよい。図2Bは、単一のプロセッサ装置213を含んでいるが、複数のプロセッサ装置が含まれてもよい。その他のプロセッサ、オペレーティングシステム、及び物理的構成が可能であろう。
メモリ217は、プロセッサ装置213上において/プロセッサ装置213によって実行されてもよいと共に/又は稼働してもよい命令及び/又はデータを保存する。命令又はデータは、本明細書において記述されている動作を実行するか又はその実行を制御するべく、プロセッサ装置213によって実行されうるプログラミングコードを含んでもよく、且つ/又は、図2AのCC203、PIT204、及び/又はFIB205を含んでもよい。メモリ217は、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory:DRAM)装置、スタティックランダムアクセスメモリ(Static Random Access Memory:SRAM)装置、フラッシュメモリ、又はなんらかのその他のメモリ装置を含んでもよい。又、いくつかの実装形態においては、メモリ217は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ、又は相対的に永久的な方式で情報を保存するなんらかのその他のマスストレージを含む不揮発性メモリ又は類似の永久的ストレージ及び媒体をも含む。
第1インターフェイス201aは、図2Aとの関係において説明したように、少なくとも1つのユーザーノード及び/又は中間ノードから関心パケットを受け取ると共にこれに対してデータパケットを送信するように構成されている。例えば、第1インターフェイス201aは、図1のユーザーノード102及び中間ノード104並びに/或いは図2Aの下流ノード206から関心パケットを受け取ると共にこれらに対してデータパケットを送信するように構成されてもよい。第1インターフェイス201aについては、図2Aとの関係において更に詳細に説明する。
第2インターフェイス201bは、図2Aとの関係において説明したように、少なくとも1つの中間ノード及び/又はコンテンツソースノードに関心パケットを転送すると共にこれらからデータパケットを受け取るように構成されてもよい。例えば、第2インターフェイス201bは、関心パケットを図1の中間ノード104及びソースノード103並びに/或いは図2Aの上流ノード207に送信すると共にこれらからデータパケットを受け取るように構成されてもよい。第2インターフェイス201bについては、図2Aとの関係において更に詳細に説明する。
いくつかの実装形態においては、第1及び第2インターフェイス201a、201bは、図1のCCN100内のその他のノードに対する又は別の通信チャネルに対する直接的な物理接続のためのポートを含む。例えば、第1及び第2インターフェイス201a、201bは、ユニバーサルシリアルバス(Universal Serial Bus:USB)ポート、セキュアデジタル(Secure Digital:SD)ポート、カテゴリ5ケーブル(CAT−5)ポート、又は図1のノード102〜104のうちの少なくとも1つとの間の有線通信用の類似のポートを含んでもよい。いくつかの実装形態においては、第1及び第2インターフェイス201a、201bは、図1の102〜104のうちの少なくとも1つとの間においてデータを交換するための無線トランシーバ、或いは、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)、又は別の適切な無線通信方法を含む1つ又は複数の無線通信方法を使用したその他の通信チャネルを含む。
いくつかの実装形態においては、第1及び第2インターフェイス201a、201bは、ショートメッセージングサービス(Short Messaging Service:SMS)、マルチメディアメッセージングサービス(Multimedia Messaging Service:MMS)、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)、直接的データ接続、無線アプリケーションプロトコル(Wireless Application Protocol:WAP)、電子メール、又は別の適切なタイプの電子的通信を介したものを含むセルラー通信ネットワーク上においてデータを送信及び受信するためのセルラー通信トランシーバを含む。いくつかの実装形態においては、第1及び第2インターフェイス201a、201bは、有線ポートと、無線トランシーバと、を含んでもよい。又、第1及び第2インターフェイス201a、201bは、TCP/IP(Transmission Control Protocol/Internet Protocol)、HTTP、HTTPセキュア(HTTPS)、及びSMTP(Simple Mail Transfer Protocol)などを含む標準的なネットワークプロトコルを使用したファイル又はメディアオブジェクトの配布のために、図1のCCN100に対するその他の接続を提供してもよい。
ストレージ216は、本明細書において記述されている機能を提供する命令及び/又はデータを保存する一時的ではないストレージ媒体を含んでもよい。ストレージ216は、ダイナミックランダムアクセスメモリ(DARM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、又はなんらかのその他のメモリ装置を含んでもよい。又、いくつかの実装形態においては、ストレージ216は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置、又は相対的に永久的な方式で情報を保存するなんらかのその他のマスストレージを含む不揮発性メモリ又は類似の永久的なストレージ及び媒体をも含む。又、ストレージ216は、一時的に保存される又はメモリ217内に読み込まれる命令及び/又はデータを保存してもよい。
図2Bに示されているように、キャッシュマネージャアプリケーション212は、本明細書において集合的に「モジュール」と呼ばれるコンテンツキャッシュモジュール206(以下、「CCモジュール206」)、ペンディング関心テーブルモジュール207(以下、「PITモジュール207」)、転送情報ベースモジュール208(以下、「FIBモジュール208」)、及び通信モジュール209のうちの少なくとも1つを含んでもよい。モジュール206〜209を含むキャッシュマネージャアプリケーション212は、一般に、本明細書において記述されている機能及び動作を実行するか又はその実行を制御するべく、プロセッサ装置213によって実行可能であるプログラミングコード及び/又はコンピュータ可読命令を含むソフトウェアを含んでもよい。モジュール206〜209のうちの1つ又は複数を含むキャッシュマネージャアプリケーション212は、システム210のコンポーネントのうちの1つ又は複数からデータを受け取ってもよく、且つ/又は、データをストレージ216及びメモリ217のうちの1つ又は両方の内部に保存してもよい。
CCモジュール206は、一般に、本明細書において更に詳細に説明するように、関心パケットを、図1の中間ノード104などの中間ノードにおいて保存されうる対応したデータパケットと関連付けるように、構成されてもよい。
PITモジュール207は、本明細書において更に詳細に説明するように、それぞれの関心パケットを1つ又は複数の受け取りインターフェイスと関連付けることにより、(対応する要求されたデータパケットが受け取られる時点まで)サービスされるか又はペンディング状態にあるそれぞれの受け取った関心パケットを記録及び追跡するように構成されてもよい。これらの及びその他の実装形態においては、PITモジュール207は、PIT204からデータを読み取ってもよく、且つ/又は、これに対してデータを書き込んでもよい。
FIBモジュール208は、本明細書において更に詳細に説明するように、関心パケットを、関心パケットがその上において受信及び転送される1つ又は複数の対応するインターフェイス201と関連付けるように、構成されてもよい。FIBモジュール208は、FIB205からデータを読み取ってもよく、且つ/又は、データをFIB205に対して書き込んでもよい。
通信モジュール209は、モジュール206〜208とシステム210のその他のコンポーネントの間の通信を処理するルーチンを含むソフトウェアとして実装されてもよい。通信モジュール209は、キャッシュマネージャアプリケーションが実装されている場所に応じて、ノード102〜104のうちの1つ又は複数との間において、インターフェイス201を介して、データを送信及び受信する。いくつかの実装形態においては、通信モジュール209は、モジュール206〜208のうちの1つ又は複数からデータを受け取り、且つ、データをストレージ216及びメモリ217のうちの1つ又は複数の内部において保存する。いくつかの実装形態においては、通信モジュール209は、ストレージ216又はメモリ217からデータを取得し、且つ、データをモジュール206〜208のうちの1つ又は複数に対して送信する。
例示用の一実装形態においては、通信モジュール209は、下流ノードから複数の関心パケットを受け取ってもよい。関心パケットは、コンテンツのデータパケットのうちのいくつか又はすべてを識別してもよい。以下の説明におけるわかりやすさを目的として、2つを上回る数の関心パケットが受け取られてもよいという点を理解した上で、第1及び第2関心パケットについて説明する。第1及び第2関心パケットは、それぞれ、コンテンツを集合的に形成する複数のデータパケットのうちの第1及び第2データパケットを識別してもよい。第1データパケットは、第2データパケット内に含まれるコンテンツの部分に先行してコンテンツ内において発生するコンテンツの部分を含んでもよい。例えば、コンテンツがビデオ又はオーディオファイルを含む場合には、第1データパケットは、コンテンツの開始点において、又は第2データパケット内に含まれているコンテンツの部分よりもコンテンツの開始点に近接した状態で、発生するコンテンツの部分を含んでもよい。
この及びその他の実装形態においては、CCモジュール206は、第1及び第2データパケットについてCC203をチェックしてもよく、且つ、第1及び第2データパケットがCC203に存在していないことに応答して、PITモジュール207は、第1及び第2関心パケットについてPIT204をチェックする。
第1及び第2関心パケットがPIT204に存在しておらず、且つ、下流ノードから受け取った第1関心パケットのキャッシュフラグがオフ状態であることに応答して、PITモジュール207は、第1及び第2関心パケットをPIT204内において記録し、PITモジュール207は、PIT204内の第1関心パケットのキャッシュフラグを設定し、且つ、FIBモジュール208は、第1関心パケットによって識別される第1データパケットがCC203内においてキャッシングされることになることを通知するように第1関心パケット内のキャッシュフラグが設定された状態で、第1及び第2関心パケットを上流ノードに転送し、通信モジュール209は、上流ノードから第1及び第2データパケットを受け取り、且つ、CCモジュール206は、第1データパケットをCC203内においてキャッシングする。第1及び第2データパケットが属しているコンテンツがあまり人気がない場合には(例えば、第1及び第2データパケットが一回しか要求されていない場合には)、CCモジュール206は、第2データパケットをキャッシングすることなしに、第1データパケットのみをキャッシングしてもよい。
或いは、この代わりに、且つ、第1データパケットがCC203内に存在していることに応答して、通信モジュール209は、第1データパケットを下流ノードに供給し、且つ、CCモジュール206は、CC203内の第1データパケットのカウント値を増分する。CCモジュール206は、第1データパケットのカウント値に基づいて、CC203内に保存されるべきコンテンツの更なるデータパケットの数を判定してもよい。いくつかの実装形態においては、判定される更なるデータパケットの数とは無関係に、保存されるべき更なるデータパケットは、CC203内に既に保存されてい後続のデータパケットに続いて又はこれに直接的に続いてコンテンツ内において発生するデータパケットを含んでもよい。例えば、第1データパケットの後に、第1データパケットに直接的に続いてコンテンツ内において発生する第2データパケットが、CC203内において保存されてもよく、これには、第2データパケットに直接的に続いてコンテンツ内において発生する第3データパケットが後続し、これには、第3データパケットに直接的に続いてコンテンツ内において発生する第4データパケットが後続し、以下同様である。
コンテンツの判定された数のデータパケットは、CC203内において保存される。CC内に未だ保存されていない判定された数のデータパケットのそれぞれごとに、これは、PITモジュール207がPIT204内の対応したデータパケットを識別する関心パケットのうちの対応した関心パケットを記録するステップと、PITモジュール207がPIT204内の関心パケットのうちの対応した関心パケットのキャッシュフラグを設定するステップと、FIBモジュール208が、関心パケットのうちの対応した関心パケットによって識別された対応するデータパケットがCC203内においてキャッシングされることになることを通知するように関心パケットのうちの対応した関心パケット内のキャッシュフラグが設定された状態で、関心パケットのうちの対応した関心パケットを上流ノードに転送するステップと、CCモジュー206が、対応したデータパケットをCC203内においてキャシングするステップと、を含んでもよい。
第1及び第2関心パケットがPIT204に存在しておらず、且つ、下流ノードから受け取った第1関心パケットのキャッシュフラグが下流からの第1関心パケットの受け取りの時点において設定されていることに応答して、PITモジュール207は、PIT204内の第1関心パケットのキャッシュフラグを設定することなしに、第1関心パケットをPIT204内において記録し、且つ、通信モジュール209は、関心パケットを上流ノードに転送する。
カウント値に基づいたCC203内に保存されるべき更なるデータパケットの数は、任意の適切な方式又はプロセスに従って判定されてもよい。例示用の実装形態においては、更なるデータパケットの数は、2カウント値として判定されてもよい。従って、第1データパケットが、既にCC203に存在しており、且つ、(例えば、第1関心パケットの一回の受信によって)1回だけ要求されている場合には、CC203内の第1データパケットのカウント値は、ゼロであってもよい。第1関心パケットが順番に受け取られるたびに、カウント値は、増分されてもよい。例えば、第1関心パケットの最初の後続の受け取りに応答して、カウント値は、1に増分されてもよく、且つ、21=2であることから、コンテンツの2つの更なるデータパケット(例えば、第2及び第3データパケット)がCC203内においてキャッシングされてもよい。別の例として、第1関心パケットの第2の後続の受け取りに応答して、カウント値は、2に増分されてもよく、且つ、22=4であることから、コンテンツの合計で4つの更なるデータパケットが、CC203内においてキャッシングされてもよく、第2及び第3データパケットが既にCC203内においてキャッシングされている場合には、この時点において、コンテンツの第4及び第5データパケットのみの追加が必要となろう。コンテンツの増大する人気を示すカウント値の増大に伴って、コンテンツの更なるデータパケットがCC203内においてキャッシングされることになる。
図3は、本明細書において記述されている少なくとも1つの実装形態に従って構成された例示用のCCNルーター内におけるキャッシング方式を示す概略図である。CCNルーターは、図2AのCCNルーター及び/又は図2Bのシステム200を含んでもよく、或いは、これらに含まれてもよい。図3のCCNルーターは、例えば、CCNルーター200に類似するように実装されてもよい。
下流のユーザーノードが、コンテンツソースノードによってホスティングされているコンテンツのストリーミングを求める際に、ユーザーノードは、コンテンツを集合的に形成するデータパケットのいくつか又はすべてに対応した関心パケットを送信してもよい。下流のユーザーノード及びコンテンツソースノードは、それぞれ、図1のユーザーノード102及びコンテンツソースノード103に対応してもよい。わかりやすさを目的として、図3の例示用のCCNルーターは、それぞれ、第1、第2、及び第3データパケットを識別する3つの関心パケットc1、c2、及びc3を受け取るものと仮定されており、ここで、第1、第2、及び第3データパケットは、集合的に、コンテンツcを形成している。関心パケットc1は、第1データパケットに対する要求に対応している。関心パケットc1、c2、及びc3に関する第1要求を受け取った際に、ルーターは、対応するデータパケットについて、そのCCをチェックしてもよい。データパケットがCCに存在していないことに応答し、ルーターは、関心パケットc1、c2、及びc3について、そのPITをチェックしてもよい。関心パケットがPITに存在しておらず、且つ、関心パケットc1、c2、及びc3のキャッシュフラグがオフ状態にあることに応答して、ルーターは、関心パケットc1、c2、及びc3をPIT内においてを記録し、PIT内の関心パケットc2及びc3のキャッシュフラグを設定することなしに、PIT内の関心パケットc1のキャッシュフラグを設定し、且つ、関心パケットc1が供給の後に図3のCCNルーターのCC内においてキャシングされることになると上流ノードに通知するように関心パケットc1内のキャッシュフラグ301が設定された状態で、関心パケットc1、c2、及びc3を上流ノードに転送する。上述の内容の観点におけるPITの状態が、概略的に、307において示されている。関心パケットc2及びc3(図示されてはいない)内のキャッシュフラグ302は設定されない。関心パケットc1に対応したデータパケットが上流ノードから受け取られた際に、そのデータパケットは、図3のCCNルーターのCC内においてキャッシングされ、且つ、関心パケットc1が受け取られた下流ノードに転送される。
図3のCCNルーターが、コンテンツcについて、下流ノードから、例えば、関心パケットc1、c2、及びc3を含む第2要求を受け取った際に、図3のCCNルーターにおいて保存されている関心パケットc1によって識別される第1データパケットが下流ノードに供給され、且つ、CC303に示されているように、関心パケットc1に対応した第1データパケットのカウント値が増分される。コンテンツの2n個の更なるデータパケットが図3のCCNルーターにおいてキャッシングされることになるように、指数関数(又は、その他の適切な関数)が実装されてもよく、ここで、nは、カウント値である。例えば、カウント値が1であり、且つ、第2要求の時点であるか又はその前後である際には、関心パケットc2及びc3は、PIT内において記録されてもよく、関心パケットc2及びc3のキャッシュフラグは、PIT内において設定されてもよく、且つ、関心パケットc2 306及び関心パケットc3 308は、対応するデータパケットがルーターにおいてキャッシングされることになることを上流ノードに通知するようにキャッシュフラグが設定された状態で、上流ノードに転送されてもよい。上述の内容の観点におけるPITの状態が、概略的に、300において示されている。
図4A〜図4Dは、本明細書において記述されている少なくとも一実装形態に従って構成されたCCN内のノードのネットワーク内におけるキャッシング方式を示す概略図である。以下、図4A〜図4Dについて説明することとする。図4A〜図4Dにおいて、下流及び上流方向は、矢印によってラベルが付与されており、ここで、下流は、コンテンツソースノードからユーザーノードへの方向に対応し、且つ、上流は、これとは反対のユーザーノードからコンテンツソースノードへの方向に対応している。
図4Aにおいて、ユーザーノード400における第1ユーザーは、CCNルーターを含む第1中間ノード401aを介して、通信自在にCCN(例えば、インターネット)に対して結合されている。ユーザーノード400は、コンテンツcを集合的に形成するデータパケットに対応した関心パケットc1、c2、及びc3を第1中間ノード401aに対して送信することにより、コンテンツcを要求してもよい。わかりやすさを目的として、コンテンツcは、関心パケットc1、c2、及びc3に対応した3つの断片又はデータパケットから構成されるものと仮定されている。第1中間ノード401aは、ユーザーノード400から関心パケットc1、c2、及びc3のそれぞれを受け取ってもよい。c1、c2、及びc3に対応したデータパケットについて、第1中間ノード401aのCCをチェックし、且つ、これらのデータパケットが存在していないことを見出した後に、第1中間ノード401aは、関心パケットc1、c2、及びc3について、第1中間ノード401aのPITをチェックしてもよい。関心パケットがPITに存在しておらず、且つ、第1関心パケットc1のキャッシュフラグがオフ状態にあることに応答して、第1中間ノード401aは、関心パケットc1、c2、及びc3をPIT内において記録してもよく、PIT内の第1関心パケットc1のキャッシュフラグを設定してもよく、且つ、関心パケットc1、c2、及びc3を、転送経路404を介して、コンテンツソースノード402に向かって、上流の第2中間ノード401bに転送してもよい。次いで、コンテンツcのデータパケットをそのCC内において現在有していない第2中間ノード401bは、関心パケットc1、c2、及びc3をコンテンツソースノード402に転送してもよく、コンテンツソースノード402は、サーバーを含んでもよい。コンテンツソースノード402は、関心パケットc1に対応した第1データパケット403a、関心パケットc2に対応したデータパケット403b、及び関心パケットc3に対応した第3データパケット403cをホスティングしていてもよい。データパケット403a〜403cは、本明細書においては、データパケッ403と集合的に呼称される。
次いで、図4Bにおいて、コンテンツソースノード402は、逆の経路405を介して、データパケット403をユーザーノード400に対して返送してもよい。データパケット403は、キャッシュフラグが任意の対応した関心パケットについて第2中間ノー401bのPIT内において設定されていない場合には、第2中間ノード401bにおいてキャッシングされなくてもよい。但し、第1中間ノード401aは、第1、第2、及び第3データパケット403を受け取ることになり、それらのデータパケットをユーザーノード400に転送することになり、且つ、第1データパケット403aを第1中間ノード401aのCC内においてキャッシングすることになる。図4Bの逆の経路405は、CCNネットワーク内の供給経路の一例である。
図4Cにおいて、第2ユーザーノード406における第2ユーザーが、第1中間ノード401aを介してCCN(例えば、インターネット)に対して通信自在に結合されてもよい。第2ユーザーノード406は、コンテンツcを集合的に形成するデータパケット403に対応しうる関心パケットc1、c2、及びc3を第1中間ノード401aに送信することにより、同一のコンテンツcを要求してもよい。関心パケットc1に対応した第1データパケット403aが第1中間ノード401aのCC内に存在していることに応答して、第1中間ノード401aは、関心パケットc1に対応した第1データパケット403aを第2ユーザーノード406に供給してもよい。又、第1中間ノード401aは、そのCC内の第1データパケット403aのカウント値を増分してもよい。この例においては、第1データパケット403aは、一回だけ供給されており、且つ、カウント値は、限定を伴うことなしに、1の値であってもよい。カウント値に基づいて、第1中間ノード401aは、CC内に保存されるべきコンテンツcの更なるデータパケットの数を判定してもよい。1のカウント値が付与された場合に、第1中間ノード401aは、コンテンツcの2カウント値個の又は2つの更なるデータパケットがCC内において保存されるようにしてもよい。例えば、第2及び第3データパケット403b及び403cなどの第1中間ノード401aのCC内において未だ保存されていない既定数のデータパケットのそれぞれごとに、第1中間ノード401aは、それらがCC内に保存されるようにしてもよく、これには、関心パケットc2及びc3のそれぞれをそのPIT内に記録するステップと、そのPIT内の関心パケットc2及びc3のそれぞれごとにキャッシュフラグを設定するステップと、転送経路407を介して、コンテンツソースノード402に向かって、第2中間ノード401bなどの上流ノードに対して、キャッシュフラグが設定された状態で、関心パケットc2及びc3を転送するステップと、が含まれる。キャッシュフラグが設定された状態で関心パケットc2及びc3を受け取ることに応答して、第2中間ノード401bは、それらの関心パケットをコンテンツソースノード402に転送してもよく、且つ、それらの関心パケットがそのPITに存在していない場合にのみ、関心パケットc2及びc3を記録してもよい。
図4Dにおいて、関心パケットc2及びc3に対応した第2及び第3データパケット403b及び403cは、逆の経路408に沿って、コンテンツソースノード402から第1中間ノード401aに送信されてもよい。第1中間ノード401aは、図4Cとの関係において説明した動作の結果として、第2及び第3データパケット403b及び403cを保存してもよい。図4Dの逆の経路408は、CCNネットワーク内の供給経路の一例である。
図5は、CCN内におけるノードのネットワークの供給経路に沿ったコンテンツ配置の方法500の例示用のフロー図である。方法500は、全体的に又は部分的に、図1の1つ又は複数の中間ノード104、図2AのCCNルーター、図2Bのシステム210、図4A〜図4Dの中間ノード401a及び401bの1つ又は両方、或いは、別の適切なネットワークノード、CCNルーター、及びシステムにより、実装されてもよい。方法500は、ブロック501において始まってもよい。
ブロック501において、CCNルーターなどの第1ノードが、下流ノードから第1及び第2関心パケットを受け取っている。下流ノードは、図1のユーザーノード102のいずれかなどのユーザーノード又は図1の中間ノード104のいずれかなどの中間ノードを含んでもよい。第1及び第2関心パケットは、それぞれ、コンテンツを集合的に形成する複数のデータパケットのうちの第1及び第2データパケットを識別している。簡潔性を目的として、図5のコンテキストにおいては、第1及び第2パケットのみについて説明するが、第1ノードは、下流ノードから2つを上回る数の関心パケットを受け取ってもよい。又、第1ノードは、コンテンツを集合的に形成するデータパケットを識別する最大ですべての関心パケットを受け取ってもよい。ブロック501は、ブロック502によって後続されてもよい。
ブロック502において、第1ノードは、第1及び第2データパケットについて、そのCCをチェックしている。第1ノードは、図2BのCCモジュール206などのCCキャッシュモジュールを使用することにより、第1及び第2データパケットについて、そのCCをチェックしてもよい。第1ノードのCCは、図2A〜図2BのCC203を含んでもよい。ブロック502は、ブロック503によって後続されてもよい。
ブロック503において、第1ノードは、第1及び/又は第2データパケットが第1ノードのCC内に存在しているかどうかを判定してもよい。ブロック503は、第1及び第2データパケットが第1ノードのCCに存在していない場合には(ブロック503の「いいえ」)、ブロック504によって後続されてもよく、或いは、第1データパケット及び/又は第2データパケットが第1ノードのCCに存在している場合には(ブロック503の「はい」)、ブロック510によって後続されてもよい。
ブロック510において、第1データパケットが第1ノードのCCに存在していることに応答し、第1ノードは、第1データパケットを下流ノードに供給することになり、且つ、コンテンツキャッシュ内の第1データパケットのカウント値を増分することになる。この代わりに、又はこれに加えて、第2データパケットが第1ノードのCCに存在していることに応答して、第1ノードは、第2データパケットを下流ノードまで供給することになる。第1及び/又は第2データパケットは、図2Bの通信モジュール209などの第1ノードの通信モジュールにより、供給されてもよく、且つ、カウント値が、図2Bのコンテンツキャッシュモジュール206などの第1ノードのCCモジュールにより、増分されてもよい。
ブロック504において、且つ、第1及び第2データパケットがブロック503においてコンテンツキャッシュに存在していないことに応答して、第1ノードは、第1及び第2関心パケットについて、そのPITをチェックしてもよい。第1ノードは、図2BのPITモジュールなどのPITモジュールを使用することにより、そのPITをチェックしてもよい。第1ノードのPITは、図2A〜図2BのPIT204を含んでもよい。ブロック504は、ブロック505によって後続されてもよい。
ブロック505において、第1ノードは、第1及び第2関心パケットがそのPIT内に存在しているかどうかを判定してもよい。ブロック505は、ブロック506により(ブロック505における「いいえ」)、又は、ブロック509により(ブロック505における「はい」)、後続されてもよい。
ブロック509において、第1及び第2関心パケットが第1ノードのPIT内に存在していることに応答して、第1ノードは、第1及び第2関心パケットのうちのそれぞれの関心パケットの到来フェイスを第1ノードのPITに追加してもよく、且つ、第1及び第2関心パケットによって識別される第1及び第2データパケットを受け取るべく待機してもよい。図5に示されてはいないが、ブロック509に後続し、方法500は、第1及び第2データパケットを受け取るステップと、第1ノードのPIT内の第1及び第2関心パケットについて列挙されたフェイスのそれぞれから第1及び第2データパケットを送信するステップと、を更に含んでもよい。第1ノードは、図2BのPITモジュール207によるなどのように、第1ノードのPITモジュールを使用することにより、第1及び第2関心パケットを第1ノードのPITに追加してもよい。
ブロック506において、第1ノードは、下流ノードから受け取った第1関心パケットのキャッシュフラグがオフ状態であるかどうかを判定してもよい。ブロック506は、ブロック507により(ブロック506における「はい」)、又はブロック508により(ブロック506の「いいえ」)、後続されてもよい。
ブロック507において、第1及び第2関心パケットが第1ノードのPITに存在しておらず、且つ、下流ノードから受け取った第1関心パケットのキャッシュフラグがオフ状態にあることに応答して、第1ノードは、1)第1及び第2関心パケットを第1ノードのPIT内において記録してもよく、2)第1ノードのPIT内の第1関心パケットのキャッシュフラグを設定してもよく、3)第1関心パケットによって識別される第1データパケットが第1ノードのコンテンツキャッシュ内においてキャッシングされることになると通知するように第1関心パケット内のキャッシュフラグが設定された状態で、且つ、第2関心パケット内のキャッシュフラグを設定することなし、第1及び第2関心パケットを上流ノードに転送してもよく、4)上流ノードから第1及び第2データパケットを受け取ってもよく、且つ、5)第1データパケットを第1ノードのCC内においてキャッシングしてもよい。或いは、この代わりに、又はこれに加えて、上流ノードから受け取ったデータパケットは、第1ノードのPIT内において識別された対応するフェイスから、下流に転送されてもよい。上述の内容のそれぞれのものの実行は、第1ノードの1つ又は複数の対応するモジュールによって実現されてもよく、これらのモジュールは、図2Bのモジュール206〜209などのモジュールを含んでもよい。
ブロック508において、第1及び第2関心パケットが第1ノードのPITに存在しておらず、且つ、下流ノードから受け取った第1関心パケットのキャッシュフラグが第1関心パケットの受け取りの時点において既に設定されていることに応答して、第1ノードは、1)第1ノードのPIT内の第1関心パケットのキャッシュフラグを設定することなしに、第1関心パケットを第1ノードのPIT内において記録してもよく、且つ、2)第1関心パケットを上流ノードに転送してもよい。
当業者は、本明細書において開示されているこの及びその他のプロセス及び方法の場合には、プロセス及び方法において実行される機能は、異なる順序で実装されてもよいことを理解するであろう。更には、概説されているステップ及び動作は、例として提供されているものに過ぎず、且つ、ステップ及び動作のいくつかは、開示されている実装形態の本質を逸脱することなしに、任意選択であってもよく、更に少ない数のステップ及び動作に組み合わせられてもよく、或いは、更なるステップ及び動作に拡張されてもよい。
例えば、方法500は、第1ノードがデータパケットのうちの少なくともいくつかのその他のデータパケットの関心パケットを受け取るステップと、カウント値に基づいて、第1ノードのCC内に保存されるべきコンテンツのデータパケットの数を判定するステップと、コンテンツの判定された数のデータパケットが第1ノードのCC内において保存されるようにするステップと、を更に含んでもよい。コンテンツの判定された数のデータパケットが第1ノードのCC内に保存されるようにするステップは、CC内に未だ保存されていない判定された数のデータパケットのそれぞれについて、1)対応するデータパケットを識別する関心パケットのうちの対応した関心パケットを第1ノードのPIT内において記録するステップと、2)第1ノードのPIT内の関心パケットのうちの対応した関心パケットのキャッシュフラグを設定するステップと、3)関心パケットのうちの対応した関心パケットによって識別される対応したデータパケットが第1ノードのCC内においてキャッシングされることになると通知するように関心パケットのうちの対応した関心パケット内のキャッシュフラグが設定された状態で、関心パケットのうちの対応した関心パケットを上流ノードに転送するステップと、4)対応するデータパケットを第1ノードのCC内においてキャッシングするステップと、を含んでもよい。
或いは、この代わりに、又はこれに加えて、方法500は、最も長い間使用されなかった又は最も使用頻度が少なかったコンテンツの相対的に大きなインデックスに基づいて置換ポリシーを実装するステップを含んでもよい。置換ポリシーは、第1ノードのCCがフル(full:いっぱい)であり、且つ、第1ノードが、第1ノードのCC内においてキャッシングされることになると自身が示していたデータパケットを受け取ることに応答して、実装されてもよい。このインデックスは、対応するコンテンツの開始点に対するデータパケットの近接性を通知してもよい。例えば、コンテンツの第1データパケット(例えば、コンテンツの開始点における第1データパケット)は、1のインデックスなどの相対的に小さなインデックスを有してもよい。コンテンツの次のデータパケット、即ち、この例においては、第2データパケットは、2のインデックスなどの相対的に大きなインデックスを有してもよい。コンテンツの次のデータパケット、即ち、この例においては、第3データパケットは、3のインデックスなどの更に大きなインデックスを有してもよい。コンテンツのそれぞれのデータパケットのインデックスは、同一のコンテンツの先行するデータパケットのインデックスよりも大きくてもよい。
これらの及びその他の実装形態においては、方法500は、置換ポリシーを実装してもよく、置換ポリシーは、データパケットのインデックスと、どれだけ最近に対応するコンテンツが要求されたのか又はどれだけ頻繁に対応するコンテンツが要求されたのかのうちの1つ、の両方に従って、第1ノードのCC内に保存されているデータパケットを置換するステップを含んでもよい。コンテンツに対する要求の最新性及び/又は頻度は、それぞれの関心パケット及び/又はデータパケットの第1ノードのCC及び/又はPIT内のタイムスタンプを使用することにより、且つ/又は、第1ノードのCC内に保存された、異なるコンテンツに属する、第1データパケットのうちのそれぞれの第1データパケットのカウント値を使用することにより、追跡されてもよい。
データパケットのインデックスと、どれだけ最近に対応するコンテンツが要求されたか、の両方に従ってデータパケットを置換するステップは、第1データパケットが上流ノードから受け取られた際に第1ノードのCCがフルであることに応答して、(1)関心パケットが、第1ノードのCC内に保存されている少なくとも1つのデータパケットを有するその他のコンテンツよりも以前に受け取られている第1ノードのCC内に保存されている少なくとも1つのデータパケットを有する複数のコンテンツのうちから、最も長い間要求されていないコンテンツを識別するステップと、(2)第1ノードのCC内に保存されている最も長い間要求されていないコンテンツの任意のその他のデータパケットの最大インデックスを有するデータパケットを識別するステップと、(3)第1ノードのコンテンツキャッシュ内の識別されたデータパケットを第1データパケットによって置換するステップと、を含んでもよい。
データパケットのインデックスと、どれだけ頻繁に対応するコンテンツが要求されているか、の両方に従ってデータパケットを置換するステップは、第1データパケットが上流ノードから受け取られた際に第1ノードのCCがフルであることに応答して、(1)関心パケットが、第1ノードのCC内に保存されている少なくとも1つのデータパケットを有するその他のコンテンツよりも低い頻度で受け取られている第1ノードのCC内に保存されている少なくとも1つのデータパケットを有する複数のコンテンツのうちから、最も少ない頻度で要求されているコンテンツを識別するステップと、(2)第1ノードのCC内に保存されている最も少ない頻度で要求されたコンテンツの任意のその他のデータパケットの最大のインデックスを有するデータパケットを識別するステップと、(3)第1ノードのコンテンツキャッシュ内の識別されたデータパケットを第1データパケットによって置換するステップと、を含んでもよい。
本明細書において記述されている実装形態は、更に詳細に後述するように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む特殊目的又は汎用コンピュータの使用を含んでもよい。
本明細書において記述されている実装形態は、その上部に保存されているコンピュータ実行可能命令又はデータ構造を担持するか又は有するコンピュータ可読媒体を使用することにより、実装されてもよい。このようなコンピュータ可読媒体は、汎用又は特殊目的コンピュータによってアクセスされうる任意の入手可能な媒体であってもよい。例として、且つ、限定を伴うことなしに、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、又はその他の光ディスクストレージ、磁気ディスクストレージ、又はその他の磁気ストレージ装置、或いは、コンピュータ実行可能命令又はデータ構造の形態において望ましいプログラムコードを担持又は保存するべく使用されうると共に汎用又は特殊目的コンピュータによってアクセスされうる任意のその他のストレージ媒体を含む一時的ではないコンピュータ可読ストレージ媒体を含んでもよい。又、上述の内容の組合せも、コンピュータ可読媒体の範囲に含まれてもよい。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特殊目的コンピュータ、又は特殊目的処理装置に特定の機能又は機能のグループを実行させる命令及びデータを含む。主題について、構造の特徴及び/又は方法の動作に固有の言語において記述したが、添付の請求項に定義されている主題は、必ずしも、上述の特定の特徴又は動作に限定されるものではないことを理解されたい。むしろ、上述の特定の特徴及び動作は、請求項を実装する例示用の形態として開示されたものである。
本明細書において使用されている「モジュール」又は「コンポーネント」という用語は、演算システム上において稼働するソフトウェアオブジェクト又はルーチンを意味してもよい。本明細書において記述されている異なるコンポーネント、モジュール、エンジン、及びサービスは、演算システム上において(例えば、別個のスレッドとして)稼働するオブジェクト及びプロセスとして実装されてもよい。本明細書において記述されているシステム及び方法は、好ましくは、ソフトウェアにおいて実装されるが、ハードウェアにおける又はソフトウェアとハードウェアの組合せにおける実装形態も、可能であり、且つ、想定される。この説明においては、「演算エンティティ」は、以上において定義された任意の演算システムであってもよく、或いは、演算システム上において稼働する任意のモジュール又はモジュールの組合せであってもよい。
本明細書において記述されているすべての例及び条件に関する言語は、本発明と、当技術分野の発展のために本発明者によって寄与された概念と、を理解する際に読者を支援するべく、教育的な目的を意図したものであり、且つ、このような具体的に記述されている例及び条件に対する限定を伴うものではないものと解釈されたい。以上において本発明の実装形態について詳述しているが、本発明の精神及び範囲を逸脱することなしに、様々な変更、置換、及び変形を実施することができることを理解されたい。
Claims (20)
- ネットワークの複数のノードのうちの下流ノードから第1及び第2関心パケットを受け取るステップであって、前記第1及び第2関心パケットは、それぞれ、コンテンツを集合的に形成する複数のデータパケットのうちの第1及び第2データパケットを識別している、ステップと、
前記第1及び第2データパケットについて、前記複数のノードのうちの第1ノードのコンテンツキャッシュをチェックするステップと、
前記第1及び第2データパケットが前記コンテンツキャッシュに存在していないことに応答して、前記第1及び第2関心パケットについて、前記第1ノードのペンディング関心テーブルをチェックするステップと、
前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットのキャッシュフラグがオフ状態であることに応答して、
前記第1及び第2関心パケットを前記ペンディング関心テーブル内に記録し、
前記ペンディング関心テーブル内の前記第1関心パケットのキャッシュフラグを設定し、
前記第1関心パケットによって識別される前記第1データパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記第1関心パケット内のキャッシュフラグが設定された状態で、前記第1及び第2関心パケットを前記複数のノードのうちの上流ノードに転送し、
前記上流ノードから前記第1及び第2データパケットを受け取り、且つ、
前記第1データパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングするステップと、
を有する方法。 - 前記第1データパケットが前記コンテンツキャッシュに存在していることに応答して、
前記第1データパケットを前記下流ノードに供給し、且つ、
前記コンテンツキャッシュ内の前記第1データパケットのカウント値を増分するステップと、
前記複数のデータパケットのうちの少なくともいくつかのその他のデータパケットの関心パケットを受け取るステップと、
前記カウント値に基づいて、前記コンテンツキャッシュ内に保存されるべき前記コンテンツのデータパケットの数を判定するステップと、
前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内において保存されるようにするステップと、
を更に有し、
前記保存されるようにするステップは、
前記コンテンツキャッシュ内に未だ保存されていない前記判定された数のデータパケットのそれぞれごとに、
前記対応したデータパケットを識別する前記関心パケットのうちの対応した関心パケットを前記ペンディング関心テーブル内において記録するステップと、
前記ペンディング関心テーブル内の前記関心パケットのうちの前記対応した関心パケットのキャッシュフラッグを設定するステップと、
前記関心パケットのうちの前記対応した関心パケットによって識別される前記対応したデータパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記関心パケットのうちの前記対応した関心パケット内のキャッシュフラグが設定された状態で、前記関心パケットのうちの前記対応した関心パケットを前記上流ノードに転送するステップと、
前記対応したデータパケットを受け取るステップと、
前記対応したデータパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングするステップと、
を含む請求項1に記載の方法。 - 前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内において保存されるようにするステップは、前記コンテンツの2カウント値個の更なるデータパケットが前記コンテンツキャッシュ内において保存されるようにするステップを有する請求項2に記載の方法。
- 前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットの前記キャッシュフラグが前記第1関心パケットの受け取りの時点において既に設定されていることに応答して、
前記ペンディング関心テーブル内の前記第1関心パケットの前記キャッシュフラグを設定することなしに、前記第1関心パケットを前記ペンディング関心テーブル内において記録し、且つ、
前記第1関心パケットを前記上流ノードに転送するステップ、
を更に有する請求項1に記載の方法。 - 前記データパケットのインデックスと、前記データパケットが属するコンテンツがどれだけ最近に要求されているのか、の両方に従って、前記コンテンツキャッシュ内に保存されているデータパケットを前記第1データパケットによって置換するステップを更に有する請求項1に記載の方法。
- どれだけ最近に前記データパケットが要求されているのかに従って、前記コンテンツキャッシュ内に保存されている前記データパケットを前記第1データパケットによって置換するステップは、
前記第1ノードの前記コンテンツキャッシュがフルであることに応答して、
関心パケットが、前記第1ノードの前記コンテンツキャッシュ内に保存されている少なくとも1つのデータパケットを有するその他のコンテンツよりも以前に受け取られている前記第1ノードの前記コンテンツキャッシュ内に保存されている少なくとも1つのデータパケットを有する複数のコンテンツのうちから、最も長い間要求されていないコンテンツを識別するステップと、
前記第1ノードの前記コンテンツキャッシュ内に保存されている前記最も長い間要求されていないコンテンツの任意のその他のデータパケットの最大のインデックスを有するデータパケットを識別するステップと、
前記第1ノードの前記コンテンツキャッシュ内の前記データパケットを前記第1データパケットによって置換するステップと、
を有する請求項5に記載の方法。 - 前記データパケットのインデックスと、前記データパケットが属するコンテンツがどれだけ頻繁に要求されているのか、の両方に従って、前記コンテンツキャッシュ内に保存されているデータパケットを前記第1データパケットによって置換するステップを更に有する請求項1に記載の方法。
- 前記データパケットの前記インデックスと、前記データパケットが属する前記コンテンツがどれだけ頻繁に要求されているのか、の両方に従って、前記コンテンツキャッシュ内に保存されている前記データパケットを前記第1データパケットによって置換するステップは、
関心パケットが、前記第1ノードの前記コンテンツキャッシュ内に保存されている少なくとも1つのデーパケットを有するその他のコンテンツよりも低い頻度で受け取られている前記第1ノードの前記コンテンツキャッシュ内に保存されている少なくとも1つのデータパケットを有する複数のコンテンツのうちから、最も少ない頻度で要求されているコンテンツを識別するステップと、
前記第1ノードの前記コンテンツキャッシュ内に保存されている前記最も少ない頻度で要求されているコンテンツの任意のその他のデータパケットの最大インデックスを有するデータパケットを識別するステップと、
前記第1ノードの前記コンテンツキャッシュ内の前記データパケットを前記第1データパケットによって置換するステップと、
を有する請求項7に記載の方法。 - ネットワークシステムであって、
コンテンツソースとエンド装置の間の供給経路に沿った複数のノードであって、前記供給経路に沿ってコンテンツの複数のデータパケットを拡散させるように構成されている複数のノードを有し、
前記複数のノードは、
前記複数のノードのうちの下流ノードから第1及び第2関心パケットを受け取り、前記第1及び第2関心パケットは、それぞれ、前記コンテンツを集合的に形成する前記複数のデータパケットのうちの第1及び第2データパケットを識別しており、
前記第1及び第2データパケットについて、前記第1ノードのコンテンツキャッシュをチェックし、
前記第1及び第2データパケットが前記コンテンツキャッシュに存在していないことに応答して、前記第1及び第2関心パケットについて、前記第1ノードのペンディング関心テーブルをチェックし、且つ、
前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットのキャッシュフラグがオフ状態であることに応答して、前記第1及び第2関心パケットを前記ペンディング関心テーブル内において記録し、前記ペンディング関心テーブル内の前記第1関心パケットのキャッシュフラグを設定し、前記第1関心パケットによって識別される前記第1データパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記第1関心パケット内のキャッシュフラグが設定された状態で、前記第1及び第2関心パケットを前記複数のノードのうちの上流ノードに転送し、
前記上流ノードから前記第1及び第2データパケットを受け取り、且つ、
前記第1データパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングする、
ように構成された第1ノードを含む、システム。 - 前記第1データパケットが前記コンテンツキャッシュ内に存在していることに応答して、前記第1ノードは、
前記第1データパケットを前記下流ノードに供給し、
前記コンテンツキャッシュ内の前記第1データパケットのカウント値を増分し、
前記複数のデータパケットのうちの少なくともいくつかのその他のデータパケットの関心パケットを受け取り、
前記カウント値に基づいて、前記コンテンツキャッシュ内に保存されるべき前記コンテンツのデータパケットの数を判定し、且つ、
前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内に保存されるようにする、
ように更に構成されており、
前記保存されるようにすることは、
前記コンテンツキャッシュ内に未だ保存されていない前記判定された数のデータパケットのそれぞれごとに、
前記対応したデータパケットを識別する前記関心パケットのうちの対応した関心パケットを前記ペンディング関心テーブル内において記録することと、
前記ペンディング関心テーブル内の前記関心パケットのうちの前記対応した関心パケットのキャッシュフラグを設定することと、
前記関心パケットのうちの前記対応した関心パケットによって識別される前記対応したデータパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記関心パケットのうちの前記対応した関心パケット内のキャッシュフラグが設定された状態で、前記関心パケットのうちの前記対応した関心パケットを前記上流ノードに転送することと、
前記対応したデータパケットを受け取ることと、
前記対応するデータパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングすることと、
を含む請求項9に記載のシステム。 - 前記第1ノードは、前記コンテンツの2カウント値個のデータパケットが前記コンテンツキャッシュ内において保存されるようにするべく構成されることにより、前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内において保存されるようにするべく構成されている請求項10に記載のシステム。
- 前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットの前記キャッシュフラグが前記第1関心パケットの受け取りの時点において既に設定されていることに応答して、前記第1ノードは、
前記ペンディング関心テーブル内の前記第1関心パケットの前記キャッシュフラグを設定することなしに、前記第1関心パケットを前記ペンディング関心テーブル内において記録し、且つ、
前記第1関心パケットを前記上流ノードに転送する、
ように更に構成されている請求項9に記載のシステム。 - 前記第1ノードは、前記データパケットがどれだけ最近に要求されているのかに従って、前記コンテンツキャッシュ内に保存されたデータパケットを置換するように更に構成されている請求項9に記載のシステム。
- 前記第1ノードは、前記データパケットがどれだけ頻繁に要求されているのかに従って、前記コンテンツキャッシュ内に保存されているデータパケットを置換するように更に構成されている請求項9に記載のシステム。
- 動作を実行するか又は動作の実行を制御するべくプロセッサによって実行可能であるその上に保存されたコンピュータ可読命令を含む一時的ではないコンピュータ可読媒体であって、
前記動作は、
ネットワークの複数のノードのうちの下流のノードから第1及び第2関心パケットを受け取る動作であって、前記第1及び第2関心パケットは、それぞれ、コンテンツを集合的に形成する複数のデータパケットのうちの第1及び第2データパケットを識別している、動作と、
前記第1及び第2データパケットについて、前記複数のノードのうちの第1ノードのコンテンツキャッシュをチェックする動作と、
前記第1及び第2データパケットが前記コンテンツキャッシュに存在していないことに応答して、前記第1及び第2関心パケットについて、前記第1ノードのペンディング関心テーブルをチェックする動作と、
前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットのキャッシュフラグがオフ状態にあることに応答して、前記第1及び第2関心パケットを前記ペンディング関心テーブル内において記録し、前記ペンディング関心テーブル内の前記第1関心パケットのキャッシュフラグを設定し、前記第1関心パケットによって識別される前記第1データパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記第1関心パケット内のキャッシュフラグが設定された状態で、前記第1及び第2関心パケットを前記複数のノードの上流ノードに転送し、前記上流ノードから前記第1及び第2データパケットを受け取り、且つ、前記第1データパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングする動作と、
を有する、媒体。 - 前記動作は、
前記第1データパケットが前記コンテンツキャッシュ内に存在していることに応答して、
前記第1データパケットを前記下流ノードに供給する動作と、
前記コンテンツキャッシュ内の前記第1データパケットのカウント値を増分する動作と、
前記複数のデータパケットのうちの少なくともいくつかのその他のデータパケットの関心パケットを受け取る動作と、
前記カウント値に基づいて、前記コンテンツキャッシュ内において保存されるべき前記コンテンツのデータパケットの数を判定する動作と、
前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内に保存されるようにする動作と、
を更に有し、
前記保存されるようにする動作は、
前記コンテンツキャッシュ内に未だ保存されていない前記判定された数のデータパケットのそれぞれごとに、
前記対応したデータパケットを識別する前記関心パケットのうちの対応した関心パケットを前記ペンディング関心テーブル内において記録する動作と
前記ペンディング関心テーブル内の前記関心パケットのうちの前記対応した関心パケットのキャッシュフラグを設定する動作と、
前記関心パケットのうちの前記対応した関心パケットによって識別される前記対応したデータパケットが前記第1ノードの前記コンテンツキャッシュ内においてキャッシングされることになると通知するように前記関心パケットのうちの前記対応した関心パケット内のキャッシュフラグが設定された状態で、前記関心パケットのうちの前記対応した関心パケットを前記上流ノードに転送する動作と、
前記対応したデータパケットを受け取る動作と、
前記対応したデータパケットを前記第1ノードの前記コンテンツキャッシュ内においてキャッシングする動作と、
を含む請求項15に記載の一時的ではないコンピュータ可読媒体。 - 前記コンテンツの前記判定された数のデータパケットが前記コンテンツキャッシュ内において保存されるようにする動作は、前記コンテンツの2カウント値個のデータパケットが前記コンテンツキャッシュ内において保存されるようにする動作を有する請求項16に記載の一時的ではないコンピュータ可読媒体。
- 前記第1及び第2関心パケットが前記第1ノードの前記ペンディング関心テーブルに存在しておらず、且つ、前記下流ノードから受け取った前記第1関心パケットの前記キャッシュフラグが前記第1関心パケットの受け取りの時点において既に設定されていることに応答し、
前記ペンディング関心テーブル内の前記第1関心パケットの前記キャッシュフラグを設定することなしに、前記第1関心パケットを前記ペンディング関心テーブル内において記録する動作と、
前記第1関心パケットを前記上流ノードに転送する動作と、
を更に有する請求項15に記載の一時的ではないコンピュータ可読媒体。 - 前記データパケットがどれだけ最近に要求されているのかに従って、前記コンテンツキャッシュ内に保存されているデータパケットを置換する動作を更に有する請求項15に記載の一時的ではないコンピュータ可読媒体。
- 前記データパケットがどれだけ頻繁に要求されているのかに従って、前記コンテンツキャッシュ内に保存されているデータパケットを置換する動作を更に有する請求項15に記載の一時的ではないコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/510,967 US9386118B2 (en) | 2014-10-09 | 2014-10-09 | Online progressive content placement in a content centric network |
US14/510,967 | 2014-10-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016082578A true JP2016082578A (ja) | 2016-05-16 |
Family
ID=55656304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015175540A Pending JP2016082578A (ja) | 2014-10-09 | 2015-09-07 | コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9386118B2 (ja) |
JP (1) | JP2016082578A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018014568A (ja) * | 2016-07-19 | 2018-01-25 | 富士通株式会社 | 中継装置及び中継方法 |
JP2021519038A (ja) * | 2018-04-19 | 2021-08-05 | 中興通訊股▲ふん▼有限公司Zte Corporation | データ処理方法、機器及びコンピュータ読み取り可能な記憶媒体 |
WO2021166249A1 (ja) * | 2020-02-21 | 2021-08-26 | 日本電信電話株式会社 | 通信装置、通信方法及びプログラム |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10063476B2 (en) * | 2014-03-28 | 2018-08-28 | Research & Business Foundation Sungkyunkwan University | Content centric networking system providing differentiated service and method of controlling data traffic in content centric networking providing differentiated service |
US9762746B2 (en) * | 2015-01-20 | 2017-09-12 | Telefonaktiebolaget L M Ericsson (Publ) | Advice of charge in content centric networks |
US10701038B2 (en) * | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US10757213B2 (en) * | 2015-08-14 | 2020-08-25 | Futurewei Technologies, Inc. | Method and apparatus for pushing data in a content-centric networking (CCN) network |
GB201612361D0 (en) * | 2016-04-19 | 2016-08-31 | Cisco Tech Inc | Routing to content in an IP network |
US10432509B2 (en) * | 2016-06-14 | 2019-10-01 | Cisco Technology, Inc. | Flow classification for information centric network protocols |
US11568014B2 (en) * | 2019-06-28 | 2023-01-31 | Intel Corporation | Information centric network distributed search with approximate cache |
CN111539757B (zh) * | 2019-12-30 | 2023-07-28 | 支付宝实验室(新加坡)有限公司 | 信息投放方法、装置、服务器及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7032073B2 (en) * | 2001-07-02 | 2006-04-18 | Shay Mizrachi | Cache system for network and multi-tasking applications |
JP2003228534A (ja) * | 2001-11-30 | 2003-08-15 | Ntt Docomo Inc | 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法 |
US9047235B1 (en) * | 2007-12-28 | 2015-06-02 | Nokia Corporation | Content management for packet-communicating devices |
US8694675B2 (en) | 2011-09-01 | 2014-04-08 | Futurewei Technologies, Inc. | Generalized dual-mode data forwarding plane for information-centric network |
-
2014
- 2014-10-09 US US14/510,967 patent/US9386118B2/en not_active Expired - Fee Related
-
2015
- 2015-09-07 JP JP2015175540A patent/JP2016082578A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018014568A (ja) * | 2016-07-19 | 2018-01-25 | 富士通株式会社 | 中継装置及び中継方法 |
JP2021519038A (ja) * | 2018-04-19 | 2021-08-05 | 中興通訊股▲ふん▼有限公司Zte Corporation | データ処理方法、機器及びコンピュータ読み取り可能な記憶媒体 |
JP7109583B2 (ja) | 2018-04-19 | 2022-07-29 | 中興通訊股▲ふん▼有限公司 | データ処理方法、機器及びコンピュータ読み取り可能な記憶媒体 |
WO2021166249A1 (ja) * | 2020-02-21 | 2021-08-26 | 日本電信電話株式会社 | 通信装置、通信方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160105524A1 (en) | 2016-04-14 |
US9386118B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016082578A (ja) | コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置 | |
US10158697B2 (en) | Channel ownership in a publish-subscribe system | |
US20170048148A1 (en) | Method, apparatus, and system for load balancing of service chain | |
US9110884B2 (en) | Message publishing and subscribing method and apparatus | |
US20140237085A1 (en) | Communication method of content requester and content provider to provide content and real-time streaming content in content-centric network (ccn) based on content name | |
US20140181140A1 (en) | Terminal device based on content name, and method for routing based on content name | |
JP5847185B2 (ja) | コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置 | |
US9268813B2 (en) | Terminal device based on content name, and method for routing based on content name | |
US10129358B2 (en) | Partitioned serialized caching and delivery of large files | |
US20180248805A1 (en) | Eliminating data traffic redirection in scalable clusters | |
US20160156733A1 (en) | Content placement in hierarchical networks of caches | |
US10609155B2 (en) | Scalable self-healing architecture for client-server operations in transient connectivity conditions | |
JP2016111703A (ja) | 情報指向ネットワークにおけるコンテンツ配置 | |
WO2021143610A1 (zh) | 流表项的控制方法、装置及系统 | |
WO2020249128A1 (zh) | 一种服务路由方法及装置 | |
CN109361749B (zh) | 报文处理方法、相关设备及计算机存储介质 | |
US10476980B2 (en) | Remote socket splicing system | |
KR20150025249A (ko) | 배칭 기반의 콘텐트 라우팅 방법 및 배칭 기반의 콘텐트 라우팅 방법을 수행하는 장치 | |
US20120185558A1 (en) | Data storage management | |
EP2965204B1 (en) | Server to client reverse persistence | |
EP4136809B1 (en) | Distributed flow processing and flow cache | |
US11134124B2 (en) | Method and system for connecting between terminals in multimedia communication | |
US9860171B2 (en) | Large scale message routing in a distributed network | |
EP3487152A1 (en) | Auctioning the serving and/or caching of a data object | |
US9344865B1 (en) | Methods for improving service of SMPP messages and devices thereof |