JP6721879B2 - Network system, node device, cache method, and cache program - Google Patents

Network system, node device, cache method, and cache program Download PDF

Info

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
Application number
JP2018015767A
Other languages
Japanese (ja)
Other versions
JP2019133453A (en
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 JP2018015767A priority Critical patent/JP6721879B2/en
Publication of JP2019133453A publication Critical patent/JP2019133453A/en
Application granted granted Critical
Publication of JP6721879B2 publication Critical patent/JP6721879B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2003−85032号公報JP, 2003-85032, A 特開2009−111890号公報JP, 2009-111890, A

従来、ネットワークシステムを構成する複数のノードに分散してファイルをキャッシュさせる場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。また、特にライブ配信されるストリームデータは、アクセス頻度の予測が立てにくく、最適な分散配置を決定するのは困難であった。 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.

ネットワークシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of a network system. チャンクに付されるグループを示す情報を説明するための図である。It is a figure for demonstrating the information which shows the group added to a chunk. チャンクに対応付けてタグを記憶するテーブルの一例を示す図である。It is a figure which shows an example of the table which matches a chunk and memorize|stores a tag. 端末、ノード及び配信サーバの構成の一例を示すブロック図である。It is a block diagram showing an example of composition of a terminal, a node, and a distribution server. ライブ配信処理における配信者の端末と配信サーバとの間の処理の一例を示す処理フロー図である。It is a processing flow figure showing an example of processing between a distributor's terminal and a distribution server in live distribution processing. ライブ配信処理における配信サーバとノードと視聴者の端末との間の処理の一例を示す処理フロー図である。It is a processing flow figure showing an example of processing between a distribution server, a node, and a viewer's terminal in live distribution processing. MPDファイルの内容の一例を示す。An example of the content of an MPD file is shown. キャッシュ対象更新処理の一例を示す処理フロー図である。It is a processing flow figure which shows an example of cache object update processing. キャッシュの対象を決める際の優先順位を説明するための図である。It is a figure for demonstrating the priority when determining the object of a cache. キャッシュを行う優先順位と、当該チャンクに関連付けて割り当てられるグループを示すタグの一例を示す図である。It is a figure which shows an example of the tag which shows the priority which caches, and the group allocated in association with the said chunk. 1つの平面グラフで表されるメッシュ型ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。6 is a graph showing files and the number of files cached on the mesh network represented by one plane graph. 変形例に係るネットワーク構成の一例を示す図である。It is a figure which shows an example of the network structure which concerns on a modification. 本変形例においてチャンクに付されるタグを説明するための図である。It is a figure for demonstrating the tag attached to a chunk in this modification. キャッシュの対象を決める際の優先順位を説明するための図である。It is a figure for demonstrating the priority when determining the object of a cache. キャッシュの対象を決める際の優先順位を説明するための図である。It is a figure for demonstrating the priority when determining the object of a cache.

以下、図面を参照して本発明を実施するための形態について説明する。 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 network system 1 of FIG. 1 includes a network 2, nodes 3 (3 a to 3 e) forming the network 2, terminals 4 (4 a to 4 d) connected to the network 2, and a distribution server 5 connected to the network 2. Including and The network 2 is a communication network such as an autonomous system (AS) managed by an ISP (Internet Service Provider). The node 3, the terminal 4, and the distribution server 5 are computers, and are capable of transmitting and receiving electronic files to and from other computers communicatively connected. The distribution server 5 is a server that performs so-called live distribution by streaming. The distribution server 5 streams and distributes the content data 6 such as a moving image or audio continuously transmitted from the terminal 4 (for example, 4d) of the distribution user to the requesting terminal 4 (for example, 4a). It should be noted that the distribution server 5 may encode the content data received from the terminal of the distribution user in a predetermined format and perform streaming distribution to the requesting terminal 4.

図1において大きな吹出し内に示すように、配信サーバ5には、配信ユーザの端末から
受信したコンテンツデータ6が格納されている。そして、配信サーバ5は、端末4からの要求に応じて、ネットワーク2を介してコンテンツデータ6を端末4へ例えばストリーミング方式で送信する。また、コンテンツデータ6は、時間的な区間又はデータサイズに基づいて分割された複数の部分的なファイル(「チャンク」とも呼ぶ)61〜63に分割されている。ライブ配信されるコンテンツデータは、チャンク単位で順次配信される。なお、チャンク61、62、63の順に、配信日時からの経過時間が大きい(すなわち古い)ものとする。
As shown in a large balloon in FIG. 1, the distribution server 5 stores the content data 6 received from the terminal of the distribution user. Then, the distribution server 5 transmits the content data 6 to the terminal 4 via the network 2 in accordance with a request from the terminal 4, for example, by a streaming method. In addition, the content data 6 is divided into a plurality of partial files (also referred to as “chunks”) 61 to 63 that are divided based on a temporal section or a data size. Content data delivered live is sequentially delivered in chunk units. It is assumed that the chunks 61, 62, and 63 have a large elapsed time (that is, old) from the delivery date and time in this order.

また、ライブ配信されるコンテンツデータ6について、ユーザの端末4は、ライブ配信中のコンテンツ又はライブ配信終了後のコンテンツについて、タイムシフト又はオンデマンドで配信を受けることができるものとする。ここで、本実施形態では、図1において小さな吹出し内に示すように、チャンク単位でコンテンツデータ6がノード3にキャッシュされる。そして、端末4からの要求を配信サーバ5へ中継する過程において、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしている場合は、キャッシュしているチャンクを要求元に送信する。なお、要求を受信したノード3は、要求されたチャンクを自身がキャッシュしていない場合は、配信サーバ5又は他のノード3に当該チャンクの要求を転送する。 Further, regarding the content data 6 to be delivered live, the user's terminal 4 can receive the content being live-delivered or the content after the end of the live delivery by time shift or on-demand. Here, in this embodiment, as shown in a small balloon in FIG. 1, the content data 6 is cached in the node 3 in chunk units. Then, in the process of relaying the request from the terminal 4 to the distribution server 5, the node 3 that receives the request transmits the cached chunk to the request source if the requested chunk is cached by itself. .. Note that the node 3 that has received the request transfers the request for the chunk to the distribution server 5 or another node 3 when the requested chunk is not cached by itself.

また、各ノード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 node 3 is assigned to each node 3 in advance. In other words, each node 3 belongs to any of a plurality of predetermined groups. In the example of FIG. 1, the hatching in the circle displayed in the vicinity of each node 3 represents the group to which each node 3 belongs. The node 3a belongs to a horizontal stripe group (referred to as "group A"). The node 3b belongs to a group of vertical stripes (referred to as "group B"). The nodes 3c and 3e belong to a diagonally shaded group (referred to as "group C") from the upper right to the lower left. The node 3d belongs to a diagonally shaded group (referred to as "group D") from the upper left to the lower right. In this embodiment, four types of groups are described as assigned to the node 3 and the chunk, but the number of groups is not limited to four.

また、あるノード3には、ネットワーク2内においてネットワークトポロジ上隣接する他のノード3とは異なるグループが優先して割り当てられるようにしてもよい。すなわち、複数のノード3には、グループが、ネットワークトポロジ上偏らないように割り当てられる。例えば、新たなノード3をネットワーク2に接続する場合は、例えば複数のグループについて、すでにネットワーク2上に存在する他のノード3のうち、ホップ数が小さいノード3又は回線の経路長が短いノード3に付されたグループから順に除外し、残ったグループを新たなノードに割り当てるようにしてもよい。また、平面グラフで表されるメッシュ型のネットワークや、リング型のネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。このようにすれば、あるノード3から他のグループが割り当てられたノード3までは、いずれのグループの場合も同程度のホップ数又は経路長で到達するようになる。 Further, a group different from other nodes 3 adjacent to each other in the network topology in the network 2 may be preferentially assigned to a certain node 3. That is, groups are assigned to the plurality of nodes 3 so that there is no bias in the network topology. For example, when a new node 3 is connected to the network 2, for example, for a plurality of groups, among the other nodes 3 already existing on the network 2, the node 3 having a smaller hop number or the node 3 having a shorter path length of the line is connected. It is also possible to exclude in order from the group attached to, and allocate the remaining group to a new node. Further, in a mesh type network represented by a plane graph or a ring type network, so-called four color theorem may be applied to assign groups so that adjacent nodes do not belong to the same group. In this way, from a certain node 3 to a node 3 to which another group is assigned, the number of hops or the route lengths of the groups are almost the same.

また、各チャンクは、当該チャンクをキャッシュすべきゼロ以上のグループと関連付けられている。図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 chunks 61 to 63 represents the group in which each chunk should be held. Four groups A to D are assigned to the chunk 61. Three groups A, B, and D are assigned to the chunk 62. Two groups A and C are assigned to the chunk 63. There may be chunks to which no group is assigned. According to such a network system 1, the amount of the chunk cached in the network 2 can be adjusted depending on the number of groups assigned to the chunk. For example, if more groups are assigned to chunks with a short elapsed time from live distribution or chunks with a high request frequency, the probability that the chunks are cached in a location close to the requesting node 3 is increased. You can

このようなシステム1において、ノード3は、自身に割り当てられたグループと関連付けられたチャンクを受信した場合は、当該チャンクをキャッシュする。また、要求元のノード3が送信を要求するチャンクに対応するキャッシュを保持している場合は、当該キャッシュを要求元のノード3に対して送信する。一方、要求元のノード装置が要求するチャンクに対応するキャッシュを保持していない場合は、他のノード3に当該チャンクの要求を中継する。 In such a system 1, when the node 3 receives a chunk associated with a group assigned to itself, the node 3 caches the chunk. Further, when the requesting node 3 holds a cache corresponding to a chunk for which transmission is requested, the cache is transmitted to the requesting node 3. On the other hand, if the cache corresponding to the chunk requested by the requesting node device is not held, the request for the chunk is relayed to another node 3.

図2は、チャンクに付される、グループを示す情報を説明するための図である。コンテンツデータ6には、例えばチャンクごとに、ゼロ以上の上述したグループの組合せを示す情報が関連付けられる。図2には、ハッチングのパターンで表した4種類のグループの組合せのバリエーションが示されている。すなわちグループの組合せの各々は、グループを0〜4個有する。また、グループの組合せは、図2の右辺に示すように、例えばグループの数だけ桁数を有するビット列によって形成されるタグによって表すことができる。そして、チャンクに対するグループの関連付けは、各ノード3において、チャンクの識別情報に関連付けてタグを保持することにより記憶させることができる。 FIG. 2 is a diagram for explaining information indicating a group attached to a chunk. The content data 6 is associated with, for example, for each chunk, information indicating a combination of zero or more groups described above. FIG. 2 shows variations of combinations of four types of groups represented by hatching patterns. That is, each combination of groups has 0 to 4 groups. The combination of groups can be represented by a tag formed by a bit string having a number of digits corresponding to the number of groups, as shown on the right side of FIG. Then, the association of the group with the chunk can be stored by holding the tag in association with the identification information of the chunk in each node 3.

高解像度の動画コンテンツや、全方向の情報を含む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 node 3 as a database, a flat file, or a file of various other formats. You can Information such as shown in FIG. 3 is centrally managed by a management device such as the distribution server 5 connected to the network 2, and a list of chunks to be cached is broadcast to the nodes 3 on the network 2, for example. It may be held in each of the nodes 3, or each of the nodes 3 may be read from the management device on the network 2 at an arbitrary timing.

<装置の構成>
図4は、端末4、ノード3及び配信サーバ5の構成の一例を示すブロック図である。端末4、ノード3及び配信サーバ5は、一般的なコンピュータである。
<Device configuration>
FIG. 4 is a block diagram showing an example of the configurations of the terminal 4, the node 3, and the distribution server 5. The terminal 4, the node 3, and the distribution server 5 are general computers.

<端末>
端末4は、PC(Personal Computer)、スマートフォン、タブレット等のコンピュー
タであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
<Terminal>
The terminal 4 is a computer such as a PC (Personal Computer), a smartphone, or a tablet, and includes a communication I/F 41, a storage device 42, an input/output device 43, a processor 44, and a bus 45.

通信I/F41は、例えば有線のネットワークカード又は無線の通信モジュールであり
、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ネットワーク2を介してコンテンツデータ6を受信する。
The communication I/F 41 is, for example, a wired network card or a wireless communication module, and communicates with another computer based on a predetermined protocol. For example, the content data 6 is received via the network 2.

記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置(一次記憶装置)及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやコンテンツデータ6を一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラム等を記憶する。 The storage device 42 is a main storage device (primary storage device) such as RAM (Random Access Memory) or ROM (Read Only Memory), and auxiliary storage such as HDD (Hard-disk Drive), SSD (Solid State Drive), or flash memory. A device (secondary storage device). The main storage device temporarily stores the program and content data 6 read by the processor, and reserves a work area for the processor. The auxiliary storage device stores programs executed by the processor.

入出力装置43は、例えばキーボード、マウス、カメラ(ウェブカメラ)等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介して配信サーバ5に対しコンテンツデータ6の送信を要求したり、受信したコンテンツデータ6を読み出して表示させたりする。 The input/output device 43 is an input device such as a keyboard, a mouse, and a camera (web camera), an output device such as a monitor, and a user interface such as a touch panel. For example, the user requests the distribution server 5 to transmit the content data 6 via the input/output device 43, or reads and displays the received content data 6.

プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、プ
ログラムを実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、再生処理部441及び配信処理部442として機能する。再生処理部441は、例えばユーザの操作に基づいて、ネットワーク2を介してコンテンツデータ6の送信を要求したり、受信したチャンクを再生したりする。配信処理部442は、例えばカメラ等の入力装置を介して動画を構成するデータを生成し、通信I/F41を介して配信サーバ5へ送信する。
The processor 44 is an arithmetic processing unit such as a CPU (Central Processing Unit), and executes each process according to the present embodiment by executing a program. In the example of FIG. 4, functional blocks are shown in the processor 44. The processor 44 functions as, for example, the reproduction processing unit 441 and the distribution processing unit 442. The reproduction processing unit 441 requests the transmission of the content data 6 via the network 2 or reproduces the received chunk, for example, based on a user operation. The distribution processing unit 442 generates data forming a moving image via an input device such as a camera and transmits the data to the distribution server 5 via the communication I/F 41.

以上のような構成要素が、バス45を介して接続されている。 The above components are connected via the bus 45.

<ノード>
ノード3も、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
<node>
The node 3 also includes a communication I/F 31, a storage device 32, an input/output device 33, a processor 34, and a bus 35.

通信I/F31は、例えばネットワークカードや通信モジュールであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、ノード3、端末4及び配信サーバ5との間においてコンテンツデータ6を送受信する。 The communication I/F 31 is, for example, a network card or a communication module, and communicates with another computer based on a predetermined protocol. For example, the content data 6 is transmitted/received between the node 3, the terminal 4, and the distribution server 5.

記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのチャンク単位でのキャッシュ、当該ノード3に割り当てられたグループを示す情報等を記憶する。 The storage device 32 is a main storage device such as RAM or ROM and an auxiliary storage device such as HDD, SSD, or flash memory. The main storage device temporarily stores programs and data read by the processor and reserves a work area for the processor. The auxiliary storage device stores a program executed by the processor, a cache of transmitted and received files in chunk units, information indicating a group assigned to the node 3, and the like.

入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。 The input/output device 33 is an input device such as a keyboard and a mouse, an output device such as a monitor, and a user interface such as a touch panel.

プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。ノード3においても、プロセッサ34内に機能ブロックを示している。プロセッサ34は、例えば、キャッシュ保持部341、キャッシュ送信部342及び中継部343の各処理部として機能する。キャッシュ保持部341は、チャンクに関連付けられたグループを示す情報に基づいて、受信したチャンクを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部342は、他のノードから配信サーバ5へのファイルのチャンク単位での要求に対し、当該ノード3の記憶装置42にキャッシュされている場合、キャッシュされているチャンクを他のノード3
又は端末4に送信する。中継部343は、端末4から配信サーバ5への経路上に当該ノード3が位置する場合において、他のノード3又は端末4から配信サーバ5へのチャンク送信要求や、他のノードへ送信するチャンクを中継する。
The processor 34 is an arithmetic processing unit such as a CPU and executes each application according to the present embodiment by executing an application. Also in the node 3, functional blocks are shown in the processor 34. The processor 34 functions as, for example, each processing unit of the cache holding unit 341, the cache transmission unit 342, and the relay unit 343. The cache holding unit 341 determines whether to hold the received chunk based on the information indicating the group associated with the chunk, and causes the storage device 42 to temporarily hold the received chunk. The cache transmission unit 342, in response to a request from another node to the distribution server 5 on a chunk-by-chunk basis, caches the cached chunk to the other node 3 when cached in the storage device 42 of the node 3.
Alternatively, it is transmitted to the terminal 4. When the node 3 is located on the path from the terminal 4 to the distribution server 5, the relay unit 343 requests a chunk transmission from another node 3 or the terminal 4 to the distribution server 5 or a chunk to be transmitted to another node. To relay.

以上のような構成要素が、バス35を介して接続されている。 The above components are connected via the bus 35.

<配信サーバ>
配信サーバ5も、通信I/F51と、記憶装置52と、入出力装置53と、プロセッサ54と、バス55とを備えている。
<Distribution server>
The distribution server 5 also includes a communication I/F 51, a storage device 52, an input/output device 53, a processor 54, and a bus 55.

通信I/F51は、例えばネットワークカードであり、所定のプロトコルに基づき、ノード3やネットワーク2を介して接続された配信ユーザの端末4等のコンピュータと通信を行う。例えば、配信ユーザの端末4からコンテンツデータ6を受信するとともに、ノード3からの要求に応じてコンテンツデータ6を送信する。 The communication I/F 51 is, for example, a network card, and communicates with a computer such as a distribution user terminal 4 connected via the node 3 or the network 2 based on a predetermined protocol. For example, the content data 6 is received from the terminal 4 of the delivery user, and the content data 6 is transmitted in response to a request from the node 3.

記憶装置52は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのコンテンツデータ6等を記憶しているものとする。 The storage device 52 is a main storage device such as RAM or ROM and an auxiliary storage device such as HDD, SSD, flash memory or the like. The main storage device temporarily stores programs and data read by the processor and reserves a work area for the processor. The auxiliary storage device stores programs executed by the processor, original content data 6 to be distributed, and the like.

入出力装置53は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。 The input/output device 53 is an input device such as a keyboard and a mouse, an output device such as a monitor, and a user interface such as a touch panel.

プロセッサ54は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。配信サーバ5についても、プロセッサ54内に機能ブロックを示している。プロセッサ54は、コンテンツ管理部541、キャッシュ管理部542の各機能部として機能する。コンテンツ管理部541は、配信者の端末4からコンテンツデータ6を受信して記憶装置52へ格納したり、送信を要求されたコンテンツデータ6を記憶装置52から読み出し、要求元のノードに対して送信する。キャッシュ管理部542は、ネットワーク2上のノード3にキャッシュさせる対象のチャンクを決定したり、チャンクをキャッシュするグループを割り当てたりする。キャッシュ管理部542は、例えばチャンクごとにアクセス数を計数し、所定期間内のアクセス頻度を算出し、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定するようにしてもよい。 The processor 54 is an arithmetic processing unit such as a CPU, and executes each application according to the present embodiment by executing an application. Also for the distribution server 5, functional blocks are shown in the processor 54. The processor 54 functions as each functional unit of the content management unit 541 and the cache management unit 542. The content management unit 541 receives the content data 6 from the distributor terminal 4 and stores the content data 6 in the storage device 52, or reads the content data 6 requested to be transmitted from the storage device 52, and transmits the content data 6 to the requesting node. To do. The cache management unit 542 determines a chunk to be cached by the node 3 on the network 2 and allocates a group to cache the chunk. For example, the cache management unit 542 may count the number of accesses for each chunk, calculate the access frequency within a predetermined period, and determine the group to cache each file according to the access frequency.

以上のような構成要素が、バス55を介して接続されている。 The above components are connected via a bus 55.

<ライブ配信処理>
図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 distribution processing unit 442 of the terminal 4 of the live distributor outputs the content data 6 such as a moving image by using, for example, a camera included in the terminal 4 (FIG. 5: S1). Further, the distribution processing unit 442 sequentially transmits the output content data 6 to the distribution server 5 via the communication I/F 41 and the network 2 (S2).

一方、配信サーバ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 content management unit 541 of the distribution server 5 receives the content data 6 from the terminal 4 via the communication I/F 51 and stores it in the storage device 52 (S3). In addition, the content management unit 541 may encode the received content data 6 into a predetermined format (S4). In this step, for example, H.264. It is converted into a file format such as H.264 and stored in the storage device 52. The content management unit 541 also distributes the converted content data 6 (S5). In this step, in addition to receiving the distribution request from the terminal 4 of the user who views in real time, the content data 6 is distributed, and in addition to the distribution request from the terminal 4 of the user who views on-demand (time shift), the content data 6 is also distributed. 6 shall be delivered.

図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 node 3 existing on the route from the request-source terminal 4 to the distribution server 5 in FIGS. 1 and 4. That is, although it may pass through a plurality of nodes 3, one node is shown in FIG. 6 for convenience.

視聴者の端末4の再生処理部441は、配信者の端末4の配信処理部442が配信サーバ5へ送信し、配信サーバ5が保持するコンテンツの送信を要求する(図6:S11)。本実施形態では、MPEG−DASH規格のMPD(Media Presentation Description)ファイルによって、複数のチャンクに分割されたコンテンツファイルを記述する例を説明する。 The reproduction processing unit 441 of the viewer's terminal 4 requests that the distribution processing unit 442 of the distributor's terminal 4 transmits to the distribution server 5 and the content held by the distribution server 5 (FIG. 6: S11). In the present embodiment, an example will be described in which an MPD (Media Presentation Description) file of the MPEG-DASH standard describes a content file divided into a plurality of chunks.

図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 first chunk 61 including position information 611 and range information 612, information about the second chunk 62 including position information 621 and range information 622, and position information 631. And information about the third chunk 63 including range information 632. Based on such content data 6, the reproduction processing unit 441 of the terminal 4 basically requests the distribution server 5 to transmit chunks in order from the chunks forming the front range. In addition, in one content data 6, the above-mentioned chunk may be described for each of a plurality of files having different image quality and sound quality of the content. In this case, any of the plurality of files is transmitted/received depending on the performance of the terminal 4, the state of the communication path, and the like. Further, not only the MPD file but also a format such as M3U or HLS (HTTP Live Streaming) can be applied.

一方、ノード3の中継部343は、要求を受信し(S12)、要求されたチャンクに対応するキャッシュファイルが自ノードの記憶装置32に保持されているか判断する(S13)。キャッシュを保持している場合(S13:YES)、ノード3のキャッシュ送信部342は、キャッシュファイルを要求元に送信する(S14)。一方、要求元の端末4の再生処理部441は、キャッシュファイルを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S15)。 On the other hand, the relay unit 343 of the node 3 receives the request (S12) and determines whether the cache file corresponding to the requested chunk is held in the storage device 32 of its own node (S13). When the cache is held (S13: YES), the cache transmission unit 342 of the node 3 transmits the cache file to the request source (S14). On the other hand, the reproduction processing unit 441 of the requesting terminal 4 receives the cache file and displays the content of the content on the input/output device 43 such as a monitor (S15).

