JP6638145B2 - ネットワークシステム、ノード装置、キャッシュ方法及びプログラム - Google Patents

ネットワークシステム、ノード装置、キャッシュ方法及びプログラム Download PDF

Info

Publication number
JP6638145B2
JP6638145B2 JP2017138406A JP2017138406A JP6638145B2 JP 6638145 B2 JP6638145 B2 JP 6638145B2 JP 2017138406 A JP2017138406 A JP 2017138406A JP 2017138406 A JP2017138406 A JP 2017138406A JP 6638145 B2 JP6638145 B2 JP 6638145B2
Authority
JP
Japan
Prior art keywords
chunk
cache
node device
file
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.)
Active
Application number
JP2017138406A
Other languages
English (en)
Other versions
JP2019020994A (ja
Inventor
努 吉永
努 吉永
拓真 中島
拓真 中島
靖嗣 石橋
靖嗣 石橋
敏雄 森元
敏雄 森元
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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
TIS Inc
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
TIS Inc
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS, TIS Inc filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Priority to JP2017138406A priority Critical patent/JP6638145B2/ja
Publication of JP2019020994A publication Critical patent/JP2019020994A/ja
Application granted granted Critical
Publication of JP6638145B2 publication Critical patent/JP6638145B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークシステム、キャッシュ方法及びキャッシュプログラムに関する。
従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。例えば容量が比較的大きい動画等のコンテンツファイルを送受信する場合には、大きな効果が期待できる。
なお、コンテンツを、予め定めた分割数のコンテンツブロックに分割する自律ストレージ装置も提案されている(例えば、特許文献1)。当該技術では、コンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成し、コンテンツブロック及び誤り訂正符号ブロックの各ブロックを、複数の自律ストレージ装置に分散して記憶する。
特開2006−330779号公報
従来、ネットワークシステムを構成する複数のノードにファイルを分散させてキャッシュする場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。また、動画等のコンテンツは、例えば1つのコンテンツにおいても時間的な区間ごとにアクセス頻度が異なる場合もあり、このような場合には1つのコンテンツ全体をキャッシュさせるのは非効率であった。
本発明は、コンテンツファイルが送受信されるネットワークにおいて、簡易な構成により、ノードへのアクセスの集中を避け、全体の通信量の増大を抑制すると共に、キャッシュ領域を効率的に活用するための技術を提供することを目的とする。
本発明に係るネットワークシステムは、分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置を複数含む。ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、チャンクは、ゼロ以上のグループと関連付けられる。そして、ノード装置は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、要求元のノード装置が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノードにチャンクを要求する中継部とを備える。
このようにすれば、いずれかのグループに属するノード装置をネットワーク上に分散させることにより、分散協調システムを実現することができる。すなわち、チャンクに関連付けられたグループに基づいて、キャッシュ保持部は、自身が保持すべきファイルを容易に特定することができる。すなわち、ノード装置は、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられるという簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用できるようになる。
また、チャンクに対する要求の頻度を算出する管理装置をさらに備え、管理装置は、算出した頻度が高いチャンクは頻度が低いチャンクよりも多くの(又は同数以上の)ノード装置において保持されるように、チャンクに関連付けるグループを変更するキャッシュ管理部を備えるようにしてもよい。このようにすれば、チャンクに対する要求の頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。
また、ノード装置のキャッシュ送信部は、当該ノード装置の記憶部が保持するキャッシュを要求元のノード装置に対して送信した場合、当該キャッシュに対応するチャンクへのアクセス数を計数し、当該アクセス数を管理装置へ送信するようにしてもよい。このようにすれば、ネットワークシステムに含まれるノード装置のいずれかにおいてキャッシュがヒットした場合にも、チャンクに対する要求の頻度を管理装置が集計できるようになる。
また、ファイルはコンテンツデータであり、チャンクは、コンテンツデータが再生時間又はデータサイズに基づいて分割されたファイルであり、複数のチャンクを結合することによりファイルを形成するようにしてもよい。特にストリーミングされる動画や音声のようなコンテンツデータであれば、要求の頻度が高い部分ほどネットワーク上に多くキャッシュさせることができる。また、例えばコンテンツデータのデータ構造や処理単位に基づいてチャンクのサイズを決定すれば、通信効率やデータの処理効率を向上させることができる。
また、当該ネットワークシステムは、ノード装置に対しコンテンツデータをチャンク単位で要求する端末をさらに含み、端末は、要求するチャンクによって形成されるファイルを構成する他のチャンクのうち、要求の頻度が所定の閾値以上であるチャンクを優先的に受信する再生処理部を備えるようにしてもよい。このようにすれば、要求の頻度が高いチャンクを先読みして受信しておくことができ、速やかに読み出すことができるようになる。
また、端末の再生処理部は、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクの再生前に、他のコンテンツを再生するようにしてもよい。要求の頻度が高いチャンクの前に他のコンテンツを挿入することにより、ユーザに他のコンテンツも視聴してもらえる可能性が高まる。
また、端末の再生処理部は、1つのファイルを分割して生成したチャンクのうち、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクを結合して再生するようにしてもよい。このようにすれば、要求の頻度が高い部分を用いて1つのファイルを要約する内容を再生することができる。
また、端末の再生処理部は、ユーザの操作に応じて、1つのファイルを分割して生成したチャンクのうち、管理装置が算出した要求の頻度が所定の閾値以上であるチャンクのいずれかから再生を開始するようにしてもよい。このようにすれば、人気があって要求の頻度が高く、予めキャッシュされている可能性の高いチャンクから再生を開始することがで
きるようになる。
また、本発明に係るノード装置は、分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持する。ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、ファイルは、ゼロ以上のグループと関連付けられる。また、ノード装置は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、要求元のノード装置が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノードにチャンクを要求する中継部とを備える。
このようなノード装置によれば、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられるという簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用できるようになる。
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。
コンテンツファイルが送受信されるネットワークにおいて、簡易な構成により、ノードへのアクセスの集中を避け、全体の通信量を抑制すると共に、キャッシュ領域を効率的に活用するための技術を提供できる。
システムの構成の一例を示す図である。 ファイルに付される、グループを示す情報を説明するための図である。 チャンクに対応付けてタグを記憶するテーブルの一例を示す図である。 端末4、ノード3及びコンテンツサーバ5の構成の一例を示すブロック図である。 ネットワークシステムが行うコンテンツ配信処理の一例を示す処理フロー図である。 MPDファイルの内容の一例を示す図である。 キャッシュ対象のファイルを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。 所定期間におけるチャンクへのアクセス数に基づく順位と、当該チャンクに関連付けて割り当てられるグループを示すタグの一例を示す図である。 1つの平面グラフで表されるメッシュ型ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。 端末に表示される画面の一例を示す図である。 人気のあるチャンクを示す情報の一例を示す図である。
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
<システム構成>
図1は、実施形態に係るシステムの構成の一例を示す図である。図1のシステム1は、ネットワーク2と、ネットワーク2を形成するノード3(3a〜3e)と、ネットワーク2に接続される端末4(4a〜4d)と、ネットワーク2に接続されるコンテンツサーバ5とを含む。ネットワーク2は、ISP(Internet Service Provider)によって管理さ
れる自律システム(AS:Autonomous System)等の通信回線網である。ノード3、端末
4及びコンテンツサーバ5は、コンピュータであり、通信可能に接続された他のコンピュータとの間で電子ファイルを送受信することができるものとする。
また、図1において大きな吹出し内に示すように、コンテンツサーバ5には、動画等のコンテンツファイル6が格納されている。そして、コンテンツサーバ5は、端末4からの要求に応じて、ネットワーク2を介してファイル6を端末4へ例えばストリーミング方式で送信する。また、ファイル6は、時間的な区間又はデータサイズに基づく部分に分割された複数の部分的なファイル(「チャンク」とも呼ぶ)61〜63に分割されている。本実施形態では、図1において小さな吹出し内に示すように、チャンク単位でファイル6がノード3にキャッシュされる。そして、端末4からの要求をコンテンツサーバ5へ中継する過程において、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしている場合は、キャッシュしているチャンクを要求元に送信する。なお、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしていない場合は、コンテンツサーバ5又は他のノード3に当該チャンクの要求を転送する。
また、各ノード3には、当該ノード3にキャッシュすべきチャンクを特定するためのグループが予め割り当てられているものとする。換言すれば、各ノード3は、予め定められた複数のグループのいずれかに属する。図1の例では、各ノード3の近傍に表示された円内に施されたハッチングが、各ノード3が属するグループを表している。ノード3aは、横縞のグループ(「グループA」と呼ぶ)に属する。ノード3bは、縦縞のグループ(「グループB」と呼ぶ)に属する。ノード3c及び3eは、右上から左下にかけた斜線のグループ(「グループC」と呼ぶ)に属する。ノード3dは、左上から右下にかけた斜線のグループ(「グループD」と呼ぶ)に属する。
あるノード3には、ネットワークトポロジ上隣接する他のノード3とは異なるグループが優先して割り当てられるようにしてもよい。すなわち、複数のノード3には、グループが、ネットワークトポロジ上偏らないように割り当てられる。例えば、新たなノード3をネットワーク2に接続する場合は、例えば複数のグループについて、すでにネットワーク2上に存在する他のノード3のうち、ホップ数が小さいノード3又は回線の経路長が短いノード3に付されたグループから順に除外し、残ったグループを新たなノードに割り当てるようにしてもよい。また、平面グラフで表されるメッシュ型のネットワークや、リング型のネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。このようにすれば、あるノード3から他のグループが割り当てられたノード3までは、いずれのグループの場合も同程度のホップ数で到達するようになる。
また、各チャンクは、当該チャンクをキャッシュすべきゼロ以上のグループと関連付けられている。図1の例では、チャンク61〜63の各々の下に表示された矩形内に施されたハッチングが各チャンクを保持すべきグループを表している。チャンク61には、グループA〜Dの4つが割り当てられている。チャンク62には、グループA、B及びDの3つが割り当てられている。チャンク63には、グループA及びCの2つが割り当てられている。なお、グループが1つも割り当てられていないチャンクがあってもよい。このようなネットワークシステム1によれば、チャンクに割り当てるグループの数によって、当該チャンクがネットワーク2においてキャッシュされる量を調整することができる。例えば
、アクセス頻度の高いチャンクに対し、より多くのグループを割り当てるようにすれば、要求元のノード3に近い場所にチャンクがキャッシュされている確率を高めることができる。
このようなシステム1において、ノード3は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュする。また、要求元のノード3が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード3に対して送信する。一方、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノード3に当該チャンクの要求を中継する。
図2は、チャンクに付される、グループを示す情報を説明するための図である。ファイル6は、コンピュータによって再生される動画や音声等のコンテンツデータである。特に、高解像度の動画コンテンツや、全方向の情報を含むVR(Virtual Reality)コンテン
ツ等は、1ファイル当たりの容量が大きく内容が更新されることが少ない。したがって、CDN(Contents Delivery Network)において、アクセス頻度の高いコンテンツをキャ
ッシュ対象とすれば、キャッシュによるトラフィックの削減が期待できる。
ファイル6には、例えばチャンクごとに、ゼロ以上の上述したグループの組合せを示す情報が関連付けられる。図2には、ハッチングのパターンで表した4種類のグループの組合せのバリエーションが示されている。すなわちグループの組合せの各々は、グループを0〜4個有する。また、グループの組合せは、図2の右辺に示すように、例えばグループの数だけ桁数を有するビット列によって形成されるタグによって表すことができる。そして、チャンクに対するグループの関連付けは、各ノード3において、チャンクの識別情報に関連付けてタグを保持することにより記憶させることができる。
図3は、チャンクに対応付けてタグを記憶するテーブルの一例を示す図である。図3のテーブルは、「チャンクID」及び「タグ」の属性を有する。「チャンクID」のフィールドには、チャンクの識別情報が登録される。識別情報は、チャンクを一意に特定するための名称を用いるようにしてもよいし、ファイルの名称及び当該ファイル中のチャンクの範囲を示す情報を用いるようにしてもよい。チャンクの範囲は、例えばファイルの先頭からのオフセットで表すことができる。「タグ」のフィールドには、対応付けられたファイルをキャッシュするゼロ以上のグループが登録される。図3に示すようなチャンクとグループとの対応付けを表す情報(換言すれば、キャッシュすべきチャンクのリスト)は、データベースやその他の形式のファイルとして各ノード3に記憶させることができる。また、図3に示すような情報は、例えばネットワーク2に接続されたコンテンツサーバ5等の管理装置が一元的に管理し、例えばキャッシュすべきチャンクのリストをネットワーク2上のノード3にブロードキャストしてノード3の各々に保持させるようにしてもよいし、ノード3の各々がネットワーク2上の管理装置から任意のタイミングで読み出すようにしてもよい。
<装置の構成>
図4は、端末4、ノード3及びコンテンツサーバ5の構成の一例を示すブロック図である。端末4、ノード3及びコンテンツサーバ5は、一般的なコンピュータである。
<端末>
端末4は、PC(Personal Computer)、スマートフォン、タブレット等のコンピュー
タであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
通信I/F41は、例えばネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ネットワーク2を介してファイル6を受信する。
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやファイル6を一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラム等を記憶する。
入出力装置43は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介してコンテンツサーバ5に対しファイル6の送信を要求したり、受信したファイル6を読み出して表示させたりする。
プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、ア
プリケーション(プログラム、ソフトウェア等とも呼ぶ)を実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、再生処理部441として機能する。再生処理部441は、例えばユーザの操作に基づいて、ネットワーク2を介してファイル6の送信を要求したり、受信したチャンクを結合してコンテンツを再生したりする。
以上のような構成要素が、バス45を介して接続されている。
<ノード>
ノード3も、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
通信I/F31は、例えばネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ノード3間においてファイル6を送受信する。
記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのチャンク単位でのキャッシュ、当該ノード3に割り当てられたグループを示す情報等を記憶する。
入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。ノード3においても、プロセッサ34内に機能ブロックを示している。プロセッサ34は、例えば、キャッシュ保持部341、キャッシュ送信部342及び中継部343の各処理部として機能する。キャッシュ保持部341は、チャンクに関連付けられたグループを示す情報に基づいて、受信したチャンクを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部342は、他のノードからコンテンツサーバへのファイルのチャンク単位での要求に対し、当該ノード3の記憶装置42にキャッシュされている場合、キャッシュされているチャンクを他のノード3又は端末4に送信する。中継部343は、端末4からコンテンツサーバ5への経路上に当該ノード3が位置する場合において、他のノード3又は端末4からコンテンツサーバ5へのチャンク送信要求や、他のノードへ送信するチャンクを中継する。
以上のような構成要素が、バス35を介して接続されている。
<コンテンツサーバ>
コンテンツプロバイダ等のコンテンツサーバ5も、通信I/F51と、記憶装置52と、入出力装置53と、プロセッサ54と、バス55とを備えている。
通信I/F51は、例えばネットワークカードであり、所定のプロトコルに基づき、ノード3等のコンピュータと通信を行う。例えば、リンクする他のノード3からの要求に応じてファイル6を送信する。
記憶装置52は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのファイル等を記憶しているものとする。
入出力装置53は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
プロセッサ54は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。コンテンツサーバについても、プロセッサ54内に機能ブロックを示している。プロセッサ54は、コンテンツ配信部541、キャッシュ管理部542の各機能部として機能する。コンテンツ配信部541は、送信を要求されたファイル6を記憶装置52から読み出し、要求元のノードに対して送信する。キャッシュ管理部542は、ネットワーク2上のノード3にキャッシュさせる対象のチャンクを決定したり、チャンクをキャッシュするグループを割り当てたりする。キャッシュ管理部542は、例えばチャンクごとにアクセス数を計数し、所定期間内のアクセス頻度を算出し、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定するようにしてもよい。
以上のような構成要素が、バス55を介して接続されている。
<コンテンツ配信処理>
図5は、ネットワークシステムが行うコンテンツ配信処理の一例を示す処理フロー図である。図5の「ノード」は、図1、図4における要求元の端末4からコンテンツサーバ5までの経路上に存在するノード3に相当する。すなわち、複数のノード3を経由する場合もある。図5においては、便宜上、1つのノードを示す。
まず、端末4の再生処理部441は、コンテンツサーバ5が保持するコンテンツの送信を要求する(図5:S1)。本実施形態では、MPEG−DASH規格のMPD(Media Presentation Description)ファイルによって、複数のチャンクに分割されたコンテンツファイルを記述する例を説明する。
図6に、MPDファイルの内容の一例を示す。MPDファイルはXML(Extensible Markup Language)で記述され、ファイルの所在を示す位置情報(URL:Uniform Resource Locator)611、621、631、・・・と、ファイルにおける各チャンクの範囲を示す範囲情報612、622、632、・・・とを含む。すなわち、MPDファイル(コンテンツファイル)6は、位置情報611及び範囲情報612を含む第1のチャンク61に関する情報と、位置情報621及び範囲情報622を含む第2のチャンク62に関する
情報と、位置情報631及び範囲情報632を含む第3のチャンク63に関する情報とを含んでいる。端末4の再生処理部441は、このようなファイル6に基づいて、基本的には前方の範囲を構成するチャンクから順に、コンテンツサーバ5に対しチャンクの送信を要求する。なお、1つのファイル6には、コンテンツの画質や音質等が異なる複数のファイルについてそれぞれ上述のチャンクが記述されていてもよい。この場合は、端末4の性能や通信経路の状態等に応じて複数のファイルのいずれかが送受信される。また、MPDファイルに限らず、M3UやHLS(HTTP Live Streaming)のようなフォーマットに適
用することもできる。
一方、ノード3の中継部343は、要求を受信し(S2)、要求されたチャンクに対応するキャッシュファイルが自ノードの記憶装置32に保持されているか判断する(S3)。キャッシュを保持している場合(S3:YES)、ノード3のキャッシュ送信部342は、キャッシュファイルを要求元に送信する(S4)。一方、要求元の端末4の再生処理部441は、キャッシュファイルを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S5)。
また、ノード3がキャッシュを保持していない場合(S3:NO)、中継ノードの中継部343は、隣接するノード3又はコンテンツサーバ5に要求を中継する(S6)。なお、複数のノード3を介して要求が転送される場合は、同様の処理が繰り返される。また、本実施形態においては、ノード3は、グループを示すタグのビット位置からいずれのグループに属するノード3において各チャンクがキャッシュされているかわかる。よって、ノード3は、近傍に接続された他のノード3が属するグループを予め記憶しておくことにより、要求されたチャンクのタグのビット位置に基づいて当該チャンクをキャッシュするグループに属するノード3を、要求の転送先に決定するようにしてもよい。
一方、コンテンツサーバ5のコンテンツ配信部541は、チャンクに対する送信の要求を受信し(S7)、該当するチャンクを記憶装置52から読み出して送信する(S8)。一方、ノード3の中継部343は、受信したチャンクを要求元に対して中継する(S9)。そして、要求元の端末4の再生処理部441は、チャンクを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S10)。
また、S9においてチャンクを要求元へ中継する場合、ノード3のキャッシュ保持部341は、当該チャンクは自ノードが属するグループにおいてキャッシュすべき対象であるか判断する(S11)。本ステップでは、チャンクに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。例えば、図3に示したような情報をノード3の記憶装置32が保持する。
そして、中継したチャンクがキャッシュ対象であると判断された場合(S11:YES)、ノード3のキャッシュ保持部341は、当該チャンクを記憶装置32に一時的に保持させる。一方、中継したチャンクがキャッシュすべき対象でないと判断された場合は、ノード3はチャンクを保持しない。ネットワークシステム1は、要求元ノードからのファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。
<効果>
本実施形態では、ネットワーク2において同一のグループが偏らないようにノードをグループ分けする。すなわち、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先して割り当てられるという簡便な方法により、同一のチャンクをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するという準最適なキャッシュ配置を実現することができる。また、図1に示したように、1つのチャンクには複数のグループを示
す情報を関連付けておくようにしてもよい。アクセス頻度の高いチャンクほど、多くのグループに属するノードでキャッシュすれば、ネットワーク上におけるキャッシュのヒット率を向上させることができる。特に、動画等のコンテンツファイルの場合、冒頭部分のアクセス頻度が高く、ユーザはその後視聴を中止したり一部をスキップしたりすることがある。また、再生を開始する位置を指定した動画へのリンクがSNS(Social Networking Service)に投稿された場合など、動画の一部のアクセス頻度が高まることもある。本実
施形態によれば、アクセス頻度の高いチャンクほど多くキャッシュさせておくことができ、ネットワークシステム全体におけるトラフィックの増大を抑えることができる。また、チャンク単位で要求される頻度が異なるような場合であっても、要求の頻度が高いチャンクをキャッシュさせれば、キャッシュ領域を効率的に活用することができる。
<キャッシュ対象決定処理>
また、上述したネットワークシステムにおいて、チャンクに対するキャッシュの優先度を決定し、チャンクに関連付けられるグループを示す情報(換言すればキャッシュすべきチャンクのリスト)を動的に変更するようにしてもよい。キャッシュの優先度は、例えばコンテンツサーバ5のキャッシュ管理部542が算出する各チャンクへのアクセス頻度に基づき決定する。コンテンツサーバ5は、チャンクに対するアクセスの頻度を算出し、キャッシュ対象のチャンクを決定する、本発明に係る「アクセス管理装置」の一例である。なお、コンテンツサーバ5とは別に、いずれかのネットワーク2にアクセス管理装置を設けてもよい。
図7は、キャッシュ対象のチャンクを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステムは、図5に示したコンテンツ配信処理に加え、図7に示すような処理を行うようにしてもよい。図7においては、図5に対応する処理には同一の符号を付し、説明を省略する。
まず、ノード3は、要求に応じてキャッシュを送信した回数をチャンクごとに計数しておき、計数した回数を所定のタイミングでコンテンツサーバ5へ送信する(図7:S21)。一方、コンテンツサーバ5は、ノード3からキャッシュの送信回数を受信し、チャンクごとのアクセス数を算出する(S22)。本ステップでは、ノード3が記憶しているアクセスログを受信し、チャンクごとのアクセス数を算出してもよい。
また、例えばコンテンツサーバ5は、図5のS8においてチャンクを送信するステップにおいて、さらに当該チャンクへのアクセスログを記憶装置32に書き出す(図7:S23)。本ステップで記憶させるアクセスログと、S22において受信したアクセス数をチャンクごとに計数することにより、チャンクごとのアクセス頻度を算出することができるようになる。また、本ステップでは、コンテンツサーバ5のキャッシュ管理部542は、所定のタイミングで所定期間におけるチャンクごとのアクセス回数(すなわち、アクセス頻度)を集計する。
その後、コンテンツサーバ5のキャッシュ管理部542は、所定のタイミングで、頻度の高いチャンクほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、チャンクに対しより多くのグループを示す情報を関連付けるようにする。また、例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象を更新するものとする。そして、キャッシュ管理部542は、チャンクごとのアクセス頻度を算出し、キャッシュ対象を決定する(S24)。
図8は、所定期間におけるチャンクへのアクセス数に基づく順位と、当該チャンクに関連付けて割り当てられるグループを示すタグの一例を示す図である。コンテンツサーバ5
は、当該コンテンツサーバ5が要求に応じて送信したチャンクについてのログと、ノード3がキャッシュを送信した旨のログを所定期間分集計し、図8に示すようなチャンクごとの統計データを生成する。図9に示す表は、「順位」、「グループ数」、及び「タグ」の項目を有する。「順位」のフィールドには、所定期間におけるチャンクへのアクセス頻度に基づいて定まる順位の範囲が記録されている。図7のS24においては、所定期間における順位が決定される。「グループ数」のフィールドには、各順位のチャンクをキャッシュするグループの数が示されている。「タグ」のフィールドには、各順位のチャンクをキャッシュするグループを示す情報が上述したタグの形式で記録されている。
また、キャッシュ管理部542は、アクセス頻度に応じて、各チャンクをキャッシュするグループを決定する(図7:S25)。本ステップでは、各チャンクに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図8に示す人気の程度を決定する。例えばノード3を4つのグループに分ける場合、人気の程度を5段階に分類する。また、最も人気の高い程度に属するチャンクを4つのグループすべてにおいてキャッシュさせ、2番目に人気の高い程度に属するチャンクを3つのグループにおいてキャッシュさせ、3番目に人気の高い程度に属するチャンクを2つのグループにおいてキャッシュさせ、4番目に人気の高い程度に属するチャンクを1つのグループにおいてキャッシュさせる。なお、最も人気の低い程度に属するチャンクはいずれのグループにおいてもキャッシュさせないものとする。
このように、人気の程度に応じて当該チャンクをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたチャンクに対し循環的にグループの組合せを割り当てる。例えば、図8の順位が21〜100のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各チャンクへのアクセス頻度に基づいて、チャンクに関連付けられるタグが更新される。
そして、キャッシュ管理部542は、各チャンクをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図8:S26)。本ステップでは、例えば図8の「チャンク名」及び「タグ」の列に示す情報が、各ノード3へブロードキャストされる。ノード3は、リストを受信すると、当該リストを記憶装置32に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のチャンクを決定する(S27)。このようなリストのグループを示す情報に基づいて、各ノードは、チャンクを要求する先を判断することができる。また、リストが更新された場合、ノード3においてが不要なキャッシュを削除するようにしてもよい。
<効果>
キャッシュ対象更新処理によれば、コンテンツサーバ5から配信されるファイルをアクセス数に応じてチャンク単位でキャッシュさせることができる。また、アクセス頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。なお、アクセス頻度の算出やキャッシュすべきチャンクのリストの更新を行う管理装置は、コンテンツサーバ5が行うようにしてもよいし、ネットワーク2に接続された他の装置が行うようにしてもよい。また、各ノード3が記憶するチャンクごとのアクセスログは、ネットワーク上の所定の装置に保持させ、コンテンツサーバ5又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<キャッシュ対象のファイル及びファイルをキャッシュするノードの数>
本実施形態では、アクセス頻度が高いチャンクをキャッシュ対象とし、アクセス頻度が高いほどネットワーク内における多くのノードでキャッシュする。チャンクをキャッシュ
するノードの数は、ユーザが任意に設定することができる。なお、チャンクをキャッシュするノードの数は、ネットワークに接続された、各グループに属するノードの数と、チャンクに対応づけて設定される、当該チャンクを保持するグループの数とによって決まる。チャンクをキャッシュするノードの数は、例えば遺伝的アルゴリズム等を利用して求めた準最適なキャッシュ配置に従って定めるようにしてもよい。
図9は、1つの平面グラフで表されるメッシュ型ネットワーク上にキャッシュされるファイル(チャンク)及びその数を示すグラフである。図9の横軸は、アクセス頻度の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。ファイルに付すタグの設定は、遺伝的アルゴリズムを利用して求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図9の破線は、メッシュ型のネットワークにおいて、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求められ
た準最適なキャッシュ配置におけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。実線は、遺伝的アルゴリズムで求めたネットワーク中のキャッシュファイル数を、本実施形態に係るネットワークシステムで近似する例である。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を4よりも大きくすることで、準最適な配置に対する近似の精度を向上させることができる。本実施形態に係る階層的に接続されたネットワークにおいても、所定の頻度でアクセスされる複数のファイルを定義し、何らかのアルゴリズムで求めた準最適なキャッシュ配置を近似した値となるように、上記ファイルに割り当てるグループ及びネットワーク上のノードに割り当てるグループの少なくともいずれかを決定するようにしてもよい。
例えば、図9に示したように、アクセス頻度を基準として20位以内、21〜100位、101〜250位、・・・といった人気の程度毎にチャンクをキャッシュするグループの数が定める。そして、人気の程度に対して対応付けられたタグを、上位から順に循環的に割り当てる。タグは、当該チャンクを保持すべきグループを示す4ビットのビットベクトルによって記述されている。また、ビットベクトルは、各階層におけるグループを表す桁を、所定の順序で連結して形成されている。図8では、4ビットがそれぞれ4つのグループに対応し、各グループにおいてチャンクがキャッシュされるか否かを表す。
<変形例1>
図10は、端末4の入出力装置43に表示される画面の一例を示す図である。本変形例では、アクセス頻度が所定の閾値以上である(すなわち、人気のある)チャンクを頭出しできるようにする。例えば図6に示したMPDファイルにチャンクごとのアクセス頻度や人気のあるチャンクである旨の情報を追加することにより、アクセス頻度が所定の閾値以上であったり人気のあるチャンクである旨の情報が付加されている所定のチャンクへ再生位置をスキップさせるようにしてもよいし、MPDファイルとは別にチャンクごとのアクセス頻度や人気の程度を示す情報を含むファイルを用意し、MPDファイルを組み合わせて所定のチャンクへ再生位置をスキップさせるようにしてもよい。なお、再生位置は必ずしもチャンクの先頭でなく、コンテンツ中の任意の位置が指定されていてもよい。
図11は、MPDファイルとは別に生成される、人気のあるチャンクを示す情報の一例を示す図である。図11の表は、「チャンクID」、「再生位置」の各属性を含む。「チャンクID」のフィールドには、チャンクを特定するための識別情報が登録される。この識別情報により、図3に示したチャンクごとのタグや、図6に示したMPDファイルのチャンクと、図11の再生位置とが紐づけられる。「再生位置」のフィールドには、アクセス頻度に基づいて決定された再生を開始すべき位置が、コンテンツの先頭からの時間を表
す情報によって登録されている。図11に示すような情報が端末4に配信され、端末4の再生処理部441は配信された情報を用いて図10に示したような画面を生成するようにしてもよい。
図10の画面は、例えば端末4において実行される、コンテンツを再生するアプリケーションが生成する。図10の画面は、動画を表示する領域411と、シークバー412と、前方へのスキップボタン413と、後方へのスキップボタン414と、シーンのリスト415とを含む。領域411には、動画の映像が表示される。図10のシークバー412は、全体における現在の再生位置を三角形で示すとともに、アクセス頻度の高い部分を星印で示している。この星印は、図11に示した再生位置と対応している。そして、前方へのスキップボタン413及び後方へのスキップボタン414は、図11に記載された時間に基づき、アクセス頻度の高い部分へ再生位置をスキップさせる。また、シーンのリスト415には、アクセス頻度の高い部分の一覧が表示されている。リスト415に表示されるシーンも、図11に示した再生位置と対応している。ユーザの操作によってリスト415のシーンが選択された場合、図11に記載された時間に基づいて、動画を各シーンから再生させることができる。
このように、スキップボタン413、414、又はリスト415を設けることにより、ユーザの操作に応じてアクセス頻度が閾値以上のチャンクから再生を開始することができる。すなわち、多くのユーザが視聴しているチャンクへ再生位置を移動させることができる。したがって、例えばスポーツの得点シーン等、アクセス頻度の高い場面から再生することができるようになる。また、アクセス頻度の高いシーンに相当するチャンクをより多くのノード3でキャッシュしておくことにより、ネットワーク上のトラフィックの増大を抑えることができる。換言すれば、予めキャッシュされたチャンクからの再生をユーザに提案することにより、トラフィックを低減させることができる。
<変形例2>
また、アクセス頻度が所定の閾値以上であるチャンクを抽出及び結合して、コンテンツのダイジェストを生成するようにしてもよい。すなわち、1つのファイルを分割して生成したチャンクのうち、管理装置が算出したアクセス頻度が所定の閾値以上であるチャンクを結合して再生する。このような処理は、例えばコンテンツサーバ5等が、アクセス頻度が所定の閾値以上であるチャンクのみを含むMPDファイルを、コンテンツのダイジェストとして生成することにより実現してもよいし、端末4が備えるコンテンツ再生プログラムがMPDファイルに記述されたチャンクのうちアクセス頻度が所定の閾値以上であえるチャンクのみを要求することにより実現してもよい。すなわち、複数のチャンクを結合することによりもとのファイルを形成する処理は、ノード3が行うようにしてもよいし、端末4が行うようにしてもよい。
アクセス頻度の高いシーンに相当するチャンクをより多くのノード3でキャッシュしておくことにより、本変形例によっても、ネットワーク上のトラフィックの増大を抑えることができる。
<変形例3>
また、端末4の再生処理部441は、アクセス頻度が所定の閾値以上であるチャンクを優先的に受信(プリフェッチ)するようにしてもよい。このようにすれば、端末4は、ユーザが視聴したい部分を先読みしてダウンロードしておき、ユーザが当該シーンへスキップする操作をした場合は、すぐに再生を開始することができる。また、ノード3のキャッシュ送信部342が主体となって、端末4へアクセス頻度が所定の閾値以上であるチャンクをプッシュ配信するようにしてもよい。いずれの場合であっても、端末4の再生処理部441は、ファイルを構成するチャンクのうち、アクセス頻度が所定の閾値以上であるチ
ャンクを優先的に受信することができる。そして、チャンクの再生時には当該チャンクが端末4の記憶装置42に保持された状態にしておくことができる。
<変形例4>
また、1つのコンテンツのうち、アクセス頻度が所定の閾値以上であるチャンクの前に広告等のような他のコンテンツを挿入して再生するようにしてもよい。このような処理は、例えば端末4の再生処理部441が、コンテンツサーバ5やノード3と協調して、アクセス頻度が所定の閾値以上であるチャンクの前に他のコンテンツを割り込ませて再生する。また、他のコンテンツについても、予めノード3にキャッシュさせておくようにしてもよい。このように人気のあるチャンクの前に他のコンテンツを挿入することにより、ユーザに他のコンテンツも視聴してもらえる可能性が高まる。本変形例に係る他のコンテンツの挿入も、ノード3のキャッシュ送信部342が主体となって、端末4へプッシュ配信するようにしてもよい。
<変形例5>
また、コンテンツデータは、動画や音声に限られず、例えば三次元オブジェクトを含むVR(Virtual Reality)動画であってもよい。このとき、VR動画内のオブジェクト単
位で送受信を制御できるファイル形式を採用し、時間的に分割されたチャンクごとにキャッシュするだけでなく、三次元オブジェクトごとにキャッシュできるようにしてもよい。すなわち、多くのユーザに視線を向けられ、表示の対象となることが多い三次元オブジェクトは、より多くのグループに属するノード3においてキャッシュし、ユーザに注目されず、表示されることが少ない三次元オブジェクトは、ネットワーク2上にほとんどキャッシュしない。また、段階的に品質の異なる三次元オブジェクトを予め用意しておき、表示の対象となることが多い三次元オブジェクトは高品質なものをキャッシュさせ、表示の対象となることが少ない三次元オブジェクトは低品質なものをキャッシュさせるようにしてもよい。このような変形例によっても、ネットワーク上のトラフィックの増大を抑えることができると共に、キャッシュを保持するための記憶領域を有効的に活用できる。
すなわち、データの処理単位である三次元オブジェクトがまとまって記憶されるデータ構造のファイルのように、データ構造や処理単位が特殊なコンテンツデータを扱う場合には、データ構造や処理単位に基づいてチャンクのデータサイズを決定するようにしてもよい。このようにすれば、チャンク単位でファイルを送受信及びキャッシュする場合の通信効率やデータの処理効率を向上させることができる。
また、コンテンツデータとして、画質の異なるレイヤを組み合わせて再生品質やコンテンツのデータ量を調整できるファイル形式の動画に、実施形態又は変形例に係るキャッシュ方法を適用してもよい。例えば、H.264 SVC(Scalable Video Coding)のよ
うに段階的に画質の異なるレイヤを含む動画ファイルを用意しておき、時間的な区間ごとの動画に対するアクセス頻度に応じて、アクセス頻度の高い区間ほど画質の高いレイヤを多くキャッシュするようにしてもよい。また、アクセス頻度に関係なく、低画質のレイヤを多くキャッシュするようにしてもよい。このようにすれば、回線の混雑状況によらず、少なくとも低画質のレイヤは早期に端末4へ配信できるようになる。
上記の実施形態及び変形例に記載した事項は、適宜組み合わせて実施することができる。
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラム
を読み込ませて実行させることにより、上述の処理が可能となる。
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。
1 :ネットワークシステム
2 :ネットワーク
3 :ノード
31 :通信I/F
32 :記憶装置
33 :入出力装置
34 :プロセッサ
341 :キャッシュ保持部
342 :キャッシュ送信部
343 :中継部
35 :バス
4 :端末
41 :通信I/F
42 :記憶装置
43 :入出力装置
44 :プロセッサ
441 :再生処理部
45 :バス
5 :コンテンツサーバ
51 :通信I/F
52 :記憶装置
53 :入出力装置
54 :プロセッサ
541 :コンテンツ配信部
542 :キャッシュ管理部
55 :バス

