JP6592809B2 - Network system, node device, cache method, and program - Google Patents
Network system, node device, cache method, and program Download PDFInfo
- Publication number
- JP6592809B2 JP6592809B2 JP2017105055A JP2017105055A JP6592809B2 JP 6592809 B2 JP6592809 B2 JP 6592809B2 JP 2017105055 A JP2017105055 A JP 2017105055A JP 2017105055 A JP2017105055 A JP 2017105055A JP 6592809 B2 JP6592809 B2 JP 6592809B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- group
- cache
- node device
- information indicating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ネットワークシステム、キャッシュ方法及びキャッシュプログラムに関する。 The present invention relates to a network system, a cache method, and a cache program.
従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。 Conventionally, various techniques for intermediately caching files transmitted between computers connected to a network have been proposed. By downloading the cache file instead of the original file, concentration of access to the original file can be avoided and the time until the download is completed on the receiving side can be shortened.
例えば、上位キャッシュサーバは、下位キャッシュサーバにおいて削除されるオブジェクトの参照回数の通知を受け、削除されるオブジェクトの累積参照回数にもとづいて、そのオブジェクトをキャッシュするかどうかを判断するという技術が提案されている(例えば、特許文献1)。 For example, a technique has been proposed in which the upper cache server receives a notification of the reference count of an object to be deleted in the lower cache server, and determines whether to cache the object based on the cumulative reference count of the deleted object. (For example, Patent Document 1).
また、キャッシュ制御装置は、分散キャッシュシステムの外部から受信するリクエストについて、キャッシュミスに起因して分散キャッシュシステム内で転送されるリクエストの伝搬量を推定し、推定されるリクエストの伝搬量に基づいて、リクエストに対応するデータを格納および配信するためのトータルコストを推定し、推定されるコストを小さくするようにキャッシュメモリにデータが格納される時間(TTL)の初期値を更新するという技術も提案されている(例えば、特許文献2)。 Further, the cache control device estimates the propagation amount of a request transferred in the distributed cache system due to a cache miss for a request received from the outside of the distributed cache system, and based on the estimated propagation amount of the request. Also proposed is a technique for estimating the total cost for storing and distributing data corresponding to a request and updating the initial value of the time (TTL) for storing data in the cache memory so as to reduce the estimated cost (For example, Patent Document 2).
また、コンテンツ記憶ノード(CSN)が、局所的に人気のあるコンテンツ・オブジェクトを記憶するためのローカル空間と、より人気の低いコンテンツ・オブジェクトの一部を記憶するための連合空間との間で割り振られる記憶空間を有し、ローカル空間が、有用性レベルの比較的高い利用可能なコンテンツ・オブジェクトを記憶するように適合され、連合空間が、他のCSNの前記連合空間と協働して、有用性レベルの比較的低い利用可能なコンテンツ・オブジェクトの少なくとも一部を記憶するように適合され、コンテンツ・オブジェクトが、有用性レベルの差に応答してローカル空間と連合空間との間で移行されるという技術も提案されている(例えば、特許文献3)。 Also, a content storage node (CSN) is allocated between a local space for storing locally popular content objects and a federated space for storing some of the less popular content objects. A local space is adapted to store available content objects with a relatively high level of usefulness, and a federated space is useful in cooperation with the federated space of other CSNs Adapted to store at least a portion of available content objects with relatively low sex levels, and content objects are moved between local space and federated space in response to a difference in usefulness level There is also a proposed technique (for example, Patent Document 3).
従来、ネットワークシステムを構成する複数のノードに分散してファイルをキャッシュさせる場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。 Conventionally, when a file is cached in a distributed manner in a plurality of nodes constituting a network system, it generally takes time to determine a file arrangement that can avoid concentration of access and reduce the entire communication amount. There was a problem.
本発明は、簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することを目的とする。 An object of the present invention is to provide a network system capable of avoiding concentration of access to files and reducing the entire communication amount with a simple configuration.
本発明に係るネットワークシステムは、送受信されるファイルを一時的に保持したり、ファイルの要求元になったりするノード装置を複数含み、ノード装置は階層的に接続されるネットワークのいずれかに属する。また、ノード装置は、当該ノード装置が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられ、グループを示す情報は、ファイルが保持される階層及びグループを特定するための情報を含み、ノード装置は、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、要求元のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合に、当該キャッシュファイルを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するファイルに対応するキャッシュファイルを保持していない場合に、グループを示す情報に基づき、同一の階層又は他の階層に属する他のノードにファイルを要求する中継部とを含む。 The network system according to the present invention includes a plurality of node devices that temporarily hold files to be transmitted / received and serve as file request sources, and the node devices belong to any one of hierarchically connected networks. The node device is a group for specifying a file to be held by the node device, and belongs to one of a plurality of groups assigned to the hierarchy, and the file is information indicating zero or more groups. When the node device receives the file associated with the information indicating the group to which the node device belongs, the information indicating the group and the group in which the file is held is included. A cache holding unit that temporarily holds the file as a cache file, and a cache file corresponding to the file requested by the requesting node device when the cache file is held by the requesting node device. Correspond to the file requested by the requesting node device. If you do not maintain a cache file based on the information indicating the group, and a relay unit that requests the file to other nodes belonging to the same layer or other layers.
このようにすれば、いずれかのグループに属するノード装置をネットワーク上に分散させることにより、分散協調システムを実現することができる。すなわち、ファイルと関連付けられるグループを示す情報は、ファイルが保持される階層及びグループを特定するための情報を含むため、キャッシュ保持部は、自身が保持すべきファイルを容易に特定することができる。また、中継部は、グループを示す情報に基づいて、ファイルを要求する先を、同一の階層とすべきか、又は上下いずれの階層とすべきか容易に判断することができる。すなわち、簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるようになる。 In this way, a distributed cooperative system can be realized by distributing node devices belonging to any group on the network. That is, the information indicating the group associated with the file includes information for specifying the hierarchy and group in which the file is held, so that the cache holding unit can easily specify the file to be held by itself. Further, the relay unit can easily determine whether the file request destination should be the same hierarchy or the upper or lower hierarchy based on the information indicating the group. That is, with a simple configuration, it is possible to avoid concentration of access to the original file and to reduce the entire communication amount.
また、ファイルに対するアクセスの頻度を算出するアクセス管理装置をさらに含み、アクセス管理装置は、算出した頻度が高いファイルは頻度が低いファイルよりも下位の階層において保持されるように、ファイルに関連付けるグループを示す情報を変更するようにしてもよい。このようにすれば、送受信される可能性の高いファイルを、ネットワーク上においてファイルの要求元に近い場所にキャッシュすることができる。したがって、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるようになる。 The access management device further includes an access management device that calculates the frequency of access to the file, and the access management device includes a group that is associated with the file so that the calculated high frequency file is held in a lower hierarchy than the low frequency file. The information shown may be changed. In this way, a file that is highly likely to be transmitted and received can be cached on the network at a location close to the file request source. Therefore, concentration of access to the original file can be avoided and the entire communication amount can be reduced.
また、アクセス管理装置は、頻度が高いファイルは頻度が低いファイルよりも同一の階層においてより多くのグループに属するノード装置によって保持されるように、ファイルに関連付けるグループを示す情報を変更するようにしてもよい。このような構成によっても、送受信される可能性の高いファイルを、ネットワーク上においてファイルの要求元に近い場所にキャッシュすることができる。 In addition, the access management device changes information indicating a group associated with a file so that a file with a high frequency is held by a node device belonging to more groups in the same hierarchy than a file with a low frequency. Also good. Even with such a configuration, a file that is highly likely to be transmitted and received can be cached on the network at a location close to the file request source.
また、複数のノード装置には、ネットワークトポロジ上、偏りが小さくなるようにグループが割り当てられるようにしてもよい。このような構成によっても、送受信される可能性の高いファイルを、ネットワーク上においてファイルの要求元に近い場所にキャッシュすることができる。 In addition, a group may be assigned to a plurality of node devices so as to reduce the bias in the network topology. Even with such a configuration, a file that is highly likely to be transmitted and received can be cached on the network at a location close to the file request source.
また、少なくとも一部のノード装置は、同一の階層に属する複数のネットワークに接続され、中継部は、同一の階層に属する他のノード装置にファイルを要求する場合は、同一の階層に属する複数のネットワークのいずれかに要求するようにしてもよい。例えば、ISPが提供するネットワークとは別に、端末間通信又はPLCを利用するネットワークに接続するようにしてもよい。このようにすれば、通信帯域の状況等に応じて利用するネットワークを変更することができ、ネットワークにかかる負荷を軽減すると共にファイルの送受信の実効速度を向上させることができる。 In addition, when at least some of the node devices are connected to a plurality of networks belonging to the same hierarchy, and the relay unit requests a file from another node device belonging to the same hierarchy, the plurality of nodes belonging to the same hierarchy are You may make it request | require to either of the networks. For example, it may be connected to a network using terminal-to-terminal communication or PLC separately from a network provided by an ISP. In this way, the network to be used can be changed according to the status of the communication band, etc., and the load on the network can be reduced and the effective speed of file transmission / reception can be improved.
また、本発明に係るノード装置は、階層的に接続されるネットワークのいずれかに属し
、送受信されるファイルを一時的に保持する。そして、自身が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられ、グループを示す情報は、ファイルが保持される階層及びグループを特定するための情報を含み、自身が属するグループを示す情報と関連付けられたファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、要求元のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合に、当該キャッシュファイルを要求元のノード装置に対して送信するキャッシュ送信部と、要求元のノード装置が要求するファイルに対応するキャッシュファイルを保持していない場合に、グループを示す情報に基づき、同一の階層又は他の階層に属する他のノードにファイルを要求する中継部とを含む。
The node device according to the present invention belongs to any one of hierarchically connected networks, and temporarily holds files to be transmitted and received. A group for identifying a file to be held by itself belongs to one of a plurality of groups assigned to the hierarchy, and the file is associated with information indicating zero or more groups. The information shown includes information for specifying the hierarchy and group in which the file is held. When a file associated with information indicating the group to which the file belongs is received, the file is temporarily held as a cache file. A cache holding unit, a cache transmitting unit that transmits the cache file to the requesting node device when the cache file corresponding to the file requested by the requesting node device is held, and the requesting node If the device does not have a cache file corresponding to the requested file, Based on the information indicating the-loop, and a relay unit that requests the file to other nodes belonging to the same layer or other layers.
いずれかのグループに属する、上述のようなノード装置をネットワーク上に分散させることにより、分散協調システムを実現することができる。すなわち、ファイルと関連付けられるグループを示す情報は、ファイルが保持される階層及びグループを特定するための情報を含むため、キャッシュ保持部は、自身が保持すべきファイルを容易に特定することができる。また、中継部は、グループを示す情報に基づいて、ファイルを要求する先を、同一の階層とすべきか、又は上下いずれの階層とすべきか容易に判断することができる。すなわち、簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるようになる。 A distributed cooperative system can be realized by distributing the above-mentioned node devices belonging to any group on the network. That is, the information indicating the group associated with the file includes information for specifying the hierarchy and group in which the file is held, so that the cache holding unit can easily specify the file to be held by itself. Further, the relay unit can easily determine whether the file request destination should be the same hierarchy or the upper or lower hierarchy based on the information indicating the group. That is, with a simple configuration, it is possible to avoid concentration of access to the original file and to reduce the entire communication amount.
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 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 a device such as a computer or a system including a plurality of devices, a method executed by the computer, or a program executed by the computer. A recording medium that holds the program may be provided.
簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することができるようになる。 With a simple configuration, it is possible to provide a network system that can avoid concentration of access to files and reduce the entire communication amount.
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In addition, the structure of embodiment is an illustration and this invention is not limited to the structure shown in embodiment.
<ネットワーク構成>
図1は、実施形態に係るネットワークシステム1の構成の一例を示す図である。実施形態に係るネットワークシステム1は、階層状に接続された複数のネットワーク2を含む。ネットワーク2は、例えばインターネットサービスプロバイダ(ISP:Internet Service Provider)によって管理される自律システム(AS:Autonomous System)であり、上位の階層からティア(Tier)1、ティア2、ティア3と呼ぶ。ネットワーク2には、電気通信回線を介して通信可能に接続された複数のコンピュータ(図示せず)が接続される。コンピュータは、自身が記憶する様々な形式の電子データ(「ファイル」とも呼ぶ)を、自身が接続されたネットワーク2や、上位の階層に相当するネットワーク2を介して、他のコンピュータとの間で送受信することができる。
<Network configuration>
FIG. 1 is a diagram illustrating an example of a configuration of a
1つのネットワーク2に接続された2つのコンピュータ間で通信を行う場合、例えばネットワーク2を制御するISPは、自己の管理するインフラストラクチャによって通信を完結させることができる。また、同程度の階層に属するネットワーク2の間では、ネットワーク2に接続されたコンピュータ間のトラフィックを相互に転送するピアリングが行われる場合がある。また、上下の階層に属するネットワーク2の間では、下位のネットワーク2に接続されたコンピュータのトラフィックを上位のネットワーク2を介してさらに他のネットワーク2に転送するトランジットが行われることがある。このとき、下位のネットワーク2を管理するISPには、上位のネットワーク2を利用するための料金的なコストが発生する。したがって、各ネットワーク2においては上位のネットワーク2への通信が低減されることが望ましい。本実施形態では、いずれかのネットワーク2に接続されたコンテンツプロバイダのサーバ(「配信サーバ」とも呼ぶ)3からファイルを受信する場合に、要求元のコンピュータに近い場所にファイルがキャッシュされている確率を高め、特にネットワーク2間のトラフィックを低減させる。また、ISPが提供するネットワークの下で、ユーザは例えば建物内にLAN(Local Area Network)を構築することがある。一般的に、ISPが提供するネットワークとLANとでは、通信速度が異なる。何らかのデータを送受信する場合は、ホップ数や通信速度によって定義される通信コストが低く抑えられることが好ましい。本実施形態では、ISPやユーザによって管理される単位が異なるものを別のネットワークと呼び、接続されたネットワークをティア1から順に階層と呼ぶものとする。なお、上下の階層に属するネットワーク間におけるピアリングが含まれてもよい。
When communication is performed between two computers connected to one
図2は、ティア3に相当する1つのネットワーク2に接続されるコンピュータ4の一例を示す図である。本実施形態では、一戸建てや集合住宅等の家庭に設置されるPC(Personal Computer)にキャッシュを保持する機能を付加したり、CATV(Cable Television)の視聴装置と組み合わせてキャッシュサーバを設置することにより、ネットワーク上
にキャッシュを保持するシステムを実現する。本実施形態では、ネットワーク2に接続されたコンピュータ4を、「ノード」又は「ノード装置」とも呼ぶ。各ノードは、送受信するファイルをキャッシュファイルとして一時的に記憶(キャッシュ)し、同一のファイルに対する要求に対しキャッシュファイルを送信する。
FIG. 2 is a diagram illustrating an example of a
また、本実施形態では、複数のノードが同一のファイルを分散してキャッシュする。そして、ファイルのダウンロードを要求するノードは、例えば当該ファイルをキャッシュす
るノードのうち、自ノードからのホップ数が最も小さいノードからファイルを受信する。具体的には、各ノードが保持すべきファイルを特定するためのグループを予め定義しておく。換言すれば、各ノードは、予め定められた複数のグループのいずれかに属する。図2の例では、各ノードに付した円内のハッチングが、当該ノードの属するグループを表している。また、本実施形態では、複数の階層を有するネットワーク2に対し、階層ごとに異なる複数のグループを割り当てる。そして、あるグループがいずれの階層に割り当てられたものかわかるようにする。なお、グループの種類は4つには限定されず、1つのグループに属するノードの数も特に限定されない。
In this embodiment, a plurality of nodes distribute and cache the same file. Then, the node requesting the file download receives the file from the node having the smallest hop count from the own node among the nodes that cache the file, for example. Specifically, a group for specifying a file to be held by each node is defined in advance. In other words, each node belongs to one of a plurality of predetermined groups. In the example of FIG. 2, hatching in a circle attached to each node represents a group to which the node belongs. Further, in the present embodiment, a plurality of different groups are assigned for each layer to the
図3は、複数の階層を形成するネットワーク2に接続されたノードと、グループの割り当ての一例を説明するための図である。各ネットワーク2は、メッシュ型、フルメッシュ型、リング型、バス型等のネットワークトポロジで接続された複数のノードを含む。また、各ノードは、自ノードが属する階層に割り当てられたグループのいずれかと対応付けられている。図3の例では、各階層に4つのグループが割り当てられている。
FIG. 3 is a diagram for explaining an example of assignment of nodes and groups connected to the
また、ノードへのグループの割り当ては、ネットワーク2において同一のグループが偏らないように行われる。すなわち、新たなノードをネットワーク2に接続する場合は、例えば複数のグループについて、すでにネットワーク2上に存在する他のノードのうち、ホップ数が小さい又は回線の経路長が短いものに付されたグループから順に除外し、残ったグループを新たなノードに割り当てる。また、メッシュ型やリング型のネットワークにおいては、いわゆる四色定理を応用し、隣接するノードが同じグループに属さないように、グループを割り当てるようにしてもよい。
In addition, the assignment of groups to nodes is performed so that the same group is not biased in the
一方、各ファイルは、当該ファイルをキャッシュすべきゼロ以上のグループを示す情報を有する。そして、各ノードは、自身が属するグループを示す情報を有するファイルを送受信(中継を含む)する際、当該ファイルをキャッシュする。 On the other hand, each file has information indicating zero or more groups in which the file should be cached. Each node caches the file when transmitting / receiving (including relaying) the file having information indicating the group to which the node belongs.
図4は、ファイルに付される、グループを示す情報を説明するための図である。図4のファイル5は、コンピュータによって生成、読み出し、書き込み、記憶等される様々な電子データであり、動画や文書、アプリケーションの実行ファイル等である。特に、高解像度の動画コンテンツや360°の情報を含むVR(Virtual Reality)コンテンツ等は、
1ファイル当たりの容量が大きく内容が更新されることが少ない。したがって、いわゆるCDN(Contents Delivery Network)において、アクセス頻度の高いコンテンツをキャ
ッシュ対象とすれば、キャッシュによるトラフィックの削減効果が大きくなると期待できる。また、ファイル5には、ゼロ以上の上述したグループを示す情報が関連付けられている。図3の例では、1つのファイル5に対し、吹出し内に示すようにハッチングのパターンで表したグループの組合せが関連付けられる。図4に示すグループの組合せは、3つの階層のいずれかに対し当てられたグループを0〜4個有する。
FIG. 4 is a diagram for explaining information indicating a group attached to a file. A
The capacity per file is large and content is rarely updated. Therefore, in a so-called CDN (Contents Delivery Network), if content with high access frequency is targeted for caching, it can be expected that the effect of reducing traffic by the cache will increase. Further, the
ファイルに対するグループの対応付けは、各ノードにおいて、例えばグループの数だけ桁数を有するビット列によって表されるタグを、ファイルの識別情報に関連付けて保持しておくことにより設定される。また、このようなファイルのリストは、各ノードにおいてデータベースのテーブルに記憶させるようにしてもよい。また、このような関連付けは、例えばネットワーク2上の配信サーバ3等の管理装置が一元的に管理し、例えばキャッシュすべきファイルのリストをネットワーク上のノードにブロードキャストして各ノードの記憶装置に保持するようにしてもよいし、ネットワーク上の管理装置から各ノードが任意のタイミングで読み出せるようにしてもよい。
The association of a group with a file is set in each node by, for example, holding a tag represented by a bit string having the number of digits corresponding to the number of groups in association with the identification information of the file. Further, such a file list may be stored in a database table in each node. Further, such association is centrally managed by a management device such as the
なお、3つの階層に4つのグループが存在する場合、4桁のビット列によって(24)3種類のタグを生成することができる。本実施形態では、あるファイルはいずれかの階層に
おいてキャッシュするものとし、(24)×3種類のタグを利用する。また、本実施形態
では、頻繁にアクセスされるファイルほど、下位のネットワーク2においてキャッシュする。また、頻繁にアクセスされるファイルほど、多くのグループでキャッシュするようにしてもよい。また、すべてのファイルにグループを関連付ける必要はなく、タグが「0000 0000 0000」のファイルは、いずれの階層においてもキャッシュされないファイルを示す。
If there are four groups in three layers, (2 4 ) three types of tags can be generated by a 4-digit bit string. In this embodiment, a certain file is cached in any hierarchy, and (2 4 ) × 3 types of tags are used. In the present embodiment, the more frequently accessed files are cached in the
そして、各ノードは、自身が属するグループを示す情報を有するファイルを受信した場合、当該ファイルをキャッシュすると共に、他のノードからの要求に対して自身がキャッシュしている情報を出力する。 When each node receives a file having information indicating a group to which the node belongs, each node caches the file and outputs information cached by itself in response to a request from another node.
<ノードの構成>
図5は、ノードの構成の一例を示すブロック図である。ノード4は、一般的なコンピュータであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
<Node configuration>
FIG. 5 is a block diagram illustrating an example of the configuration of a node. The
通信I/F41は、例えばネットワークカードであり、所定のプロトコルに基づき、図1〜3に示したリンクを介して他のコンピュータと通信を行う。例えば、ノード間においてファイル5を送受信する。
The communication I /
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのキャッシュ、当該ノード4が属するグループを示す情報等を記憶する。
The
入出力装置43は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介して配信サーバに対しファイルの送信を要求したり、受信したファイルを読み出して表示させたりする。
The input /
プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、ア
プリケーション(プログラム、ソフトウェア等とも呼ぶ)を実行することにより本実施の形態に係る各処理を行う。図3の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、ファイル要求部441、中継部442、キャッシュ保持部443、キャッシュ送信部444、キャッシュ削除部445の各処理部として機能する。ファイル要求部441は、例えばユーザの操作に基づいて、ネットワークを介して接続されたファイル配信サーバに対し、ファイルの送信を要求する。中継部442は、他のノードと配信サーバとの経路上に当該ノード4が位置する場合において、他のノードから配信サーバへのファイル送信要求や、他のノードへ送信するファイルを中継する。キャッシュ保持部443は、ファイルに関連付けられたグループを示す情報に基づいて、受信したファイルを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部444は、他のノードから配信サーバへのファイルの要求に対し、当該ノード4の記憶装置42にキャッシュされている場合、キャッシュされているファイルを他のノード装置に送信する。キャッシュ削除部445は、所定のルールに基づいて、記憶装置42に記憶されたキャッシュを削除する。
The
以上のような構成要素が、バス45を介して接続されている。
The components as described above are connected via the
<配信サーバの構成>
図6は、配信サーバの構成の一例を示すブロック図である。コンテンツプロバイダ等の配信サーバ3も、一般的なコンピュータであり、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
<Configuration of distribution server>
FIG. 6 is a block diagram illustrating an example of the configuration of the distribution server. The
通信I/F31は、例えばネットワークカードであり、所定のプロトコルに基づき、図1〜3に示したリンクを介して他のコンピュータと通信を行う。例えば、リンクする他のノードとの間でファイル5を送受信する。
The communication I /
記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのファイル等を記憶しているものとする。また、各ファイルに関連づけて、当該ファイルをキャッシュするグループを示す情報を記憶するようにしてもよい。さらに、ファイルに対する送信要求を計数し、所定期間における頻度に基づいて各ファイルをキャッシュするグループの設定を変更するようにしてもよい。
The
入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The input /
プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。図6の例では、プロセッサ34内に機能ブロックを示している。プロセッサ34は、例えば、ファイル配信部341、頻度算出部342、設定変更部343の各処理部として機能する。ファイル配信部341は、送信の要求を受けたファイルを記憶装置32から読み出し、要求元のノードに対して送信する。頻度算出部342は、ファイルごとにアクセス数を計数し、所定期間内のアクセス頻度を算出する。設定変更部343は、アクセス頻度に応じて、各ファイルをキャッシュするグループを示す情報を変更する。設定の変更に伴い、設定変更部343は、ネットワーク上のノードに対し、特定のキャッシュファイルの削除を指示する情報を送信するようにしてもよい。
The
以上のような構成要素が、バス35を介して接続されている。
The components as described above are connected via the
<ファイル配信処理>
図7は、ネットワークシステムが行うファイル配信処理の一例を示す処理フロー図である。図7の要求元ノードは、図4等に示したいずれかのノードに相当し、図5に示した機能部を備えている。図7の配信サーバは、図1に示した配信サーバ3に相当し、図6に示した機能部を備えている。また、図7の中継ノードは、図1〜図3における要求元ノードと配信サーバ3との間の経路上に存在するノードに相当する。すなわち、2以上の中継ノードを経由する場合もある。図7では、便宜上、1つの中継ノードを示す。
<File delivery processing>
FIG. 7 is a process flow diagram illustrating an example of a file distribution process performed by the network system. The request source node in FIG. 7 corresponds to one of the nodes illustrated in FIG. 4 and the like, and includes the functional unit illustrated in FIG. The distribution server in FIG. 7 corresponds to the
まず、要求元ノードのファイル要求部441は、配信サーバが保持するファイルの送信を要求する(図7:S1)。一方、中継ノードの中継部442は、要求を受信し(S2)、自ノードの記憶装置42に対応するキャッシュファイルを保持しているか判断する(S3)。キャッシュを保持している場合(S3:Yes)、中継ノードのキャッシュ送信部444は、キャッシュファイルを要求元ノードに送信する(S4)。また、中継ノードがキャッシュを保持していない場合(S3:No)、中継ノードの中継部442は、隣接する中継ノード(図示せず)又は配信サーバに要求を中継する(S5)。なお、中継ノードが複数存在する場合は、同様の処理が繰り返される。また、本実施形態においては、各ノ
ードは、グループを示すタグのビット位置からいずれの階層においてキャッシュされているかわかる。よって、各ノードは要求されたファイルのタグのビット位置に基づいて要求を上位階層のネットワーク又は同一階層のネットワークに転送することができる。そして、配信サーバ3のファイル配信部341は、ファイルに対する送信の要求を受信し(S6)、該当するファイルを記憶装置32から読み出して送信する(S7)。一方、中継ノードの中継部442は、ファイルを要求元のノード対して中継する(S8)。そして、S8の後、又はS4において中継ノードがキャッシュを送信した後、要求元ノードのファイル要求部441はS1において要求したファイルを受信する(S9)。また、S8においてファイルを要求元ノードへ送信する場合、中継ノードのキャッシュ保持部443は、当該ファイルは自ノードにおいてキャッシュすべき対象であるか判断する(S10)。本ステップでは、ファイルに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。ファイルとグループを示す情報との関連付けは、自ノードの記憶装置42又はネットワーク上の所定の装置が保持するデータベースのテーブルやファイルに記憶させておくことができる。そして、中継したファイルがキャッシュすべき対象であると判断された場合(S10:Yes)、中継ノードのキャッシュ保持部443は、当該ファイルを記憶装置42に一時的に保持する。一方、中継したファイルがキャッシュすべき対象でないと判断された場合は、中継ノードはファイルを保持しない。ネットワークシステム1は、要求元ノードからファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。
First, the
<効果>
本実施形態によれば、ネットワーク2において同一のグループが偏らないようにノードをグループ分けするという簡便な方法により、同一のファイルをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するという準最適なキャッシュ配置を実現することができる。このとき、アクセス頻度の高いファイルほど下位のネットワーク2においてキャッシュすれば、要求元により近い位置からファイルを送信することができる。また、図4に示したように、1つのファイルには複数のグループを示す情報を関連付けておくようにしてもよい。アクセス頻度の高いファイルほど、多くのグループに属するノードでキャッシュすれば、ネットワーク上におけるキャッシュのヒット率を向上させることができる。
<Effect>
According to the present embodiment, nodes that cache the same file are distributed on the network by a simple method of grouping nodes so that the same group is not biased in the
<キャッシュ対象更新処理>
また、上述したネットワークシステムにおいて、ファイルに対するキャッシュの優先度を決定し、ファイルに関連付けられたグループを示す情報(キャッシュすべきファイルの一覧)を動的に変更するようにしてもよい。キャッシュの優先度は、配信サーバ3の頻度算出部342が算出する各ファイルへのアクセス頻度に基づき決定する。配信サーバ3は、ファイルに対するアクセスの頻度を算出し、キャッシュ対象のファイルを決定する、本発明に係る「アクセス管理装置」の一例である。なお、配信サーバ3とは別に、いずれかのネットワーク2にアクセス管理装置を設けてもよい。
<Cache target update processing>
In the network system described above, the priority of the cache for the file may be determined, and information indicating a group associated with the file (a list of files to be cached) may be dynamically changed. The priority of the cache is determined based on the access frequency to each file calculated by the
図8は、キャッシュ対象のファイルを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステムは、図7に示したファイル配信処理に加え、図8に示すような処理を行うようにしてもよい。 FIG. 8 is a process flow diagram illustrating an example of a cache target update process for changing a cache target file. For example, the network system may perform processing as shown in FIG. 8 in addition to the file distribution processing shown in FIG.
まず、中継ノードは、要求に応じてキャッシュファイルを送信した回数をファイルごとに計数しておき、当該回数を所定のタイミングで配信サーバ3へ送信する(図8:S21)。一方、配信サーバ3は、各中継ノードからファイルの送信回数を受信し、ファイルごとのアクセス数を記憶する(S22)。本ステップでは、アクセス数を集計するためのアクセスログを受信するようにしてもよい。また、例えば配信サーバ3は、図7のS7においてファイルを送信する場合、さらに当該ファイルへのアクセスログを記憶装置32に書
き出す(S23)。
First, the relay node counts the number of times the cache file has been transmitted in response to the request, and transmits the number of times to the
そして、配信サーバ3は、所定のタイミングで所定期間における各ファイルへのアクセス回数(すなわち、アクセスの頻度)を算出し(図示せず)、頻度の高いファイルほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、ファイルに対しより多くのグループを示す情報を関連付けるようにする。具体的には、まず、頻度算出部342は、キャッシュ対象を更新するタイミングであるか判断する(S24)。例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象を更新するタイミグであると判断するものとする。キャッシュ対象を更新するタイミングでないと判断された場合、配信サーバ3は特に処理を行わない。一方、キャッシュ対象を更新するタイミングであると判断された場合(S24:Yes)、頻度算出部342は、ファイルごとのアクセス頻度を算出し、キャッシュ対象を決定する(S25)。
The
図9は、所定期間におけるファイルへのアクセス数に基づく順位と、当該ファイルに関連付けて割り当てられるグループを示すタグの一例を示す図である。配信サーバ3は、当該配信サーバ3が要求に応じて送信したファイルについてのアクセスログと、中継ノードがキャッシュを送信した旨のアクセスログを所定期間分集計し、図9に示すようなファイルごとの統計データを生成する。図9に示す表は、「順位」、「階層」、「グループ数」、及び「タグ」の項目を有する。「順位」のフィールドには、所定期間におけるファイルへのアクセス頻度に基づいて定まる順位の範囲が記録されている。図8のS25においては、所定期間における順位が決定される。「階層」のフィールドには、各順位のファイルをキャッシュする階層が示されている。「グループ数」のフィールドには、各順位のファイをキャッシュするグループの数が示されている。「タグ」のフィールドには、各順位のファイルをキャッシュするグループを示す情報が上述したタグの形式で記録されている。
FIG. 9 is a diagram illustrating an example of a tag indicating a rank based on the number of accesses to a file in a predetermined period and a group assigned in association with the file. The
また、設定変更部343は、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定する(図8:S25)。本ステップでは、各ファイルに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図9に示す人気の程度を決定する。例えばノードを3階層で12のグループに分ける場合、人気の程度を13段階に分類する。また、各階層において、最も人気の高い程度に属するファイルを当該階層に割り当てられた4つのグループすべてにおいてキャッシュさせ、2番目に人気の高い程度に属するファイルを3つのグループにおいてキャッシュさせ、3番目に人気の高い程度に属するファイルを2つのグループにおいてキャッシュさせ、4番目に人気の高い程度に属するファイルを1つのグループにおいてキャッシュさせる。なお、最も人気の低い程度に属するファイルはいずれのグループにおいてもキャッシュさせないものとする。
The setting
このように、人気の程度に応じて当該ファイルをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたファイルに対し循環的にグループの組合せを割り当てる。例えば、図9の順位21〜100のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各ファイルへのアクセス頻度に基づいて、ファイルに関連付けられるタグが更新される。 In this manner, the number of groups of nodes that cache the file is determined according to the degree of popularity, and thereafter, combinations of groups are cyclically assigned to files to which the same number of groups are assigned. For example, tags determined by cyclically assigning combinations of three groups are recorded in the “tag” field of the records of ranks 21 to 100 in FIG. In S25, the tag associated with the file is updated based on the access frequency to each file in the most recent predetermined period.
そして、設定変更部343は、各ファイルをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図8:S26)。本ステップでは、例えば図9の「ファイル名」及び「タグ」の列に示す情報が、各ノードへブロードキャストされる。中継ノードは、リストを受信すると、当該リストを記憶装置42に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のファイルを決定する(S27)。このようなリストのグループを示す情報に基づいて、各ノードは、ファイルを要求する先を、同一
の階層とすべきか、又は上下いずれの階層とすべきか容易に判断することができる。また、更新されたリストの内容に応じて、例えばキャッシュ削除部445が不要なキャッシュを削除するようにしてもよい。
Then, the setting
<効果>
キャッシュ対象更新処理によれば、配信サーバから新たに配信されるファイルについてもその後のアクセス数に応じてキャッシュさせることができると共に、既存のファイルに対するアクセス頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。なお、アクセス頻度の算出やキャッシュすべきファイルのリストの更新は、配信サーバ3とは異なるネットワーク上の管理装置が行うようにしてもよい。また、各中継ノードが記憶するファイルへのアクセスログは、ネットワーク上の所定の装置に保持させ、配信サーバ3又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<Effect>
According to the cache target update process, a file that is newly distributed from the distribution server can be cached according to the number of subsequent accesses, and even when the tendency of access frequency to existing files changes The settings can be changed to keep up and improve the cache hit rate in the network following changes. The access frequency may be calculated and the list of files to be cached may be updated by a management device on a network different from the
<キャッシュ対象のファイル及びファイルをキャッシュするノードの数>
本実施形態では、アクセス頻度が高いファイルをキャッシュ対象とし、アクセス頻度が高いほどネットワーク内における多くのノードでキャッシュする。ファイルをキャッシュするノードの数は、ユーザが任意に設定することができる。なお、ファイルをキャッシュするノードの数は、ネットワークに接続された、各グループに属するノードの数と、ファイルに対応づけて設定される、当該ファイルを保持するグループの数とによって決まる。ファイルをキャッシュするノードの数は、例えば遺伝的アルゴリズム等を利用して求めた準最適なキャッシュ配置に従って定めるようにしてもよい。
<Files to be cached and the number of nodes that cache the files>
In this embodiment, a file having a high access frequency is targeted for caching, and the higher the access frequency is, the more nodes are cached in the network. The number of nodes that cache files can be arbitrarily set by the user. Note that the number of nodes that cache files depends on the number of nodes that belong to each group connected to the network and the number of groups that hold the files set in association with the files. The number of nodes that cache files may be determined according to a sub-optimal cache arrangement obtained using, for example, a genetic algorithm.
図10は、1つのメッシュ型ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。図10の横軸は、アクセス頻度の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。ファイルに付すタグの設定は、遺伝的アルゴリズムを利用して求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図10の破線は、メッシュ型のネットワークにおいて、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求められた準最適なキャッシュ配置に
おけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。実線は、遺伝的アルゴリズムで求めたネットワーク中のキャッシュファイル数を、本実施形態に係るネットワークシステムで近似する例である。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を4よりも大きくすることで、準最適な配置に対する近似の精度を向上させることができる。本実施形態に係る階層的に接続されたネットワークにおいても、所定の頻度でアクセスされる複数のファイルを定義し、何らかのアルゴリズムで求めた準最適なキャッシュ配置を近似した値となるように、上記ファイルに割り当てるグループ及びネットワーク上のノードに割り当てるグループの少なくともいずれかを決定するようにしてもよい。
FIG. 10 is a graph showing files and the number of files cached on one mesh network. The horizontal axis in FIG. 10 represents the serial numbers of files sorted in descending order of access frequency, and the vertical axis represents the number of nodes that cache each file. The setting of a tag attached to a file may be determined according to the type of file cached on a node and the number of nodes that cache the same file in a cache arrangement obtained using a genetic algorithm. The broken line in FIG. 10 represents the relationship between a file in a sub-optimal cache arrangement obtained by a genetic algorithm (GA) and the number of files to be cached on the network in a mesh network. . A solid line is an example in which the network system according to the present embodiment approximates the number of cache files in the network obtained by the genetic algorithm. In the present embodiment, the number of nodes on the network that caches the file can be adjusted by changing the group assigned to each file, which is represented by the tag described above. Further, by making the number of types of groups larger than 4, it is possible to improve the accuracy of approximation for the sub-optimal arrangement. Even in a hierarchically connected network according to the present embodiment, a plurality of files that are accessed at a predetermined frequency are defined, and the above files are set to approximate values of a sub-optimal cache arrangement obtained by some algorithm. It is also possible to determine at least one of a group to be assigned to and a group to be assigned to a node on the network.
例えば、図9に示したように、アクセス頻度を基準として20位以内、21〜100位、101〜250位、・・・といった人気の程度毎にファイルをキャッシュするグループの数及び階層が定める。そして、人気の程度に対して対応付けられたタグを、上位から順に循環的に割り当てる。タグは、当該ファイルを保持すべき階層及びグループを示す12ビットのビットベクトルによって記述されている。また、ビットベクトルは、各階層におけるグループを表す桁を、所定の順序で連結して形成されている。図9では、左の4ビットが第1の階層に割り当てられた4つのグループにおいてファイルがキャッシュされるか否かを表す。同様に、中央の4ビットは、第2の階層に割り当てられた4つのグループに
おいてファイルがキャッシュされるか否かを表す。そして、右の4ビットは、第3の階層に割り当てられた4つのグループにおいてファイルがキャッシュされるか否かを表す。このように、ファイルは、当該ファイルをキャッシュすべきゼロ以上のグループ及び当該グループが属する階層を表す情報が対応付けられる。
For example, as shown in FIG. 9, the number and hierarchy of groups that cache files are determined for each degree of popularity, such as within 20th, 21st to 100th, 101st to 250th,. Then, tags associated with the degree of popularity are cyclically assigned in order from the top. The tag is described by a 12-bit bit vector indicating a hierarchy and a group to hold the file. The bit vector is formed by connecting digits representing groups in each layer in a predetermined order. In FIG. 9, the left 4 bits indicate whether files are cached in the four groups assigned to the first hierarchy. Similarly, the central 4 bits represent whether the file is cached in the four groups assigned to the second hierarchy. The four bits on the right represent whether or not files are cached in the four groups assigned to the third hierarchy. In this way, a file is associated with zero or more groups that should cache the file and information indicating the hierarchy to which the group belongs.
<CATVシステム>
図11は、実施形態に係るネットワークシステムをCATVのネットワークに適用する場合の、宅内の装置構成の一例を示すブロック図である。図11のCATV視聴システム6は、保安器61と、ブースター62と、分配器63と、STB(Set-Top Box)64と
、録画機器65と、受像機66と、モデム67と、キャッシュサーバ68と、ルータ69と、IP−VoD STB70と、PC71とを含む。保安器61は、引込線と宅内のシステムとの間に設けられ、落雷等による異常電流から宅内の機器を保護するための装置である。ブースター62は、保安器61と同軸ケーブルで接続され、伝送される包装信号を増幅する。分配器63は、ブースター62と同軸ケーブルで接続され、例えば複数のSTB64へ信号線を分配する。STB64は、分配器63と同軸ケーブルで接続され、放送信号を受信して映像を出力する。録画機器65は、STB64とLANケーブル等で接続され、放送を録画する。また、受像機66は、録画機器65とHDMI(登録商標,High-Definition Multimedia Interface)ケーブル等で接続され、放送を表示する。また、モデム67は、保安器61と同軸ケーブル等で接続され、データ通信を行う。キャッシュサーバ68は、例えば図5に示したノードのようなコンピュータであり、モデム67とLANケーブル等で接続される。また、複数の家庭に設置されたキャッシュサーバ68は、割り当てられたグループに基づき、VoD(Video On Demand)コンテンツやVRコンテン
ツ等を分散キャッシュする。また、ルータ69は、キャッシュサーバ68とLANケーブル等で接続され、家庭内のネットワークへデータ通信を中継する。また、IP−VoD STB70は、ルータ69と例えばLANケーブルで接続され、インターネット経由でのデータ通信により配信される動画を再生する。なお、IP−VoD STB70は、STB64と受像機66とを例えばHDMIケーブルを介して接続し、既存のSTB64からの出力を受像機66へスルーアウトさせるようにしてもよい。また、PC71は、ルータと接続され、データ通信を行う。なお、送受信されるファイルは、例えばDRM(Digital Rights Management)により暗号化されており、STB64、IP−VoD STB7
0等が適宜復号して再生する。
<CATV system>
FIG. 11 is a block diagram illustrating an example of a home device configuration when the network system according to the embodiment is applied to a CATV network. The
0 etc. are decoded and reproduced as appropriate.
このように、CATV視聴システムにキャッシュサーバ68を追加し、本実施形態に係るノードとして機能させることにより、ユーザの宅内設備間でキャッシュを送受信するネットワークシステムが実現できる。図11のようなシステムにおいては、アクセス頻度の高いファイルをキャッシュ対象とするだけでなく、いわゆる見逃し配信の需要が一般的に高い公開から所定期間内のコンテンツについて予めキャッシュ対象としておくようにしてもよい。また、キャッシュサーバ68は、ルータ69やSTB64、IP−VoD STB70等と一体の装置にしてもよい。
In this way, by adding the
<変形例2>
図12は、ISPが提供するネットワークと併存させて、近隣のノード同士を接続する地域のネットワークを形成する例を示す図である。例えば端末間無線通信や、建物内又は建物間を接続するLAN又は電力線通信(PLC:Power Line Communications)等を利
用して、比較的近隣に存在するノードによるメッシュネットワークを形成する。図12の例では、ISP1又はISP2が提供するネットワーク2に接続されたノード4が、ネットワーク2とは別に、比較的近い距離において直接リンクすることにより地域のCDN7(破線のリンク)を形成している。地域のCDN7は、ISPのネットワーク2と同一階層の他のネットワークであり、図12のノード4は、同一階層の複数のネットワークに接続されているといえる。そして、ノード4は、同一階層においてキャッシュされているフ
ァイルを要求する場合に、ISPのネットワーク2と、地域のCDN7とのいずれかを利用することができる。例えば、各ノード4のファイル要求部441及び中継部442は、ネットワークの帯域の利用状態(混雑状況)に応じて、ISPのネットワーク2を利用するか、本変形例に係る地域のCDN7を利用するかを決定するようにしてもよい。
<
FIG. 12 is a diagram showing an example of forming a regional network that connects neighboring nodes together with a network provided by an ISP. For example, using a wireless communication between terminals, a LAN connecting between buildings or between buildings, power line communication (PLC), or the like, a mesh network is formed by nodes that are relatively close to each other. In the example of FIG. 12, the
本変形例によれば、異なるISPを利用しているユーザ同士でキャッシュを利用し合うことができる。特に、経路長の短い近隣のノード同士を直接リンクさせることにより、実効速度を向上させることができる。 According to this modification, users using different ISPs can use the cache. In particular, the effective speed can be improved by directly linking neighboring nodes having a short path length.
上記の実施形態及び変形例に記載した事項は、適宜組み合わせて実施することができる。 The matters described in the above embodiments and modifications can be implemented in appropriate combination.
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
<Others>
The present invention includes a computer program that executes the above-described processing. Furthermore, a computer-readable recording medium on which the program is recorded also belongs to the category of the present invention. With respect to the recording medium on which the program is recorded, the above-described processing can be performed by causing the computer to read and execute the program on the recording medium.
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。 Here, the computer-readable recording medium refers to a recording medium in which information such as data and programs is accumulated by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer. Examples of such a recording medium that can be removed from the computer include a flexible disk, a magneto-optical disk, an optical disk, a magnetic tape, and a memory card. In addition, examples of the recording medium fixed to the computer include a hard disk drive and a ROM.
1 :ネットワークシステム
2 :ネットワーク
3 :配信サーバ
31 :通信I/F
32 :記憶装置
33 :入出力装置
34 :プロセッサ
341 :ファイル配信部
342 :頻度算出部
343 :設定変更部
35 :バス
4 :ノード(コンピュータ)
41 :通信I/F
42 :記憶装置
43 :入出力装置
44 :プロセッサ
441 :ファイル要求部
442 :中継部
443 :キャッシュ保持部
444 :キャッシュ送信部
445 :キャッシュ削除部
45 :バス
5 :ファイル
6 :CATV視聴システム
61 :保安器
62 :ブースター
63 :分配器
65 :録画機器
66 :受像機
67 :モデム
68 :キャッシュサーバ
69 :ルータ
70 :IP−VoD STB
71 :PC
1: Network system 2: Network 3: Distribution server 31: Communication I / F
32: Storage device 33: Input / output device 34: Processor 341: File distribution unit 342: Frequency calculation unit 343: Setting change unit 35: Bus 4: Node (computer)
41: Communication I / F
42: storage device 43: input / output device 44: processor 441: file request unit 442: relay unit 443: cache holding unit 444: cache transmission unit 445: cache deletion unit 45: bus 5: file 6: CATV viewing system 61: security Device 62: Booster 63: Distributor 65: Recording device 66: Receiver 67: Modem 68: Cache server 69: Router 70: IP-VoD STB
71: PC
Claims (8)
前記ノード装置は、当該ノード装置が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、
前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
前記グループを示す情報は、前記ファイルが保持される前記階層及び前記グループを特定するための情報を含み、
前記ノード装置は、
当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、
要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合に、当該キャッシュファイルを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持していない場合に、前記グループを示す情報に基づき、同一の階層又は他の階層に属する他のノード装置に前記ファイルを要求する中継部と、
を含むネットワークシステム。 A plurality of node devices that temporarily hold files to be transmitted and received, the node devices are network systems belonging to one of the hierarchically connected networks,
The node device is a group for specifying a file to be held by the node device, and belongs to one of a plurality of groups assigned to the hierarchy,
The file is associated with information indicating the group of zero or more;
The information indicating the group includes information for specifying the hierarchy in which the file is held and the group,
The node device is
When the file associated with the information indicating the group to which the node device belongs is received, a cache holding unit that temporarily holds the file as a cache file;
A cache transmission unit that transmits the cache file to the requesting node device when the requesting node device holds the cache file corresponding to the file requested;
When the requesting node device does not hold the cache file corresponding to the requested file, the file is transferred to another node device belonging to the same layer or another layer based on the information indicating the group. A requesting relay section;
Including network systems.
前記アクセス管理装置は、算出した前記頻度が高いファイルは前記頻度が低いファイルよりも下位の階層において保持されるように、前記ファイルに関連付ける前記グループを示す情報を変更する
請求項1に記載のネットワークシステム。 An access management device for calculating the frequency of access to the file;
The network according to claim 1, wherein the access management device changes information indicating the group associated with the file so that the calculated high-frequency file is held in a lower hierarchy than the low-frequency file. system.
請求項2に記載のネットワークシステム。 The access management device stores information indicating the group to be associated with the file so that the high-frequency file is held by the node device belonging to the group more in the same hierarchy than the low-frequency file. The network system according to claim 2 to be changed.
請求項1から3のいずれか一項に記載のネットワークシステム。 The network system according to any one of claims 1 to 3, wherein the group is allocated to a plurality of the node devices so as to reduce a bias in a network topology.
請求項1から4のいずれか一項に記載のネットワークシステム。 At least some of the node devices are connected to a plurality of networks belonging to the same hierarchy, and the relay unit belongs to the same hierarchy when requesting the file to another node device belonging to the same hierarchy The network system according to any one of claims 1 to 4, wherein the request is made to any one of a plurality of networks.
自身が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、
前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
前記グループを示す情報は、前記ファイルが保持される前記階層及び前記グループを特定するための情報を含み、
自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、
要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合に、当該キャッシュファイルを前記要求元のノード装置に対して送信するキャッシュ送信部と、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持していない場合に、前記グループを示す情報に基づき、同一の階層又は他の階層に属する他のノード装置に前記ファイルを要求する中継部と、
を含むノード装置。 A node device that belongs to one of the hierarchically connected networks and temporarily holds files to be transmitted and received,
It is a group for identifying the file that it should keep and belongs to one of multiple groups assigned to the hierarchy,
The file is associated with information indicating the group of zero or more;
The information indicating the group includes information for specifying the hierarchy in which the file is held and the group,
When the file associated with the information indicating the group to which it belongs is received, a cache holding unit that temporarily holds the file as a cache file;
A cache transmission unit that transmits the cache file to the requesting node device when the requesting node device holds the cache file corresponding to the file requested;
When the requesting node device does not hold the cache file corresponding to the requested file, the file is transferred to another node device belonging to the same layer or another layer based on the information indicating the group. A requesting relay section;
Node equipment including
前記ノード装置は、自身が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、
前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
前記グループを示す情報は、前記ファイルが保持される前記階層及び前記グループを特定するための情報を含み、
自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合に、当該キャッシュファイルを前記要求元のノード装置に対して送信するステップと、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持していない場合に、前記グループを示す情報に基づき、同一の階層又は他の階層に属する他のノード装置に前記ファイルを要求するステップと、
を含むキャッシュ方法。 A cache method executed by a node device that belongs to one of hierarchically connected networks and temporarily holds a file to be transmitted and received,
The node device is a group for specifying a file to be held by itself and belongs to one of a plurality of groups assigned to a hierarchy,
The file is associated with information indicating the group of zero or more;
The information indicating the group includes information for specifying the hierarchy in which the file is held and the group,
If the file associated with the information indicating the group to which it belongs is received, temporarily holding the file as a cache file;
When the requesting node device holds the cache file corresponding to the requested file, transmitting the cache file to the requesting node device;
When the requesting node device does not hold the cache file corresponding to the requested file, the file is transferred to another node device belonging to the same layer or another layer based on the information indicating the group. Requesting steps,
Caching method including.
前記ノード装置は、自身が保持すべきファイルを特定するためのグループであって、階層に対して割り当てられた複数のグループのいずれかに属し、
前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
前記グループを示す情報は、前記ファイルが保持される前記階層及び前記グループを特定するための情報を含み、
自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合は、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合に、当該キャッシュファイルを前記要求元のノード装置に対して送信するステップと、
前記要求元のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持していない場合に、前記グループを示す情報に基づき、同一の階層又は他の階層に属する他のノード装置に前記ファイルを要求するステップと、
を実行させるプログラム。 A program that belongs to one of the hierarchically connected networks and is executed by a node device that temporarily holds files to be transmitted and received,
The node device is a group for specifying a file to be held by itself and belongs to one of a plurality of groups assigned to a hierarchy,
The file is associated with information indicating the group of zero or more;
The information indicating the group includes information for specifying the hierarchy in which the file is held and the group,
If the file associated with the information indicating the group to which it belongs is received, temporarily holding the file as a cache file;
When the requesting node device holds the cache file corresponding to the requested file, transmitting the cache file to the requesting node device;
When the requesting node device does not hold the cache file corresponding to the requested file, the file is transferred to another node device belonging to the same layer or another layer based on the information indicating the group. Requesting steps,
A program that executes
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017105055A JP6592809B2 (en) | 2017-05-26 | 2017-05-26 | Network system, node device, cache method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017105055A JP6592809B2 (en) | 2017-05-26 | 2017-05-26 | Network system, node device, cache method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018200581A JP2018200581A (en) | 2018-12-20 |
| JP6592809B2 true JP6592809B2 (en) | 2019-10-23 |
Family
ID=64667208
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017105055A Active JP6592809B2 (en) | 2017-05-26 | 2017-05-26 | Network system, node device, cache method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6592809B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116076076A (en) * | 2020-05-09 | 2023-05-05 | Gt系统私人有限公司 | Media distribution and management system and device |
| JP6984702B1 (en) * | 2020-08-26 | 2021-12-22 | 沖電気工業株式会社 | Processing equipment, programs and processing methods |
| CN113676514B (en) * | 2021-07-19 | 2023-05-02 | 北京奇艺世纪科技有限公司 | File source returning method and device |
-
2017
- 2017-05-26 JP JP2017105055A patent/JP6592809B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018200581A (en) | 2018-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6560351B2 (en) | System and method for deploying a virtual serving gateway for mobility management | |
| US9723343B2 (en) | Content placement | |
| US8713145B2 (en) | Information distribution system, information distributing method, node, and recording medium | |
| US20220103630A1 (en) | Methods and systems for processing data requests | |
| CN102067617A (en) | Methods and apparatus for self-organized caching in a content delivery network | |
| JP6592809B2 (en) | Network system, node device, cache method, and program | |
| KR20140073826A (en) | Method of caching contents by node and method of transmitting contents by contents provider in a content centric network | |
| CN113312402B (en) | Report query method, device, server, storage medium and program product | |
| JP6915532B2 (en) | Information processing equipment, information sharing system and synchronization control method | |
| CN105868251A (en) | Cache data updating method and device | |
| JP7097427B2 (en) | Data processing system and data processing method | |
| JPWO2018092679A1 (en) | Network system, cache method, cache program, management apparatus, management method, and management program | |
| JP6886874B2 (en) | Edge devices, data processing systems, data transmission methods, and programs | |
| EP3579587B1 (en) | Edge node and method to deliver content at an edge of a mesh network | |
| CN111597259B (en) | Data storage system, method, device, electronic equipment and storage medium | |
| JP6638145B2 (en) | Network system, node device, cache method and program | |
| JP2010199842A (en) | System and method for designing cache, and program | |
| JP5724880B2 (en) | Information processing system, control method, and program | |
| JP5399276B2 (en) | Content distribution system and method and program | |
| JP4543532B2 (en) | Information communication system | |
| JP6721879B2 (en) | Network system, node device, cache method, and cache program | |
| CN108351873B (en) | A cache management method and device | |
| CN114422960B (en) | A data distribution and caching method based on edge computing technology | |
| CN102902735A (en) | Search caching method and system for internet protocol television (IPTV) | |
| JP6248497B2 (en) | Content distribution control system, transfer device, distribution control device, viewing control device, transfer program, distribution control program, and viewing control program |
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: 20190626 |
|
| 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: 20190820 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190903 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6592809 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |