JP6712744B2 - Network system, cache method, cache program, management device, management method and management program - Google Patents

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

Info

Publication number
JP6712744B2
JP6712744B2 JP2018551597A JP2018551597A JP6712744B2 JP 6712744 B2 JP6712744 B2 JP 6712744B2 JP 2018551597 A JP2018551597 A JP 2018551597A JP 2018551597 A JP2018551597 A JP 2018551597A JP 6712744 B2 JP6712744 B2 JP 6712744B2
Authority
JP
Japan
Prior art keywords
file
cache
node
groups
node device
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
JP2018551597A
Other languages
Japanese (ja)
Other versions
JPWO2018092679A1 (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
Publication of JPWO2018092679A1 publication Critical patent/JPWO2018092679A1/en
Application granted granted Critical
Publication of JP6712744B2 publication Critical patent/JP6712744B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 

Description

本発明は、ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラムに関する。 The present invention relates to a network system, a cache method, a cache program, a management device, a management method, and a management program.

従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。 Heretofore, various techniques have been proposed for intermediately caching files transmitted between computers connected to a network. By downloading the cache file instead of the original file, it is possible to avoid concentration of access to the original file and to shorten the time until the download is completed on the receiving side.

例えば、管理サーバにおいて、コンテンツの要求を取得すると、オリジナルノード及びキャッシュオーバレイノードの中から、該コンテンツを保持するノードを探索し、その中でユーザとのホップ数が最も小さいノードを、コンテンツ配信元ノードとして選択する技術が提案されている(特許文献1)。当該技術では、オーバレイノードにおいて、コンテンツ配信元ノードと配信要求ユーザの間の経路を決定し、決定された経路に従ってコンテンツを配信し、コンテンツ配信経路上に、キャッシュオーバレイノードが存在すれば、そこに該コンテンツをキャッシュする。 For example, when the management server obtains a request for content, it searches the original node and the cache overlay node for a node that holds the content, and selects the node with the smallest number of hops with the user as the content delivery source. A technique of selecting a node has been proposed (Patent Document 1). In this technology, the overlay node determines a route between the content distribution source node and the distribution requesting user, distributes the content according to the determined route, and if a cache overlay node exists on the content distribution route, Cache the content.

また、携帯電話の端末間通信等において動画をキャッシュする技術も提案されている。例えば、ジャンルによって動画をグループ化すると共に、好みによってユーザをグループ化し、好みのジャンルに応じてユーザの携帯電話にキャッシュする動画を決定する技術(非特許文献1)、ユーザのSNS(Social Network Service)上の振る舞いや流動性パターンに基づいてキャッシュするコンテンツを決定する技術も提案されている(非特許文献2)。 Also, a technique for caching moving images in communication between mobile phone terminals has been proposed. For example, a technique of grouping moving images by genre, grouping users by preference, and determining moving images to be cached in a user's mobile phone according to favorite genre (Non-Patent Document 1), user's SNS (Social Network Service) ) A technique for determining content to be cached based on the above behavior and liquidity pattern has also been proposed (Non-Patent Document 2).

また、コンテンツをいずれのサーバに保持させるか決定する技術も提案されている(例えば、非特許文献3)。通信コストを最小化するキャッシュの分散配置を決定するために遺伝的アルゴリズムを用いる技術も提案されている(例えば、非特許文献4)。 Also, a technique for determining which server holds the content has been proposed (for example, Non-Patent Document 3). A technique that uses a genetic algorithm to determine the distributed arrangement of caches that minimizes the communication cost has also been proposed (for example, Non-Patent Document 4).

特開2012−114649号公報JP, 2012-114649, A

Xiangyang Zhang, Ying Wang, Ruijin Sun, Dong Wang, “Clustered Device-to-Device Caching Based on File Preferences”IEEE PIMRC 2016Xiangyang Zhang, Ying Wang, Ruijin Sun, Dong Wang, “Clustered Device-to-Device Caching Based on File Preferences” IEEE PIMRC 2016 Xiaofei Wang, Min Chen, Zhu Han, Dapeng Oliver Wu, Ted “Taekyoung” Kwon, “TOSS: Traffic Offloading by Social Network Service-Based Opportunistic Sharing in Mobile Social Networks” IEEE INFOCOM 2014Xiaofei Wang, Min Chen, Zhu Han, Dapeng Oliver Wu, Ted “Taekyoung” Kwon, “TOSS: Traffic Offloading by Social Network Service-Based Opportunistic Sharing in Mobile Social Networks” IEEE INFOCOM 2014 Bruce M. Maggs, Ramesh K. Sitaraman, “Algorithmic Nuggets in Content Delivery” ACM SIGCOMM Computer Communication Review Volume 45 pp.52-66Bruce M. Maggs, Ramesh K. Sitaraman, “Algorithmic Nuggets in Content Delivery” ACM SIGCOMM Computer Communication Review Volume 45 pp.52-66 Zhe Li and, Gwendal Simon, ”In a Telco-CDN, Pushing Content Makes Sense”, IEEE Transactions on Network and Service ManagementZhe Li and, Gwendal Simon, “In a Telco-CDN, Pushing Content Makes Sense”, IEEE Transactions on Network and Service Management

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

本発明は、簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a network system having a simple configuration that avoids concentration of access to files and reduces the total communication volume.

本発明に係るネットワークシステムは、送受信されるファイルを一時的に保持するノード装置を複数含む。ノード装置は、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられる。また、ノード装置は、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、他のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合、当該キャッシュファイルを他のノード装置に対して送信するキャッシュ送信部とを含む。 A network system according to the present invention includes a plurality of node devices that temporarily hold files to be transmitted and received. A node device is one of a plurality of groups for identifying a file to be held by the node device, and belongs to a group different from the adjacent node device in the network topology, and the file has zero or more groups. Associated with the indicated information. Further, when the node device receives a file associated with the information indicating the group to which the node device belongs, the node device stores the file in a cache holding unit that temporarily holds the file as a cache file and a file requested by another node device. When the corresponding cache file is held, the cache transmission unit includes a cache transmission unit that transmits the cache file to another node device.

隣接するノード装置に異なるグループを割り当て、ファイルにキャッシュすべきグループを関連付けておくことで、ネットワーク上において適切に分散させてファイルをキャッシュすることができる。また、すなわち、簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を削減できる準最適なネットワークシステムを提供することができる。 By assigning different groups to adjacent node devices and associating the groups to be cached with the files, the files can be appropriately distributed and cached on the network. Further, in other words, it is possible to provide a sub-optimal network system with a simple configuration, which can avoid the concentration of access to the original file and reduce the total communication volume.

また、グループが4以上存在するようにしてもよい。例えばリンクが交差しないネットワークトポロジ上のノードをグループに分ける場合、平面上の領域を隣接しない色で塗り分ける問題と同様に考えることができる。したがって、少なくとも4つのグループによれば同一のグループが隣接しないようにノードをグループ分けできる。 Further, there may be four or more groups. For example, when the nodes on the network topology where the links do not intersect are divided into groups, it can be considered in the same manner as the problem that the areas on the plane are colored in different colors. Therefore, according to at least four groups, the nodes can be grouped so that the same group is not adjacent.

また、ファイルに対するアクセスの頻度を算出するアクセス管理装置をさらに含み、アクセス管理装置は、算出した頻度に基づいて、ファイルに関連付けるグループを示す情報を変更するようにしてもよい。このようにすれば、アクセス頻度の傾向の変化に追従して、ファイルをキャッシュすべきノードのグループを変更することができる。なお、アクセス管理装置は、オリジナルのファイルを配信する装置であってもよい。 Further, the access management apparatus may further include an access management apparatus that calculates the frequency of access to the file, and the access management apparatus may change the information indicating the group associated with the file based on the calculated frequency. By doing so, it is possible to change the group of nodes that should cache the file, following changes in the access frequency tendency. The access management device may be a device that delivers the original file.

また、アクセス管理装置は、ファイルに割り当てるグループを示す情報を削除したファイルについて、ノード装置に対し当該ファイルを削除させるための通知を行い、ノード装置は、通知に基づいてキャッシュファイルを削除するキャッシュ削除部をさらに有するようにしてもよい。上述のようにファイルに対するグループの関連付けを変更する場合、ノード装置におけるキャッシュの削除も制御するようにしてもよい。 Further, the access management device notifies the node device of the deletion of the information indicating the group assigned to the file to delete the file, and the node device deletes the cache file based on the notification. You may make it further have a part. When changing the association of a group with a file as described above, the cache deletion in the node device may also be controlled.

また、キャッシュ保持部は、キャッシュを許可するファイルを特定するためのホワイトリスト、キャッシュを禁止するファイルを特定するためのブラックリスト、又はファイルが有する当該ファイルに対するキャッシュの許否を示すフラグに基づいて、受信したファイルを保持するか否か判断するようにしてもよい。このようにすれば、キャッシュを禁止するファイルを明示的に定義でき、例えば秘密情報の漏えいを防ぐことができる。 In addition, the cache holding unit is based on a white list for specifying files that are allowed to be cached, a black list for specifying files that are not allowed to be cached, or a flag indicating whether or not to allow the files to be cached. It may be determined whether or not to retain the received file. By doing so, it is possible to explicitly define a file whose cache is prohibited, and to prevent leakage of confidential information, for example.

また、ファイルは、所定のハイパーテキストによる文書からリンクされると共に、基準となる文書からの経由するリンク数に基づいて、ファイルに割り当てるグループを示す情報が割り当てられるようにしてもよい。このようにすれば、アクセス頻度のような情報がない場合においても優先してキャッシュすべきファイルを定義することができる。 Further, the file may be linked from a document in a predetermined hypertext, and information indicating a group to be assigned to the file may be assigned based on the number of links passing from the reference document. By doing so, even if there is no information such as the access frequency, the file to be cached can be preferentially defined.

また、ファイルは秘密分散法により複数の部分ファイルに分割され、各部分ファイルには異なるグループを示す情報が関連付けられるようにしてもよい。このようにすれば、情報の漏えいを防止することができる。 The file may be divided into a plurality of partial files by the secret sharing method, and each partial file may be associated with information indicating a different group. By doing so, it is possible to prevent information leakage.

また、本発明に係るキャッシュ方法は、送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムによって実行される。また、ノード装置は、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられる。そして、ノード装置が、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、他のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合、当該キャッシュファイルを他のノード装置に対して送信するステップとを実行する。 Further, the cache method according to the present invention is executed by a network system including a plurality of node devices that temporarily hold files to be transmitted and received. Further, the node device is one of a plurality of groups for specifying the file to be held by the node device, belongs to a group different from the adjacent node device in the network topology, the file is zero or more. Associated with information indicating a group. Then, when the node device receives the file associated with the information indicating the group to which the node device belongs, the step of temporarily holding the file as a cache file and the file requested by another node device are supported. When the cache file is held, the step of transmitting the cache file to another node device is executed.

また、本発明に係る管理装置は、自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループが優先して割り当てられると共に、自身が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される。そして、管理装置は、ノード装置からファイルに対する取得要求を計数し、頻度を算出する頻度算出部と、頻度算出部が算出した頻度に基づいてファイルに割り当てる、ゼロ以上のグループを決定し、ファイルとグループとの組合せを示す情報をノード装置へ送信する設定変更部とを備える。 Further, the management device according to the present invention is one of a plurality of groups for specifying a file to be held by itself, and a group different from an adjacent node device is preferentially assigned in the network topology. When a file associated with the information indicating the group to which it belongs is received, it is connected to a network system including a plurality of node devices that temporarily hold the file as a cache file. Then, the management device counts the acquisition requests for the file from the node device, determines a frequency calculation unit that calculates the frequency, and a group of zero or more assigned to the file based on the frequency calculated by the frequency calculation unit, and determines the file A setting changing unit that transmits information indicating a combination with a group to the node device.

このようにすれば、ファイルに対する取得要求の頻度に応じて、ファイルをキャッシュすべきノードのグループを設定することができる。なお、管理装置は、オリジナルのファイルを配信する装置であってもよい。 In this way, it is possible to set the group of nodes that should cache the file according to the frequency of acquisition requests for the file. The management device may be a device that delivers the original file.

また、設定変更部は、取得要求を受ける頻度が高いファイルほど多くのグループを割り当てるようにしてもよい。このようにすれば、要求の頻度が高い人気のあるファイルをより多くのノード装置にキャッシュさせられるようになる。 Further, the setting changing unit may allocate more groups to files that have a higher frequency of receiving an acquisition request. By doing so, it becomes possible to cause more node devices to cache popular files that are frequently requested.

また、本発明に係る管理方法は、自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループが優先して割り当てられると共に、自身が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置が実行する。具体的には、ノード装置からファイルに対する取得要求を計数し、頻度を算出するステップと、頻度算出部が算出した頻度に基づいてファイルに割り当てる、ゼロ以上のグループを決定し、ファイルとグループとの組合せを示す情報をノード装置へ送信するステップとが実行される。 Further, the management method according to the present invention is one of a plurality of groups for identifying a file to be held by itself, and a group different from an adjacent node device is preferentially assigned in the network topology. When a file associated with the information indicating the group to which it belongs is received, the management device connected to the network system including a plurality of node devices temporarily holding the file as a cache file executes it. Specifically, the number of acquisition requests for the file from the node device is counted, the step of calculating the frequency, the group of zero or more to be assigned to the file based on the frequency calculated by the frequency calculation unit is determined, and the file and the group And a step of transmitting information indicating the combination to the node device.

なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 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 holding the program may be provided.

簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することができるようになる。 With a simple configuration, it is possible to provide a network system that can avoid the concentration of access to files and reduce the total communication volume.