Claims (11)

  1. 分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置を複数含むネットワークシステムであって、
    前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
    前記チャンクは、ゼロ以上の前記グループと関連付けられ、
    前記ノード装置は、
    自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
    要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
    前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する中継部と、
    を備えるネットワークシステム。
  2. 前記チャンクに対する要求の頻度を算出する管理装置をさらに備え、
    前記管理装置は、算出した前記頻度が高いチャンクは前記頻度が低いチャンクよりも多くのノード装置において保持されるように、前記チャンクに関連付ける前記グループを変更するキャッシュ管理部を備える
    請求項1に記載のネットワークシステム。
  3. 前記ノード装置の前記キャッシュ送信部は、当該ノード装置の前記記憶部が保持するキャッシュを前記要求元のノード装置に対して送信した場合、当該キャッシュに対応する前記チャンクへのアクセス数を計数し、当該アクセス数を前記管理装置へ送信する
    請求項2に記載のネットワークシステム。
  4. 前記ファイルはコンテンツデータであり、
    前記チャンクは、前記コンテンツデータが再生時間又はデータサイズに基づいて分割されたファイルであり、複数のチャンクを結合することにより前記ファイルを形成する
    請求項2又は3に記載のネットワークシステム。
  5. 当該ネットワークシステムは、前記ノード装置に対し前記コンテンツデータをチャンク単位で要求する端末をさらに含み、
    前記端末は、要求するチャンクによって形成されるファイルを構成する他のチャンクのうち、要求の頻度が所定の閾値以上であるチャンクを優先的に受信する再生処理部を備える
    請求項4に記載のネットワークシステム。
  6. 前記端末の前記再生処理部は、前記管理装置が算出した前記要求の頻度が所定の閾値以上であるチャンクの再生前に、他のコンテンツを再生する
    請求項5に記載のネットワークシステム。
  7. 前記端末の前記再生処理部は、1つのファイルを分割して生成したチャンクのうち、前記管理装置が算出した前記要求の頻度が所定の閾値以上であるチャンクを結合して再生する
    請求項5又は6に記載のネットワークシステム。
  8. 前記端末の前記再生処理部は、ユーザの操作に応じて、1つのファイルを分割して生成したチャンクのうち、前記管理装置が算出した前記要求の頻度が所定の閾値以上であるチャンクのいずれかから再生を開始する
    請求項5から7のいずれか一項に記載のネットワークシステム。
  9. 分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置であって、
    前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
    前記ファイルは、ゼロ以上の前記グループと関連付けられ、
    前記ノード装置は、
    自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
    要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
    前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する中継部と、
    を備えるノード装置。
  10. 分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置が実行するキャッシュ方法であって、
    前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
    前記ファイルは、ゼロ以上の前記グループと関連付けられ、
    前記ノード装置が、
    自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させ、
    要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信し、
    前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求する
    キャッシュ方法。
  11. 分割されたファイルであるチャンクを送受信すると共に当該チャンクを一時的に保持するノード装置に実行されるプログラムであって、
    前記ノード装置には、当該ノード装置が保持すべきチャンクを特定するためのグループが割り当てられ、
    前記ファイルは、ゼロ以上の前記グループと関連付けられ、
    前記ノード装置に、
    自身に割り当てられた前記グループと関連付けられた前記チャンクを受信した場合は、当該チャンクをキャッシュとして記憶部に一時的に保持させ、
    要求元のノード装置が送信を要求する前記チャンクに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信させ、
    前記要求元のノード装置が要求する前記チャンクに対応する前記キャッシュを保持していない場合は、他のノードに前記チャンクを要求させる
    プログラム。
