JP2010009448A - Distributed information arrangement system - Google Patents
Distributed information arrangement system Download PDFInfo
- Publication number
- JP2010009448A JP2010009448A JP2008170115A JP2008170115A JP2010009448A JP 2010009448 A JP2010009448 A JP 2010009448A JP 2008170115 A JP2008170115 A JP 2008170115A JP 2008170115 A JP2008170115 A JP 2008170115A JP 2010009448 A JP2010009448 A JP 2010009448A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- node
- cache
- cache node
- data
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、通信ネットワーク(以下NWと略す)上に情報のキャッシュを分散させる分散情報配置システムに関する。 The present invention relates to a distributed information arrangement system for distributing a cache of information on a communication network (hereinafter abbreviated as NW).
近年、インターネットにおける情報コンテンツの配信サービスや、個人ユーザが情報コンテンツを発信して交換するピア・ツウ・ピアのネットワークサービスの利用が進んでいる。ネットワークを利用して情報コンテンツを配信する際、サーバ装置の処理能力などに制限があるため、処理性能を確保する目的で、1以上のキャッシュをネットワーク上に設け、一時的にサーバ装置のコンテンツを保持することが行われている。NW上にコンテンツのキャッシュを分散させる技術の一例が特許文献1に記載されている。
In recent years, the use of information content distribution services on the Internet and peer-to-peer network services in which individual users transmit and exchange information contents have advanced. When distributing information content using a network, the processing capacity of the server device is limited. Therefore, in order to ensure processing performance, one or more caches are provided on the network, and the server device content is temporarily stored. To be held. An example of a technique for distributing content caches on an NW is described in
特許文献1に記載される技術(以下、本発明の関連技術と記す)では、サーバ装置がインターネットを介して複数のキャッシュクラスタに接続され、各キャッシュクラスタがアクセス網を介してクライアント端末に接続される。各キャッシュクラスタは、複数のキャッシュから構成される。サーバ装置は、クライアント端末からの配送要求を受信すると、各キャッシュの負荷などを考慮して何れかのキャッシュクラスタから最適なキャッシュを選択し、データ配送を指示する。データ配送を指示されたキャッシュは、データをクライアント端末へ配送する。またサーバ装置は、コンテンツのアクセス頻度に応じて、各キャッシュクラスタ内のキャッシュ数の増減を集中管理している。 In the technology described in Patent Document 1 (hereinafter referred to as related technology of the present invention), a server device is connected to a plurality of cache clusters via the Internet, and each cache cluster is connected to a client terminal via an access network. The Each cache cluster is composed of a plurality of caches. When receiving the delivery request from the client terminal, the server device selects an optimum cache from any one of the cache clusters in consideration of the load of each cache, and instructs data delivery. The cache instructed to deliver data delivers the data to the client terminal. The server device centrally manages the increase / decrease in the number of caches in each cache cluster according to the access frequency of the content.
上述した本発明の関連技術は、各キャッシュクラスタ内のキャッシュ数をコンテンツのアクセス頻度に応じて増減制御することにより、キャッシュ数の最適化を図っている。しかしながら、キャッシュクラスタの数自体は管理者によって事前に決定され、システム運用中に変更されることはない(特許文献1の25段落参照)。このため、管理者がコンテンツへのアクセス需要を過大に見積もり、キャッシュクラスタを実需より多く作成し過ぎた場合には、稼動率の低いキャッシュクラスタが生じて資源の無駄が発生する。逆に、管理者がコンテンツへのアクセス需要を過少に見積もり、キャッシュクラスタを実需より少なく作成した場合には、各キャッシュクラスタ内のキャッシュ数の増加では対処し切れないほど各キャッシュクラスタの負荷が高まり、レスポンスやスループットの低下を招くことになる。しかし、システム運用前に実需を正確に見積もることは困難である。また、システム運用中にアクセス需要が大幅に変化することもある。 In the related art of the present invention described above, the number of caches in each cache cluster is controlled to increase or decrease in accordance with the access frequency of the content, thereby optimizing the number of caches. However, the number of cache clusters itself is determined in advance by the administrator and is not changed during system operation (see paragraph 25 of Patent Document 1). For this reason, when the administrator overestimates the access demand to the contents and creates more cache clusters than the actual demand, a cache cluster with a low operation rate is generated and resources are wasted. Conversely, if the administrator underestimates the access demand to the content and creates fewer cache clusters than actual demand, the load on each cache cluster increases so that the increase in the number of caches in each cache cluster cannot be handled. This will cause a decrease in response and throughput. However, it is difficult to accurately estimate actual demand before system operation. Also, the access demand may change significantly during system operation.
本発明はこのような事情に鑑みて提案されたものであり、その目的は、システム運用中にクラスタの数を動的に変更することのできる分散情報配置システムを提供することにある。 The present invention has been proposed in view of such circumstances, and an object thereof is to provide a distributed information arrangement system capable of dynamically changing the number of clusters during system operation.
本発明の第1の分散情報配置システムは、データを記憶するキャッシュと該キャッシュから前記データを読み出して端末装置に送信する手段とを備えた複数のノード装置がネットワークを介して接続された分散情報配置システムであって、同一のデータを前記キャッシュに記憶する1以上の前記ノード装置の集合から構成されるクラスタを備え、前記クラスタでは、前記集合に含まれる1以上の前記ノード装置のうちの何れか1つが代表ノードとして機能し、前記代表ノードは、新クラスタ生成条件が成立したか否かを判定する手段と、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信する手段を備え、前記新規クラスタの生成指示を受信した前記ノード装置は、前記データのコピーを自ノード装置の前記キャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成する手段を備える。 The first distributed information arrangement system of the present invention is a distributed information in which a plurality of node devices including a cache for storing data and means for reading the data from the cache and transmitting the data to a terminal device are connected via a network. A placement system comprising a cluster composed of a set of one or more node devices that store the same data in the cache, wherein the cluster includes any one of the one or more node devices included in the set One of them functions as a representative node, and the representative node has a means for determining whether or not a new cluster generation condition is satisfied, and has not yet cached the data when the new cluster generation condition is satisfied. Means for sending a new cluster generation instruction to the node device with a copy of the data, Star said node device receiving the instruction for generating a copy of said data stored in said cache of the node device comprises means for generating a new cluster to the representative node of the own node device.
本発明の第1の分散情報配置方法は、データを記憶するキャッシュと該キャッシュから前記データを読み出して端末装置に送信する手段とを備えるネットワーク上のノード装置のうち、同一のデータを前記キャッシュに記憶する1以上の前記ノード装置の集合で1つのクラスタを形成するステップと、前記クラスタを構成する1以上の前記ノード装置のうちの代表ノードとして機能するノード装置が、新クラスタ生成条件が成立したか否かを判定し、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信するステップと、前記新規クラスタの生成指示を受信した前記ノード装置が、前記データのコピーを自ノード装置の前記キャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成するステップとを含む。 A first distributed information arrangement method according to the present invention is the same as a node device on a network including a cache for storing data and means for reading the data from the cache and transmitting the data to a terminal device. A step of forming one cluster by a set of one or more node devices to be stored and a node device functioning as a representative node among the one or more node devices constituting the cluster satisfy a new cluster generation condition. If the new cluster generation condition is satisfied, a new cluster generation instruction is transmitted with a copy of the data to the other node devices that have not yet cached the data. And the node device that has received the new cluster generation instruction sends a copy of the data to its own node device. Serial and stored in the cache, and generating a new cluster to the representative node of the own node device.
本発明の第1のノード装置は、データを記憶するキャッシュと該キャッシュから前記データを読み出して端末装置に送信する手段とを備え、同一の前記データを前記キャッシュに記憶する他のノード装置と一緒に1つのクラスタを形成し、前記クラスタの代表ノードとして機能するノード装置であって、新クラスタ生成条件が成立したか否かを判定する手段と、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信する手段とを備える。 The first node device of the present invention comprises a cache for storing data and means for reading the data from the cache and transmitting it to the terminal device, together with other node devices for storing the same data in the cache A node device that functions as a representative node of the cluster and determines whether or not a new cluster generation condition is satisfied, and when the new cluster generation condition is satisfied, And a means for transmitting a new cluster generation instruction with a copy of the data to the other node device that has not yet cached the data.
本発明の第2のノード装置は、データを記憶するキャッシュと該キャッシュから前記データを読み出して端末装置に送信する手段とを備えたノード装置であって、新クラスタ生成条件が成立したクラスタの代表ノードから新規クラスタの生成指示を受信した場合に、該受信した新規クラスタの生成指示に添付されたデータのコピーを自ノード装置の前記キャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成する手段を備える。 A second node device according to the present invention is a node device comprising a cache for storing data and means for reading the data from the cache and transmitting the data to a terminal device, and is a representative of a cluster for which a new cluster generation condition has been established. When a new cluster generation instruction is received from a node, a copy of the data attached to the received new cluster generation instruction is stored in the cache of the own node apparatus, and the new cluster having the own node apparatus as a representative node Is provided.
本発明によれば、クラスタの代表ノードが、新クラスタ生成条件が成立したか否かを判定し、新クラスタ生成条件が成立した場合に、データを未だキャッシュしていない他のノード装置に対して、当該データのコピーを添えて新規クラスタの生成指示を送信し、新規クラスタの生成指示を受信したノード装置が、データのコピーを自ノード装置のキャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成するため、システム運用中にクラスタの数を動的に変更することが可能である。 According to the present invention, the representative node of the cluster determines whether or not the new cluster generation condition is satisfied, and when the new cluster generation condition is satisfied, for other node devices that have not yet cached data. The node device that has sent the new cluster generation instruction with the copy of the data and received the new cluster generation instruction stores the copy of the data in the cache of the local node device, and the local node device is the representative node. Since a new cluster is generated, the number of clusters can be dynamically changed during system operation.
次に本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図19を参照すると、本発明の第1の実施の形態に係る分散情報配置システムは、IPネットワーク上に分散する多数のノード装置1001のうち、複数のノード装置1001−1〜1001−9に同じ提供対象データを記憶し、これら複数のノード装置1001−1〜1001−9からユーザ端末1002−1〜1002−4に対して提供対象データを提供する。提供対象データとしては、或る種のファイルやデータベースなどが該当する。
Referring to FIG. 19, the distributed information arrangement system according to the first exemplary embodiment of the present invention is the same as a plurality of node devices 1001-1 to 1001-9 among
図19に示されるシステムでは、同じ提供対象データ(説明の便宜上、データDとする)に関し、それをキャッシュしているノード装置は全部で9台あり、そのうちノード装置1001−1はデータDのオリジナルを記憶し、残り8台のノード装置1001−2〜1001−9はそのコピーを記憶する。ノード装置1001−1〜1001−9は、データDに関してそれぞれキャッシュノードとなる。また、データDのオリジナルを記憶するキャッシュノード1001−1は、コピーを記憶するキャッシュノード1001−2〜1001−9と区別するために、データDのオリジナルキャッシュノードと呼ぶ。 In the system shown in FIG. 19, there are a total of nine node devices that cache the same data to be provided (for convenience of explanation, data D), of which node device 1001-1 is the original of data D The remaining eight node devices 1001-2 to 1001-9 store the copies. The node devices 1001-1 to 1001-9 each serve as a cache node for the data D. Further, the cache node 1001-1 storing the original of the data D is referred to as the original cache node of the data D in order to distinguish from the cache nodes 1001-2 to 1001-9 storing the copy.
オリジナルキャッシュノード1001−1と2台のキャッシュノード1001−2、1001−3との合計3台は、データDに関して1つのクラスタ1004−1を形成している。同様に、3台のキャッシュノード1001−4〜1001−6は、データDに関して別の1つのクラスタ1004−2を形成し、3台のキャッシュノード1001−7〜1001−9は、データDに関してさらに別の1つのクラスタ1004−3を形成している。 A total of three of the original cache node 1001-1 and the two cache nodes 1001-2 and 1001-3 form one cluster 1004-1 for the data D. Similarly, three cache nodes 1001-4 to 1001-6 form another cluster 1004-2 for data D, and three cache nodes 1001-7 to 1001-9 Another cluster 1004-3 is formed.
各クラスタ1004−1〜1004−3では、そのクラスタを構成する1以上のキャッシュノードのうちの1台が、代表ノードとして機能する。オリジナルキャッシュノード1001−1を含むクラスタ1004−1では、オリジナルキャッシュノード1001−1が代表ノードとなる。オリジナルキャッシュノード1001−1を含まないクラスタ1004−2、1004−3では、任意のキャッシュノードが代表ノードとなる。図19の状態では、ノード1001−4、1001−7が代表ノードになっている。 In each cluster 1004-1 to 1004-3, one of the one or more cache nodes constituting the cluster functions as a representative node. In the cluster 1004-1 including the original cache node 1001-1, the original cache node 1001-1 is the representative node. In the clusters 1004-2 and 1004-3 that do not include the original cache node 1001-1, an arbitrary cache node is the representative node. In the state of FIG. 19, the nodes 1001-4 and 1001-7 are representative nodes.
各クラスタ1004−1〜1004−3を構成するキャッシュノード間には、クラスタ内オーバーレイネットワーク1005−1〜1005−3が形成されている。また、各クラスタ1004−1〜1004−3の代表ノード1001−1、1001−4、1001−7間には、クラスタ間オーバーレイネットワーク1006が形成されている。オーバーレイネットワークは、ノード装置1001間をつなぐIPネットワークのリンクを用いて、その上位層に形成した仮想的なネットワークである。同じクラスタ1004−1〜1004−3に属するキャッシュノード間では、クラスタ内オーバーレイネットワーク1005−1〜1005−3を通じて、自クラスタの構成メンバとなるノード装置のグローバルIPアドレスや負荷情報などが交換される。クラスタ1004−1〜1004−3間では、クラスタ間オーバーレイネットワーク1006を通じて、各クラスタの代表ノードのグローバルIPアドレスや各クラスタの構成メンバとなるノード装置の数などが交換される。
Intra-cluster overlay networks 1005-1 to 1005-3 are formed between the cache nodes constituting each cluster 1004-1 to 1004-3. Further, an inter-cluster overlay network 1006 is formed between the representative nodes 1001-1, 1001-4, and 1001-7 of each cluster 1004-1 to 1004-3. The overlay network is a virtual network formed in an upper layer using an IP network link connecting the
また図19には、IPネットワークに接続された幾つかのDNS(Domain Name Server)サーバ1003−1〜1003−6が図示されている。 FIG. 19 also shows several DNS (Domain Name Server) servers 1003-1 to 1003-6 connected to the IP network.
ノード装置1001、ユーザ端末1002およびDNSサーバ1003間は、既存のIPネットワークによる通信が可能である。
The
次に、上述のように構成された本実施の形態の分散情報配置システムの概略動作を説明する。 Next, a schematic operation of the distributed information arrangement system of the present embodiment configured as described above will be described.
データDをキャッシュしているキャッシュノード1001−1〜1001−9は、自ノードの負荷情報を計測し、クラスタ内オーバーレイネットワーク1005−1〜1005−3を通じて、同じクラスタに属する他のキャッシュノードと負荷情報を交換している。 The cache nodes 1001-1 to 1001-9 caching the data D measure the load information of the own node, and load with other cache nodes belonging to the same cluster through the intra-cluster overlay networks 1005-1 to 1005-3. Information is exchanged.
また、各キャッシュノード1001−1〜1001−9は、自ノードの所属するネットワークのDNSサーバ1003に対して、自ノードをネットワーク上で一意に識別可能な識別子であるグローバルIPアドレスと、ネットワーク内の他のノードがアクセスする場合に用いるデータDの場所を指し示す記述方式であるURL(Uniform Resource Locator)との対応関係を登録する。 Each of the cache nodes 1001-1 to 1001-9 has a global IP address that is an identifier that can uniquely identify the node on the network, and a DNS server 1003 of the network to which the node belongs. A correspondence relationship with a URL (Uniform Resource Locator), which is a description method indicating the location of data D used when another node accesses, is registered.
図19では、キャッシュノード1001−1が属するネットワークのDNSサーバはDNSサーバ1003−1であるため、キャッシュノード1001−1はDNSサーバ1003−1に、自ノードのグローバルIPアドレスとデータDのURLとの対応関係を登録している。同様に、キャッシュノード1001−2はDNSサーバ1003−2に対して、キャッシュノード1001−3はDNSサーバ1003−3に対して、キャッシュノード1001−4はDNSサーバ1003−4に対して、キャッシュノード1001−5、1001−6はDNSサーバ1003−5に対して、キャッシュノード1001−7〜1001−9はDNSサーバ1003−6に対して、それぞれ自ノードのグローバルIPアドレスとデータDのURLとの対応関係を登録している。 In FIG. 19, since the DNS server of the network to which the cache node 1001-1 belongs is the DNS server 1003-1, the cache node 1001-1 sends the global IP address of the own node and the URL of the data D to the DNS server 1003-1. Is registered. Similarly, the cache node 1001-2 is for the DNS server 1003-2, the cache node 1001-3 is for the DNS server 1003-3, and the cache node 1001-4 is for the DNS server 1003-4. 1001-5 and 1001-6 are for the DNS server 1003-5, and the cache nodes 1001-7 to 1001-9 are for the DNS server 1003-6. The correspondence is registered.
この結果、DNSサーバ1003−5には、データDのURLに対してキャッシュサーバ1001−5とキャッシュサーバ1001−6の2種類のグローバルIPアドレスが登録される。また、DNSサーバ1003−6には、データDのURLに対してキャッシュサーバ1001−7〜1001−9の3種類のグローバルIPアドレスが登録される。各DNSサーバ1003は、同じURLに対して複数のグローバルIPアドレスが登録された場合、URLに対応するIPアドレスの問い合わせに対しては、その何れか1つのIPアドレスを応答する。このとき、好ましくは、複数のグローバルIPアドレスがほぼ均等に使用されるように、URLに対応するグローバルIPアドレスの問い合わせに対する応答中に含めるグローバルIPアドレスを決定する。 As a result, in the DNS server 1003-5, two types of global IP addresses of the cache server 1001-5 and the cache server 1001-6 are registered for the URL of the data D. Also, in the DNS server 1003-6, three types of global IP addresses of cache servers 1001-7 to 1001-9 are registered for the URL of the data D. When a plurality of global IP addresses are registered for the same URL, each DNS server 1003 responds to one of the IP addresses in response to an inquiry about the IP address corresponding to the URL. At this time, preferably, the global IP address to be included in the response to the inquiry about the global IP address corresponding to the URL is determined so that the plurality of global IP addresses are used almost equally.
今、ユーザ端末1002−1〜1002−4の何れかの利用者、例えばユーザ端末1002−1の利用者が、データDをアクセスする場面を想定する。利用者がユーザ端末1002−1で動作するWebブラウザのURL入力テキストボックスにデータDのURLを入力すると、Webブラウザは、最寄りのDNSサーバ1003−3に対して、IPアドレスの検索要求を送信する(図19の矢印1007−11)。DNSサーバ1003−3は、データDのURLに対応してキャッシュノード1001−3のグローバルIPアドレスが登録されているため、キャッシュノード1001−3のグローバルIPアドレスを応答としてユーザ端末1002−1に返す(矢印1007−12)。ユーザ端末1002−1のWebブラウザは、求まったグローバルIPアドレスを使って、キャッシュノード1001−3に対してデータDの取得を要求するリクエストを例えばHTTPプロトコルにより送信する(矢印1007−13)。 Now, it is assumed that any user of the user terminals 1002-1 to 1002-4, for example, the user of the user terminal 1002-1 accesses the data D. When the user inputs the URL of the data D in the URL input text box of the Web browser operating on the user terminal 1002-1, the Web browser transmits an IP address search request to the nearest DNS server 1003-3. (Arrow 1007-11 in FIG. 19). Since the global IP address of the cache node 1001-3 is registered corresponding to the URL of the data D, the DNS server 1003-3 returns the global IP address of the cache node 1001-3 to the user terminal 1002-1 as a response. (Arrow 1007-12). The Web browser of the user terminal 1002-1 transmits a request for requesting acquisition of data D to the cache node 1001-3 using, for example, the HTTP protocol (arrow 1007-13) using the obtained global IP address.
キャッシュノード1001−3は、自ノードおよび同じクラスタ1004−1内の他のキャッシュノード1001−1、1001−2の負荷情報に基づいて、何れのキャッシュノードで当該リクエストを処理するかを判断する。そして、例えばキャッシュノード1001−2をリクエスト処理先に決定したとすると、キャッシュノード1001−3は当該リクエストをクラスタ内オーバーレイネットワーク1005−1経由でキャッシュノード1001−2に転送する(矢印1007−14)。キャッシュノード1001−2は、受信したリクエストを受け付け、要求されたデータを自ノードのキャッシュから読み出し、ユーザ端末1002−1へレスポンスを送信する(矢印1007−15)。 The cache node 1001-3 determines which cache node will process the request based on the load information of the own node and the other cache nodes 1001-1 and 1001-2 in the same cluster 1004-1. For example, if the cache node 1001-2 is determined as the request processing destination, the cache node 1001-3 transfers the request to the cache node 1001-2 via the intra-cluster overlay network 1005-1 (arrow 1007-14). . The cache node 1001-2 accepts the received request, reads the requested data from the cache of its own node, and transmits a response to the user terminal 1002-1 (arrow 1007-15).
次に、ユーザ端末1002−2の利用者が、データDをアクセスする場面を想定する。利用者がユーザ端末1002−2で動作するWebブラウザのURL入力テキストボックスにデータDのURLを入力すると、Webブラウザは、最寄りのDNSサーバ1003−1に対して、IPアドレスの検索要求を送信する(図19の矢印1007−21)。DNSサーバ1003−1は、データDのURLに対応してキャッシュノード1001−1のグローバルIPアドレスが登録されているため、キャッシュノード1001−1のグローバルIPアドレスを応答としてユーザ端末1002−2に返す(矢印1007−22)。ユーザ端末1002−2のWebブラウザは、求まったグローバルIPアドレスを使って、キャッシュノード1001−1に対してデータDの取得を要求するリクエストを例えばHTTPプロトコルにより送信する(矢印1007−23)。 Next, it is assumed that the user of the user terminal 1002-2 accesses the data D. When the user inputs the URL of data D in the URL input text box of the Web browser operating on the user terminal 1002-2, the Web browser transmits an IP address search request to the nearest DNS server 1003-1. (Arrow 1007-21 in FIG. 19). The DNS server 1003-1 returns the global IP address of the cache node 1001-1 to the user terminal 1002-2 as a response because the global IP address of the cache node 1001-1 is registered corresponding to the URL of the data D. (Arrow 1007-22). The web browser of the user terminal 1002-2 uses the obtained global IP address to transmit a request for obtaining data D to the cache node 1001-1 using, for example, the HTTP protocol (arrow 1007-23).
キャッシュノード1001−1は、自ノードおよび同じクラスタ1004−1内の他のキャッシュノード1001−2、1001−3の負荷情報に基づいて、何れのキャッシュノードで当該リクエストを処理するかを判断する。そして、例えば自ノード1001−1をリクエスト処理先に決定したとすると、キャッシュノード1001−1は、受信したリクエストを受け付け、要求されたデータを自ノードのキャッシュから読み出し、ユーザ端末1002−2へレスポンスを送信する(矢印1007−24)。 The cache node 1001-1 determines which cache node will process the request based on the load information of the own node and the other cache nodes 1001-2 and 1001-3 in the same cluster 1004-1. For example, if the own node 1001-1 is determined as the request processing destination, the cache node 1001-1 accepts the received request, reads the requested data from the own node cache, and responds to the user terminal 1002-2. Is transmitted (arrow 1007-24).
次に、ユーザ端末1002−3の利用者が、データDをアクセスする場面を想定する。利用者がユーザ端末1002−3で動作するWebブラウザのURL入力テキストボックスにデータDのURLを入力すると、Webブラウザは、最寄りのDNSサーバ1003−6に対して、IPアドレスの検索要求を送信する(図19の矢印100−31)。DNSサーバ1003−6は、データDのURLに対応して複数のキャッシュノード1001−7〜1001−9のグローバルIPアドレスが登録されているため、その何れか、例えばキャッシュノード1001−9のグローバルIPアドレスを応答としてユーザ端末1002−3に返す(矢印1007−32)。ユーザ端末1002−3のWebブラウザは、求まったグローバルIPアドレスを使って、キャッシュノード1001−9に対してデータDの取得を要求するリクエストを例えばHTTPプロトコルにより送信する(矢印1007−33)。 Next, it is assumed that the user of the user terminal 1002-3 accesses the data D. When the user inputs the URL of data D in the URL input text box of the Web browser operating on the user terminal 1002-3, the Web browser transmits an IP address search request to the nearest DNS server 1003-6. (Arrow 100-31 in FIG. 19). In the DNS server 1003-6, since the global IP addresses of the plurality of cache nodes 1001-7 to 1001-9 are registered corresponding to the URL of the data D, one of them, for example, the global IP address of the cache node 1001-9 is registered. The address is returned to the user terminal 1002-3 as a response (arrow 1007-32). The Web browser of the user terminal 1002-3 transmits a request for requesting acquisition of data D to the cache node 1001-9 using, for example, the HTTP protocol (arrow 1007-33) using the obtained global IP address.
キャッシュノード1001−9は、自ノードおよび同じクラスタ1004−3内の他のキャッシュノード1001−7、1001−8の負荷情報に基づいて、何れのキャッシュノードで当該リクエストを処理するかを判断する。そして、例えばキャッシュノード1001−8をリクエスト処理先に決定したとすると、キャッシュノード1001−9は当該リクエストをクラスタ内オーバーレイネットワーク1005−3経由でキャッシュノード1001−8に転送する(矢印1007−34)。キャッシュノード1001−8は、受信したリクエストを受け付け、要求されたデータを自ノードのキャッシュから読み出し、ユーザ端末1002−3へレスポンスを送信する(矢印1007−35)。 The cache node 1001-9 determines which cache node will process the request based on the load information of the own node and the other cache nodes 1001-7 and 1001-8 in the same cluster 1004-3. For example, if the cache node 1001-8 is determined as the request processing destination, the cache node 1001-9 transfers the request to the cache node 1001-8 via the intra-cluster overlay network 1005-3 (arrow 1007-34). . The cache node 1001-8 accepts the received request, reads the requested data from the cache of its own node, and transmits a response to the user terminal 1002-3 (arrow 1007-35).
次に、ユーザ端末1002−4の利用者が、データDをアクセスする場面を想定する。利用者がユーザ端末1002−4で動作するWebブラウザのURL入力テキストボックスにデータDのURLを入力すると、Webブラウザは、最寄りのDNSサーバ1003−6に対して、IPアドレスの検索要求を送信する(図19の矢印1007−41)。DNSサーバ1003−6は、データDのURLに対応して複数のキャッシュノード1001−7〜1001−9のグローバルIPアドレスが登録されているため、その何れか、例えば最も最近選択していないキャッシュノード1001−7のグローバルIPアドレスを選択し、応答としてユーザ端末1002−4に返す(矢印1007−42)。ユーザ端末1002−4のWebブラウザは、求まったグローバルIPアドレスを使って、キャッシュノード1001−7に対してデータDの取得を要求するリクエストを例えばHTTPプロトコルにより送信する(矢印1007−43)。 Next, it is assumed that the user of the user terminal 1002-4 accesses the data D. When the user inputs the URL of data D in the URL input text box of the Web browser operating on the user terminal 1002-4, the Web browser transmits an IP address search request to the nearest DNS server 1003-6. (Arrow 1007-41 in FIG. 19). In the DNS server 1003-6, since the global IP addresses of the plurality of cache nodes 1001-7 to 1001-9 are registered corresponding to the URL of the data D, any one of them, for example, the cache node not selected most recently The global IP address 1001-7 is selected and returned to the user terminal 1002-4 as a response (arrow 1007-42). The Web browser of the user terminal 1002-4 transmits a request for requesting acquisition of data D to the cache node 1001-7 using, for example, the HTTP protocol (arrow 1007-43) using the obtained global IP address.
キャッシュノード1001−7は、自ノードおよび同じクラスタ1004−3内の他のキャッシュノード1001−8、1001−9の負荷情報に基づいて、何れのキャッシュノードで当該リクエストを処理するかを判断する。そして、例えば自キャッシュノード1001−7をリクエスト処理先に決定したとすると、キャッシュノード1001−7は当該リクエストを受け付け、要求されたデータを自ノードのキャッシュから読み出し、ユーザ端末1002−4へレスポンスを送信する(矢印1007−44)。 The cache node 1001-7 determines which cache node will process the request based on the load information of its own node and other cache nodes 1001-8 and 1001-9 in the same cluster 1004-3. For example, if the local cache node 1001-7 is determined as the request processing destination, the cache node 1001-7 accepts the request, reads the requested data from the cache of the local node, and sends a response to the user terminal 1002-4. Transmit (arrow 1007-44).
以上のように本実施の形態の分散情報配置システムでは、データDの各キャッシュノード1001−1〜1001−9は、ユーザ端末からデータDのリクエストを受信した場合、自ノードの所属するクラスタ1004−1〜1004−3内の何れのキャッシュノードで当該リクエストを処理すべきかを各ノードの負荷情報に基づいて決定する機能を有するため、同一の提供データに対するユーザ端末からのアクセスに係る負荷を各クラスタ1004−1〜1004−3毎にそれに含まれる1以上のキャッシュノード間で分散することができる。 As described above, in the distributed information arrangement system according to the present embodiment, when each cache node 1001-1 to 1001-9 of data D receives a request for data D from a user terminal, the cluster 1004- to which the own node belongs. 1 has a function of determining which cache node in 1-1004-3 should process the request based on the load information of each node. Therefore, the load related to access from the user terminal to the same provided data is determined for each cluster. Every 1004-1 to 1004-3 can be distributed among one or more cache nodes included therein.
また、リクエストを処理するノードを決定する機能が各キャッシュノードに装備されているため、リクエストを処理するノードを決定する処理自体の負荷分散も可能である。 In addition, since each cache node is equipped with a function for determining a node for processing a request, it is possible to distribute the load of the processing itself for determining a node for processing a request.
さらに、各キャッシュノード1001−1〜1001−9は、自ノードの所属するネットワークのDNSサーバ1003に対して、自ノードのグローバルIPアドレスとデータDのURLとの対応関係を登録するため、互いに異なるネットワークに属する複数のユーザ端末がDNSサーバ1003をアクセスしてデータDのURLに対応するキャッシュノードのグローバルIPアドレスを取得する場合に、それぞれ異なるキャッシュノードのグローバルIPアドレスを取得することになる。この結果、複数のユーザ端末がデータDのリクエストを出すキャッシュノードを分散させることができる。 Further, each of the cache nodes 1001-1 to 1001-9 is different from each other in order to register the correspondence relationship between the global IP address of the own node and the URL of the data D with respect to the DNS server 1003 of the network to which the own node belongs. When a plurality of user terminals belonging to the network access the DNS server 1003 and acquire the global IP address of the cache node corresponding to the URL of the data D, the global IP addresses of different cache nodes are acquired. As a result, cache nodes from which a plurality of user terminals issue data D requests can be distributed.
また、同じデータDのURLに対応して複数のキャッシュノードのグローバルIPアドレスが登録されているDNSサーバ1003において、複数のグローバルIPアドレスがほぼ均等に使用されるように、URLに対応するグローバルIPアドレスの問い合わせに対する応答中に含めるグローバルIPアドレスを決定すれば、同じネットワークに属する複数のユーザ端末がデータDのリクエストを出すキャッシュノードを分散させることができる。 Further, in the DNS server 1003 in which the global IP addresses of a plurality of cache nodes are registered corresponding to the URL of the same data D, the global IP corresponding to the URL is used so that the plurality of global IP addresses are used almost evenly. If a global IP address to be included in a response to an address inquiry is determined, cache nodes from which a plurality of user terminals belonging to the same network issue data D requests can be distributed.
図19に示されるシステムでは、各クラスタ1004−1〜1004−3に存在するキャッシュノードの数はそれぞれ3台であった。しかし、このクラスタ内におけるキャッシュノードの数は固定ではなく、データDに対する需要に応じて増減される。キャッシュノード数の増減は、各クラスタ毎にそのクラスタの代表ノードの制御の下に実施される。 In the system shown in FIG. 19, the number of cache nodes existing in each cluster 1004-1 to 1004-3 is three. However, the number of cache nodes in this cluster is not fixed, and increases or decreases according to the demand for data D. The increase / decrease of the number of cache nodes is performed for each cluster under the control of the representative node of the cluster.
図19に示されるシステムでは、データDに関するクラスタの数は3つであった。しかし、データDに関するクラスタの数は固定ではなく、データDに対する需要に応じて増減される。具体的には、初期の状態では、オリジナルキャッシュノード1001−1だけを含むクラスタ1004−1が1つ存在するだけである。データDに対する需要が増加すると、代表ノードであるオリジナルキャッシュノード1001−1は、クラスタ1004−1内に新たなキャッシュノード1001−2、1001−3を生成する。そして、更に需要が増加し、1クラスタ内におけるキャッシュノード数の最大値を超えるなどの所定の条件が成立すると、クラスタ1004−1の代表ノードは、データDを未だキャッシュしていない他のノード、例えばノード1001−4に対してデータDのコピーを添えて新規クラスタの生成指示を送信する。ノード1001−4は、データDのコピーを自ノードのキャッシュに記憶し、自ノードを代表ノードとする新たなクラスタ1004−2を生成する。以降、再び新クラスタ生成条件が成立すると、クラスタ1004−1あるいはクラスタ1004−2の代表ノードの制御の下に、新クラスタ1004−3が生成される。 In the system shown in FIG. 19, the number of clusters related to data D is three. However, the number of clusters related to the data D is not fixed, and increases or decreases according to the demand for the data D. Specifically, in the initial state, there is only one cluster 1004-1 including only the original cache node 1001-1. When the demand for the data D increases, the original cache node 1001-1 that is the representative node generates new cache nodes 1001-2 and 1001-3 in the cluster 1004-1. When the demand further increases and a predetermined condition such as exceeding the maximum value of the number of cache nodes in one cluster is satisfied, the representative node of the cluster 1004-1 is another node that has not yet cached data D, For example, a new cluster generation instruction is transmitted to node 1001-4 with a copy of data D. The node 1001-4 stores a copy of the data D in the cache of the own node, and generates a new cluster 1004-2 with the own node as a representative node. Thereafter, when the new cluster generation condition is satisfied again, a new cluster 1004-3 is generated under the control of the representative node of the cluster 1004-1 or the cluster 1004-2.
他方、データDに対する需要が減退すると、それにあわせて各クラスタ1004−1〜1004−3のキャッシュノード数が減少していく。そして、例えばクラスタ1004−3におけるキャッシュノード数が0になると、クラスタ1004−3が消滅し、クラスタ1004−1とクラスタ1004−2の2つになる。同様にクラスタ1004−2におけるキャッシュノード数が0になると、クラスタ1004−2が消滅し、クラスタ1004−1だけが残る。 On the other hand, when the demand for data D declines, the number of cache nodes in each cluster 1004-1 to 1004-3 decreases accordingly. For example, when the number of cache nodes in the cluster 1004-3 becomes 0, the cluster 1004-3 disappears and becomes two, the cluster 1004-1 and the cluster 1004-2. Similarly, when the number of cache nodes in the cluster 1004-2 becomes 0, the cluster 1004-2 disappears and only the cluster 1004-1 remains.
このように本実施の形態の分散情報配置システムでは、データDに対する需要に応じて、キャッシュノード数だけでなく、クラスタ数自体も増減する。 As described above, in the distributed information arrangement system according to the present embodiment, not only the number of cache nodes but also the number of clusters itself is increased or decreased according to the demand for data D.
次に本発明の実施例について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
本実施例は、NW上に存在する情報の分散的キャッシュ配置問題について、情報への需要、すなわちアクセス数に応じて、配置の量および場所を自律分散的に決定する、需要依存で繁栄と衰退とを繰り返す分散情報配置システム(以下、単位分散情報配置システムと記す)に関する。 This embodiment is a demand-dependent prosperity and decline for the distributed cache allocation problem of information existing on the NW, which determines the amount and location of the allocation autonomously in accordance with the demand for information, that is, the number of accesses. And a shared information arrangement system (hereinafter referred to as a unit distributed information arrangement system).
例えば、粘菌は餌の多寡によって、餌の多い場所では、単細胞生物として生活し、一方で餌の少ない場所では、集合して多細胞生物となり、餌の多い場所を求めて移動する。また、卵生メダカのノソブランキウスおよびシノレビアスは、一年の間に雨季と乾季が交代するサバンナ(草原)に住み、雨が降って水溜りが出来ると、土の中にあった卵が孵り、瞬く間に成長し、土の中に卵を生み、やがて乾季が来て池が干上がると親は死に、土の中に産みつけられた卵は次の雨季が来るのを、わずかな湿り気を残すのみの乾いた池の底の土の中で、辛抱強く待つ。このように生物の中には自身の形態を変えて環境に適応する種類がいる。また、生物は密度依存で個体の量を制御することによって、種の繁栄を維持することが知られており、このダイナミクスは一般にロジスティック方程式で記述される。さらに、生物にはヘルパー遺伝子が存在し、種全体から見れば利己的であるが個体レベルでは利他的な社会的行動を取ることによって、種の繁栄を維持することも知られている。 For example, slime molds live as unicellular organisms in places where there is a lot of food due to a large amount of food, while they gather together to become multicellular organisms in places where there is little food and move in search of places where there is a lot of food. The egg medakas, Noso Blanchius and Synolebias, live in a savanna (grass) where the rainy season and the dry season alternate during the year. It grows and lays eggs in the soil, and when the dry season comes and the pond dries up, the parents die, and the eggs laid in the soil are dry enough to leave a little dampness until the next rainy season comes Wait patiently in the soil at the bottom of the pond. In this way, some creatures change their forms and adapt to the environment. In addition, organisms are known to maintain species prosperity by controlling the amount of individuals in a density-dependent manner, and this dynamics is generally described by logistic equations. Furthermore, there are helper genes in organisms, and it is also known to maintain the prosperity of species by taking altruistic social behavior at the individual level, which is selfish when viewed from the whole species.
以上に述べたような特性を持つことによって生物は、環境変動に対して堅牢な生態系を作り出している。本実施例は、以上の説明における「生物種」をNWにおける「情報」と読み替えることで実現されるものであり、それら生物種の適応機能を通信NW上で実現するものである。そのため、従来の分散キャッシュ配置に関する技術とは、その目的を異にする。すなわち、本実施例の目的は、通信NW上の情報へのアクセス数に適応して、情報のキャッシュ配置の量と質を利他的かつ協調的な仕組みによって自律分散的に決定することで、効率的な情報の分散キャッシュ配置を実現するとともに、一度廃れてアクセスの無くなった情報の効率的な再生を実現することにある。 By having the characteristics as described above, organisms have created ecosystems that are robust against environmental changes. The present embodiment is realized by replacing the “species” in the above description with “information” in the NW, and realizes an adaptive function of these species on the communication NW. Therefore, the purpose of the technique is different from that of the conventional technique related to the distributed cache arrangement. In other words, the purpose of this embodiment is to determine the amount and quality of information cache allocation autonomously and distributedly by an altruistic and collaborative mechanism in accordance with the number of accesses to information on the communication NW. In addition to realizing a distributed cache arrangement of information, it is possible to realize efficient reproduction of information that has been once discarded and no longer accessed.
[本実施例の概要]
基本的な仕組みとして、「情報の必要度」を数値で定義し、これを情報のプロパティとして情報に付与する。情報のキャッシュ元にアクセスがあった場合、1アクセス毎に「情報の必要度」は増加し、また一定時間毎に減少する。この「情報の必要度」の一定時間毎の減少により、情報へのアクセス頻度、換言すれば「情報の鮮度」が決定される。以下では、情報へのアクセス数が増加する場合と、減少する場合について手段と作用を説明する。なお、以下では情報のソース元のサーバおよび情報をキャッシュするサーバを「キャッシュノード」と表記する。
[Outline of this embodiment]
As a basic mechanism, “information necessity” is defined by a numerical value, and this is assigned to information as an information property. If there is an access to the information cache source, the “necessity of information” increases for every access, and decreases every fixed time. The frequency of access to information, in other words, “freshness of information” is determined by the decrease in the “necessity of information” at regular intervals. In the following, means and actions will be described for cases where the number of accesses to information increases and decreases. Hereinafter, the server that is the source of information and the server that caches the information are referred to as “cache nodes”.
(1)情報へのアクセス数が増加する場合
ステップ1:
情報とある値の「情報の必要度」を最初の情報元のキャッシュノードに配置する。以下ではこのキャッシュノードを「オリジナルキャッシュノード」と呼ぶ。同時に自分を代表キャッシュノードとする下位クラスタを生成し、当該キャッシュノードのIPアドレスと「『情報の必要度』の数値」とを下位クラスタ内用の下位クラスタマップに登録する。下位クラスタ内用の下位クラスタマップは各下位クラスタ内のキャッシュノードが分散的に所有し、キャッシュノードは下位クラスタ内用の下位クラスタマップに登録された複数のキャッシュノードとオーバーレイで下位クラスタNW内通信を行う。
(1) When the number of accesses to information increases Step 1:
The information and the “information necessity” of a certain value are arranged in the first information source cache node. Hereinafter, this cache node is referred to as an “original cache node”. At the same time, a lower-level cluster having itself as a representative cache node is generated, and the IP address of the cache node and “numerical value of information” are registered in the lower-level cluster map for the lower-level cluster. The lower level cluster map for the lower level cluster is distributedly owned by the cache nodes in each lower level cluster, and the cache node communicates with the lower level cluster NW by overlaying with multiple cache nodes registered in the lower level cluster map for the lower level cluster. I do.
さらにオリジナルノードは、自身の所属するNWのDNSサーバに自身のグローバルIPアドレスと、NW内の他のノードがアクセスする場合に用いるキャッシュ情報の場所を指し示す記述方式であるURLを登録しておく。 Furthermore, the original node registers its own global IP address to the DNS server of the NW to which it belongs and a URL that is a description method that indicates the location of cache information used when other nodes in the NW access.
ここで、Internet上の一般的なキャッシュ情報へのアクセス手段について説明する。Internetの通常の通信では、情報へアクセスしたい一般的なノードBは、次の(a)または(b)のいずれかの方法により情報をキャッシュしているサーバにアクセスを行う。
(a)ノードBがキャッシュノードのURLは知っているが、IPアドレスは知らない場合、URLを指定して、そのIPアドレスをDNSサーバに問い合わせる。DNSサーバは、自身がそのURLとIPアドレスの対応を知っていれば、そのIPアドレスをInternet上の通常の通信を用いて、ノードBに伝える。もし、DNSサーバがそのURLとIPアドレスの対応を知らなければ、DNSサーバは他のDNSサーバに問い合わせる、ということを繰り返し、最終的にそのURLとIPアドレスの対応を知っているDNSサーバがノードBにIPアドレスを伝える。
(b)ノードBがIPアドレスを知っている場合は、直接キャッシュノードにアクセスできる。
Here, means for accessing general cache information on the Internet will be described. In normal Internet communication, a general node B that wants to access information accesses a server that caches information by either of the following methods (a) and (b).
(A) When the node B knows the URL of the cache node but does not know the IP address, the URL is designated and the DNS server is inquired about the IP address. If the DNS server knows the correspondence between the URL and the IP address, the DNS server transmits the IP address to the Node B using normal communication on the Internet. If the DNS server does not know the correspondence between the URL and the IP address, the DNS server makes an inquiry to another DNS server, and finally the DNS server that knows the correspondence between the URL and the IP address is a node. Tell B the IP address.
(B) If Node B knows the IP address, it can access the cache node directly.
以下では(a)の場合を前提に説明を続ける。 Hereinafter, the description will be continued on the assumption of the case (a).
ステップ2:
情報へのアクセスがあるたびにキャッシュノードの「『情報の必要度』の数値」が増加する。
Step 2:
Every time there is access to information, the “number of“ information necessity ”” of the cache node increases.
ステップ3:
アクセスが増えて「『情報の必要度』の数値」がある閾値1を超えると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値1を超えると代表キャッシュノードはある物理的あるいは論理的NW距離にある、次数の大きなキャッシュノードに情報をキャッシュしてもらえないかランダムに通常のInternetにおける通信手法によって打診し、承諾をもらったキャッシュノードにキャッシュさせてもらう。ここで、複数の承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに対して、キャッシュさせてもらう。この新規追加されたキャッシュノードは下位クラスタ内の代表キャッシュノード宛に、新規追加されたキャッシュノードが下位クラスタに属することを認識してもらうための「entryメッセージ」を通常のInternetにおける通信手法によって送る。
Step 3:
When access increases and the “number of“ information need ”” exceeds a
新規追加キャッシュノードへの依頼を行った代表キャッシュノードは、新規追加されたキャッシュノード宛に、「entryメッセージ」を受信したことを示すメッセージを下位クラスタ内通信によって送り、同時に下位クラスタマップに必要な情報を要求する。要求を受けた新規追加キャッシュノードは、自身のキャッシュノードに関する要求情報を下位クラスタ内通信によってキャッシュノードへの依頼を行った代表キャッシュノードへ送る。 The representative cache node that has made a request to the newly added cache node sends a message indicating that the “entry message” has been received to the newly added cache node by communication within the lower cluster, and at the same time is necessary for the lower cluster map. Request information. Upon receipt of the request, the newly added cache node sends request information regarding its own cache node to the representative cache node that has requested the cache node by communication within the lower cluster.
追加キャッシュノード依頼を行った代表キャッシュノードは、新規追加キャッシュノードから受け取った要求情報をもとに下位クラスタマップを更新し、更新された下位クラスタマップを、下位クラスタ内通信によって代表キャッシュノードの所属する下位クラスタ内の他のキャッシュノードに送る。各キャッシュノードは各自の持つ下位クラスタ用の下位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行ったキャッシュノードに、下位クラスタ内通信によって送る。なお、新規キャッシュノードの下位クラスタへの追加は、アクセス数の変動を考慮して、一定時間待ってから行う。この時点でのユーザからのアクセス先は、代表キャッシュノードとする。 The representative cache node that requested the additional cache node updates the lower cluster map based on the request information received from the new additional cache node, and the updated lower cluster map is assigned to the representative cache node by communication within the lower cluster. To other cache nodes in the subordinate cluster. Each cache node updates its own lower-level cluster map for the lower-level cluster, and sends a registration completion message to the cache node that has requested the cache node by communication within the lower-level cluster. Note that the addition of a new cache node to the lower cluster is performed after waiting for a certain time in consideration of the variation in the number of accesses. The access destination from the user at this time is a representative cache node.
ステップ4:
下位クラスタ内に存在する、代表キャッシュノードを含む複数のキャッシュノードらは、下位クラスタ内通信を一定時間間隔毎または不定時間間隔で行うことによって、互いの「生存」と「『情報の必要度』の数値」などの情報を交換し合う。これによって下位クラスタ内のキャッシュノードの下位クラスタ内用の下位クラスタマップの更新と同期とを行う。ここで、下位クラスタ内通信は、新規にキャッシュノードが追加されたり、キャッシュノードやキャッシュノード間のリンクの障害などのイベントが発生した場合には、そのイベントをトリガーとして行われる。
Step 4:
A plurality of cache nodes including the representative cache node existing in the lower cluster perform mutual “survival” and ““ necessity of information ”by performing communication within the lower cluster at regular time intervals or at indefinite time intervals. Exchange information such as This updates and synchronizes the lower cluster map for the lower cluster of the cache node in the lower cluster. Here, in the lower cluster communication, when an event such as a new cache node is added or a failure occurs in the cache node or a link between the cache nodes, the event is triggered.
ステップ5:
下位クラスタ内に、代表キャッシュノードを除く少なくとも1つの他のキャッシュノードが追加されると、それらは自律的に負荷分散を行う。すなわち、下位クラスタ内通信によって同一下位クラスタ内の「『情報の必要度』の数値」やそれを用いた計算結果によって値の少ないキャッシュノードから順にアクセスを転送する。
Step 5:
When at least one other cache node other than the representative cache node is added to the lower level cluster, they autonomously load balance. That is, access is sequentially transferred from a cache node having a smaller value according to “numerical value of“ information necessity ”” in the same lower cluster or a calculation result using the same in the lower cluster communication.
ステップ6:
各クラスタには、その代表キャッシュノードまたはクラスタの中心から一定の物理距離または論理的距離を半径とする円で特定されるクラスタ領域と、このクラスタ領域に設置することのできるキャッシュノードの最大数とが予め定められる。クラスタ領域に設置可能なキャッシュノードの最大数は、換言すれば、当該クラスタのキャッシュノード密度である。キャッシュノード密度は、「キャッシュノード数/NW半径」で表現しても良いし、「キャッシュノード数/NW半径内に存在するノード数」で表現しても良い。
Step 6:
Each cluster has a cluster area identified by a circle whose radius is a certain physical distance or logical distance from the center of the representative cache node or cluster, and the maximum number of cache nodes that can be installed in this cluster area. Is predetermined. In other words, the maximum number of cache nodes that can be installed in the cluster area is the cache node density of the cluster. The cache node density may be expressed by “number of cache nodes / NW radius” or may be expressed by “number of cache nodes / number of nodes existing in NW radius”.
ステップ7:
下位クラスタの代表キャッシュノードが「NW半径を超える遠くからのアクセスが多くなる」あるいは「上記ステップ6で計算した自下位クラスタに置くことの出来るキャッシュノードの最大数に近づく」ことを検知すると、そのNW半径を超える場所に存在する、次数の大きなキャッシュノードに該情報をキャッシュしてもらえないかランダムに通常のInternetにおける通信手法によって打診し、通常のInternetにおける通信手法によって承諾をもらったキャッシュノードにキャッシュさせてもらう。ここで、複数の承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに対して、キャッシュさせてもらう。また、NW半径を超える場所は、自クラスタの周囲360度方向に存在するが、NW半径を超える場所があるNWドメインに偏っている場合には、このNWドメイン近傍の次数の大きなキャッシュノードを優先的に候補として選択する。なお、この新規キャッシュノードの追加は、アクセス数の変動を考慮して、一定時間待ってから行う。
Step 7:
When it is detected that the representative cache node of the lower cluster “accesses from a distance exceeding the NW radius increases” or “approaching the maximum number of cache nodes that can be placed in the own lower cluster calculated in
キャッシュノードの依頼を行った代表キャッシュノードは、自キャッシュノードを含む代表キャッシュノードのみで構成される上位クラスタを作成し、上位クラスタ用の上位クラスタマップを作成する。 The representative cache node that has requested the cache node creates an upper cluster composed only of the representative cache nodes including the own cache node, and creates an upper cluster map for the upper cluster.
新規追加されたキャッシュノードは自分を代表キャッシュノードとする下位クラスタを新たに形成し、下位クラスタ内用下位クラスタマップを作成する。ここで、この代表キャッシュノード同士による上位クラスタ内オーバーレイNWは、下位クラスタ内NWの上にオーバーレイNWの形態で構築される。 The newly added cache node newly forms a subordinate cluster having itself as a representative cache node, and creates a subordinate cluster map for the subordinate cluster. Here, the overlay NW in the upper cluster by the representative cache nodes is constructed in the form of the overlay NW on the NW in the lower cluster.
また、新規追加されたキャッシュノードはキャッシュノード依頼を受けた代表キャッシュノードに対して、代表キャッシュノードのみで構成される上位クラスタへ新規追加されたキャッシュノードが上位クラスタに属することを認識してもらうための「entryメッセージ」を通常のInternetにおける通信手法によって送る。 Also, the newly added cache node has the representative cache node that received the cache node request recognize that the newly added cache node belongs to the upper cluster consisting of only the representative cache node. An “entry message” is sent by a communication method in a normal Internet.
キャッシュノードへの依頼を行った代表キャッシュノードは、新規追加された代表キャッシュノード宛に、「entryメッセージ」を受信したことを示すメッセージを上位クラスタ内通信によって送り、同時に上位クラスタマップに必要な情報を要求する。要求を受けた新規追加キャッシュノードは、自身のキャッシュノードに関する要求情報を上位クラスタ内通信によってキャッシュノードへの依頼を行った代表キャッシュノードへ送る。 The representative cache node that has made a request to the cache node sends a message indicating that the “entry message” has been received to the newly added representative cache node by communication within the upper cluster, and at the same time, information necessary for the upper cluster map. Request. Upon receiving the request, the newly added cache node sends request information regarding its own cache node to the representative cache node that has requested the cache node by communication within the upper cluster.
キャッシュノード依頼を行った代表キャッシュノードは、新規代表キャッシュノードから受け取った要求情報をもとに上位クラスタマップを更新し、代表キャッシュノードのみで構成される上位クラスタ内の他の代表キャッシュノードに、上位クラスタ内通信によって送る。各キャッシュノードは各自の持つ上位クラスタ用の上位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行った代表キャッシュノードに、上位クラスタ内通信によって送る。 The representative cache node that made the cache node request updates the upper cluster map based on the request information received from the new representative cache node, and the other representative cache nodes in the upper cluster configured only by the representative cache node Sent by upper cluster communication. Each cache node updates its own upper cluster map for the upper cluster, and sends a registration completion message to the representative cache node that has requested the cache node by communication within the upper cluster.
下位クラスタ同士は原則的に代表キャッシュノードであるキャッシュノード同士が、各下位クラスタ内のキャッシュノード数などのマクロな情報を、一定時間間隔毎または不定時間間隔でオーバーレイ通信を行うことによって、互いの生存と状況を確認し合う。 In principle, the lower-level clusters communicate with each other by performing overlay communication between the cache nodes, which are representative cache nodes, such as the number of cache nodes in each lower-level cluster at regular time intervals or at indefinite time intervals. Check survival and situation.
(2)情報へのアクセス数が減少する場合
ステップ1:
あるキャッシュノードへのアクセスが減って、「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、自キャッシュノードの所属する下位クラスタ内に他のキャッシュノードがいる限り、それら下位クラスタ内の他のキャッシュノード全てに、下位クラスタ内通信によって脱退メッセージを送る。脱退メッセージを受け取った下位クラスタ内の他のキャッシュノードは自キャッシュノードの下位クラスタ内用下位クラスタマップから、脱退キャッシュノードのIPアドレス以外の情報を消去し、「脱退メッセージが到着した」という確認メッセージを脱退キャッシュノードに対して、下位クラスタ内通信によって送信する。脱退キャッシュノードは、下位クラスタ内の全ての他のキャッシュノードから、下位クラスタ内通信によって確認メッセージを受け取った後で、自キャッシュノードの保持しているキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタから抜ける。
(2) When the number of accesses to information decreases Step 1:
When access to a certain cache node decreases and the value of “Necessary information” falls below a certain threshold, the numerical value of “Necessity of information” for a certain time from that point is taken into account when the numerical value is considered. ”Is obtained. If the average value of “Numerical value of information” for a certain time falls below a certain threshold, as long as there are other cache nodes in the lower cluster to which the own cache node belongs, other cache nodes in those lower clusters A withdrawal message is sent to all through lower cluster communication. The other cache node in the lower cluster that has received the withdrawal message erases information other than the IP address of the withdrawal cache node from the lower cluster map in the lower cluster of its own cache node, and a confirmation message that “the withdrawal message has arrived” Is transmitted to the withdrawal cache node by communication within the lower cluster. The withdrawal cache node receives the confirmation message by communication within the lower cluster from all other cache nodes in the lower cluster, and then deletes the cache data held by the own cache node, and the URL of the information and its own A deletion request is issued to the DNS server that has registered the IP address, and the subordinate cluster is exited.
ここで、仮に代表キャッシュノードが抜ける場合には、以下のようになる。代表キャッシュノードへのアクセスが減って、「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、自キャッシュノードの所属する下位クラスタ内の他のキャッシュノードのうち、最も「『情報の必要度』の数値」の小さいキャッシュノードに他の下位クラスタとの通信を行う代表キャッシュノードを譲り、自キャッシュノードの所属する下位クラスタ内の他のキャッシュノード全てに対しては下位クラスタ内通信によって、また他の下位クラスタの代表キャッシュノードへは上位クラスタ内通信によって、「別のキャッシュノードが代表キャッシュノードを引き継ぎ、自分が抜けること」を知らせる。このメッセージを受け取った下位クラスタ内の他の全てのキャッシュノードは各々の持つ下位クラスタ内用下位クラスタマップから代表キャッシュノードの情報を削除し、「代表キャッシュノードを受け継いだキャッシュノード」を代表キャッシュノードとして下位クラスタ内用下位クラスタマップに設定する。さらに、「元の代表キャッシュノード」と「代表キャッシュノードを受け継いだキャッシュノード」に対して、「新しい代表キャッシュノードを下位クラスタ内用下位クラスタマップに登録したこと」を下位クラスタ内通信によって確認メッセージとして伝える。 Here, if the representative cache node leaves, it will be as follows. When the access to the representative cache node decreases and the “value of“ information need ”” falls below a certain threshold, the “value of“ information need ”” for a certain time from that point is taken into account. ”Is obtained. If the average value of the “Need for Information” for a certain time falls below a certain threshold, it is the most “Need for Information” among the other cache nodes in the lower cluster to which the own cache node belongs. The representative cache node that communicates with other lower level clusters is transferred to the small cache node, and all other cache nodes in the lower level cluster to which the own cache node belongs are communicated with the lower level cluster and other lower level nodes. The representative cache node of the cluster is notified by “intra-cluster communication” that “another cache node takes over the representative cache node and leaves itself”. All other cache nodes in the lower level cluster that have received this message delete the information of the representative cache node from the lower level cluster map for lower level clusters, and set the “cache node that inherited the representative cache node” as the representative cache node. Is set in the lower cluster map for the lower cluster. In addition, for the "original representative cache node" and the "cache node that inherited the representative cache node", a message confirming that "new representative cache node has been registered in the lower cluster map for lower cluster" through lower cluster communication Tell as.
同様に他の下位クラスタの代表キャッシュノードは、上位クラスタNW用の上位クラスタマップから代表キャッシュノードの情報を削除し、新しい代表キャッシュノードを下位クラスタの代表キャッシュノードとして上位クラスタNW用の上位クラスタマップに設定する。さらに他の下位クラスタの代表キャッシュノードは、確認メッセージを「代表キャッシュノードを受け継いだキャッシュノード」と「元の代表キャッシュノード」宛に上位クラスタ内通信によって送信する。 Similarly, the representative cache node of another lower cluster deletes the information of the representative cache node from the upper cluster map for the upper cluster NW, and uses the new representative cache node as the representative cache node of the lower cluster, and the upper cluster map for the upper cluster NW. Set to. Further, the representative cache node of another lower cluster transmits a confirmation message to the “cache node that inherited the representative cache node” and the “original representative cache node” by communication within the upper cluster.
自キャッシュノードの所属する下位クラスタ内の全てのキャッシュノード、および他の下位クラスタの全ての代表キャッシュノードからの確認メッセージを下位クラスタ内通信、上位クラスタ内通信によってそれぞれ受け取った後で、「元の代表キャッシュノード」は、自キャッシュノードの保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタから抜ける。 After receiving confirmation messages from all the cache nodes in the lower level cluster to which the own cache node belongs and from all the representative cache nodes in other lower level clusters via lower level cluster communication and higher level cluster communication, The “representative cache node” deletes the cache data held by its own cache node, issues a deletion request to the DNS server that registered the URL of the information and its own IP address, and exits from the lower cluster.
ステップ2:
ある下位クラスタに最終的に残ったキャッシュノードは必然的に下位クラスタの代表キャッシュノードであるが、代表キャッシュノードでも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、代表キャッシュノードは他の下位クラスタの全ての代表キャッシュノードに対して、脱退メッセージを上位クラスタ内通信によって送る。同時に、脱退代表キャッシュノードは自キャッシュノードの上位クラスタNW用上位クラスタマップを見て、他の下位クラスタの全ての代表キャッシュノードのうち、キャッシュノード当たりの「『情報の必要度』の数値」が最も少なく、かつキャッシュノード密度の最大値の大きい代表キャッシュノードに、自キャッシュノードの所属する下位クラスタ内用の下位クラスタマップを上位クラスタ内通信によって送信する。
Step 2:
The cache node that finally remains in a subordinate cluster is inevitably the representative cache node of the subordinate cluster. However, even if the representative cache node falls below a certain threshold, the numerical value changes. Considering this, the average value of the “numerical value of“ information need ”” for a certain period of time from that point is acquired. If the average value of the “value of information” for a certain time falls below a certain threshold, the representative cache node sends a withdrawal message to all the representative cache nodes in other lower clusters by communication within the upper cluster. . At the same time, the withdrawal representative cache node looks at the upper cluster map for the upper cluster NW of its own cache node, and among all the representative cache nodes of the other lower clusters, the “number of information necessity” per cache node is The lower cluster map for the lower cluster to which the own cache node belongs is transmitted by communication within the upper cluster to the representative cache node having the smallest cache node density and the largest value.
他の下位クラスタの全ての代表キャッシュノードは、脱退メッセージを送信した代表キャッシュノードに対して「代表キャッシュノードが抜けること」を確認するメッセージを「代表キャッシュノード」宛に上位クラスタ内通信によって送信した後で、定期メッセージの宛先から代表キャッシュノードに関するIPアドレス以外の情報を上位クラスタNW用上位クラスタマップから削除する。ここで脱退代表キャッシュノードから下位クラスタ内用の下位クラスタマップを受け取った代表キャッシュノードは、「下位クラスタマップを受け取ったこと」を確認メッセージとして、脱退代表キャッシュノードに上位クラスタ内通信によって送信する。 All the representative cache nodes in the other lower-level clusters have sent a message confirming that the “representative cache node is leaving” to the representative cache node that has sent the withdrawal message to the “representative cache node” via upper cluster communication. Later, information other than the IP address related to the representative cache node from the destination of the periodic message is deleted from the upper cluster map for the upper cluster NW. Here, the representative cache node that has received the lower cluster map for the lower cluster from the withdrawal representative cache node transmits a confirmation message “having received the lower cluster map” to the withdrawal representative cache node by communication within the upper cluster.
脱退代表キャッシュノードは、他の下位クラスタの全ての代表キャッシュノードから「代表キャッシュノードが抜けること」を確認するメッセージを上位クラスタ内通信によって受け取り、かつ脱退代表キャッシュノードから下位クラスタ内用の下位クラスタマップを受け取った代表キャッシュノードから「下位クラスタマップを受け取ったこと」を確認するメッセージを上位クラスタ内通信によって受け取った後で、自キャッシュノードの保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して上位クラスタNWから抜ける。 The withdrawal representative cache node receives a message confirming that “representative cache node is removed” from all the representative cache nodes of the other lower clusters through communication within the upper cluster, and the lower representative cluster for the lower cluster from the withdrawal representative cache node. After receiving a message confirming that “the lower cluster map has been received” from the representative cache node that received the map by communication within the upper cluster, the cache data held by the own cache node is deleted, and the URL of the information and its own URL are deleted. A deletion request is issued to the DNS server that has registered the IP address, and the host cluster NW is exited.
ステップ3:
オリジナルキャッシュノードを含む下位クラスタ以外で最終的に残った下位クラスタにおいて、最終的に残ったキャッシュノード(以下、終末キャッシュノードと呼ぶ)でも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、オリジナルキャッシュノードに対して「自分が最終データのキャッシュノードであること」、終末キャッシュノードが保持している「キャッシュデータ」および「過去に脱退した他の下位クラスタの下位クラスタ内用の下位クラスタマップ」を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)削除して欲しい、という「希望情報」と共に、上位クラスタ内通信によって伝える。
Step 3:
In the subordinate cluster that finally remains other than the subordinate cluster including the original cache node, even the finally remaining cache node (hereinafter referred to as the terminal cache node) falls below a certain threshold value Then, taking the fluctuation of the numerical value, the average value of “the numerical value of“ the degree of necessity of information ”” for a certain time from that time point is acquired. When the average value of the “value of information” for a certain time falls below a certain threshold, the terminal cache node holds that “I am the cache node of the final data” for the original cache node. "Cache data" and "Lower level cluster map for lower level clusters of other lower level clusters that have left in the past" may be left as they are on the own cache node. 2) Some other form (for example, as a link destination) Etc.), or 3) “desired information” that the user wants to be deleted, and is communicated by intra-cluster communication.
ステップ4:
オリジナルキャッシュノードは、終末キャッシュノードからの「希望情報」を元に、情報を、1)そのまま置いてもらうか、2)何か他の形態(例えばリンク先としてなど)で置かせてもらうか、あるいは、3)削除してもらうかを検討し、その結果を週末キャッシュノードに対して上位クラスタ内通信によって伝える。ここで、終末キャッシュノードに情報をキャッシュし続けてもらう理由は、そのデータが再度必要になる場合、最後までアクセスがあったキャッシュノードの周辺からの場合が多いと推定されるためである。
Step 4:
Based on the “desired information” from the terminal cache node, the original cache node can place the information 1) as it is, or 2) have it placed in some other form (for example, as a link destination), Or, 3) Consider whether or not to delete, and communicate the result to the weekend cache node by communication within the upper cluster. Here, the reason why the terminal cache node continues to cache information is that when the data is needed again, it is estimated that there are many cases from the periphery of the cache node that has been accessed to the end.
ステップ5:
情報を削除してもらう場合には、最後に残った下位クラスタにいた他のキャッシュノードに対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternetの通信手段によって伝える。
Step 5:
If you want the information to be deleted, I would like the other cache nodes in the last remaining lower cluster to leave the information 1) as is 2) Some other form (for example, as a link destination) I tell you that I want you to put it in the normal Internet communication means.
ステップ6:
終末キャッシュノードは、オリジナルキャッシュノードからの回答に従って、情報の管理形態を決定する。すなわち、情報を、1)そのまま置くか、2)何か他の形態(例えばリンク先としてなど)で置くか、あるいは、3)削除するか、のいずれかを行う。
Step 6:
The terminal cache node determines the information management form according to the answer from the original cache node. That is, the information is either 1) placed as it is, 2) placed in some other form (for example, as a link destination), or 3) deleted.
ステップ7:
オリジナルキャッシュノードから、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しいというメッセージを通常のInternetの通信手段によって受け取った、最後に残った下位クラスタにいた他のキャッシュノードは、それぞれオリジナルキャッシュノードに対して、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)置きたくない、という「希望情報」を通常のInternetの通信手段によって伝える。
Step 7:
Received a message from the original cache node 1) I want you to leave it as it is, 2) I want you to put it in some other form (for example, as a link destination), etc. The other cache nodes that were in the lower level cluster may place information on the original cache node 1) as it is in the local cache node 2) in some other form (for example, as a link destination) Or 3) “desired information” that the user does not want to place is transmitted by a normal Internet communication means.
ステップ8:
「希望情報」を通常のInternetの通信手段によって受け取ったオリジナルキャッシュノードは、その中に、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良いという回答があれば、1)、2)の優先順位で、そのキャッシュノードと上位クラスタを構成し、キャッシュする情報を上位クラスタ内通信によって送信する。
Step 8:
The original cache node that has received the “desired information” by the normal Internet communication means may place the information in the cache node as it is. 2) Some other form (for example, as a link destination) Etc.), the cache node and the upper cluster are configured in the priority order of 1) and 2), and the information to be cached is transmitted by communication within the upper cluster.
ステップ9:
「希望情報」を受け取ったオリジナルキャッシュノードは、その中に3)置きたくないという回答しか無ければ、最後から2番目に削除された下位クラスタにいた他のキャッシュノードに対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternetの通信手段によって伝える。
Step 9:
If the original cache node that received the “desired information” has only the answer that it does not want to place 3) in it, the information is sent to the other cache nodes in the subordinate cluster deleted second from the end. I want you to leave it as it is, 2) I want you to put it in some other form (for example, as a link destination, etc.) and tell it by the usual Internet communication means.
ステップ10:
以下、ステップ7から9を繰り返す。
Step 10:
Thereafter, steps 7 to 9 are repeated.
ステップ11:
最終的にオリジナルキャッシュノード以外にキャッシュしてくれるキャッシュノードが無ければ、オリジナルキャッシュノードは、情報を自キャッシュノードに保存したままにする。
Step 11:
If there is no cache node that caches other than the original cache node, the original cache node keeps the information stored in its own cache node.
(3)アクセスが再度増加した場合に関する動作の説明
上記「情報へのアクセス数が減少する場合」のステップ7〜11において、最終的にキャッシュされるべき情報をどのキャッシュノードが保持しているかによって、最初のステップのみが異なる。
(3) Explanation of operation when access is increased again In steps 7 to 11 of “when the number of accesses to information decreases”, depending on which cache node holds information to be finally cached Only the first step is different.
(3−1)最終的にオリジナルキャッシュノードのみがキャッシュされるべき情報を保持している場合
この場合は、「(1)情報へのアクセス数が増加する場合」のステップ3が最初のステップとなる。
(3-1) When only the original cache node holds information to be cached in this case In this case,
(3−2)最終的にオリジナルキャッシュノードと終末キャッシュノードがキャッシュされるべき情報を保持している場合
この場合、オリジナルキャッシュノードと終末キャッシュノードのうち、アクセスを受けたキャッシュノードにおいて、「(1)情報へのアクセス数が増加する場合」のステップ3が最初のステップとなる。終末キャッシュノードにおいてアクセスが増加し、「(1)情報へのアクセス数が増加する場合」で示した、閾値1を超えてキャッシュノードの追加が必要になった場合、「(1)情報へのアクセス数が増加する場合」のステップ3で示した手順に従って、一定時間待ってから、終末キャッシュノードは自分の保持している下位クラスタ内の下位クラスタマップの中に残っている、下位クラスタ内で過去にキャッシュノードであったキャッシュノードに情報をキャッシュしてもらえないかを通常のInternetの通信手段によって打診する。もし、いずれからも承諾を得られなかった場合には、ある一定のホップ数にあるキャッシュノードのうち、次数の大きなキャッシュノードにランダムに情報をキャッシュしてもらえないかを通常のInternetの通信手段によって打診する。一定のホップ数内のキャッシュノードから承諾が得られなければ、終末キャッシュノードは探索ホップ数を+1して、承諾を得られるキャッシュノードを探索する。
(3-2) When the original cache node and the terminal cache node hold information to be cached finally In this case, among the original cache node and the terminal cache node, in the cache node that has received access, “(
下位クラスタ内の過去のキャッシュノード、あるいはホップ数による探索によって、いずれかのキャッシュノードから承諾を受けると、後は「(1)情報へのアクセス数が増加する場合」のステップ3以降において説明した手順に従って、キャッシュノードを増加させていく。
If consent is received from any cache node in the past by a cache node in the lower cluster or a search based on the number of hops, the description will be given after
以上のようにして、通信NW上の情報へのアクセス数に適応して、情報のキャッシュ配置の量と質を利他的かつ協調的な仕組みによって自律分散的に決定することで、効率的な情報の分散キャッシュ配置を実現するとともに、一度廃れてアクセスの無くなった情報の効率的な再生を実現する。 As described above, the amount of information cache allocation and quality are determined autonomously and distributed by an altruistic and cooperative mechanism in accordance with the number of accesses to information on the communication NW. In addition to realizing a distributed cache arrangement, it is possible to efficiently reproduce information that has been once discarded and no longer accessed.
[構成の説明]
次に、本実施例の構成を詳細に説明する。
[Description of configuration]
Next, the configuration of the present embodiment will be described in detail.
図1を参照すると、本実施例の分散情報配置システムにおける「『情報の必要度』の数値」の変化の様子の1例が示されている。アクセスがあるたびに、「『情報の必要度』の数値」は一定量だけ増加する。「『情報の必要度』の数値」は一定時間が経過する毎に一定量だけ減少する。 Referring to FIG. 1, an example of a change in “numerical value of“ information necessity ”” in the distributed information arrangement system of the present embodiment is shown. Each time there is an access, the “numerical value of information” increases by a certain amount. The “numerical value of“ information requirement ”” decreases by a certain amount every time a certain time elapses.
図2を参照すると、本実施例の分散情報配置システムにおける新規キャッシュノード追加の様子の1例が示されている。図3を参照すると、本実施例の分散情報配置システムにおける新規キャッシュノード追加のフローチャートの1例が示されている。図4を参照すると、本実施例の分散情報配置システムにおける、各キャッシュノードが保持する下位クラスタ内用の下位クラスタマップの1例が示されている。 Referring to FIG. 2, an example of how a new cache node is added in the distributed information arrangement system of this embodiment is shown. Referring to FIG. 3, there is shown an example of a flowchart for adding a new cache node in the distributed information arrangement system of this embodiment. Referring to FIG. 4, an example of a lower cluster map for a lower cluster held by each cache node in the distributed information arrangement system of the present embodiment is shown.
下位クラスタ内用の下位クラスタマップの内容は、図4に示したように、キャッシュノードの、DNS登録名、グローバルIPアドレス、『情報の必要度』の数値、『情報の必要度』の数値の1次微分値、および『情報の必要度』の数値の2次微分値である。『情報の必要度』の数値の1次微分値は、直近の単位時間当たりの『情報の必要度』の数値の増減量である。『情報の必要度』の数値の2次微分値は、直近の単位時間当たりの『情報の必要度』の数値の増減割合である。 As shown in FIG. 4, the contents of the lower-level cluster map for the lower-level cluster include the DNS registration name, global IP address, “information necessity” numerical value, and “information necessity” numerical value of the cache node. The primary differential value and the secondary differential value of the numerical value of “Necessity of information”. The first-order differential value of the numerical value of “information necessity” is an increase / decrease amount of the numerical value of “information necessity” per unit time. The second derivative of the value of “information necessity” is the rate of increase / decrease of the value of “information need” per unit time.
ここで、下位クラスタNW2内のオーバーレイ通信のために、下位クラスタNW2内のキャッシュノードに、下位クラスタNW2内部でのみ通用するローカルなIPアドレスを各々割り当て、このローカルなIPアドレスを用いた下位クラスタNW2内のオーバーレイ通信を行っても良い。その場合、下位クラスタ内用の下位クラスタマップの内容は、図4に示した以外に、下位クラスタ2内でローカルに付加したローカルなIPアドレスを含んでいても良い。
Here, for overlay communication in the lower cluster NW2, a local IP address that can be used only in the lower cluster NW2 is assigned to each cache node in the lower cluster NW2, and the lower cluster NW2 using this local IP address is assigned. The overlay communication may be performed. In this case, the contents of the lower cluster map for the lower cluster may include a local IP address added locally in the
なお、下位クラスタ内用の下位クラスタマップの内容は、図4の内容から『情報の必要度』の数値の2次微分値を削除したものでも良い。また、下位クラスタ内用の下位クラスタマップの内容は、図4に示した以外に何らかの『情報の必要度』の数値の経時変化の様子を表す変数を含んでいても良い。 The contents of the lower cluster map for the lower cluster may be obtained by deleting the second derivative value of the “information necessity” value from the contents of FIG. In addition, the contents of the lower cluster map for the lower cluster may include a variable representing a state of change of the numerical value of “information necessity” with time other than that shown in FIG.
オリジナルノードは、自身の所属するNWのDNSサーバに自身をNW上で一意に識別可能な識別子であるグローバルIPアドレスと、NW内の他のノードがアクセスする場合に用いるキャッシュ情報の場所を指し示す記述方式であるURLを登録しておく(図2aまたは図2bのオリジナルノード1から出ている1点鎖線)。
The original node is a description indicating the global IP address, which is an identifier that can uniquely identify the DNS server of the NW to which the original node belongs, and the location of cache information used when other nodes in the NW access A URL that is a method is registered (one-dot chain line from the
情報とある値(初期値)の「情報の必要度」をオリジナルキャッシュノード1に配置する。同時に自分を代表キャッシュノードとする下位クラスタ2を生成し、オリジナルキャッシュノード1のIPアドレスと「『情報の必要度』の数値」とを下位クラスタ内用の下位クラスタマップ4−2に登録する。下位クラスタ内用の下位クラスタマップ4−2は各下位クラスタ内のキャッシュノードが分散的に所有し、キャッシュノードは下位クラスタ内用の下位クラスタマップに登録された複数のキャッシュノードとオーバーレイで下位クラスタ内通信を行う。図1に示したように情報へのアクセスがあるたびに「『情報の必要度』の数値」が増加する。
Information and a certain value (initial value) “necessity of information” are arranged in the
図2では、理解のし易さを目的に、アクセスをアリ3で表し、またアクセスによる「『情報の必要度』の数値」の増加分をアリ3が運んでいる荷物Aで表している。アクセスが増えて「『情報の必要度』の数値」がある閾値Θ1を超えると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値Θ1を超えると代表キャッシュノードはある物理的あるいは論理的NW距離にある、次数の大きなキャッシュノードに情報をキャッシュしてもらえないかランダムに打診し、承諾をもらったキャッシュノード6にキャッシュさせてもらう。ここで、複数の承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに、キャッシュさせてもらう。「ある物理的あるいは論理的NW距離」としては、ホップ数を用いる。ここで、「ある物理的あるいは論理的NW距離」は、ある一定のRTT値を用いても良い。
In FIG. 2, for the purpose of easy understanding, the access is represented by
新規追加されたキャッシュノード6は、情報のURLと自身のIPアドレスを自身の属するNWドメインのDNSサーバに登録しておく。これにより、(a)自身の属するNWドメインがオリジナルキャッシュノード(または代表キャッシュノード)と異なっていれば、オリジナルキャッシュノード(または代表キャッシュノード)と異なるDNSサーバに情報のURLと自身のIPアドレスが登録される(図2aのキャッシュサーバ6から出ている1点鎖線)。他方、(b)自身の属するNWドメインがオリジナルキャッシュノード(または代表キャッシュノード)と同じであれば、同じDNSサーバに情報のURLと自身のIPアドレスが登録される(図2bのキャッシュサーバ6から出ている1点鎖線)。
The newly added
新規追加されたキャッシュノード6は、下位クラスタ2内の代表キャッシュノード1に、キャッシュノード6が下位クラスタ2に属することを認識してもらうための「entryメッセージ」を通常のInternet上の通信手段によって送る。キャッシュノード6への依頼を行った代表キャッシュノード1は、新規追加されたキャッシュノード6宛に、「entryメッセージ」を受信したことを示すメッセージを下位クラスタ2内通信によって送り、同時に下位クラスタマップ4−2に必要な情報を要求する。要求を受けた新規追加キャッシュノード6は、自身のキャッシュノード6に関する要求情報を下位クラスタ2内通信によって、キャッシュノード6への依頼を行った代表キャッシュノード1へ送る。
The newly added
キャッシュノード依頼を行った代表キャッシュノード1は、新規代表キャッシュノード6から受け取った要求情報をもとに下位クラスタマップ4−2を更新し、更新された下位クラスタマップ4−2を、下位クラスタ2内通信によって、代表キャッシュノード1の所属する下位クラスタ内の他のキャッシュノード宛に送る。各キャッシュノードは各自の持つ下位クラスタ用の下位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行った代表キャッシュノードに、下位クラスタ内通信によって送る。
The
図5を参照すると、本実施例の分散情報配置システムにおける同一下位クラスタ内のキャッシュノード間の通信の様子の1例が示されている。下位クラスタ2内に存在する、代表キャッシュノード1を含む複数のキャッシュノード6、8らは、下位クラスタ内通信を一定時間間隔毎または不定時間間隔で行うことによって、互いの「生存」と「『情報の必要度』の数値」などの情報を交換し合う。これによって下位クラスタ2内の全てのキャッシュノードの下位クラスタ2内用の下位クラスタマップの更新と同期とを行う。ここで、下位クラスタ内通信は、新規にキャッシュノードが追加されたり、キャッシュノードやキャッシュノード間のリンクの障害などのイベントが発生した場合には、そのイベントをトリガーとして行われる。
Referring to FIG. 5, an example of communication between cache nodes in the same lower cluster in the distributed information arrangement system of this embodiment is shown. The plurality of
図6(a)および図6(b)を参照すると、本実施例の分散情報配置システムにおける同一下位クラスタ内でのアクセスの負荷分散の様子の1例が、それぞれ示されている。図7(a)および図7(b)を参照すると、本実施例の分散情報配置システムにおけるアクセスの負荷分散のフローチャートの1例が、それぞれ示されている。 Referring to FIGS. 6A and 6B, one example of how access loads are distributed in the same lower cluster in the distributed information arrangement system of this embodiment is shown. Referring to FIG. 7A and FIG. 7B, one example of a flowchart of access load distribution in the distributed information arrangement system of this embodiment is shown.
下位クラスタ内に、代表キャッシュノードを除く少なくとも1つの他のキャッシュノードが追加されると、それらは自律的に負荷分散を行う。すなわち、下位クラスタ内通信によって下位クラスタ2内の「『情報の必要度』の数値」は各キャッシュノード1、6、8が、同一内容の下位クラスタ2内用下位クラスタマップを保持しているため、「『情報の必要度』の数値」の最も少ないキャッシュノードから順番にアクセスを転送する。
When at least one other cache node other than the representative cache node is added to the lower level cluster, they autonomously load balance. In other words, the “number of information necessity” in the
図8を参照すると、本実施例の分散情報配置システムにおける、あるNW距離以上のキャッシュノードからのアクセスが増加することによって、NW距離以上の次数の高いキャッシュノードのキャッシュノード化とそこでの新規下位クラスタ生成が行われる様子の1例が示されている。図9を参照すると、本実施例の分散情報配置システムにおける、あるNW距離以上のキャッシュノードからのアクセスが増加することによって、NW距離以上の次数の高いキャッシュノードのキャッシュノード化とそこでの新規下位クラスタ生成が行われる際のフローチャートの1例が示されている。図10を参照すると、本実施例の分散情報配置システムにおける、代表キャッシュノードのみで構成される上位クラスタNWの上位クラスタマップ18の1例が示されている。
Referring to FIG. 8, in the distributed information arrangement system according to the present embodiment, by increasing access from a cache node having a certain NW distance or more, a cache node having a higher degree than the NW distance is converted into a cache node and a new subordinate there. An example of how cluster generation is performed is shown. Referring to FIG. 9, in the distributed information arrangement system according to the present embodiment, by increasing access from a cache node having a certain NW distance or more, a cache node having a higher degree than the NW distance is converted into a cache node and a new subordinate there. An example of a flowchart when cluster generation is performed is shown. Referring to FIG. 10, an example of the
新規追加されたキャッシュノード11は自分を代表キャッシュノードとする下位クラスタ15を新たに形成し、下位クラスタ15内用下位クラスタマップ4−15を作成する。また、新規追加されたキャッシュノード11は情報のURLと自身のIPアドレスを自身の所属するNWドメイン内のDNSサーバ34に登録しておく。ここで、キャッシュノード11の登録するDNSサーバは、オリジナルキャッシュノードの所属するクラスタ2内のキャッシュノードが、それぞれ情報のURLと自身のIPアドレスを登録しているDNSサーバ31,32,33の全てと異なっている。以降、追加される下位クラスタの代表ノードとその下位クラスタ内に追加されるキャッシュノードでの負荷分散の動作は、図2(a)および図2(b)と図3(a)および図3(b)で示したように行われる。これらの方法により、自律分散的な負荷分散が実現される。ここで、この代表キャッシュノード同士による上位クラスタ間オーバーレイNW17は、下位クラスタ2および下位クラスタ15の上位クラスタ間オーバーレイNWの上に構築される。
The newly added
ここで、上位クラスタNW17内の上位クラスタ内通信のために、上位クラスタNW17内の代表キャッシュノードに、上位クラスタNW17内部でのみ通用するローカルなIPアドレスを各々割り当て、このローカルなIPアドレスを用いた上位クラスタNW17内の上位クラスタ内通信を行っても良い。
Here, for communication in the upper cluster in the upper cluster NW17, a local IP address that can be used only in the upper cluster NW17 is assigned to the representative cache node in the upper cluster NW17, and this local IP address is used. Communication within the upper cluster in the
またここで、上位クラスタ内用の上位クラスタマップの内容は、図10に示したように、代表キャッシュノードのDNS登録名、グローバルIPアドレス、各クラスタ内のキャッシュノード数、『情報の必要度』の数値の合計値、および『情報の必要度』の数値の合計値の1次微分値である。ここで、上位クラスタ17内用の上位クラスタマップの内容は、図10に示した以外に、上位クラスタ17内でローカルに付加したローカルなIPアドレスを含んでいても良い。また、上位クラスタ17内用の上位クラスタマップの内容は、図10に示した以外に何らかの『情報の必要度』の数値の経時変化の様子を表す変数を含んでいても良い。
Here, as shown in FIG. 10, the contents of the upper cluster map for the upper cluster include the DNS registration name of the representative cache node, the global IP address, the number of cache nodes in each cluster, and the “necessity of information”. And the first derivative value of the total value of the numerical values of “Necessity of information”. Here, the contents of the upper cluster map for the
各下位クラスタには、その代表キャッシュノードまたはクラスタの中心から一定の物理距離または論理的距離をNW半径10とする円で特定されるクラスタ領域と、このクラスタ領域に設置することのできるキャッシュノードの最大数とが予め定められる。
Each subordinate cluster has a cluster area specified by a circle having an
下位クラスタ2の代表キャッシュノード1が「NW半径10を超える遠くからのアクセスが多くなる」あるいは「計算した自下位クラスタ2に置くことの出来るキャッシュノードの最大数に近づく」ことを検知すると、NW半径10を超える場所に存在する、次数の大きなキャッシュノードに情報をキャッシュしてもらえないかランダムに、通常のInternet上の通信手段によって打診し、通常のInternet上の通信手段によって承諾をもらったキャッシュノード11にキャッシュさせてもらう。ここで、複数の承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに対して、キャッシュさせてもらう。なお、この新規キャッシュノード11の追加は、アクセス数の変動を考慮して、一定時間待ってから行う。
When the
キャッシュノードの依頼を行った代表キャッシュノード1は、自キャッシュノード1を含む代表キャッシュノード1のみで構成される上位クラスタNW17を作成し、上位クラスタNW17用の上位クラスタマップ18−2を作成する。
The
新規追加されたキャッシュノード11は自分を代表キャッシュノードとする下位クラスタ15を新たに形成し、下位クラスタ15内用下位クラスタマップ4−15を作成する。ここで、この代表キャッシュノード同士による上位クラスタ内オーバーレイNW17は、下位クラスタ2および下位クラスタ15のオーバーレイNWの上に構築される。また、新規追加されたキャッシュノード11はキャッシュノード依頼を受けた代表キャッシュノード1に対して、代表キャッシュノードのみで構成される上位クラスタNW17に対して、キャッシュノード11が上位クラスタ17に属することを認識してもらうための「entryメッセージ」を通常のInternet上の通信手段によって送る。キャッシュノード11への依頼を行った代表キャッシュノード1は、新規追加されたキャッシュノード11宛に、「entryメッセージ」を受信したことを示すメッセージを上位クラスタ17内通信によって送り、同時に上位クラスタマップ18に必要な情報を要求する。要求を受けた新規追加キャッシュノード11は、自身のキャッシュノード11に関する要求情報を上位クラスタ17内通信によって、キャッシュノード11への依頼を行った代表キャッシュノード1へ送る。
The newly added
キャッシュノード依頼を行った代表キャッシュノード1は、新規代表キャッシュノード11から受け取った要求情報をもとに上位クラスタマップ18−11を更新し、更新された上位クラスタマップ18−11を、上位クラスタ17内通信によって、代表キャッシュノードが所属する下位クラスタ内の他の代表キャッシュノード宛に送る。各代表キャッシュノードは各自の持つ上位クラスタ用の上位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行った代表キャッシュノード1に、上位クラスタ内通信によって送る。
The
図11を参照すると、本実施例の分散情報配置システムにおける、代表キャッシュノードのみで構成される上位クラスタレベルのNW17(上位層)、下位クラスタレベルのNW2、15、16(中間層)、およびノードレベルのNW(最下層)の関係の1例が示されている。
Referring to FIG. 11, the upper cluster level NW17 (upper layer), the lower
下位クラスタ同士は原則的に代表キャッシュノードであるキャッシュノード1、11、14同士が、各下位クラスタ2、15、16内のキャッシュノード数などのマクロな情報を、一定時間間隔毎または不定時間間隔で上位クラスタNW17上でオーバーレイ通信を行うことによって交換し、互いの生存と状況を確認し合うと共に、各々の代表キャッシュノード1,11,14が保持している各下位クラスタ2,15,16のマクロ情報を更新する。
In principle, the lower-level clusters are the representative cache nodes, and the
図12を参照すると、本実施例の分散情報配置システムにおけるキャッシュノードの脱退の様子の1例が示されている。図13を参照すると、本実施例の分散情報配置システムにおけるキャッシュノードの脱退のフローチャートの1例が示されている。図14を参照すると、本実施例の分散情報配置システムにおける代表キャッシュノードの脱退のフローチャートの1例が示されている。 Referring to FIG. 12, an example of a state of withdrawal of a cache node in the distributed information arrangement system of this embodiment is shown. Referring to FIG. 13, there is shown an example of a flowchart of withdrawal of a cache node in the distributed information arrangement system of this embodiment. Referring to FIG. 14, there is shown an example of a flowchart of withdrawal of a representative cache node in the distributed information arrangement system of this embodiment.
図12の下位クラスタ15を例に取る。キャッシュノード19へのアクセスが減って、「『情報の必要度』の数値」がある閾値2を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間経過後の「『情報の必要度』の数値」の平均値がある閾値2を下回ると、自キャッシュノード19の所属する下位クラスタ15内に他のキャッシュノードがいる限り、下位クラスタ15内の他のキャッシュノード全てに「脱退メッセージ」を下位クラスタ内通信によって送る。脱退メッセージを受け取った下位クラスタ15内の他のキャッシュノードは、自キャッシュノードの保持している下位クラスタ15内用下位クラスタマップから、脱退キャッシュノード19のIPアドレス以外の情報を消去し、「脱退メッセージが到着した」という確認メッセージを脱退キャッシュノード19に対して、下位クラスタ内通信によって送信する。脱退キャッシュノード19は、下位クラスタ15内の全ての他のキャッシュノードから、確認メッセージを受け取った後で、自キャッシュノード19の保持しているキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタ15から抜ける。
Take the
ここで、仮に代表キャッシュノード11が抜ける場合には、以下のようになる。代表キャッシュノード11へのアクセスが減って、「『情報の必要度』の数値」がある閾値2を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値2を下回ると、自キャッシュノード11の所属する下位クラスタ15内の他のキャッシュノードのうち、最も「『情報の必要度』の数値」の小さいキャッシュノード13に他下位クラスタ2、16との通信を行う代表キャッシュノードを譲り、自キャッシュノード11の所属する下位クラスタ15内の他のキャッシュノード全てと、他の下位クラスタ2、16の各々全ての代表キャッシュノード1、14へ、「別のキャッシュノード13が代表キャッシュノードを引き継ぎ、自分11が抜けること」を、下位クラスタ内通信、上位クラスタ内通信によってそれぞれ知らせる。代表キャッシュノード11からの脱退メッセージを受け取った下位クラスタ15内の他の全てのキャッシュノードは各々の持つ下位クラスタ内15用下位クラスタマップから代表キャッシュノード11の情報をIPアドレスを除いて削除し、「代表キャッシュノードを受け継いだキャッシュノード13」を代表キャッシュノードとして下位クラスタ15内用下位クラスタマップに設定する。さらに、「元の代表キャッシュノード11」と「代表キャッシュノードを受け継いだキャッシュノード13」に対して、「新しい代表キャッシュノード13を下位クラスタ15内用下位クラスタマップ4に登録したこと」を確認メッセージとして、下位クラスタ内通信によって伝える。
Here, if the
同様に他の下位クラスタ2、16の各々の代表キャッシュノード1、14は、各々の保持している上位クラスタNW17用の上位クラスタマップ18−2、18−16から代表キャッシュノード11の情報を削除し、新しい代表キャッシュノード13を下位クラスタ15の代表キャッシュノードとして上位クラスタNW17用の上位クラスタマップ18−2、18−16に設定する。さらに他の下位クラスタ2、16の各々の代表キャッシュノード1、14は、確認メッセージを「代表キャッシュノードを受け継いだキャッシュノード13」と「元の代表キャッシュノード11」宛に、上位クラスタ内通信によって送信する。
Similarly, each of the
自キャッシュノード11の所属する下位クラスタ15内の全てのキャッシュノード、および他の下位クラスタ2、16の各々全ての代表キャッシュノード1、14から、下位クラスタ内通信、上位クラスタ内通信によってそれぞれ確認メッセージを受け取った後で、「元の代表キャッシュノード11」は、自キャッシュノード11の保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタ15から抜ける。
Confirmation messages from all the cache nodes in the
図15を参照すると、本実施例の分散情報配置システムにおける下位クラスタの脱退の様子の1例が示されている。図16を参照すると、本実施例の分散情報配置システムにおける下位クラスタの脱退のフローチャートの1例が示されている。 Referring to FIG. 15, an example of the state of withdrawal of the lower cluster in the distributed information arrangement system of the present embodiment is shown. Referring to FIG. 16, there is shown an example of a flowchart of withdrawal of a lower cluster in the distributed information arrangement system of this embodiment.
下位クラスタ16を例にとって説明する。下位クラスタ16に最終的に残ったキャッシュノード14は必然的に下位クラスタの代表キャッシュノードであるが、代表キャッシュノード14でも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、代表キャッシュノード14は他の全ての下位クラスタ2、15の代表キャッシュノード1、11に対して、脱退メッセージを上位クラスタ内通信によって送る。同時に、脱退代表キャッシュノード14は自キャッシュノード14の保持している上位クラスタNW17用下位クラスタマップ18−16を見て、他の全ての下位クラスタ2、15の代表キャッシュノード1,11のうち、キャッシュノード当たりの「『情報の必要度』の数値」が最も少なく、かつ下位クラスタ内のキャッシュノード密度の最大値の大きい代表キャッシュノード11に、自キャッシュノード14の所属する下位クラスタ16内用の下位クラスタマップ4−16を上位クラスタ内通信によって送信する。
A description will be given by taking the
他の全ての下位クラスタ2、15の代表キャッシュノード1、11は、脱退メッセージを送信した代表キャッシュノード14に対して「代表キャッシュノード14が抜けること」を確認するメッセージを「代表キャッシュノード14」宛に上位クラスタ内通信によって送信した後で、代表キャッシュノード14に関するIPアドレス以外の情報を上位クラスタNW17用下位クラスタマップ18−2、18−15の各々から削除する。ここで脱退代表キャッシュノード14から下位クラスタ16内用の下位クラスタマップ4−16を受け取った代表キャッシュノード11は、「下位クラスタマップ4−16を受け取ったこと」を確認メッセージとして、脱退代表キャッシュノード14に上位クラスタ内通信によって送信する。
The
脱退代表キャッシュノード14は、他の全ての下位クラスタ2、15の代表キャッシュノード1、11から「代表キャッシュノード14が抜けること」を確認するメッセージを受け取り、かつ脱退代表キャッシュノード14から下位クラスタ16内用の下位クラスタマップ4−16を受け取った代表キャッシュノード11から「下位クラスタマップ4−16を受け取ったこと」を確認するメッセージを受け取った後で、自キャッシュノード14の保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して上位クラスタNW17から抜ける。
The withdrawal
図17を参照すると、本実施例の分散情報配置システムにおける最後に残ったキャッシュノードの脱退の様子の1例が示されている。図18を参照すると、本実施例の分散情報配置システムにおける最後に残ったキャッシュノードの脱退のフローチャートの1例が示されている。 Referring to FIG. 17, there is shown an example of the state of withdrawal of the cache node remaining at the end in the distributed information arrangement system of this embodiment. Referring to FIG. 18, there is shown an example of a flowchart of withdrawal of the cache node remaining at the end in the distributed information arrangement system of the present embodiment.
オリジナルキャッシュノードを含む下位クラスタ以外で最終的に残った下位クラスタ15において、最終的に残ったキャッシュノード11(終末キャッシュノード)でも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、オリジナルキャッシュノード1に対して、「自分11が最終データのキャッシュノードであること」、終末キャッシュノードが保持している「キャッシュデータ」および「過去に脱退した他の下位クラスタの下位クラスタ内用の下位クラスタマップ」を、1)自キャッシュノード11にそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)削除して欲しい、という「希望情報」と共に、上位クラスタ内通信によって伝える。
In the
オリジナルキャッシュノード1は、終末キャッシュノード11からの「希望情報」を元に、情報を、1)そのまま置いてもらうか、2)何か他の形態(例えばリンク先としてなど)で置かせてもらうか、あるいは、3)削除してもらうかを検討し、その結果を終末キャッシュノード11に対して上位クラスタ内通信によって伝える。ここで、終末キャッシュノード11に情報をキャッシュし続けてもらう理由は、そのデータが再度必要になる場合、最後までアクセスがあったキャッシュノードの周辺からの場合が多いと推定されるためである。
Based on the “desired information” from the
終末キャッシュノード11に終末キャッシュノード11がキャッシュしている情報を削除してもらう場合、オリジナルキャッシュノード1は、最後に残った下位クラスタ15にいた他のキャッシュノード13、19に対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternetの通信手段によって伝える。
When the
終末キャッシュノード11は、オリジナルキャッシュノード1からの回答に従って、情報の管理形態を決定する。すなわち、情報を、1)そのまま置くか、2)何か他の形態(例えばリンク先としてなど)で置くか、あるいは、3)削除するか、のいずれかを行う。
The
オリジナルキャッシュノード1から、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しいというメッセージを通常のInternetの通信手段によって受け取った、最後に残った下位クラスタ15にいた他のキャッシュノード13、19は、それぞれオリジナルキャッシュノード1に対して、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)置きたくない、という「希望情報」を通常のInternetの通信手段によって伝える。
Received a message from the
「希望情報」を受け取ったオリジナルキャッシュノード1は、その中に、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良いという回答があれば、1)、2)の優先順位で、そのキャッシュノードと上位クラスタを形成し、情報を1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良いという回答を行ったキャッシュノードへ、キャッシュする情報を上位クラスタ内通信によって送信する。
The
「希望情報」を受け取ったオリジナルキャッシュノード1は、その中に、3)置きたくないという回答しか無ければ、最後から2番目に削除された下位クラスタ16にいた全てのキャッシュノードに対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternet上の通信手法によって伝える。
If the
オリジナルキャッシュノード1から、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しいというメッセージを受け取った、最後から2番目に残った下位クラスタ16にいた全てのキャッシュノード14、20、21は、それぞれオリジナルキャッシュノード1に対して、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)置きたくない、という「希望情報」をそれぞれ通常のInternet上の通信手法によって伝える。
Received a message from the
以下、上記の段落0125から段落0128までの手順を繰り返す。 Thereafter, the procedure from paragraph 0125 to paragraph 0128 is repeated.
最終的にオリジナルキャッシュノード1以外にキャッシュしてくれるキャッシュノードが無ければ、オリジナルキャッシュノード1は、情報を自キャッシュノード1に保存したままにする。
If no cache node finally caches other than the
以上のようにして、通信NW上の情報へのアクセス数に適応して、情報のキャッシュ配置の量と質を利他的かつ協調的な仕組みによって自律分散的に決定することで、効率的な情報の分散キャッシュ配置を実現するとともに、一度廃れてアクセスの無くなった情報の効率的な再生を実現する。 As described above, the amount of information cache allocation and quality are determined autonomously and distributed by an altruistic and cooperative mechanism in accordance with the number of accesses to information on the communication NW. In addition to realizing a distributed cache arrangement, it is possible to efficiently reproduce information that has been once discarded and no longer accessed.
[動作の説明]
次に本実施例の分散情報配置システムの動作について説明する。
[Description of operation]
Next, the operation of the distributed information arrangement system of this embodiment will be described.
図1を参照すると、本実施例の分散情報配置システムにおける「『情報の必要度』の数値」の変化の様子の1例が示されている。アクセスがあるたびに、「『情報の必要度』の数値」は一定量だけ増加する。「『情報の必要度』の数値」は一定時間が経過する毎に一定量だけ減少する。なお、時間経過に伴い減少する「『情報の必要度』の数値」は、非線形に減少しても良い。また、アクセスがあるたびに増加する「『情報の必要度』の数値」は、キャッシュノードのアクセスを受信可能なインターフェースの数や、インターフェースの入力バッファサイズなどに応じて、キャッシュノード毎に異なっていても良い。また、アクセスがあるたびに増加する「『情報の必要度』の数値」は、自下位クラスタ内に置くことの出来るキャッシュノードの最大数に応じて、下位クラスタ毎で異なっていても良い。また、時間経過に伴い減少する「『情報の必要度』の数値」は、キャッシュノードのアクセスを受信可能なインターフェースの数や、インターフェースの入力バッファサイズなどに応じて、キャッシュノード毎に異なっていても良い。また、時間経過に伴い減少する「『情報の必要度』の数値」は、自下位クラスタ内に置くことの出来るキャッシュノードの最大数に応じて、下位クラスタ毎で異なっていても良い。 Referring to FIG. 1, an example of a change in “numerical value of“ information necessity ”” in the distributed information arrangement system of the present embodiment is shown. Each time there is an access, the “numerical value of information” increases by a certain amount. The “numerical value of“ information requirement ”” decreases by a certain amount every time a certain time elapses. Note that the “numerical value of“ information necessity ”” that decreases with time may decrease non-linearly. In addition, the “numerical value of information” that increases with each access varies from cache node to cache node depending on the number of interfaces that can receive cache node access and the input buffer size of the interface. May be. Further, the “numerical value of“ information requirement ”” that increases each time access is made may differ for each lower cluster according to the maximum number of cache nodes that can be placed in the own lower cluster. In addition, the “numerical value of information” that decreases over time differs for each cache node depending on the number of interfaces that can receive cache node access and the input buffer size of the interface. Also good. Further, the “numerical value of“ information necessity ”” that decreases with the passage of time may be different for each lower cluster according to the maximum number of cache nodes that can be placed in the own lower cluster.
(1)キャッシュノードの増加に関する動作の説明
図2(a)および(b)、図3(a)および(b)、図4を参照して、本実施例の分散情報配置システムにおけるキャッシュノードの増加に関する動作を説明する。
(1) Description of operation related to increase in cache node Referring to FIGS. 2 (a) and 2 (b), FIGS. 3 (a) and 3 (b), and FIG. 4, cache nodes in the distributed information arrangement system of this embodiment The operation related to the increase will be described.
情報とある値(初期値)の「情報の必要度」をオリジナルキャッシュノード1に配置する(図3aのS301、図3bのS321)。またオリジナルキャッシュノードは、自身の所属するNWのDNSサーバに自身をNW上で一意に識別可能な識別子であるグローバルIPアドレスと、NW内の他のノードがアクセスする場合に用いる該キャッシュ情報の場所を指し示す記述方式であるURLを登録しておく(図2aまたは図2bのオリジナルキャッシュノード1から出ている1点鎖線)。同時に自分を代表キャッシュノードとする下位クラスタ2を生成し、当該オリジナルキャッシュノード1のIPアドレスと「『情報の必要度』の数値」とを下位クラスタ内用の下位クラスタマップ4−2に登録する。下位クラスタ内用の下位クラスタマップ4−2は各下位クラスタ内のキャッシュノードが分散的に所有し、キャッシュノードは下位クラスタ内用の下位クラスタマップに登録された複数のキャッシュノードと下位クラスタ内のオーバーレイ通信で下位クラスタNW2内通信を行う。
Information and a certain value (initial value) “necessity of information” are arranged in the original cache node 1 (S301 in FIG. 3a, S321 in FIG. 3b). The original cache node also has a global IP address that is an identifier that can uniquely identify itself on the DNS server of the NW to which the original cache node belongs, and the location of the cache information that is used when other nodes in the NW have access. Is registered (a one-dot chain line extending from the
図1に示したように情報へのアクセスがあるたびに「『情報の必要度』の数値」が増加する。 As shown in FIG. 1, every time information is accessed, the “numerical value of“ information necessity ”” increases.
図2(a)および(b)では、理解のし易さを目的に、アクセスをアリ3で表し、またアクセスによる「『情報の必要度』の数値」の増加分をアリ3が運んでいる荷物Aで表している。アクセスが増えて「『情報の必要度』の数値」がある閾値Θ1を超えると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する(図3aのS302、S303、図3bのS322、S323)。一定時間の「『情報の必要度』の数値」の平均値がある閾値Θ1を超えると、代表キャッシュノードはあるホップ数内にある、次数の大きなキャッシュノードに情報をキャッシュしてもらえないかランダムに打診し、承諾をもらったキャッシュノード6にキャッシュさせてもらう(図3aのS304〜S307、図3bのS324〜S327)。
In FIGS. 2 (a) and (b), for the purpose of easy understanding, the access is represented by
ここで閾値Θ1は、キャッシュノードのアクセスを受信可能なインターフェースの入力バッファサイズの最大値の1から100%の割合の範囲内で、かつ後述のキャッシュノードが下位クラスタから脱退する場合の閾値Θ2より大きい割合に設定する。また、閾値Θ1は、キャッシュノードのアクセスを受信可能なインターフェースの数や、該インターフェースの入力バッファサイズなどに応じて、キャッシュノード毎に異なっていても良い。また、閾値Θ1は、自下位クラスタ内に置くことの出来るキャッシュノードの最大数に応じて、下位クラスタ毎で異なっていても良い。 Here, the threshold value Θ1 is within the range of 1 to 100% of the maximum value of the input buffer size of the interface that can receive the access of the cache node, and the threshold value Θ2 when the cache node described later leaves the lower cluster. Set to a large percentage. Further, the threshold Θ1 may be different for each cache node according to the number of interfaces that can receive access of the cache node, the input buffer size of the interface, and the like. The threshold Θ1 may be different for each lower cluster according to the maximum number of cache nodes that can be placed in the own lower cluster.
複数のキャッシュノードから通常のInternetにおける通信手法により承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに対して、キャッシュさせてもらう(図3aのS308、図3bのS328)。もし、一定のホップ数内のキャッシュノードから承諾が得られなければ、オリジナルキャッシュノードは探索ホップ数を+1して、承諾を得られるキャッシュノードを探索する(図3aのS306でNo、図3bのS326でNo)。 When consent is obtained from a plurality of cache nodes by a communication method in the ordinary Internet, all of them or cache nodes having a higher degree among them are cached (S308 in FIG. 3a, in FIG. 3b). S328). If consent is not obtained from a cache node within a certain number of hops, the original cache node increments the number of search hops by +1 and searches for a cache node that can obtain consent (No in S306 in FIG. 3a, in FIG. 3b). No in S326).
新規追加されたキャッシュノード6は、自情報のURLと自身のIPアドレスを自ノードの属するNWドメインのDNSサーバに登録しておく(図3aのS309、図3bのS329、図2aのキャッシュサーバ6から出ている1点鎖線、図2bのキャッシュサーバ6から出ている1点鎖線)。
The newly added
新規追加されたキャッシュノード6は、下位クラスタ2内の代表キャッシュノード1に、キャッシュノード6が下位クラスタ2に属することを認識してもらうための「entryメッセージ」を通常のInternet上の通信手段によって送る。キャッシュノード6への依頼を行った代表キャッシュノード1は、新規追加されたキャッシュノード6宛に、「entryメッセージ」を受信したことを示すメッセージを下位クラスタ2内通信によって送り、同時に下位クラスタマップ4−2に必要な情報を要求する(図3aのS310、図3bのS330)。要求を受けた新規追加キャッシュノード6は、自身のキャッシュノード6に関する要求情報を下位クラスタ2内通信によって、キャッシュノード6への依頼を行った代表キャッシュノード1へ送る(図3aのS311、図3bのS331)。
The newly added
キャッシュノード依頼を行った代表キャッシュノード1は、新規代表キャッシュノード6から受け取った要求情報をもとに下位クラスタマップ4−2を更新し、更新された下位クラスタマップ4−2を、下位クラスタ2内通信によって、代表キャッシュノードの所属する下位クラスタ内の他のキャッシュノード宛に送る(図3aのS312、図3bのS332)。各キャッシュノードは各自の持つ下位クラスタ用の下位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行った代表キャッシュノードに、下位クラスタ内通信によって送る(図3aのS313、図3bのS333)。
The
図5を参照すると、本実施例の分散情報配置システムにおける同一下位クラスタ内のキャッシュノード間の通信の様子の1例が示されている。下位クラスタ2内に存在する、代表キャッシュノード1を含む複数のキャッシュノード6、8らは、下位クラスタ内通信によって一定時間間隔毎または不定時間間隔で行うことによって、互いの「生存」と「『情報の必要度』の数値」などの情報を交換し合う。これによって下位クラスタ2内の全てのキャッシュノードの下位クラスタ2内用の下位クラスタマップの更新と同期とを行う。ここで、下位クラスタ内通信は、新規にキャッシュノードが追加されたり、キャッシュノードやキャッシュノード間のリンクの障害などのイベントが発生した場合には、そのイベントをトリガーとして行われる。
Referring to FIG. 5, an example of communication between cache nodes in the same lower cluster in the distributed information arrangement system of this embodiment is shown. The plurality of
ここで、同一情報のループを防ぐために、下位クラスタNW内でのオーバーレイ通信は、代表キャッシュノード1をIETF(The Internet Engineering Task Forceの略)のRFC2796に規定されたルートリフレクタに設定した上での通信であっても良い。
Here, in order to prevent a loop of the same information, the overlay communication in the lower cluster NW is performed by setting the
また、ここで同一情報のループを防ぐために、下位クラスタ内通信は、IETFのRFC2328に規定されたOSPF(Open Shortest Path Algorithm)をプロトコルとして用いても良い。 Further, in order to prevent a loop of the same information here, OSPF (Open Shortest Path Algorithm) defined in RFC 2328 of IETF may be used as a protocol for lower-layer intra-cluster communication.
また、ここで同一情報のループを防ぐために、下位クラスタNW内の何らかのオーバーレイ通信は、IETFのRFC1142またはRFC1195に規定されたIS−IS(Intermediate System−Intermediate System)をプロトコルとして用いても良い。
In order to prevent a loop of the same information here, IS-IS (Intermediate System-Intermediate System) defined in
さらに、全てのキャッシュノードの下位クラスタ2内用の下位クラスタマップの同期を取るために、下位クラスタ2内において下位クラスタ内通信によって交換される情報には、何らかのフォーマットによるバージョン情報を含んでいても良い。
Furthermore, in order to synchronize the lower cluster map for the
(2)下位クラスタ内でのアクセス負荷分散に関する動作の説明
図6(a)および図6(b)、図7(a)および図7(b)を参照して、本実施例の分散情報配置システムにおける下位クラスタ内でのアクセスの負荷分散に関する動作を説明する。
(2) Description of operation regarding access load distribution in lower cluster Referring to FIG. 6 (a), FIG. 6 (b), FIG. 7 (a) and FIG. An operation related to load distribution of access in a lower cluster in the system will be described.
下位クラスタ内に、代表キャッシュノードを除く少なくとも1つの他のキャッシュノードが追加されると、それらは自律的に負荷分散を行う。すなわち、下位クラスタ内のオーバーレイ通信によって下位クラスタ2内の「『情報の必要度』の数値」は各キャッシュノード1、6、8が、同一内用の下位クラスタ2内用下位クラスタマップ4−2を保持しているため、「『情報の必要度』の数値」の最も少ないキャッシュノードから順番にアクセスを転送する。
When at least one other cache node other than the representative cache node is added to the lower level cluster, they autonomously load balance. In other words, the “numerical value of“ information ”” in the
図6(a)は、下位クラスタ2内の複数のキャッシュノードがそれぞれ個別のDNSに登録している場合である。この場合、アクセス元のノード3a、3b、3cはそれぞれ自身の所属するNWドメインのDNSサーバ31、32、33に、キャッシュされている情報のキャッシュノードのIPアドレスを知るためにアクセスする(図7aのS701)。ここでは、簡単のためDNSサーバ31、32、33はキャッシュノードのIPアドレスを知っていることとする。
FIG. 6A shows a case where a plurality of cache nodes in the
DNSサーバ31、32、33はアクセス元のノード3a、3b、3cに対してそれぞれキャッシュノードである1、6、8のIPアドレスを教える(図7aのS702)。これによって、アクセス元のノード3a、3b、3cはキャッシュノード1、6、8にそれぞれアクセスする(図7aのS703)。
The
アクセスをそれぞれ受けたキャッシュノード1、6、8は、それぞれが保有する下位クラスタ2のクラスタマップ4−2を見て、「『情報の必要度』の数値」の最も少ないキャッシュノードから順番にアクセスを転送する(図7aのS704)。
The
これらの方法により、自律分散的な負荷分散が実現される。 By these methods, autonomous distributed load distribution is realized.
図6(b)は、下位クラスタ2内の複数のキャッシュノードが同じDNSに登録している場合である。この場合、アクセス元のノード3a、3b、3cはそれぞれDNSサーバ31に、キャッシュされている情報のキャッシュノードのIPアドレスを知るためにアクセスする(図7bのS711)。ここでは、簡単のためDNSサーバ31はキャッシュノードのIPアドレスを知っていることとする。
FIG. 6B shows a case where a plurality of cache nodes in the
DNSサーバ31は、自身に実装されている手法によってアクセス元のノード3a、3b、3cに対してそれぞれキャッシュノードである1、6、8の中からいずれかを選んで、そのキャッシュノードのIPアドレスを教える(図7bのS712)。これによって、アクセス元のノード3a、3b、3cは、DNSサーバによって選択されたキャッシュノードにそれぞれアクセスする(図7bのS713)。
The
アクセスをそれぞれ受けたキャッシュノードは、それぞれが保有する下位クラスタ2のクラスタマップ4−2を見て、「『情報の必要度』の数値」の最も少ないキャッシュノードから順番にアクセスを転送する(図7bのS714)。
Each cache node that has received an access looks at the cluster map 4-2 of the
これらの方法により、自律分散的な負荷分散が実現される。 By these methods, autonomous distributed load distribution is realized.
ここで、アクセスを転送する順番は、クラスタマップ4内にある全てのキャッシュノードの「現在の『情報の必要度』の数値」に「アクセス時間間隔の平均値」と「『情報の必要度』の数値の1次微分値」との積を加えた値を計算することで、それぞれのキャッシュノードの今後の「『情報の必要度』の数値」の予測値を計算し、予測値の最も小さいキャッシュノードから順でも良い。
Here, the order of transferring the access is “the average value of the access time interval” and “the“ necessity of information ”in the“ current “information necessity” numerical value ”of all the cache nodes in the
また、アクセスを転送する順番は、クラスタマップ4内にある全てのキャッシュノードの「現在の『情報の必要度』の数値」に「アクセス時間間隔の平均値」と「『情報の必要度』の数値の1次微分値」との積と、「アクセス時間間隔の平均値」の2乗と「『情報の必要度』の数値の2次微分値」との積を加えた値を計算することで、それぞれのキャッシュノードの今後の「『情報の必要度』の数値」の予測値を計算し、予測値の最も小さいキャッシュノードから順でも良い。
In addition, the order of transferring access is determined by adding “average value of access time interval” and “information necessity” to the “current value of information need” of all cache nodes in the
また、アクセスを転送する順番は、「『情報の必要度』の数値」の最も少ないキャッシュノードに対して、閾値Θ1まで増加させ、その後その時点で「『情報の必要度』の数値」の最も少ないキャッシュノードに対して、閾値Θ1まで増加させることを繰り返しても良い。 Further, the order of transferring the access is increased to the threshold Θ1 for the cache node having the smallest “value of“ information need ””, and then the “number of“ value of information ”” is the highest at that point. You may repeat increasing to threshold value (theta) 1 with respect to few cache nodes.
また、アクセスを転送する順番は、「『情報の必要度』の数値」の最も少ないキャッシュノードから「『情報の必要度』の数値」の少ない順番にアクセスを転送することを繰り返すものであっても良い。 Also, the order of transferring the access is to repeat the transfer of the access from the cache node having the smallest “number of“ information necessity ”” in the order of the “number of“ necessity of information ””. Also good.
また、アクセスを転送する順番は、下位クラスタ2内のキャッシュノードのアクセスを受信可能なインターフェースの数が少ない順でも良い。
Further, the order of transferring the access may be the order in which the number of interfaces that can receive the access of the cache node in the
また、アクセスを転送する順番は、下位クラスタ2内のキャッシュノードのアクセスを受信可能なインターフェースの入力バッファサイズが少ない順でも良い。
Further, the order of transferring the access may be the order in which the input buffer size of the interface capable of receiving the access of the cache node in the
また、アクセスを転送する順番は、下位クラスタ毎で異なっていても良い。 Further, the order of transferring access may be different for each lower cluster.
(3)クラスタの増加に関する動作の説明
図8、図9および図10を参照して、本実施例の分散情報配置システムにおけるクラスタの増加に関する動作を説明する。
(3) Explanation of operation concerning increase of cluster With reference to FIG. 8, FIG. 9, and FIG. 10, the operation concerning the increase of the cluster in the distributed information arrangement system of the present embodiment will be explained.
各下位クラスタ2には、その代表キャッシュノード1またはクラスタ2の中心から一定の物理距離または論理的距離をNW半径10とする円で特定されるクラスタ領域と、このクラスタ領域に設置することのできるキャッシュノードの最大数とが予め定められる。
Each
ここで、自キャッシュノード1または下位クラスタ2を中心としたアクセス元のNW半径10は、下位クラスタ2内の全てまたは1部のキャッシュノードの、アクセスを受信可能なインターフェースの数に基づいて設定しても良い。
Here, the
また、自キャッシュノード1または下位クラスタ2を中心としたアクセス元のNW半径10は、下位クラスタ2内の全てまたは1部のキャッシュノードの、アクセスを受信可能なインターフェースの入力バッファサイズに基づいて設定しても良い。
The
また、自キャッシュノード1または下位クラスタ2を中心としたアクセス元のNW半径10は、下位クラスタ2内の全てまたは1部のキャッシュノードの、アクセスを受信可能なインターフェースの数と、アクセスを受信可能なインターフェースの入力バッファサイズの両方に基づいて設定しても良い。
Also, the
このようにして、下位クラスタ2の代表キャッシュノード1が「NW半径10を超える遠くからのアクセスが多くなる」あるいは「計算した自下位クラスタ2に置くことの出来るキャッシュノードの最大数に近づく」ことを知ると、NW半径10を超える場所に存在する、次数の大きなキャッシュノードに情報をキャッシュしてもらえないかランダムに通常のInternetにおける通信手法により打診し、承諾をもらったキャッシュノード11にキャッシュさせてもらう(図9のS901〜S904)。ここで、複数の承諾をもらった場合には、それらの全て、あるいはそれらのうち次数の大きなキャッシュノードに対して、キャッシュさせてもらう(図9のS905)。
In this way, the
キャッシュノードの依頼を行った代表キャッシュノード1は、自キャッシュノード1を含む代表キャッシュノード1のみで構成される上位クラスタNW17を作成し、上位クラスタNW17用の上位クラスタマップ18−2を作成する(図9のS906)。
The
新規追加されたキャッシュノード11は自分を代表キャッシュノードとする下位クラスタ15を新たに形成し、下位クラスタ15内用下位クラスタマップ4−15を作成する(図9のS907)。
The newly added
また、新規追加されたキャッシュノード11は情報のURLと自身のIPアドレスを自身の所属するNWドメイン内のDNSサーバ34に登録しておく(図9のS907)。ここで、キャッシュノード11の登録するDNSサーバは、オリジナルキャッシュノードの所属するクラスタ2内のキャッシュノードが、それぞれ情報のURLと自身のIPアドレスを登録しているDNSサーバ31,32,33の全てと異なっている。以降、追加される下位クラスタの代表ノードとその下位クラスタ内に追加されるキャッシュノードでの負荷分散の動作は、図2(a)および図2(b)と図3(a)および図3(b)で示したように行われる。これらの方法により、自律分散的な負荷分散が実現される(図9のS907)。
Further, the newly added
ここで、この代表キャッシュノード同士による上位クラスタ間オーバーレイNW17は、下位クラスタ2および下位クラスタ15のクラスタ内オーバーレイNWの上に構築される(図9のS907)。
Here, the upper
また、新規追加されたキャッシュノード11はキャッシュノード依頼を受けた代表キャッシュノード1に対して、代表キャッシュノードのみで構成される上位クラスタNW17に対して、キャッシュノード11が上位クラスタ17に属することを認識してもらうための「entryメッセージ」を通常のInternet上の通信手段によって送る(図9のS907)。
Further, the newly added
キャッシュノード11への依頼を行った代表キャッシュノード1は、新規追加されたキャッシュノード11宛に、「entryメッセージ」を受信したことを示すメッセージを上位クラスタ17内通信によって送り、同時に上位クラスタマップ18に必要な情報を要求する(図9のS908)。要求を受けた新規追加キャッシュノード11は、自身のキャッシュノード11に関する要求情報を上位クラスタ17内通信によって、キャッシュノード11への依頼を行った代表キャッシュノード1へ送る。
The
キャッシュノード依頼を行った代表キャッシュノード1は、新規代表キャッシュノード11から受け取った要求情報をもとに上位クラスタマップ18−11を更新し、更新された上位クラスタマップ18−11を、上位クラスタ17内通信によって、代表キャッシュノードが所属する下位クラスタ内の他の代表キャッシュノード宛に送る。各代表キャッシュノードは各自の持つ上位クラスタ用の上位クラスタマップを更新して、登録完了のメッセージを、キャッシュノード依頼を行った代表キャッシュノード1に、上位クラスタ内通信によって送る(図9のS908)。
The
図11を参照すると、本実施例の分散情報配置システムにおける、代表キャッシュノードのみで構成される上位クラスタレベルのNW17(上位層)、下位クラスタレベルのNW2、15、16(中間層)、およびノードレベルのNW(最下層)の関係の1例が示されている。
Referring to FIG. 11, the upper cluster level NW17 (upper layer), the lower
下位クラスタ同士は原則的に代表キャッシュノードであるキャッシュノード1、11、14同士が、各下位クラスタ2、15、16内のキャッシュノード数などのマクロな情報を、一定時間間隔毎または不定時間間隔で上位クラスタNW17上でオーバーレイ通信を行うことによって交換し、互いの生存と状況を確認し合うと共に、各々の代表キャッシュノード1,11,14が保持している各下位クラスタ2,15,16のマクロ情報を更新する(図9のS909)。
In principle, the lower-level clusters are the representative cache nodes, and the
ここで、同一情報のループを防ぐために、何らかのオーバーレイ通信は、代表キャッシュノード1、11、14のいずれかをIETFのRFC2796に規定されたルートリフレクタに設定した上での通信であっても良い。また、ここで同一情報のループを防ぐために、下位クラスタNW内の何らかのオーバーレイ通信は、IETFのRFC2328に規定されたOSPFをプロトコルとして用いても良い。また、ここで同一情報のループを防ぐために、下位クラスタNW内の何らかのオーバーレイ通信は、IETFのRFC1142またはRFC1195に規定されたIS−ISをプロトコルとして用いても良い。
Here, in order to prevent a loop of the same information, some overlay communication may be communication after setting any one of the
さらに、全ての代表キャッシュノードの上位クラスタ17内用の下位クラスタマップの同期を取るために、上位クラスタ17内において何らかのオーバーレイ通信によって交換される情報には、何らかのフォーマットによるバージョン情報を含んでいても良い。
Further, in order to synchronize the lower cluster map for the
(4)キャッシュノードの減少に関する動作の説明
図12、図13および図14を参照して、本実施例の分散情報配置システムにおけるキャッシュノードの減少に関する動作を説明する。
(4) Description of Operation Regarding Reduction of Cache Node With reference to FIG. 12, FIG. 13, and FIG. 14, an operation regarding reduction of the cache node in the distributed information arrangement system of the present embodiment will be described.
図12の下位クラスタ15を例に取る。キャッシュノード19へのアクセスが減って、「『情報の必要度』の数値」がある閾値Θ2を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する(図13のS1301、S1302)。一定時間経過後の「『情報の必要度』の数値」の平均値がある閾値Θ2を下回ると、自キャッシュノード19の所属する下位クラスタ15内に他のキャッシュノードがいる限り、下位クラスタ15内の他のキャッシュノード全てに「脱退メッセージ」を下位クラスタ15内用通信によって送る(図13のS1303、S1304)。
Take the
ここで閾値Θ2は、キャッシュノードのアクセスを受信可能なインターフェースの入力バッファサイズの最大値の0から99%の割合の範囲内で、かつ後述のキャッシュノードが下位クラスタに追加される場合の閾値Θ1より小さい割合に設定する。また、閾値Θ2は、キャッシュノードのアクセスを受信可能なインターフェースの数や、インターフェースの入力バッファサイズなどに応じて、キャッシュノード毎に異なっていても良い。また、閾値Θ2は、自下位クラスタ内に置くことの出来るキャッシュノードの最大数に応じて、下位クラスタ毎で異なっていても良い。 Here, the threshold Θ2 is within the range of 0 to 99% of the maximum value of the input buffer size of the interface that can receive the cache node access, and the threshold Θ1 when a cache node described later is added to the lower cluster. Set to a smaller percentage. The threshold Θ2 may be different for each cache node according to the number of interfaces that can receive the cache node access, the input buffer size of the interface, and the like. The threshold Θ2 may be different for each lower cluster according to the maximum number of cache nodes that can be placed in the own lower cluster.
脱退メッセージを受け取った下位クラスタ15内の他のキャッシュノードは自キャッシュノードの保持している下位クラスタ15内用下位クラスタマップから、脱退キャッシュノード19のIPアドレス以外の情報を消去し、「脱退メッセージが到着した」という確認メッセージを脱退キャッシュノード19に対して下位クラスタ内通信によって送信する(図13のS1305、S1306)。脱退キャッシュノード19は、下位クラスタ15内の全ての他のキャッシュノードから、確認メッセージを受け取った後で、自キャッシュノード19の保持しているキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタ15から抜ける(図13のS1307)。
The other cache nodes in the
ここで、仮に代表キャッシュノード11が抜ける場合には、以下のようになる。代表キャッシュノード11へのアクセスが減って、「『情報の必要度』の数値」がある閾値Θ2を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する(図14のS1401、S1402)。一定時間の「『情報の必要度』の数値」の平均値がある閾値Θ2を下回ると、自キャッシュノード11の所属する下位クラスタ15内の他のキャッシュノードのうち、最も「『情報の必要度』の数値」の小さいキャッシュノード13に他の下位クラスタ2、16との通信を行う代表キャッシュノードを譲り、自キャッシュノード11の所属する下位クラスタ15内の他のキャッシュノード全てと、他の下位クラスタ2、16の各々全ての代表キャッシュノード1、14へ、「別のキャッシュノード13が代表キャッシュノードを引き継ぎ、自分11が抜けること」を、下位クラスタ内通信、上位クラスタ内通信によってそれぞれ知らせる(図14のS1403、S1404)。
Here, if the
代表キャッシュノード11からの脱退メッセージを受け取った下位クラスタ15内の他の全てのキャッシュノードは各々の持つ下位クラスタ15内用下位クラスタマップから代表キャッシュノード11の情報をIPアドレスを除いて削除し、「代表キャッシュノードを受け継いだキャッシュノード13」を代表キャッシュノードとして下位クラスタ15内用下位クラスタマップに設定する。さらに、「元の代表キャッシュノード11」と「代表キャッシュノードを受け継いだキャッシュノード13」に対して、下位クラスタ内通信によって「新しい代表キャッシュノード13を下位クラスタ15内用下位クラスタマップ4−15に登録したこと」を確認メッセージとして伝える(図14のS1405)。
All other cache nodes in the
同様に他の下位クラスタ2、16の各々の代表キャッシュノード1、14は、各々の保持している上位クラスタNW17用の上位クラスタマップ18−2、18−16から代表キャッシュノード11の情報を削除し、新しい代表キャッシュノード13を下位クラスタ15の代表キャッシュノードとして上位クラスタNW17用の上位クラスタマップ18−2、18−16に設定する。さらに他の下位クラスタ2、16の各々の代表キャッシュノード1、14は、確認メッセージを「代表キャッシュノードを受け継いだキャッシュノード13」と「元の代表キャッシュノード11」宛に上位クラスタ内通信によって送信する(図14のS1406)。
Similarly, each of the
自キャッシュノード11の所属する下位クラスタ15内の全てのキャッシュノード、および他の下位クラスタ2、16の各々全ての代表キャッシュノード1、14からの確認メッセージを下位クラスタ内通信、上位クラスタ内通信によってそれぞれ受け取った後で、「元の代表キャッシュノード11」は、自キャッシュノード11の保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して下位クラスタ15から抜ける(図14のS1407)。
Confirmation messages from all the cache nodes in the
(5)クラスタの減少に関する動作の説明
図15および図16を参照して、本実施例の分散情報配置システムにおけるクラスタの減少に関する動作を説明する。
(5) Description of operation related to cluster reduction With reference to FIG. 15 and FIG. 16, an operation related to cluster reduction in the distributed information arrangement system of this embodiment will be described.
下位クラスタ16を例にとって説明する。下位クラスタ16に最終的に残ったキャッシュノード14は必然的に下位クラスタの代表キャッシュノードであるが、代表キャッシュノード14でも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する(図16のS1601、S1602)。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、代表キャッシュノード14は他の全ての下位クラスタ2、15の代表キャッシュノード1、11に対して、脱退メッセージを送る(図16のS1603、S1604)。同時に、脱退代表キャッシュノード14は自キャッシュノード14の保持している上位クラスタNW17用上位クラスタマップ18−16を見て、他の全ての下位クラスタ2、15の代表キャッシュノード1,11のうち、キャッシュノード当たりの「『情報の必要度』の数値」が最も少なく、かつ下位クラスタ内のキャッシュノード密度の最大値の大きい代表キャッシュノード11に、自キャッシュノード14の所属する下位クラスタ16内用の下位クラスタマップ4−16を上位クラスタ内通信によって送信する(図16のS1606)。
A description will be given by taking the
他の全ての下位クラスタ2、15の代表キャッシュノード1、11は、脱退メッセージを送信した代表キャッシュノード14に対して「代表キャッシュノード14が抜けること」を確認するメッセージを「代表キャッシュノード14」宛に上位クラスタ内通信によって送信した後で、代表キャッシュノード14に関するIPアドレス以外の情報を上位クラスタNW17用上位クラスタマップ18−2、18−15の各々から削除する(図16のS1605)。ここで脱退代表キャッシュノード14から下位クラスタ16内用の下位クラスタマップ4−16を受け取った代表キャッシュノード11は、「下位クラスタマップ4−16を受け取ったこと」を確認メッセージとして、脱退代表キャッシュノード14に上位クラスタ内通信によって送信する(図16のS1607)。
The
脱退代表キャッシュノード14は、他の全ての下位クラスタ2、15の代表キャッシュノード1、11から「代表キャッシュノード14が抜けること」を確認するメッセージを受け取り、かつ脱退代表キャッシュノード14から下位クラスタ16内用の下位クラスタマップ4−16を受け取った代表キャッシュノード11から「下位クラスタマップ4−16を受け取ったこと」を確認するメッセージを上位クラスタ内通信によって受け取った後で、自キャッシュノード14の保持するキャッシュデータを削除し、情報のURLと自身のIPアドレスとを登録したDNSサーバに削除要求を出して上位クラスタNW17から抜ける(図16のS1608)。
The withdrawal
(6)終末キャッシュノードの脱退に関する動作の説明
図17および図18を参照して、終末キャッシュノードの脱退に関する動作を説明する。
(6) Description of Operation Related to Withdrawal of End Cache Node With reference to FIGS. 17 and 18, an operation related to withdrawal of the end cache node will be described.
最終的に残った下位クラスタ15において、最終的に残ったキャッシュノード11(終末キャッシュノード)でも「『情報の必要度』の数値」がある閾値を下回ると、数値の変動を考慮して、その時点から一定時間の「『情報の必要度』の数値」の平均値を取得する(図18のS1801)。一定時間の「『情報の必要度』の数値」の平均値がある閾値を下回ると、オリジナルキャッシュノード1に対して、「自分11が最終データのキャッシュノードであること」、終末キャッシュノードが保持している「キャッシュデータ」および「過去に脱退した他の下位クラスタの下位クラスタ内用の下位クラスタマップ」を、1)自キャッシュノード11にそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)削除して欲しい、という「希望情報」と共に、上位クラスタ内通信によって伝える(図18のS1802)。
In the finally remaining
オリジナルキャッシュノード1は、終末キャッシュノード11からの「希望情報」を元に、情報を、1)そのまま置いてもらうか、2)何か他の形態(例えばリンク先としてなど)で置かせてもらうか、あるいは、3)削除してもらうかを検討し、その結果を終末キャッシュノード11に対して上位クラスタ内通信によって伝える(図18のS1803)。ここで、終末キャッシュノード11に情報をキャッシュし続けてもらう理由は、そのデータが再度必要になる場合、最後までアクセスがあったキャッシュノードの周辺からの場合が多いと推定されるためである。
Based on the “desired information” from the
終末キャッシュノード11に終末キャッシュノード11がキャッシュしている情報を削除してもらう場合、オリジナルキャッシュノード1は、最後に残った下位クラスタ15にいた他のキャッシュノード13、19に対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternet上の通信手段によって伝える(図18のS1805)。
When the
終末キャッシュノード11は、オリジナルキャッシュノード1からの回答に従って、情報の管理形態を決定する。すなわち、情報を、1)そのまま置くか、2)何か他の形態(例えばリンク先としてなど)で置くか、あるいは、3)削除するか、のいずれかを行う(図18のS1804)。
The
オリジナルキャッシュノード1から、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しいというメッセージを受け取った、最後に残った下位クラスタ15にいた他のキャッシュノード13、19は、それぞれオリジナルキャッシュノード1に対して、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)置きたくない、という「希望情報」をそれぞれ通常のInternet上の通信手法によって伝える(図18のS1806)。
Received a message from the
「希望情報」を受け取ったオリジナルキャッシュノード1は、その中に、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良いという回答があれば、1)、2)の優先順位で、そのキャッシュノードと上位クラスタを形成し、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良いという回答を行ったキャッシュノードへ、キャッシュする情報を上位クラスタ内通信によって送信する(図18のS1807)。
The
「希望情報」を受け取ったオリジナルキャッシュノード1は、その中に3)置きたくないという回答しか無ければ、最後から2番目に削除された下位クラスタ16にいた全てのキャッシュノードに対して、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しい、ことを通常のInternet上の通信手法によって伝える。
If the
オリジナルキャッシュノード1から、情報を、1)そのまま置いて欲しい、2)何か他の形態(例えばリンク先としてなど)で置かせて欲しいというメッセージを受け取った、最後から2番目に残った下位クラスタ16にいた全てのキャッシュノード14、20、21は、それぞれオリジナルキャッシュノード1に対して、情報を、1)自キャッシュノードにそのまま置いても良い、2)何か他の形態(例えばリンク先としてなど)で置いても良い、あるいは、3)置きたくない、という「希望情報」をそれぞれ通常のInternet上の通信手法によって伝える(図18のS1808)。
Received a message from the
以下、段落番号0199から段落番号0202までの手順を繰り返す。 Thereafter, the procedure from paragraph number 0199 to paragraph number 0202 is repeated.
最終的にオリジナルキャッシュノード1以外にキャッシュしてくれるキャッシュノードが無ければ、オリジナルキャッシュノード1は、情報を自キャッシュノード1に保存したままにする(図18のS1809)。
If there is no cache node that caches other than the
ここで、オリジナルキャッシュノード1が保存する情報は、キャッシュ情報および上位クラスタの過去に登録された1部または全ての代表ノードのDNSサーバ上の登録名およびIPアドレスであっても良い。また、オリジナルキャッシュノード1が保存する情報は、キャッシュ情報および複数の下位クラスタ過去に登録された1部または全てのキャッシュノードのDNSサーバ上の登録名およびIPアドレスを含んでいても良い。また、オリジナルキャッシュノード1が保存する情報は、キャッシュ情報および上位クラスタの過去に登録された1部または全ての代表ノードと、複数の下位クラスタの過去に登録された1部または全てのキャッシュノードのDNSサーバ上の登録名およびIPアドレスを含んでいても良い。
Here, the information stored in the
(7)アクセスが再度増加した場合に関する動作の説明
上記「(6)終末キャッシュノードの脱退に関する動作の説明」において、最終的にキャッシュされるべき情報をどのキャッシュノードが保持しているかによって、最初のステップのみが異なる。
(7) Explanation of operation when access increases again In the above-mentioned “(6) Explanation of operation concerning withdrawal of terminal cache node”, the first depends on which cache node holds information to be finally cached. Only the steps are different.
(7−1)最終的にオリジナルキャッシュノードのみがキャッシュされるべき情報を保持している場合
この場合は、「(1)キャッシュノードの増加に関する動作の説明」が最初のステップとなる。
(7-1) In the case where only the original cache node holds information to be cached finally In this case, “(1) Description of operation concerning increase of cache nodes” is the first step.
(7−2)最終的にオリジナルキャッシュノードと終末キャッシュノードがキャッシュされるべき情報を保持している場合 (7-2) When the original cache node and the terminal cache node hold information to be cached finally
図17を用いて説明する。この場合、オリジナルキャッシュノード1と終末キャッシュノード11のうち、アクセスを受けたキャッシュノードにおいて、「(1)キャッシュノードの増加に関する動作の説明」が最初のステップとなる。終末キャッシュノード11においてアクセスが増加し、「(1)キャッシュノードの増加に関する動作の説明」で示した、閾値Θ1を超えてキャッシュノードの追加が必要になった場合、「(1)キャッシュノードの増加に関する動作の説明」で示した手順に従って、一定時間待ってから、終末キャッシュノード11は自分の保持している下位クラスタ15内の下位クラスタマップ4−15の中に残っている、下位クラスタ15内で過去にキャッシュノードであったキャッシュノード13、19に情報をキャッシュしてもらえないかを通常のInternet上の通信手法によって打診する。もし、いずれからも承諾を得られなかった場合には、ある一定のホップ数にあるキャッシュノードのうち、次数の大きなキャッシュノードにランダムに情報をキャッシュしてもらえないかを通常のInternet上の通信手法によって打診する。一定のホップ数内のキャッシュノードから承諾が得られなければ、該終末キャッシュノードは探索ホップ数を+1して、承諾を得られるキャッシュノードを探索する。
This will be described with reference to FIG. In this case, among the
下位クラスタ15内の過去のキャッシュノード13、19あるいはホップ数による探索によって、いずれかのキャッシュノードから承諾を通常のInternet上の通信手法によって受けると、後は「(1)キャッシュノードの増加に関する動作の説明」において説明した手順に従って、キャッシュノードを増加させていく。
When consent is received from a
本実施例によれば、以下のような効果が得られる。 According to the present embodiment, the following effects can be obtained.
第1の効果は、分散キャッシュ配置が効率的に行えることである。その理由は、代表キャッシュノードを用いたキャッシュノードの下位クラスタ化、代表キャッシュノードあるいは下位クラスタを中心としたNW距離の導入、NW距離より遠い先からのアクセスが一定量以上増加した場合にはNW距離より遠い位置にいるキャッシュノードを中心とした別下位クラスタを形成する、という仕組みを用いたためである。 The first effect is that the distributed cache arrangement can be performed efficiently. The reason for this is that a lower-level clustering of cache nodes using a representative cache node, the introduction of an NW distance centered on the representative cache node or lower-level cluster, and an NW when access from a destination farther than the NW distance increases by a certain amount or more This is because another subordinate cluster is formed around the cache node located farther away than the distance.
第2の効果は、キャッシュノード間のアクセスの負荷分散が自律分散的かつ効率的に行えることである。その理由は、代表キャッシュノードを含む下位クラスタ内で独自のオーバーレイNWを形成し、その中で各キャッシュノードの負荷状況を、下位クラスタに属する全てのキャッシュノードが把握可能となる仕組みを用いたためである。 The second effect is that load distribution of access between cache nodes can be performed autonomously and efficiently. The reason is that a unique overlay NW is formed in the lower level cluster including the representative cache node, and a mechanism in which all the cache nodes belonging to the lower level cluster can grasp the load status of each cache node is used. is there.
第3の効果は、ある期間に渡ってアクセスが減少し、殆どまたは全くアクセスされなくなった情報を、再びアクセスが増えてくると効率的に増加させることができることである。その理由は、アクセス量の減少に伴うキャッシュノードおよび下位クラスタの縮小の仕組み、最終的な情報の効率的な保管の仕組みを設けたためである。 A third effect is that information that has been reduced in access over a period of time and that has been hardly or not accessed at all can be efficiently increased when access is increased again. The reason is that a mechanism for reducing cache nodes and lower-level clusters accompanying a decrease in access amount and a mechanism for efficiently storing final information are provided.
第4の効果は、各々の下位クラスタは自律分散的に負荷分散を行うこと、各々の下位クラスタはネットワーク上の距離的に異なる場所に配置されることによって、キャッシュする情報に対する破壊行為から情報を守ることが可能になる、すなわち情報の攻撃行為に対する頑健性が向上することである。 The fourth effect is that each lower cluster performs load distribution in an autonomous distributed manner, and each lower cluster is arranged at a different distance on the network, so that information from destructive actions on cached information can be obtained. It is possible to protect, that is, the robustness against information attack acts is improved.
次に、本発明の分散情報配置システムの構成要素となるノード装置の実施例について説明する。 Next, an embodiment of a node device that is a component of the distributed information arrangement system of the present invention will be described.
図20を参照すると、本実施例のノード装置は、処理装置1100と、記憶装置1200と、通信装置1300とから構成される。
Referring to FIG. 20, the node device according to the present exemplary embodiment includes a
記憶装置1200は、コンピュータの主記憶や補助記憶で構成され、ユーザ端末へ提供する情報であるキャッシュ情報1210、図4に示した下位クラスタマップ1220および図10に示した上位クラスタマップ1230を記憶するために用いられる。
The
通信装置1300は、ネットワークインタフェースカード等で構成され、インターネット通信手段1310およびオーバーレイ通信手段1320として用いられる。
The
処理装置1100は、コンピュータの中央処理装置で構成され、負荷分散手段1110、サービス提供手段1120、負荷情報更新手段1130、キャッシュノード増加手段1140、キャッシュノード減少手段1150、クラスタ増加手段1160、クラスタ減少手段1170、終末手段1180およびクラスタマップ同期手段1190を備えている。これらの各手段は、処理装置1100上で実行されるプログラムによって実現することができる。プログラムは、磁気ディスク等のコンピュータ可読記録媒体に記録され、コンピュータに読み取られることによって、コンピュータ上に上記の各手段1110〜1190を実現する。
The
負荷分散手段1110は、ユーザ端末からキャッシュ情報1210に対するアクセス要求を受信した場合に、このアクセス要求を自ノードの属するクラスタの何れのノードで受け付けるかを、下位クラスタマップ1220に記載された各ノードの負荷情報(本実施例の場合は、『情報の必要度』の数値)に基づいて判断する機能を有する。負荷分散手段1110は、自ノードで受け付けると判断した場合にはアクセス要求を自ノードのサービス提供手段1120へ転送し、他ノードで受け付けると判断した場合には、オーバーレイ通信手段1320を通じて該当する他のノードへアクセス要求を転送する。また負荷分散手段1110は、自ノードのグローバルIPアドレスとキャッシュ情報1210のURLの対応関係を、自ノードが属するNWドメインのDNSサーバに登録する機能を有する。
When the
サービス提供手段1120は、負荷分散手段1110から通知されたアクセス要求に従って、キャッシュ情報1210を要求元のユーザ端末へ送信する機能を有する。
The
負荷情報更新手段1130は、サービス提供手段1120がキャッシュ情報1210をアクセスする毎に、図1で説明したように、下位クラスタマップ1220中の自ノードの『情報の必要度』の数値を増加させ、それに応じて、その1次および2次微分値を更新する機能を有する。また負荷情報更新手段1130は、一定時間経過毎に、下位クラスタマップ1220中の自ノードの『情報の必要度』の数値を減少させ、それに応じて、その1次および2次微分値を更新する機能を有する。
Each time the
キャッシュノード増加手段1140は、図2および図3で説明したように、自ノードの属するクラスタに新たなキャッシュノードを追加する機能を有する。このキャッシュノード増加手段1140は、図3で説明した処理のうち、クラスタの代表ノードによって実行される処理部であるマスタ部1141と、代表ノード以外のノードによって実行される処理部であるスレーブ部1142とで構成される。
As described in FIGS. 2 and 3, the cache
キャッシュノード減少手段1150は、図12、図13および図14で説明したように、クラスタからキャッシュノードを削減する機能を有する。このキャッシュノード減少手段1150は、図13および図14で説明した処理のうち、削減対象となるノードによって実行される処理部であるマスタ部1151と、削減対象となるノード以外のノードによって実行される処理部であるスレーブ1152とで構成される。
As described with reference to FIGS. 12, 13, and 14, the cache
クラスタ増加手段1160は、図8および図9で説明したように、新たなクラスタを追加する機能を有する。このクラスタ増加手段1160は、図9で説明した処理のうち、新たなクラスタを生成しようとする代表ノードによって実行される処理部であるマスタ部1161と、新たなクラスタを生成しようとする代表ノード以外のノードによって実行される処理部であるスレーブ部1162とで構成される。
The cluster increasing unit 1160 has a function of adding a new cluster as described with reference to FIGS. The cluster increasing means 1160 includes a
クラスタ減少手段1170は、図15および図16で説明したように、クラスタを削減する機能を有する。このクラスタ減少手段1170は、図16で説明した処理のうち、削減対象となるクラスタの代表ノードによって実行される処理部であるマスタ部1171と、削減対象となるクラスタの代表ノード以外のノードによって実行される処理部であるスレーブ部1172とで構成される。
As described with reference to FIGS. 15 and 16, the
終末手段1180は、図17および図18で説明したような終末キャッシュノードに関する処理を司る機能を有する。この終末手段1180は、図18で説明した処理のうち、、オリジナルキャッシュノードによって実行される処理部であるマスタ部1181と、それ以外のノードによって実行される処理部であるスレーブ部1182とで構成される。クラスタマップ同期手段1190は、キャッシュノード間でクラスタマップの内容を一致させる処理を司る機能を有する。このクラスタマップ同期手段1190は、図10に示した上位クラスタマップの同期処理を実行する処理部である上位クラスタ部1191と、図4に示した下位クラスタマップの同期処理を実行する処理部である下位クラスタ部1192とで構成される。
The
以上、本発明の実施の形態および実施例を説明したが、本発明は以上の例に限定されずその他各種の付加変更が可能である。例えば、上記の例では、各クラスタのキャッシュノードは自ノードのグローバルIPアドレスと情報のURLとの対応関係を自ノードが属するNWドメインのDNSサーバに登録したが、自ノードが属するクラスタの代表ノードのグローバルIPアドレスと情報のURLとの対応関係を自ノードが属するNWドメインのDNSサーバに登録するようにしても良い。この場合、自クラスタのキャッシュ情報へのユーザ端末からのアクセス要求は自クラスタの代表ノードに出され、代表ノードがそのアクセス要求を自クラスタ内の何れのノードで処理するかを決定することになる。 As mentioned above, although embodiment and the Example of this invention were described, this invention is not limited to the above example, Various other addition changes are possible. For example, in the above example, the cache node of each cluster registers the correspondence between the global IP address of the own node and the URL of the information in the DNS server of the NW domain to which the own node belongs, but the representative node of the cluster to which the own node belongs. The correspondence relationship between the global IP address and the information URL may be registered in the DNS server of the NW domain to which the own node belongs. In this case, an access request from the user terminal to the cache information of the own cluster is issued to the representative node of the own cluster, and the representative node determines which node in the own cluster will process the access request. .
本発明の活用例としては、通信NW上でのキャッシングを行う、Webサービス、Peer−to−Peerサービス、データストレージなどが挙げられる。 Examples of utilization of the present invention include Web services, peer-to-peer services, data storage, etc. that perform caching on a communication NW.
1…オリジナルキャッシュノードかつ下位クラスタ2の代表キャッシュノード
2…オリジナルキャッシュノードを含む下位クラスタ
3、3a、3b、3c…アクセスを表すアリ
4、4−2、4−15、4−16…下位クラスタマップ
5…オリジナルキャッシュノード1から一定の距離
6…下位クラスタ2内のキャッシュノード
8…下位クラスタ2内のキャッシュノード
10…オリジナルキャッシュノード1または下位クラスタ2から一定の物理的または論理的距離
10a…代表キャッシュノード11または下位クラスタ15から一定の距離または論理的距離
10b…代表キャッシュノード11または下位クラスタ16から一定の距離または論理的距離
11…新規追加されたキャッシュノードかつ下位クラスタ15の代表キャッシュノード
13…下位クラスタ15内のキャッシュノード
14…新規追加されたキャッシュノードかつ下位クラスタ16の代表キャッシュノード
15…新規追加されたキャッシュノード11が作成した下位クラスタ
16…新規追加されたキャッシュノード14が作成した下位クラスタ
17…各下位クラスタの代表キャッシュノードのみで構成される上位クラスタおよびそのNW
18…上位クラスタ内用のクラスタマップ
19…下位クラスタ15内のキャッシュノード
20…下位クラスタ16内のキャッシュノード
21…下位クラスタ16内のキャッシュノード
31,32,33、34、35、36、37、38、39…DNSサーバ
A…アクセスによる情報の必要度の数値の増加分で、アリ3が運んでいる荷物
B…一般的なノード(キャッシュを行っていないノード)
DESCRIPTION OF
18 ... Cluster map for
Claims (19)
同一の前記データを前記キャッシュに記憶する1以上の前記ノード装置の集合から構成されるクラスタを備え、
前記クラスタでは、前記集合に含まれる1以上の前記ノード装置のうちの何れか1つが代表ノードとして機能し、
前記代表ノードは、新クラスタ生成条件が成立したか否かを判定する手段と、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信する手段を備え、
前記新規クラスタの生成指示を受信した前記ノード装置は、前記データのコピーを自ノード装置の前記キャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成する手段を備えることを特徴とする分散情報配置システム。 A distributed information arrangement system in which a plurality of node devices including a cache for storing data and a means for reading the data from the cache and transmitting the data to a terminal device are connected via a network,
A cluster comprising a set of one or more node devices that store the same data in the cache;
In the cluster, any one of the one or more node devices included in the set functions as a representative node,
The representative node is configured to determine whether or not a new cluster generation condition is satisfied, and to the other node device that has not yet cached the data when the new cluster generation condition is satisfied. A means for sending a new cluster generation instruction with a copy of the data is provided,
The node device that has received the new cluster generation instruction includes means for storing a copy of the data in the cache of the own node device and generating a new cluster having the own node device as a representative node. Distributed information placement system.
前記クラスタを構成する1以上の前記ノード装置のうちの代表ノードとして機能するノード装置が、新クラスタ生成条件が成立したか否かを判定し、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信するステップと、
前記新規クラスタの生成指示を受信した前記ノード装置が、前記データのコピーを自ノード装置の前記キャッシュに記憶し、自ノード装置を代表ノードとする新たなクラスタを生成するステップとを含むことを特徴とする分散情報配置方法。 Among node devices on a network including a cache for storing data and means for reading the data from the cache and transmitting the data to a terminal device, one set of one or more node devices that store the same data in the cache. Forming two clusters;
A node device functioning as a representative node among the one or more node devices constituting the cluster determines whether or not a new cluster generation condition is satisfied, and when the new cluster generation condition is satisfied, the data Sending a new cluster generation instruction with a copy of the data to the other node devices that have not yet cached,
The node device that has received the new cluster generation instruction stores a copy of the data in the cache of the own node device, and generates a new cluster having the own node device as a representative node. Distributed information arrangement method.
新クラスタ生成条件が成立したか否かを判定する手段と、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信する手段とを備えることを特徴とするノード装置。 A cache for storing data, and means for reading the data from the cache and transmitting the data to a terminal device, and forming a cluster together with other node devices for storing the same data in the cache, A node device that functions as a representative node of
Means for determining whether or not a new cluster generation condition is satisfied; and when the new cluster generation condition is satisfied, a copy of the data is attached to another node device that has not yet cached the data. And a means for transmitting a new cluster generation instruction.
新クラスタ生成条件が成立したか否かを判定する手段と、前記新クラスタ生成条件が成立した場合に、前記データを未だキャッシュしていない他の前記ノード装置に対して、前記データのコピーを添えて新規クラスタの生成指示を送信する手段として機能させるためのプログラム。 A cache for storing data, and means for reading the data from the cache and transmitting the data to a terminal device, and forming a cluster together with other node devices for storing the same data in the cache, A computer constituting a node device functioning as a representative node of
Means for determining whether or not a new cluster generation condition is satisfied; and when the new cluster generation condition is satisfied, a copy of the data is attached to another node device that has not yet cached the data. To function as a means for transmitting a new cluster generation instruction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008170115A JP2010009448A (en) | 2008-06-30 | 2008-06-30 | Distributed information arrangement system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008170115A JP2010009448A (en) | 2008-06-30 | 2008-06-30 | Distributed information arrangement system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010009448A true JP2010009448A (en) | 2010-01-14 |
Family
ID=41589829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008170115A Withdrawn JP2010009448A (en) | 2008-06-30 | 2008-06-30 | Distributed information arrangement system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010009448A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049966A (en) * | 2010-08-30 | 2012-03-08 | Brother Ind Ltd | Distributed preservation system, representative node device, notification method and program |
WO2013047207A1 (en) * | 2011-09-30 | 2013-04-04 | 日本電気株式会社 | Cache system, cache method, and cache server |
JP2015535633A (en) * | 2012-11-26 | 2015-12-14 | アマゾン テクノロジーズ インコーポレイテッド | Distributed cache cluster management |
US9529772B1 (en) | 2012-11-26 | 2016-12-27 | Amazon Technologies, Inc. | Distributed caching cluster configuration |
US9602614B1 (en) | 2012-11-26 | 2017-03-21 | Amazon Technologies, Inc. | Distributed caching cluster client configuration |
-
2008
- 2008-06-30 JP JP2008170115A patent/JP2010009448A/en not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049966A (en) * | 2010-08-30 | 2012-03-08 | Brother Ind Ltd | Distributed preservation system, representative node device, notification method and program |
WO2013047207A1 (en) * | 2011-09-30 | 2013-04-04 | 日本電気株式会社 | Cache system, cache method, and cache server |
JPWO2013047207A1 (en) * | 2011-09-30 | 2015-03-26 | 日本電気株式会社 | Cache system, cache method, and cache server |
JP2015535633A (en) * | 2012-11-26 | 2015-12-14 | アマゾン テクノロジーズ インコーポレイテッド | Distributed cache cluster management |
US9529772B1 (en) | 2012-11-26 | 2016-12-27 | Amazon Technologies, Inc. | Distributed caching cluster configuration |
US9602614B1 (en) | 2012-11-26 | 2017-03-21 | Amazon Technologies, Inc. | Distributed caching cluster client configuration |
JP2017208128A (en) * | 2012-11-26 | 2017-11-24 | アマゾン テクノロジーズ インコーポレイテッド | Distributed caching cluster management |
US9847907B2 (en) | 2012-11-26 | 2017-12-19 | Amazon Technologies, Inc. | Distributed caching cluster management |
US10462250B2 (en) | 2012-11-26 | 2019-10-29 | Amazon Technologies, Inc. | Distributed caching cluster client configuration |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105409248B (en) | System and method for enhancing discovery | |
US9635107B2 (en) | System and method for managing data delivery in a peer-to-peer network | |
CN112840322A (en) | Single node and multi-node data storage library architecture in a network routing environment | |
WO2010107105A1 (en) | Network system | |
KR101980129B1 (en) | Peer-to-peer network system with manageability | |
KR101942566B1 (en) | Method for transmitting and caching information data in secure surveilance network, recordable medium, apparatus for caching information data in secure surveilance network, and secure surveilance network system | |
US8250171B2 (en) | Content delivery apparatus, content delivery method, and content delivery program | |
JP2010009449A (en) | Distributed information arrangement system | |
CN103703738A (en) | System for managing audio/video streams using application layer structures in an avb network | |
US10356209B2 (en) | System and method to support context-aware content requests in information centric networks | |
EP2856355B1 (en) | Service-aware distributed hash table routing | |
JPWO2013157042A1 (en) | Information processing system, management server group, and server management program | |
JP2010009448A (en) | Distributed information arrangement system | |
JP5845877B2 (en) | Information processing apparatus, data control method, and data control program | |
JP2016111703A (en) | Content arrangement in information centric network | |
CN105164989A (en) | Reducing number of server-client sessions | |
JP2011211543A (en) | Information communication system, information processing device, information processing method, and information processing program | |
JP5136581B2 (en) | Information communication system, information processing apparatus, information processing method, and information processing program | |
US20230412471A1 (en) | Edge-based artificial intelligence enablement | |
JP2010113460A (en) | Content distribution support system, method, and program | |
JP2011010288A (en) | Distributed storage system, connection information notifying method of the same, and program | |
CN110611688B (en) | Method, electronic device and computer program product for searching nodes | |
JP2007184669A (en) | Contents distribution system, terminal and information processing method thereof, and program thereof | |
JP2013105227A (en) | P2p type web proxy network system | |
KR20180136845A (en) | Method for transmitting packet, applying aco, in secure surveilance network, apparatus for transmitting packet in secure surveilance network, and icn secure surveilance system applying aco |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091016 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20091016 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |