JP6255108B2 - ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法 - Google Patents

ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法 Download PDF

Info

Publication number
JP6255108B2
JP6255108B2 JP2016548053A JP2016548053A JP6255108B2 JP 6255108 B2 JP6255108 B2 JP 6255108B2 JP 2016548053 A JP2016548053 A JP 2016548053A JP 2016548053 A JP2016548053 A JP 2016548053A JP 6255108 B2 JP6255108 B2 JP 6255108B2
Authority
JP
Japan
Prior art keywords
vertices
vertex
packet
destination device
network element
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.)
Expired - Fee Related
Application number
JP2016548053A
Other languages
English (en)
Other versions
JP2017505581A (ja
Inventor
ツリノ,アントニア
ロルカ,ジェイミー
シャンミューガム,カルティケヤン
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2017505581A publication Critical patent/JP2017505581A/ja
Application granted granted Critical
Publication of JP6255108B2 publication Critical patent/JP6255108B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/566Grouping or aggregating service requests, e.g. for unified processing
    • 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
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/75Indicating network or usage conditions on the user display

Description

関連出願の相互参照
本出願は、その全体の内容が、参照により本明細書に組み込まれている、2014年1月22日に出願した米国仮出願第61/930,072号の35U.S.C.§119(e)の下の優先権を主張するものである。
現在では、コンテンツ配信ネットワーク(CDN:content distribution networks)は、オンデマンドのオーディオ/ビデオ・ストリーミングの人気の増大に関連する容量問題及び効率問題に直面している。これらの問題に対処するための1つのやり方は、ネットワーク・キャッシングと、ネットワーク符号化とによるものである。例えば、従来のコンテンツ配信ネットワーク(CDN)の問題解決手法は、ネットワークの内部のキャッシング・ロケーションの間のコンテンツ・コピーの配置のための中央集中されたアルゴリズムを使用している。従来の問題解決手法はまた、LRU(最も長い間使用されていない(least recently used)ポリシー)やLFU(使用頻度が最も低い(least frequently used)ポリシー)などのキャッシュ置換ポリシーを含んでいて、キャッシュ・ヒット率を改善するために分散型キャッシュをローカルに管理している。他の従来の問題解決手法は、ランダム線形ネットワーク符号化を使用して、グループの中でパケットを転送しており、これは、容量の限られたネットワークの中でスループットを改善することができる。
しかしながら、従来のネットワーク・キャッシング問題解決手法と、ネットワーク符号化問題解決手法とは、キャッシング・リソースと、送信リソースとの相対的な効率を考慮してはいない。これは、配信されたオブジェクトまたはファイル当たりの準最適なコストをもたらす。さらに、従来のコンテンツ配信問題解決手法は、ネットワーク・キャッシングと、ネットワーク符号化との可能性のある組み合わされた利点を活用してはいない。
少なくとも1つの例示の実施形態は、キャッシング・フェーズと、配信フェーズとを含むコンテンツ配信のための方法および/またはデバイスを対象としている。
少なくとも1つの例示の実施形態によれば、ネットワークの中でデータ・ファイルを送信するための方法は、データ・ファイルのパケットについての宛先デバイスからの要求を受信するステップを含んでいる。本方法は、各宛先デバイスによって要求される各パケットが、競合グラフの、宛先デバイスに関連づけられている複数の頂点の中の異なる頂点によって表されるように、競合グラフを構築するステップを含んでいる。本方法は、各ラベルが、パケットを要求する宛先デバイスと、パケットを記憶する宛先デバイス・キャッシュとを示すインデックスの集合であるラベルを複数の頂点に割り当てるステップを含んでいる。本方法は、各レベルが、パケットを要求する宛先デバイスの数と、パケットを記憶する宛先デバイス・キャッシュの数とを示すレベルを複数の頂点に割り当てるステップを含んでいる。本方法は、最高のレベルを有する頂点から、最低のレベルを有する頂点へと、複数の頂点を順序付けるステップを含んでいる。本方法は、その順序付けに基づいて、複数の頂点を着色するステップを含んでいる。本方法は、同じカラーを有する複数の頂点の中で頂点によって表されるパケットを結合するステップを含んでいる。本方法は、結合されたパケットを送信するステップを含んでいる。
少なくとも1つの例示の実施形態によれば、各レベルは、パケットを要求する宛先デバイスの数と、要求されたパケットを記憶する宛先デバイス・キャッシュの数との合計である。
少なくとも1つの例示の実施形態によれば、結合するステップは、同じカラーを有する頂点によって表されるパケットに対して有限フィールドの上の線形結合オペレーションを実行する。
少なくとも1つの例示の実施形態によれば、構築するステップは、(i)第1の頂点と、第2の頂点とが、同じパケットを表しておらず、また(ii)第1の頂点によって表されるパケットが、第2の頂点に関連する宛先デバイスのキャッシュに記憶されず、または第2の頂点によって表されるパケットが、第1の頂点に関連する宛先デバイスのキャッシュに記憶されない場合に、複数の頂点のうちの第1の頂点と、第2の頂点との間でリンクを作り出すステップを含んでいる。
少なくとも1つの例示の実施形態によれば、着色するステップは、最高のレベルを有する着色されていない頂点を選択するステップと、(i)部分集合の中の頂点が、入力パラメータに基づいており、また選択された頂点のラベルに基づいている望ましいラベルを有しており、(ii)部分集合の中の頂点は、選択された頂点に対するリンクを有しておらず、(iii)部分集合の中の頂点は、互いの間にリンクを有しておらず、また(iv)部分集合の濃度が、レベルから1を差し引いた値に等しい場合に、選択された頂点に対して、また複数の頂点の中の着色されていない頂点の部分集合に対して、同じカラーを割り当てるステップと、を含む。
少なくとも1つの例示の実施形態によれば、着色するステップは、最高のレベルのすべての頂点が選択されるまで、選択するステップと同じカラーを割り当てるステップのオペレーションを反復して実行するステップを含む。
少なくとも1つの例示の実施形態によれば、着色するステップは、着色されていない頂点の数が最高のレベル以上である場合に、着色されていない最高のレベルにおける頂点に対して追加の着色するオペレーションを実行するステップを含んでいる。着色するステップは、追加の着色するオペレーションの後に、依然として着色されていない最高のレベルの頂点のレベルを最高のレベルの下の次のレベルへとアップデートするステップを含んでいる。
少なくとも1つの例示の実施形態によれば、着色するステップは、競合グラフの複数の頂点か着色されるまで、実行される。
少なくとも1つの例示の実施形態によれば、本方法は、競合グラフのために使用されるカラーの数を減少させるために、複数の着色された頂点に対するローカル・サーチを実行するステップを含んでいる。
少なくとも1つの例示の実施形態によれば、ローカル・サーチを実行するステップは、競合グラフの既存のカラーからあるカラーを選択するステップと、選択されたカラーを用いて頂点を識別するステップと、識別された頂点にリンクされる頂点が、異なるカラーで着色されない場合に、既存のカラーから選択される異なるカラーで選択されたカラーを置換するステップとを含む。
上記の方法は、通信ネットワークの内部のネットワーク要素(例えば、コンテンツ・ソース)によって実行され得ることを理解すべきである。
例示の実施形態は、以下で本明細書において与えられる詳細な説明と、添付の図面とから、より十分に理解されることになり、そこでは、同様な要素は、同様な参照番号によって表され、この参照番号は、例証としてだけ与えられ、またこのようにして例示の実施形態を限定するものではない。
少なくとも1つの例示の実施形態によるコンテンツ配信ネットワークを示す図である。 例示の一実施形態によるネットワーク要素の例示の構造を示す図である。 図2におけるネットワーク要素の例示のオペレーションを示すフロー・チャートである。 図2におけるネットワーク要素の例示のオペレーションを示すフロー・チャートである。 少なくとも1つの例示の実施形態による、配信フェーズについての例示のオペレーションを示す図である。 少なくとも1つの例示の実施形態による、方向づけのない競合グラフを構築するための例示のオペレーションを示す図である。 少なくとも1つの例示の実施形態による、競合グラフを着色するための例示のオペレーションを示す図である。 少なくとも1つの例示の実施形態による、競合グラフを着色するための例示のオペレーションを示す図である。 少なくとも1つの例示の実施形態による、着色された競合グラフを示す図である。
様々な例示の実施形態が、次に、いくつかの例示の実施形態が示される添付の図面を参照して、より十分に説明されるであろう。
詳細な実例となる実施形態が、本明細書において、開示される。しかしながら、本明細書において開示される特定の構造的詳細および機能的詳細は、例示の実施形態を説明する目的のための、単に、代表的なものにすぎない。しかしながら、本発明は、多数の代替的な形態で実施されることもあり、また本明細書において説明される実施形態だけに限定されるように解釈されるべきではない。
それに応じて、例示の実施形態は、様々な修正形態および代替形態とすることができるが、それらの実施形態は、図面において例として示され、また本明細書において詳細に説明されるであろう。しかしながら、開示される特定の形態だけに例示の実施形態を限定する意図は存在していないことを理解すべきである。それとは反対に、例示の実施形態は、本開示の範囲内に含まれるすべての修正形態と、同等形態と、代替形態とを対象として含むべきである。同様な番号は、図面の説明の全体を通して、同様な要素のことを意味している。
第1の、第2の、などの用語を本明細書において使用して、様々な要素を説明することができるが、これらの要素は、これらの用語によって限定されるべきではない。これらの用語を使用して、1つの要素を別の要素から区別するだけである。例えば、本開示の範囲を逸脱することなく、第1の要素は、第2の要素と命名される可能性があり、また同様に、第2の要素は、第1の要素と命名される可能性がある。本明細書において使用されるように、用語「および/または」は、1つまたは複数の関連するリストアップされた項目の任意の組合せ、およびすべての組合せを含んでいる。
ある要素が、別の要素に「接続され(connected)」ている、または「結合され(coupled)」ていると称されるときに、その要素は、他の要素に直接に接続され、または結合される可能性もあり、あるいは介在する要素が存在していてもよい。対照的に、ある要素が、別の要素に「直接に(directly)接続され」ている、または「直接に結合され」ていると称されるときには、介在する要素は存在していない。要素の間の関係を説明するために使用される他の言葉も、同様なやり方(例えば、「間に(between)」に対して「直接に間に(directly between)」、「隣接する(adjacent)」に対して「直接に隣接する(directly adjacent)」など)で解釈されるべきである。
本明細書において使用される専門用語は、特定の実施形態を説明する目的のためだけであり、限定することを意図してはいない。本明細書において使用されるように、単数形の形式「1つの(a)」、「1つの(an)」、および「その(the)」は、文脈が、明らかにそうでない場合を示していない限り、同様に複数形の形式を含むことを意図している。用語「備える/含む(comprises)」、「備えている/含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」は、本明細書において使用されるときに、述べられた特徴、整数、ステップ、オペレーション、要素、および/またはコンポーネントの存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、および/またはそれらのグループの存在もしくは追加を除外するものではないことが、さらに理解されるであろう。
いくつかの代替的な実装形態においては、指摘される機能/動作は、図面の中で指摘される順序を外れて、起きることができることにも注意すべきでもある。例えば、連続して示される2つの図は、必要とされる機能/動作に依存して、実際には、実質的に同時に実行されることもあり、または時には、逆の順序で実行されることもある。
特定の詳細が、以下の説明において提供されて、例示の実施形態の完全な理解を提供している。しかしながら、例示の実施形態は、これらの特定の詳細なしに、実行され得ることが、当業者によって理解されるであろう。例えば、システムは、不必要な詳細の中で例示の実施形態をあいまいにしないようにするために、ブロック図の形で示されることもある。他の例においては、よく知られているプロセス、構造、および技法は、例示の実施形態をあいまいにすることを回避するために、不必要な詳細なしに示されることもある。
以下の説明においては、実例となる実施形態は、プログラム・モジュールまたは機能プロセスが、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むように実施され得る、特定のタスクを実行し、または特定の抽象データ型を実施し、また既存のネットワーク要素(例えば、基地局、基地局制御装置、ノードB(NodeB)、eノードB(eNodeB)など)における既存のハードウェアを使用して実施され得るオペレーションの動作およびシンボリック表現(例えば、フロー・チャート、流れ図、データ・フロー図、構造図、ブロック図などの形式で)を参照して、説明されるであろう。そのような既存のハードウェアは、1つまたは複数の中央演算処理装置(CPU:Central Processors)、デジタル信号プロセッサ(DSP:digital signal processors)、特定用途向け集積回路(application−specific−integrated−circuits)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate arrays)コンピュータなどを含むことができる。
フロー・チャートは、逐次的プロセスとしてオペレーションを説明することができるが、オペレーションの多くは、並列に、同時に、または並行して実行されることもある。さらに、オペレーションの順序は、配列し直されることもある。プロセスは、そのオペレーションが完了されるときに終了されることもあるが、図面の中に含まれていない追加のステップを有することもできる。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが、ある関数に対応するときに、その終了は、呼び出し関数、またはメイン関数に対する、関数のリターンに対応することができる。
本明細書において開示されるように、用語「ストレージ媒体」または「コンピュータ読取り可能ストレージ媒体」は、リード・オンリー・メモリ(ROM:read only memory)、ランダム・アクセス・メモリ(RAM:random access memory)、磁気RAM、コア・メモリ、磁気ディスク・ストレージ媒体、光ストレージ媒体、フラッシュ・メモリ・デバイス、および/または情報を記憶するための他の有形マシン読取り可能媒体を含めて、データを記憶するための1つまたは複数のデバイスを表すことができる。用語「コンピュータ読取り可能媒体」は、それだけには限定されないが、ポータブル・ストレージ・デバイスもしくは固定ストレージ・デバイスと、光ストレージ・デバイスと、命令(単数または複数)および/またはデータを記憶し、含み、あるいは搬送することができる様々な他の媒体とを含むことができる。
さらに、例示の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実施されることもある。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードの形で実施されるときに、必要なタスクを実行するプログラム・コードまたはコード・セグメントは、コンピュータ読取り可能ストレージ媒体など、マシン読取り可能媒体またはコンピュータ読取り可能媒体に記憶されることもある。ソフトウェアの形で実施されるときに、1つまたは複数の専用プロセッサが、必要なタスクを実行するであろう。
コード・セグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェア・パッケージ、クラス、または命令、データ構造もしくはプログラム・ステートメントの任意の組合せを表すことができる。コード・セグメントは、情報、データ、引き数、パラメータ、またはメモリ・コンテンツを渡すこと、および/または受信することにより、別のコード・セグメントまたはハードウェア回路に結合されることもある。情報、引き数、パラメータ、データなどは、メモリ共有化、メッセージ・パッシング、トークン・パッシング、ネットワーク送信などを含む任意の適切な手段を経由して、渡され、転送され、または送信されることもある。
図1は、少なくとも1つの例示の実施形態によるコンテンツ配信ネットワークを示すものである。
図1に示されるように、コンテンツ配信ネットワーク(CDN)は、複数の宛先デバイス(またはユーザ・デバイス)200に接続されたネットワーク要素151を含むことができる。ネットワーク要素151は、データ・ファイル(例えば、映画ファイル)を配信するためのコンテンツ・ソース(例えば、マルチキャスト・ソース)とすることができる。宛先デバイス200は、コンテンツ・ソースからデータを要求するエンド・ユーザ・デバイスとすることができる。例えば、各宛先デバイス200は、ユーザが要求されたデータにアクセスすることができるようにするデバイスの一部分とすることができ、またはそのデバイスに関連づけられることもある。例えば、各宛先デバイス200は、セット・トップ・ボックス、パーソナル・コンピュータ、タブレット、モバイル電話、あるいはオーディオまたはビデオをストリーミングするために使用される関連する任意の他のデバイスとすることができる。宛先デバイス200のそれぞれは、ネットワーク要素151から受信されるデータを記憶するためのメモリを含むことができる。ネットワーク要素151と、宛先デバイス200との構造およびオペレーションは、図2および3を参照して以下でより詳細に説明されるであろう。
図2は、例示の実施形態によるネットワーク要素の例示の構造を示す図である。少なくとも1つの例示の実施形態によれば、ネットワーク要素151は、通信ネットワーク(例えば、図1のコンテンツ配信ネットワーク(CDN))における使用のために構成されていることもある。図2を参照すると、ネットワーク要素151は、例えば、データ・バス159と、トランスミッタ152と、レシーバ154と、メモリ156と、プロセッサ158とを含むことができる。簡潔にするために、別個の説明が、ここで含められていないが、各宛先デバイス200は、ネットワーク要素151と同じ、または類似した構造を有することができることが、理解されるべきである。
トランスミッタ152と、レシーバ154と、メモリ156と、プロセッサ158とは、データ・バス159を使用して互いにデータを送信し、かつ/または互いからのデータを受信することができる。トランスミッタ152は、通信ネットワークにおける他のネットワーク要素に対する1つまたは複数のワイヤレス接続を経由して、例えば、データ信号と、制御信号と、信号強度/品質情報とを含むワイヤレス信号を送信するためのハードウェアと、任意の必要なソフトウェアとを含むデバイスである。
レシーバ154は、通信ネットワークにおける他のネットワーク要素に対する1つまたは複数のワイヤレス接続を経由して、例えば、データ信号と、制御信号と、信号強度/品質情報とを含むワイヤレス信号を受信するためのハードウェアと、任意の必要なソフトウェアとを含むデバイスである。
メモリ156は、磁気ストレージ、フラッシュ・ストレージなどを含む、データを記憶することができる任意のデバイスとすることができる。
プロセッサ158は、例えば、入力データに基づいて、特定のオペレーションを実行するように構成された、またはコンピュータ読取り可能コードに含まれる命令を実行することができる、専用プロセッサを含めて、データを処理することができる任意のデバイスとすることができる。例えば、以下で説明される修正形態と、方法とは、メモリ156の上に記憶され、またネットワーク要素151の内部のプロセッサ158によって実施されることもあることを理解すべきである。
さらに、以下の修正形態と、方法とは、ネットワーク要素151の1つまたは複数の上記で説明された要素によって実行され得ることを理解すべきである。例えば、レシーバ154は、「受信するステップ」と、「獲得するステップ」などとを実行することができ、トランスミッタ152は、「送信するステップ」と、「出力するステップ」と、「送るステップ」などとを実行することができ、プロセッサ158は、「決定するステップ」と、「生成するステップ」と、「相互に関連づけるステップ」と、「算出するステップ」などとを実行することができ、またメモリ156は、「記憶するステップ」と、「保存するステップ」などとを実行することができる。
例示の実施形態は、キャッシング・フェーズ(図3Aおよび3Bを参照して以下で説明される)と、配信フェーズ(図4〜図7を参照して以下で説明される)とを対象としていることを理解すべきである。図3〜図6は、図2におけるネットワーク要素の例示のオペレーションを示すフロー・チャートである。例えば、図3Aおよび図3Bは、通信ネットワークにおいて、キャッシングの方法を実行するための例示のオペレーションを示すものである。図4〜図6は、キャッシング方法が実行された後に、データ・ファイルを配信するための例示のオペレーションを示すものである。
図3Aおよび図3Bは、以下のアルゴリズム1に関連したキャッシング配信方法を実行するためのものであり、ここで、各データ・ファイル「f」は、有限フィールドのシンボルとして表される「B」個の等しいサイズのパケットへと分割され、またライブラリ「F」に属することを理解すべきである。
Figure 0006255108
アルゴリズム1において、
Figure 0006255108
は、「u」の宛先デバイス200のキャッシング分布であり、ここで、u=1,・・・,nを用いた∀uに対して、
Figure 0006255108
であり、また∀f=1,・・・,m、u=1,・・・,nに対して0≦pf,u≦1/Mであり、「m」は、ネットワーク要素151によってホストされるファイルの数であり、また「M」は、宛先デバイス「u」(すなわち、宛先デバイス200)におけるキャッシュのストレージ容量であり、またMu,f=pf,uBは、ユーザuにおいてキャッシュされるファイルfのパケットを示している。ネットワーク要素151は、宛先「u」のデバイス200が、ファイル「f」のMu.f=pf,uB個のパケットをキャッシュするように、アルゴリズム1を実行する。さらに、アルゴリズム1のランダム化された性質は、2つの宛先が、与えられたファイル「f」について同じ数のパケットをキャッシュする場合、そのときには、2つの宛先デバイス200のうちのそれぞれが、同じファイル「f」の異なるパケットをキャッシュするように、ネットワーク要素151が、オペレーションを実行することを可能にする。アルゴリズム1は、以下で図3Aおよび図3Bにおいて説明されるオペレーションに従って、ネットワーク要素151によって実施されることもある。
図3Aを参照すると、オペレーション300において、ネットワーク要素151は、複数のデータ・ファイルについての人気を決定することができる。データ・ファイルは、例えば、ビデオ・ファイルおよび/またはオーディオ・ファイルとすることができる。ネットワーク要素151は、宛先デバイス200のうちの少なくとも1つからの複数のデータ・ファイルについての要求(例えば、ユーザ要求)に基づいて、人気を決定することができる。ユーザ要求は、データ・ファイルについての需要分布を形成することができる。ネットワーク要素151は、すべての宛先デバイス200の需要分布に従って人気を決定することができる。この場合には、需要分布は、ジップ(Zipf)分布に従うことができる。代わりに、ネットワーク要素151は、各宛先デバイスごとの人気を決定することができ、ここでは、各宛先デバイス200は、関連する需要分布を有している。
ネットワーク要素151は、宛先デバイス200からのデータ・ファイルについての要求の数に基づいて人気を決定することができる。例えば、ネットワーク要素151は、宛先デバイス200によって100回要求されるデータ・ファイルを50回要求されるデータ・ファイルよりもより高い人気を有するものとして決定する。したがって、人気は、どのデータ・ファイルが、宛先デバイス200のユーザによって最も頻繁に要求され、また閲覧されるかに基づいたものとすることができる。
ネットワーク要素151は、各データ・ファイルを複数のパケットへと分割することができる。例えば、ネットワーク要素151は、各データ・ファイルを同じ数のパケット(例えば、3つのパケット)へと分割することができる。それに応じて、オペレーション310においては、ネットワーク要素151は、オペレーション300の中で決定される人気に基づいて、少なくとも1つの宛先デバイスに対して複数のデータ・ファイルのランダム・パケットを送信することができる。例えば、ネットワーク要素151は、ランダム・パケットが各宛先デバイス200に記憶される(またはキャッシュされる)ように各データ・ファイルのランダム・パケットを宛先デバイス200に対して送信することができる。
ネットワーク要素151は、各宛先デバイス200が、決定された人気と、入力パラメータ(例えば、宛先デバイスの数、人気分布、各宛先デバイスのキャッシュ・サイズ、ネットワーク要素151におけるデータ・ファイル・ライブラリのサイズなど)とに基づいて、データ・ファイルのうちの少なくとも1つについての与えられた数のランダム・パケットを受信するように、ランダム・パケットを送信することができる。例えば、宛先デバイス200が、同じサイズのキャッシュと、同じ需要分布とを有する(例えば、宛先デバイスが、一様である)場合に、ネットワーク要素151は、各宛先デバイス200に対して同じ数のパケットを送信することができる。一例においては、10個のパケットへと分割される2つの宛先デバイス1および2と、2つのファイルAおよびBとが、存在していることを仮定する。(i)宛先デバイス1および2が、同じ頻度でファイルAおよびファイルBを要求し、またファイルAが、ファイルBよりも多い頻度で両方の宛先によって要求され、また(ii)2つの宛先デバイス1および2が、同じキャッシュ・サイズを、例えば、パケットの観点から6つのユニットを有する場合、そのときには、ネットワーク要素151は、両方の宛先デバイス1および2が、ファイルAのうちの4つのパケットと、ファイルBのうちの2つのパケットをキャッシュするように、キャッシングの方法を実行するであろう。
ネットワーク要素151が、オペレーション300において、宛先デバイス当たりに基づいて、人気を決定した場合、そのときには、ネットワーク要素151は、オペレーション310において、宛先デバイス当たりに基づいて、ランダム・パケットを送信することができる。例えば、宛先デバイス200が、異なるサイズのキャッシュまたは異なる需要分布を有する場合、ネットワーク要素151は、各宛先に対して異なる数のパケットを送信することができる。この場合には、上記の例を参照すると、宛先デバイス1は、ファイルAのうちの7つのパケットと、ファイルBのうちの3つのパケットとを受信することができるが、宛先デバイス2は、ファイルAのうちの2つのパケットと、ファイルBのうちの5つのパケットとを受信することができる。これは、宛先デバイス1が、ファイルAをファイルBよりもずっと多く要求し、またパケットの観点で10個のユニットの総キャッシュ・サイズを有しているが、宛先2デバイスは、ファイルBよりもずっと少なくファイルAを要求し、またパケットの観点で7つのユニットの総キャッシュ・サイズを有していることに起因する可能性がある。
図3Bは、必要に応じて、オペレーション300と、310との間で実行され得るネットワーク要素151の例示のオペレーションを示すものである。例えば、図3Aにおけるオペレーション300に従って、ネットワーク要素151は、決定された人気に基づいて、データ・ファイルをランク付けすることができる。例えば、オペレーション301において、ネットワーク要素151は、オペレーション300において決定される人気を使用して、最も人気のあるデータ・ファイルから最も人気のないデータ・ファイルまでデータ・ファイルをランク付けすることができる。
オペレーション302において、ネットワーク要素151は、各データ・ファイルについて、ランキングに基づいて、いくつかのランダム・パケットを選択することができる。例えば、ネットワーク要素151は、各データ・ファイルのそれぞれのランクと、ネットワークの入力パラメータ(例えば、宛先デバイスの数、人気分布、各宛先デバイスのキャッシュ・サイズ、ネットワーク要素151におけるデータ・ファイル・ライブラリのサイズなど)とのうちの少なくとも1つに従って、各宛先デバイスについて、またデータ・ファイルのそれぞれについて異なる数のランダム・パケットを選択する。オペレーション302の後に、ネットワーク要素151は、図3Aにおけるオペレーション310へと戻り、各データ・ファイルについての選択された数のランダム・パケットを送信することができる。
オペレーション302は、ネットワーク要素151が、少なくとも1つのしきい値に基づいて、ランク付けされたデータ・ファイルを少なくとも第1の部分集合と、第2の部分集合とに分割することを含むことができることを理解すべきである。少なくとも1つのしきい値は、経験的証拠に基づいており、かつ/またはユーザ定義されたものとすることができる。第1の部分集合は、第2の部分集合よりも高くランク付けされたデータ・ファイルを含むことができる。このようにして、オペレーション310においては、ネットワーク要素151は、第1の部分集合の中のデータ・ファイルだけについて、選択された数のランダム・パケットを送信することができる。これは、宛先デバイス200におけるパケットのより効率の高いキャッシングを可能にすることができる。
図3Aおよび3Bを参照して説明されるオペレーションは、より人気のあるファイルのより多くのパケットをキャッシュし、また宛先デバイス200によってまとめてキャッシュされる各ファイルの異なるパケットの量を増大させ(または代わりに、最大にし)、また従来のマルチキャスティングに比べて、送信の数を低減させるスキームの能力のために、改善されたネットワークの性能を実現することを理解すべきである。
上記で説明されたキャッシング方法に関連して、本出願は、データ・ファイルの要求されたパケットが、宛先デバイス200に対して配信される配信フェーズのための例示の方法を開示している。配信フェーズのための例示の方法は、グラフ理論に基づいている。
図4は、少なくとも1つの例示の実施形態による配信フェーズのための例示のオペレーションを示すものである。図4を参照すると、オペレーション400において、ネットワーク要素151は、データ・ファイルのパケットについての、宛先デバイス200(またはユーザ・デバイス)からの要求を受信する。ネットワーク要素151は、上記で説明されるキャッシング方法を既に実行しているので、各宛先デバイス200は、キャッシング方法の結果として、キャッシュされ(または記憶され)なかったこれらのパケットだけを要求する。したがって、配信フェーズは、各宛先デバイス200に対して、要求されたファイルのうちの欠けている部分(単数または複数)を、すなわち、その宛先デバイス200のメモリから失われているパケットを提供することを含んでいる。
オペレーション410において、ネットワーク要素151は、競合グラフを構築する。例えば、ネットワーク要素151は、各宛先デバイス200によって要求される各パケットが、競合グラフの複数の頂点の中の異なる頂点によって表されるように、複数の頂点を用いて競合グラフに追加する。それゆえに、たとえ同じパケットが、K人の異なるユーザによって要求されるとしても、パケットは、競合グラフの中のK個の異なる頂点として表される。言い換えれば、競合グラフの中の各頂点は、宛先デバイス200と、要求されたパケットとの固有の対に関連づけられる。したがって、競合グラフの各頂点は、宛先デバイス200に関連づけられ、また宛先デバイス200によって要求されるパケットを表す。さらに、ネットワーク要素151は、複数の頂点のうちのどれが、同じ要求されたパケットを表すかと、どの要求されたパケットが、宛先デバイス200に属するキャッシュに記憶されるかと、に基づいて、競合グラフを構築することができる。オペレーション410は、図5および6を参照して、以下でさらに詳細に説明される。
依然として図4を参照すると、オペレーション420において、ネットワーク要素151は、複数の頂点を元のレベルに割り当てることができる。それぞれの元のレベルは、パケットについての要求の数と、パケットを記憶するユーザ宛先200のキャッシュの数とを示すことができる。例えば、各レベルは、パケットを要求するユーザの宛先の数と、要求されたパケットを記憶するユーザ・デバイス・キャッシュの数との合計とすることができる。したがって、パケットが、4つの宛先デバイス200によって要求され、また宛先デバイス200のうちの3つが、パケットを記憶している場合、そのときには、そのパケットに関連する頂点についての元のレベルは、3+4=7である。
依然として図4を参照すると、オペレーション420において、ネットワーク要素151はまた、複数の頂点にラベルを割り当てることもできる。各ラベルは、頂点に対応するパケットを要求する宛先デバイス200、およびパケットを記憶する宛先デバイス200のキャッシュを示すことができる。例えば、各ラベルは、宛先デバイス200がパケットを要求することに対応し、また宛先デバイス200が、要求されたパケットを記憶することに対応するインデックスの集合とすることができる。例えば、パケットが、4つの宛先デバイス200(例えば、ユーザ1、ユーザ3、ユーザ5、ユーザ10)によって要求され、また宛先デバイス200のうちの3つ(例えば、ユーザ2、ユーザ4、ユーザ8)が、要求されたパケットを記憶している場合、そのときには要求されたパケットに関連する頂点についてのインデックスの集合は、
Figure 0006255108
である。ここで、ラベルの長さは、7(すなわち、パケットを要求する宛先デバイスの数と、パケットを記憶する宛先デバイス・キャッシュの数との合計)である。
オペレーション430において、ネットワーク要素151は、割り当てられたレベルに基づいて、頂点を順序付けることができる。例えば、ネットワーク要素151は、着色するオペレーションに備えて、最高のレベルから最低のレベルまでの頂点を順序付けることができる。
オペレーション445において、ネットワーク要素151は、競合グラフの上の要求されたパケットをラベル付けするやり方として、複数の頂点に着色する。例えば、ネットワーク要素151は、オペレーション430において決定される順序に基づいて、複数の頂点に着色する。オペレーション455が、図6に関して、以下でさらに詳細に考察される。
オペレーション480において、ネットワーク要素151は、同じカラーを有する頂点によって表される要求されたパケットを結合する。例えば、ネットワーク要素151は、同じカラーを有する頂点によって表されるパケットに対して排他的論理和(XOR:exclusive−OR)オペレーション(または有限フィールドの上の他の線形結合オペレーション)を実行する。
オペレーション490において、ネットワーク要素151は、結合されたパケットを送信する。例えば、ネットワーク要素151は、マルチキャスト送信を経由して、結合されたパケットを宛先デバイス200に対して送信する。送信に先立ってパケットを結合することにより、少なくとも1つの例示の実施形態による配信方法が、ネットワーク要素151の送信の数を低減させることができ、これは、消費電力を低減させ、またネットワーク効率を改善させることができることを理解すべきである。宛先デバイス200は、XORオペレーションの組(または他の線形結合オペレーションの組)を使用して、送信された結合されたパケットを受信し、また復号することができることを理解すべきである。例えば、宛先デバイス200は、そのキャッシュされたパケットをキーとして使用して、結合されたパケットを復号することができる。
図5は、少なくとも1つの例示の実施形態による競合グラフを構築するための例示のオペレーションを示すものである。例えば、図5は、図4からのオペレーション410をさらに詳細に考察している。図5は、方向づけのない競合グラフを構築するための例示のオペレーションを示すものである。方向づけのない競合グラフは、本出願において、階層的グリーディ着色(HgC:hierarchical greedy coloring)スキームと称される着色スキームと組み合わせて使用されることもある。この着色スキームは、図6を参照して、以下でより詳細に説明される。
図5を参照すると、オペレーション511において、ネットワーク要素151は、オペレーション410において追加される複数の頂点からの頂点「Vi」と、「Vj」とを分析する。オペレーション513において、ネットワーク要素が、頂点ViとVjとが同じ要求されたパケットを表すことを決定する場合、そのときにはネットワーク要素151は、オペレーション515において、2つの頂点の間のリンク(またはエッジ)を作り出さない。次いで、ネットワーク要素151は、オペレーション531へと進んで、競合グラフの中の頂点のすべてが、分析されているかどうかを決定する。
オペレーション513において、ネットワーク要素151は、頂点ViとVjとが、同じ要求されたパケットを表さないことを決定する場合、そのときにはネットワーク要素151は、オペレーション517へと進み、また頂点Viに関連する、すなわち、頂点Viによって表されるパケットを要求する宛先デバイス200のキャッシュ(またはメモリ)をチェックする。オペレーション519において、ネットワーク要素151が、頂点Vjを表すパケットが頂点Viによって表されるパケットを要求する宛先デバイス200のキャッシュの中で使用可能ではないことを決定する場合、そのときにはネットワーク要素151は、オペレーション521において、頂点Viと頂点Vjとの間にリンクを作り出す。次いで、ネットワーク要素151は、オペレーション531へと進んで、競合グラフの中の頂点のすべてが、分析されているかどうかを決定する。
オペレーション519において、ネットワーク要素151が、頂点Vjを表すパケットが頂点Viに関連する、また頂点Viによって表されるパケットを要求する宛先デバイス200のキャッシュにおいて使用可能であることを決定する場合、そのときにはネットワーク要素151は、オペレーション523において、頂点Vjに関連する、また頂点Vjによって表されるパケットを要求する宛先デバイス200のキャッシュをチェックする。オペレーション525において、頂点Viを表すパケットが、頂点Vjに関連する、また頂点Vjによって表されるパケットを要求する宛先デバイス200のキャッシュにおいて使用可能ではない場合、そのときにはネットワーク要素151は、競合グラフの中の頂点のすべてが分析されているかどうかを決定するオペレーション531へと進む前に、オペレーション527において、頂点ViとVjとの間にリンクを作り出す。
オペレーション525において、ネットワーク要素151が、頂点Viを表すパケットが頂点Vjに関連する、また頂点Vjによって表されるパケットを要求する宛先デバイス200のキャッシュにおいて使用可能である場合、そのときにはネットワーク要素151は、オペレーション529において、頂点ViとVjとの間のリンクを作り出す。次いで、ネットワーク要素151は、オペレーション531へと進んで、競合グラフの中の頂点のすべてが分析されているかどうかを決定する。
ひとたびネットワーク要素151が、競合グラフの中の頂点のすべてを分析した後に、次いで、ネットワーク要素151は、オペレーション533において、構築された競合グラフを戻す。
図5を考慮すると、(i)第1の頂点と、第2の頂点とが、同じパケットを表さず、また(ii)第1の頂点によって表されるパケットが、第2の頂点に関連する、また第2の頂点によって表されるパケットを要求するユーザ・デバイスのキャッシュに記憶されず、または第2の頂点によって表されるパケットが、第1の頂点に関連する、また第1の頂点によって表されるパケットを要求するユーザ・デバイスのキャッシュに記憶されない場合に、図4における構築するオペレーション410は、複数の頂点のうちの第1の頂点と第2の頂点との間にリンクを作り出すオペレーションによって要約されることもあることを理解すべきである。
図6は、少なくとも1つの例による、競合グラフを着色するための例示のオペレーションを示すものである。図6のオペレーションは、以下で考察されるアルゴリズムに関連している。
Figure 0006255108
上記のアルゴリズム(「HgCアルゴリズム」と称される)において、f(v)は、競合グラフの中の頂点vによって表されるパケットとする。Uをユーザ宛先デバイスの集合として定義すると、K={∀u∈U:f(v)∈Q∪C}であり、式中で、Qは、ユーザ宛先デバイスuによって要求されるすべてのパケットの集合であり、またCは、ユーザ宛先デバイスuによる、すべてのキャッシュされたパケットの集合である。本発明者等は、Kを頂点「v」に関連するラベルと呼ぶ。例えば、パケットA(f(v)=A)を表す頂点vが、ユーザ宛先デバイス1とユーザ宛先デバイス2とによって要求され、またユーザ宛先デバイス3とユーザ宛先デバイス4とにキャッシュされる場合、そのときには、
Figure 0006255108
である。
={v:|K|=i}とする。本発明者等は、Gを元の階層(またはレベル)として考える。本発明者等は、階層(またはレベル)nから開始し、この階層(またはレベル)nは、最高の階層またはレベルである。それらが、同じ|K|=nを有しており、またそのような集合の濃度が、nに等しく、また競合グラフの中のそのような集合のうちの任意の2つの頂点の間にリンクが存在していない(すなわち、グリーディなやり方で、サイズ「n」を有する独立した集合を検索する)場合に、最初に、本発明者等は、同じカラーを用いてGの中の頂点の部分集合を着色する(同じ|K|を有しており、また競合グラフにおいてリンクによって接続されていない2つのノードは、それらが、同じKを有することを述べることと同等であることに注意すべきである。)。次いで、本発明者等は、Gの中の着色されていない頂点の残りをGn−1とマージ(すなわち、Gn−1≡Gn−1∪G、HgCアルゴリズムのライン35)して、新しい階層(またはレベル)n−1をもたらす。
階層(またはレベル)n−1において、|K|=n−1となるようなすべてのKについて、それらが、同じ|K|=n−1を有しており、そのような集合の濃度が、nに等しく、またそのような集合のうちの任意の2つの頂点の間にリンクが存在していない場合に、本発明者等は、最初に、同じカラーを用いて、Gn−1の中の頂点の部分集合を着色する。次いで、本発明者等は、Gn−1の中の頂点の残りを着色しようと試みる。
n−1の中の頂点の残りを着色するために本発明者等が使用する判断基準は、本発明者等が、第1に、HgCアルゴリズムのライン19の中に示されるW∈Gn−1から頂点vをランダムに選択することであり、ここで、Wは、HC,Qにおいて、「小さな」|K|、v∈Gn−1または「大きな程度」を有する頂点の集合を示しており、またここで値a∈[0,1]は、Wのサイズを制御する。例えば、a=0である場合、そのときにはWは、最小の|K|、v∈Gn−1を有する頂点を示している。
第2に、本発明者等は、同じカラーを用いて、選択された頂点vと、頂点v’∈W⊆G\{v}とに着色しようと試みており、ここでWは、v’∈G\{v}を用いてその|Kv’|が、グリーディなやり方で|K|に「近接して」いる「i」レベルにおける着色されていない頂点の集合として規定される。パラメータa∈[0,1]と同様に、この近さは、アルゴリズムの中のライン22において示されるように、別のパラメータb∈[0,1]によって取り込まれる。例えば、b=0である場合、そのときには本発明者等は、|Kv’|−|K|が最小にされるように、頂点v’から開始する。ここで、本発明者等は、グリーディなやり方で、i番目の階層(またはレベル)において、少なくとも「i」のサイズを有する独立した集合を探している。
この第2の着色するプロシージャの後に、本発明者等は、次の階層(またはレベル)の頂点と着色されていない頂点とを一体化しており、この次の階層(またはレベル)は、この場合には、Gn−2である。次いで、本発明者等は、すべての階層(またはレベル)について同じプロシージャを反復する。
最後に、本発明者等は、LocalSearch(ローカル・サーチ)と呼ばれる関数を使用して、HgCアルゴリズムのライン39における最後の競合グラフのために使用されるカラーの数をさらに低減させる。LocalSearchの詳細は、以下のアルゴリズムによって与えられる。
Figure 0006255108
ここで、N(j)は、頂点「j」の隣接する頂点(頂点「j」を除外する)を示すものとする。明確にするために、本発明者等は、コンマを使用して、Aを要求するユーザ宛先デバイスと、Aをキャッシュするユーザ宛先デバイスとを分離している。さらに、cは、着色を示す望ましいベクトルである。HgCアルゴリズムの複雑度は、O(n)である。
図6に示されるオペレーションは、a=0およびb=0についてのHgCアルゴリズムに関連しており、また図4におけるオペレーション445の一部分として実行されるオペレーションに対応していることを理解すべきである。最初に、ネットワーク要素151は、競合グラフの中の頂点としての「V」と、着色された頂点の集合としてのV_1と、着色されていない頂点の集合としてのV_2とを規定する。着色するオペレーションが開始される前に、集合V_1は空集合であり、またV_2=Vである。
オペレーション600において、ネットワーク要素151は、レベルj=nとなるように初期化し、ここでnは、割り当てられたレベルのうちからの最高のレベルを示している(頂点は、オペレーション430において、それらの割り当てられたレベルに基づいて、順序付けられたことを思い出して欲しい)。オペレーション605において、ネットワーク要素151は、分析のためにレベル「j」を選択する。
オペレーション610において、ネットワーク要素151は、ラベルの長さがjに等しいレベルjに属する頂点「v’」を選択し、また分析されるようにその頂点にマーク付けする。オペレーション615において、ネットワーク要素151は、頂点の集合「L」を形成する。ネットワーク要素151は、i)頂点vと同じラベルの長さを有し(すなわち、同じ|K|を有し)、ii)着色されておらず、iii)互いにリンクされておらず、またiv)頂点vにリンクされていないレベルjにおける頂点を用いて集合Lを形成する。オペレーション620においては、ネットワーク要素151は、(頂点vを含む)集合Lの中の頂点の数が、レベルjの数に等しいかどうかを決定する。等しくない場合、そのときにはネットワーク要素151は、集合Lの中の頂点に対してカラーを割り当てず、またオペレーション635へと進んで、レベルjにおけるすべての頂点が分析されているかどうかをチェックする。集合Lの中の頂点の数がjに等しい場合、そのときにはネットワーク要素151は、オペレーション625において、新しいカラー(例えば、競合グラフの中でまだ使用されていないカラー)を選択する。オペレーション630において、ネットワーク要素151は、集合Lの中の頂点に新しいカラーを割り当て、集合V_1の中に集合Lの中の頂点を含んでおり、また集合V_2から集合Lの中の頂点を取り除く。
次いで、オペレーション635において、ネットワーク要素151は、jというラベルの長さを有しているレベルjにおける頂点のすべてが分析されているかどうかを決定する。分析されていない場合、そのときにはネットワーク要素151は、オペレーション605へと戻る。分析されている場合、そのときにはネットワーク要素151は、オペレーション640へと進む。
オペレーション640において、ネットワーク要素151は、レベルjにおけるどの頂点が着色されていないかを決定し、これらの着色されていない頂点を分析されていないとしてマーク付けし、ラベルがレベルj以上の長さを有している頂点「w」を選択し、また頂点「w」を分析されるようにマーク付けする。これは、a=0であるときに、Gn−1の中の頂点のうちの残りに着色することに関して、上記の説明と同等である。
オペレーション645において、ネットワーク要素151は、集合Lを空集合に再設定し、また互いにリンクされておらず、また頂点「w」にリンクされていないjに最も近い(またはj以上の)長さを有するラベルを有するレベルjの中に依然として着色されていない頂点を含むように、集合Lを形成する。オペレーション650において、ネットワーク要素151は、(頂点「w」を含む)集合Lの中の頂点の数が、「j」以上であるかどうかを決定する。「j」以上でない場合、そのときにはネットワーク要素151は、どのような頂点にも着色せず、またオペレーション665へと進んで、レベルjにおけるすべての頂点が分析されているかどうかを決定する。
オペレーション650において、ネットワーク要素151が、集合Lの中の頂点の総数がj以上であることを決定する場合、そのときにはネットワーク要素151は、オペレーション655において、新しいカラー(例えば、競合グラフの中でまだ使用されていないカラー)を選択する。オペレーション660において、ネットワーク要素151は、集合Lの中の頂点に新しいカラーを割り当て、集合V_1の中に集合Lの中の頂点を含んでおり、また集合V_2から集合Lの中の頂点を取り除く。オペレーション665において、ネットワーク要素151は、レベルjにおけるすべての頂点が分析されているかどうかを決定する。分析されていない場合、そのときにはネットワーク要素151は、オペレーション640へと戻る。分析されている場合、そのときには、オペレーション668において、ネットワーク要素151は、レベルjにおけるすべての着色されていない頂点を次により低いレベルへと移動させて、レベルj−1にもともと属しているすべての頂点の、レベルjに属している着色されていない頂点との結合によって与えられる新しいレベルj−1を作り出す。次に、オペレーション670においては、ネットワーク要素151は、レベルjが、1(または割り当てられたレベルのうちからの最低の割り当てられたレベル)に等しいかどうかを決定する。
レベルjが、1(または割り当てられたレベルのうちからの最低の割り当てられたレベル)に等しい場合、そのときにはネットワーク要素151は、オペレーション677へと進む。そうでない場合には、オペレーション675において、ネットワーク要素151は、レベルjをj−1に設定し、またオペレーション605へと戻る。オペレーション675において、ネットワーク要素151は、レベルjにとどまっている任意の着色されていない頂点を次の最低のレベル(すなわち、j−1)へと配置して、競合グラフのすべての頂点が、カラーを割り当てられることを保証することを理解すべきである。オペレーション677において、ネットワーク要素は、競合グラフにおいて使用されるカラーの総数を低減させる試みの中で、ローカル・サーチを実行する。例えば、ネットワーク要素151は、競合グラフの既存のカラーからあるカラーを選択し、選択されたカラーを有する頂点を識別し、また識別された頂点にリンクされる頂点が、異なるカラーを用いて着色されていない場合に、既存のカラーから選択される異なるカラーと、選択されたカラーを置換する。このようにして、選択されたカラーは、既存のカラーの集合から取り除かれる。次いで、ネットワーク要素151は、オペレーション680において、問題解決手法として着色された競合グラフを戻す。
図6に示されるオペレーションを考慮すると、(i)部分集合の中の頂点が入力パラメータに基づいており、また選択された頂点のラベルの長さに基づいている望ましい長さを有する割り当てられたラベルを有しており、(ii)部分集合の中の頂点が、選択された頂点に対するリンクを有しておらず、(iii)部分集合の中の頂点が、互いの間にリンクを有しておらず、また(iv)部分集合の濃度が、そのレベルから1を差し引いた値に等しい場合に、図6のオペレーションは、ネットワーク要素151が、最高のレベルを有する着色されていない頂点を選択することと、選択された頂点に、また複数の頂点の中の着色されていない頂点の部分集合に、同じカラーを割り当てることとに対応している可能性があることもまた、理解すべきである。図6のオペレーションは、ネットワーク要素151が、最高のレベルのすべての頂点が選択されるまで、反復して、同じカラー・オペレーションを選択すること、および割り当てることを実行することと、依然として着色されていない最高のレベルの頂点を最高のレベルの下の次のレベルへとアップデートすることとに対応していること、をさらに理解すべきである。さらにまた、図6のオペレーションは、競合グラフの頂点のすべてが着色されるまで、ネットワーク要素151によって実行されることを理解すべきである。さらにまた、レベルはまた、階層と称されることもあり、またレベル(または階層)「j」に割り当てられる頂点の集合は、Gを用いて示され、そのようにしてレベルjにとどまっているすべての着色されていない頂点をレベルj−1へと配置するオペレーションは、集合Gj−1を形成することと同等であることを理解すべきである。Gj−1を形成するこのオペレーションは、オペレーション668と同等であることを理解すべきである。
図7は、少なくとも1つの例示の実施形態による着色された競合グラフを示すものである。例えば、図7は、図5に従って構築され、またHgCスキームと、図6のオペレーションとに従って着色される競合グラフを示すものである。
図7においては、本発明者等は、n=3の宛先デバイス(またはユーザ・デバイス)200(すなわち、U={1,2,3})と、m=3のデータ・ファイルA、B、C(すなわち、F={A,B,C})とを有する共用リンク・ネットワークを考慮している。各データ・ファイルは、4つのパケットへと分割される。例えば、データ・ファイルAは、{A1,A2,A3,A4}という4つのパケットを有する。キャッシング・フェーズ(すなわわち、図3Aおよび3Bと、関連した説明とを参照)では、ユーザ・デバイス1は、{A1,B1,B2,B3,B4,C2}をキャッシュし、ユーザ・デバイス2は、{A1,A2,A3,A4,B1,C2,C3}をキャッシュし、またユーザ・デバイス3は、{A1,A2,A3,B1,B2,B3}をキャッシュするものとする。次いで、ユーザ・デバイス{1,2,3}は、それぞれデータ・ファイル{A,B,C}を要求するものとする。同等に、ユーザ・デバイス1は、A2、A3、A4を要求し、ユーザ・デバイス2は、B2、B3、B4を要求し、またユーザ・デバイス3は、C1、C2、C3、C4を要求する。次いで、本発明者等は、KA2={1,2,3}(コンマを使用して、パケットA2をキャッシュしているユーザ・デバイスからパケットA2を要求するユーザ・デバイスを分離している。ここで、パケットA2は、ユーザ・デバイス1によって要求されるが、パケットA2は、ユーザ・デバイス2および3によってキャッシュされる);KA3={1;2,3};KA4={1;2};KB2={2;1,3};KB2={2;1,3};KB4={2;1};KC2={3;1,2};KC3={3;2};KC4={3}(ここで、C4は、ユーザ・デバイス3によって要求され、またどこでもキャッシュされない)を有している。
HgCスキームは、次のように(HgCアルゴリズムと、図6とを参照して)機能する。j=n=3、G3={A2,A3,B2,B3,C2}の場合に、頂点v=A2とすると、そのときには、B2およびC2が集合Lの中にあることになることが見出される可能性があり、それゆえに、集合L={A2,B2,C2}である。次に、|L|=n=3であるので、本発明者等は、A2、B2、C2を、黒色を用いて着色する。次いで、3=G3\L={A3,B3}となる。以下のループにおいては、本発明者等は、|L|=n=3を伴う集合Iを見出すことができないので、本発明者等は、アルゴリズムのライン21へと移行する。次いで、本発明者等は|L|≧n=3を伴う集合Lを見出すことができないので、次いで、本発明者等は、G2=G2∪{A3}を行い、また次いで、G2=G2∪{B3}を行う。それゆえに、本発明者等は、G2={A3,A4,B3,B4,C3}を得る。次に、本発明者等は、アルゴリズムのライン3へと進む(すなわち、次のループを開始する)。j=j−1=n−1=2の場合には、このループにおいて、本発明者等は、最初に頂点v=A4を選び、次いで、本発明者等は、L={A4,B4}を見出す。本発明者等は、青色を用いて{A4,B4}に着色する(図4を参照)。次に、G2=G2\{A4,B4}={A3,B3,C3}となる。次いで、アルゴリズムのライン21において、本発明者等は、Kvの最小の長さを有する頂点を見出し、この頂点は、KC3={3;2}を有するC3であり、次いで本発明者等は、L={C3,B3}を見出す。本発明者等は、赤色を用いてL={C3,B3}に着色する。次に、G2=G2\{C3,B3}={A3}となる。L≧2となるLは、存在しないので、次いで本発明者等は、G1=G1∪{A3}={C4,A3}を行う。次いで、本発明者等は、次のループj=j−1=n−2=1へと進む。次いで、本発明者等は、L={C4}であることを知ることができ、また本発明者等は、紫色を用いて{C4}に着色する。次いで、G1=G1\{C4}={A3}となる。それゆえに、本発明者等は、L={A3}を見出すことができ、また本発明者等は、茶色を用いて{A3}に着色する。完全に着色された競合グラフは、図7に示される。
例示の実施形態が、宛先デバイス200においてより人気のあるファイルのより多くのパケットをキャッシュし、宛先デバイス200によってまとめてキャッシュされる各ファイルの異なるパケットの量を増大させ(または代わりに、最大にし)、またデータ・ファイルの要求されたパケットの完全な集合の内部の符号化されたマルチキャスト送信を可能にする能力を可能にするので、上記で説明されるオペレーションは、改善されたネットワークの性能を実現可能とすることを理解すべきである。送信に先立ってパケットを結合することにより、少なくとも1つの例示の実施形態による配信の方法および/またはデバイスは、ネットワーク要素151の送信の数を低減させることができ、これは、消費電力を低減させ、またネットワーク効率を改善することができることを理解すべきである。例えば、興味のあるいくつかのシナリオにおいては、上記で説明された方法およびデバイスは、10というファクタまで送信の数を低減させることができる。本発明者等が、制限のない複雑度を有する場合、利得は、制限されない可能性がある。さらに、それぞれのユーザの宛先のメモリ(またはキャッシュ)サイズが、帯域幅乗数(bandwidth multiplier)として使用され得ることを理解すべきである。
例示の実施形態の変形形態は、例示の実施形態の精神および範囲からの逸脱として見なされるべきではない。当業者には明らかになるような、すべてのそのような変形形態は、本開示の範囲内に含まれることを意図している。