また、ノード3がキャッシュを保持していない場合(S13:NO)、中継ノードの中継部343は、隣接するノード3又は配信サーバ5に要求を中継する(S16)。なお、複数のノード3を介して要求が転送される場合は、同様の処理が繰り返される。また、本実施形態においては、ノード3は、グループを示すタグのビット位置からいずれのグループに属するノード3において各チャンクがキャッシュされているかわかる。よって、ノード3は、近傍に接続された他のノード3が属するグループを予め記憶しておくことにより、要求されたチャンクのタグのビット位置に基づいて当該チャンクをキャッシュするグループに属するノード3を、要求の転送先に決定するようにしてもよい。 When the node 3 does not hold the cache (S13: NO), the relay unit 343 of the relay node relays the request to the adjacent node 3 or the distribution server 5 (S16). In addition, when a request is transferred via a plurality of nodes 3, the same process is repeated. In addition, in the present embodiment, the node 3 can know from which bit position of the tag indicating the group in which node 3 each chunk is cached. Therefore, the node 3 stores in advance the group to which another node 3 connected in the vicinity belongs, so that the node 3 that belongs to the group that caches the chunk is cached based on the bit position of the tag of the requested chunk. The request transfer destination may be determined.

一方、配信サーバ5のコンテンツ管理部541は、チャンクに対する送信の要求を受信し(S17)、該当するチャンクを記憶装置52から読み出して送信する(S18)。一方、ノード3の中継部343は、受信したチャンクを要求元に対して中継する(S19)
。そして、要求元の端末4の再生処理部441は、チャンクを受信し、コンテンツの内容をモニタ等の入出力装置43上に表示させる(S20)。
On the other hand, the content management unit 541 of the distribution server 5 receives the transmission request for the chunk (S17), reads the corresponding chunk from the storage device 52, and transmits it (S18). On the other hand, the relay unit 343 of the node 3 relays the received chunk to the request source (S19).
.. Then, the reproduction processing unit 441 of the requesting terminal 4 receives the chunk and displays the content of the content on the input/output device 43 such as a monitor (S20).

