JP2016110628A - 階層的キャッシュネットワークにおけるコンテンツ配置 - Google Patents

階層的キャッシュネットワークにおけるコンテンツ配置 Download PDF

Info

Publication number
JP2016110628A
JP2016110628A JP2015207568A JP2015207568A JP2016110628A JP 2016110628 A JP2016110628 A JP 2016110628A JP 2015207568 A JP2015207568 A JP 2015207568A JP 2015207568 A JP2015207568 A JP 2015207568A JP 2016110628 A JP2016110628 A JP 2016110628A
Authority
JP
Japan
Prior art keywords
layer
optimization problem
linear programming
content
root 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
Application number
JP2015207568A
Other languages
English (en)
Inventor
ファルハーディー・ゴルナズ
Farhadi Golnaz
アジムドースト・ビタ
Azimdoost Bita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2016110628A publication Critical patent/JP2016110628A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 開示の実施形態は、階層的キャッシュネットワークにおけるコンテンツ配置を提供する。【解決手段】 一実装の一態様によると、方法は、3以上のレベルを有するネットワークの中の最適化問題を、2以上の2層最適化問題に分解するステップ、を有する。方法は、前記2層最適化問題のうちの上位又は下位2層最適化問題から得た記憶値及び1又は複数のコスト値を、それぞれ、前記2層最適化問題のうちの上位又は下位2層最適化問題に渡すステップ、も有する。【選択図】 図4

Description