実施形態に係るネットワークシステムの構成の一例を示す図である。It is a figure showing an example of composition of a network system concerning an embodiment. ファイルに付される、グループを示す情報を説明するための図である。It is a figure for demonstrating the information which shows the group attached to a file. ノードの構成の一例を示すブロック図である。It is a block diagram showing an example of composition of a node. 配信サーバの構成の一例を示すブロック図である。It is a block diagram showing an example of composition of a distribution server. ネットワークシステムが行うファイル配信処理の一例を示す処理フロー図である。It is a processing flow figure which shows an example of the file delivery process which a network system performs. フルメッシュ型のネットワークの例を示す図である。It is a figure which shows the example of a full mesh type network. バス型のネットワークの例を示す図である。It is a figure showing an example of a bus type network. 企業のネットワークシステムにおける実施例を示す図である。It is a figure which shows the Example in a network system of a company. キャッシュ対象更新処理の一例を示す処理フロー図である。It is a processing flow figure which shows an example of cache object update processing. 所定期間におけるファイルへのアクセス数と、当該ファイルに関連付けて割り当てられるグループを示すタグの一例を示す図である。It is a figure which shows an example of the tag which shows the number of access to a file in a predetermined period, and the group allocated in association with the said file. 図1のノード11aが記憶する、近傍のノードが存在する方向を示す情報の一例である。3 is an example of information stored in the node 11a in FIG. 1 and indicating a direction in which a nearby node exists. 図1のノード11bが記憶する、近傍のノードが存在する方向を示す情報の一例である。It is an example of information stored in the node 11b of FIG. 1 and indicating a direction in which a nearby node exists. キャッシュの許否を示すホワイトリストを中継ノードが有する例を説明するための図である。FIG. 6 is a diagram for explaining an example in which a relay node has a white list indicating permission or prohibition of cache. ファイルに対して当該ファイルをキャッシュすべきグループを示すタグと、当該ファイルにアクセスを認可するユーザを特定するための情報とを関連付けて記憶する例を示す図である。It is a figure which shows the example which memorize|stores the tag which shows the group which should cache the said file with respect to a file, and the information for specifying the user who is permitted access to the said file, linking. 遺伝的アルゴリズムを利用してキャッシュ配置を決定する手順を説明するための図である。It is a figure for demonstrating the procedure of determining cache arrangement|positioning using a genetic algorithm. 外部サーバとの通信量を示すグラフである。It is a graph which shows the amount of communications with an external server. ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。6 is a graph showing files and the number of files cached on the network. ネットワーク内部における通信量を示すグラフである。It is a graph which shows the amount of communication in a network.

以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. The configuration of the embodiment is an example, and the present invention is not limited to the configuration shown in the embodiment.

<ネットワーク構成>
図1は、実施形態に係るネットワークシステム(単に「ネットワーク」とも呼ぶ)1の構成の一例を示す図である。実施形態に係るネットワーク1は、例えば電気通信回線を介して相互に通信可能に接続された複数のコンピュータによって形成され、コンピュータが記憶する様々な形式の電子データ(「ファイル」とも呼ぶ)をコンピュータ間において送受信することができる。図1に示すメッシュ型のネットワークは、日本国内に設けられたバックボーンの一例を表すモデルである。
<Network configuration>
FIG. 1 is a diagram showing an example of a configuration of a network system (also simply referred to as “network”) 1 according to the embodiment. The network 1 according to the embodiment is formed by a plurality of computers that are communicably connected to each other via, for example, an electric communication line, and various types of electronic data (also referred to as “file”) stored in the computers are stored between the computers. Can be sent and received at. The mesh type network shown in FIG. 1 is a model representing an example of a backbone provided in Japan.

図1に示すハッチングが施された正円の各々は、ネットワーク1に接続されたコンピュータ(「ノード」又は「ノード装置」とも呼ぶ)を示す。なお、一部のノードに、便宜上11a〜11eの符号を付している。また、各ノードは、図1に直線で示す光ファイバケーブル等の伝送路(「リンク」とも呼ぶ)で隣接する1以上のノードと接続されている。なお、あるノードに対して、他のノードを介することなくリンクで直接的に接続されたノードを、隣接するノードと呼ぶものとする。 Each of the hatched perfect circles shown in FIG. 1 represents a computer (also referred to as “node” or “node device”) connected to the network 1. It should be noted that some of the nodes are denoted by reference numerals 11a to 11e for convenience. Further, each node is connected to one or more adjacent nodes by a transmission line (also referred to as “link”) such as an optical fiber cable shown by a straight line in FIG. A node that is directly connected to a certain node by a link without passing through another node is called an adjacent node.

また、ネットワーク1は、オリジナルのファイルを記憶し、例えばノードからの要求を受けてファイルを配信するコンピュータである配信サーバ2を含む。配信されるファイルは、配信サーバ2から要求元のノードへ、経路上のノードを経由して伝送される。また、本実施形態では、各ノードは、キャッシュサーバとしても機能する。キャッシュサーバは、送受信するファイルをキャッシュファイルとして一時的に記憶(キャッシュ)し、同一のファイルに対する要求に対しキャッシュファイルを送信する。 The network 1 also includes a distribution server 2 that is a computer that stores original files and distributes the files in response to a request from a node, for example. The distributed file is transmitted from the distribution server 2 to the requesting node via a node on the route. Further, in this embodiment, each node also functions as a cache server. The cache server temporarily stores (caches) the file to be transmitted and received as a cache file, and transmits the cache file in response to a request for the same file.

また、本実施形態では、複数のノードが同一のファイルを分散してキャッシュする。そして、ファイルのダウンロードを要求するノードは、例えば当該ファイルをキャッシュするノードのうち、自ノードからのホップ数が最も小さいノードからファイルを受信する。具体的には、各ノードが保持すべきファイルを特定するためのグループを定義する。各ノードは、予め定められた複数のグループのいずれかに属するものとする。図1の例では、各ノードに施されたハッチングのパターンが、当該ノードの属するグループを表している。一方、各ファイルは、当該ファイルをキャッシュすべきゼロ以上のグループを示す情報を有する。そして、各ノードは、自身が属するグループを示す情報を有するファイルを送受信する際、当該ファイルをキャッシュする。 Further, in this embodiment, a plurality of nodes distributes and caches the same file. Then, the node requesting the download of the file receives the file from, for example, the node having the smallest number of hops from its own node among the nodes that cache the file. Specifically, a group for specifying the file that each node should hold is defined. Each node is assumed to belong to one of a plurality of predetermined groups. In the example of FIG. 1, the hatching pattern applied to each node represents the group to which the node belongs. On the other hand, each file has information indicating zero or more groups that should cache the file. Then, each node caches the file when transmitting/receiving the file having the information indicating the group to which the node belongs.

図1の例では、ノードは4つのグループに分類されている。ここで、四色定理によれば、図1に示すようなリンクが交差しないメッシュ型のネットワークにおいては、少なくとも4色あれば同じ色が隣接しないようにノードを塗り分けられることがわかる。隣接するノードが異なるグループに属するように、ノードをN個のグループに分ける場合、N色による塗り分け問題を解くことでグループを決定することができる。具体的には、次数の高いノードから順に、色間距離が遠い色を付すことにより、同色が隣り合わないように彩色することができる。すなわち、接続されているリンクが多いノードから順に、そのノードの近くに存在する色を順に除外していき残った色を付す。なお、既存のネットワークに新たなノードを接続する場合は、単に隣接するノードとは異なる色を付すようにしてもよいし、ネットワーク全体について塗り直すようにしてもよい。なお、グループの数は4以上が好ましいが、ネットワークによっては4未満でも塗り分けできる場合がある。以下、本実施形態に係るグループを「色」とも呼ぶものとする。 In the example of FIG. 1, the nodes are classified into four groups. Here, according to the four-color theorem, it can be seen that in a mesh type network in which links do not intersect as shown in FIG. 1, nodes can be colored so that the same color does not adjoin if there are at least four colors. When the nodes are divided into N groups so that the adjacent nodes belong to different groups, the groups can be determined by solving the coloring problem with N colors. Specifically, by assigning colors with a long inter-color distance in order from a node with a high degree, it is possible to color the same colors so that they are not adjacent to each other. That is, the colors existing near the nodes are excluded in order from the node with the most connected links, and the remaining colors are added. When a new node is connected to the existing network, the color may be different from that of the adjacent node, or the entire network may be repainted. The number of groups is preferably four or more, but depending on the network, there may be cases in which the number of groups is less than four and can be painted separately. Hereinafter, the group according to the present embodiment will also be referred to as “color”.

図2は、ファイルに付される、グループを示す情報を説明するための図である。図2のファイル3は、コンピュータによって生成、読み出し、書き込み、記憶等される様々な電子データであり、動画や文書、アプリケーションの実行ファイル等である。また、ファイル3には、ゼロ以上の上述したグループを示す情報が関連付けられている。図2の例では、1つのファイル3に対し、吹出し内に示すようにハッチングのパターンで表した0〜4個のグループの組合せが関連付けられる。具体的には、各ノードにおいて、例えばグループの数だけ桁数を有するビット列によって表されるタグを、ファイルの識別情報に関連付けて保持しておくことにより、各ノードはキャッシュすべきファイルを特定することができる。また、このようなファイルのリストは、各ノードにおいてデータベースのテーブルに記憶させるようにしてもよい。また、このような関連付けは、例えば配信サーバ2等の管理装置が一元的に管理し、例えばキャッシュすべきファイルのリストをネットワーク上のノードにブロードキャストして各ノードの記憶装置に保持するようにしてもよいし、ネットワーク上の所定の管理装置に保持させて各ノードが読み出せるようにしてもよい。なお、4つのグループが存在する場合、4桁のビット列によって2種類のタグを生成することができる。また、頻繁にアクセスされるファイルほど、多くのグループでキャッシュするようにしてもよい。また、すべてのファイルにグループを関連付ける必要はなく、タグが「0000」のファイルは、いずれのグループにもキャッシュされないファイルを示す。FIG. 2 is a diagram for explaining information indicating a group attached to a file. The file 3 in FIG. 2 is various electronic data generated, read, written, stored, etc. by a computer, and is a moving image, a document, an application execution file, or the like. Further, the file 3 is associated with information indicating zero or more of the above groups. In the example of FIG. 2, one file 3 is associated with a combination of 0 to 4 groups represented by a hatching pattern as shown in the balloon. Specifically, in each node, for example, a tag represented by a bit string having the number of digits corresponding to the number of groups is held in association with the file identification information, so that each node specifies a file to be cached. be able to. Also, such a list of files may be stored in a database table in each node. Further, such association is managed by a management device such as the distribution server 2 in a centralized manner, and for example, a list of files to be cached is broadcast to a node on the network and held in a storage device of each node. Alternatively, it may be stored in a predetermined management device on the network so that each node can read it. Note that when there are four groups, 2 4 types of tags can be generated with a 4-digit bit string. Also, the more frequently accessed files may be cached by more groups. Further, it is not necessary to associate a group with all files, and a file with a tag of "0000" indicates a file that is not cached in any group.

そして、図1に示したノードは、自身が属するグループを示す情報を有するファイルを受信した場合、当該ファイルをキャッシュすると共に、他のノードからの要求に対して自身がキャッシュしている情報を出力する。 When the node shown in FIG. 1 receives a file having information indicating a group to which the node belongs, the node caches the file and outputs the information cached by itself in response to a request from another node. To do.

<ノードの構成>
図3は、ノードの構成の一例を示すブロック図である。ノード4は、一般的なコンピュータであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
<Node configuration>
FIG. 3 is a block diagram showing an example of the configuration of a node. The node 4 is a general computer 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は、例えばネットワークカードであり、所定のプロトコルに基づき、図1に示したリンクを介して他のコンピュータと通信を行う。例えば、ノード間においてファイル3を送受信する。 The communication I/F 41 is, for example, a network card, and communicates with another computer via the link shown in FIG. 1 based on a predetermined protocol. For example, the file 3 is transmitted and received between the nodes.

記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのキャッシュ、当該ノード4が属するグループを示す情報等を記憶する。 The storage device 42 is a main storage device such as a RAM (Random Access Memory) or a ROM (Read Only Memory) and an auxiliary storage device (secondary storage) such as a HDD (Hard-disk Drive), an SSD (Solid State Drive), or a flash memory. Device). 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, information indicating a group to which the node 4 belongs, and the like.

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

プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、アプリケーション(プログラム、ソフトウェア等とも呼ぶ)を実行することにより本実施の形態に係る各処理を行う。図3の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、ファイル要求部441、伝送中継部442、キャッシュ保持部443、キャッシュ送信部444、キャッシュ削除部445、セキュリティ制御部446の各処理部として機能する。ファイル要求部441は、例えばユーザの操作に基づいて、ネットワークを介して接続されたファイル配信サーバに対し、ファイルの送信を要求する。伝送中継部442は、他のノードと配信サーバとの経路上に当該ノード4が位置する場合において、他のノードから配信サーバへのファイル送信要求や、他のノードへ送信するファイルを中継する。キャッシュ保持部443は、ファイルに関連付けられたグループを示す情報に基づいて、受信したファイルを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部444は、他のノードから配信サーバへのファイルの要求に対し、当該ノード4の記憶装置42にキャッシュされている場合、キャッシュされているファイルを他のノード装置に送信する。キャッシュ削除部445は、所定のルールに基づいて、記憶装置42に記憶されたキャッシュを削除する。また、セキュリティ制御部446は、キャッシュの保持に際し、所定の秘匿化を行う。 The processor 44 is an arithmetic processing unit such as a CPU (Central Processing Unit), and executes each application according to the present embodiment by executing an application (also referred to as a program or software). In the example of FIG. 3, functional blocks are shown in the processor 44. The processor 44 functions as, for example, each processing unit of the file request unit 441, the transmission relay unit 442, the cache holding unit 443, the cache transmission unit 444, the cache deletion unit 445, and the security control unit 446. The file request unit 441 requests a file delivery server connected via a network to send a file, for example, based on a user operation. When the node 4 is located on the path between another node and the distribution server, the transmission relay unit 442 relays a file transmission request from the other node to the distribution server or a file to be transmitted to another node. The cache holding unit 443 determines whether or not to hold the received file based on the information indicating the group associated with the file, and causes the storage device 42 to temporarily hold the received file. In response to a file request from another node to the distribution server, the cache transmission unit 444 transmits the cached file to another node device when the file is cached in the storage device 42 of the node 4. The cache deleting unit 445 deletes the cache stored in the storage device 42 based on a predetermined rule. Further, the security control unit 446 performs a predetermined concealment when holding the cache.

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