また、S19においてチャンクを要求元へ中継する場合、ノード3のキャッシュ保持部341は、当該チャンクは自ノードが属するグループにおいてキャッシュすべき対象であるか判断する(S21)。本ステップでは、チャンクに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。例えば、図3に示したような情報をノード3の記憶装置32が保持する。 When the chunk is relayed to the request source in S19, the cache holding unit 341 of the node 3 determines whether the chunk is a target to be cached in the group to which the node belongs (S21). In this step, it is determined whether the chunk is associated with the information indicating the group to which the node belongs. For example, the storage device 32 of the node 3 holds the information as shown in FIG.

そして、中継したチャンクがキャッシュ対象であると判断された場合(S21:YES)、ノード3のキャッシュ保持部341は、当該チャンクを記憶装置32に一時的に保持させる。一方、中継したチャンクがキャッシュすべき対象でないと判断された場合は、ノード3はチャンクを保持しない。ネットワークシステム1は、要求元ノードからのファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。 Then, when it is determined that the relayed chunk is the cache target (S21: YES), the cache holding unit 341 of the node 3 causes the storage device 32 to temporarily hold the chunk. On the other hand, when it is determined that the relayed chunk is not the target to be cached, the node 3 does not hold the chunk. The network system 1 repeats the file distribution process as shown in FIG. 5 in response to a file transmission request from the request source node.