本願明細書で議論する実装は、階層的キャッシュネットワークにおけるコンテンツ配置に関する。
本願明細書に特に示されない限り、本願明細書に記載される構成要素は、本願の請求項に対する従来技術ではなく、この章に含まれることにより従来技術と見なされるものではない。
現在のインターネット構造はホスト指向であり且つ1対1パラダイムに基づくが、ビデオ、音楽、写真、文書等を閲覧する及び共有するような現在のインターネットの使用の大部分は、ホスト指向の態様とは異なるデータ又はコンテンツ指向の態様を有する場合が多い。エンドポイントがインターネットプロトコル(IP)アドレスの代わりに名前付きデータに基づき通信する情報指向ネットワーク(Information centric network:ICN)は、ホスト指向インターネットアーキテクチャの代替として発展してきた。ICNは、スケーラブル且つコスト効率の良いコンテンツ配信を提供しようとしている。
本願明細書で請求される主題は、上述のような欠点を解決する実装や上述のような環境でのみ機能する実装に限定されない。むしろ、この背景技術は、単に、本願明細書に記載される複数の実装が実施される技術分野の一例を説明するために提供される。
一実装の一態様によると、方法は、3以上のレベルを有するネットワークの中の最適化問題を、2以上の2層最適化問題に分解するステップ、を有する。方法は、前記2層最適化問題のうちの上位又は下位2層最適化問題から得た記憶値及び1又は複数のコスト値を、それぞれ、前記2層最適化問題のうちの上位又は下位2層最適化問題に渡すステップ、も有する。
実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。
上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しないことが理解される。
例示的な実装は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
例示的なICNを説明する概略図である。 1又は複数のスーパーリーフを含む、図1Aの例示的なICNを説明する概略図である。 1又は複数のスーパーペアレントを含む、図1Aの例示的なICNを説明する概略図である。 標準的なICNルータの3つの例示的なデータ構造の概略図である。 第1のルートノードにおける例示的な解テーブル及びアクセス履歴テーブルの概略図である。 例示的なICNルータシステムを説明するブロック図である。 トップダウンアルゴリズムにおけるコンテンツ配置及び記憶割り当て方法を説明する例示的なフロー図である。 ボトムアップアルゴリズムにおけるコンテンツ配置及び記憶割り当て方法を説明する例示的なフロー図である。
インターネットでビデオ及びオーディオをストリーミングする要求は、近年増大しており、インターネットトラフィックを増大させている。情報指向ネットワーク(ICN)及び他の階層的キャッシュネットワークは、コンテンツ配信を増強するためにネットワーク内のキャッシングのためのアーキテクチャを提供する。ICNは、1又は複数の下位ネットワークを有し得る。下位ネットワークの中では、ルータはコンテンツを共有するために互いに接続されても良い。ICNの各ルータは、要求されるコンテンツを格納するために、記憶空間も有し得る。ICNでは、全体の記憶及びリンク能力が限られているとき、コンテンツが格納される場所と各ルータにおける記憶サイズ割り当てとの両者の最適化は、ICNのデータ配信の全体コストを削減し得る。したがって、本願明細書に記載の幾つかの実装は、例えばICNのような階層的キャッシュネットワークのアーキテクチャ、及び最適化を通じてネットワーク又はコンテンツプロバイダへのデータ配信の全体コストを削減できる通信プロトコルをサポートすることに関する。本願明細書で言及される「最適化」は、実関数を最大化すること又は最小化することを含み得る。ここで、「最大化」又は「最小化」は、必ずしも絶対的な最大又は最小ではなく、他の値と比べたとき想定的な最大又は最小を達成することを意味する。
本願明細書に記載の幾つかの実装では、線形計画最適化問題(linear program optimization problem:LPOP)は、トップダウン又はボトムアップアルゴリズムに従って2以上の2層(tier)LPOPに分けられる。記憶値及び1又は複数のコスト値は、上位又は下位の2層LPOPから、それぞれ下位又は上位の2層LPOPに渡されても良い。各LPOPは、ネットワーク内の各ノードで各々の要求されたコンテンツの人気、又はコンテンツカタログに列挙された各々の要求されたコンテンツの人気に基づくパラメータを有しても良い。2以上のLPOPは、ネットワークの中の1又は複数のノードに対するコンテンツ配置及び記憶サイズ割り当てを決定するために、実行され又は解かれても良い。さらに、ネットワークが2以上の下位ネットワークを含む場合、下位ネットワークの中のノード間の要求統計の類似性に依存して、トップダウンアルゴリズムがある下位ネットワークで用いられても良く、一方で、ボトムアップアルゴリズムが別の下位ネットワークで用いられても良い。
本発明の実装を、添付の図面を参照して以下に説明する。
図1Aは、本願明細書に記載の少なくとも1つの実装に従って配置される例示的なICNを説明する概略図である。ICN100は、Dataパケットを配信するための「Interestパケット」とも称されるメッセージをルーティングするよう構成されるノードのネットワークを有しても良い。用語「Interestパケット」は、特定のコンテンツのための要求を表しても良い。用語「Dataパケット」は、Interestパケットに適応するコンテンツを表しても良い。各Interestパケットは、1つのDataパケットに対応しても良い。
種々の実装では、ICN100は、インターネット又はその部分を含んでも良く、又はその中に含まれても良い。図1Aに示すように、ICN100は、サーバ102と、第1のルートノード104、2個の第2のルートノード106a、106b(総称的に「第2のルートノード106」又は「複数の第2のルートノード106」)、2個の第3のルートノード108a、108b(総称的に「第3のルートノード108」又は「複数の第3のルートノード108」)及び6個のエッジノード110a−110f(総称的に「エッジノード110」又は「複数のエッジノード110」)を含む多数のネットワークノードと、を有しても良い。
本開示の利益により、図1Aに示すICN100は幾つかの点で簡素化されていることが明らかである。例えば、ICN100は、図1Aに示されたのと異なる数の第1のルートノード104、第2のルートノード106、第3のルートノード108、及び/又はエッジノード110を有しても良い。ICN100は、第1のルートノード104とサーバ102との間にアップストリームノードを有しても良い。ICN100は、第1のルートノード104と第2のルートノード106との間、第2のルートノード106と第3のルートノード108との間、及び/又はエッジノード110の間に、中間ノード及び/又は追加ルートノードを有しても良い。さらに、第1のルートノード104、第2のルートノード106、第3のルートノード108、及び/又はエッジノード110の各々は、1又は複数の中間ノード及び/又は追加ルートノードを有しても良い。ICN100は、クライアント、サーバ、ルータ、スイッチ、及び/又は他のネットワーク装置のような様々な追加ネットワークノードを有しても良い。
ICN100のネットワークトポロジは、階層的構造を有しても良い。ネットワークトポロジは、ツリー構造又はツリー構造のセットを有しても良い。図1Aに示した階層的ツリー構造トポロジでは、第2のルートノード106は、第1のルートノード104及び第3のルートノード108を相互接続して、Interestパケット及びDataパケットがこれらのノード間で交換できるようにしても良い。第3のルートノード108は、第2のルートノード106及びエッジノード110を相互接続して、Interestパケット及びDataパケットがこれらのノード間で交換できるようにしても良い。同様に、第1のルートノード104は、サーバ102及び第2のルートノード106を相互接続して、Interestパケット及びDataパケットがこれらのノード間で交換できるようにしても良い。エッジノード110a−110dは、第3のルートノード108の下流であると考えられる。第3のルートノード108は、第2のルートノード106aの下流であると考えられる。第2のルートノード106aは、第1のルートノード104の下流であると考えられる。第1のルートノード104は、サーバ102の下流であると考えられる。同様に、エッジノード110e−110fは、第2のルートノード106bの下流であると考えられる。第2のルートノード106bは、第1のルートノード104の下流であると考えられる。第1のルートノード104は、サーバ102の下流であると考えられる。
ICN100のネットワークトポロジは、3個以上レベルを有しても良い。ICN100の中のノードのレベルは、ノードと第1のルートノード104との間、又はノードとサーバ102との間、又はノードと特定の他の基準点との間のホップ数により決定されても良い。第2のルートノード106は、ICN100の同じレベルにあると考えられ、4個のエッジノード110a−110dはICN100の同じレベルにあると考えられる。第3のルートノード108は、ICN100の、エッジノード110e−110fと同じレベルにあると考えられる。
ネットワークの第1のルートノード104、第2のルートノード106、第3のルートノード108、及びエッジノード110の各々は、ルータを有しても良い。用語「ルータ」は、Interestパケットを受信し及び転送し、及び/又はDataパケットを受信し及び転送することが可能な任意のネットワーク装置を表しても良い。用語「サーバ」は、Interestパケットを受信し、及びDataパケットを供給することが可能な任意の装置を表しても良い。第1のルートノード104、第2のルートノード106、第3のルートノード108、エッジノード110、及びサーバ102は、コンテンツを、又はより一般的には、それぞれ少なくとも1つのコンテンツ名により識別される1又は複数の異なるコンテンツをホスティングしても良い。
エッジノード110の各々は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話機、スマートフォン、パーソナルデジタルアシスタント(PDA)、ウエアラブル装置、又は他のクライアント装置のようなクライアント装置を有しても良く、又はそれに結合されても良い。
ICN100の中で第1のルートノード104の下流にあるノードであって、該ノードからコンテンツのInterestパケットが生じるノードは、本願明細書では「要求ノード」と呼ばれる。エッジノード110のうちのいずれも、該ノードからInterestパケットが発生するとき、要求ノードと呼ばれても良い。Interestパケットが要求ノード110から生じると、次に、Interestパケットが、例えば第2のルートノード106又は第3のルートノード108のような第1のルートノード104の下流にあり第1のルートノード104への経路上にあるICN100の中のノードからの既に対応するDataパケットの配信により満たされている場合でも、Interestパケットは、第1のルートノード104へルーティングされても良く、第1のルートノード104により受信されても良い。Interestパケットは、要求ノード110と共に要求されたコンテンツ名を、並びに、例えば第2のルートノード106及び/又は第3のルートノード108のようなInterestパケットを第1のルートノード104へ転送するいかなるノードを識別し得る。したがって、第1のルートノード104は、ICN100のデータコレクタとして動作し、コンテンツがICN100の中の各ノードにより何回要求されているかをアクセス履歴テーブルの中で追跡し続ける。第1のルートノード104は、ICN100の中の各ノードにおけるコンテンツの人気を決定するために、アクセス履歴テーブルを用いても良い。幾つかの実施形態では、第2のルートノード106及び/又は第3のルートノード108を含むICN100の中のノードは、コンテンツが該ノードの下流のノードにより何回要求されたかを、第2のルートノード106及び/又は第3のルートノード108のうちの対応する1つのアクセス履歴テーブルの中で追跡し続けても良い。
第1のルートノード104は、ネットワークの中のLPOPを2以上の2層LPOPに分けても良い。各2層LPOPの目的は、ICN100の中の全体のデータダウンロードコストを最小化することであっても良い。各2層LPOPは、全体の記憶能力及びリンク能力が限られているとき役に立ち、第1のルートノード104と要求ノード110との間のダウンリンクの輻輳を回避するよう設計された1又は複数の制約を有しても良い。各2層LPOPは、内点又片方向(Interior Point or Simplex)方法を用いて実行されても良い。2層LPOPの例示的な実装は、本願と同時に出願された米国特許出願番号第XX/XXX,XXX、名称「CONTENT PLACEMENT IN AN INFORMATION CENTRIC NETWORK」に開示される。前述の出願は、参照により本願明細書に組み込まれる。
第1のルートノード104は、トップダウンアルゴリズム又はボトムアップアルゴリズムに従って、ネットワークの中のLPOPを2以上の2層LPOPに分けても良い。幾つかの実施形態では、ネットワークは、2以上の下位ネットワークを有しても良く、各下位ネットワークはそれ自身の第1のルートノード104を有する。ネットワークの中のLPOPを2以上の2層最適化問題に分解することは、第1の下位ネットワークにおいてトップダウンアルゴリズムに従って、及び第2の下位ネットワークにおいてボトムアップアルゴリズムに従って、実行されても良い。第1のルートノード104は、下位ネットワークのうちの1つにおいて、トップダウンアルゴリズム又はボトムアップアルゴリズムを用いるかを、下位ネットワークの1又は複数のレベルにあるノードの各々における要求統計の類似性に基づき、及び/又は1又は複数の他の基準に基づき、決定しても良い。
図1Bは、図1Aの例示的なICNを説明する概略図であり、本願明細書に記載の少なくとも1つの実装に従って配置される1又は複数のスーパーリーフ112a−112d(総称的に「スーパーリーフ112」又は「複数のスーパーリーフ112」)を有する。トップダウンアルゴリズムでは、2層LPOPの第1層はルートノードを有しても良く、2層LPOPの第2層はスーパーリーフ112を有しても良い。各スーパーリーフ112は、要求ノード110を有しても良い。1つの2層LPOPのスーパーリーフ112は、ノードのサイズ及び数が、別の2層LPOPのスーパーリーフ112と異なっても良い。スーパーリーフ112は複数のノードを有し、該複数のノードは、先祖として第1のルートノード104を有するツリーを形成しても良い。
例えば、スーパーリーフ112aは、第2のルートノード106a、エッジノード110a−110d、及び第3のルートノード108のような、第2のルートノード106aとエッジノード110a−110dとの間にある任意のノードを有しても良い。スーパーリーフ112bは、第3のルートノード108a、及びエッジノード110a−110bを有しても良い。スーパーリーフ112cは、第2のルートノード106b、及びエッジノード110e−110fを有しても良い。スーパーリーフ112dは、第3のルートノード108b、及びエッジノード110c及び110dを有しても良い。スーパーリーフ112aはICN100の3つのレベルからのノードを有するが、スーパーリーフ112b−112dは、ICN100の2つのレベルからのノードを有する。より一般的には、スーパーリーフ112の各々は、ICN100のの2以上のレベルからのノードを有しても良い。
トップダウンアルゴリズムの場合には、各2層LPOPの第1層は、ICN100の1つのレベルからのノードを有しても良い。これら及び他の実装では、下位の2層LPOPの第1層は、上位の2層LPOPの第1層より、ICN100の低いレベルに位置しても良い。例えば、上位の2層LPOPの第1層は第1のルートノード104を有しても良く、一方で、下位の2層LPOPの第1層は第2のルートノード106を有しても良い。
第1のルートノード104は、例えば要求ノード110aから生じたInterestパケットを受信しても良い。Interestパケットは、コンテンツ及び要求ノード110aを、並びに、例えば第3のルートノード108a及び第2のルートノード106aのようなInterestパケットを第1のルートノード104へ転送するいかなるノードを識別し得る。第1のルートノード104は、受信したInterestパケットに従って第1のルートノード104のアクセス履歴テーブルを更新しても良い。第1のルートノード104は、上位2層LPOPを実行しても良い。上位2層LPOPは、ICN100の中の各ノードにおけるICN100の各コンテンツの人気に基づくパラメータを有しても良い。
上位2層LPOPの第1層、例えば第1のルートノード104、及び上位2層LPOPの第2層が、スーパーリーフ112a及びスーパーリーフ112cを有する場合、上位2層LPOPのパラメータは、サーバ102からコンテンツを得るためのコスト、第1のルートノード104からコンテンツを得るためのコスト、及びスーパーリーフ112a及び/又はスーパーリーフ112cからコンテンツを得るためのコスト、も有しても良い。上位2層LPOPは、第1のルートノード104及びスーパーリーフ112a及び112cについての結合記憶限度を示す合計記憶制約値を更に有しても良い。上位2層LPOPの解は、第1のルートノード104に対する記憶サイズ割り当て、及び第1のルートノード104にコンテンツを格納する確率、並びにスーパーリーフ112a及びスーパーリーフ112cの各々に対する記憶サイズ割り当て、を有しても良い。上位2層LPOPから得られるスーパーリーフ112a又はスーパーリーフ112cのための任意のコンテンツ配置解は、無視されても良い。
トップダウン集中型アルゴリズムでは、第1のルートノード104は、1又は複数の下位2層LPOPを実行しても良い。下位2層LPOPは、ICN100の中の各ノードにおけるICN100の各コンテンツの人気に基づくパラメータを有しても良い。下位2層LPOPは、合計記憶制約値を更に有しても良い。下位2層LPOPの第1層、例えば第2のルートノード106a、及び下位2層LPOPの第2層が、スーパーリーフ112a及びスーパーリーフ112dを有する場合、合計記憶制約値は、第2のルートノード106、スーパーリーフ112b、及びスーパーリーフ112dの結合に対する記憶限度を示しても良い。上位2層LPOPから得られたスーパーリーフ112aに対する記憶サイズ割り当ては、合計記憶制約値として下位2層LPOPに渡されても良い。下位2層LPOPのパラメータは、スーパーリーフ112bからコンテンツを得るためのコスト、スーパーリーフ112dからコンテンツを得るためのコスト、第2のルートノード106aからコンテンツを得るためのコスト、並びに、サーバ102及び第1のノード104からコンテンツを得るためのコストに基づいても良い、スーパーリーフ112aの外部からコンテンツを得るためのコスト、も有しても良い。上位2層LPOPから得た第1のルートノード104及びサーバ102からコンテンツを得るためのコストは、スーパーリーフ112aからコンテンツを得るためのコストとして、下位2層LPOPに渡されても良い。
2以上のノードが、コンテンツの配信経路にあるスーパーリーフ112の内部に置かれる場合、スーパーリーフ112からコンテンツを得るためのコストは、2以上のノードの各々からコンテンツを得るためのコストを平均化することにより決定されても良い。例えば、要求ノード110aからコンテンツを得るためのコスト及び第3のルートノード108aからコンテンツを得るためのコストは、スーパーリーフ112bからコンテンツを得るためのコストを決定するために平均化されても良い。
2以上のノードが、コンテンツの配信経路にある、ICN100の中のスーパーリーフ112の外部に置かれる場合、スーパーリーフ112の外部からコンテンツを得るためのコストは、2以上のノードの各々からコンテンツを得るためのコストを平均化することにより決定されても良い。例えば、スーパーリーフ112aの外部からコンテンツを得るためのコストは、サーバ102からコンテンツを得るためのコスト及び第1のルートノード104からコンテンツを得るためのコストを平均化することにより決定されても良い。サーバ102からコンテンツを得るためのコスト及び第1のルートノード104からコンテンツを得るためのコストの両者は、下位2層LPOPに渡されても良い。
下位2層LPOPの解は、第2のルートノード106aに対する記憶サイズ割り当て、並びに、コンテンツを格納するよう第2のルートノード106aに示すためにコンテンツのDataパケットの中のキャッシュフラグを設定する確率、を有しても良い。下位2層LPOPの解は、スーパーリーフ112bのための記憶サイズ割り当て、及びスーパーリーフ112dのための記憶サイズ割り当て、も有しても良い。下位2層LPOPから得られるスーパーリーフ112b又はスーパーリーフ112dのための任意のコンテンツ配置解は、無視されても良い。
トップダウン分散型アルゴリズムでは、第1のノード104が下位2層LPOPを実行する代わりに、第1のノード104は、上位2層LPOPから得られた記憶及び1又は複数のコスト値を、ICN100の中の別のルートノードへ転送して、ルートノードが、記憶及びコスト値が渡される下位2層最適化を解決できるようにしても良い。ルートノードは、第1のルートノード104の下流にあっても良い。ルートノードは、ルートノードの下流の各ノードにおけるネットワークの各コンテンツの人気に基づきLPOPを実行するために、コンテンツがノードの下流にあるノードにより何回要求されたかを、ルートノードのアクセス履歴テーブルの中で追跡しても良い。
集中型及び分散型トップダウンアルゴリズムの両者で、下位2層LPOPがスーパーリーフ112aを有するとき、スーパーリーフ112が2以上のレベルを有する場合、下位2層LPOPは、上位2層LPOPになっても良く、合計記憶制約値及び1又は複数のコスト値を別の下位2層LPOPに渡す。記憶値は、合計記憶制約値を有しても良く、コスト値のうちの1つは、他の下位2層LPOPのスーパーリーフの外部からコンテンツを得るコストを有しても良い。第1のノード104は、2層LPOPの第1層のルートノードを前に実行した2層LPOPの第1層のルートノードより低いICN100のレベルに移動することにより、ICN100の中の最適化問題を、次第に小さくなるスーパーリーフ112を有する2層LPOPに分解しても良い。前に実行した2層LPOPから得た記憶値及び1又は複数のコスト値は、より小さなスーパーリーフ112を有する下位2層LPOPに渡されても良い。
2層LPOPの第2層は、1又は複数のエッジノード110のみを有しても良い。2層LPOPの第2層が1又は複数のエッジノード110のみを有することに応答して、第1のルートノード104は、1又は複数のエッジノード110及び2層LPOPのルートノードに対する記憶サイズ割り当て、並びに1又は複数のエッジノード110及びルートノードにコンテンツを格納するよう示すためにコンテンツのDataパケットの中のキャッシュフラグを設定する確率を得るために、2層LPOPを解いても良い。
図1Cは、本願明細書に記載の少なくとも1つの実装に従って配置される、1又は複数のスーパーペアレントを含む、図1Aの例示的なICNを説明する概略図である。ボトムアップアルゴリズムでは、2層LPOPの第1層は、スーパーペアレント116a−116b(総称的に「スーパーペアレント116」又は「複数のスーパーペアレント」)を有しても良く、2層LPOPの第2層は、スーパーペアレント116より低い、ICN100の1つのレベルのノードを有しても良い。例えば、2層LPOPの第1層は、スーパーペアレント116aを有しても良く、2層LPOPの第2層はエッジノード110a−110dを有しても良い。各スーパーペアレント116は、第1のルートノード104を有しても良い。1つの2層LPOPのスーパーペアレント116は、サイズ及びレベルの数が、別の2層LPOPのスーパーペアレント116と異なっても良い。スーパーペアレント116は、ツリーを形成する複数のノードを有しても良い。スーパーペアレント116aは、第1のルートノード104、第2のルートノード106、及び第3のルートノード108を含む、ICN100の3つのレベルを有しても良い。一方、スーパーペアレント116bは、図1に示すように、第1のルートノード104及び第2のルートノード106を含む、ICN100の2つのレベルのみを有しても良い。エッジノード110e−110fのうちの1つは、要求ノードであっても良い。
下位の2層LPOPの第2層は、上位の2層LPOPの第2層より、ICN100の低いレベルに位置しても良い。例えば、下位2層LPOPの第2層はエッジノード110a−110fを有しても良く、一方、上位2層LPOPの第2層は、エッジノード110a−110fより高いレベルに位置する第3のルートノード108a−108bを有しても良い。
第1のルートノード104は、例えば要求ノード110aから生じたInterestパケットを受信しても良い。Interestパケットは、コンテンツ及び要求ノード110aを、並びに、例えば第3のルートノード108a及び第2のルートノード106aのようなInterestパケットを第1のルートノード104へ転送するいかなるノードを識別し得る。第1のルートノード104は、受信したInterestパケットに従って第1のルートノード104のアクセス履歴テーブルを更新しても良い。第1のルートノード104は、下位2層LPOPを実行しても良い。下位2層LPOPは、ICN100の中の各ノードにおけるICN100の各コンテンツの人気に基づくパラメータを有しても良い。
下位2層LPOPの第1層、例えばスーパーペアレント116a、及び下位2層LPOPの第2層が、エッジノード110a−110dを有する場合、下位2層LPOPのパラメータは、サーバ102からコンテンツを得るためのコスト、スーパーペアレント116aからコンテンツを得るためのコスト、及びエッジノード110a−110fからコンテンツを得るためのコスト、も有しても良い。下位2層LPOPは、エッジノード110a−110f及びスーパーペアレント116aの結合についての記憶限度を示す合計記憶制約値を更に有しても良い。下位2層LPOPの解は、スーパーペアレント116aの外側エッジに位置するエッジノード110a−110fに対する記憶サイズ割り当て、及びエッジノード110a−110fにコンテンツを格納するよう指示するためにコンテンツのDataパケットの中のキャッシュフラグを設定する確率、並びに、スーパーペアレント116aに対する記憶サイズ割り当て、を有しても良い。下位2層LPOPから得られるスーパーペアレント116aのための任意のコンテンツ配置解は、無視されても良い。
第1のルートノード104は、上位2層LPOPを実行しても良い。上位2層LPOPは、ICN100の中の各ノードにおけるICN100の各コンテンツの人気に基づくパラメータを有しても良い。代替で、上位2層LPOPは、コンテンツカタログに列挙された要求されたコンテンツの各々の人気に基づくパラメータを有しても良い。コンテンツカタログは、ICN100の中のコンテンツを複製するのを回避するために、前の下位2層LPOPの解に従って、格納されるべきであると決定されたコンテンツを削除するよう更新されても良い。
上位2層LPOPは、合計記憶制約値を更に有しても良い。上位2層LPOPの第1層は、例えばスーパーペアレント116bを有し、上位2層LPOPの第2層は、第3のルートノード108a−108bを含むICN100の第3レベルのノードを有し、合計記憶制約値は、スーパーペアレント116b及び第3のルートノードの結合記憶限度を示しても良い。下位2層LPOPから得られたスーパーペアレント116aに対する記憶割り当ては、合計記憶制約値として上位2層LPOPに渡されても良い。上位2層LPOPのパラメータは、スーパーペアレント116bからコンテンツを得るためのコスト、サーバ102からコンテンツを得るためのコスト、並びに、第3のルートノード108a−108b及びエッジノード110a−110fからコンテンツを得るためのコストを含み得る、スーパーペアレント116bの下流及び外部からコンテンツを得るためのコスト、を有しても良い。サーバ102からコンテンツを得るためのコスト及び第3のルートノード108a−108b及びエッジノード110a−110fからコンテンツを得るためのコストは、下位レベルの2層LPOPから上位2層LPOPに渡されても良い。
上位2層LPOPの解は、第3のルートノード108a−108bに対する記憶サイズ割り当て、並びに、コンテンツを格納するよう第3のルートノード108a−108bに示すためにコンテンツのDataパケットの中のキャッシュフラグを設定する確率、を有しても良い。上位2層LPOPの解は、スーパーペアレント116bに対する記憶サイズ割り当ても有しても良い。上位2層LPOPから得られるスーパーリーフ116bのための任意のコンテンツ配置解は、無視されても良い。
上位2層LPOPがスーパーペアレント116を有するとき、スーパーペアレント116が2以上のレベルを有する場合、上位2層LPOPは、下位2層LPOPになっても良く、合計記憶制約値及び1又は複数のコスト値を別の上位2層LPOPに渡す。第1のノード104は、2層LPOの第2層を前に実行した2層LPOの第2層より高いICN100のレベルに移動することにより、ICN100の中の最適化問題を、次第に小さくなるスーパーペアレント116を有する2層LPOに分解しても良い。前に実行した2層LPOから得た記憶値及び1又は複数のコスト値は、より小さなスーパーペアレント116を有する上位2層LPOに渡されても良い。
2層LPOPの第1層は、2以上のレベルを有するスーパーペアレントの代わりに、第1のルートノード104を有しても良い。2層LPOPの第1層が第1のルートノード104のみを有することに応答して、第1のルートノード104は、2層LPOPを解いて、第1のルートノード104及び第2のルートノード106a−106bに対する記憶サイズ割り当て、並びに、第1のルートノード104及び第2のルートノード106a−106bにコンテンツを格納するよう指示するためにコンテンツのDataパケットの中のキャッシュフラグを設定する確率、を得ても良い。
トップダウン及びボトムアップアルゴリズムの両方を用いて、ネットワークの中で要求されたコンテンツは、ネットワーク内に配置されても良く、記憶サイズは、ネットワークの中の要求ノードへのよりコスト効率の良いコンテンツ配信を提供するために割り当てられても良い。
前述の実装のために、ICN100のノードの各々は、PIT(pending interest table、未解決Interestテーブル)、FIB(forwarding information base、情報転送ベース)、及びCC(content cache、コンテンツキャッシュ)を備えるルータを有し、転送、配信、及びInterestパケットの記録を含む記憶タスクを実行しても良い。図2Aは、本願明細書に記載の少なくとも1つの実装に従って配置される標準的なICNの3つの例示的なデータ構造の概略図である。3つのデータ構造は、CC200、PIT201、及びFIB202を有する。
CC200は、Interestパケットを対応するDataパケットに関連付けても良い。例えば、CC200は、各々の受信したInterestパケットを示す「Name(名前)」欄と、ルータにおいて受信されキャッシュされ得る対応するDataパケットを示す「Data(データ)」欄と、を有しても良い。
PIT201は、各々のInterestパケットを1又は複数の要求側インタフェースに関連付けることにより、(対応する要求されたDataパケットが受信されるまで)供給され又は保留されている各々の受信したInterestパケットを記録し追跡しても良い。要求側インタフェースは、例えば、要求ノード110、第3のルートノード108、及び/又は第2のルートノード106のうちの1又は複数に、固定(有線)リンク、無線リンク、ネットワーク、インターネット、及び/又は他のコンポーネント若しくはシステムを介して結合されても良い。例えば、PIT201は、各々のInterestパケットを示す「Prefix(プレフィックス)」欄と、Interestパケットの1又は複数の要求側インタフェース、例えば図2Aの「要求側フェース0」を示す「Requesting Face(要求側フェース)」欄と、を有しても良い。
FIB202は、各々のInterestパケットを、Interestパケットが転送され得る対応する転送インタフェースに関連付けても良い。転送インタフェースは、例えば、第3のルートノード108、第2のルートノード106、及び/又は第1のルートノード104のうちの1又は複数に、固定(有線)リンク、無線リンク、ネットワーク、インターネット、及び/又は他のコンポーネント若しくはシステムを介して結合されても良い。例えば、FIB202は、各々のInterestパケットを示す「Name(名前)」欄と、対応する転送インタフェースを示す「Face(フェース)」欄と、を有しても良い。要求側インタフェースは、本願明細書では、「第1のインタフェース」と称されても良く、転送インタフェースは、本願明細書では、「第2のインタフェース」と称されても良い。CC200、PIT201、及びFIB202は、図3に関して更に詳細に説明される。
CC200、PIT201、及びFIB202に加えて、ICN100の第1、第2、及び第3のルートノード104、106、108の各々は、アクセス履歴テーブル、解テーブル、及びコンテンツカタログを備えるルータを有しても良い。アクセス履歴テーブルは、ICN100の中の1又は複数のノードにより、コンテンツが何回アクセスされたかを追跡するために用いられても良い。解テーブルは、線形計画最適化を実行することから得られたコンテンツ配置解を有しても良く、ICN100の中のどこにコンテンツが格納されたかを追跡するために用いられても良い。図2Bは、本願明細書に記載の少なくとも1つの実装に従って配置される、図1A〜1Cの第1のルートノード104にある例示的な解テーブル(Solution Table)203及びアクセス履歴テーブル(Access History Table)204の概略図である。ICN100の中の1又は複数のルータの名称は、「Router ID(ルータID)」欄の下で、解テーブル203の1つの行に入力されても良い。線形計画最適化から得られた、ルータの各々においてキャッシュされるべきコンテンツのリストは、「Content Placement Solution(コンテンツ配置解)」欄の下で、解テーブル203の同じ行に入力されても良い。解テーブル203は、ICN100の中のルータの各々のルータIDを有しても良い。アクセス履歴テーブル204は、ICN100の中の1又は複数のルータの名称を示す「Client(クライアント)(Router ID)」欄と、1又は複数のルータの各々が要求したコンテンツを示す「Access History(アクセス履歴)」欄と、を有しても良い。
第1のルートノード以外のICN100の中のルートノードは、トップダウン分散型アルゴリズムが用いられるとき、アクセス履歴テーブル204及び解テーブル203を有しても良い。アクセス履歴テーブルは、ネットワークの各コンテンツがルートノードの下流の各ノードにおいて何回アクセスされたかを追跡するために用いられても良い。解テーブルは、線形計画最適化を実行することから得られたコンテンツ配置解を有しても良く、ルートノードの下流にあるノードのうちのどこにコンテンツが格納されたかを追跡するために用いられても良い。
図1及び2Aを合わせて参照すると、上述及び他の実装では、第1のルートノードの下流のノードが要求ノード110からInterestパケットを受信するが、対応するDataパケットが該ノードのCC200に無い場合、要求ノード110から第1のルートノード104への経路にある次のノードがそのノードのCC200を調べても良い。Dataパケットが、要求ノード110からの経路にあるいずれのノードのCC200の中にも存在しない場合、第1のルートノード104は、Interestパケットをサーバ102へ転送する前に、自身のCC200を調べても良い。要求ノード110から第1のルートノード104への経路でのデータの検索し、自身のCC200の中にデータパケットを有する第1のノードからDataパケットを返す処理は、「経路検索」と称されても良い。トップダウン及びボトムアップアルゴリズムは、経路検索と互換性がある。
図3は、本願明細書に記載の少なくとも1つの実装に従って配置される例示的なICNルータシステム(以後、「システム300」)を説明するブロック図である。システム300は、ノードのネットワークの配信経路に沿ったコンテンツ配置のために構成されても良く、コンピューティング装置又はシステムとして実装されても良い。
システム300は、図1の要求ノード110、第3のルートノード108、第2のルートノード106、及び/又は第1のルートノード104のうちの任意の1つを有し又はそれに対応しても良い。例えば、要求ノード110、第3のルートノード108、第2のルートノード106、及び/又は第1のルートノード104のうちの1又は複数はシステム300として実装されても良い。システム300は、本願明細書に記載のような、ルータ又はルーティング装置又はルーティングの可能な他の装置として実装されても良い。
システム300は、幾つかの例に応じて、キャッシュマネジャアプリケーション301、プロセッサ装置307、第1のインタフェース310、第2のインタフェース313、記憶装置315、及びメモリ308を有しても良い。システム300のコンポーネントは、バス317により通信可能に結合されても良い。バス317は、メモリバス、記憶装置インタフェースバス、バス/インタフェース制御部、インタフェースバス、等、又はそれらの任意の組み合わせを含み得るが、これらに限定されない。
プロセッサ装置307は、本願明細書に記載の動作を実行する又はその性能を制御するためのALU(arithmetic logic unit)、マイクロプロセッサ、汎用制御部、又は何らかの他のプロセッサアレイを有する。プロセッサ装置307は、データ信号を処理し、CISC(complex instruction set computer)アーキテクチャ、RISC(reduced instruction set computer)アーキテクチャ、又は命令セットの組合せを実施するアーキテクチャを含む種々のコンピューティングアーキテクチャを有しても良い。図3は単一プロセッサ装置307を有するが、複数のプロセッサ装置が含まれても良い。他のプロセッサ、オペレーティングシステム、及び物理構成も可能であり得る。
メモリ308は、プロセッサ装置307により実行され及び/又はそれにより操作され得る命令及び/又はデータを格納する。命令又はデータは、本願明細書に記載の動作を実行する又はその性能を制御するために、プロセッサ装置307により実行され得るプログラミングコードを有しても良い。命令又はデータは、図2AのCC200、PIT201、及び/又はFIB202、及び/又は図2Bのアクセス履歴テーブル204及び/又は解テーブル203、及び/又はコンテンツカタログ318を有しても良い。命令又はデータは、システム300が図1の第1のルートノード104を有するとき、又はシステム300がトップダウン分散型アルゴリズムで用いられる別のルートノードを有するとき、アクセス履歴テーブル204及び/又は解テーブル203を有しても良い。メモリ308は、DRAM(dynamic random access memory)素子、SRAM(static random access memory)素子、フラッシュメモリ又は何らかの他のメモリ素子を有しても良い。幾つかの実装では、メモリ308は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。
第1のインタフェース310は、図2Aに関して説明したように、少なくとも1つの要求ノード、第3のルートノード、及び/又は第2のルートノードからInterestパケットを受信し及びそれらへDataパケットを送信するよう構成される。例えば、第1のインタフェース310は、図1の要求ノード110、第3のルートノード108、第2のルートノード106、及び/又は第1のルートノード104からInterestパケットを受信し及びそれらへDataパケットを送信するよう構成されても良い。
第2のインタフェース313は、図2Aに関して説明したように、少なくとも1つの第3のルートノード、第2のルートノード、及び/又は第1のルートノードへInterestパケットを転送し及びそれらからDataパケットを受信するよう構成される。例えば、第2のインタフェース313は、図1の第3のルートノード108、第2のルートノード106、及び/又は第1のルートノード104へInterestパケットを転送し及びそれらからDataパケットを受信するよう構成されても良い。
幾つかの実装では、第1及び第2のインタフェース310、313は、図1のICN100の中の他のノード又は別の通信チャネルへの直接物理接続のためのポートを有する。例えば、第1及び第2のインタフェース310、313は、USB(universal serial bus)ポート、SD(secure digital)ポート、CAT−5(category 5)ポート、又は図1A〜1Cのコンポーネント102、104、106、108、110のうちの少なくとも1つとの有線通信のための類似のポートを有しても良い。幾つかの実装では、第1及び第2のインタフェース310、313は、図1A〜1Cのコンポーネント102、104、106、108、110のうちの少なくとも1つとデータを交換する無線トランシーバ、又はIEEE802.11、IEEE802.16、Bluetooth(登録商標)、若しくは別の適切な無線通信方法を含む1又は複数の無線通信方法を用いる他の通信チャネルを有する。
幾つかの実装では、第1及び第2のインタフェース310、313は、SMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP(wireless application protocol)、電子メール又は他の適切な種類の電子通信を介することを含むセルラネットワークでデータを送信及び受信するセルラ通信トランシーバを有する。幾つかの実装では、第1及び第2のインタフェース310、313は、有線ポート及び無線トランシーバを有しても良い。第1及び第2のインタフェース310、313は、TCP/IP(transmission control protocol/internet protocol)、HTTP、HTTPセキュア(HTTPS)、及びSMTP(simple mail transfer protocol)等を含む標準ネットワークプロトコルを用いてファイル又はメディアオブジェクトの配信のためにICN100又はそのコンポーネントへの他の接続を提供しても良い。
記憶装置315は、本願明細書に記載の機能を提供するために命令及び/又はデータを格納する非一時的記憶媒体を有しても良い。記憶装置315は、DRAM(dynamic random access memory)素子、SRAM(static random access memory)素子、フラッシュメモリ又は何らかの他のメモリ素子を有しても良い。幾つかの実装では、記憶装置315は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。記憶装置315は、メモリ308に一時的に格納される又はロードされる命令及び/又はデータを格納しても良い。
図3に示すように、キャッシュマネジャアプリケーション301は、コンテンツキャッシュモジュール303(以後「CC(Content Cache)モジュール303」)、未解決Interestテーブルモジュール(以後「PIT(Pending Interest Table)モジュール305」)、転送情報ベースモジュール302(以後「FIB(forwarding information base)モジュール302」)、意志決定モジュール304(以後「DM(decision maker)モジュール304」)、及び通信モジュール306、本願明細書ではこれらを総称して「モジュール309」と表す、のうちの少なくとも1つを有しても良い。モジュール302〜306を含むキャッシュマネジャアプリケーション301は、通常、本願明細書に記載の機能及び動作を実行し又はその性能を制御するために、プロセッサ装置307により実行可能なプログラミングコード及び/又はコンピュータ可読命令を有するソフトウェアを含み得る。モジュール302〜306のうちの1又は複数を含むキャッシュマネジャアプリケーション301は、システム300のコンポーネントのうちの1又は複数からデータを受信しても良く、及び/又は記憶装置315及びメモリ308のうちの一方又は両方にデータを格納しても良い。
CCモジュール303は、通常、ここで詳述されるように、図1の要求ノード110、第3のルートノード108、第2のルートノード106及び/又は第1のルートノード104のような要求ノード及びルートノードに格納され得る対応するDataパケットに、Interestパケットを関連付けるよう構成されても良い。この及び他の実装では、CCモジュール303は、CC200からデータを読み出し及び/又はそれにデータを書き込んでも良い。
PITモジュール305は、ここで詳述するように、各々のInterestパケットを1又は複数の受信インタフェースに関連付けることにより、(対応する要求されたDataパケットが受信されるまで)供給され又は保留されている各々の受信したInterestパケットを記録し追跡するよう構成されても良い。上述の及び他の実装では、PITモジュール305は、PIT201からデータを読み出し及び/又はそれにデータを書き込んでも良い。
ここで詳述されるように、FIBモジュール302は、Interestパケットが転送される1又は複数の対応するインタフェースに、Interestパケットを関連付けるよう構成されても良い。FIBモジュール302は、FIB202からデータを読み出し及び/又はそれにデータを書き込んでも良い。
システム300がトップダウン若しくはボトムアップアルゴリズムで使用される第1のルートノード又はトップダウン分散型アルゴリズムで使用される別のルートノードを有するとき存在し得るDMモジュール304は、1又は複数のLPOPを実行して、サブネットワークの中でデータダウンロードの合計コストを最小化するために、ネットワークの1又は複数のノードにおいて記憶サイズをどのように割り当てるか及び/又はネットワークの中のコンテンツの各々をどこに配置するかを決定するよう構成されても良い。1又は複数のLPOPの解に基づき、DMモジュール404は、ネットワークの中の1又は複数のノードにコンテンツをキャッシュすることを知らせるために、コンテンツのDataパケットの中の1又は複数のキャッシュフラグを設定するよう構成されても良い。さらに、DMモジュール404は、前の最適化の解に従って格納されるべきであると決定されたコンテンツを削除するために、コンテンツカタログを更新するよう構成されても良い。
通信モジュール306は、モジュール302〜305とシステム300の他のコンポーネントとの間の通信を処理するルーチンを含むソフトウェアとして実装されても良い。キャッシュマネジャアプリケーション301が図1A〜1Cの第1のルートノード又はトップダウン分散型アルゴリズムで使用される別のルートノードに実装されるとき、通信モジュール306は、第1及び第2のインタフェース310及び313を介して、図1A〜1Cのコンポーネント102、104、106、108、110のうちの1又は複数へデータを送信し及びそれらからデータを受信する。幾つかの実装では、通信モジュール306は、モジュール302〜305のうちの1又は複数からデータを受信し、記憶装置315及びメモリ308のうちの1又は複数にデータを格納する。幾つかの実装では、通信モジュール306は、記憶装置315又はメモリ308からデータを読み出し、該データをモジュール302〜305のうちの1又は複数に送信する。
図4は、本願明細書に記載の少なくとも1つの実装に従って配置される、トップダウンアルゴリズムにおけるコンテンツ配置及び記憶割り当て方法400を説明する例示的なフロー図である。方法400は、全体的に又は部分的に、図1A〜1Cの1又は複数の第1のルートノード104、又は別の適切なネットワークノード、ICNルータ、及び/又はシステムにより実装されても良い。トップダウン分散型アプローチでは、方法400は、全体的に又は部分的に、図1のICN100の2以上のルートノードにより実装されても良い。方法400はブロック401で開始し得る。
ブロック401で、ルートノードは、ネットワークの中のLPOPを、上位2層LPOPと1又は複数の下位2層LPOPとに分解しても良い。ネットワークは、3以上のレベルを有しても良い。ルートノードは、トップダウン分散型アルゴリズムで使用される別のルートノード、又はトップダウン若しくはボトムアップアルゴリズムの第1のルートノードを有しても良い。ブロック401の次にブロック402が続いても良い。
ブロック402で、ルートノードは、2層LPOPの第2層が1又は複数のエッジノード110のみを有するかどうかを決定しても良い。2層LPOPは、ブロック401の上位2層LPOP、又はブロック404に関して言及される1又は複数の下位2層LPOPの各々を有しても良い。2層LPOPの第2層が1又は複数のエッジノードのみを有するものではない場合(ブロック402で「No」)、ブロック402の次にブロック403が続いても良い。2層LPOPの第2層が1又は複数のエッジノードのみを有する場合(ブロック402で「Yes」)、ブロック402の次にブロック405が続いても良い。
ブロック403で、2層LPOPの第2層がエッジノードのみを有するものではないことに応答して、ルートノードは、2層LPOPの第1層ルートノードに対するコンテンツ配置及び記憶サイズ割り当てを決定しても良い。ルートノードは、1又は複数の下位2層LPOPの各々に渡すために、合計記憶制約値も決定しても良い。さらに、ルートノードは、第1層ルートノード及び第1層ルートノードの上流の1又は複数のノードから要求したコンテンツを得るためのコストを決定しても良い。ブロック403の次にブロック404が続いても良い。
ブロック404で、ルートノードは、2層LPOPから得た制約値と1又は複数のコスト値を、1又は複数の下位2層LPOPの各々に渡しても良い。コスト値は、第1層ルートノードからコンテンツを得るためのコストと、第1層ルートノードより上流にある1又は複数のノードからコンテンツを得るためのコストと、を有しても良い。第1層ノードより上流のノードのうちの1つは、サーバを有しても良い。ブロック404の後に、1又は複数の下位2層LPOPの各々について、ブロック402、403、404、405、及び/又は406が続いても良い。
ブロック405で、下位2層LPOPが1又は複数のエッジノードのみを有することに応答して、ルートノードは、第1層ルートノード及び1又は複数のエッジノードに対するコンテンツ配置を決定しても良い。ルートノードは、第1層ルートノード及び1又は複数のエッジノードに対する記憶サイズ割り当ても決定しても良い。ブロック405の次にブロック406が続いても良い。
ブロック406で、ルートノードは、追加LPOPを実行するのを停止しても良い。
当業者は、この処理及び本願明細書に開始した他の処理及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実装の本質から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されても良い。
図5は、本願明細書に記載の少なくとも1つの実装に従って配置される、ボトムアップアルゴリズムにおけるコンテンツ配置及び記憶割り当て方法500を説明する例示的なフロー図である。方法500は、全体的に又は部分的に、図1A〜1Cの1又は複数の第1のルートノード104、又は別の適切なネットワークノード、ICNルータ、及び/又はシステムにより実装されても良い。方法500はブロック501で開始し得る。
ブロック501で、第1のルートノードは、ネットワークの中のLPOPを、下位2層LPOPと1又は複数の上位2層LPOPとに分解しても良い。ネットワークは、3以上のレベルを有しても良い。ブロック501の次にブロック502が続いても良い。
ブロック502で、第1のルートノードは、2層LPOPの第1層が第1のルートノードのみを有するかどうかを決定しても良い。2層LPOPは、ブロック501の下位2層LPOP、又はブロック504に関して言及される1又は複数の上位2層LPOPの各々を有しても良い。2層LPOPの第1層が第1のルートノードのみを有するものではない場合(ブロック502で「No」)、ブロック502の次にブロック503が続いても良い。2層LPOPの第1層が第1のルートノードのみを有する場合(ブロック505で「Yes」)、ブロック502の次にブロック505が続いても良い。
ブロック503で、2層LPOPの第1層が第1のルートノードのみを有するものではないことに応答して、第1のルートノードは、スーパーペアレントの外側エッジにある1又は複数のノードに対するコンテンツ配置及び記憶サイズ割り当てを決定しても良い。第1のルートノードは、1又は複数の上位2層LPOPの各々に渡すために、合計記憶制約値も決定しても良い。さらに、第1のルートノードは、下流及びスーパーペアレントの外部から、要求されたコンテンツを得るためのコストを決定しても良い。ブロック503の次にブロック504が続いても良い。
ブロック504で、第1のルートノードは、2層LPOPから得た制約値と、1又は複数のコスト値とを、1又は複数の上位2層LPOPの各々に渡しても良い。コスト値は、スーパーペアレントの下流及び外部からコンテンツを得るためのコスト、及び/又はサーバを有しても良い第1のルートノードより上流にある1又は複数のノードからコンテンツを得るためのコスト、を有しても良い。ブロック504の後に、1又は複数の上位2層LPOPの各々について、ブロック502、503、504、505、及び/又は506が続いても良い。
ブロック505で、2層LPOPの第1層が第1のルートノードのみを有することに応答して、第1のルートノードは、第1のルートノード及び第2のルートノードに対するコンテンツ配置及び記憶サイズ割り当てを決定しても良い。ブロック505の次にブロック506が続いても良い。
ブロック506で、第1のルートノードは、追加LPOPを実行するのを停止しても良い。
本願明細書に記載の実装は、コンピュータにより実行可能な命令又はデータ構造を伝える又は格納しているコンピュータ可読媒体を含み得る。このようなコンピュータ可読媒体は、汎用又は特定目的コンピュータによりアクセスできる利用可能な媒体であり得る。例として且つ限定ではなく、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置を含む非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の媒体を有し得る。上述の組合せも、コンピュータ可読媒体の範囲に包含され得る。
コンピュータにより実行可能な命令は、例えば、汎用コンピュータ、特定目的コンピュータ又は特定目的処理装置に特定の機能又は機能グループを実行させる命令及びデータを有する。本発明の主題は構造的特徴及び/又は方法論的動作に特有の言葉で記載されたが、本発明の主題は、特許請求の範囲に定められる上述の特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲の実施の例示的形態として開示されたものである。
本願明細書で用いられるように、用語「モジュール」又は「コンポーネント」は、コンピューティングシステムで実行されるソフトウェアオブジェクト又はルーチンを表し得る。本願明細書に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又は処理として実施されても良い。本願明細書に記載されたシステム及び方法はソフトウェアで実施されることが望ましいが、ハードウェアによる実装又はソフトウェアとハードウェアの組合せも、可能であり想定される。この説明では、「コンピュータエンティティ」は、本願明細書で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであっても良い。
本願明細書に記載された全ての例及び条件文は、教育上の目的で、読者が本発明の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本発明の実装が詳細に記載されたが、種々の変更、置換及び修正が本発明の精神及び範囲から逸脱することなく行われうることが理解されるべきである。
100 ICN
102 サーバ
104、106、108 ルートノード
110 エッジノード
112 スーパーリーフ
116 スーパーペアレント