<配信サーバの構成>
図4は、配信サーバの構成の一例を示すブロック図である。配信サーバ2も、一般的なコンピュータであり、通信I/F21と、記憶装置22と、入出力装置23と、プロセッサ24と、バス25とを備えている。
<Structure of distribution server>
FIG. 4 is a block diagram showing an example of the configuration of the distribution server. The distribution server 2 is also a general computer, and includes a communication I/F 21, a storage device 22, an input/output device 23, a processor 24, and a bus 25.

通信I/F21は、例えばネットワークカードであり、所定のプロトコルに基づき、図1に示したリンクを介して他のコンピュータと通信を行う。例えば、隣接するノードにとの間でファイル3を送受信する。 The communication I/F 21 is, for example, a network card, and communicates with another computer via the link shown in FIG. 1 based on a predetermined protocol. For example, the file 3 is transmitted/received to/from an adjacent node.

記憶装置22は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのファイル等を記憶しているものとする。また、各ファイルに関連づけて、当該ファイルをキャッシュするグループを示す情報を記憶するようにしてもよい。さらに、ファイルに対する送信要求を計数し、所定期間における頻度に基づいて各ファイルをキャッシュするグループの設定を変更するようにしてもよい。 The storage device 22 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 files to be distributed, and the like. Further, information indicating a group that caches the file may be stored in association with each file. Furthermore, the transmission request for the file may be counted, and the setting of the group for caching each file may be changed based on the frequency in a predetermined period.

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

プロセッサ24は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ24内に機能ブロックを示している。プロセッサ24は、例えば、ファイル配信部241、頻度算出部242、設定変更部243、セキュリティ制御部244の各処理部として機能する。ファイル配信部241は、送信の要求を受けたファイルを記憶装置22から読み出し、要求元のノードに対して送信する。頻度算出部242は、ファイルごとにアクセス数を計数し、所定期間内のアクセス頻度を算出する。設定変更部243は、アクセス頻度に応じて、各ファイルをキャッシュするグループを示す情報を変更する。設定の変更に伴い、設定変更部243は、ネットワーク上のノードに対し、特定のキャッシュファイルの削除を指示する情報を送信するようにしてもよい。また、セキュリティ制御部244は、送信するファイルに対し、所定の秘匿化を行う。 The processor 24 is an arithmetic processing unit such as a CPU and executes each application by executing an application. In the example of FIG. 4, functional blocks are shown in the processor 24. The processor 24 functions as, for example, each processing unit of the file distribution unit 241, the frequency calculation unit 242, the setting change unit 243, and the security control unit 244. The file distribution unit 241 reads out the file for which the transmission request is received from the storage device 22 and transmits it to the requesting node. The frequency calculation unit 242 counts the number of accesses for each file and calculates the access frequency within a predetermined period. The setting changing unit 243 changes the information indicating the group that caches each file according to the access frequency. When the setting is changed, the setting changing unit 243 may transmit the information instructing the node on the network to delete the specific cache file. Further, the security control unit 244 performs a predetermined concealment on the file to be transmitted.

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

<ファイル配信処理>
図5は、ネットワークシステムが行うファイル配信処理の一例を示す処理フロー図である。図5の要求元ノードは、図1に示したいずれかのノードに相当し、図3に示した機能部を備えている。図5の配信サーバは、図1に示した配信サーバ2に相当する。また、図5の中継ノードは、図1おける要求元ノードと配信サーバ2との間の経路上に存在するノードに相当する。すなわち、2以上の中継ノードを経由する場合もあるし、中継ノードを経由しない場合もある。図5では、便宜上、1つの中継ノードを示す。
<File distribution process>
FIG. 5 is a process flow diagram showing an example of a file distribution process performed by the network system. The request source node of FIG. 5 corresponds to any of the nodes shown in FIG. 1 and includes the functional unit shown in FIG. The distribution server of FIG. 5 corresponds to the distribution server 2 shown in FIG. The relay node in FIG. 5 corresponds to the node existing on the route between the request source node and the distribution server 2 in FIG. That is, it may pass through two or more relay nodes or may not pass through relay nodes. In FIG. 5, one relay node is shown for convenience.

まず、要求元ノードのファイル要求部441は、配信サーバが保持するファイルの送信を要求する(図5:S1)。一方、中継ノードの伝送中継部442は、要求を受信し(S2)、自ノードの記憶装置42に対応するキャッシュファイルを保持しているか判断する(S3)。キャッシュを保持している場合(S3:Yes)、中継ノードのキャッシュ送信部444は、キャッシュファイルを要求元ノードに送信する(S4)。また、中継ノードがキャッシュを保持していない場合(S3:No)、中継ノードの伝送中継部442は、隣接する中継ノード(図示せず)又は配信サーバに要求を中継する(S5)。なお、中継ノードが複数存在する場合は、同様の処理が繰り返される。そして、配信サーバ2のファイル配信部241は、ファイルに対する送信の要求を受信し(S6)、該当するファイルを記憶装置22から読み出して送信する(S7)。一方、中継ノードの伝送中継部442は、ファイルを要求元のノード対して中継する(S8)。そして、S8の後、又はS4において中継ノードがキャッシュを送信した後、要求元ノードのファイル要求部441はS1において要求したファイルを受信する(S9)。また、S8においてファイルを要求元ノードへ送信する場合、中継ノードのキャッシュ保持部443は、当該ファイルは自ノードにおいてキャッシュすべき対象であるか判断する(S10)。本ステップでは、ファイルに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。ファイルとグループを示す情報との関連付けは、自ノードの記憶装置42又はネットワーク上の所定の装置が保持するデータベースのテーブルやファイルに記憶させておくことができる。そして、中継したファイルがキャッシュすべき対象であると判断された場合(S10:Yes)、中継ノードのキャッシュ保持部443は、当該ファイルを記憶装置42に一時的に保持する。一方、中継したファイルがキャッシュすべき対象でないと判断された場合は、中継ノードはファイルを保持しない。ネットワークシステム1は、要求元ノードからファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。 First, the file request unit 441 of the request source node requests transmission of the file held by the distribution server (FIG. 5: S1). On the other hand, the transmission relay unit 442 of the relay node receives the request (S2) and determines whether or not the cache file corresponding to the storage device 42 of the own node is held (S3). When the cache is held (S3: Yes), the cache transmission unit 444 of the relay node transmits the cache file to the request source node (S4). When the relay node does not hold the cache (S3: No), the transmission relay unit 442 of the relay node relays the request to the adjacent relay node (not shown) or the distribution server (S5). When there are a plurality of relay nodes, similar processing is repeated. Then, the file distribution unit 241 of the distribution server 2 receives the transmission request for the file (S6), reads the corresponding file from the storage device 22 and transmits it (S7). On the other hand, the transmission relay unit 442 of the relay node relays the file to the request source node (S8). Then, after S8, or after the relay node transmits the cache in S4, the file request unit 441 of the request source node receives the file requested in S1 (S9). When transmitting the file to the request source node in S8, the cache holding unit 443 of the relay node determines whether the file is a target to be cached in the own node (S10). In this step, it is determined whether or not the file is associated with the information indicating the group to which the own node belongs. The association between the file and the information indicating the group can be stored in a table or file of a database held by the storage device 42 of the own node or a predetermined device on the network. Then, when it is determined that the relayed file is the target to be cached (S10: Yes), the cache holding unit 443 of the relay node temporarily holds the file in the storage device 42. On the other hand, when it is determined that the relayed file is not the target to be cached, the relay node does not hold the file. The network system 1 repeats the file delivery processing as shown in FIG. 5 in response to a file transmission request from the request source node.

<効果>
本実施形態によれば、同一のグループに属するノードが隣接しないようにノードをグループ分けするという簡便な方法により、同一のファイルをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するという準最適なキャッシュ配置を実現することができる。また、図2に示したように、1つのファイルには複数のグループを示す情報を関連付けておくようにしてもよい。アクセス頻度の高いファイルほど、多くのグループに属するノードでキャッシュすれば、ネットワーク上におけるキャッシュのヒット率を向上させることができる。
<Effect>
According to the present embodiment, by a simple method of grouping nodes so that nodes belonging to the same group are not adjacent to each other, the nodes that cache the same file are distributed on the network, and some nodes are close to each other. It is possible to realize a sub-optimal cache arrangement in which cache servers belonging to each group exist at the specified positions. Further, as shown in FIG. 2, information indicating a plurality of groups may be associated with one file. If the files that are frequently accessed are cached by the nodes belonging to many groups, the cache hit rate on the network can be improved.

図1では国内のバックボーンを示すメッシュ型のネットワークを例示したが、実施形態に係るネットワークは様々な規模及びトポロジのネットワークに適用することができる。例えば、複数の拠点ごとにネットワークを形成し、いわゆるクラウド上に共通のファイルサーバを設けた、企業等のような組織のネットワークシステムに適用するようにしてもよい。各拠点のイントラネットにおいてファイルをキャッシュすれば、一般的に、ファイルの取得に要する時間を短縮することができるといえる。また、クラウドとの通信量に応じて料金が発生するような場合、キャッシュを利用することにより費用を低減させることができる。 Although FIG. 1 exemplifies a mesh type network showing a domestic backbone, the network according to the embodiment can be applied to networks of various scales and topologies. For example, it may be applied to a network system of an organization such as a company in which a network is formed for each of a plurality of bases and a common file server is provided on a so-called cloud. By caching the files in the intranet of each site, it can be said that generally, the time required to acquire the files can be shortened. Further, when a charge is incurred according to the amount of communication with the cloud, the cost can be reduced by using the cache.

図6、7は、ネットワークのトポロジの他の例を示す図である。本実施形態に係るネットワークのトポロジも特に限定されず、メッシュ型のほか、いわゆるリング型、スター型、ツリー型、ライン型等に適用することができる。ただし、図6に示すように、フルメッシュ型のネットワーク(図6:左図)については、交差する任意のリンクを削除する(図6:右図)ことで、同一のグループに属するノードが隣接しないように4つのグループに分類できるようにしてもよい。また、グループの数を増やすことによって、同一のグループに属するノードが隣接しないようにしてもよい。 6 and 7 are diagrams showing other examples of network topologies. The topology of the network according to the present embodiment is not particularly limited, and can be applied to so-called ring type, star type, tree type, line type, etc. in addition to the mesh type. However, as shown in FIG. 6, in a full-mesh type network (FIG. 6: left diagram), by deleting an intersecting arbitrary link (FIG. 6: right diagram), nodes belonging to the same group are adjacent to each other. You may make it possible to classify into four groups so that it may not be done. Also, by increasing the number of groups, nodes belonging to the same group may not be adjacent to each other.

また、図7は、バス型のネットワークの例である。バス型のネットワーク(図7:上図)については、例えば新たなグループ(図7:無色)の定義を追加し、スイッチを新たなグループ(図7:下図)に属するノードとして扱うことにより、同一のグループに属するノードが隣接しないようにしてもよい。ここでは、レイヤ2スイッチ、レイヤ3スイッチ、ルータ等を「スイッチ」と呼ぶものとする。図7のスイッチは、ファイル転送を行うが、補助記憶装置の容量はゼロのノードといえる。また、1つスイッチに接続されたコンピュータを、距離がゼロのノードと定義し、距離がゼロである複数のノード内において、グループが分散するように割り当てられるようにしてもよい。 Further, FIG. 7 is an example of a bus type network. For a bus type network (Fig. 7: upper diagram), for example, by adding a definition of a new group (Fig. 7: colorless) and treating the switch as a node belonging to the new group (Fig. 7: lower diagram), the same The nodes belonging to the group may not be adjacent to each other. Here, the layer 2 switch, the layer 3 switch, the router, etc. are referred to as “switch”. The switch of FIG. 7 transfers files, but the auxiliary storage device has a capacity of zero. Further, a computer connected to one switch may be defined as a node having a distance of zero, and the groups may be allocated so as to be distributed in a plurality of nodes having a distance of zero.

図8は、4つの拠点を有する企業のネットワークシステムにおいて、社員のコンピュータにファイルを分散させてキャッシュする一例を示す図である。東京、名古屋、大阪、博多の各拠点は、インターネット上に構築されたVPN(Virtual Private Network)を介して接続されている。また、クラウドサービスを提供する配信サーバ2に、社内で利用するコンテンツを記憶させ、配信サーバ2から適宜ダウンロードするものとする。図8のネットワークシステムでは、各拠点におけるVPNサーバを送受信されるファイルを一時的にキャッシュするノードとして、隣接するノードが異なるグループに属するように、グループを割り当てるようにしてもよい。また、各拠点においては、互いに距離がゼロのノードが、スイッチを介して複数接続されている。図8の例では、各拠点においてもグループが分散するように各ノードに割り当てられている。拠点のローカルネットワークに接続されたノードは、所望のファイルにアクセスする場合、拠点内のノードにキャッシュされているときは拠点内のノードからダウンロードする。拠点内のノードにキャッシュされていない場合は、他の拠点又は配信サーバ2からダウンロードする。このようにすれば、クラウド上の配信サーバ2との通信量の増大を抑えることができると共に、ファイルのダウンロードに要する時間を低減させることができる。 FIG. 8 is a diagram showing an example of distributing and caching files in employees' computers in a network system of a company having four bases. The bases in Tokyo, Nagoya, Osaka and Hakata are connected via a VPN (Virtual Private Network) constructed on the Internet. In addition, it is assumed that the distribution server 2 that provides the cloud service stores the content used in the company and downloads it from the distribution server 2 as appropriate. In the network system of FIG. 8, a group may be assigned such that adjacent nodes belong to different groups as a node that temporarily caches files transmitted/received by the VPN server at each base. Further, at each base, a plurality of nodes having a distance of zero are connected via a switch. In the example of FIG. 8, the nodes are assigned so that the groups are distributed even at the respective bases. When accessing a desired file, the node connected to the local network of the base downloads from the node in the base when cached in the node in the base. If it is not cached in the node in the base, it is downloaded from another base or the distribution server 2. By doing so, it is possible to suppress an increase in the amount of communication with the distribution server 2 on the cloud and reduce the time required to download the file.

<キャッシュ対象更新処理>
また、上述したネットワークシステムにおいて、ファイルに対するキャッシュの優先度を決定し、ファイルに関連付けられたグループを示す情報(キャッシュすべきファイルの一覧)を動的に変更するようにしてもよい。キャッシュの優先度は、配信サーバ2又は他の管理装置の頻度算出部242が算出する各ファイルへのアクセス頻度に基づき決定する。
<Cache target update process>
Further, in the above-mentioned network system, the priority of the cache for the file may be determined, and the information indicating the group associated with the file (list of files to be cached) may be dynamically changed. The cache priority is determined based on the access frequency to each file calculated by the frequency calculation unit 242 of the distribution server 2 or another management device.