<効果>
本実施形態では、ネットワーク2において同一のグループが偏らないようにノードをグループ分けする。すなわち、ネットワークトポロジ上隣接する他のノード装置とは異なるグループが優先して割り当てられるという簡便な方法により、同一のチャンクをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するようなキャッシュ配置を実現することができる。また、図1に示したように、1つのチャンクには複数のグループを示す情報を関連付けておくようにしてもよい。そして、リアルタイム又はオンデマンドの配信要求の多いチャンクほど多くのグループを割り当てておけば、より多くのノードでキャッシュすすることができ、ネットワーク上におけるキャッシュのヒット率を向上させることができる。また、チャンク単位でキャッシュすることにより、チャンク単位で要求される頻度が異なるような場合であっても、要求の頻度が高いチャンクをキャッシュさせれば、キャッシュ領域を効率的に活用することができる。
<Effect>
In this embodiment, the nodes are grouped so that the same group is not biased in the network 2. That is, nodes that cache the same chunk are distributed on the network by a simple method in which a group different from other node devices adjacent to each other in the network topology is preferentially allocated, and the nodes that are close to each other to some extent are located. It is possible to realize a cache arrangement such that there is a cache server belonging to each group. Further, as shown in FIG. 1, one chunk may be associated with information indicating a plurality of groups. Then, by assigning more groups to chunks with more real-time or on-demand delivery requests, more nodes can be cached and the cache hit rate on the network can be improved. Also, by caching in chunk units, even if the frequency requested in chunk units is different, the cache area can be used efficiently by caching the chunks that are frequently requested. ..