Claims (22)

  1. 3以上のレベルを有するネットワークの中の最適化問題を、2以上の2層最適化問題に分解するステップと、
    前記2層最適化問題のうちの上位又は下位2層最適化問題から得た記憶値と1又は複数のコスト値とを、それぞれ、前記2層最適化問題の下位又は上位2層最適化問題に渡すステップと、
    を有する方法。
  2. 前記2以上の2層最適化問題の各々は、線形計画最適化問題を有する、請求項1に記載の方法。
  3. 前記2層最適化問題のうちの前記上位又は下位2層最適化問題から得た前記記憶値は、合計記憶制約値を有する、請求項1に記載の方法。
  4. 前記2層最適化問題のうちの少なくとも1つは、前記ネットワークの中の各ノードにおける前記ネットワークの各コンテンツの人気に基づくパラメータを有する、請求項1に記載の方法。
  5. 前記2層最適化問題のうちの少なくとも1つは、コンテンツカタログの中に列挙された各コンテンツの人気に基づくパラメータを有し、前記コンテンツカタログは、前の最適化問題の解に従って格納されるべきであると決定されたコンテンツを削除するために更新される、請求項1に記載の方法。
  6. 前記2層最適化問題のうちの前記上位又は下位2層最適化問題から得た前記記憶値及び前記1又は複数のコスト値を、それぞれ、前記2層最適化問題のうちの上位又は下位2層最適化問題に渡すステップは、前記記憶値及び前記コスト値を前記ネットワークの中のノードに転送するステップであって、前記記憶値及び前記コスト値を渡された該ノードが前記2層最適化問題を解くことができるようにする、ステップを有する、請求項1に記載の方法。
  7. トップダウンアルゴリズムで及び前記2層最適化問題のうちの1つの2層最適化問題の第2層が1又は複数のエッジノードのみを有することに応答して、前記2層最適化問題のうちの前記1つの2層最適化問題を解くステップであって、前記1又は複数のエッジノードに対する記憶サイズ割り当てと、前記1又は複数のエッジノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を得る、ステップ、を更に有する請求項1に記載の方法。
  8. ボトムアップアルゴリズムで及び前記2層最適化問題のうちの1つの2層最適化問題の第1層が第1のルートノードのみを有することに応答して、前記2層最適化問題のうちの前記1つの2層最適化問題を解くステップであって、前記第1のルートノードに対する記憶サイズ割り当てと、前記第1のルートノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を得る、ステップ、を更に有する請求項1に記載の方法。
  9. 前記ネットワークは、第1及び第2のサブネットワークを有し、前記ネットワークの中の前記最適化問題を2以上の2層最適化問題に分解するステップは、前記第1のサブネットワークの中でトップダウンアルゴリズムに従って、及び前記第2のサブネットワークの中でボトムアップアルゴリズムに従って、実行され、前記方法は、対応するサブネットワークのレベルにあるノードの各々における要求統計の類似性に基づき、前記トップダウンアルゴリズム又は前記ボトムアップアルゴリズムを前記サブネットワークの各々で用いるか否かを決定するステップ、を更に有する請求項1に記載の方法。
  10. 3以上のレベルを有するネットワークの複数のノード、
    を有し、第1のルートノードは、
    前記ネットワークの中の線形計画最適化問題を、2以上の2層線形計画最適化問題に分解し、
    前記2層線形計画最適化問題のうちの上位又は下位2層線形計画最適化問題から得た合計記憶制約値と1又は複数のコスト値とを、それぞれ、前記2層線形計画最適化問題の下位又は上位2層線形計画最適化問題に渡す、
    よう構成される、システム。
  11. 前記2層線形計画最適化問題のうちの少なくとも1つは、前記ネットワークの中の各ノードにおける前記ネットワークの各コンテンツの人気に基づくパラメータを有する、請求項10に記載のシステム。
  12. 前記2層線形計画最適化問題のうちの少なくとも1つは、コンテンツカタログの中に列挙された各コンテンツの人気に基づくパラメータを有し、前記コンテンツカタログは、前の線形計画最適化の解に従って格納されるべきであると決定されたコンテンツを削除するために更新される、請求項10に記載のシステム。
  13. 前記第1のルートノードは、前記合計記憶制約値及び前記コスト値を渡されたノードが前記2層線形計画最適化問題を解くことができるようにするために、前記合計記憶制約値及び前記コスト値を前記ネットワークの中の該ノードに転送するよう構成されることにより、前記2層線形計画最適化問題のうちの前記上位又は下位2層線形計画最適化問題から得た前記合計記憶制約値及び前記1又は複数のコスト値を、それぞれ、前記2層線形計画最適化問題のうちの上位又は下位2層線形計画最適化問題に渡すよう構成される、請求項10に記載のシステム。
  14. トップダウンアルゴリズムで及び前記2層線形計画最適化問題のうちの1つの2層線形計画最適化問題の第2層が1又は複数のエッジノードのみを有することに応答して、前記第1のルートノードは、前記2層線形計画最適化問題のうちの前記1つの2層線形計画最適化問題を解いて、前記1又は複数のエッジノードに対する記憶サイズ割り当てと、前記1又は複数のエッジノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を得る、よう更に構成される、請求項10に記載のシステム。
  15. ボトムアップアルゴリズムで及び前記2層線形最適化問題のうちの1つの2層線形最適化問題の第1層が前記第1のルートノードのみを有することに応答して、前記第1のルートノードは、前記2層最適化問題のうちの前記1つの2層最適化問題を解いて、前記第1のルートノードに対する記憶サイズ割り当てと、前記第1のルートノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を決定するよう更に構成される、請求項10に記載のシステム。
  16. 前記第1のルートノードは、
    第1のサブネットワークの中でトップダウンアルゴリズムに従って、及び第2のサブネットワークの中でボトムアップアルゴリズムに従って、前記ネットワークの中の前記線形計画最適化問題を2以上の2層線形計画最適化問題に分解し、
    対応するサブネットワークのレベルにあるノードの各々における要求統計の類似性に基づき、前記トップダウンアルゴリズム又は前記ボトムアップアルゴリズムを前記サブネットワークの各々で用いるか否かを決定する、
    ようさらに構成される、請求項10に記載のシステム。
  17. 動作を実行する又はその性能を制御するためにプロセッサにより実行可能なコンピュータ可読命令を格納された非一時的コンピュータ可読媒体であって、前記動作は、
    3以上のレベルを有するネットワークの中の線形計画最適化問題を2以上の2層線形計画最適化問題に分解するステップであって、前記2層線形計画最適化問題のうちの少なくとも1つの2層線形計画最適化問題は、前記ネットワークの中の各ノードにおける前記ネットワークの各コンテンツの人気に基づくパラメータを有する、ステップと、
    前記2層線形計画最適化問題のうちの上位又は下位2層線形計画最適化問題から得た合計記憶制約値及び1又は複数のコスト値を、それぞれ、前記2層線形計画最適化問題のうちの下位又は上位2層線形計画最適化問題に渡すステップと、
    を有する、非一時的コンピュータ可読媒体。
  18. 前記2層線形計画最適化問題のうちの少なくとも1つは、コンテンツカタログの中に列挙された各コンテンツの人気に基づくパラメータを有し、前記コンテンツカタログは、前の線形計画最適化の解に従って格納されるべきであると決定されたコンテンツを削除するために更新される、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記2層線形計画最適化問題のうちの前記上位又は下位2層線形計画最適化問題から得た前記合計記憶制約値及び前記1又は複数のコスト値を、それぞれ、前記2層線形計画最適化問題のうちの上位又は下位2層線形計画最適化問題に渡すステップは、前記合計記憶制約値及び前記コスト値を前記ネットワークの中のノードに転送するステップであって、前記合計記憶制約値及び前記コスト値を渡された該ノードが前記2層線形計画最適化問題を解くことができるようにする、ステップを有する、請求項17に記載の非一時的コンピュータ可読媒体。
  20. 前記動作は、トップダウンアルゴリズムで及び前記2層線形計画最適化問題のうちの1つの2層線形計画最適化問題の第2層が1又は複数のエッジノードのみを有することに応答して、前記2層線形計画最適化問題を解くステップであって、要求ノードに対する記憶サイズ割り当てと、前記1又は複数のエッジノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を得る、ステップ、を更に有する、請求項17に記載の非一時的コンピュータ可読媒体。
  21. 前記動作は、ボトムアップアルゴリズムで及び前記2層線形計画最適化問題のうちの1つの2層線形計画最適化問題の第1層が第1のルートノードのみを有することに応答して、前記2層線形計画最適化問題のうちの前記1つの2層線形計画最適化問題を解くステップであって、前記第1のルートノードに対する記憶サイズ割り当てと、前記第1のルートノードにコンテンツを格納するよう指示するために該コンテンツのDataパケットの中のキャッシュフラグを設定する確率と、を決定する、ステップ、を更に有する、請求項17に記載の非一時的コンピュータ可読媒体。
  22. 前記動作は、
    第1のサブネットワークの中でトップダウンアルゴリズムに従って、及び第2のサブネットワークの中でボトムアップアルゴリズムに従って、前記ネットワークの中の前記線形計画最適化問題を2以上の2層線形計画最適化問題に分解するステップと、
    対応するサブネットワークのレベルにあるノードの各々における要求統計の類似性に基づき、前記トップダウンアルゴリズム又は前記ボトムアップアルゴリズムを前記サブネットワークの各々で用いるか否かを決定するステップと、
    を更に有する、請求項17に記載の非一時的コンピュータ可読媒体。