Claims (10)

  1. データ・ファイルのパケットについての、宛先デバイスからの要求を受信し、
    各宛先デバイスによって要求される各パケットが、競合グラフの、前記宛先デバイスに関連している複数の頂点の中の異なる頂点によって表されるように、前記競合グラフを構築し、
    各ラベルが、パケットを要求する前記宛先デバイスと、前記パケットを記憶する宛先デバイス・キャッシュとを示すインデックスの集合であるラベルを前記複数の頂点に割り当て、
    各レベルが、前記パケットを要求する前記宛先デバイスの数と、前記パケットを記憶する宛先デバイス・キャッシュの数と、を示すレベルを前記複数の頂点に割り当て、
    最高のレベルを有する頂点から最低のレベルを有する頂点まで、前記複数の頂点を順序付け、
    前記順序付けに基づいて、前記複数の頂点を着色し、
    同じカラーを有する前記複数の頂点の中の頂点によって表される前記パケットを結合し、また
    前記結合されたパケットを送信する、
    ように構成された、プロセッサ、
    を備えている、ネットワーク要素。
  2. 各レベルは、パケットを要求する前記宛先デバイスの数と、前記要求されたパケットを記憶する前記宛先デバイス・キャッシュの数との合計である、請求項1に記載のネットワーク要素。
  3. 前記プロセッサは、前記同じカラーを有する前記頂点によって表される前記パケットに対して有限フィールドの上の線形結合オペレーションを実行することにより前記パケットを結合するように構成されている、請求項1に記載のネットワーク要素。
  4. (i)第1の頂点と、第2の頂点とが、同じパケットを表しておらず、また(ii)前記第1の頂点によって表されるパケットが、前記第2の頂点に関連する前記宛先デバイスの前記キャッシュに記憶されず、または前記第2の頂点によって表される前記パケットが、前記第1の頂点に関連する前記宛先デバイスの前記キャッシュに記憶されない場合に、前記プロセッサは、前記複数の頂点のうちの前記第1の頂点と前記第2の頂点との間のリンクを作り出すことにより、前記競合グラフを構築するように構成されている、請求項1に記載のネットワーク要素。
  5. 前記プロセッサは、
    前記最高のレベルに等しいラベルの長さを有する着色されていない頂点を選択すること、および
    (i)部分集合の中の前記頂点が、入力パラメータに基づいており、また前記選択された頂点の前記レベルに基づいている望ましいラベルの長さを有しており、(ii)前記部分集合の中の前記頂点は、前記選択された頂点に対するリンクを有しておらず、(iii)前記部分集合の中の前記頂点は、互いの間にリンクを有しておらず、また(iv)前記部分集合の濃度が、前記レベルから1を差し引いた値に等しい場合に、前記選択された頂点に対して、また前記複数の頂点の中の着色されていない頂点の前記部分集合に対して、同じカラーを割り当てること
    により、前記複数の頂点に着色するように構成されている、請求項4に記載のネットワーク要素。
  6. 前記プロセッサは、
    前記最高のレベルのすべての頂点が選択されるまで、反復して、前記選択するためのオペレーションおよび同じカラーを前記割り当てるためのオペレーションを実行し、また
    依然として着色されていない前記最高のレベルの頂点のレベルを前記最高のレベルの下の次のレベルへとアップデートする
    ように構成されている、請求項5に記載のネットワーク要素。
  7. 前記プロセッサは、前記複数の頂点が着色されることを示す最低のレベルが到達されるまで、前記レベルをアップデートするように構成されている、請求項6に記載のネットワーク要素。
  8. 前記プロセッサは、前記競合グラフのために使用されるカラーの数を低減させるために、前記複数の着色された頂点に対してローカル・サーチを実行するように構成されている、請求項7に記載のネットワーク要素。
  9. 前記プロセッサは、
    前記競合グラフの既存のカラーからあるカラーを選択すること、
    前記選択されたカラーを用いて頂点を識別すること、および
    前記識別された頂点にリンクされる頂点が異なるカラーで着色されていない場合に、前記既存のカラーから選択される前記異なるカラーで前記選択されたカラーを置換すること
    により、前記ローカル・サーチを実行するように構成されている、請求項8に記載のネットワーク要素。
  10. ネットワークにおいてデータ・ファイルを送信するための方法であって、
    前記データ・ファイルのパケットについての、宛先デバイスからの要求を受信するステップと、
    各宛先デバイスによって要求される各パケットが、競合グラフの、前記宛先デバイスに関連している複数の頂点の中の異なる頂点によって表されるように、前記競合グラフを構築するステップと、
    各ラベルが、パケットを要求する前記宛先デバイスと、前記パケットを記憶する宛先デバイス・キャッシュとを示すインデックスの集合であるラベルを前記複数の頂点に割り当てるステップと、
    各レベルが、前記パケットを要求する前記宛先デバイスの数と、前記パケットを記憶する宛先デバイス・キャッシュの数とを示すレベルを前記複数の頂点に割り当てるステップと、
    最高のレベルを有する頂点から最低のレベルを有する頂点まで、前記複数の頂点を順序付けるステップと、
    前記順序付けに基づいて、前記複数の頂点を着色するステップと、
    同じカラーを有する前記複数の頂点の中の頂点によって表される前記パケットを結合するステップと、
    前記結合されたパケットを送信するステップと、
    を含む、方法。