<キャッシュ対象決定処理>
また、上述したネットワークシステムにおいて、チャンクに対するキャッシュの優先度を決定し、チャンクに関連付けられるグループを示す情報(換言すればキャッシュすべきチャンクのリスト)を動的に変更するようにしてもよい。キャッシュの優先度は、例えば、コンテンツデータ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 content data 6. That is, when live distribution is performed, in addition to users who watch in real time, there are users who start watching a little later or listen to a part of the contents, and watch later than real time. As for general content data, the number of requests for distribution tends to decrease as time elapses from the start of distribution. However, the shorter the elapsed time from distribution of content data 6, the more cached data on the network. It can be said that the cache hit rate on the network can be improved by determining the cache target as a condition. Alternatively, the cache target may be determined using the frequency (access frequency) of distribution requests to each chunk calculated by the cache management unit 542 of the distribution server 5 as another condition. Where the distribution request differs depending on the content data 6, the cache hit rate on the network can be improved by determining the cache target based on the access frequency. In addition, when the cache target is determined by combining two conditions, the weight of each condition is appropriately determined, and a chunk having a shorter elapsed time from distribution and a higher access frequency is assigned more groups. The distribution server 5 is an example of the “access management device” according to the present invention that calculates the frequency of access to a chunk and determines the chunk to be cached. In addition to the distribution server 5, an access management device may be provided in any of the networks 2.