図9は、キャッシュ対象のファイルを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステム1は、図5に示したファイル配信処理に加え、図9に示すような処理を行う。 FIG. 9 is a process flow diagram showing an example of a cache target update process for changing a cache target file. For example, the network system 1 performs the process shown in FIG. 9 in addition to the file distribution process shown in FIG.

まず、中継ノードは、要求に応じてキャッシュファイルを送信した回数をファイルごとに計数しておき、当該回数を所定のタイミングで配信サーバ2へ送信する(図9:S21)。一方、配信サーバ2は、各中継ノードからファイルの送信回数を受信し、ファイルごとのアクセス数を記憶する(S22)。本ステップでは、アクセス数を集計するためのアクセスログを受信するようにしてもよい。また、図4に示した処理フロー図において、例えば配信サーバはS7においてファイルを送信する場合、さらに当該ファイルへのアクセスログを記憶装置22に書き出す(S23)。 First, the relay node counts the number of times a cache file is transmitted in response to a request for each file, and transmits the number of times to the distribution server 2 at a predetermined timing (FIG. 9: S21). On the other hand, the distribution server 2 receives the file transmission count from each relay node and stores the access count for each file (S22). In this step, an access log for counting the number of accesses may be received. Further, in the process flow diagram shown in FIG. 4, for example, when the distribution server transmits a file in S7, an access log to the file is further written in the storage device 22 (S23).

そして、配信サーバ2は、所定のタイミングで所定期間における各ファイルへのアクセス回数(すなわち、アクセスの頻度)を算出し(図示せず)、頻度の高いファイルほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、ファイルに対しより多くのグループを示す情報を関連付けるようにする。具体的には、まず、頻度算出部242は、キャッシュ対象を更新するタイミングであるか判断する(S24)。例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象を更新するタイミグであると判断するものとする。キャッシュ対象を更新するタイミングでないと判断された場合、配信サーバ2は特に処理を行わない。一方、キャッシュ対象を更新するタイミングであると判断された場合(S24:Yes)、頻度算出部242は、ファイルごとのアクセス頻度を算出し、キャッシュ対象を決定する(S25)。 Then, the distribution server 2 calculates the number of times each file has been accessed (that is, the frequency of access) in a predetermined period at a predetermined timing (not shown), and the higher the frequency of the file, the higher the cache priority. Have many groups cache. That is, information indicating more groups is associated with the file. Specifically, first, the frequency calculation unit 242 determines whether it is time to update the cache target (S24). For example, when a predetermined operation time arrives, or when a condition such as a case where a predetermined period has elapsed from the previous processing is satisfied, it is determined that the cache target is a timing. If it is determined that it is not the time to update the cache target, the distribution server 2 does not perform any processing. On the other hand, when it is determined that it is time to update the cache target (S24: Yes), the frequency calculation unit 242 calculates the access frequency for each file and determines the cache target (S25).

図10は、所定期間におけるファイルへのアクセス数と、当該ファイルに関連付けて割り当てられるグループを示すタグの一例を示す図である。配信サーバ2は、当該配信サーバ2が要求に応じて送信したファイルについてのアクセスログと、中継ノードがキャッシュを送信した旨のアクセスログを所定期間分集計し、図10に示すようなファイルごとの統計データを生成する。図10に示す表は、「アクセス数」、「順位」、「人気」、「ファイル名」、及び「タグ」の項目を有する。「アクセス数」のフィールドには、所定期間におけるファイルへのアクセス数であり、頻度を表す値が記録されている。図9のS25においては、所定期間におけるアクセス数が算出される。「順位」のフィールドには、頻度の高さを基準に並べたファイルの順序を表す数値が記録されている。「人気」のフィールドには、頻度の高さ又は順位を基準に分類したカテゴリを示す情報が記録されている。「ファイル名」のフィールドには、各ファイルの識別情報の一例である名称が記録されている。「タグ」のフィールドには、当該ファイルをキャッシュするグループを示す情報が上述したタグの形式で記録されている。 FIG. 10 is a diagram showing an example of tags indicating the number of accesses to a file in a predetermined period and a group assigned in association with the file. The distribution server 2 tabulates the access log for the file transmitted by the distribution server 2 in response to the request and the access log indicating that the relay node has transmitted the cache for a predetermined period, and for each file as shown in FIG. Generate statistical data. The table shown in FIG. 10 has items of “number of accesses”, “rank”, “popularity”, “file name”, and “tag”. In the “access count” field, the number of accesses to the file in a predetermined period, and a value representing the frequency is recorded. In S25 of FIG. 9, the number of accesses in a predetermined period is calculated. In the “rank” field, a numerical value indicating the order of files arranged based on high frequency is recorded. In the "popularity" field, information indicating a category classified based on high frequency or rank is recorded. In the “file name” field, a name, which is an example of identification information of each file, is recorded. In the "tag" field, information indicating a group that caches the file is recorded in the tag format described above.

また、設定変更部243は、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定する(図9:S25)。本ステップでは、各ファイルに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図10に示す人気の程度を決定する。例えばノードを4つのグループに分ける場合、人気の程度を5段階に分類する。すなわち、人気「高」のファイルを4つのグループすべてにおいてキャッシュさせ、人気「中高」のファイルを3つのグループにおいてキャッシュさせ、人気「中」のファイルを2つのグループにおいてキャッシュさせ、人気「中低」のファイルを1つのグループにおいてキャッシュさせ、人気「低」のファイルはいずれのグループにおいてもキャッシュさせないものとする。このように、人気のカテゴリに応じて当該ファイルをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたファイルに対し循環的にグループの組合せを割り当てる。例えば、図10の順位11以降のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各ファイルへのアクセス頻度に基づいて、ファイルに関連付けられるタグが更新される。 The setting changing unit 243 also determines a group in which each file is cached according to the access frequency (FIG. 9: S25). In this step, a cache group is assigned to each file. First, the degree of popularity shown in FIG. 10 is determined based on the number of accesses in a predetermined period. For example, when the nodes are divided into four groups, the degree of popularity is classified into 5 levels. That is, popular "high" files are cached in all four groups, popular "middle and high" files are cached in three groups, and popular "medium" files are cached in two groups. Files are cached in one group, and popular "low" files are not cached in any group. In this way, the number of groups of nodes that cache the file is determined according to the popular category, and then the combination of groups is cyclically allocated to the files to which the same number of groups are allocated. For example, the tags determined by cyclically assigning the combinations of the three groups are recorded in the “tag” field of the records of the 11th rank and on 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.

そして、設定変更部243は、各ファイルをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図9:S26)。本ステップでは、例えば図10の「ファイル名」及び「タグ」の列に示す情報が、各ノードへブロードキャストされる。中継ノードは、リストを受信すると、当該リストを記憶装置42に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のファイルを決定する(S27)。 Then, the setting changing unit 243 distributes a list indicating a group in which each file is a cache target to each node (FIG. 9: S26). In this step, for example, the information shown in the columns of “file name” and “tag” in FIG. 10 is broadcast to each node. When the relay node receives the list, the relay node stores the list in the storage device 42 and thereafter determines the file to be cached by the own node based on the list (S27).

なお、本実施形態においては、各ノードは、各グループが割り当てられた近傍のノードが存在する方向を予め記憶しておくようにしてもよい。図11Aは、図1のノード11aが記憶する、近傍のノードが存在する方向を示す情報の一例である。図11Bは、図1のノード11bが記憶する、近傍のノードが存在する方向を示す情報の一例である。図11A及び図11Bの表は、「グループ」の列と「宛先ノード」の列とを含む。「グループ」のフィールドには、ノード及びファイルに割り当てられるグループを示す識別情報が登録される。ここでは、図1における横線のハッチングをグループA、右上から左下へ向かう太い実線のハッチングをグループB、縦の破線のハッチングをグループC、左上から右下に向かう細い実線のハッチングをグループDと呼ぶものとする。また、「宛先ノード」のフィールドには、各グループに属するノードのうち最小のホップ数で到達できるものへアクセスするための、要求の宛先となるノードを示す識別情報が登録される。具体的には、ネットワークシステムの構成や採用するプロトコルに応じて、機器のMACアドレス、IPアドレス、ポート番号等の識別情報が登録される。図1のノード11aから最も近い、グループAに属するノードは、ノード11dであり、ノード11bを介してアクセスすることができる。したがって、図11Aにおいては、グループAに対応づけてノード11bが登録されている。また、図1においてノード11aから最も近い、グループBに属するノードは、ノード11cであり、図11AにおいてはグループBに対応付けてノード11cが登録されている。図1においてノード11aから最も近い、グループCに属するノードは、ノード11bであり、図11AにおいてはグループCに対応付けてノード11bが登録されている。また、自ノードが属するグループDについては、宛先ノードのフィールドには他のノードは登録されない。 In addition, in this embodiment, each node may store in advance the direction in which a neighboring node to which each group is assigned exists. FIG. 11A is an example of information stored in the node 11a in FIG. 1 and indicating the direction in which a nearby node exists. 11B is an example of information stored in the node 11b in FIG. 1 and indicating the direction in which a nearby node exists. The tables of FIGS. 11A and 11B include a “group” column and a “destination node” column. Identification information indicating a group assigned to a node and a file is registered in the “group” field. Here, the horizontal hatching in FIG. 1 is called a group A, the thick solid line hatching from the upper right to the lower left is a group B, the vertical broken line hatching is a group C, and the thin solid line hatching from the upper left to the lower right is called a group D. I shall. Further, in the field of “destination node”, identification information indicating a node which is a destination of a request for accessing a node which can be reached with the minimum hop number among nodes belonging to each group is registered. Specifically, identification information such as the MAC address, IP address, and port number of the device is registered according to the configuration of the network system and the adopted protocol. The node closest to the node 11a in FIG. 1 and belonging to the group A is the node 11d, which can be accessed via the node 11b. Therefore, in FIG. 11A, the node 11b is registered in association with the group A. Further, the node closest to the node 11a in FIG. 1 and belonging to the group B is the node 11c, and the node 11c is registered in association with the group B in FIG. 11A. The node belonging to the group C closest to the node 11a in FIG. 1 is the node 11b, and the node 11b is registered in association with the group C in FIG. 11A. For the group D to which the own node belongs, no other node is registered in the field of the destination node.

ノード11aは、図9のS27において受信するリストに基づいて、あるファイルがいずれかのグループに属するノードによってキャッシュされることを知ることができる。そして、図11Aに示す情報に基づいて、所望のファイルが属するグループが割り当てられた最も近いノードにファイルを要求することができる。同様に、ノード11bは、図11Bに示すような情報を保持している。例えば、ノード11aから、グループAに属するファイルを取得するための要求を受けた場合、ノード11bは、図11Bに示す情報のうちグループのフィールドに「A」が登録されたレコードを参照し、グループAに属する最も近いノードは、ノード11dであることがわかる。また、ノード11bを基準とする場合のグループBに属する最も近いノードは、いずれもホップ数が2のノード11c及びノード11eであり、図11Bに示す情報には宛先ノードとしてノード11a及びノード11dの2つが登録されている。このようなとき、複数の宛先のノードのうち1つを主系として登録して通常利用し、他方をネットワーク切断等の障害発生時に利用するようにしてもよい。また、複数の宛先ノードを順に利用するラウンドロビン方式を採用し、ノード及び通信回線にかかる負荷を分散させるようにしてもよい。 The node 11a can know that a certain file is cached by the node belonging to any group based on the list received in S27 of FIG. Then, based on the information shown in FIG. 11A, the file can be requested to the closest node to which the group to which the desired file belongs is assigned. Similarly, the node 11b holds information as shown in FIG. 11B. For example, when receiving a request from the node 11a to acquire a file belonging to the group A, the node 11b refers to the record in which "A" is registered in the group field in the information shown in FIG. It can be seen that the closest node belonging to A is node 11d. Further, the nearest nodes belonging to the group B based on the node 11b are the nodes 11c and 11e each having a hop number of 2, and the information shown in FIG. 11B shows that the nodes 11a and 11d are the destination nodes. Two are registered. In such a case, one of a plurality of destination nodes may be registered as a main system and normally used, and the other may be used when a failure such as network disconnection occurs. Further, a round robin method in which a plurality of destination nodes are sequentially used may be adopted to distribute the load on the nodes and communication lines.

各ノードに割り当てられたグループは、ノード間に新たなノードが追加されたり、ノード間の既存のノードが削除されたりしない限り、基本的には変更されない。したがって、図12A及び図12Bに示す情報も基本的には変更する必要がない。 The group assigned to each node is basically unchanged unless a new node is added between nodes or an existing node between nodes is deleted. Therefore, basically, it is not necessary to change the information shown in FIGS. 12A and 12B.

<効果>
キャッシュ対象更新処理によれば、配信サーバから新たに配信されるファイルについてもその後のアクセス数に応じてキャッシュさせることができると共に、既存のファイルに対するアクセス頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。なお、アクセス頻度の算出やキャッシュすべきファイルのリストの更新は、配信サーバ2とは異なるネットワーク上の管理装置が行うようにしてもよい。また、各中継ノードが記憶するファイルへのアクセスログは、ネットワーク上の所定の装置に保持させ、配信サーバ2又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<Effect>
According to the cache target update process, a file newly distributed from the distribution server can be cached according to the number of subsequent accesses, and even if the tendency of the access frequency to the existing file changes, The settings can be changed so that the cache hit rate in the network can be maintained and improved by following the 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 distribution server 2. The access log to the file stored in each relay node may be held in a predetermined device on the network so that the distribution server 2 or the management device can read the access log in each relay node.