JP2017138406A 2017-07-14 2017-07-14 ネットワークシステム、ノード装置、キャッシュ方法及びプログラム Active JP6638145B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017138406A JP6638145B2 (ja) 2017-07-14 2017-07-14 ネットワークシステム、ノード装置、キャッシュ方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017138406A JP6638145B2 (ja) 2017-07-14 2017-07-14 ネットワークシステム、ノード装置、キャッシュ方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019020994A JP2019020994A (ja) 2019-02-07
JP6638145B2 true JP6638145B2 (ja) 2020-01-29

Family

ID=65355586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017138406A Active JP6638145B2 (ja) 2017-07-14 2017-07-14 ネットワークシステム、ノード装置、キャッシュ方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6638145B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10893315B2 (en) * 2017-03-24 2021-01-12 Sony Corporation Content presentation system and content presentation method, and program
JP7241724B2 (ja) * 2020-08-31 2023-03-17 株式会社Tbsテレビ ストリーミング配信システム、ストリーミング配信方法、及び、プログラム
CN115103023B (zh) * 2022-06-14 2024-04-05 北京字节跳动网络技术有限公司 视频缓存方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4244572B2 (ja) * 2002-07-04 2009-03-25 ソニー株式会社 キャッシュ装置、およびキャッシュデータ管理方法、並びにコンピュータ・プログラム
US20080201549A1 (en) * 2007-02-20 2008-08-21 Raytheon Company System and Method for Improving Data Caching
EP2701070A4 (en) * 2011-04-22 2014-11-05 Nec Corp CONTENT DISTRIBUTION SYSTEM, CONTROL DEVICE, AND CONTENT DISTRIBUTION METHOD
US20150074222A1 (en) * 2013-09-12 2015-03-12 Guanfeng Liang Method and apparatus for load balancing and dynamic scaling for low delay two-tier distributed cache storage system