図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 distribution server 5 transmits a chunk instead of S18 of FIG. 6 and further writes a log of a distribution request to the chunk to the storage device 32 (FIG. 8: S31). The distribution request is a sum of a distribution request for real-time viewing and a distribution request for on-demand viewing. Further, the cache management unit 542 of the distribution server 5 totals the request frequency (also referred to as the access frequency) for each chunk in the latest predetermined period at a predetermined timing.

また、ノード3は、配信の要求に応じてキャッシュを送信した回数をチャンクごとに計数しておき、計数した回数を所定のタイミングで配信サーバ5へ送信する(S32)。一方、配信サーバ5は、ノード3からキャッシュの送信回数を受信し、チャンクごとのアクセス数を算出する(S33)。すなわち、配信サーバ5から配信されていないがノード3のキャッシュを送信することによって視聴者の端末4に配信を行ったチャンクについて、要求数を集計できる。 Further, the node 3 counts the number of times the cache is transmitted in response to the distribution request for each chunk, and transmits the counted number to the distribution server 5 at a predetermined timing (S32). On the other hand, the distribution server 5 receives the cache transmission count from the node 3 and calculates the access count for each chunk (S33). That is, the number of requests can be aggregated for chunks that have not been distributed from the distribution server 5 but have been distributed to the viewer's terminal 4 by transmitting the cache of the node 3.

また、配信サーバ5のキャッシュ管理部542は、キャッシュ対象のチャンクを決定する(S34)。例えば、所定のタイミングで、配信からの経過時間が相対的に短く且つ要求頻度が相対的に高いチャンクほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、より多くのグループにキャッシュさせるために、チャンクに対しより多くのグループを割り当てる。また、例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象及びこれに割り当てるグループの数を更新するものとする。 Also, the cache management unit 542 of the distribution server 5 determines the chunk to be cached (S34). For example, at a predetermined timing, a chunk having a relatively short elapsed time from distribution and a relatively high request frequency has a higher cache priority and is cached by more groups. That is, assign more groups to a chunk to cause more groups to cache. In addition, for example, when the conditions such as when a predetermined operation time arrives or when a predetermined period has elapsed from the previous processing are satisfied, the number of cache targets and the groups allocated to them are updated. ..

図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 more nodes 3 are cached. As shown in FIG. 9, if the chunks have the same elapsed time from distribution, the more frequently requested chunks are cached on the network. Also, if the chunks have the same request frequency, the shorter the elapsed time from distribution, the more the cache is cached on the network. That is, 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. Note that the graph of FIG. 9 is an example, and the slope of the straight line indicating the boundary of the number of groups to be allocated can be appropriately determined, and the boundary does not have to be defined as a straight line. Further, instead of the request frequency, or in addition to the request frequency, the number of groups to be allocated may be determined by using other criteria indicating the importance of chunks, or the group allocated by only the elapsed time from distribution. The number may be determined.