<変形例1>
上述したネットワークシステムにおいて、ファイルに対するキャッシュの許否を示す情報をさらに設定するようにしてもよい。キャッシュの許否を示す情報は、例えば各ファイルがメタデータとして保持するようにしてもよい。また、ブラックリスト又はホワイトリストにより、各ノードがキャッシュの許否を示す情報を保持するようにしてもよい。ブラックリスト又はホワイトリストは、例えばURL(Uniform Resource Locator)フィルタによって記述するようにしてもよいし、ファイル名又はファイルの格納場所を示す階層構造等を識別情報とするリストによって記述するようにしてもよい。
<Modification 1>
In the network system described above, information indicating whether or not the cache of the file is permitted may be further set. The information indicating whether or not to permit the cache may be held as metadata in each file, for example. Further, each node may hold information indicating permission/prohibition of cache by a black list or a white list. The black list or the white list may be described by, for example, a URL (Uniform Resource Locator) filter, or may be described by a list having identification information such as a file name or a hierarchical structure indicating a file storage location. Good.

このような場合、図4に示した処理フロー図において、例えば中継ノードはS10において中継したファイルがキャッシュを許可されているか否かさらに判断し、キャッシュを許可されていない場合にはキャッシュを保持しないようにする。 In such a case, in the process flow diagram shown in FIG. 4, for example, the relay node further determines whether the file relayed in S10 is permitted to be cached, and if the cache is not permitted, the cache is not held. To do so.

図12は、キャッシュの許否を示すホワイトリストを中継ノードが有する例を説明するための図である。図12では、配信サーバ2は「A.pdf」〜「D.pdf」等のファイルを保持している。また、中継ノードは、正規表現で「A.pdf」〜「C.pdf」等のキャッシュを許可する旨のホワイトリストを有している。このような場合において、中継ノードに接続された端末1からの要求を受けて配信サーバ2から端末1へ「A.pdf」が送信され、端末2からの要求を受けて配信サーバ2から端末2へ「D.pdf」が送信されたものとする。このような場合において、仮に「A.pdf」及び「D.pdf」のいずれも中継ノードが属するグループを示す情報が関連付けられていたとしても、中継ノードはホワイトリストにおいてキャッシュが許可されている「A.pdf」はキャッシュし、ホワイトリストにおいてキャッシュが許可されていない「D.pdf」はキャッシュしない。 FIG. 12 is a diagram for explaining an example in which a relay node has a white list indicating permission/prohibition of cache. In FIG. 12, the distribution server 2 holds files such as “A.pdf” to “D.pdf”. In addition, the relay node has a white list indicating that caches such as “A.pdf” to “C.pdf” are permitted in the regular expression. In such a case, “A.pdf” is transmitted from the distribution server 2 to the terminal 1 in response to the request from the terminal 1 connected to the relay node, and the distribution server 2 receives the request from the terminal 2 in the terminal 2. It is assumed that “D.pdf” is transmitted to. In such a case, even if the information indicating the group to which the relay node belongs is associated with both “A.pdf” and “D.pdf”, the relay node is permitted to cache in the whitelist. "A.pdf" is cached, and "D.pdf" that is not allowed to be cached in the white list is not cached.

変形例1によれば、明示的にキャッシュを禁止することができるため、例えばファイルが社員の給与明細のように秘密性のあるものである場合に情報の漏えいを防止することができる。また、ブラックリスト又はホワイトリストをノードに保持させることにより、図10に示したファイルの人気の程度からは独立して、キャッシュの許否を設定することができる。すなわち、例えば配信サーバ2は、仮にあるファイルに対してキャッシュの許否を示す設定が変更された場合であっても、アクセス頻度に基づくファイルの順位を再度求めたり、ファイルのタグを「0000」(いずれのグループに属するノードにもキャッシュさせない設定)に変更したりする必要がない。また、ブラックリスト又はホワイトリストをノードに保持させることにより、ノードごとに異なる設定をすることもできる。例えば、ある社外秘のファイルについて、社内のローカルネットワーク又はプライベートクラウドを形成するノードに対してはキャッシュを許可し、社外のパブリッククラウドを形成するノードに対してはキャッシュを拒否するという設定にしてもよい。 According to the first modification, since the cache can be explicitly prohibited, it is possible to prevent the leakage of information when the file is confidential such as employee's pay slip. Further, by holding the blacklist or the whitelist in the node, it is possible to set the permission/prohibition of the cache independently of the degree of popularity of the file shown in FIG. That is, for example, the distribution server 2 re-obtains the order of files based on the access frequency or sets the file tag to "0000" (even if the setting indicating whether or not to allow a cache is changed for a certain file. It is not necessary to change the setting so that nodes belonging to any group will not be cached. Also, by holding a blacklist or whitelist in a node, different settings can be made for each node. For example, a certain confidential file may be set to permit cache to nodes forming a local network or private cloud inside the company and to reject cache to nodes forming a public cloud outside the company. ..

<変形例2>
ファイルについて、アクセスされ易いファイルを予測しておき、キャッシュすべきか否か決定するようにしてもよい。例えば、ファイルがハイパーテキスト形式の文書からリンクされている場合、ウェブサイトのトップページのように基準となる文書からアクセスするまでに経由するリンクの数が少ないほどアクセスされ易いと予測するようにしてもよい。すなわち、トップページから少ないクリックで到達するファイルはアクセスされる可能性が高いと判断してキャッシュするものとする。具体的には、ウェブクローラによりウェブサイトを巡回させて各ファイルに到達するまでに経由するリンクを計数し、経由するリンク数が所定の閾値よりも少ないファイルの一覧を作成する。このようにすれば、アクセスされ易いと予測されるファイルを自動的に抽出し、ファイルをキャッシュさせるための設定を生成することができる。
<Modification 2>
It may be possible to predict a file that is easily accessed and determine whether or not to cache the file. For example, if a file is linked from a document in hypertext format, predict that it will be easier to access as the number of links that go through the reference document, such as the top page of a website, is smaller. Good. That is, it is determined that a file that arrives from the top page with a few clicks is likely to be accessed and is cached. Specifically, the web crawler circulates the website and counts the links that go through to reach each file, and creates a list of files in which the number of the links that go through is less than a predetermined threshold value. By doing so, it is possible to automatically extract a file that is predicted to be easily accessed and generate a setting for caching the file.

ファイルをキャッシュさせるための設定は、例えば配信サーバからブロードキャストされ、各ノードが記憶する。この場合、ファイルも配信して予めキャッシュさせるようにしてもよいし、各ノードにおいて該当するファイルの送受信が初めて発生したときにキャッシュさせるようにしてもよい。 The setting for caching the file is broadcast from, for example, the distribution server and stored in each node. In this case, the file may be distributed and cached in advance, or may be cached when transmission/reception of the corresponding file first occurs in each node.

変形例2によれば、ファイルごとにアクセス頻度の算出を行うことなく、所定の基準に基づいてキャッシュすべきか否か判断することができる。また、例えば配信サーバから新たに配信される、アクセス頻度が未知のファイルについても、所定の基準に基づいてキャッシュすべきか否か判断できるようになる。 According to the second modification, it is possible to determine whether or not to cache the file based on a predetermined criterion without calculating the access frequency for each file. Further, for example, it is possible to judge whether or not a file, which is newly distributed from the distribution server and whose access frequency is unknown, should be cached based on a predetermined standard.

<変形例3>
また、配信サーバが保持するファイルは、任意のタイミングで更新されることもあり得る。本変形例では、中継ノードはキャッシュしたファイルについて再取得が必要であるか否か、確認又は通知するものとする。
<Modification 3>
Further, the file held by the distribution server may be updated at any timing. In this modification, the relay node confirms or notifies whether or not the cached file needs to be reacquired.

例えば、中継ノードは要求元ノードから要求を受けたファイルをキャッシュしている場合であっても、配信サーバにおける更新の有無を毎回確認するようにしてもよい。具体的には、図4に示した処理フロー図のS3においてキャッシュを保持していると判断した場合(S3:Yes)、さらに配信サーバが保持するファイルが更新されていないか判断する(図示せず)。ファイルの更新の有無は、例えば、キャッシュしているファイルとファイル名等の識別情報が同一である配信サーバ上のファイルについて、タイムスタンプが更新されているか否かを基準として判断するようにしてもよいし、所定のアルゴリズムによりファイルから算出されるチェックサムに基づいて判断するようにしてもよい。また、配信サーバにおいてファイルが更新されていない場合は、図4のS4に遷移し、キャッシュファイルを要求元ノードへ送信する。一方、配信サーバにおいてファイルが更新されている場合は、図4のS5に遷移し、配信サーバからファイルを取得する。このようにすれば、配信サーバにおいてファイルが更新された場合であっても、速やかに最新のファイルを要求元ノードに送信することができる。 For example, even when the relay node caches the file requested by the request source node, the relay node may check whether or not the distribution server has updated each time. Specifically, when it is determined that the cache is held in S3 of the process flow diagram shown in FIG. 4 (S3: Yes), it is further determined whether the file held by the distribution server has been updated (not shown). No). Whether or not the file is updated may be determined based on whether or not the time stamp is updated for the file on the distribution server having the same identification information as the cached file such as the file name. Alternatively, the determination may be made based on the checksum calculated from the file by a predetermined algorithm. If the distribution server has not updated the file, the process proceeds to S4 of FIG. 4 to send the cache file to the requesting node. On the other hand, when the file is updated in the distribution server, the process proceeds to S5 of FIG. 4 and the file is acquired from the distribution server. By doing so, even when the file is updated in the distribution server, the latest file can be promptly transmitted to the requesting node.

また、中継ノードはキャッシュファイルについて所定の有効期限を定めておき、有効期限を超過した場合に更新の有無を配信サーバへ確認するようにしてもよい。例えば、図4に示した処理フロー図のS11においてキャッシュを保持する際には当該時点の日時又は当該時点から所定期間後の有効期限を示す日時を関連づけて記憶装置42に保持しておく。その後、S3においてキャッシュを保持していると判断した場合(S3:Yes)、さらにキャッシュした時点から所定期間を超過しているか判断し、超過している場合には配信サーバが保持するファイルが更新されていないか判断する(図示せず)。その後の処理は、上述の毎回確認する場合と同様とする。このようにすれば、ファイルの更新を確認するために発生する通信の増大を抑制しつつ、妥当なタイミングで更新の有無を確認できる。 Alternatively, the relay node may set a predetermined expiration date for the cache file, and when the expiration date is exceeded, the relay server may confirm whether or not the cache file is updated. For example, when the cache is held in S11 of the processing flow chart shown in FIG. 4, the date and time at that point or the date and time indicating the expiration date after a predetermined period from that point is associated and held in the storage device 42. After that, when it is determined in S3 that the cache is held (S3: Yes), it is further determined whether or not the predetermined period has elapsed from the time when the cache is performed, and if it is exceeded, the file held by the distribution server is updated. It is judged whether it is not done (not shown). Subsequent processing is the same as in the case of checking every time. With this configuration, it is possible to check the presence/absence of the update at an appropriate timing while suppressing an increase in communication that occurs to confirm the update of the file.