JP2015207568A 2014-12-01 2015-10-21 階層的キャッシュネットワークにおけるコンテンツ配置 Pending JP2016110628A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/557,280 2014-12-01
US14/557,280 US20160156733A1 (en) 2014-12-01 2014-12-01 Content placement in hierarchical networks of caches

Publications (1)

Publication Number Publication Date
JP2016110628A true JP2016110628A (ja) 2016-06-20

Family

ID=56079949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015207568A Pending JP2016110628A (ja) 2014-12-01 2015-10-21 階層的キャッシュネットワークにおけるコンテンツ配置

Country Status (2)

Country Link
US (1) US20160156733A1 (ja)
JP (1) JP2016110628A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020123843A (ja) * 2019-01-30 2020-08-13 太陽誘電株式会社 マルチホップ通信システム
WO2021166249A1 (ja) * 2020-02-21 2021-08-26 日本電信電話株式会社 通信装置、通信方法及びプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204149B1 (en) * 2015-01-13 2019-02-12 Servicenow, Inc. Apparatus and method providing flexible hierarchies in database applications
EP3669565A4 (en) * 2017-11-30 2021-06-09 Northeastern University SYSTEM FOR OPERATING A DISTRIBUTED WIRELESS NETWORK
CN110209716A (zh) * 2018-02-11 2019-09-06 北京华航能信科技有限公司 智能物联网水务大数据处理方法和系统
CN109088944B (zh) * 2018-09-18 2020-08-14 同济大学 基于次梯度下降法的缓存内容优化方法
US11586979B2 (en) * 2018-12-31 2023-02-21 Visa International Service Association System, method, and computer program product for distributed cache data placement
CN109673018B (zh) * 2019-02-13 2020-09-15 同济大学 无线异构网络中的新型内容缓存分布优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011140950A1 (en) * 2010-07-02 2011-11-17 Huawei Technologies Co., Ltd. Method and apparatus for network-friendly collaborative caching
EP2624524A1 (en) * 2012-02-02 2013-08-07 Comcast Cable Communications, LLC Content distribution network supporting popularity-based caching

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977128A1 (en) * 1998-07-28 2000-02-02 Matsushita Electric Industrial Co., Ltd. Method and system for storage and retrieval of multimedia objects by decomposing a tree-structure into a directed graph
US6651141B2 (en) * 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
CN102047244B (zh) * 2008-04-04 2013-02-27 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
US8417816B2 (en) * 2009-02-20 2013-04-09 Alcatel Lucent Topology aware cache cooperation
US8863204B2 (en) * 2010-12-20 2014-10-14 Comcast Cable Communications, Llc Cache management in a video content distribution network
US9519614B2 (en) * 2012-01-10 2016-12-13 Verizon Digital Media Services Inc. Multi-layer multi-hit caching for long tail content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011140950A1 (en) * 2010-07-02 2011-11-17 Huawei Technologies Co., Ltd. Method and apparatus for network-friendly collaborative caching
US20120005251A1 (en) * 2010-07-02 2012-01-05 Futurewei Technologies, Inc. Method and Apparatus for Network-Friendly Collaborative Caching
EP2589199A1 (en) * 2010-07-02 2013-05-08 Huawei Technologies Co., Ltd. Method and apparatus for network-friendly collaborative caching
CN103477601A (zh) * 2010-07-02 2013-12-25 华为技术有限公司 用于网络友好协同缓存的方法和设备
EP2624524A1 (en) * 2012-02-02 2013-08-07 Comcast Cable Communications, LLC Content distribution network supporting popularity-based caching
US20130204961A1 (en) * 2012-02-02 2013-08-08 Comcast Cable Communications, Llc Content distribution network supporting popularity-based caching

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
池田大輔,他4名: "ネットワーク負荷を考慮したCDN設計法", 電子情報通信学会技術研究報告, vol. 第104巻,第692号, JPN6019020446, 25 February 2005 (2005-02-25), JP, pages 185 - 190, ISSN: 0004049887 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020123843A (ja) * 2019-01-30 2020-08-13 太陽誘電株式会社 マルチホップ通信システム
JP7245664B2 (ja) 2019-01-30 2023-03-24 太陽誘電株式会社 マルチホップ通信システム
WO2021166249A1 (ja) * 2020-02-21 2021-08-26 日本電信電話株式会社 通信装置、通信方法及びプログラム