図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 cache management unit 542 determines a group for caching each chunk according to the elapsed time from distribution and the request frequency (FIG. 8: S35). In this step, a group to be cached is assigned to each chunk. First, the priority level shown in FIG. 9 is determined based on the number of accesses in a predetermined period. For example, when the node 3 is divided into four groups, the degree of priority is classified into 5 levels. Also, the chunks that belong to the highest priority degree are cached in all four groups, the chunks that belong to the second priority degree are cached in three groups, and the chunks that belong to the third priority degree are set to two. The group is cached, and the chunk belonging to the fourth priority degree is cached in one group. Note that chunks with low priority are not cached in any group.

このように、優先の程度に応じて当該チャンクをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたチャンクに対し循環的にグループの組合せを割り当てる。例えば、図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 cache management unit 542 distributes to each node a list indicating a group in which each chunk is a cache target (FIG. 8: S36). In this step, for example, the information shown in the “chunk name” and “tag” columns in FIG. 10 is broadcast to each node 3. Upon receiving the list, the node 3 stores the list in the storage device 32 and thereafter determines the chunk to be cached by the own node based on the list (S37). Based on the information indicating the group of such a list, each node can determine the destination to request the chunk. Further, when the list is updated, the cache that is no longer held in the node 3 may be deleted.

<効果>
キャッシュ対象更新処理によれば、配信サーバ5から配信されるデータについて、配信からの経過時間及び要求頻度に応じて、ネットワーク上においてキャッシュさせる量を制御できる。また、要求頻度の傾向が変化した場合にも、傾向の変化に追従してネットワーク上におけるキャッシュのヒット率を維持及び向上させられるようキャッシュ配置を変更できる。なお、要求頻度の算出やキャッシュすべきチャンクのリストの更新を行う管理装置は、配信サーバ5であってもよいし、ネットワーク2に接続された他の装置であってもよい。また、各ノード3が記憶するチャンクごとのアクセスログは、ネットワーク上の所定の装置に保持させ、配信サーバ5又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<Effect>
According to the cache target update process, the amount of data distributed from the distribution server 5 to be cached on the network can be controlled according to the elapsed time from distribution and the request frequency. Further, even when the tendency of the request frequency changes, the cache arrangement can be changed so that the hit rate of the cache on the network can be maintained and improved by following the change of the tendency. The management device that calculates the request frequency and updates the list of chunks to be cached may be the distribution server 5 or another device connected to the network 2. The access log for each chunk stored in each node 3 may be held in a predetermined device on the network so that the distribution server 5 or the management device can read the access log in each relay node.

<キャッシュ対象のファイル及びファイルをキャッシュするノードの数>
本実施形態では、所定の条件に基づいてキャッシュ対象を決定する。チャンクをキャッシュするノードの数は、ユーザが任意に設定することができる。なお、チャンクをキャッシュするノードの数は、各グループに属するノードの数と、チャンクに割り当てられたグループの数とによって決まる。チャンクをキャッシュするノードの数は、例えば遺伝的アルゴリズム等を利用して求めた準最適なキャッシュ配置に従って定めるようにしてもよい。
<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とは異なるグループが優先して割り当てられる。また、接続関係を表すトポロジを平面グラフで表すことができるネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。
<Modification 1>
FIG. 12 is a diagram illustrating an example of a network configuration according to the modification. A network system 1 according to this modification includes a plurality of networks 2 connected in a hierarchical manner. The network 2 is, for example, an Internet Service Provider (ISP).
) Is an autonomous system that is managed by ), and is called Tier 1, Tier 2, and Tier 3 from the upper hierarchy. Each network 2 includes a plurality of nodes connected in a network topology of mesh type, full mesh type, ring type, bus type, or the like. Each node is associated with any of the groups assigned to the hierarchy to which the node belongs. Also in this modification, the groups may be assigned to the node 3 so that the same group is not biased in the network 2. That is, a group different from other nodes 3 adjacent in the network topology in the network 2 is preferentially assigned to each node 3. Further, in a network in which a topology showing a connection relationship can be expressed by a plane graph, so-called four-color theorem may be applied to assign groups so that adjacent nodes do not belong to the same group.

また、ネットワーク2には、電気通信回線を介して通信可能に接続された複数のノード3が接続される。ノード3は、自身が記憶するチャンクを、自身が接続されたネットワーク2や、他の階層に属するネットワーク2を介して、他のコンピュータとの間で送受信することができる。 Further, the network 2 is connected with a plurality of nodes 3 communicatively connected via an electric communication line. The node 3 can transmit/receive the chunk stored in itself to/from another computer via the network 2 to which the node 3 is connected or the network 2 belonging to another layer.

一般的に、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 network 2, for example, an ISP controlling the network 2 can complete the communication by an infrastructure managed by itself. Further, between networks 2 belonging to the same level of hierarchy, "peering" may be performed in which traffic between computers connected to network 2 is mutually transferred. Further, between the networks 2 belonging to the upper and lower layers, there may be a "transit" in which traffic of a computer connected to the lower network 2 is transferred to another network 2 via the upper network 2. At this time, the ISP that manages the lower network 2 may incur costs for using the upper network 2. Therefore, in each network 2, it is desirable to reduce communication to the higher level network 2.

本変形例では、いずれかのネットワーク2に接続された配信サーバ5からチャンクを受信する場合に、視聴者の端末4に近い場所にファイルがキャッシュされている確率を高めると共に、ネットワーク2間におけるトラフィックの発生を低減させる。また、ISPが提供するネットワークの下で、ユーザは例えば建物内にLAN(Local Area Network)を
構築することがある。本実施形態では、ISPやユーザ等によって管理される単位が異なるものを別のネットワークとして扱い、ネットワークはティア1から段階的に階層に属するものとする。
In this modified example, when a chunk is received from the distribution server 5 connected to one of the networks 2, the probability that the file is cached in a location near the viewer's terminal 4 is increased, and the traffic between the networks 2 is increased. Reduce the occurrence of. Further, under the network provided by the ISP, the user may construct a LAN (Local Area Network) in a building, for example. In this embodiment, it is assumed that different networks managed by ISPs and users are treated as different networks, and the networks gradually belong to the hierarchy from Tier 1.

図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桁のビット列によって(2種類のタグを生成することができる。本実施形態では、あるファイルはいずれかの階層においてキャッシュするものとし、(2)×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 lower network 2. Also, chunks with a higher priority may be cached by more groups. Further, it is not necessary to associate a group with all files, and a file with a tag “0000 0000 0000” indicates a file that is not cached in any hierarchy. According to such a tag, when a node 3 belonging to each layer receives a cached chunk from another node 3, it is determined whether the node to be requested should be the node 3 belonging to the same layer, whether it is the upper node or the lower node. It is possible to easily determine whether the node 3 belonging to the hierarchy should be used.

図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 terminal 4, and the chunk cached in the lower network is transmitted to the viewer's terminal 4 faster than the chunk cached in the upper network. can do. Note that the graph of FIG. 14 is also an example, and the slope of the straight line indicating the boundary of the number of groups to be allocated can be appropriately determined, and the boundary between the regions does not have to be defined by a straight line. Further, instead of the request frequency, or in addition to the request frequency, the number of groups to be allocated may be determined by using other criteria indicating the importance of chunks, or the group allocated by only the elapsed time from distribution. The number may be determined.

<効果>
本変形例では、キャッシュの必要性に関する優先度の高いチャンクほど下位のネットワーク2においてキャッシュすることで、視聴者の端末4により近い位置からキャッシュを送信することができるようになる。各ネットワーク上においては、優先度の高いチャンクほど、多くのグループに属するノード3でキャッシュすることで、ネットワーク上におけるキャッシュのヒット率を向上させることができる。
<Effect>
In the present modification, the higher priority chunks regarding the need for cache are cached in the lower network 2, so that the cache can be transmitted from a position closer to the viewer's terminal 4. On each network, the higher the priority of the chunk, the more the cache is cached by the nodes 3 belonging to more groups, so that the cache hit rate on the network can be improved.

<変形例2>
配信されるコンテンツデータは、例えばH.264 SVCのようにベースレイヤと拡張レイヤのように複数のレイヤを含む構造を有していてもよい。ここで、ベースレイヤは、比較的低い解像度及びフレームレートによる最低限の動画を構成するデータを含む。また、拡張レイヤは、解像度、フレームレート、S/N(Signal/Noise)比等を向上させるための追加的なデータを含むものとする。なお、拡張レイヤを複数有し、段階的にコンテンツの品質を向上させられる構成であってもよい。
<Modification 2>
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 modification 1, the base layer is cached in a lower network.

図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 modification 1 and the modification 2 are combined. In the graph of FIG. 15, the vertical axis represents the request frequency for 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. 15, the areas delimited by broken lines include chunks cached in the lower network from the left, chunks cached in the middle network, chunks cached in the upper network, and chunks not cached. 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. Further, three solid line rectangles indicate the base layer (low quality layer), the enhancement layer 1 (medium quality layer), and the enhancement layer 2 (high quality layer). This represents a third axis that is different from the elapsed time from the distribution and the request frequency, and when the elapsed time from the distribution and the request frequency are the same, the lower quality layer is in the lower network and more groups. It is meant to be cached. 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へも要求するコンテンツを速やかに配信できるようになる。また、例えば動画の視聴中においてネットワークのスループットが変化する場合は、スループットが低い期間においても低品質層のデータは受信できる可能性が高まるため、動画の再生が停止しづらくなるといえる。このように、本変形例によれば、ネットワーク上のキャッシュ容量を有効に使用することができる。
<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 terminal 4, so that the requested content can be promptly sent to the viewer's terminal 4 with a slower line speed. It can be delivered. In addition, for example, when the network throughput changes during viewing of a moving image, it is more likely that the data of the low quality layer can be received even during the period of low throughput, so that it is difficult to stop the reproduction of the moving image. Thus, according to this modification, the cache capacity on the network can be effectively used.

なお、段階的にコンテンツの品質を向上させることができるデータは、動画における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がチャンクをキャッシュするものとする。
<Modification 3>
In the above-described embodiment and modification, the groups are assigned to the node 3 and the chunk, respectively, but the groups may not be defined on the network system. That is, for the chunks that make up the content, based on the priority determined by using the condition that the chunk whose elapsed time from the date and time when the distribution is started is prioritized and the condition that the chunk with a large number of distribution requests is prioritized, It is assumed that all nodes 3 cache the chunk.

本変形例によっても、視聴者からの配信要求が予測しにくいライブ配信に係るコンテンツデータについて、配信サーバへのアクセスの集中を避け、全体の通信量の増大を抑制するためのキャッシュをネットワークシステム上に配置することができる。 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 node 3 may be the entire file not divided into chunks. For example, the entire file is cached for the content whose live distribution has been completed or the content distributed by download or progressive download. The files to be cached are not limited to content such as moving images and music, but may be various electronic data generated, read, written, stored by a computer, such as documents and application execution files.

本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。 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からのいずれか一項に記載のネットワークシステム。
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からのいずれか一項に記載のネットワークシステム。
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.
JP2018015767A 2018-01-31 2018-01-31 Network system, node device, cache method, and cache program Active JP6721879B2 (en)

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)

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