JP2016548053A 2014-01-22 2015-01-12 ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法 Expired - Fee Related JP6255108B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461930072P 2014-01-22 2014-01-22
US61/930,072 2014-01-22
US14/514,905 US9503525B2 (en) 2014-01-22 2014-10-15 Devices and methods for network-coded and caching-aided content distribution
US14/514,905 2014-10-15
PCT/US2015/011000 WO2015112362A1 (en) 2014-01-22 2015-01-12 Devices and methods for network-coded and caching-aided content distribution

Publications (2)

Publication Number Publication Date
JP2017505581A JP2017505581A (ja) 2017-02-16
JP6255108B2 true JP6255108B2 (ja) 2017-12-27

Family

ID=53545860

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016548012A Active JP6313458B2 (ja) 2014-01-22 2015-01-12 ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法
JP2016548053A Expired - Fee Related JP6255108B2 (ja) 2014-01-22 2015-01-12 ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016548012A Active JP6313458B2 (ja) 2014-01-22 2015-01-12 ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法

Country Status (6)

Country Link
US (4) US9686358B2 (ja)
EP (2) EP3097676A1 (ja)
JP (2) JP6313458B2 (ja)
KR (2) KR20160100386A (ja)
CN (2) CN106416193A (ja)
WO (4) WO2015112362A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648127B2 (en) * 2014-12-15 2017-05-09 Level 3 Communications, Llc Caching in a content delivery framework
US11537559B2 (en) * 2014-12-30 2022-12-27 Airwatch Llc Client generated aggregated indices
WO2016148542A1 (ko) * 2015-03-18 2016-09-22 엘지전자 주식회사 무선 통신 시스템에서 분산 저장 캐시 보유 보조 노드를 이용하여 신호를 수신하는 방법 및 이를 위한 장치
US9787614B2 (en) * 2015-06-03 2017-10-10 Aalborg Universitet Composite extension finite fields for low overhead network coding
DE102016103882A1 (de) 2016-03-03 2017-09-07 Cadami Ug (Haftungsbeschränkt) Zuordnungsverfahren sowie Netzwerk mit einer Zuordnungsvorrichtung
EP3424200B1 (de) 2016-03-03 2023-06-07 Cadami GmbH Kennungscodierungseinrichtung und kennungsdecodierungseinrichtung zur datenverteilung in netzwerken sowie derartige einrichtungen aufweisende netzwerkelemente
DE102016108018A1 (de) 2016-03-03 2017-09-07 Cadami Ug (Haftungsbeschränkt) Kennungscodierungseinrichtung und Kennungsdecodierungseinrichtung zur Datenverteilung in Netzwerken sowie derartige Einrichtungen aufweisende Netzwerkelemente
US10097602B2 (en) * 2016-03-29 2018-10-09 Nokia Of America Corporation Channel-aware caching-aided coded multicast
WO2018048886A1 (en) * 2016-09-07 2018-03-15 Alcatel-Lucent Usa Inc. System and method for correlation-aware cache-aided coded multicast (ca-cacm)
US10237366B2 (en) 2016-09-07 2019-03-19 Nokia Of America Corporation System and method for library compressed cache-aided coded multicast
US10417134B2 (en) * 2016-11-10 2019-09-17 Oracle International Corporation Cache memory architecture and policies for accelerating graph algorithms
CN108768588B (zh) * 2018-05-14 2019-08-09 中国人民解放军军事科学院系统工程研究院 基于合并请求的分布式网络编码方法及系统
WO2020026121A1 (en) * 2018-07-30 2020-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Joint spectrum allocation and cache placement in a d2d network
US11036546B1 (en) 2019-04-16 2021-06-15 Xilinx, Inc. Multi-threaded shared memory functional simulation of dataflow graph
US10802807B1 (en) 2019-05-23 2020-10-13 Xilinx, Inc. Control and reconfiguration of data flow graphs on heterogeneous computing platform
US11113030B1 (en) 2019-05-23 2021-09-07 Xilinx, Inc. Constraints for applications in a heterogeneous programming environment
US11301295B1 (en) 2019-05-23 2022-04-12 Xilinx, Inc. Implementing an application specified as a data flow graph in an array of data processing engines
US10891414B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Hardware-software design flow for heterogeneous and programmable devices
US11188312B2 (en) 2019-05-23 2021-11-30 Xilinx, Inc. Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices
US10860766B1 (en) 2019-05-23 2020-12-08 Xilinx, Inc. Compilation flow for a heterogeneous multi-core architecture
US10872057B1 (en) 2019-05-23 2020-12-22 Xilinx, Inc. Partitioning in a compiler flow for a heterogeneous multi-core architecture
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices
US11615052B1 (en) * 2019-05-23 2023-03-28 Xilinx, Inc. Packet identification (ID) assignment for routing network
US11204745B2 (en) 2019-05-23 2021-12-21 Xilinx, Inc. Dataflow graph programming environment for a heterogenous processing system
US11138019B1 (en) 2019-05-23 2021-10-05 Xilinx, Inc. Routing in a compilation flow for a heterogeneous multi-core architecture
CN111327707B (zh) * 2020-03-05 2022-04-05 重庆邮电大学 一种无线网络中基于网络编码的缓存替换方法
US11496418B1 (en) 2020-08-25 2022-11-08 Xilinx, Inc. Packet-based and time-multiplexed network-on-chip
CN116227629B (zh) * 2023-05-10 2023-10-20 荣耀终端有限公司 一种信息解析方法、模型训练方法、装置及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832475A (en) * 1996-03-29 1998-11-03 International Business Machines Corporation Database system and method employing data cube operator for group-by operations
US5729537A (en) * 1996-06-14 1998-03-17 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing anonymous data transfer in a communication system
JP2005057373A (ja) * 2003-08-07 2005-03-03 Ntt Docomo Inc 無線パケット通信装置
US7614071B2 (en) * 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
US7619990B2 (en) * 2006-06-30 2009-11-17 Alcatel-Lucent Usa Inc. Two tiered packet labeling for data network traceback
US20080082644A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Distributed parallel computing
US8201142B2 (en) * 2006-09-29 2012-06-12 Microsoft Corporation Description language for structured graphs
CN101494529A (zh) * 2008-01-21 2009-07-29 松下电器产业株式会社 组播系统中的xor重传方法、基站和用户设备
US7916665B2 (en) * 2008-03-18 2011-03-29 Canon Kabushiki Kaisha Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means
CN101325556B (zh) * 2008-06-23 2011-04-13 南京大学 一种无线网络中基于网络编码的多路径路由方法
US20100061287A1 (en) * 2008-09-10 2010-03-11 Samsung Electronics Co., Ltd. Efficient coding schemes for retransmissions in multicast transmission
US7953792B2 (en) * 2008-11-24 2011-05-31 At&T Intellectual Property I, Lp Method and system for content distribution network performance and quality measurement
US9110706B2 (en) * 2009-02-09 2015-08-18 Microsoft Technology Licensing, Llc General purpose distributed data parallel computing using a high level language
US8705407B2 (en) * 2010-08-25 2014-04-22 University Of Florida Research Foundation, Inc. Efficient protocols against sophisticated reactive jamming attacks
CN102684856B (zh) * 2011-01-25 2016-09-28 西安电子科技大学 一种数据重传方法及装置
US8937903B2 (en) * 2011-06-14 2015-01-20 At&T Intellectual Property I, L.P. System and method for providing a content delivery network via a motor vehicle
US8745122B2 (en) * 2011-06-14 2014-06-03 At&T Intellectual Property I, L.P. System and method for providing an adjunct device in a content delivery network
US9906436B2 (en) * 2013-08-05 2018-02-27 Futurewei Technologies, Inc. Scalable name-based centralized content routing