Also Published As

Publication number Publication date
JP2019020994A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
US20210029396A1 (en) Systems and Methods for Advertising Continuity
RU2632410C2 (ru) Управляемое приложением предварительное кэширование в cdn
JP5408257B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム
CN104995924B (zh) 实况媒体分发中的基于节目的缓存
JP2019535191A (ja) コンテンツ部分をストリーミングするための要求ベースのエンコーディング
US20120005313A1 (en) Dynamic indexing for ad insertion in media streaming
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
JP6638145B2 (ja) ネットワークシステム、ノード装置、キャッシュ方法及びプログラム
US20160134900A1 (en) Streaming media processing method, apparatus, and system
KR20140073826A (ko) 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
KR20150055559A (ko) 정적 및 동적 추천에 기초하여 원격 콘텐츠를 프리―페칭하는 방법 및 장치
JP2008198047A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
JP2022531339A (ja) リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム
WO2011054319A1 (zh) 一种在httpstreaming系统中实现分层请求内容的方法,装置和系统
JP2010191774A (ja) コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム
JPWO2018173874A1 (ja) コンテンツ提供システムおよびコンテンツ提供方法、並びにプログラム
CN107645475B (zh) 异质网络中的文件资源分发系统与方法
JP2013045273A (ja) キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム
CN113574899A (zh) 信息处理装置、信息处理方法、再现处理装置和再现处理方法
US20050197908A1 (en) Content distribution device and method
JP6721879B2 (ja) ネットワークシステム、ノード装置、キャッシュ方法及びキャッシュプログラム
JP5521533B2 (ja) 情報処理装置、通信システム、制御方法及び制御プログラム
JP2022058789A (ja) Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム
JP6500132B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2018198746A (ja) 端末およびサーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190619

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191007

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: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191129

R150 Certificate of patent or registration of utility model

Ref document number: 6638145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250