Also Published As

Publication number Publication date
US20160156733A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
JP2016110628A (ja) 階層的キャッシュネットワークにおけるコンテンツ配置
US10805418B2 (en) Data management in an information-centric network
US10182091B2 (en) Decentralized, hierarchical, and overlay-driven mobility support architecture for information-centric networks
US20190141162A1 (en) Application service delivery through an application service avatar
EP2813060B1 (en) A method for collaborative caching for content-oriented networks
CN114145054A (zh) 用于支持流量导向通过服务功能链的系统和方法
JP2016111703A (ja) 情報指向ネットワークにおけるコンテンツ配置
WO2013038056A1 (en) Offloading traffic to device-to-device communications
US10469348B2 (en) Centrality-based caching in information-centric networks
JP2016082578A (ja) コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置
US20200305042A1 (en) Interest packet routing in information centric networks
US20210392200A1 (en) Systems and methods for remote network topology discovery
JP2013542681A (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
EP2856355A1 (en) Service-aware distributed hash table routing
US9537986B2 (en) Dynamic contact sharing in a mesh network
US9860171B2 (en) Large scale message routing in a distributed network
Dash et al. Flooding control in named data networking
JP2011118593A (ja) データ転送サーバ、データ転送システム、データ転送方法およびプログラム
US9391799B2 (en) Multicast handling in a transparent interconnect of lots of links based data center interconnect
CN107736002B (zh) 基于接近性的服务信息分布式缓存的方法、设备及通信网络
US12063285B2 (en) Selecting from a plurality of items which match an interest
Sharma et al. Entity-Aware Data Management on Mobile Devices: Utilizing Edge Computing and Centric Information Networking in the Context of 5G and IoT
WO2022247875A1 (zh) 建立连接的方法、装置和系统
Yoo et al. Improving of Cache Performance using Trust Value of Nodes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200121