また、配信サーバは、オリジナルのファイルについて追加、更新(変更)、削除等された場合に、キャッシュし直すべきファイルを示すリストの差分を生成し、各ノードへブロードキャストするようにしてもよい(図示せず)。このようにして更新等の通知を受けた場合、中継ノードは、図4のS3においてキャッシュの有無に関わらずS5へ遷移し、配信サーバから更新後のファイルを取得する。このようにすれば、ファイルの更新を確認するために発生する通信の増大を抑制しつつ、配信サーバにおいてファイルが更新された場合であっても、速やかに最新のファイルを要求元ノードに送信することができる。 In addition, the distribution server may generate a difference of a list indicating files to be cached again when the original file is added, updated (changed), deleted, etc., and broadcast it to each node (Fig. (Not shown). When the notification of the update or the like is received in this way, the relay node transitions to S5 in S3 of FIG. 4 regardless of the presence or absence of the cache, and acquires the updated file from the distribution server. In this way, the latest file is promptly transmitted to the requesting node even if the file is updated in the distribution server while suppressing the increase in communication that occurs to confirm the file update. be able to.

<変形例4>
また、中継ノードにおいて、適切なタイミングでキャッシュを削除するようにしてもよい。例えば、上記変形例2においてファイルへのアクセス頻度に基づいてキャッシュすべきファイルの一覧を更新すると共に、一覧から外れたファイルについてキャッシュを削除すべき旨の命令を各ノードへブロードキャストする。一方、中継ノードのキャッシュ削除部445は、命令に従い、キャッシュしているファイルを記憶装置42から削除する。
<Modification 4>
Further, the cache may be deleted in the relay node at an appropriate timing. For example, in the second modification, the list of files to be cached is updated based on the access frequency to the files, and a command to delete the cache from files that are not in the list is broadcast to each node. On the other hand, the cache deletion unit 445 of the relay node deletes the cached file from the storage device 42 according to the instruction.

また、削除するキャッシュファイルは、各中継ノードが決定するようにしてもよい。例えば、LFU(Least Frequently Used)方式を採用し、キャッシュ削除部445は、アクセス頻度の低いキャッシュファイルを優先的に削除するようにしてもよい。 Also, the cache file to be deleted may be determined by each relay node. For example, the LFU (Least Frequently Used) method may be adopted, and the cache deleting unit 445 may preferentially delete the cache file having a low access frequency.

変形例4によれば、ファイルのキャッシュに要する中継ノードの記憶領域を、適宜解放することができる。 According to the modified example 4, the storage area of the relay node required for the file cache can be appropriately released.

<変形例5>
また、中継ノード又は配信サーバ2は、キャッシュファイルに対し秘匿化又は暗号化を行うセキュリティ制御部を備えるようにしてもよい。セキュリティ制御部446は、例えば、ファイルに対してアクセスを許可するユーザを示す情報を関連付けて記憶させておき、要求元ノードがファイルの送信を要求する際にユーザの認証を行うようにしてもよい。
<Modification 5>
Further, the relay node or the distribution server 2 may include a security control unit that conceals or encrypts the cache file. The security control unit 446 may store, for example, information indicating a user who is permitted to access a file in association with each other, and authenticate the user when the request source node requests transmission of the file. ..

図13は、ファイルに対して当該ファイルをキャッシュすべきグループを示すタグと、当該ファイルにアクセスを認可するユーザを特定するための情報(ACL(Access Control List))とを関連付けて記憶する例を示す図である。図13の例では、ACLのフィールドにユーザが属する部署を示す情報が登録されている。そして、要求元ノードは、図4のS1において、ユーザの認証情報を含むリクエストを中継ノードに送信する。一方、中継ノードは、図4のS3においてキャッシュファイルを保持していると判断した場合(S3:Yes)、さらに認証情報が示すユーザの所属部署に基づいて要求されたファイルの送信の許否を判断する。そして、ユーザに対してアクセスが認可されている場合は、S4に遷移してキャッシュファイルを要求元ノードへ送信する。 FIG. 13 shows an example in which a tag indicating a group in which the file should be cached and information (ACL (Access Control List)) for identifying a user who is authorized to access the file are stored in association with each other. FIG. In the example of FIG. 13, information indicating the department to which the user belongs is registered in the ACL field. Then, the request source node transmits a request including the user authentication information to the relay node in S1 of FIG. On the other hand, when the relay node determines in S3 of FIG. 4 that the cache file is held (S3: Yes), the relay node further determines whether to permit transmission of the requested file based on the department to which the user indicated by the authentication information belongs. To do. Then, when the access is authorized to the user, the process proceeds to S4 and the cache file is transmitted to the request source node.

また、ファイルの送受信に係る通信について、例えばSSL(Secure Socket Layer)/TLS(Transport Layer Security)を用いて暗号化するようにしてもよい。このようにすれば、通信データの傍受やなりすましによる情報の漏えいを防止することができる。 Further, the communication relating to the transmission/reception of the file may be encrypted by using, for example, SSL (Secure Socket Layer)/TLS (Transport Layer Security). By doing so, it is possible to prevent the leakage of information due to interception of communication data and spoofing.

また、配信サーバ2のセキュリティ制御部244は、秘密分散法を利用してファイルを分割し、分割後のファイルをそれぞれ異なるグループに属するノードによってキャッシュさせるようにしてもよい。例えば、ファイルは、ノードが属するグループの数に分割され、図10に示したようなリストにおいて、分割後のファイルの各々について異なるタグが関連付けられる。このような方法によっても、情報の漏えいを防止することができる。 Further, the security control unit 244 of the distribution server 2 may divide the file by using the secret sharing method and cache the divided files by the nodes belonging to different groups. For example, the file is divided into the number of groups to which the node belongs, and in the list as shown in FIG. 10, different tags are associated with each of the divided files. Information leakage can be prevented also by such a method.

また、中継ノードのセキュリティ制御部446は、ファイルを暗号化してキャッシュすると共に、キャッシュファイルのハッシュ値を算出し、キャッシュファイルと関連付けて記憶装置42に記憶させておくようにしてもよい。また、セキュリティ制御部446は、保持しているキャッシュデータから算出されるハッシュ値と、記憶装置42が保持しているハッシュ値とを比較し、異なる場合にはキャッシュファイルの改ざんを検知したものと判断してキャッシュファイルを削除するようにしてもよい。このようにすれば、保持するキャッシュファイルの完全性が担保される。また、暗号化することにより、正当な権限のあるユーザのみが当該ファイルを読み出せるようになる。したがって、キャッシュファイルの機密性を担保できる。 Further, the security control unit 446 of the relay node may encrypt the file and cache the file, calculate the hash value of the cache file, and store the hash value in the storage device 42 in association with the cache file. Further, the security control unit 446 compares the hash value calculated from the held cache data with the hash value held by the storage device 42, and if different, detects that the cache file has been tampered with. It is also possible to judge and delete the cache file. By doing so, the integrity of the cache file to be held is guaranteed. Further, by encrypting, only the user who has the proper authority can read the file. Therefore, the confidentiality of the cache file can be secured.

<変形例6>
上述した実施形態及び変形例に係るネットワークシステムは、動画等のデジタルコンテンツを配信するためのコンテンツ配信ネットワーク(CDN:Contents Delivery Network)に適用することもできる。すなわち、上述したファイルは、動画データや音声データ、VR(Virtual Reality)コンテンツ、3Dコンテンツ、ゲームに用いられるデータ、その他のデジタルコンテンツであり、ノード4は、CDNを形成するキャッシュサーバ等であってもよい。
<Modification 6>
The network system according to the above-described embodiments and modifications can be applied to a content delivery network (CDN) for delivering digital content such as moving images. That is, the above-mentioned files are moving image data, audio data, VR (Virtual Reality) contents, 3D contents, data used for games, and other digital contents, and the node 4 is a cache server forming a CDN, etc. Good.

上述したネットワークトポロジ上の隣接するノードとは、ノード間に配線以外の装置を含まないことを意図したものではなく、CDNのような所定のネットワークを構成する複数のノードのうちの隣接するノードを指す。また、ノード2は、いわゆるキャッシュサーバとして働き、ユーザの端末が要求するコンテンツファイルを送信する。CDNは、インターネット上に公開されたものに限らず、ローカルネットワーク上に形成するようにしてもよい。このとき、ネットワークにおいて利用されるプロトコルは特に限定されない。また、ノード4若しくは配信サーバ2、又は上述したネットワークシステムは、ゲートウェイ等のプロトコル変換装置を介してネットワークに接続されていてもよい。 The above-mentioned adjacent nodes on the network topology are not intended to include no device other than wiring between the nodes, and the adjacent nodes among a plurality of nodes forming a predetermined network such as a CDN are not included. Point to. The node 2 also functions as a so-called cache server and transmits the content file requested by the user's terminal. The CDN is not limited to the one published on the Internet, but may be formed on a local network. At this time, the protocol used in the network is not particularly limited. The node 4 or the distribution server 2 or the above-mentioned network system may be connected to the network via a protocol conversion device such as a gateway.

例えばHTTPSを利用する場合には、キャッシュファイルを以下のようなURI(Uniform Resource Identifier)で表すようにしてもよい。
<プロトコル>://<キャッシュサーバのURL>:<キャッシュサーバのポート番号>/<エンコードされたアクセス先のURL>
ここで、あるCDNのコンテンツサーバからHTTPSで配信されるファイルのURLが以下の通りであったとする。
https://cdn.example.com/video.mp4
これをURLエンコーディング(パーセントエンコーディング)すると、以下のような文字列が生成される。
https%3A%2F%2Fcdn.example.com%2Fvideo.mp4
For example, when HTTPS is used, the cache file may be represented by the following URI (Uniform Resource Identifier).
<protocol>://<cache server URL>:<cache server port number>/<encoded access destination URL>
Here, it is assumed that the URL of the file distributed by HTTPS from the content server of a certain CDN is as follows.
https://cdn.example.com/video.mp4
When this is URL-encoded (percent-encoded), the following character string is generated.
https%3A%2F%2Fcdn.example.com%2Fvideo.mp4

なお、キャッシュサーバのホスト名とIPアドレスとは一対一に対応付けられていてもよいし、キャッシュサーバは複数存在するため、一対多に対応付けられていてもよい。一対一に対応付けられている場合は、例えば要求元のユーザ端末が、CDNを構成するキャッシュサーバのうち、近くのキャッシュサーバ(例えば、ホップ数が最も少ないキャッシュサーバ)のURLを指定し、アクセスする。また、一対多に対応付けられている場合は、ユーザ端末は、キャッシュサーバのURLについてDNS(Domain Name System)サーバに名前解決を要求する。例えば、アクセス先のアドレスが以下の通りであったとする。
https://cache.example.net
これに上述した文字列を設定すると、以下のようなリクエストURLが生成される。
https://cache.example.net/https%3A%2F%2Fcdn.example.com%2Fvideo.mp4
ここで、キャッシュサーバのホスト名とIPアドレスとが一対一に対応付けられている場合は、DNSサーバは、キャッシュサーバに対応付けられたIPアドレスを返答する。また、一対多に対応付けられている場合は、DNSサーバは、例えばユーザ端末のIPアドレスに基づいて接続元の地域を特定し、当該地域に近いキャッシュサーバのIPアドレスを返答する。その後、ユーザ端末は、DNSサーバが返答したIPアドレスに対して接続を試みる。すなわち、ユーザ端末が備えるインターネットブラウザ等のクライアント側アプリケーションは、cache.example.netにHTTPSで接続し、ブラウザとキャッシュサーバとの間において暗号化通信を行う。このとき、サーバ証明書は、cache.example.netのものが利用される。なお、複数のキャッシュサーバはcache.example.netの証明書を有している。
It should be noted that the host name and IP address of the cache server may be associated one-to-one, or because there are multiple cache servers, they may be associated one-to-many. In the case of one-to-one correspondence, for example, the requesting user terminal specifies the URL of a nearby cache server (for example, the cache server with the smallest number of hops) among the cache servers that make up the CDN, and accesses the cache server. To do. In the case of one-to-many correspondence, the user terminal requests a DNS (Domain Name System) server for name resolution for the URL of the cache server. For example, suppose the access destination address is as follows.
https://cache.example.net
When the above-mentioned character string is set in this, the following request URL is generated.
https://cache.example.net/https%3A%2F%2Fcdn.example.com%2Fvideo.mp4
Here, when the host name and the IP address of the cache server are associated with each other on a one-to-one basis, the DNS server returns the IP address associated with the cache server. In the case of one-to-many correspondence, the DNS server specifies the area of the connection source based on, for example, the IP address of the user terminal, and returns the IP address of the cache server close to the area. After that, the user terminal tries to connect to the IP address returned by the DNS server. That is, a client-side application such as an internet browser provided in the user terminal connects to cache.example.net by HTTPS and performs encrypted communication between the browser and the cache server. At this time, the server certificate used is cache.example.net. It should be noted that the plurality of cache servers have a certificate of cache.example.net.

一方、キャッシュサーバは、リクエストURLをデコードし、もとのURL(すなわち、https://cdn.example.com/video.mp4)を生成する。キャッシュサーバは、自身がキャッシュファイルを保持していない場合には、ファイルに割り当てられたグループと自身及び近隣のキャッシュサーバに割り当てられたグループとに基づいて、他の装置からファイルを取得する。コンテンツサーバからファイルを取得する場合には、デコードしたURLに基づいてcdn.example.comとHTTPSセッションを張り、video.mp4の送信を要求する。このとき、サーバ証明書は、cdn.example.comのものが利用される。また、キャッシュサーバは、他の装置から要求したファイルを受信した場合は、ユーザ端末の要求元アプリケーションへ転送する。以上のような処理によれば、キャッシュサーバを介する場合においても、証明書の不一致を回避し、HTTPSで配信されるファイルをユーザ端末へ送信することができる。なお、キャッシュサーバのホスト名とIPアドレスとの対応関係や、キャッシュサーバに対するコンテンツサーバへのリクエストURLの命名規則等は一例であり、上述した例には限定されない。 On the other hand, the cache server decodes the request URL and generates the original URL (that is, https://cdn.example.com/video.mp4). When the cache server does not hold the cache file, the cache server acquires the file from another device based on the group assigned to the file and the groups assigned to the cache server itself and the neighboring cache servers. When the file is obtained from the content server, an HTTPS session is established with cdn.example.com based on the decoded URL and a request to send video.mp4 is made. At this time, the server certificate used is cdn.example.com. When the cache server receives a requested file from another device, the cache server transfers it to the request source application of the user terminal. According to the above processing, even when passing through the cache server, it is possible to avoid the mismatch of the certificates and to send the file distributed by HTTPS to the user terminal. The correspondence relationship between the host name of the cache server and the IP address, the naming convention of the request URL to the content server for the cache server, etc. are examples, and the present invention is not limited to the above examples.

<変形例7>
また、ノード4にグループを割り当てる処理は、上述した実施形態に示したものには限られない。例えば、次数の高いノードから順に、グループ間の距離が遠くなるようにグループを選択すると共に、グループ間の距離が同じになるグループが複数存在する場合には、ネットワーク中に存在するノードが少ないグループを割り当てるようにしてもよい。このようにすれば、あるノード4に対し、隣接するノード4とは異なるグループを優先して割り当てることができると共に、ネットワーク全体において各グループができるだけ均等に含まれるようバランスさせることができる。
<Modification 7>
Further, the process of assigning a group to the node 4 is not limited to that shown in the above-described embodiment. For example, if there are multiple groups with the same distance between groups, the groups are selected so that the distance between the groups increases in order from the node with the highest degree. May be assigned. In this way, a group different from that of the adjacent node 4 can be preferentially assigned to a certain node 4, and the groups can be balanced so as to be included in the entire network as evenly as possible.

また、1つのノード4に複数のグループを割り当てるようにしてもよい。特に、複数のノード4においてストレージの容量(すなわち、キャッシュ容量)が異なるような場合には、容量の大きなノード4に複数のグループを割り当てることでリソースを効率よく利用する子ができる。この場合も、あるノード4に対し、隣接するノード4とは異なるグループを優先して割り当てる。 Also, a plurality of groups may be assigned to one node 4. In particular, when the storage capacities (that is, cache capacities) of the plurality of nodes 4 are different, a plurality of groups can be allocated to the node 4 having a large capacity to efficiently use resources. Also in this case, a group different from that of the adjacent node 4 is preferentially assigned to a certain node 4.

<変形例8>
図9のS21及びS22に示すアクセス数の集計処理は、ネットワーク上において予め定められた経路に従い、配信サーバ2又は図示していない管理装置が、各ノード4からアクセス数を受信するようにしてもよい。例えば、配信サーバ2又は図示していない管理装置を根とする木構造のネットワークを定義しておく。例えば、図1のネットワーク1において、配信サーバ2をルートとし、すべてのノード4を含む、既存のリンクで接続された木構造のネットワークを別途定義しておく。そして、葉から根に向かって所定のタイミングでファイルごとのアクセス数を送信する。この場合、分岐の合流点となるノードにおいてはファイルごとのアクセス数を集約するようにしてもよい。このようにすれば、集計にかかる通信量や配信サーバ2又は他の管理装置において集計にかかる負荷を低減させることができる。
<Modification 8>
In the processing of totaling the number of accesses shown in S21 and S22 of FIG. 9, the distribution server 2 or a management device (not shown) receives the number of accesses from each node 4 according to a predetermined route on the network. Good. For example, a tree-structured network whose root is the distribution server 2 or a management device (not shown) is defined. For example, in the network 1 of FIG. 1, a tree-structured network including the distribution server 2 as a root and all nodes 4 and connected by existing links is separately defined. Then, the number of accesses for each file is transmitted from the leaf toward the root at a predetermined timing. In this case, the number of accesses for each file may be aggregated at the node that is the confluence of the branches. By doing so, it is possible to reduce the amount of communication required for counting and the load of counting in the distribution server 2 or another management device.

上記の実施形態及び変形例1〜8に記載した事項は、適宜組み合わせて実施することができる。 The matters described in the above-described embodiment and the modified examples 1 to 8 can be implemented in an appropriate combination.

<比較例>
図14は、遺伝的アルゴリズムを利用してキャッシュ配置を決定する手順を説明するための図である。上述したようなネットワークにおいて分散してキャッシュを保持する場合、キャッシュの配置を決定する手法として例えば遺伝的アルゴリズムを利用することができる。具体的には、以下の手順を繰り返し、最適なキャッシュ配置を探索する。
<Comparative example>
FIG. 14 is a diagram for explaining a procedure for determining cache placement using a genetic algorithm. When the caches are held in a distributed manner in the network as described above, a genetic algorithm can be used as a method for determining the cache placement. Specifically, the following procedure is repeated to search for the optimum cache placement.

(1)初期値の決定
まず、各サーバにおいてキャッシュするファイルをランダムに決定した配置を、一定数生成する。本ステップでは、例えばランダムに300通りのキャッシュ配置を生成する。図14の例では、模式的に配信サーバと接続された3つの中継ノードと、各中継ノードに1つずつ接続された要求元ノードを示している。初期値の決定においては、キャッシュ配置1、2、3・・・に示すように、ランダムにキャッシュするファイルを決定する。なお、図14のキャッシュ配置1、2、3・・・に示す正方形内の数字は、キャッシュするファイルの識別情報を示している。また、3つの中継ノードは、5つずつファイルをキャッシュする例を示している。
(1) Determination of Initial Value First, a fixed number of files, which are randomly determined to cache files in each server, are generated. In this step, for example, 300 cache arrangements are randomly generated. In the example of FIG. 14, three relay nodes that are connected to the distribution server and one request source node that is connected to each relay node are schematically shown. In determining the initial value, files to be cached are randomly determined as shown in cache allocations 1, 2, 3,.... The numbers in the squares shown in the cache arrangements 1, 2, 3,... In FIG. 14 indicate identification information of files to be cached. In addition, three relay nodes show an example in which five files are cached.

(2)通信量の算出
次に、各キャッシュ配置に対して、通信量を算出する。通信量は、トポロジ、キャッシュ配置、アクセス頻度から求められる。要求元ノードiが最も近いファイルkを保持するノードjからファイルを取得するときの通信量tikは、以下の式(1)によって求めることができる。

Figure 0006712744
また、発生する総通信量Tは、以下の式(2)によって求めることができる。
Figure 0006712744
なお、sはファイルkのサイズ、rjkはノードjがファイルkを保持しているとき1、それ以外のとき0、d(i,j)はノードiからノードjまでのホップ数、pはファイルkを要求する頻度である。図14において、例えばキャッシュ配置1、2、3・・・の右に示す通り、キャッシュ配置1、2について算出された通信量が100、90であったものとする。(2) Calculation of communication amount Next, the communication amount is calculated for each cache arrangement. The amount of communication is calculated from the topology, cache arrangement, and access frequency. The communication amount t ik when the request source node i acquires a file from the node j that holds the closest file k can be calculated by the following equation (1).
Figure 0006712744
Further, the total communication traffic T to be generated can be obtained by the following equation (2).
Figure 0006712744
Incidentally, s k is the number of hops size of the file k, 1 when r jk is the node j holds the file k, at other times 0, d (i, j) from node i to node j, p k is the frequency of requesting the file k. In FIG. 14, for example, as shown on the right of the cache arrangements 1, 2, 3,..., It is assumed that the communication amounts calculated for the cache arrangements 1 and 2 are 100 and 90.

(3)選択
そして、通信量に基づいて所定数のキャッシュ配置を選択する。具体的には、通信量の逆数に比例した確率に基づき、キャッシュ配置を選択する。すなわち、通信量の小さいものほど選択されやすいルールによってキャッシュ配置が抽出される。図11の例では、キャッシュ配置1、2が選択される確率の大きさは、相対的に1/100と、1/90の関係になる。図14の例においては、キャッシュ配置1及び2が選択されたものとする。
(3) Selection Then, a predetermined number of cache arrangements are selected based on the communication volume. Specifically, the cache placement is selected based on the probability proportional to the reciprocal of the communication amount. That is, the cache arrangement is extracted according to the rule that the smaller the communication amount, the easier the selection. In the example of FIG. 11, the magnitudes of the probabilities that the cache arrangements 1 and 2 are selected are relatively 1/100 and 1/90. In the example of FIG. 14, it is assumed that cache arrangements 1 and 2 are selected.

(4)交叉
次に、選択されたキャッシュ配置から新たなキャッシュ配置を生成する。具体的には、まず図14の交叉1に示すように、キャッシュ配置1とキャッシュ配置2とにおいて、中継ノードごとに共通しているキャッシュファイルを抽出する。そして、交叉2に示すように、もとのキャッシュ配置1及び2に共通していないファイルからランダムにファイルを選択する。
(4) Crossover Next, a new cache arrangement is generated from the selected cache arrangement. Specifically, first, as shown in the crossover 1 of FIG. 14, in the cache arrangement 1 and the cache arrangement 2, a cache file common to each relay node is extracted. Then, as shown by crossover 2, a file is randomly selected from files that are not common to the original cache arrangements 1 and 2.

(5)突然変異
その後、生成されたキャッシュ配置の一部をランダムに変化させる。本ステップでは、すべてのキャッシュファイルを対象として、例えば0.1%のように所定の確率でランダムにファイルを変更する。
(5) Mutation After that, a part of the generated cache arrangement is randomly changed. In this step, all cache files are subject to random change with a predetermined probability such as 0.1%.

(6)選択
さらに、手順(3)〜(5)を繰り返して生成された複数のキャッシュ配置の中から、通信量の小さいものを所定数選択する。本ステップでは、例えば300種類のキャッシュ配置を選択する。
(6) Selection Furthermore, from a plurality of cache arrangements generated by repeating steps (3) to (5), a predetermined number with a small communication amount is selected. In this step, for example, 300 types of cache arrangements are selected.

その後、手順(2)に戻り、処理を繰り返す。以上のようにして、通信量がより小さいキャッシュ配置へ収束させ、準最適なキャッシュ配置を求めることができる。 After that, the procedure is returned to the procedure (2) and the processing is repeated. As described above, it is possible to converge to a cache arrangement having a smaller communication amount and obtain a sub-optimal cache arrangement.

図15は、本発明に係るネットワーク、比較例に係るネットワーク、協調なしのLFUによってキャッシュを行うネットワークについて、外部サーバとの通信量を比較したグラフである。グラフの縦軸は、キャッシュを行わない場合を1とした外部サーバとの相対的な通信量を表している。ネットワークトポロジは、図1に示したメッシュ型のネットワークを採用した。また、外部サーバとは、図1の配信サーバ2をいうものとする。また、通信量の計算において、各ノードはそれぞれファイル全体の10%を保持可能とした。 FIG. 15 is a graph comparing the amount of communication with an external server with respect to the network according to the present invention, the network according to the comparative example, and the network that performs caching by the LFU without cooperation. The vertical axis of the graph represents the amount of communication with the external server relative to 1 when the cache is not performed. As the network topology, the mesh type network shown in FIG. 1 is adopted. The external server is the distribution server 2 in FIG. Further, in the calculation of the communication amount, each node can hold 10% of the entire file.

図16は、ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。図16の横軸は、アクセス頻度の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。本発明に係るネットワークにおいて、ファイルに付すタグの設定は、上述した比較例において求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図16の実線は、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求められた準最適なキャッシュ配置におけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。また、丸の点線は、本発明に係る4種のグループに分類したノードで形成されるネットワークにおいて、GAのファイル数に従って決定されたキャッシュするファイル数の設定の一例を表している。太く短い破線は、本発明に係る8種のグループに分類したノードによってキャッシュするファイルを、GAで求めたファイル数に基づいて決定する例を表している。細く長い破線は、本発明に係る16種のグループに分類したノードによってキャッシュするファイルを、GAで求めたファイル数に従って決定する例を表している。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を増やすことで準最適な配置に対する近似の精度を向上させることができる。このように、図10に示した、人気の程度を示す各カテゴリに対応付けられるファイルの数は、予め所定のアルゴリズムを利用して求められた、ほぼ同一のネットワークにおける準最適なキャッシュ配置を近似した値となるように、上記ファイルに割り当てるグループ及びネットワーク上のノードに割り当てるグループの少なくともいずれかを決定するようにしてもよい。 FIG. 16 is a graph showing files cached on the network and the number thereof. The horizontal axis of FIG. 16 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. In the network according to the present invention, the setting of tags attached to files may be determined according to the type of files cached on a node and the number of nodes that cache the same file in the cache arrangement required in the above-described comparative example. .. The solid line in FIG. 16 represents the relationship between the file in the sub-optimal cache arrangement obtained by the genetic algorithm (GA) and the number of files cached on the network. Also, the dotted circles represent an example of setting the number of files to be cached, which is determined according to the number of files in the GA in the network formed by the nodes classified into four types of groups according to the present invention. The thick and short broken line represents an example in which files to be cached by the nodes classified into eight types of groups according to the present invention are determined based on the number of files obtained by GA. A thin long broken line represents an example in which files cached by the nodes classified into 16 types of groups according to the present invention are determined according to the number of files obtained by GA. In the present embodiment, the number of nodes on the network that cache the file can be adjusted by changing the group assigned to each file, which is represented by the tag described above. Further, by increasing the number of types of groups, it is possible to improve the accuracy of approximation for the sub-optimal arrangement. As described above, the number of files associated with each category indicating the degree of popularity shown in FIG. 10 approximates a sub-optimal cache arrangement in almost the same network, which is obtained in advance by using a predetermined algorithm. At least one of the group to be assigned to the file and the group to be assigned to the node on the network may be determined so as to have the above value.

図15のグラフの横軸に示す協調なしLFUは、各ノードが独立してアクセス頻度の低いキャッシュファイルを削除する場合の通信量の一例を示す。4色、8色、16色は、それぞれノードを4つのグループ、8つのグループ、16のグループに分類して本発明に係るキャッシュ配置を行った場合の通信量を示す。GAは、比較例に係る遺伝的アルゴリズムによりキャッシュ配置を決定した場合の通信量を示す。図15に示すように、本発明に係るキャッシュ配置によれば、グループ数の増加に伴い実効キャッシュ容量が増加し、16色の例ではファイル配信サーバとの通信量は、協調なしLFUに対し95.3%の通信量を削減できている。これに対し、GAの方が通信量は低いものの、16色の例ではGAによる準最適なキャッシュ配置とほぼ同等の通信量といえる。 The non-cooperative LFU shown on the horizontal axis of the graph of FIG. 15 shows an example of the communication amount when each node independently deletes a cache file with low access frequency. The 4 colors, 8 colors, and 16 colors indicate the communication amounts when the nodes are classified into 4 groups, 8 groups, and 16 groups and the cache arrangement according to the present invention is performed. GA indicates the traffic when the cache placement is determined by the genetic algorithm according to the comparative example. As shown in FIG. 15, according to the cache arrangement according to the present invention, the effective cache capacity increases as the number of groups increases, and in the example of 16 colors, the communication volume with the file distribution server is 95 for the uncoordinated LFU. The amount of communication has been reduced by 3%. On the other hand, although the GA has a lower communication volume, the 16-color example has a communication volume almost equal to that of the suboptimal cache arrangement by GA.

図17は、ネットワーク内部における通信量を、本発明に係るネットワーク、比較例に係るネットワーク、協調なしのLFUによってキャッシュを行うネットワークについて示すグラフである。縦軸は、キャッシュを行わない場合を1としたネットワーク内の通信量を表している。横軸は、図15の例と同様である。例えば16色のネットワークにおいては、協調なしLFUに対して51%の通信量が削減されている。また、本発明に係るネットワークとGAによる準最適なキャッシュ配置とはほぼ同等の通信量といえる。 FIG. 17 is a graph showing the amount of communication inside the network for the network according to the present invention, the network for the comparative example, and the network for caching by the LFU without cooperation. The vertical axis represents the amount of communication in the network when the case where the cache is not performed is 1. The horizontal axis is the same as in the example of FIG. For example, in a 16-color network, the amount of communication is reduced by 51% compared to the LFU without coordination. Further, it can be said that the network according to the present invention and the suboptimal cache arrangement by GA have almost the same communication volume.

GAによるキャッシュ配置の決定には、一般的なコンピュータで10時間以上の計算が必要であるのに対し、本発明に係るキャッシュ配置は数秒程度で計算が完了する。すなわち、本発明によれば、ファイルのアクセス頻度に従ってファイルに対し循環的にタグを付すことによりファイルのキャッシュ配置を決定することができる。また、ノードに対するグループ分けの設定も、本発明によればN色による塗り分け問題として決定することができる。ノードに対するグループ分けの設定は、キャッシュサーバで構成されるネットワークにおいては構成の変更が少なく再計算を行う必要はほとんどない。また、PC(Personal Computer)によって構成されるネットワークにおいて個々のPCをキャッシュサーバとして機能させる場合は、新たにネットワークに接続されるPCに対し近傍に存在しないグループを割り当てることによりグループを決定できる。このように、本発明によれば、準最適な配置に比して遜色ないキャッシュ配置を、簡便に決定できる。 A general computer requires 10 hours or more of calculation to determine the cache placement by the GA, whereas the cache placement according to the present invention is completed in about several seconds. That is, according to the present invention, the cache arrangement of files can be determined by cyclically tagging the files according to the access frequency of the files. Further, according to the present invention, the setting of grouping for nodes can also be determined as a coloring problem with N colors. The setting of grouping for nodes does not need to be recalculated because there is little change in the configuration in the network composed of cache servers. Further, in the case where each PC is made to function as a cache server in a network composed of PCs (Personal Computers), it is possible to determine a group by assigning a group that does not exist in the vicinity to a PC newly connected to the network. As described above, according to the present invention, it is possible to easily determine a cache placement that is comparable to the suboptimal placement.

<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
<Other>
The present invention includes a computer program that executes the above processing. Furthermore, a computer-readable recording medium in which the program is recorded 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 can be performed by causing a 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 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. Further, a hard disk drive, a ROM, and the like are examples of the recording medium fixed to the computer.

1 ネットワークシステム
2 配信サーバ
241 :ファイル配信部
242 :頻度算出部
243 :設定変更部
244 :セキュリティ制御部
3 ファイル
4 ノード
441 :ファイル要求部
442 :伝送中継部
443 :キャッシュ保持部
444 :キャッシュ送信部
445 :キャッシュ削除部
446 :セキュリティ制御部
1 network system 2 distribution server 241: file distribution unit 242: frequency calculation unit 243: setting change unit 244: security control unit 3 file 4 node 441: file request unit 442: transmission relay unit 443: cache holding unit 444: cache transmission unit 445: cache deletion unit 446: security control unit

Claims (14)

送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムであって、
複数の前記ノード装置には、次数の高い前記ノード装置から、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当てられ、
前記ファイルは、前記複数のグループの各々に対応し、対応するグループにおいて保持すべきことを示すビットを含むビット列で表される、ゼロ以上の前記グループを示す情報と関連付けられ、
前記ノード装置は、
当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、
他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するキャッシュ送信部と、
を含む
ネットワークシステム。
A network system including a plurality of node devices for temporarily holding files to be transmitted and received,
The plurality of node devices is one of a plurality of groups for specifying a file to be held by the node device from the node device having a high degree , and exists in the vicinity of the node device in the network topology. The remaining groups that are excluded in order are assigned,
The file is associated with each of the plurality of groups, and is associated with information indicating zero or more of the groups , which is represented by a bit string including a bit indicating that the corresponding group should be retained ,
The node device is
When receiving the file associated with the information indicating the group to which the node device belongs, a cache holding unit that temporarily holds the file as a cache file,
When holding the cache file corresponding to the file requested by another node device, a cache transmission unit that transmits the cache file to the other node device,
Network system including.
前記グループが4以上存在する
請求項1に記載のネットワークシステム。
The network system according to claim 1, wherein there are four or more groups.
前記ファイルに対するアクセスの頻度を算出するアクセス管理装置をさらに含み、
前記アクセス管理装置は、算出した前記頻度に基づいて、前記ファイルに関連付ける前記グループを示す情報を変更する
請求項1又は2に記載のネットワークシステム。
Further comprising an access management device that calculates the frequency of access to the file,
The network system according to claim 1, wherein the access management device changes information indicating the group associated with the file based on the calculated frequency.
前記アクセス管理装置は、前記ファイルに割り当てる前記グループを示す情報を削除したファイルについて、前記ノード装置に対し当該ファイルを削除させるための通知を行い、
前記ノード装置は、前記通知に基づいて前記キャッシュファイルを削除するキャッシュ削除部をさらに有する
請求項3に記載のネットワークシステム。
The access management device, for a file from which the information indicating the group to be assigned to the file is deleted, notifies the node device to delete the file,
The network system according to claim 3, wherein the node device further includes a cache deletion unit that deletes the cache file based on the notification.
前記キャッシュ保持部は、キャッシュを許可するファイルを特定するためのホワイトリスト、キャッシュを禁止するファイルを特定するためのブラックリスト、又は前記ファイルが有する当該ファイルに対するキャッシュの許否を示すフラグに基づいて、受信した前記ファイルを保持するか否か判断する
請求項1から4のいずれか一項に記載のネットワークシステム。
The cache holding unit is based on a white list for specifying files that are allowed to be cached, a black list for specifying files that are not allowed to be cached, or a flag indicating whether or not to allow the files to be cached by the file, The network system according to claim 1, wherein it is determined whether to retain the received file.
前記ファイルは、所定のハイパーテキストによる文書からリンクされると共に、基準となる文書からの経由するリンク数に基づいて、前記ファイルに割り当てる前記グループを示す情報が割り当てられる
請求項1から5のいずれか一項に記載のネットワークシステム。
The file is linked from a document in a predetermined hypertext, and information indicating the group to be assigned to the file is assigned based on the number of links passing from a reference document. The network system according to one item.
前記ファイルは秘密分散法により複数の部分ファイルに分割され、各部分ファイルには異なる前記グループを示す情報が関連付けられる
請求項1から6のいずれか一項に記載のネットワークシステム。
The network system according to any one of claims 1 to 6, wherein the file is divided into a plurality of partial files by a secret sharing method, and each partial file is associated with information indicating a different group.
前記ファイルはデジタルコンテンツであり、
前記ノード装置は、コンテンツ配信ネットワークを形成するキャッシュサーバである
請求項1から7のいずれか一項に記載のネットワークシステム。
The file is digital content,
The network system according to any one of claims 1 to 7, wherein the node device is a cache server forming a content distribution network.
送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムによって実行されるファイルのキャッシュ方法であって、
複数の前記ノード装置には、次数の高い前記ノード装置から、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当てられ、
前記ファイルは、前記複数のグループの各々に対応し、対応するグループにおいて保持すべきことを示すビットを含むビット列で表される、ゼロ以上の前記グループを示す情報と関連付けられ、
前記ノード装置が、
当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するステップと、
を実行する
ファイルのキャッシュ方法。
A method of caching a file, which is executed by a network system including a plurality of node devices that temporarily hold files to be transmitted and received,
The plurality of node devices is one of a plurality of groups for specifying a file to be held by the node device from the node device having a high degree , and exists in the vicinity of the node device in the network topology. The remaining groups that are excluded in order are assigned,
The file is associated with each of the plurality of groups, and is associated with information indicating zero or more of the groups , which is represented by a bit string including a bit indicating that the corresponding group should be retained ,
The node device is
When the file associated with the information indicating the group to which the node device belongs is received, a step of temporarily holding the file as a cache file,
When holding the cache file corresponding to the file requested by another node device, transmitting the cache file to the other node device,
How to cache files to run.
送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムにおいて、前記ノード装置によって実行されるファイルのキャッシュプログラムであって、
複数の前記ノード装置には、次数の高い前記ノード装置から、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当
てられ、
前記ファイルは、前記複数のグループの各々に対応し、対応するグループにおいて保持すべきことを示すビットを含むビット列で表される、ゼロ以上の前記グループを示す情報と関連付けられ、
前記ノード装置に、
当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するステップと、
を実行させる
ファイルのキャッシュプログラム。
In a network system including a plurality of node devices for temporarily holding files to be transmitted and received, a file cache program executed by the node device,
The plurality of node devices is one of a plurality of groups for specifying a file to be held by the node device from the node device having a high degree , and exists in the vicinity of the node device in the network topology. The remaining groups are assigned in turn, and the remaining groups are assigned.
The file is associated with each of the plurality of groups, and is associated with information indicating zero or more of the groups , which is represented by a bit string including a bit indicating that the corresponding group should be retained ,
In the node device,
When the file associated with the information indicating the group to which the node device belongs is received, a step of temporarily holding the file as a cache file,
When holding the cache file corresponding to the file requested by another node device, transmitting the cache file to the other node device,
A file caching program that runs
自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、複数のノード装置のうち次数の高い前記ノード装置から、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置であって、
前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出する頻度算出部と、
頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、当該ファイルを保持すべきゼロ以上の前記グループを決定し、前記ファイルと、決定されたグループを示す、前記複数のグループの各々に対応するビットを含むビット列で表される情報との組合せを示す情報を前記ノード装置へ送信する設定変更部と、
を備える管理装置。
One of a plurality of groups for identifying a file to be held by itself, in the network topology, from the node device having a higher order among the plurality of node devices, the groups existing in the vicinity of the node device are sequentially ordered. When the remaining excluded group is assigned and the file associated with the information indicating the group to which it belongs is received, it is connected to a network system including a plurality of node devices that temporarily retain the file as a cache file. Management device,
A frequency calculation unit that counts acquisition requests for the file from the node device and calculates a frequency,
Based on the frequency calculated by the frequency calculation unit, assigns to the file , determines zero or more groups that should hold the file, and indicates the file and the determined group, and corresponds to each of the plurality of groups. A setting changing unit for transmitting information indicating a combination with information represented by a bit string including bits to the node device;
A management device including.
前記設定変更部は、取得要求を受ける頻度が高いファイルほど多くのグループを割り当てる
請求項11に記載の管理装置。
The management device according to claim 11, wherein the setting changing unit allocates more groups to files having a higher frequency of receiving an acquisition request.
自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、複数のノード装置のうち次数の高い前記ノード装置から、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置が、
前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出するステップと、
頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、当該ファイルを保持すべきゼロ以上の前記グループを決定し、前記ファイルと、決定された前記グループを示す、前記複数のグループの各々に対応するビットを含むビット列で表される情報との組合せを示す情報を前記ノード装置へ送信するステップと、
を実行する管理方法。
One of a plurality of groups for identifying a file to be held by itself, in the network topology, from the node device having a higher order among the plurality of node devices, the groups existing in the vicinity of the node device are sequentially ordered. When the remaining excluded group is assigned and the file associated with the information indicating the group to which it belongs is received, it is connected to a network system including a plurality of node devices that temporarily retain the file as a cache file. Management device
Counting acquisition requests for the file from the node device, and calculating a frequency,
Assigns to the file based on the frequency calculated by the frequency calculation unit, determines zero or more groups that should hold the file, and indicates the file and the determined group, corresponding to each of the plurality of groups Transmitting information indicating a combination with information represented by a bit string including a bit to the node device,
Management method to perform.
自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、複数のノード装置のうち次数の高い前記ノード装置から、当該ノード装置の近傍に存在するグループを順に除外した残りのグループが割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネット
ワークシステムに接続される管理装置に、
前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出するステップと、
頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、当該ファイルを保持すべきゼロ以上の前記グループを決定し、前記ファイルと、決定された前記グループを示す、前記複数のグループの各々に対応するビットを含むビット列で表される情報との組合せを示す情報を前記ノード装置へ送信するステップと、
を実行させる管理プログラム。
One of a plurality of groups for identifying a file to be held by itself, in the network topology, from the node device having a higher order among the plurality of node devices, the groups existing in the vicinity of the node device are sequentially ordered. When the remaining excluded group is assigned and the file associated with the information indicating the group to which it belongs is received, it is connected to a network system including a plurality of node devices that temporarily retain the file as a cache file. Management device,
Counting acquisition requests for the file from the node device, and calculating a frequency,
Assigns to the file based on the frequency calculated by the frequency calculation unit, determines zero or more groups that should hold the file, and indicates the file and the determined group, corresponding to each of the plurality of groups Transmitting information indicating a combination with information represented by a bit string including a bit to the node device,
A management program that executes.
JP2018551597A 2016-11-17 2017-11-09 Network system, cache method, cache program, management device, management method and management program Active JP6712744B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016224243 2016-11-17
JP2016224243 2016-11-17
PCT/JP2017/040485 WO2018092679A1 (en) 2016-11-17 2017-11-09 Network system, cache method, cache program, management device, management method and management program

Publications (2)

Publication Number Publication Date
JPWO2018092679A1 JPWO2018092679A1 (en) 2019-10-17
JP6712744B2 true JP6712744B2 (en) 2020-06-24

Family

ID=62145902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018551597A Active JP6712744B2 (en) 2016-11-17 2017-11-09 Network system, cache method, cache program, management device, management method and management program

Country Status (2)

Country Link
JP (1) JP6712744B2 (en)
WO (1) WO2018092679A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022119085A1 (en) * 2020-12-01 2022-06-09 삼성전자 주식회사 Method for performing integrity check, and electronic device using same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7371849B2 (en) * 2019-06-06 2023-10-31 Tis株式会社 Network system, distribution server, distribution method, distribution program
CN112261154A (en) * 2020-11-23 2021-01-22 国网能源研究院有限公司 Power grid data file storage method and device and electronic equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4042359B2 (en) * 2001-07-10 2008-02-06 日本電気株式会社 Cache control method and cache device
JP4797679B2 (en) * 2006-02-20 2011-10-19 ブラザー工業株式会社 CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
JP2008140050A (en) * 2006-11-30 2008-06-19 Brother Ind Ltd Network system, distribution control device, distribution method, and distribution control program
JP6190288B2 (en) * 2014-02-25 2017-08-30 日本電信電話株式会社 Cache control apparatus, method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022119085A1 (en) * 2020-12-01 2022-06-09 삼성전자 주식회사 Method for performing integrity check, and electronic device using same

Also Published As

Publication number Publication date
JPWO2018092679A1 (en) 2019-10-17
WO2018092679A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
CN103262063B (en) For the method and apparatus created in leading network in content and manage virtual private group
US20220046088A1 (en) Systems and methods for distributing partial data to subnetworks
CN111488595B (en) Method for realizing authority control and related equipment
CN107690800B (en) Managing dynamic IP address allocation
EP3510743B1 (en) Interchangeable retrieval of sensitive content via private content distribution networks
JP2017519269A5 (en)
CN109565518B (en) Method and system for interchangeable content retrieval
US10581804B2 (en) End-to-end caching of secure content via trusted elements
JP6712744B2 (en) Network system, cache method, cache program, management device, management method and management program
CN113114656B (en) Infrastructure layout method based on edge cloud computing
KR101393159B1 (en) Method and apparatus for controlling access based on key in social network service
JP6858328B2 (en) Realization of storage system using personal user device and data distribution device
US11449640B1 (en) Real-time feature level software security
JPWO2012026082A1 (en) Condition matching system, condition matching link device, and condition matching processing method
US20190171795A1 (en) System and method to limit content distribution
CN108521362A (en) A kind of network architecture and its access method based on P2P-VPN
KR20120003356A (en) System and method for offering cloud computing service
JP6500645B2 (en) Information processing apparatus and program
JP6888478B2 (en) Sorting system
US8881242B2 (en) Information communication system, information communication method, node apparatus and recording medium
AU2023203129B2 (en) Systems and methods for distributing partial data to subnetworks
EP3155762B1 (en) Multi-peer routing in a network
US11841875B2 (en) Database sharing in a virtual private deployment
US11240309B1 (en) State management and storage with policy enforcement in a distributed cloud computing network
CN105554030A (en) Safe cloud storage method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190906

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190906

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6712744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250