Also Published As

Publication number Publication date
EP3097676A1 (en) 2016-11-30
KR20160100386A (ko) 2016-08-23
WO2015112360A1 (en) 2015-07-30
KR20160098501A (ko) 2016-08-18
JP6313458B2 (ja) 2018-04-18
WO2015112411A1 (en) 2015-07-30
US9578099B2 (en) 2017-02-21
WO2015112362A1 (en) 2015-07-30
US9509774B2 (en) 2016-11-29
US20150207881A1 (en) 2015-07-23
EP3097677A1 (en) 2016-11-30
US9503525B2 (en) 2016-11-22
US9686358B2 (en) 2017-06-20
US20150207896A1 (en) 2015-07-23
CN106416194A (zh) 2017-02-15
US20150207895A1 (en) 2015-07-23
US20150207903A1 (en) 2015-07-23
CN106416193A (zh) 2017-02-15
JP2017505581A (ja) 2017-02-16
WO2015112410A1 (en) 2015-07-30
JP2017505580A (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6255108B2 (ja) ネットワーク符号化された、またキャッシング支援されたコンテンツ配信のためのデバイスおよび方法
Chen et al. Edge-CoCaCo: Toward joint optimization of computation, caching, and communication on edge cloud
US10805418B2 (en) Data management in an information-centric network
US10986387B1 (en) Content management for a distributed cache of a wireless mesh network
US10193947B2 (en) Devices and methods for content distribution in a communications network
US20130191511A1 (en) Method and apparatus for enabling pre-fetching of media
Si et al. Spectrum management for proactive video caching in information-centric cognitive radio networks
CN104507124A (zh) 一种基站缓存的管理方法及用户访问的处理方法
Liu et al. Congestion avoidance and load balancing in content placement and request redirection for mobile CDN
Gür Energy-aware cache management at the wireless network edge for information-centric operation
US20170289218A1 (en) Channel-Aware Caching-Aided Coded Multicast
Zhang et al. Intelligent routing algorithm based on deep belief network for multimedia service in knowledge centric vanets
Djaker et al. Maximum Concurrent Flow Solutions for Improved Routing in IoT Future Networks
Lal et al. A network-coded caching-based multicasting scheme for information-centric networking (ICN)
Qu et al. TrimCaching: Parameter-sharing AI Model Caching in Wireless Edge Networks
Alqahtani Lossless data transmission for Internet of things application over wireless multimedia sensor networks using enhanced and optimal path scheduling approach to maximizing the quality of service
Baydeti et al. Scalable Models for Redundant Data Flow Analysis in Online Social Networks
Kim et al. Delay-aware distributed program caching for IoT-edge networks
Qu et al. TrimCaching: Parameter-sharing Edge Caching for AI Model Downloading
Thar et al. Resources management in virtualized information centric wireless network
CN107872399B (zh) 内容中心移动网络的内容分发方法、装置、设备及介质
Wang et al. Artificial intelligence for optimizing edge
He et al. Smart routing: fine-grained stall management of video streams in mobile core networks
Gupta et al. Content Caching Utilizing Scalable Video Coding (SVC) in Wireless Edge Networks
Zhou et al. A composite weight based access network selection algorithm in marine Internet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171201

R150 Certificate of patent or registration of utility model

Ref document number: 6255108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees