JP6721879B2 - Network system, node device, cache method, and cache program - Google Patents
Network system, node device, cache method, and cache program Download PDFInfo
- Publication number
- JP6721879B2 JP6721879B2 JP2018015767A JP2018015767A JP6721879B2 JP 6721879 B2 JP6721879 B2 JP 6721879B2 JP 2018015767 A JP2018015767 A JP 2018015767A JP 2018015767 A JP2018015767 A JP 2018015767A JP 6721879 B2 JP6721879 B2 JP 6721879B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- cache
- node device
- node
- network
- 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
Links
Images
Description
本発明は、ネットワークシステム、ノード装置、キャッシュ方法及びキャッシュプログラムに関する。 The present invention relates to a network system, a node device, a cache method, and a cache program.
従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。例えば容量が比較的大きい動画等のコンテンツファイルを送受信する場合には、大きな効果が期待できる。 Conventionally, various techniques have been proposed for intermediately caching a file transmitted between computers connected to a network. By downloading the cache file instead of the original file, it is possible to avoid the concentration of access to the original file and to shorten the time until the download is completed on the receiving side. For example, a great effect can be expected when transmitting and receiving a content file such as a moving image having a relatively large capacity.
なお、LRUバッファのヘッドからアクセス頻度の高いキャッシュエントリを取り出し、コンテンツレシーバに近い下流にある他のキャッシュサーバに移動させ、LRUバッファのテイルからアクセス頻度の低いキャッシュエントリを取り出し、コンテンツプロバイダに近い上流にあるキャッシュサーバに移動させるという技術が提案されている(特許文献1)。 A cache entry with a high access frequency is fetched from the head of the LRU buffer, moved to another cache server located downstream near the content receiver, a cache entry with a low access frequency is fetched from the tail of the LRU buffer, and the cache entry is accessed upstream from the content provider. Has been proposed (Patent Document 1).
また、ユーザ端末のコンテンツの再生状態に応じて、キャッシュサーバに格納された前記コンテンツの削除禁止期間を設定するという技術も提案されている(特許文献2)。本技術は、ユーザが再生し終えた箇所から後でコンテンツを視聴する可能性の有無に基づいてキャッシュ削除の優先度付けを行う。 In addition, there is also proposed a technique of setting a deletion prohibition period of the content stored in the cache server according to the reproduction state of the content of the user terminal (Patent Document 2). The present technology prioritizes cache deletion based on whether or not there is a possibility that the user may view the content later from the point where the reproduction is completed.
従来、ネットワークシステムを構成する複数のノードに分散してファイルをキャッシュさせる場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。また、特にライブ配信されるストリームデータは、アクセス頻度の予測が立てにくく、最適な分散配置を決定するのは困難であった。 Conventionally, when files are cached by being distributed to multiple nodes that make up a network system, it generally takes a long time to determine the file arrangement that can avoid the concentration of access and reduce the total communication volume. There was a problem. In particular, it is difficult to predict the access frequency of stream data delivered live, and it is difficult to determine the optimum distributed arrangement.
本発明は、ストリームデータが送受信されるネットワークにおいて、簡易な構成により、配信サーバへのアクセスの集中を避け、全体の通信量の増大を抑制するための技術を提供することを目的とする。 It is an object of the present invention to provide a technique for avoiding concentration of access to a distribution server and suppressing an increase in overall communication volume in a network for transmitting/receiving stream data, with a simple configuration.
本発明に係るネットワークシステムは、ファイルを送受信すると共に、所定の条件に基づいて当該ファイルを保持するノード装置を複数含む。また、所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む。 A network system according to the present invention includes a plurality of node devices that transmit and receive a file and that hold the file based on a predetermined condition. Further, the predetermined condition includes a condition that a file having a short elapsed time from a reference date and time is prioritized.
このようにすれば、ファイルへの配信要求が予測しにくい場合であっても、配信が開始
された日時からの経過時間に基づいてネットワーク上にファイルを保持させることができる。すなわち、簡易な構成により、配信サーバへのアクセスの集中を避け、全体の通信量の増大を抑制することができる。
With this configuration, even when the delivery request to the file is difficult to predict, the file can be held on the network based on the elapsed time from the date and time when the delivery is started. That is, with a simple configuration, it is possible to avoid concentration of access to the distribution server and suppress an increase in the total communication volume.
また、ファイルに対し配信を要求する端末からの要求を集計する管理装置をさらに含み、所定の条件は、要求が多いファイルを優先するという条件をさらに含むようにしてもよい。このようにすれば、データに対する配信要求を加味してネットワーク上にファイルを保持する優先度を決定することができる。 Further, a management device that aggregates requests from terminals requesting distribution of files may be further included, and the predetermined condition may further include a condition that a file with a large number of requests is prioritized. In this way, the priority of holding the file on the network can be determined in consideration of the distribution request for the data.
また、ノード装置が属するネットワークにおいて、ノード装置には、当該ノード装置が保持すべきファイルを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、ファイルは、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上のグループと関連付けられるようにしてもよい。また、ノード装置は、自身に割り当てられたグループと関連付けられたファイルを受信した場合は、当該ファイルをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、要求元のノード装置が送信を要求するファイルに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するファイルに対応するキャッシュを保持していない場合は、他のノードにファイルを要求する中継部とを備えるものであってもよい。ノードに対して、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てるという簡便な方法により、ネットワーク上のノード装置においてファイルを分散して保持することができる。また、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上のグループと関連付けることにより、ネットワーク上において保持されるファイルの量を所定の優先度に基づいて制御することができるようになる。 Further, in the network to which the node device belongs, the node device is assigned a group for specifying a file to be held by the node device so that a group different from other node devices adjacent in the network topology is prioritized. However, files may be associated with zero or more groups, such that more files are preferentially retained and more groups are assigned. In addition, when the node device receives a file associated with a group assigned to itself, the node device that requests the transmission is a cache holding unit that temporarily holds the file in the storage unit as a cache. If the cache corresponding to the file to be held is held, the cache sending unit that sends the cache to the requesting node device and the cache corresponding to the file requested by the requesting node device are not held. In this case, a relay unit that requests a file from another node may be provided. Files can be distributed and held in the node devices on the network by a simple method of assigning to the node such that a group different from other node devices adjacent in the network topology is prioritized. Also, by associating with zero or more groups so that the more files that should be retained preferentially are assigned, the amount of files retained on the network can be controlled based on a predetermined priority. become able to.
また、ファイルは、コンテンツデータであり、基準となる日時はコンテンツデータの配信が開始された日時であり、コンテンツデータは、コンテンツのベースとなるデータとコンテンツの品質を向上させるためのデータとを有し、所定の条件は、コンテンツのベースとなるデータを優先するという条件をさらに含むようにしてもよい。このようにすれば、配信に必要な最低限度のベースとなるデータを、品質を向上させるためのデータよりも優先して、ネットワーク上に保持させることができる。よって、ネットワークのスループットが低いときであってもベースとなるデータは配信できるようになる。 Further, the file is content data, the reference date and time is the date and time when the distribution of the content data is started, and the content data includes data serving as the content base and data for improving the quality of the content. However, the predetermined condition may further include a condition that the data serving as the base of the content is prioritized. By doing so, the minimum base data required for distribution can be retained on the network with priority over the data for improving quality. Therefore, the base data can be delivered even when the network throughput is low.
また、ノード装置は、階層的に接続される複数のネットワークのいずれかに属し、ファイルは、優先して保持されるべきファイルほど配信先の端末側に位置する下流のネットワークに属するノードに保持されるようにしてもよい。このようにすれば、優先度の高いファイルを配信先の端末に近い階層においてキャッシュすることができ、階層的に接続されるネットワーク間での通信量も削減することができる。 In addition, the node device belongs to any one of a plurality of networks that are hierarchically connected, and files that are to be retained preferentially are retained in a node that belongs to a downstream network located closer to the destination terminal side. You may do it. By doing so, it is possible to cache a file having a high priority in a layer close to the terminal of the delivery destination, and reduce the amount of communication between networks that are hierarchically connected.
また、ファイルは、ストリーミング配信される一連のデータの一部を構成するチャンクであってもよい。なお、チャンクとは、何らかのデータについて時間的な区間又はデータサイズに基づいて分割した複数の部分的なファイルをいうものとする。このようにすれば、ライブ配信される一連のデータを逐次キャッシュすることができる。また、一連のデータの一部に配信要求が偏るような場合であっても、例えば要求頻度に応じてネットワーク上におけるキャッシュ量を制御できるようになる。 Further, the file may be a chunk that constitutes a part of a series of data that is distributed by streaming. Note that a chunk is a plurality of partial files obtained by dividing some data based on a time section or data size. By doing so, it is possible to sequentially cache a series of data to be delivered live. Further, even when the distribution request is biased to a part of the series of data, the cache amount on the network can be controlled according to the request frequency, for example.
本発明の他の側面に係るノード装置は、ファイルの一部を構成するファイルを送受信すると共に、所定の条件に基づいて当該ファイルを保持する。また、所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む。 A node device according to another aspect of the present invention transmits and receives a file that constitutes a part of a file, and holds the file based on a predetermined condition. Further, the predetermined condition includes a condition that a file having a short elapsed time from a reference date and time is prioritized.
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 The contents described in the means for solving the problems can be combined as much as possible without departing from the problems and technical ideas of the present invention. The contents of the means for solving the problems can be provided as an apparatus such as a computer or a system including a plurality of apparatuses, a method executed by the computer, or a program executed by the computer. A recording medium holding the program may be provided.
ストリームデータが送受信されるネットワークにおいて、簡易な構成により、配信サーバへのアクセスの集中を避け、全体の通信量の増大を抑制するための技術を提供できる。 In a network for transmitting/receiving stream data, it is possible to provide a technique for avoiding concentration of access to a distribution server and suppressing an increase in the overall communication volume with a simple configuration.
以下、図面を参照して本発明を実施するための形態について説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
<システム構成>
図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は、コンピュータであり、通信可能に接続された他のコンピュータとの間で電子ファイルを送受信することができるものとする。また、配信サーバ5は、ストリーミングによっていわゆるライブ配信を行うサーバである。配信サーバ5は、配信ユーザの端末4(例えば4d)から継続的に送信される動画又は音声等のコンテンツデータ6を要求元の端末4(例えば4a)へストリーミング配信する。なお、配信サーバ5は、配信ユーザの端末から受信したコンテンツデータを所定の形式でエンコードし、要求元の端末4へストリーミング配信するようにしてもよい。
<System configuration>
FIG. 1 is a diagram showing an example of the configuration of a network system according to an embodiment. The
図1において大きな吹出し内に示すように、配信サーバ5には、配信ユーザの端末から
受信したコンテンツデータ6が格納されている。そして、配信サーバ5は、端末4からの要求に応じて、ネットワーク2を介してコンテンツデータ6を端末4へ例えばストリーミング方式で送信する。また、コンテンツデータ6は、時間的な区間又はデータサイズに基づいて分割された複数の部分的なファイル(「チャンク」とも呼ぶ)61〜63に分割されている。ライブ配信されるコンテンツデータは、チャンク単位で順次配信される。なお、チャンク61、62、63の順に、配信日時からの経過時間が大きい(すなわち古い)ものとする。
As shown in a large balloon in FIG. 1, the
また、ライブ配信されるコンテンツデータ6について、ユーザの端末4は、ライブ配信中のコンテンツ又はライブ配信終了後のコンテンツについて、タイムシフト又はオンデマンドで配信を受けることができるものとする。ここで、本実施形態では、図1において小さな吹出し内に示すように、チャンク単位でコンテンツデータ6がノード3にキャッシュされる。そして、端末4からの要求を配信サーバ5へ中継する過程において、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしている場合は、キャッシュしているチャンクを要求元に送信する。なお、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしていない場合は、配信サーバ5又は他のノード3に当該チャンクの要求を転送する。
Further, regarding the
また、各ノード3には、当該ノード3にキャッシュすべきチャンクを特定するためのグループが予め割り当てられているものとする。換言すれば、各ノード3は、予め定められた複数のグループのいずれかに属する。図1の例では、各ノード3の近傍に表示された円内に施されたハッチングが、各ノード3が属するグループを表している。ノード3aは、横縞のグループ(「グループA」と呼ぶ)に属する。ノード3bは、縦縞のグループ(「グループB」と呼ぶ)に属する。ノード3c及び3eは、右上から左下にかけた斜線のグループ(「グループC」と呼ぶ)に属する。ノード3dは、左上から右下にかけた斜線のグループ(「グループD」と呼ぶ)に属する。本実施形態では4種類のグループを、ノード3及びチャンクに割り当てるものとして説明するが、グループの数は4には限定されない。
In addition, it is assumed that a group for specifying a chunk to be cached in the
また、あるノード3には、ネットワーク2内においてネットワークトポロジ上隣接する他のノード3とは異なるグループが優先して割り当てられるようにしてもよい。すなわち、複数のノード3には、グループが、ネットワークトポロジ上偏らないように割り当てられる。例えば、新たなノード3をネットワーク2に接続する場合は、例えば複数のグループについて、すでにネットワーク2上に存在する他のノード3のうち、ホップ数が小さいノード3又は回線の経路長が短いノード3に付されたグループから順に除外し、残ったグループを新たなノードに割り当てるようにしてもよい。また、平面グラフで表されるメッシュ型のネットワークや、リング型のネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。このようにすれば、あるノード3から他のグループが割り当てられたノード3までは、いずれのグループの場合も同程度のホップ数又は経路長で到達するようになる。
Further, a group different from
また、各チャンクは、当該チャンクをキャッシュすべきゼロ以上のグループと関連付けられている。図1の例では、チャンク61〜63の各々の下に表示された矩形内に施されたハッチングが各チャンクを保持すべきグループを表している。チャンク61には、グループA〜Dの4つが割り当てられている。チャンク62には、グループA、B及びDの3つが割り当てられている。チャンク63には、グループA及びCの2つが割り当てられている。なお、グループが1つも割り当てられていないチャンクがあってもよい。このようなネットワークシステム1によれば、チャンクに割り当てるグループの数によって、当該チャンクがネットワーク2においてキャッシュされる量を調整することができる。例えば、ライブ配信からの経過時間が小さいチャンク又は要求頻度の大きいチャンクに対し、よ
り多くのグループを割り当てるようにすれば、要求元のノード3に近い場所にチャンクがキャッシュされている確率を高めることができる。
Also, each chunk is associated with zero or more groups for which the chunk should be cached. In the example of FIG. 1, the hatching in the rectangle displayed below each of the
このようなシステム1において、ノード3は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュする。また、要求元のノード3が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード3に対して送信する。一方、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノード3に当該チャンクの要求を中継する。
In such a
図2は、チャンクに付される、グループを示す情報を説明するための図である。コンテンツデータ6には、例えばチャンクごとに、ゼロ以上の上述したグループの組合せを示す情報が関連付けられる。図2には、ハッチングのパターンで表した4種類のグループの組合せのバリエーションが示されている。すなわちグループの組合せの各々は、グループを0〜4個有する。また、グループの組合せは、図2の右辺に示すように、例えばグループの数だけ桁数を有するビット列によって形成されるタグによって表すことができる。そして、チャンクに対するグループの関連付けは、各ノード3において、チャンクの識別情報に関連付けてタグを保持することにより記憶させることができる。
FIG. 2 is a diagram for explaining information indicating a group attached to a chunk. The
高解像度の動画コンテンツや、全方向の情報を含むVR(Virtual Reality)コンテン
ツ、音楽コンテンツ等は、1ファイル当たりの容量が大きく内容が更新されることが少ない。したがって、CDN(Contents Delivery Network)において、配信が開始されてか
らの経過時間が小さいコンテンツ又はアクセス頻度の高いコンテンツをキャッシュ対象とすれば、キャッシュによるトラフィックの削減が期待できる。
High-resolution moving image content, VR (Virtual Reality) content including information in all directions, music content, and the like have a large capacity per file and are rarely updated. Therefore, in a CDN (Contents Delivery Network), if the content that has a small elapsed time from the start of distribution or the content that is frequently accessed is cached, it is expected that the traffic will be reduced by the cache.
図3は、チャンクに対応付けてタグを記憶するテーブルの一例を示す図である。図3のテーブルは、「チャンクID」及び「タグ」の属性を有する。「チャンクID」のフィールドには、チャンクの識別情報が登録される。識別情報としては、チャンクを一意に特定するための名称を用いるようにしてもよいし、ファイルの名称及び当該ファイル中のチャンクの範囲を示す情報を用いるようにしてもよい。チャンクの範囲は、例えばファイルの先頭からのオフセットで表すことができる。「タグ」のフィールドには、対応付けられたファイルをキャッシュするゼロ以上のグループが登録される。図3に示すようなチャンクとグループとの対応付けを表す情報(換言すれば、キャッシュすべきチャンクのリスト)は、データベースやフラットファイル、その他の様々な形式のファイルとして各ノード3に記憶させることができる。また、図3に示すような情報は、例えばネットワーク2に接続された配信サーバ5等の管理装置が一元的に管理し、例えばキャッシュすべきチャンクのリストをネットワーク2上のノード3にブロードキャストしてノード3の各々に保持させるようにしてもよいし、ノード3の各々がネットワーク2上の管理装置から任意のタイミングで読み出すようにしてもよい。
FIG. 3 is a diagram illustrating an example of a table that stores tags in association with chunks. The table of FIG. 3 has attributes of “chunk ID” and “tag”. Chunk identification information is registered in the “chunk ID” field. As the identification information, a name for uniquely identifying the chunk may be used, or information indicating the name of the file and the range of the chunk in the file may be used. The chunk range can be represented by an offset from the beginning of the file, for example. In the “tag” field, zero or more groups that cache the associated files are registered. Information (in other words, a list of chunks to be cached) indicating the correspondence between chunks and groups as shown in FIG. 3 should be stored in each
<装置の構成>
図4は、端末4、ノード3及び配信サーバ5の構成の一例を示すブロック図である。端末4、ノード3及び配信サーバ5は、一般的なコンピュータである。
<Device configuration>
FIG. 4 is a block diagram showing an example of the configurations of the
<端末>
端末4は、PC(Personal Computer)、スマートフォン、タブレット等のコンピュー
タであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
<Terminal>
The
通信I/F41は、例えば有線のネットワークカード又は無線の通信モジュールであり
、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ネットワーク2を介してコンテンツデータ6を受信する。
The communication I/
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置(一次記憶装置)及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやコンテンツデータ6を一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラム等を記憶する。
The
入出力装置43は、例えばキーボード、マウス、カメラ(ウェブカメラ)等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介して配信サーバ5に対しコンテンツデータ6の送信を要求したり、受信したコンテンツデータ6を読み出して表示させたりする。
The input/
プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、プ
ログラムを実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、再生処理部441及び配信処理部442として機能する。再生処理部441は、例えばユーザの操作に基づいて、ネットワーク2を介してコンテンツデータ6の送信を要求したり、受信したチャンクを再生したりする。配信処理部442は、例えばカメラ等の入力装置を介して動画を構成するデータを生成し、通信I/F41を介して配信サーバ5へ送信する。
The
以上のような構成要素が、バス45を介して接続されている。
The above components are connected via the
<ノード>
ノード3も、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
<node>
The
通信I/F31は、例えばネットワークカードや通信モジュールであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ノード3、端末4及び配信サーバ5との間においてコンテンツデータ6を送受信する。
The communication I/
記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのチャンク単位でのキャッシュ、当該ノード3に割り当てられたグループを示す情報等を記憶する。
The
入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The input/
プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。ノード3においても、プロセッサ34内に機能ブロックを示している。プロセッサ34は、例えば、キャッシュ保持部341、キャッシュ送信部342及び中継部343の各処理部として機能する。キャッシュ保持部341は、チャンクに関連付けられたグループを示す情報に基づいて、受信したチャンクを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部342は、他のノードから配信サーバ5へのファイルのチャンク単位での要求に対し、当該ノード3の記憶装置42にキャッシュされている場合、キャッシュされているチャンクを他のノード3
又は端末4に送信する。中継部343は、端末4から配信サーバ5への経路上に当該ノード3が位置する場合において、他のノード3又は端末4から配信サーバ5へのチャンク送信要求や、他のノードへ送信するチャンクを中継する。
The
Alternatively, it is transmitted to the
以上のような構成要素が、バス35を介して接続されている。
The above components are connected via the
<配信サーバ>
配信サーバ5も、通信I/F51と、記憶装置52と、入出力装置53と、プロセッサ54と、バス55とを備えている。
<Distribution server>
The
通信I/F51は、例えばネットワークカードであり、所定のプロトコルに基づき、ノード3やネットワーク2を介して接続された配信ユーザの端末4等のコンピュータと通信を行う。例えば、配信ユーザの端末4からコンテンツデータ6を受信するとともに、ノード3からの要求に応じてコンテンツデータ6を送信する。
The communication I/
記憶装置52は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのコンテンツデータ6等を記憶しているものとする。
The
入出力装置53は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The input/
プロセッサ54は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。配信サーバ5についても、プロセッサ54内に機能ブロックを示している。プロセッサ54は、コンテンツ管理部541、キャッシュ管理部542の各機能部として機能する。コンテンツ管理部541は、配信者の端末4からコンテンツデータ6を受信して記憶装置52へ格納したり、送信を要求されたコンテンツデータ6を記憶装置52から読み出し、要求元のノードに対して送信する。キャッシュ管理部542は、ネットワーク2上のノード3にキャッシュさせる対象のチャンクを決定したり、チャンクをキャッシュするグループを割り当てたりする。キャッシュ管理部542は、例えばチャンクごとにアクセス数を計数し、所定期間内のアクセス頻度を算出し、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定するようにしてもよい。
The
以上のような構成要素が、バス55を介して接続されている。
The above components are connected via a
<ライブ配信処理>
図5は、ライブ配信処理における配信者の端末と配信サーバとの間の処理の一例を示す処理フロー図である。ライブ配信者の端末4の配信処理部442は、例えば端末4が備えるカメラを利用して動画等のコンテンツデータ6を出力する(図5:S1)。また、配信処理部442は、出力したコンテンツデータ6を、通信I/F41及びネットワーク2を介して配信サーバ5へ順次送信する(S2)。
<Live distribution processing>
FIG. 5 is a process flow diagram showing an example of a process between the distributor's terminal and the distribution server in the live distribution process. The
一方、配信サーバ5のコンテンツ管理部541は、通信I/F51を介して端末4からコンテンツデータ6を受信し、記憶装置52に格納する(S3)。また、コンテンツ管理部541は、受信したコンテンツデータ6を所定の形式にエンコードするようにしてもよい(S4)。本ステップでは、例えばH.264のようなファイルフォーマットに変換し、記憶装置52に格納する。また、コンテンツ管理部541は、変換後のコンテンツデー
タ6を配信する(S5)。本ステップでは、リアルタイムで視聴するユーザの端末4からの配信要求を受けてコンテンツデータ6を配信するほか、オンデマンド(タイムシフト)で視聴するユーザの端末4からの配信要求に対してもコンテンツデータ6を配信するものとする。
On the other hand, the
図6は、ライブ配信処理における配信サーバとノードと視聴者の端末との間の処理の一例を示す処理フロー図である。図6の「ノード」は、図1、図4における要求元の端末4から配信サーバ5までの経路上に存在するノード3に相当する。すなわち、複数のノード3を経由する場合もあるが、図6においては、便宜上、1つのノードを示す。
FIG. 6 is a process flow diagram showing an example of a process between the distribution server, the node, and the viewer's terminal in the live distribution process. The “node” in FIG. 6 corresponds to the
視聴者の端末4の再生処理部441は、配信者の端末4の配信処理部442が配信サーバ5へ送信し、配信サーバ5が保持するコンテンツの送信を要求する(図6:S11)。本実施形態では、MPEG−DASH規格のMPD(Media Presentation Description)ファイルによって、複数のチャンクに分割されたコンテンツファイルを記述する例を説明する。
The
図7に、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)のようなフォー
マットに適用することもできる。
FIG. 7 shows an example of the contents of the MPD file. The MPD file is described in XML (Extensible Markup Language), and position information (URL: Uniform Resource Locator) 611, 621, 631,... , 622, 632,... That is, the MPD file (content file) 6 has information about the
一方、ノード3の中継部343は、要求を受信し(S12)、要求されたチャンクに対応するキャッシュファイルが自ノードの記憶装置32に保持されているか判断する(S13)。キャッシュを保持している場合(S13:YES)、ノード3のキャッシュ送信部342は、キャッシュファイルを要求元に送信する(S14)。一方、要求元の端末4の再生処理部441は、キャッシュファイルを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S15)。
On the other hand, the
また、ノード3がキャッシュを保持していない場合(S13:NO)、中継ノードの中継部343は、隣接するノード3又は配信サーバ5に要求を中継する(S16)。なお、複数のノード3を介して要求が転送される場合は、同様の処理が繰り返される。また、本実施形態においては、ノード3は、グループを示すタグのビット位置からいずれのグループに属するノード3において各チャンクがキャッシュされているかわかる。よって、ノード3は、近傍に接続された他のノード3が属するグループを予め記憶しておくことにより、要求されたチャンクのタグのビット位置に基づいて当該チャンクをキャッシュするグループに属するノード3を、要求の転送先に決定するようにしてもよい。
When the
一方、配信サーバ5のコンテンツ管理部541は、チャンクに対する送信の要求を受信し(S17)、該当するチャンクを記憶装置52から読み出して送信する(S18)。一方、ノード3の中継部343は、受信したチャンクを要求元に対して中継する(S19)
。そして、要求元の端末4の再生処理部441は、チャンクを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S20)。
On the other hand, the
.. Then, the
また、S19においてチャンクを要求元へ中継する場合、ノード3のキャッシュ保持部341は、当該チャンクは自ノードが属するグループにおいてキャッシュすべき対象であるか判断する(S21)。本ステップでは、チャンクに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。例えば、図3に示したような情報をノード3の記憶装置32が保持する。
When the chunk is relayed to the request source in S19, the
そして、中継したチャンクがキャッシュ対象であると判断された場合(S21:YES)、ノード3のキャッシュ保持部341は、当該チャンクを記憶装置32に一時的に保持させる。一方、中継したチャンクがキャッシュすべき対象でないと判断された場合は、ノード3はチャンクを保持しない。ネットワークシステム1は、要求元ノードからのファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。
Then, when it is determined that the relayed chunk is the cache target (S21: YES), the
<効果>
本実施形態では、ネットワーク2において同一のグループが偏らないようにノードをグループ分けする。すなわち、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先して割り当てられるという簡便な方法により、同一のチャンクをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するようなキャッシュ配置を実現することができる。また、図1に示したように、1つのチャンクには複数のグループを示す情報を関連付けておくようにしてもよい。そして、リアルタイム又はオンデマンドの配信要求の多いチャンクほど多くのグループを割り当てておけば、より多くのノードでキャッシュすすることができ、ネットワーク上におけるキャッシュのヒット率を向上させることができる。また、チャンク単位でキャッシュすることにより、チャンク単位で要求される頻度が異なるような場合であっても、要求の頻度が高いチャンクをキャッシュさせれば、キャッシュ領域を効率的に活用することができる。
<Effect>
In this embodiment, the nodes are grouped so that the same group is not biased in the
<キャッシュ対象決定処理>
また、上述したネットワークシステムにおいて、チャンクに対するキャッシュの優先度を決定し、チャンクに関連付けられるグループを示す情報(換言すればキャッシュすべきチャンクのリスト)を動的に変更するようにしてもよい。キャッシュの優先度は、例えば、コンテンツデータ6の配信からの経過時間に基づいて決定することができる。すなわち、ライブ配信が行われる場合、リアルタイムで視聴するユーザのほか、少し遅れて視聴を開始したり、一部分を聞き直すこと等によりリアルタイムよりも遅れて視聴するユーザも存在する。一般的なコンテンツデータについては、配信の開始から時間が経過するほど配信の要求が少なくなる傾向があるところ、コンテンツデータ6の配信からの経過時間が短いほどネットワーク上に多くキャッシュすることを1つの条件としてキャッシュ対象を決定すれば、ネットワーク上におけるキャッシュのヒット率を向上させることができるといえる。また、配信サーバ5のキャッシュ管理部542が算出する各チャンクへの配信要求の頻度(アクセス頻度)をもう1つの条件としてキャッシュ対象を決定するようにしてもよい。コンテンツデータ6によって、配信要求の多寡が異なるところ、アクセス頻度に基づいてキャッシュ対象を決定することによってもネットワーク上におけるキャッシュのヒット率を向上させることができる。また、2つの条件を組み合わせてキャッシュ対象を決定する場合は、各条件の重みを適宜決定し、配信から経過した時間が短く且つアクセス頻度の大きいチャンクほど、多くのグループを割り当てるものとする。なお、配信サーバ5は、チャンクに対するアクセスの頻度を算出し、キャッシュ対象のチャンクを決定する、本発明に係る「アクセス管理装置」の一例である。また、配信サーバ5とは別に、いずれかのネットワーク2にアクセス管理装置を設けてもよい。
<Cache target determination process>
Further, in the network system described above, the priority of the cache for the chunk may be determined, and the information indicating the group associated with the chunk (in other words, the list of chunks to be cached) may be dynamically changed. The cache priority can be determined, for example, based on the elapsed time from the distribution of the
図8は、キャッシュ対象のチャンクを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステムは、図8に示すような処理を行うようにしてもよい。図8においては、図6に対応する処理には同一の符号を付し、説明を省略する。 FIG. 8 is a process flow diagram showing an example of a cache target update process for changing a cache target chunk. For example, the network system may perform the processing shown in FIG. In FIG. 8, the same reference numerals are given to the processes corresponding to those in FIG. 6, and the description will be omitted.
また、例えば配信サーバ5は、図6のS18に代えて、チャンクを送信すると共に、さらに当該チャンクへの配信要求のログを記憶装置32に書き出す(図8:S31)。配信要求は、リアルタイムでの視聴における配信要求と、オンデマンドでの視聴における配信要求とを合算する。また、配信サーバ5のキャッシュ管理部542は、所定のタイミングで直近の所定期間におけるチャンクごとの要求頻度(アクセス頻度とも呼ぶ)を集計する。
Further, for example, the
また、ノード3は、配信の要求に応じてキャッシュを送信した回数をチャンクごとに計数しておき、計数した回数を所定のタイミングで配信サーバ5へ送信する(S32)。一方、配信サーバ5は、ノード3からキャッシュの送信回数を受信し、チャンクごとのアクセス数を算出する(S33)。すなわち、配信サーバ5から配信されていないがノード3のキャッシュを送信することによって視聴者の端末4に配信を行ったチャンクについて、要求数を集計できる。
Further, the
また、配信サーバ5のキャッシュ管理部542は、キャッシュ対象のチャンクを決定する(S34)。例えば、所定のタイミングで、配信からの経過時間が相対的に短く且つ要求頻度が相対的に高いチャンクほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、より多くのグループにキャッシュさせるために、チャンクに対しより多くのグループを割り当てる。また、例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象及びこれに割り当てるグループの数を更新するものとする。
Also, the
図9は、キャッシュの対象を決める際の優先順位を説明するための図である。図9は、縦軸がチャンクへの要求頻度を表し、横軸が配信からの経過時間を表しており、これらの大きさの組み合わせに対してチャンクに割り当てるグループ数を模式的に示している。すなわち、割り当てられるグループ数が大きいほど、多くのノード3においてキャッシュされるといえる。図9に示すように、配信からの経過時間が同一のチャンクであれば、要求頻度が高いチャンクほど、ネットワーク上に多くキャッシュされるようになっている。また、要求頻度が同一のチャンクであれば、配信からの経過時間が短いほど、ネットワーク上に多くキャッシュされるようになっている。すなわち、配信が開始された日時からの経過時間が短いチャンクを優先するという条件と、配信要求が多いチャンクを優先するという条件とのバランスによって、キャッシュする優先度を決定する。なお、図9のグラフは一例であり、割り当てるグループ数の境界を示す直線の傾きは適宜決定することができ、また、境界を直線で定義しなくてもよい。また、要求頻度に代えて、又は要求頻度に加えて、例えばチャンクの重要度を示す他の基準を用いて割り当てるグループ数を決定するようにしてもよいし、配信からの経過時間のみによって割り当てるグループ数を決定するようにしてもよい。
FIG. 9 is a diagram for explaining the priority order when deciding the cache target. In FIG. 9, the vertical axis represents the request frequency for chunks, the horizontal axis represents the elapsed time from distribution, and schematically shows the number of groups assigned to chunks for combinations of these sizes. That is, it can be said that the larger the number of assigned groups, the
図10は、キャッシュを行う優先順位と、当該チャンクに関連付けて割り当てられるグループを示すタグの一例を示す図である。なお、図9に示したような配信からの経過時間と要求頻度とに基づいて、チャンクごとにキャッシュを行う優先順位を決定するものとする。図10に示す表は、「順位」、「グループ数」、及び「タグ」の項目を有する。「順位」のフィールドには、配信からの経過時間及び所定期間における要求頻度に基づいて定まる順位の範囲が記録されている。図8のS34においては、所定期間における順位が決
定される。「グループ数」のフィールドには、各順位のチャンクをキャッシュするグループの数が示されている。「タグ」のフィールドには、各順位のチャンクをキャッシュするグループを示す情報が上述したタグの形式で記録されている。
FIG. 10 is a diagram showing an example of tags for indicating a priority order for caching and a group assigned in association with the chunk. It should be noted that the priority order for caching is determined for each chunk based on the elapsed time from distribution and the request frequency as shown in FIG. The table shown in FIG. 10 has items of “rank”, “group number”, and “tag”. In the "rank" field, a rank range determined based on the elapsed time from distribution and the request frequency in a predetermined period is recorded. In S34 of FIG. 8, the ranking in a predetermined period is determined. The “group number” field indicates the number of groups that cache the chunks of each rank. In the "tag" field, information indicating a group in which chunks of each rank are cached is recorded in the tag format described above.
また、キャッシュ管理部542は、配信からの経過時間及び要求頻度に応じて、各チャンクをキャッシュするグループを決定する(図8:S35)。本ステップでは、各チャンクに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図9に示す優先の程度を決定する。例えばノード3を4つのグループに分ける場合、優先の程度を5段階に分類する。また、最も優先すべき程度に属するチャンクを4つのグループすべてにおいてキャッシュさせ、2番目に優先すべき程度に属するチャンクを3つのグループにおいてキャッシュさせ、3番目に優先すべき程度に属するチャンクを2つのグループにおいてキャッシュさせ、4番目に優先すべき程度に属するチャンクを1つのグループにおいてキャッシュさせる。なお、優先度の低いチャンクはいずれのグループにおいてもキャッシュさせないものとする。
Further, the
このように、優先の程度に応じて当該チャンクをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたチャンクに対し循環的にグループの組合せを割り当てる。例えば、図10の順位が21〜100のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各チャンクへのアクセス頻度に基づいて、チャンクに関連付けられるタグが更新される。 In this way, the number of groups of nodes that cache the chunk is determined according to the degree of priority, and then the combination of groups is cyclically assigned to the chunks to which the same number of groups are assigned. For example, the tags determined by cyclically assigning combinations of three groups are recorded in the “tag” field of the records with the ranks 21 to 100 in FIG. In S25, the tag associated with the chunk is updated based on the access frequency to each chunk in the most recent predetermined period.
そして、キャッシュ管理部542は、各チャンクをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図8:S36)。本ステップでは、例えば図10の「チャンク名」及び「タグ」の列に示す情報が、各ノード3へブロードキャストされる。ノード3は、リストを受信すると、当該リストを記憶装置32に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のチャンクを決定する(S37)。このようなリストのグループを示す情報に基づいて、各ノードは、チャンクを要求する先を判断することができる。また、リストが更新された場合、ノード3において保持する対象でなくなったキャッシュを削除するようにしてもよい。
Then, the
<効果>
キャッシュ対象更新処理によれば、配信サーバ5から配信されるデータについて、配信からの経過時間及び要求頻度に応じて、ネットワーク上においてキャッシュさせる量を制御できる。また、要求頻度の傾向が変化した場合にも、傾向の変化に追従してネットワーク上におけるキャッシュのヒット率を維持及び向上させられるようキャッシュ配置を変更できる。なお、要求頻度の算出やキャッシュすべきチャンクのリストの更新を行う管理装置は、配信サーバ5であってもよいし、ネットワーク2に接続された他の装置であってもよい。また、各ノード3が記憶するチャンクごとのアクセスログは、ネットワーク上の所定の装置に保持させ、配信サーバ5又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<Effect>
According to the cache target update process, the amount of data distributed from the
<キャッシュ対象のファイル及びファイルをキャッシュするノードの数>
本実施形態では、所定の条件に基づいてキャッシュ対象を決定する。チャンクをキャッシュするノードの数は、ユーザが任意に設定することができる。なお、チャンクをキャッシュするノードの数は、各グループに属するノードの数と、チャンクに割り当てられたグループの数とによって決まる。チャンクをキャッシュするノードの数は、例えば遺伝的アルゴリズム等を利用して求めた準最適なキャッシュ配置に従って定めるようにしてもよい。
<Number of cache target files and nodes that cache files>
In this embodiment, the cache target is determined based on a predetermined condition. The user can arbitrarily set the number of nodes that cache chunks. Note that the number of nodes that cache chunks is determined by the number of nodes that belong to each group and the number of groups that are assigned to chunks. The number of nodes that cache chunks may be determined according to a sub-optimal cache arrangement obtained by using, for example, a genetic algorithm.
図11は、1つの平面グラフで表されるメッシュ型ネットワーク上にキャッシュされるファイル(チャンク)及びその数を示すグラフである。図11の横軸は、優先順位の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。ファイルに付すタグの設定は、遺伝的アルゴリズムを利用して求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図11の破線は、メッシュ型のネットワークにおいて、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求めら
れた準最適なキャッシュ配置におけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。実線は、遺伝的アルゴリズムで求めたネットワーク中のキャッシュファイル数を、本実施形態に係るネットワークシステムで近似する例である。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を4よりも大きくすることで、準最適な配置に対する近似の精度を向上させることができる。
FIG. 11 is a graph showing files (chunks) cached on the mesh network represented by one plane graph and the number thereof. The horizontal axis of FIG. 11 represents the serial numbers of files sorted in descending order of priority, and the vertical axis represents the number of nodes that cache each file. The setting of the tag attached to the file may be determined according to the type of file cached on the node and the number of nodes that cache the same file in the cache arrangement determined by using the genetic algorithm. The broken line in FIG. 11 represents the relationship between the files in the sub-optimal cache arrangement obtained by the genetic algorithm (GA) and the number of cached files on the network in the mesh type network. .. The solid line is an example in which the number of cache files in the network obtained by the genetic algorithm is approximated by the network system according to this embodiment. In this embodiment, by changing the group assigned to each file, which is represented by the above-mentioned tag, the number of nodes on the network that cache the file can be adjusted. Further, by making the number of types of groups larger than four, it is possible to improve the accuracy of approximation for the sub-optimal arrangement.
<変形例1>
図12は、変形例に係るネットワーク構成の一例を示す図である。本変形例に係るネットワークシステム1は、階層状に接続された複数のネットワーク2を含む。ネットワーク2は、例えばインターネットサービスプロバイダ(ISP:Internet Service Provider
)によって管理される自律システムであり、上位の階層からティア(Tier)1、ティア2、ティア3と呼ぶ。各ネットワーク2は、メッシュ型、フルメッシュ型、リング型、バス型等のネットワークトポロジで接続された複数のノードを含む。また、各ノードは、自ノードが属する階層に割り当てられたグループのいずれかと対応付けられている。本変形例においても、ノード3へのグループの割り当ては、ネットワーク2において同一のグループが偏らないように行ってもよい。すなわち、各ノード3には、ネットワーク2内においてネットワークトポロジ上隣接する他のノード3とは異なるグループが優先して割り当てられる。また、接続関係を表すトポロジを平面グラフで表すことができるネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。
<
FIG. 12 is a diagram illustrating an example of a network configuration according to the modification. A
) Is an autonomous system that is managed by ), and is called
また、ネットワーク2には、電気通信回線を介して通信可能に接続された複数のノード3が接続される。ノード3は、自身が記憶するチャンクを、自身が接続されたネットワーク2や、他の階層に属するネットワーク2を介して、他のコンピュータとの間で送受信することができる。
Further, the
一般的に、1つのネットワーク2に接続された2つのコンピュータ間で通信を行う場合、例えばネットワーク2を制御するISPは、自己の管理するインフラストラクチャによって通信を完結させることができる。また、同程度の階層に属するネットワーク2の間では、ネットワーク2に接続されたコンピュータ間のトラフィックを相互に転送する「ピアリング」が行われる場合がある。また、上下の階層に属するネットワーク2の間では、下位のネットワーク2に接続されたコンピュータのトラフィックを上位のネットワーク2を介してさらに他のネットワーク2に転送する「トランジット」が行われることがある。このとき、下位のネットワーク2を管理するISPには、上位のネットワーク2を利用するための費用が発生することがある。したがって、各ネットワーク2においては上位のネットワーク2への通信が低減されることが望ましい。
Generally, when performing communication between two computers connected to one
本変形例では、いずれかのネットワーク2に接続された配信サーバ5からチャンクを受信する場合に、視聴者の端末4に近い場所にファイルがキャッシュされている確率を高めると共に、ネットワーク2間におけるトラフィックの発生を低減させる。また、ISPが提供するネットワークの下で、ユーザは例えば建物内にLAN(Local Area Network)を
構築することがある。本実施形態では、ISPやユーザ等によって管理される単位が異なるものを別のネットワークとして扱い、ネットワークはティア1から段階的に階層に属するものとする。
In this modified example, when a chunk is received from the
図13は、本変形例においてチャンクに付されるタグを説明するための図である。本変形例においても、チャンクには、ゼロ以上の上述したグループを示す情報が関連付けられる。また、1つのチャンクに対して複数のグループを割り当てる場合は、階層を跨ぐことなく、3つの階層のいずれかに属する4つ以下のグループの組合せが割り当てられる。 FIG. 13 is a diagram for explaining tags attached to chunks in this modification. Also in this modification, the chunk is associated with information indicating zero or more of the groups described above. Further, when a plurality of groups are assigned to one chunk, combinations of four or less groups belonging to any of the three layers are assigned without straddling the layers.
なお、3つの階層に4つのグループが存在する場合、12桁のビット列によって(24)3種類のタグを生成することができる。本実施形態では、あるファイルはいずれかの階層においてキャッシュするものとし、(24)×3種類のタグを利用する。また、本実施形態では、所定の条件に基づいて決定される優先順位の高いチャンクほど、下位のネットワーク2においてキャッシュする。また、優先順位の高いチャンクほど、多くのグループでキャッシュするようにしてもよい。また、すべてのファイルにグループを関連付ける必要はなく、タグが「0000 0000 0000」のファイルは、いずれの階層においてもキャッシュされないファイルを示す。このようなタグによれば、各階層に属するノード3は、他のノード3からキャッシュされたチャンクを受信する場合、要求する先のノードを同一の階層に属するノード3とすべきか、上下いずれの階層に属するノード3とすべきか容易に判断することができる。
In addition, when four groups exist in three layers, (2 4 ) 3 types of tags can be generated by a 12-digit bit string. In this embodiment, a certain file is cached in any layer, and (2 4 )×3 types of tags are used. Further, in the present embodiment, a chunk having a higher priority determined based on a predetermined condition is cached in the
図14は、本変形例における、キャッシュの対象を決める際の優先順位を説明するための図である。図14のグラフは、縦軸がチャンクへの要求頻度を表し、横軸が配信からの経過時間を表しており、これらの大きさの組み合わせに対してチャンクに割り当てるグループ数及びキャッシュする階層を模式的に示している。図14の例では、破線で区切られた領域について、左から下位のネットワークでキャッシュするチャンク、中位のネットワークでキャッシュするチャンク、上位のネットワークでキャッシュするチャンク、キャッシュ対象でないチャンクを含む。また、各階層のネットワークでキャッシュするチャンクにおいて、左から4つのグループを割り当てるチャンク、3つのグループを割り当てるチャンク、2つのグループを割り当てるチャンク、1つのグループを割り当てるチャンクを含むものとする。なお、要求頻度に代えて、又は要求頻度に加えて、例えばチャンクの重要度を示す他の基準を用いて割り当てるグループ数を決定するようにしてもよいし、配信からの経過時間のみによって割り当てるグループ数を決定するようにしてもよい。 FIG. 14 is a diagram for explaining the priority order when deciding the cache target in the present modification. In the graph of FIG. 14, the vertical axis represents the frequency of requests to chunks, and the horizontal axis represents the elapsed time from distribution. The number of groups allocated to chunks and the hierarchy to be cached for combinations of these sizes are schematically illustrated. It is shown in the figure. In the example of FIG. 14, the areas delimited by broken lines include chunks cached in the lower network, chunks cached in the middle network, chunks cached in the upper network, and chunks not cached from the left. In addition, chunks cached in the network of each layer include chunks to which four groups are assigned from the left, chunks to which three groups are assigned, chunks to which two groups are assigned, and chunks to which one group is assigned. Instead of the request frequency or in addition to the request frequency, the number of groups to be allocated may be determined by using another criterion indicating the importance of chunks, or the group allocated by only the elapsed time from distribution. The number may be determined.
本変形例においては、配信からの経過時間が同一のチャンクであれば、要求頻度が高いチャンクほどより下位のネットワークでキャッシュされ、且つ当該ネットワーク上において多くのグループでキャッシュされる傾向を有する。また、要求頻度が同一のチャンクであれば、配信からの経過時間が短いチャンクほどより下位のネットワークでキャッシュされ、且つ当該ネットワーク上において多くのグループでキャッシュされる傾向を有する。すなわち、本変形例においても、配信が開始された日時からの経過時間が短いチャンクを優先するという条件と、配信要求が多いチャンクを優先するという条件とのバランスによって、キャッシュする優先度を決定する。ここで、下位のネットワークは一般的に視聴者の端末4に近いネットワークであり、下位のネットワークにキャッシュされるチャンクは、上位のネットワークにキャッシュされるチャンクよりも速やかに視聴者の端末4へ送信することができる。なお、図14のグラフも一例であり、割り当てるグループ数の境界を示す直線の傾きは適宜決定することができ、また、各領域間の境界を直線で定義しなくてもよい。また、要求頻度に代えて、又は要求頻度に加えて、例えばチャンクの重要度を示す他の基準を用いて割り当てるグループ数を決定するようにしてもよいし、配信からの経過時間のみによって割り当てるグループ数を決定するようにしてもよい。
In this modification, if the chunks have the same elapsed time from distribution, the chunks with higher request frequency tend to be cached in a lower network, and more groups in the network. Also, if the chunks have the same request frequency, the chunks having a shorter elapsed time from distribution tend to be cached in a lower network and more groups in the network. That is, also in this modification, the priority for caching is determined by a balance between the condition that a chunk whose elapsed time from the date and time when distribution is started is prioritized and the condition that a chunk with a large number of distribution requests is prioritized. .. Here, the lower network is generally a network close to the viewer's
<効果>
本変形例では、キャッシュの必要性に関する優先度の高いチャンクほど下位のネットワーク2においてキャッシュすることで、視聴者の端末4により近い位置からキャッシュを送信することができるようになる。各ネットワーク上においては、優先度の高いチャンクほど、多くのグループに属するノード3でキャッシュすることで、ネットワーク上におけるキャッシュのヒット率を向上させることができる。
<Effect>
In the present modification, the higher priority chunks regarding the need for cache are cached in the
<変形例2>
配信されるコンテンツデータは、例えばH.264 SVCのようにベースレイヤと拡張レイヤのように複数のレイヤを含む構造を有していてもよい。ここで、ベースレイヤは、比較的低い解像度及びフレームレートによる最低限の動画を構成するデータを含む。また、拡張レイヤは、解像度、フレームレート、S/N(Signal/Noise)比等を向上させるための追加的なデータを含むものとする。なお、拡張レイヤを複数有し、段階的にコンテンツの品質を向上させられる構成であってもよい。
<
Content data to be distributed is, for example, H.264. It may have a structure including a plurality of layers such as a base layer and an enhancement layer like H.264 SVC. Here, the base layer includes data that constitutes a minimum moving image with a relatively low resolution and frame rate. In addition, the enhancement layer includes additional data for improving resolution, frame rate, S/N (Signal/Noise) ratio, and the like. It should be noted that the configuration may be such that a plurality of enhancement layers are provided and the quality of the content is gradually improved.
本変形例では、各チャンクのベースレイヤについてキャッシュの優先度を高く設定し、拡張レイヤについては相対的にキャッシュの優先度を低く設定する。すなわち、ベースレイヤについてはネットワーク上においてより多くのグループを割り当てる。また、上述した変形例1と組み合わせる場合には、ベースレイヤについてより下位のネットワークにおいてキャッシュさせるようにする。
In this modification, the cache priority is set high for the base layer of each chunk, and the cache priority is set relatively low for the enhancement layer. That is, for the base layer, more groups are assigned on the network. When combined with the above-mentioned
図15は、変形例1と変形例2とを組み合わせた場合における、キャッシュの対象を決める際の優先順位を説明するための図である。図15のグラフは、縦軸がチャンクへの要求頻度を表し、横軸が配信からの経過時間を表しており、これらの大きさの組み合わせに対してチャンクに割り当てるグループ数及びキャッシュする階層を模式的に示している。図15の例では、破線で区切られた領域について、左から下位のネットワークでキャッシュするチャンク、中位のネットワークでキャッシュするチャンク、上位のネットワークでキャッシュするチャンク、キャッシュ対象でないチャンクを含む。また、各階層のネットワークでキャッシュするチャンクにおいて、左から4つのグループを割り当てるチャンク、3つのグループを割り当てるチャンク、2つのグループを割り当てるチャンク、1つのグループを割り当てるチャンクを含むものとする。また、3つの実線の矩形でベースレイヤ(低品質層)、拡張レイヤ1(中品質層)、拡張レイヤ2(高品質層)を示している。これは、配信からの経過時間及び要求頻度とはことなる第3の軸を表し、配信からの経過時間及び要求頻度が同一の場合に、低品質層ほど下段のネットワークで且つより多くのグループでキャッシュされることを表すものとする。なお、要求頻度に代えて、又は要求頻度に加えて、例えばチャンクの重要度を示す他の基準を用いて割り当てるグループ数を決定するようにしてもよいし、配信からの経過時間のみによって割り当てるグループ数を決定するようにしてもよい。
FIG. 15 is a diagram for explaining the priority order when deciding the cache target in the case where the
<効果>
本変形例によれば、キャッシュすべきデータ(チャンク)がコンテンツのベースとなるデータとコンテンツの品質を向上させるためのデータとを含む場合において、配信に必要な最低限度のデータを品質を向上させるためのデータよりも優先して、ネットワーク上においてより多く且つ視聴者の端末4に近い位置にキャッシュさせることができるため、利用する回線速度が遅い視聴者の端末4へも要求するコンテンツを速やかに配信できるようになる。また、例えば動画の視聴中においてネットワークのスループットが変化する場合は、スループットが低い期間においても低品質層のデータは受信できる可能性が高まるため、動画の再生が停止しづらくなるといえる。このように、本変形例によれば、ネットワーク上のキャッシュ容量を有効に使用することができる。
<Effect>
According to this modification, when the data (chunk) to be cached includes the data serving as the base of the content and the data for improving the quality of the content, the quality of the minimum data required for distribution is improved. Data can be cached at a position larger in number on the network and closer to the viewer's
なお、段階的にコンテンツの品質を向上させることができるデータは、動画におけるH.264 SVCのようなフォーマットには限られない。例えば、プログレッシブJPEGのように解像度の異なる色情報を段階的に記録したデータに適用することもできる。また、例えばVR(Virtual Reality)コンテンツ等に含まれる三次元モデルについて、例
えばポリゴン数のような精細さの程度が異なるデータを含むものや、さらに触覚等を表す付加的な情報によって品質を向上させることができるデータについて適用するようにしてもよい。
Note that data that can gradually improve the quality of content is H.264 in a moving image. The format is not limited to H.264 SVC. For example, color information with different resolutions such as progressive JPEG can be applied to data recorded in stages. Further, for example, regarding a three-dimensional model included in VR (Virtual Reality) content or the like, quality is improved by data including data having different degrees of fineness such as the number of polygons, or additional information indicating tactile sense or the like. It may be applied to data that can be processed.
<変形例3>
上述した実施形態及び変形例では、ノード3及びチャンクにそれぞれグループが割り当てられるものとして説明したが、ネットワークシステム上にグループを定義しなくてもよい。すなわち、コンテンツを構成するチャンクについて、配信が開始された日時からの経過時間が短いチャンクを優先するという条件と、配信要求が多いチャンクを優先するという条件とを用いて決まる優先度に基づいて、すべてのノード3がチャンクをキャッシュするものとする。
<
In the above-described embodiment and modification, the groups are assigned to the
本変形例によっても、視聴者からの配信要求が予測しにくいライブ配信に係るコンテンツデータについて、配信サーバへのアクセスの集中を避け、全体の通信量の増大を抑制するためのキャッシュをネットワークシステム上に配置することができる。 According to this modification as well, for the content data related to live distribution in which the distribution request from the viewer is difficult to predict, a cache for avoiding the concentration of access to the distribution server and suppressing an increase in the overall communication volume is provided on the network system. Can be placed at.
<その他>
実施形態及び変形例の構成は例示であり、本発明は上述した構成に限定されない。また、実施形態及び変形例に示した構成は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。
<Other>
The configurations of the embodiment and the modified examples are examples, and the present invention is not limited to the configurations described above. In addition, the configurations shown in the embodiments and the modified examples can be combined as much as possible without departing from the subject and technical idea of the present invention.
また、実施形態及び変形例ではストリーミング配信されるコンテンツをチャンク単位でキャッシュする例を示したが、ノード3がキャッシュするデータの単位はチャンクに分割されていないファイル全体であってもよい。例えば、ライブ配信が終了したコンテンツや、ダウンロード又はプログレッシブダウンロードによって配信されるコンテンツについて、ファイル全体をキャッシュする。また、キャッシュされるファイルは、動画や音楽等のコンテンツに限らず、文書やアプリケーションの実行ファイル等、コンピュータによって生成、読み出し、書き込み、記憶等される様々な電子データであってもよい。
Further, in the embodiment and the modified example, the example in which the content to be distributed by streaming is cached in chunk units is shown, but the unit of data cached by the
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。 The present invention includes a computer program that executes the above processing. Further, a computer-readable recording medium recording the program also belongs to the category of the present invention. With respect to the recording medium in which the program is recorded, the above-described processing becomes possible by causing the computer to read and execute the program in the recording medium.
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。 Here, the computer-readable recording medium refers to a recording medium that can store information such as data and programs by an electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. Among such recording media, those removable from the computer include flexible disks, magneto-optical disks, optical disks, magnetic tapes, memory cards and the like. In addition, a hard disk drive, a ROM, or the like is used as the recording medium fixed to the computer.
1 :ネットワークシステム
2 :ネットワーク
3 :ノード
31 :通信I/F
32 :記憶装置
33 :入出力装置
34 :プロセッサ
341 :キャッシュ保持部
342 :キャッシュ送信部
343 :中継部
35 :バス
4 :端末
41 :通信I/F
42 :記憶装置
43 :入出力装置
44 :プロセッサ
441 :再生処理部
442 :配信処理部
45 :バス
5 :配信サーバ
51 :通信I/F
52 :記憶装置
53 :入出力装置
54 :プロセッサ
541 :コンテンツ管理部
542 :キャッシュ管理部
55 :バス
1: Network system 2: Network 3: Node 31: Communication I/F
32: storage device 33: input/output device 34: processor 341: cache holding unit 342: cache transmission unit 343: relay unit 35: bus 4: terminal 41: communication I/F
42: storage device 43: input/output device 44: processor 441: reproduction processing unit 442: distribution processing unit 45: bus 5: distribution server 51: communication I/F
52: storage device 53: input/output device 54: processor 541: content management unit 542: cache management unit 55: bus
Claims (8)
前記ノード装置が属するネットワークにおいて、前記ノード装置には、当該ノード装置が保持すべきファイルを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
前記ファイルは、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上の前記グループと関連付けられ、
前記ノード装置は、
自身に割り当てられた前記グループと関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
要求元のノード装置が送信を要求する前記ファイルに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュを保持していない場合は、他のノードに前記ファイルを要求する中継部と、
を備え、
前記所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む
ネットワークシステム。 A network system that includes a plurality of node devices that transmit and receive a file and that hold the file based on a predetermined condition,
In the network to which the node device belongs, a group for specifying a file to be held by the node device is assigned to the node device so that a group different from other node devices adjacent in the network topology is prioritized. The
The files are associated with zero or more of the groups, such that the more files that should be retained in preference, the more groups are assigned,
The node device is
When receiving the file associated with the group assigned to itself, a cache holding unit for temporarily holding the file as a cache in the storage unit,
When the node device of the request source holds the cache corresponding to the file requested to be transmitted, a cache transmission unit for transmitting the cache to the node device of the request source,
If the cache corresponding to the file requested by the requesting node device is not held, a relay unit that requests the file from another node,
Equipped with
The predetermined condition is a network system including a condition that a file having a short elapsed time from a reference date and time is prioritized.
前記所定の条件は、前記要求が多いファイルを優先するという条件をさらに含む
請求項1に記載のネットワークシステム。 Further comprising a management device that aggregates requests from terminals requesting distribution to the file,
The network system according to claim 1, wherein the predetermined condition further includes a condition that a file with a large number of requests is prioritized.
前記基準となる日時は前記コンテンツデータの配信が開始された日時であり、
前記コンテンツデータは、コンテンツのベースとなるデータと前記コンテンツの品質を
向上させるためのデータとを有し、
前記所定の条件は、前記コンテンツのベースとなるデータを優先するという条件をさらに含む
請求項1又は2に記載のネットワークシステム。 The file is content data,
The reference date and time is the date and time when the distribution of the content data is started,
The content data includes data serving as a base of the content and data for improving the quality of the content,
Wherein the predetermined condition is a network system according to claim 1 or 2 further comprising a condition that priority is given to data that provides the basis of the content.
前記ファイルは、優先して保持されるべきファイルほど配信を要求する端末側に位置する下流のネットワークに属するノードに保持される
請求項1から3のいずれか一項に記載のネットワークシステム。 The node device belongs to any of a plurality of networks that are hierarchically connected,
The network system according to any one of claims 1 to 3 , wherein the file is retained in a node belonging to a downstream network located closer to a terminal that requests distribution for a file that should be retained with higher priority.
請求項1から4のいずれか一項に記載のネットワークシステム。 The network system according to any one of claims 1 to 4 , wherein the file is a chunk that constitutes a part of a series of data distributed by streaming.
前記ノード装置が属するネットワークにおいて、前記ノード装置には、当該ノード装置が保持すべきファイルを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
前記ファイルは、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上の前記グループと関連付けられ、
前記ノード装置は、
自身に割り当てられた前記グループと関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュとして記憶部に一時的に保持させるキャッシュ保持部と、
要求元のノード装置が送信を要求する前記ファイルに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュを保持していない場合は、他のノードに前記ファイルを要求する中継部と、
を備え、
前記所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む
ノード装置。 A node device that transmits and receives a file and holds the file based on a predetermined condition,
In the network to which the node device belongs, a group for identifying a file to be held by the node device is assigned to the node device so that a group different from other node devices adjacent to the network topology is prioritized. The
The files are associated with zero or more of the groups such that the more files that should be retained in preference, the more groups are assigned,
The node device is
When receiving the file associated with the group assigned to itself, a cache holding unit for temporarily holding the file as a cache in the storage unit,
When the node device of the request source holds the cache corresponding to the file requested to be transmitted, a cache transmission unit for transmitting the cache to the node device of the request source,
If the cache corresponding to the file requested by the requesting node device is not held, a relay unit that requests the file from another node,
Equipped with
The predetermined condition is a node device including a condition that a file having a short elapsed time from a reference date and time is prioritized.
前記ノード装置が属するネットワークにおいて、前記ノード装置には、当該ノード装置が保持すべきファイルを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
前記ファイルは、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上の前記グループと関連付けられ、
前記ノード装置は、
自身に割り当てられた前記グループと関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュとして記憶部に一時的に保持させ、
要求元のノード装置が送信を要求する前記ファイルに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信し、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュを保持していない場合は、他のノードに前記ファイルを要求し、
前記所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む
キャッシュ方法。 A cache method executed by a node device which holds a file based on a predetermined condition while transmitting and receiving the file,
In the network to which the node device belongs, a group for specifying a file to be held by the node device is assigned to the node device so that a group different from other node devices adjacent in the network topology is prioritized. The
The files are associated with zero or more of the groups, such that the more files that should be retained in preference, the more groups are assigned,
The node device is
When the file associated with the group assigned to itself is received, the file is temporarily retained as a cache in the storage unit,
If the requesting node device holds the cache corresponding to the file requested to be transmitted, the cache is transmitted to the requesting node device,
When the cache corresponding to the file requested by the requesting node device is not held, the file is requested to another node,
Wherein the predetermined condition is a condition that the elapsed time from the date and time as a reference to give priority to short file including
Cache method.
前記ノード装置が属するネットワークにおいて、前記ノード装置には、当該ノード装置が保持すべきファイルを特定するためのグループが、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先されるように割り当てられ、
前記ファイルは、優先して保持されるべきファイルほど多くのグループが割り当てられるように、ゼロ以上の前記グループと関連付けられ、
前記ノード装置に、
自身に割り当てられた前記グループと関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュとして記憶部に一時的に保持させ、
要求元のノード装置が送信を要求する前記ファイルに対応する前記キャッシュを保持している場合は、当該キャッシュを前記要求元のノード装置に対して送信させ、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュを保持していない場合は、他のノードに前記ファイルを要求させ、
前記所定の条件は、基準となる日時からの経過時間が短いファイルを優先するという条件を含む
キャッシュプログラム。
A program executed by a node device that transmits and receives a file and holds the file based on a predetermined condition,
In the network to which the node device belongs, a group for specifying a file to be held by the node device is assigned to the node device so that a group different from other node devices adjacent in the network topology is prioritized. The
The files are associated with zero or more of the groups, such that the more files that should be retained in preference, the more groups are assigned,
In the node device,
When the file associated with the group assigned to itself is received, the file is temporarily retained as a cache in the storage unit,
When the node device of the request source holds the cache corresponding to the file requested to be transmitted, the node device of the request source is caused to transmit the cache,
When the cache corresponding to the file requested by the node device of the request source is not held, another node is requested to request the file,
Wherein the predetermined condition is a condition that the elapsed time from the date and time as a reference to give priority to short file including
Key catcher Tsu Gerhard program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015767A JP6721879B2 (en) | 2018-01-31 | 2018-01-31 | Network system, node device, cache method, and cache program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018015767A JP6721879B2 (en) | 2018-01-31 | 2018-01-31 | Network system, node device, cache method, and cache program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019133453A JP2019133453A (en) | 2019-08-08 |
JP6721879B2 true JP6721879B2 (en) | 2020-07-15 |
Family
ID=67547489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018015767A Active JP6721879B2 (en) | 2018-01-31 | 2018-01-31 | Network system, node device, cache method, and cache program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6721879B2 (en) |
-
2018
- 2018-01-31 JP JP2018015767A patent/JP6721879B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019133453A (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5408257B2 (en) | Content distribution system, content distribution method, and content distribution program | |
US8745262B2 (en) | Adaptive network content delivery system | |
US8612668B2 (en) | Storage optimization system based on object size | |
KR101228230B1 (en) | Methods and apparatus for self-organized caching in a content delivery network | |
EP2359536B1 (en) | Adaptive network content delivery system | |
CN106161569B (en) | Recommendation, buffer replacing method and the equipment of Web content | |
US20140359683A1 (en) | Content placement | |
JP2010273298A (en) | Content distribution system, distribution control device, and distribution control program | |
JP2015509229A (en) | Application driven CDN pre-caching | |
JP2011215794A (en) | Distributed storage system and program | |
JP6638145B2 (en) | Network system, node device, cache method and program | |
KR100671635B1 (en) | Service management using multiple service location managers | |
JP2012150532A (en) | Cache device, data management method, program and cache system | |
JP7097427B2 (en) | Data processing system and data processing method | |
JP6721879B2 (en) | Network system, node device, cache method, and cache program | |
JP2010199842A (en) | System and method for designing cache, and program | |
JP2013045273A (en) | Cache server, method for determining cache object, content distribution system, and cache object determination program | |
JP5399276B2 (en) | Content distribution system and method and program | |
JP6886874B2 (en) | Edge devices, data processing systems, data transmission methods, and programs | |
CN114422960B (en) | Data distribution and caching method based on edge computing technology | |
JPWO2013005478A1 (en) | Content distribution system, content arrangement determination device, content arrangement determination method, and program | |
JP6592809B2 (en) | Network system, node device, cache method, and program | |
JP2016015566A (en) | Terminal device and data distribution method | |
JP6901262B2 (en) | Content distribution system transfer devices and programs | |
JP2019145900A (en) | Client device and program for content distribution network |
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: 20191009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191112 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200309 |
|
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: 20200512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6721879 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |