JP2014032578A - Distribution storage system, distribution storage data allocation control method and program for distribution storage data allocation control - Google Patents

Distribution storage system, distribution storage data allocation control method and program for distribution storage data allocation control Download PDF

Info

Publication number
JP2014032578A
JP2014032578A JP2012173600A JP2012173600A JP2014032578A JP 2014032578 A JP2014032578 A JP 2014032578A JP 2012173600 A JP2012173600 A JP 2012173600A JP 2012173600 A JP2012173600 A JP 2012173600A JP 2014032578 A JP2014032578 A JP 2014032578A
Authority
JP
Japan
Prior art keywords
data
transfer
nodes
node
configuration
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.)
Granted
Application number
JP2012173600A
Other languages
Japanese (ja)
Other versions
JP6011786B2 (en
Inventor
Maki Suga
真樹 菅
Masatsugu Ogawa
雅嗣 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012173600A priority Critical patent/JP6011786B2/en
Publication of JP2014032578A publication Critical patent/JP2014032578A/en
Application granted granted Critical
Publication of JP6011786B2 publication Critical patent/JP6011786B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a distribution storage system which can perform autonomous load distribution control as a whole system while adjusting data allocation on the basis of requirements of a user.SOLUTION: A distribution storage system is constructed by connecting a plurality of constitution nodes which comprise storage means for storing data, through a network. Each constitution node comprises: data transfer means which transfers data to arbitrary number of logical connection destination nodes which are logically connected with each other; status acquisition means which acquires data storage status information of the storage means and load information of the arbitrary number of logical connection destination nodes and the construction node itself as load information; control content calculation means which calculates data amount to be transferred based on the acquired load status for each transfer destination node; transfer exception rule storage means which stores a transfer exception rule holding a condition of data in which the data is not transferred to the outside; and data selection/rule check means for selecting transfer data which does not match the transfer exception rule from the calculated data amount to be transferred.

Description

本発明は分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラムに関し、データ配置に関する条件を保護することができる分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラムに関する。   The present invention relates to a distributed storage system, a distributed storage data placement control method, and a distributed storage data placement control program, and more particularly to a distributed storage system, a distributed storage data placement control method, and a distributed storage data placement control that can protect conditions related to data placement. Regarding the program.

分散ストレージシステムは、ネットワークを介して接続された多数の計算機を有し、これらの計算機のハードディスクドライブ(HDD:Hard Disk Drive)、メモリ等を用いてデータの格納及びデータの提供を行う。分散ストレージシステムでは、いずれの計算機にデータを配置し、いずれの計算機によってデータを処理するのかを、ソフトウェアまたは特別なハードウェアが決定する。また、分散ストレージシステムの動作を動的に変更することにより、システム内のリソース使用量を調整するとともに、クライアント端末及びその利用者に対する性能を向上させることが要求される。   The distributed storage system has a large number of computers connected via a network, and stores data and provides data using a hard disk drive (HDD: Hard Disk Drive), a memory, and the like of these computers. In a distributed storage system, software or special hardware decides which computer will place data and which computer will process the data. In addition, it is required to dynamically change the operation of the distributed storage system to adjust the resource usage in the system and improve the performance for the client terminal and its users.

分散ストレージシステムにおいては、データは複数のストレージノード(以下、単に「ノード」という)に分散して格納されている。非特許文献1に記載された技術のように、複数のノードにデータの複製を保持することで高可用性を維持する分散ストレージシステムが知られている。また、遠隔地にデータの複製を配置することにより、災害などで分散システムの一部分にアクセス出来なくなってもサービスを継続させる技術が特許文献1に記載されている。また、広域分散ストレージシステムにおいて、データの複製を利用者の近くに配置することでアクセス性能を向上させることも特許文献2などに記載されている。   In a distributed storage system, data is distributed and stored in a plurality of storage nodes (hereinafter simply referred to as “nodes”). As in the technique described in Non-Patent Document 1, there is known a distributed storage system that maintains high availability by holding data copies in a plurality of nodes. Japanese Patent Application Laid-Open No. 2004-228561 describes a technique for continuing a service even if a part of a distributed system cannot be accessed due to a disaster or the like by arranging a copy of data at a remote location. Patent Document 2 and the like also describe that in a wide-area distributed storage system, access performance is improved by placing a copy of data close to a user.

特開2006−146580号公報JP 2006-146580 A 特開2006−172217号公報JP 2006-172217 A

Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: amazon's highly available key-value store. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles (SOSP '07). ACM, New York, NY, USA, 205-220. DOI=10.1145/1294261.1294281 http://doi.acm.org/10.1145/1294261.1294281Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: amazon's highly available key-value store. In Proceedings of twenty-first ACM SIGOPS sposium Operating systems principles (SOSP '07). ACM, New York, NY, USA, 205-220. DOI = 10.1145 / 1294261.1294281 http://doi.acm.org/10.1145/1294261.1294281

第1の問題点は、任意の既存の自律負荷分散アルゴリズムに基づいてデータ配置制御を行うことにより、データ配置をユーザやシステムの管理者の要件に応じて恣意的に調整することが難しい、ということである。その理由は、負荷分散アルゴリズムがユーザやシステムの管理者の要件を考慮せずに開発されていることがあるためである。そのため、既に実績がある負荷分散アルゴリズムに対して、システム管理者やユーザの要望に合わせてデータ配置調整をするためには、それらの負荷分散アルゴリズムの修正が必要になる。その修正作業には高度な技術的知見を必要としてしまうため、広く利用するシステムとしての応用は困難になってしまう。   The first problem is that it is difficult to arbitrarily adjust data placement according to the requirements of users and system administrators by performing data placement control based on any existing autonomous load balancing algorithm That is. This is because the load balancing algorithm may be developed without considering the requirements of users and system administrators. For this reason, in order to adjust the data arrangement in accordance with the demands of the system administrator and the user with respect to the load distribution algorithms that have already been proven, it is necessary to modify those load distribution algorithms. Since the correction work requires advanced technical knowledge, application as a widely used system becomes difficult.

例えば、災害対策などの理由のために、広域に複製データを分散配置する分散ストレージシステムにおいて、システムを構成している各ノードが自律分散的にデータの転送を行う事で、負荷分散を実現する制御アルゴリズムを動作させるものとする。その場合、負荷分散のために各ノードはデータをランダムに転送してしまうため、全ての複製データが地理的に近いノードに配置されたり、電力供給源が同一のエリア内のノードに格納されたり、あるいは同一ラックや同一ノードに格納されてしまうようなことが発生しうる。そのようなデータ配置状態になってしまうと、一部のエリアが被災した際にあるデータの全ての複製に対してアクセスが不可能になってしまうため、災害対策システムとして意味を成さなくなってしまう。   For example, in a distributed storage system that distributes and distributes replicated data over a wide area for reasons such as disaster countermeasures, each node constituting the system transfers data in an autonomous distributed manner to achieve load distribution The control algorithm shall be operated. In that case, each node transfers data at random for load distribution, so all replicated data is placed in geographically close nodes, or power supply sources are stored in nodes in the same area. Or may be stored in the same rack or the same node. If such a data arrangement state occurs, access to all copies of the data when some areas are damaged becomes impossible, making it meaningless as a disaster countermeasure system. End up.

また、地理的に分散された拠点毎にデータセンタ(分散ストレージシステムの一部の構成ノードを動作させる)を置き、ユーザのファイルを格納するようなユースケースの場合、例えばあるユーザが拠点AとBにおいて主にファイルアクセスを行う場合には、ユーザのファイルを拠点AとBに複製を格納することがアクセス性能として有利となる。しかし、ランダムにデータを転送する自律負荷分散アルゴリズムにおいては、そのような配置調整は困難である。   In the case of a use case where a data center (operating some constituent nodes of a distributed storage system) is placed at each geographically dispersed base and a user's file is stored, for example, a certain user is connected to the base A. When file access is mainly performed in B, it is advantageous in terms of access performance to store a copy of the user's file in the bases A and B. However, such an arrangement adjustment is difficult in an autonomous load balancing algorithm that transfers data at random.

第2の問題点は、災害対策やユーザへのアクセス性能向上に向けた要件を満たすためのデータ配置状態へ移行するまでに時間が掛かる、ということにある。これは、本発明で対象とするような、構成ノードが限られた論理的な接合先ノードとの負荷監視だけで、自律的にデータの転送をしあう自律負荷分散システムにおいては、データが確率的に伝搬されて転送されるのを待つしかないためである。   The second problem is that it takes time to shift to a data arrangement state for satisfying requirements for disaster countermeasures and improvement of user access performance. In an autonomous load distribution system in which data is transferred autonomously only by load monitoring with a logical connection destination node having a limited number of constituent nodes, which is the object of the present invention, the data is probable. This is because there is no choice but to wait for it to be propagated and transferred.

本発明の課題は、データ配置をユーザの要件に基づいて調整しつつ、システム全体としては自律負荷分散制御ができる、分散ストレージシステムを提供することにある。   An object of the present invention is to provide a distributed storage system that can perform autonomous load distribution control as a whole system while adjusting data arrangement based on user requirements.

本発明の第1の態様によれば、データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって、各構成ノードが、それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するデータ転送手段と、前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得する状態取得手段と、取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算する制御内容計算手段と、外部に転送しないデータの条件を保持する転送除外ルールを格納する転送除外ルール保持手段と、計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するデータ選択/ルールチェック手段と、を備えたことを特徴とする分散ストレージシステムが提供される。   According to the first aspect of the present invention, there is provided a distributed storage system in which a plurality of constituent nodes having storage means for holding data are connected via a network, and each constituent node is logically connected to each other. Data transfer means for transferring data to an arbitrary number of logical connection destination nodes, data holding state information of the storage means, and load information of the arbitrary number of logical connection destination nodes and constituent nodes themselves State acquisition means for acquiring the state, control content calculation means for calculating the amount of data to be transferred from the acquired load state for each transfer destination node, and transfer for storing a transfer exclusion rule that holds data conditions not to be transferred to the outside Exclusion rule holding means and data selection / rule check for selecting transfer data not corresponding to the transfer exclusion rule from the calculated data amount to be transferred Distributed storage system comprising: the click means, is provided.

以上のような構成を採用し、転送データを決定する際に転送除外ルールに含まれないデータを選択して、転送除外ルールを満たすデータを構成ノード内に格納させ続けるように動作することにより、本発明の課題を達成することができる。   By adopting the configuration as described above, by selecting data that is not included in the transfer exclusion rule when determining transfer data, and by operating to continue storing data that satisfies the transfer exclusion rule in the configuration node, The object of the present invention can be achieved.

本発明の第2の態様によれば、データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムにおけるデータ配置制御方法であって、各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納しており、各構成ノードはまた、それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、を実行することを特徴とする分散ストレージデータ配置制御方法が提供される。   According to the second aspect of the present invention, there is provided a data placement control method in a distributed storage system in which a plurality of constituent nodes each having a storage means for holding data are connected via a network, Transfer exclusion rules that hold data conditions that are not transferred to the outside are stored in advance in the transfer exclusion rule holding means, and each component node can also be connected to any number of logical connection destination nodes that are logically connected to each other. A data transfer step, a step of acquiring the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the configuration node itself as a load state, and a transfer from the acquired load state Calculating the amount of data to be transferred for each transfer destination node, and determining the transfer exclusion rule from the calculated amount of data to be transferred. Distributed Storage data allocation control method characterized by performing the step of selecting the transfer data does not, is provided.

本発明の第3の態様によれば、データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納している分散ストレージシステムに適用されるデータ配置制御用プログラムであって、各構成ノードのコンピュータに、論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、を実行させための分散ストレージデータ配置制御用プログラムが提供される。   According to the third aspect of the present invention, there is provided a distributed storage system in which a plurality of constituent nodes having storage means for holding data are connected via a network, and each constituent node does not transfer data to the outside. Is a data placement control program applied to a distributed storage system in which transfer exclusion rules that hold the above conditions are stored in advance in the transfer exclusion rule holding means, and optionally connected logically to the computer of each component node Transferring data to the number of logical connection destination nodes, and obtaining the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves as load states Calculating the amount of data to be transferred from the acquired load state for each transfer destination node; Distributed Storage data allocation control program for to execute the steps of: selecting a transfer data does not correspond to the transfer exclusion rule is provided from the should do data amount.

本発明の第1の効果は、ユーザの要件(災害対策やアクセス性能向上等)に基づいてデータの配置調整を、それを考慮していない自律負荷分散制御アルゴリズム上で実現できることにある。その理由は、各構成ノードが転送データを選択する際に、転送除外条件に含まれないデータを選んで転送することで、配置調整に必要なデータを構成ノードの外部へ転送させないためである。   The first effect of the present invention is that data placement adjustment can be realized on an autonomous load balancing control algorithm that does not consider it based on user requirements (disaster countermeasures, access performance improvement, etc.). The reason is that, when each constituent node selects transfer data, data not included in the transfer exclusion condition is selected and transferred, so that data necessary for arrangement adjustment is not transferred outside the constituent node.

本発明の第1の実施の形態の構成の概要を示すブロック図である。It is a block diagram which shows the outline | summary of a structure of the 1st Embodiment of this invention. 図1に示された第1の実施の形態における、論理的なノード接続形態を示すブロック図である。It is a block diagram which shows the logical node connection form in 1st Embodiment shown by FIG. 図1に示された第1の実施の形態の構成のうち、構成ノード100を中心として制御手段2の構成を詳細に示したブロック図である。FIG. 2 is a block diagram showing in detail a configuration of a control unit 2 with a configuration node 100 as a center in the configuration of the first embodiment shown in FIG. 1. 図3に示された制御内容計算手段22の実施例における評価関数について説明するための図である。It is a figure for demonstrating the evaluation function in the Example of the control content calculation means 22 shown by FIG. 図3に示された制御内容計算手段22の実施例における起動停止判断の指標について説明するための図である。It is a figure for demonstrating the parameter | index of a start / stop determination in the Example of the control content calculation means 22 shown by FIG. 本発明の第1の実施の形態の動作を説明するための流れ図である。It is a flowchart for demonstrating operation | movement of the 1st Embodiment of this invention. 本発明の第1の実施の形態の動作のうち、転送データ選択処理動作を説明するための流れ図である。It is a flowchart for demonstrating the transfer data selection process operation | movement among the operation | movement of the 1st Embodiment of this invention. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 本発明の第3の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 3rd Embodiment of this invention.

次に、本発明を実施するための形態について図面を参照して詳細に説明する。   Next, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

図1は本発明の第1の実施の形態におけるシステムの概要を示す構成図である。図1を参照すると、本発明の第1の実施の形態は、ネットワーク200によって結合された構成ノード100〜108から構成される。以下では、構成ノード10Xと記載する場合、Xは0から8の値を取り得ることを意味する。構成ノードの数は図1では9個であるが、任意の複数の数となることは言うまでもない。また、複数の構成ノードの一部は離れた拠点(例えばデータセンタ)にあることを前提とする。災害対策を目的とする場合には、任意の1つ以上の拠点がその他の拠点と同時に被災しない充分離れた場所や、電力供給源(例えば発電所)が別となる場所に設置されることとする。しかし、災害対策以外の目的(例えば拠点間のファイル共有システム)の場合には、必ずしもこのように限定されない。   FIG. 1 is a configuration diagram showing an outline of a system according to the first embodiment of the present invention. Referring to FIG. 1, the first embodiment of the present invention is composed of configuration nodes 100 to 108 coupled by a network 200. Hereinafter, when the configuration node 10X is described, it means that X can take a value from 0 to 8. Although the number of constituent nodes is nine in FIG. 1, it goes without saying that the number of constituent nodes is an arbitrary plural number. Further, it is assumed that some of the plurality of component nodes are located at remote locations (for example, data centers). In the case of disaster countermeasures, one or more bases must be installed at a location that is not far away from other bases at the same time, or where power supply sources (for example, power plants) are separated. To do. However, in the case of a purpose other than disaster countermeasures (for example, a file sharing system between bases), it is not necessarily limited in this way.

構成ノード10X(すなわち100〜108)は、分散ストレージシステムを構成するストレージノードである。構成ノード10Xは、データを保持するための記憶装置(例えばHDD、半導体メモリ等)と、ストレージ機能を実現するための演算装置(例えばCPU:Central Processing Unit)を備える計算機(コンピュータ)によって実現される。   The configuration node 10X (that is, 100 to 108) is a storage node that configures the distributed storage system. The configuration node 10X is realized by a computer (computer) including a storage device (eg, HDD, semiconductor memory, etc.) for holding data and an arithmetic device (eg, CPU: Central Processing Unit) for realizing a storage function. .

構成ノード10Xは、データストア(記憶手段)1と、CPU等により実現される制御手段2と、データ受信手段3と、負荷監視手段4とを備える。データストア1は分散ストレージシステムに格納されるデータを格納する機能を果たす。データストア1は、構成ノード10Xが保持する記憶装置と、それに対する記憶処理を実現するソフトウェアによって実現され、構成ノードの計算機リソースによって実現される。制御手段2は、それぞれの構成ノード10Xのデータストア1に格納されているデータのうち、任意のデータを別のノードに配置制御(マイグレーションや複製数の増加)を行う。データ受信手段3は、制御手段2によって行われる配置制御処理によって転送される、自身以外の構成ノードからの転送データを受信しデータストア1へ保持する。負荷監視手段4は、構成ノード10Xのノード負荷情報(例として、データアクセス量、構成ノード10XのCPU利用率やIO(Input-Output)量などの計算機負荷量)を既存の監視ソフトウェアなどによって取得し、制御手段2と、自身以外の構成ノード10Xの一部に送信する機能を果たす。   The configuration node 10X includes a data store (storage unit) 1, a control unit 2 realized by a CPU or the like, a data reception unit 3, and a load monitoring unit 4. The data store 1 functions to store data stored in the distributed storage system. The data store 1 is realized by a storage device held by the configuration node 10X and software that implements storage processing for the storage device, and is realized by computer resources of the configuration node. The control unit 2 performs arrangement control (migration or increase in the number of replicas) of arbitrary data among other data stored in the data store 1 of each configuration node 10X. The data receiving unit 3 receives the transfer data from the configuration nodes other than itself, which is transferred by the arrangement control process performed by the control unit 2, and holds it in the data store 1. The load monitoring unit 4 obtains node load information of the configuration node 10X (for example, data access amount, computer load amount of the configuration node 10X, such as CPU usage rate and IO (Input-Output) amount) by using existing monitoring software or the like. The control means 2 and the function of transmitting to a part of the configuration node 10X other than itself are fulfilled.

ネットワーク200は、構成ノード100〜108間を接続し、データ及び制御メッセージをやり取りするために用いられる。ネットワーク200は、1拠点内のネットワーク(例えばデータセンタ内のネットワーク)だけでなく、複数の拠点間を接続する広域ネットワークの双方を含む。ネットワーク200は、例えば、Ethernet(登録商標)、Fibre ChannelやFCoE(Fibre Channel over Ethernet、InfiniBand、または、これらを利用するTCP/IP(Transmission Control Protocol/Internet Protocol)、RDMA(Remote Direct Memory Access)などの上位プロトコルにより実現されるが、実現方法としてはこれらに限られない。また、地理的に離れた拠点間を接続することもあり、インターネットや専用線により拠点間を接続することも可能である。   The network 200 is used to connect the configuration nodes 100 to 108 and exchange data and control messages. The network 200 includes not only a network in one site (for example, a network in a data center) but also a wide area network that connects a plurality of sites. The network 200 is, for example, Ethernet (registered trademark), Fiber Channel or FCoE (Fibre Channel over Ethernet, InfiniBand, or TCP / IP (Transmission Control Protocol / Internet Protocol), RDMA (Remote Direct Memory Access) using these. However, the implementation method is not limited to these, and it is possible to connect geographically distant bases, or connect bases via the Internet or a dedicated line. .

分散ストレージシステムに格納されるデータは、固定長または意味的に区切られたデータ断片(以下「オブジェクト」という)の集合として、構成ノード10Xのそれぞれのデータストア1のいずれか1つまたは、複数に格納される。複数のノードに格納される場合には、オブジェクトの複製として格納される。分散ストレージシステムのクライアントは、オブジェクト単体あるいは集合に対して、一意の識別子(キー)によってアクセスする。各オブジェクトの他に、オブジェクトに基づいて計算された冗長符号情報が複製として他のノードに格納されるようにしてもよい。冗長符号情報は、ノード故障時において、データの消失を防ぐために用いられる。   Data stored in the distributed storage system is a set of fixed-length or semantically separated data fragments (hereinafter referred to as “objects”) in one or a plurality of data stores 1 of each of the configuration nodes 10X. Stored. When stored in a plurality of nodes, it is stored as a copy of the object. A client of a distributed storage system accesses a single object or a set with a unique identifier (key). In addition to each object, redundant code information calculated based on the object may be stored as a duplicate in another node. Redundant code information is used to prevent data loss in the event of a node failure.

オブジェクトの例として、例えば、ファイルシステムのファイル、ファイルと関連するメタデータの集合、関係データベースのタプルもしくはテーブル、オブジェクトデータベースのデータ、Key−Valueデータ格納システムのValue、JSON(Java Script(登録商標) Object Notation)、BSON(Binary JSON)で記載されたドキュメント等が挙げられる。しかし、本発明におけるオブジェクトは、これらのオブジェクトに限られない。また、これらの例について、さらに固定長または意味的に区切ったデータ断片をデータストア1への格納単位としてもよい。   Examples of objects include, for example, a file system file, a set of metadata related to the file, a tuple or table of a relational database, data of an object database, a value of a key-value data storage system, and JSON (Java Script (registered trademark)). Documents described in Object Notation) and BSON (Binary JSON). However, the objects in the present invention are not limited to these objects. In addition, in these examples, a data fragment further fixed length or semantically divided may be used as a storage unit in the data store 1.

[制御手法の概要]
本発明の第1の実施の形態による分散ストレージデータ配置制御手法は、各構成ノード10Xの制御手段2によってデータ転送の必要性と、データ転送量及び転送先を決定し実行する手法である。各構成ノード10Xは、図1に示した通り、ネットワークを介して結合されているため、どのノードに対してもデータを転送することは可能である。ただ、全てのノードを転送先にしてデータ転送量を計算することは計算コストが大きくなるため、各構成ノードを任意のトポロジーで論理的に結合し、その論理的な結合先のノードだけを各制御手段2における転送先候補ノードとし、その転送先候補ノードに対するデータの転送必要性可否判断やデータ転送量及び転送先を算出するための計算処理を行う事で、計算量を削減する。
[Outline of control method]
The distributed storage data arrangement control method according to the first embodiment of the present invention is a method in which the control means 2 of each component node 10X determines and executes the necessity of data transfer, the data transfer amount, and the transfer destination. As shown in FIG. 1, each constituent node 10X is coupled via a network, and therefore can transfer data to any node. However, calculating the data transfer amount with all nodes as the transfer destination increases the calculation cost. Therefore, each component node is logically connected in an arbitrary topology, and only the logical connection destination node is connected to each node. The control unit 2 uses the transfer destination candidate node as a transfer destination candidate node, and determines the necessity of data transfer to the transfer destination candidate node and performs a calculation process for calculating the data transfer amount and the transfer destination, thereby reducing the calculation amount.

各構成ノード10Xの論理的な結合形式としては、メッシュ型、ツリー型、フルコネクト型、スター型、キューブ型などや、これら複数の結合方式を階層的に接続したり、複合的に組み合わせたりする形式がある。本実施の形態としては、説明を簡略化するために、図2に示すような2次元メッシュ構造で接続されることとする。この場合、構成ノード100における論理的な接続ノード(転送先候補ノード)は、構成ノード101及び103である。この接続形態に関する情報は、論理的接続情報として各構成ノード10Xが保持しており、変更された場合には各構成ノードに通知されるものとする。   As the logical connection format of each component node 10X, a mesh type, a tree type, a full connect type, a star type, a cube type, and the like, or a plurality of these connection methods are connected hierarchically or combined. There is a format. In this embodiment, in order to simplify the description, it is assumed that they are connected with a two-dimensional mesh structure as shown in FIG. In this case, the logical connection nodes (transfer destination candidate nodes) in the configuration node 100 are the configuration nodes 101 and 103. Information regarding this connection form is held by each component node 10X as logical connection information, and is notified to each component node when it is changed.

また、論理的な結合形式については自由であるが、基本的には近隣の構成ノードと多く接続し、離れた構成ノードとは限られた接続数となるトポロジー構成を取ることが基本である(例えばツリー構造)。これは、後述する制御内容計算手段22(図3)の制御アルゴリズムに依存するが、結合された構成ノード間はデータの転送が多く起きるため、遠隔地のノードと接続されるとデータ転送ボトルネックが大きくなってしまい、ストレージ性能に問題を引き起こすためである。   In addition, the logical connection form is free, but basically, it is fundamental to have a topology configuration in which a large number of connections are made with neighboring configuration nodes and a limited number of connections are established with remote configuration nodes ( (For example, a tree structure). This depends on the control algorithm of the control content calculation means 22 (FIG. 3), which will be described later. However, since many data transfers occur between the connected constituent nodes, a data transfer bottleneck occurs when connected to a remote node. This increases the size of the computer and causes problems in storage performance.

[構成]
図3は、第1の実施の形態の構成のうち、構成ノード100を中心として、制御手段2の構成をより詳細に示したブロック図である。制御手段2は、状態取得手段21、制御内容計算手段22、データ選択/ルールチェック手段23、データ移動制御手段(データ転送手段)24、転送除外ルール保持手段25、論理的接合形態管理手段26、ルール更新手段5から構成される。それぞれの手段は、構成ノード10Xを実現するハードウェア装置を用いたソフトウェアとして動作する。また、構成ノード10X上の特殊なハードウェアがその機能を果たしても良い。
[Constitution]
FIG. 3 is a block diagram showing the configuration of the control unit 2 in more detail with the configuration node 100 as a center in the configuration of the first embodiment. The control unit 2 includes a state acquisition unit 21, a control content calculation unit 22, a data selection / rule check unit 23, a data movement control unit (data transfer unit) 24, a transfer exclusion rule holding unit 25, a logical connection form management unit 26, The rule update means 5 is comprised. Each means operates as software using a hardware device that implements the configuration node 10X. Further, special hardware on the configuration node 10X may perform the function.

構成ノード100の状態取得手段21は、データストア1のデータ保持状態情報(例えば、データ保持量、種類)及び構成ノード100とその論理的接続先ノード(図3の場合、構成ノード101及び103)の負荷情報を負荷状態として構成ノード100、101、103の負荷監視手段4から取得する。このデータ保持状態情報及び負荷情報の詳細内容は、制御内容計算手段22のアルゴリズムによって決定される。また、この論理的接続先ノードは、論理的接合形態管理手段26から取得する。   The status acquisition means 21 of the configuration node 100 includes data retention status information (for example, data retention amount and type) of the data store 1 and the configuration node 100 and its logical connection destination nodes (configuration nodes 101 and 103 in the case of FIG. 3). Is obtained from the load monitoring means 4 of the constituent nodes 100, 101, 103 as a load state. The detailed contents of the data holding state information and the load information are determined by the algorithm of the control content calculation means 22. The logical connection destination node is acquired from the logical connection form management means 26.

制御内容計算手段22は、以下に説明するアルゴリズムに基づいて、状態取得手段21が取得したデータ保持状態情報及び負荷情報を用い、転送すべきデータ量を転送先候補ノード毎に算出し決定する機能を果たす。   The control content calculation unit 22 uses the data holding state information and load information acquired by the state acquisition unit 21 based on the algorithm described below, and calculates and determines the amount of data to be transferred for each transfer destination candidate node. Fulfill.

まず、図4のような、データストア1と関係する評価関数を導入する。この場合、横軸λはデータストア1の負荷量に相当する。縦軸f(λ)は、何らかの効率または利潤に関わる指標である。データストア1の場合、レスポンス効率、エネルギー効率に関する指標を設定する。レスポンス効率によれば、系全体のレスポンスを好適にし、エネルギー効率によれば系全体のエネルギー効率を好適にすることができる。この効率に関わる評価関数を凸関数で表す。凸関数を使用するのも本制御手法の特徴である。図4のような、上に凸な関数を凹関数と呼び、下に凸な関数を凸関数と呼ぶこともあるが、ここでは、関数の性質上で区別する表現を採用し、凹関数も凸関数と表現することにする。 First, an evaluation function related to the data store 1 as shown in FIG. 4 is introduced. In this case, the horizontal axis λ corresponds to the load amount of the data store 1. The vertical axis f i (λ) is an index related to some efficiency or profit. In the case of the data store 1, an index relating to response efficiency and energy efficiency is set. According to the response efficiency, the response of the entire system can be optimized, and according to the energy efficiency, the energy efficiency of the entire system can be optimized. The evaluation function related to this efficiency is expressed by a convex function. The use of a convex function is also a feature of this control method. As shown in FIG. 4, the upward convex function is sometimes called a concave function, and the downward convex function is sometimes called a convex function. It will be expressed as a convex function.

評価関数が凸関数である要素を連携させて、全体で最適化(各要素の評価関数の値の総和が最大となる状態)する問題は、「凸計画問題」として知られており、各要素の動作レベルにおける評価関数の微分値が等しい状況で最適化が達成されることが数学的に明らかにされている。本実施の形態はこの原理を応用している。本実施の形態において、評価関数として凸関数を使った理由がここにある。   The problem of optimizing the entire function by linking elements whose evaluation function is a convex function (a state in which the sum of the evaluation function values of each element is maximized) is known as a “convex programming problem”. It is mathematically shown that optimization is achieved in the situation where the differential values of the evaluation function are equal at the operation levels. The present embodiment applies this principle. This is the reason why the convex function is used as the evaluation function in the present embodiment.

この原理を勘案し、各要素の状態変化(本実施の形態のサーバのケースでは負荷分散)を以下の式(1)に従い制御する。

Figure 2014032578
Considering this principle, the state change of each element (load distribution in the case of the server of the present embodiment) is controlled according to the following equation (1).
Figure 2014032578

ここで、λiはデータストア1の負荷量であり、K1は状態変更のゲインに相当する係数である。この制御をかけることで、各要素は評価関数の微分値df/dλiを等しくするように状態を変更しようとする。これは「凸計画問題」のところで説明したように、全体利潤を最大化するポイントに各要素の状態(負荷量)を制御するのと等価である。つまり、上記式(1)に基づく制御により、評価関数の縦軸で設定された効率が系全体として最大化される。kは要素iに隣接する要素の番号(図2の構成で論理的に接合されている場合には、要素iが構成ノード100の場合、構成ノード101、103)を意味する。このように隣接要素が複数個有る場合は、順次、上記式(1)に基づく制御を繰り返せばよい。 Here, λ i is the load amount of the data store 1, and K 1 is a coefficient corresponding to the gain of state change. By applying this control, each element attempts to change its state so that the differential value df i / dλ i of the evaluation function is equal. This is equivalent to controlling the state (load amount) of each element at the point that maximizes the total profit, as described in the section “convex planning problem”. That is, the efficiency set on the vertical axis of the evaluation function is maximized for the entire system by the control based on the above formula (1). k means the number of an element adjacent to the element i (when the element i is the configuration node 100 when logically joined in the configuration of FIG. 2, the configuration nodes 101 and 103). When there are a plurality of adjacent elements in this way, the control based on the above formula (1) may be repeated sequentially.

上記までの説明の手法で、負荷の配置の問題をリアルタイムに解くことができるが、場合によっては、データストア1(及び構成ノード10X)が停止していた方が、効率の上がる場合がある。また、停止していたデータストア1(構成ノード10X)を起動したほうが、効率の上がる場合もある。上記式(1)だけでは、この起動停止の判断ができないので、以下の指標を使って、データストア1の起動停止の判断を行う。   Although the load placement problem can be solved in real time by the methods described above, in some cases, it may be more efficient if the data store 1 (and the configuration node 10X) is stopped. In some cases, it may be more efficient to start the stopped data store 1 (configuration node 10X). Since only the above equation (1) cannot be used to determine whether to start or stop, the following index is used to determine whether or not to start and stop the data store 1.

まず、要素自身と、その要素に隣接するノードの評価関数間に、ある指標を定義する。図5は、その評価関数を説明するための図である。図5において、負荷量λが0のときに、効率または利潤(縦軸)f(λ)が負の値を取っている意味は、起動によりコストが発生することを意味している。縦軸を利潤と考えれば、運転(起動)しているにも関わらず、需要がなければ、運転コストが回収(需要家から集める金額)を上回り、利潤がマイナスになるというイメージである。評価関数の値が0になったところが、運転コストと回収が均衡した点であり、評価関数の値がプラスになるということは利益が発生している事を意味する。 First, an index is defined between the element itself and the evaluation function of the node adjacent to the element. FIG. 5 is a diagram for explaining the evaluation function. In FIG. 5, when the load amount λ is 0, the meaning that the efficiency or profit (vertical axis) f i (λ) takes a negative value means that a cost is generated by activation. Considering the vertical axis as profit, it is an image that if there is no demand even though the vehicle is operating (starting up), the operating cost exceeds the recovery (amount collected from the customer) and the profit becomes negative. When the value of the evaluation function becomes 0, the operating cost and the recovery are balanced, and the positive value of the evaluation function means that a profit is generated.

ここで、ノードi(自身)のゼロクロス点をλ0,i、隣接ノードjの評価関数における、ノードiのゼロクロス点と同じ傾きの点をZij、隣接ノードjの現在の負荷をλjとする。この場合、Zijは以下の式(2)で表すことができる。

Figure 2014032578
Here, the zero cross point of the node i (self) is λ 0, i , the point having the same slope as the zero cross point of the node i in the evaluation function of the adjacent node j is Z ij , and the current load of the adjacent node j is λ j To do. In this case, Z ij can be expressed by the following equation (2).
Figure 2014032578

そして、ここで以下の式(3)の指標Siを定義する。

Figure 2014032578
Then, an index Si of the following formula (3) is defined here.
Figure 2014032578

この指標Siは、現在の隣接ノードの負荷(総和)が、自身のゼロクロス点よりどれだけ大きいかを意味している。もしノードiが停止しているとして、ノードiを起動すべき条件は、起動することでノードiがゼロクロス点以上の負荷を担当する状況にあるかどうかである。そうすれば利潤はマイナス(評価関数値が負)にならないため、ノードiを起動することで不利はない。指標Siはそれを数値化したものである。隣接ノードがノードiのゼロクロス点における評価関数微分値と等価なZijよりどれだけ負荷を担当しているかを示すのが式(3)の右辺第1項であり、それをゼロクロス点λ0,iで減算することで(右辺第2項)、自身のゼロクロス点以上の負荷が周りに存在しているかを示す指標となっている。指標Siが0より大きければ、ノードiを起動したときにいずれ隣接ノードが担当している負荷はノードiが担当することになり、かつノードiの担当負荷はゼロクロス点以上となる。逆に、指標Siが0より小さければ、ノードiが隣接ノードの担当負荷を新たに担っても、ゼロクロス点以下となり、ノードiの起動により利潤をマイナスにしてしまう。指標Siはこのようなものであり、指標Siの正負を見ることでノードiを起動すべきか停止すべきかがわかる。指標Siが負のときとは、その時点でノードiの負荷は評価関数が負の値をとる領域にあるということで、起動しているノードは評価関数が0以下になった時点で停止すると考えても良い。 This index Si means how much the load (total) of the current adjacent node is larger than its own zero-cross point. If the node i is stopped, the condition for starting the node i is whether or not the node i is in charge of a load greater than or equal to the zero cross point by starting. Then, profit does not become negative (the evaluation function value is negative), so there is no disadvantage in starting node i. The index Si is a numerical value of it. The first term on the right-hand side of Equation (3) indicates how much the adjacent node is responsible for the load from Z ij equivalent to the evaluation function differential value at the zero-cross point of node i . By subtracting with i (the second term on the right side), it becomes an index indicating whether or not there is a load around its zero-cross point. If the index Si is greater than 0, the load that the adjacent node is responsible for when the node i is activated will be handled by the node i, and the load assigned to the node i is equal to or greater than the zero cross point. On the other hand, if the index Si is smaller than 0, even if the node i newly bears the load assigned to the adjacent node, the node i becomes below the zero cross point, and the profit is negative due to the activation of the node i. The index Si is like this, and it can be seen whether the node i should be started or stopped by looking at the sign of the index Si. When the index Si is negative, the load of the node i is in a region where the evaluation function takes a negative value at that time, and the active node stops when the evaluation function becomes 0 or less You may think.

以上のように、上記式(1)で各要素の状態変化を制御しながら、上記式(3)の指標Siをモニタすることで、リアルタイムにデータストア1の好適な負荷量の算出、及びノードを起動すべきか停止すべきかの判断をすることができる。これは従来のように予め予測シナリオでスケジューリングして制御していたものに比べ画期的なアルゴリズムとなっている。なぜなら、想定外の外乱や需給変化があってもリアルタイムに即応できるからである。   As described above, a suitable load amount of the data store 1 is calculated in real time by monitoring the index Si in the above equation (3) while controlling the state change of each element in the above equation (1), and the node Can be determined whether to start or stop. This is an epoch-making algorithm as compared with the conventional algorithm that is scheduled and controlled in advance in a prediction scenario. This is because even if there is an unexpected disturbance or a change in supply and demand, it can respond immediately in real time.

また、このアルゴリズムは、自律分散的に独立に動くので、どこかが故障したりしても、故障した要素からの信号が途絶えた分だけ、他の要素が自律的にリカバーするという動作を行う。また、突然要素を増やしたり、減らしたりしても、徐々に自律的に適正な動作に向かうことができる。つまり、外乱に対して、非常にロバストであり、また、要素の増減を自由にできるスケーラビリティを有している。   In addition, since this algorithm operates independently in an autonomous and distributed manner, even if some part fails, the other element autonomously recovers as much as the signal from the failed element stops. . Moreover, even if the number of elements is suddenly increased or decreased, an appropriate operation can be gradually and autonomously performed. In other words, it is very robust against disturbances and has scalability that allows elements to be freely increased or decreased.

従来のシステムは、故障に対して無力であったり、様々なエラー用のシーケンスを用意したりしなければならなかった。また、勝手に要素(リソース)を増やしたり、減らしたりすればシステム全体の安定性が保たれるか保証はなく、そのたびにプログラム、処理を見直さなければならなかった。本実施の形態のアルゴリズムはこれらの問題を自律分散適応的な制御ですべて解決することができる。   Conventional systems have had to be powerless with respect to failure or have prepared various error sequences. In addition, there is no guarantee that the stability of the entire system will be maintained if elements (resources) are increased or decreased without permission, and the program and processing must be reviewed each time. The algorithm of this embodiment can solve all of these problems by autonomous distributed adaptive control.

データ選択/ルールチェック手段23は、制御内容計算手段22によって決定される、接続先毎のノード及び、転送すべきデータ量及びその転送先ノードの情報から、実際にデータを選択する。その際に、データ選択/ルールチェック手段23は、転送除外ルール保持手段25に格納されているルールを参照し、転送除外ルールとして登録されている条件に一致するデータを転送データとして選ばず、その他のデータから転送データを選択する。   The data selection / rule check unit 23 actually selects data from the node for each connection destination, the amount of data to be transferred, and information on the transfer destination node determined by the control content calculation unit 22. At that time, the data selection / rule check means 23 refers to the rules stored in the transfer exclusion rule holding means 25, does not select data that matches the conditions registered as the transfer exclusion rules as transfer data, Transfer data is selected from the data.

データ移動制御手段24は、データ選択/ルールチェック手段23によって選択指定されたデータを、データストア1から取得し、転送先ノードに対してデータを転送する。転送先ノードのデータ受信手段3がそのデータを受信し、転送先ノードのデータストア1に反映する。   The data movement control unit 24 acquires the data selected and designated by the data selection / rule check unit 23 from the data store 1 and transfers the data to the transfer destination node. The data receiving means 3 of the transfer destination node receives the data and reflects it in the data store 1 of the transfer destination node.

転送除外ルール保持手段25は、構成ノード(ここでは構成ノード100)に格納された際にその構成ノードから外部に転送しないデータの条件を保持するものであり、1つあるいは複数の条件を保持する。当然ながら、転送してもよい条件を格納し、条件に適合しないデータを転送不可にしてもよい。   The transfer exclusion rule holding unit 25 holds data conditions that are not transferred from the configuration node to the outside when stored in the configuration node (the configuration node 100 in this case), and holds one or more conditions. . Of course, conditions that may be transferred may be stored, and data that does not meet the conditions may be disabled.

[転送除外ルールの実施例]
制約ルールを保持する実施例としては、転送しないデータを示す識別子{キー、ファイルパス及びファイル名、ID(オブジェクトやレコード毎に付与される識別子)}のリスト、データに付与されるメタデータのリスト(例えばファイルの所有者、グループ名など)といったことが挙げられる。これらの情報をファイルやデータベースなどに記録しておくということが簡素な実装方式として考えられる。
[Example of forwarding exclusion rule]
Examples of holding constraint rules include a list of identifiers {key, file path and file name, ID (identifier assigned to each object or record)} indicating data not to be transferred, and a list of metadata attached to the data (For example, file owner, group name, etc.). Recording this information in a file, database, etc. can be considered as a simple implementation method.

論理的接合形態管理手段26は、構成ノードの論理的接続先ノードについて保持管理し、要求に応答する手段である。構成ノードの論理的接合形態が図2に示すような形になっている場合、構成ノード100の論理的接合形態管理手段26は構成ノード101及び103を論理的接続先ノードとして応答する。論理的接合形態管理手段26は、外部の任意の手段によって変更されてもよい。第1の実施の形態では、論理的接続先ノードは静的に決まっているためノード毎にあらかじめ決められた情報を応答すればよい。   The logical connection form management means 26 is means for holding and managing the logical connection destination nodes of the constituent nodes and responding to requests. When the logical connection form of the configuration node is as shown in FIG. 2, the logical connection form management means 26 of the configuration node 100 responds with the configuration nodes 101 and 103 as logical connection destination nodes. The logical connection form management means 26 may be changed by any external means. In the first embodiment, since the logical connection destination node is statically determined, information determined in advance for each node may be returned.

論理的接合形態管理手段26の実施例としては、データベースやファイルなどに各構成ノード自身の接続先ノードリスト(構成ノード100であれば101と103を示す情報)を記録する、あるいは全ての結合関係(すなわち図2相当の情報)を各構成ノードに保持していてもよい。   As an example of the logical connection form management means 26, a connection destination node list (information indicating 101 and 103 in the case of the configuration node 100) is recorded in a database or a file, or all connection relationships are recorded. (That is, information corresponding to FIG. 2) may be held in each constituent node.

ルール更新手段5は1つあるいは複数の構成ノード10X上の転送除外ルール保持手段25に保持されているルールを変更・更新・追加する手段である。構成ノード1つだけのルールを変更してもよいし、2つ以上あるいは全ての構成ノードのルールを変更しても良い。ルール更新手段5は任意の構成ノード10X上で動作させても良いし、分散ストレージシステムの構成ノード以外のノードで動作しても良い(例えば、ファイルシステムのユーザが利用するパソコンなどであってもよい)。   The rule update means 5 is means for changing / updating / adding a rule held in the transfer exclusion rule holding means 25 on one or a plurality of constituent nodes 10X. The rule for only one configuration node may be changed, or the rules for two or more or all configuration nodes may be changed. The rule update unit 5 may operate on an arbitrary configuration node 10X, or may operate on a node other than the configuration node of the distributed storage system (for example, a personal computer used by a file system user). Good).

ルール更新手段5は、ユーザやシステム管理者から例えば、構成ノード100と108にユーザAのデータを保持させたい場合に、構成ノード100と108の転送除外ルール保持手段25の除外ルールにユーザAの保持データの情報を追加する。例えば、ファイルシステムを対象にする場合、メタデータの所有者がユーザAを除外リストに追加する。   For example, when the user or system administrator wants to hold user A's data in the configuration nodes 100 and 108, the rule update unit 5 sets the exclusion rule of the transfer exclusion rule holding unit 25 of the configuration nodes 100 and 108 as the exclusion rule of the user A. Add retained data information. For example, when targeting a file system, the owner of metadata adds user A to the exclusion list.

また、例えば構成ノード100はユーザAが利用する拠点の近隣にあるノードで、構成ノード108に複製を保持する理由は充分離れた拠点で災害対策用に離れた場所に複製を保持したい、というユースケースの場合には次のように動作してもよい。ユーザやシステム管理者は、構成ノード100に除外設定を追加させる。それに対してルール更新手段5は、構成ノード100と同時に被災しない拠点(地理的に十分離れた距離にある、あるいは電力供給が区分されている、または別のネットワーク経路を持つなど)にある構成ノード10Xから1つ選んで構成ノード108にも同一の条件を追加する。この際、ルール更新手段5は構成ノードの位置(あるいは電力供給状態、システム構成状態)を認識しているものとしてよい。   In addition, for example, the configuration node 100 is a node in the vicinity of the base used by the user A, and the reason for holding the copy in the configuration node 108 is a use where the copy is desired to be held at a location far enough away for disaster countermeasures In case, it may operate as follows. A user or a system administrator causes the configuration node 100 to add an exclusion setting. On the other hand, the rule update means 5 is a configuration node at a location that is not damaged at the same time as the configuration node 100 (at a geographically sufficient distance, or where power supply is divided, or has another network route). The same condition is added to the configuration node 108 by selecting one from 10X. At this time, the rule update unit 5 may recognize the position of the configuration node (or the power supply state and the system configuration state).

また、あるデータに対して、構成ノード100から構成ノード101、102以外のノードに転送してはならない、というような条件記述でもよい。この場合、転送先ノードが構成ノード103の場合には該当データは転送できないが、転送先ノードが構成ノード101の場合には転送が可能である。例えば、構成ノード100〜102が同一の拠点に存在し、いずれか1つのノードに複製が1つ以上あれば目的を達成できる場合に、このような条件指定を行う。   Also, a condition description such that certain data should not be transferred from the configuration node 100 to a node other than the configuration nodes 101 and 102 may be used. In this case, when the transfer destination node is the configuration node 103, the corresponding data cannot be transferred, but when the transfer destination node is the configuration node 101, transfer is possible. For example, such a condition specification is performed when the configuration nodes 100 to 102 exist at the same base and the purpose can be achieved if one of the nodes has one or more replicas.

[全体動作]
次に、図6、図7のフローチャートを参照して、第1の実施の形態の全体動作について詳細に説明する。図6は各構成ノード10Xにおけるデータの転送制御処理フローである。このフローが定期的に実行されることによりシステムを安定的に負荷分散させ動作させる。図7は図6のステップS103を詳細に説明するフローチャートであり、ある転送先ノードに対し、実際に転送するデータ断片を選択する処理である。
[Overall operation]
Next, the overall operation of the first embodiment will be described in detail with reference to the flowcharts of FIGS. FIG. 6 is a data transfer control processing flow in each component node 10X. By periodically executing this flow, the system is stably distributed and operated. FIG. 7 is a flowchart for explaining step S103 in FIG. 6 in detail, and is a process of selecting a data fragment to be actually transferred to a certain transfer destination node.

まず、図3、図6を用いて基本的なデータ転送制御処理フローについて説明する。状態取得手段21は、データストア1からデータの保持状態情報を取得すると共に、自身及び論理的接続先ノードである、構成ノード100、101、103の負荷監視手段4から負荷情報を取得し、負荷状態として制御内容計算手段22に渡す(ステップS101)。制御内容計算手段22は、渡されたデータ保持状態情報と負荷情報を用いて、制御内容(転送先毎の転送データ量)を算出する(ステップS102)。ステップS102の具体的方法については制御内容計算手段22の項に示す。   First, a basic data transfer control processing flow will be described with reference to FIGS. The status acquisition means 21 acquires data holding status information from the data store 1, and acquires load information from the load monitoring means 4 of the configuration nodes 100, 101, and 103, which are itself and logical connection destination nodes. The status is passed to the control content calculation means 22 (step S101). The control content calculation means 22 calculates the control content (transfer data amount for each transfer destination) using the received data holding state information and load information (step S102). The specific method of step S102 is shown in the section of control content calculation means 22.

続いて、データ選択/ルールチェック手段23は、転送除外ルール保持手段25に格納されているルールに該当するデータ以外から、転送先ノード毎に転送データ断片を選択し、選択した転送データ断片を指定する情報をデータ移動制御手段24に渡し、データ移動制御の実行を要求する(ステップS103)。ステップS103については詳細を図7のフローチャートによって後述する。   Subsequently, the data selection / rule check unit 23 selects a transfer data fragment for each transfer destination node from data other than the data corresponding to the rule stored in the transfer exclusion rule holding unit 25, and designates the selected transfer data fragment. The information to be transferred is passed to the data movement control means 24, and execution of the data movement control is requested (step S103). Details of step S103 will be described later with reference to the flowchart of FIG.

データ移動制御手段24は、データ選択/ルールチェック手段23からの転送データ断片を指定する情報に基づいてデータストア1から転送すべきデータ断片を取得し、転送先のデータ受信手段3へデータを転送する(ステップS104)。   The data movement control unit 24 acquires the data fragment to be transferred from the data store 1 based on the information specifying the transfer data fragment from the data selection / rule check unit 23 and transfers the data to the data receiving unit 3 as the transfer destination. (Step S104).

[ステップS103における転送データ選択]
次に、図7を用いてデータ選択/ルールチェック手段23によるステップS103の動作について説明する。前述したように、データ選択/ルールチェック手段23は、制御内容計算手段22によって決定された、接続先毎のノード、データ転送量及びその転送先ノードの情報から、データ転送量を満たす分のデータ断片を、状態取得手段21を介してデータストア1から選ぶ(ステップS201)。例えば、決定されたデータ転送量がデータ断片100個分に相当するのであれば、データ選択/ルールチェック手段23はデータストア1に格納されているデータ断片を100個選ぶ。選ぶ方法としてはランダムに選ぶ、FIFO(First in First out)順に選ぶ、FILO(First in Last out)順に選ぶ、など様々な方法が考えられるが、ここではどのような方法に基づいてもよい。
[Transfer data selection in step S103]
Next, the operation of step S103 by the data selection / rule check means 23 will be described with reference to FIG. As described above, the data selection / rule checking unit 23 determines the amount of data that satisfies the data transfer amount from the node, data transfer amount, and information on the transfer destination node for each connection destination determined by the control content calculation unit 22. A fragment is selected from the data store 1 via the state acquisition means 21 (step S201). For example, if the determined data transfer amount corresponds to 100 data fragments, the data selection / rule check means 23 selects 100 data fragments stored in the data store 1. Various methods such as selecting in random order, selecting in order of FIFO (First in First out), selecting in order of FIFO (First in Last out) can be considered, but any method may be used here.

次に、データ選択/ルールチェック手段23は、転送除外ルール保持手段25から除外ルールを取り出す(ステップS202)。ステップS201とS202は独立して実行できるため、任意の順序で実行して良い。   Next, the data selection / rule check unit 23 takes out the exclusion rule from the transfer exclusion rule holding unit 25 (step S202). Since steps S201 and S202 can be executed independently, they may be executed in any order.

データ選択/ルールチェック手段23はさらに、ステップS202で取得した制約ルールと、ステップS201で選択した(転送候補となる)データ断片から、各データ断片が転送除外ルールに該当するかどうか判定する(ステップS203)。   The data selection / rule checking means 23 further determines whether each data fragment corresponds to the transfer exclusion rule from the constraint rule acquired in step S202 and the data fragment selected in step S201 (being a transfer candidate) (step S203).

データ選択/ルールチェック手段23は次に、ステップS201で選択された転送候補データ断片全てが、ステップS203での判定で転送除外ルールに該当していないかどうか確認する(ステップS204)。転送候補データ断片全てが転送除外ルールに該当していない場合(ステップS204でYESの場合)、指定データ量の転送データ断片のリストアップが完了したことになるため、本処理は終了し、図6のステップS104に進む。   Next, the data selection / rule check unit 23 checks whether all the transfer candidate data fragments selected in step S201 do not correspond to the transfer exclusion rule in the determination in step S203 (step S204). If all the transfer candidate data fragments do not correspond to the transfer exclusion rule (YES in step S204), the list of transfer data fragments of the designated data amount has been completed, so this processing ends, and FIG. The process proceeds to step S104.

転送候補データ断片のうち、転送除外ルールに該当するデータがある場合(ステップS204でNOの場合)、データ選択/ルールチェック手段23は、転送除外ルールに該当したデータ量分の新たなデータ断片を再度データストア1に格納されているデータ断片から選択する(ステップS205)。なお、転送除外ルールに該当しなかった転送候補データ断片はそのまま転送候補とする。ステップS205における、基本的な選択方法としてはステップS201と同様にしてよいが、以前に選択され、除外ルールに該当したデータ断片は選択候補から外すべきである。データ選択/ルールチェック手段23は、新しい転送データ断片候補を選んだ後に、ステップS203に戻り再度のルール判定処理を行う。   If there is data corresponding to the transfer exclusion rule among the transfer candidate data fragments (NO in step S204), the data selection / rule check means 23 creates new data fragments corresponding to the data amount corresponding to the transfer exclusion rule. It again selects from the data fragments stored in the data store 1 (step S205). A transfer candidate data fragment that does not correspond to the transfer exclusion rule is used as a transfer candidate as it is. The basic selection method in step S205 may be the same as in step S201, but data fragments that have been previously selected and correspond to the exclusion rule should be excluded from the selection candidates. After selecting a new transfer data fragment candidate, the data selection / rule check means 23 returns to step S203 and performs the rule determination process again.

また、この動作フローにおいてステップS201の時点で転送除外ルールを判断しながら転送候補データの選択をしてもよいことは言うまでもない。   Needless to say, the transfer candidate data may be selected while determining the transfer exclusion rule at the time of step S201 in this operation flow.

[第2の実施の形態:論理的接合形態の変更]
次に、本発明による第2の実施の形態について説明する。第1の実施の形態では、各構成ノードに転送除外ルールを付与することで課題を達成した。しかし、これでは自律分散制御アルゴリズムによって該当データが偶然、対象構成ノードにデータが転送されてくるまで配置状態を満たすことが出来ない。この問題を解決するために、ルール更新手段5がルールを更新した時点において、構成ノードの接続先を増やす機構を導入する。
[Second Embodiment: Change in Logical Joining Mode]
Next, a second embodiment according to the present invention will be described. In 1st Embodiment, the subject was achieved by giving the transfer exclusion rule to each component node. However, in this case, the arrangement state cannot be satisfied until the corresponding data is accidentally transferred to the target constituent node by the autonomous distributed control algorithm. In order to solve this problem, a mechanism for increasing the connection destinations of the constituent nodes at the time when the rule update means 5 updates the rule is introduced.

例えば、構成ノード100にユーザAのデータを外部に転送させない条件を追加した際に、ユーザAのデータを構成ノード100へ転送させる場合には、その論理的接続先ノード(図2においては構成ノード101及び103)からデータが転送されてくるのを待つ必要がある。このデータ転送の確率を上昇させるためには、論理的接続先ノードを増加させればよい。すなわち構成ノード102、104〜108のうち1つ以上の構成ノードを論理的接続先ノードとして追加すればよい。   For example, when a condition for preventing the user A data from being transferred to the configuration node 100 is added, when the user A data is transferred to the configuration node 100, the logical connection destination node (the configuration node in FIG. 2) 101 and 103) need to wait for data to be transferred. In order to increase the probability of this data transfer, the number of logical connection destination nodes may be increased. That is, one or more configuration nodes among the configuration nodes 102 and 104 to 108 may be added as logical connection destination nodes.

なお、本発明で述べた制御アルゴリズムは、論理的接続先ノードが増加するほど計算コストが増加し、またネットワーク利用帯域も増加する傾向にあるため、論理的接続先ノードの追加はユーザの求める配置状態への移行への高速化と計算コストとのトレードオフである。従って、あらかじめ指定された時間を超えたら、元に戻す、という処理を入れることが望ましい。   The control algorithm described in the present invention tends to increase the calculation cost as the number of logical connection destination nodes increases and the network use bandwidth also increases. This is a trade-off between speeding up the transition to the state and calculation cost. Therefore, it is desirable to insert a process of returning to the original state when the time specified in advance is exceeded.

また、データの配置状態への移行に求められる時間に応じて、増加させる接続先ノード数を変更してもよい。例えば、短時間でのデータ移行が必要であれば、接続先ノード数を増大させるようなインタフェースを備えても良い。   Further, the number of connection destination nodes to be increased may be changed according to the time required for shifting to the data arrangement state. For example, if data migration in a short time is necessary, an interface that increases the number of connection destination nodes may be provided.

次に、図8を参照して、本発明の第2の実施の形態について説明する。図8に示す第2の実施の形態は、図3に示された第1の実施の形態とほぼ同じであるが、制御手段2における転送除外ルール保持手段25が、ルール更新手段5からのルール更新要求に基づいて論理的接合形態管理手段26の情報を変更する機能を持つ点が異なる。また、論理的接合形態管理手段26は、その論理的接続先ノードの論理的接合形態管理手段26に対しても更新を要求する必要がある。すなわち、図2の接続形態において、構成ノード100と構成ノード108の結合を追加する際には、構成ノード108の論理的接合形態管理手段26を変更する必要がある(但し、図8では矢印を省略している)。なお、必ずしも転送除外ルール保持手段25を介して論理的接合形態管理手段26を変更する必要はない。例えばルール更新手段5が直接変更するような構成を取っても良い。   Next, a second embodiment of the present invention will be described with reference to FIG. The second embodiment shown in FIG. 8 is almost the same as the first embodiment shown in FIG. 3 except that the transfer exclusion rule holding means 25 in the control means 2 is the rule from the rule update means 5. The difference is that it has a function of changing the information of the logical connection form management means 26 based on the update request. Also, the logical connection form management means 26 needs to request an update from the logical connection form management means 26 of the logical connection destination node. That is, in the connection form of FIG. 2, when adding a connection between the configuration node 100 and the configuration node 108, it is necessary to change the logical connection form management means 26 of the configuration node 108 (however, in FIG. Omitted). Note that it is not always necessary to change the logical connection form management unit 26 via the transfer exclusion rule holding unit 25. For example, a configuration in which the rule update unit 5 directly changes may be adopted.

[第3の実施の形態]
本発明の第3の実施の形態として、ユーザアクセスに対して自動的に転送除外ルールを追加する機構を付与した構成について説明する。第1の実施の形態においては、ルール更新手段5を用いてシステム管理者やユーザが、ユーザAのアクセス先拠点(あるいは構成ノード)の情報に基づいて転送除外ルールを追加する必要がある。
[Third Embodiment]
As a third embodiment of the present invention, a configuration provided with a mechanism for automatically adding a transfer exclusion rule to user access will be described. In the first embodiment, it is necessary for a system administrator or a user to add a transfer exclusion rule based on information on the access destination base (or the configuration node) of the user A using the rule update unit 5.

本発明の第3の実施の形態では、あるユーザが分散ストレージシステムの構成ノードにアクセスした際に、そのアクセスを構成ノードで検出すると、その該当ユーザに関するデータの転送除外ルールを追加するよう動作する。   In the third embodiment of the present invention, when a certain user accesses a configuration node of the distributed storage system, if the access is detected by the configuration node, an operation is performed to add a data transfer exclusion rule for that user. .

図9は、本発明の第3の実施の形態の構成を示す。第3の実施の形態は、第1及び2の実施の形態の構成とほぼ同じであるが、ユーザクライアント6からのアクセスを検出するためのアクセス検出手段7を備えることが異なる。   FIG. 9 shows the configuration of the third exemplary embodiment of the present invention. The third embodiment is almost the same as the configuration of the first and second embodiments except that it includes an access detection means 7 for detecting access from the user client 6.

ユーザクライアント6は、本発明を実現するサービスである分散ストレージシステムにアクセスするクライアントであり、任意の端末(計算機や、携帯端末など)によって実現される。アクセス検出手段7は構成ノード10X上で動作するソフトウェアであり、アクセス要求のユーザを識別する。実施例としては、分散ストレージシステムのアクセス要求を受け付けるソフトウェア内で実現することが考えられる。アクセス検出手段7はアクセス元のユーザを識別した後に、そのユーザに関するデータをアクセスされる構成ノードにデータが格納されるように制御させるために、転送除外ルール保持手段25に転送除外条件を追加する(例えば、所有者がアクセスユーザのデータを除外条件に追加)。   The user client 6 is a client that accesses a distributed storage system that is a service for realizing the present invention, and is realized by an arbitrary terminal (a computer, a portable terminal, or the like). The access detection means 7 is software that operates on the configuration node 10X, and identifies the user of the access request. As an embodiment, it may be realized in software that receives an access request of a distributed storage system. After the access detection unit 7 identifies the access source user, the transfer detection condition is added to the transfer exclusion rule holding unit 25 in order to control the data related to the user so that the data is stored in the accessed configuration node. (For example, the owner adds the access user's data to the exclusion condition).

また、アクセス検出手段7はアクセスの履歴を保持してもよい。アクセス履歴を保持することによって、一定期間該当構成ノードに対して、ユーザのアクセスが無ければ、そのユーザのための転送除外条件を削除する。このように動作することによって、ユーザのアクセス性能を向上させることが出来る。また、自動的に条件を削除することで、効率的な負荷分散制御を維持することが出来る。   Further, the access detection means 7 may hold an access history. By holding the access history, if there is no user access to the corresponding node for a certain period, the transfer exclusion condition for the user is deleted. By operating in this way, user access performance can be improved. In addition, efficient load distribution control can be maintained by automatically deleting conditions.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

「付記」
付記1
データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって、
各構成ノードが、それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するデータ転送手段と、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得する状態取得手段と、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算する制御内容計算手段と、
外部に転送しないデータの条件を保持する転送除外ルールを格納する転送除外ルール保持手段と、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するデータ選択/ルールチェック手段と、
を備えたことを特徴とする分散ストレージシステム。
"Appendix"
Appendix 1
A distributed storage system in which a plurality of configuration nodes having storage means for holding data are connected via a network,
Data transfer means for transferring data to an arbitrary number of logical connection destination nodes each logically connected to each component node;
State acquisition means for acquiring the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves;
Control content calculation means for calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
A transfer exclusion rule holding means for storing a transfer exclusion rule for holding a condition of data not transferred to the outside;
Data selection / rule checking means for selecting transfer data not corresponding to the transfer exclusion rule from the calculated data amount to be transferred;
A distributed storage system characterized by comprising:

付記2
前記各構成ノードが、それぞれ自身以外の構成ノードからの転送データを受信し前記記憶手段へ保持するデータ受信手段と、
前記複数の構成ノードの負荷情報を取得し、前記状態取得手段と前記任意の数の論理的接続先ノードに送信する負荷監視手段と、をさらに備えることを特徴とする付記1に記載の分散ストレージシステム。
Appendix 2
Each of the constituent nodes receives data transferred from constituent nodes other than itself, and stores data in the storage means;
The distributed storage according to appendix 1, further comprising: load information of the plurality of constituent nodes, and load monitoring means for acquiring the state acquisition means and transmitting the load information to the arbitrary number of logical connection destination nodes. system.

付記3
単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、任意のデータに対する転送除外条件を付与するルール更新手段を更に備えることを特徴とする付記1または2に記載の分散ストレージシステム。
Appendix 3
The distributed storage system according to appendix 1 or 2, further comprising rule updating means for assigning a transfer exclusion condition for arbitrary data to the transfer exclusion rule holding means of a single or a plurality of constituent nodes.

付記4
単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対して、前記任意のデータに対する転送除外条件を付与されたときに、指定の構成ノードと同時に被災しない構成ノードを1つあるいは複数選び、その選んだ構成ノードに同一の転送除外条件を付与することを特徴とする付記3に記載の分散ストレージシステム。
Appendix 4
When a transfer exclusion condition for the arbitrary data is given to the transfer exclusion rule holding unit of a single or a plurality of configuration nodes, select one or a plurality of configuration nodes that are not damaged at the same time as a specified configuration node, The distributed storage system according to appendix 3, wherein the same transfer exclusion condition is assigned to the selected configuration node.

付記5
前記指定の構成ノードと同時に被災しない構成ノードの条件として、一定距離以上物理的距離が離れている条件を含むことを特徴とする付記4に記載の分散ストレージシステム。
Appendix 5
The distributed storage system according to appendix 4, wherein the condition of the configuration node that is not damaged at the same time as the designated configuration node includes a condition that a physical distance is more than a certain distance.

付記6
前記指定の構成ノードと同時に被災しない構成ノードの条件として、電力供給源が別系統である条件を含むことを特徴とする付記4に記載の分散ストレージシステム。
Appendix 6
The distributed storage system according to appendix 4, wherein the condition of the configuration node that is not damaged simultaneously with the designated configuration node includes a condition that the power supply source is a separate system.

付記7
単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、前記任意のデータに対する転送除外条件を付与された際に、条件を付与された構成ノードの論理的接合形態を変更することを特徴とする付記3に記載の分散ストレージシステム。
Appendix 7
When a transfer exclusion condition for the arbitrary data is given to the transfer exclusion rule holding unit of a single or a plurality of configuration nodes, the logical connection form of the configuration nodes to which the conditions are given is changed. The distributed storage system according to Supplementary Note 3.

付記8
データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムにおけるデータ配置制御方法であって、
各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納しており、
各構成ノードはまた、
それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、
を実行することを特徴とする分散ストレージデータ配置制御方法。
Appendix 8
A data placement control method in a distributed storage system in which a plurality of constituent nodes having storage means for holding data are connected via a network,
Each configuration node stores in advance a transfer exclusion rule that holds data conditions that are not transferred to the outside in the transfer exclusion rule holding means.
Each configuration node also
Transferring data to any number of logically connected nodes, each logically connected;
Obtaining the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves as load states;
Calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
Selecting transfer data not corresponding to the transfer exclusion rule from the calculated amount of data to be transferred;
A distributed storage data arrangement control method characterized by executing:

付記9
前記各構成ノードは更に、単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、任意のデータに対する転送除外条件を付与するステップを実行することを特徴とする付記8に記載の分散ストレージデータ配置制御方法。
Appendix 9
9. The distributed storage according to appendix 8, wherein each of the configuration nodes further executes a step of assigning a transfer exclusion condition for arbitrary data to the transfer exclusion rule holding unit of a single or a plurality of configuration nodes. Data placement control method.

付記10
前記各構成ノードは、前記単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対して、前記任意のデータに対する転送除外条件を付与したときに、指定の構成ノードと同時に被災しない構成ノードを1つあるいは複数選び、その選んだ構成ノードに同一の転送除外条件を付与することを特徴とする付記9に記載の分散ストレージデータ配置制御方法。
Appendix 10
Each of the configuration nodes includes a configuration node that is not damaged at the same time as a specified configuration node when a transfer exclusion condition for the arbitrary data is given to the transfer exclusion rule holding unit of the single or multiple configuration nodes. 10. The distributed storage data placement control method according to appendix 9, wherein one or a plurality are selected and the same transfer exclusion condition is assigned to the selected configuration node.

付記11
前記指定の構成ノードと同時に被災しない構成ノードの条件として、一定距離以上物理的距離が離れている条件を含むことを特徴とする付記10に記載の分散ストレージデータ配置制御方法。
Appendix 11
The distributed storage data arrangement control method according to appendix 10, wherein the condition of the configuration node that is not damaged simultaneously with the designated configuration node includes a condition that a physical distance is more than a certain distance.

付記12
前記指定の構成ノードと同時に被災しない構成ノードの条件として、電力供給源が別系統である条件を含むことを特徴とする付記10に記載の分散ストレージデータ配置制御方法。
Appendix 12
The distributed storage data placement control method according to appendix 10, wherein the condition of the configuration node that is not damaged simultaneously with the designated configuration node includes a condition that the power supply source is a separate system.

付記13
前記各構成ノードは、前記単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対して、前記任意のデータに対する転送除外条件を付与した際に、条件を付与した構成ノードの論理的接合形態を変更することを特徴とする付記9に記載の分散ストレージデータ配置制御方法。
Appendix 13
Each configuration node is a logical connection form of configuration nodes to which conditions are added when transfer exclusion conditions for the arbitrary data are added to the transfer exclusion rule holding unit of the single or multiple configuration nodes. 10. The distributed storage data arrangement control method according to appendix 9, wherein:

付記14
データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納している分散ストレージシステムに適用されるデータ配置制御用プログラムであって、
各構成ノードのコンピュータに、論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、
を実行させための分散ストレージデータ配置制御用プログラム。
Appendix 14
A distributed storage system in which a plurality of configuration nodes having storage means for storing data are connected via a network, and each configuration node transfers a transfer exclusion rule that holds data conditions that are not transferred to the outside in advance. A data placement control program applied to the distributed storage system stored in the exclusion rule holding means,
Transferring data to any number of logically connected nodes logically connected to the computers of each constituent node;
Obtaining the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves as load states;
Calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
Selecting transfer data not corresponding to the transfer exclusion rule from the calculated amount of data to be transferred;
Distributed storage data placement control program for executing

本発明によれば、複数のノードによってストレージシステムを実現する、分散ストレージシステムといった用途に適用できる。特に、耐災害システム、拠点間でファイルを共有する分散ファイルシステム、といった用途に適用できる。   According to the present invention, the present invention can be applied to uses such as a distributed storage system in which a storage system is realized by a plurality of nodes. In particular, the present invention can be applied to disaster-resistant systems and distributed file systems that share files between sites.

1 データストア
2 制御手段
3 データ受信手段
4 負荷監視手段
5 ルール更新手段
6 ユーザクライアント
21 状態取得手段
22 制御内容計算手段
23 データ選択/ルールチェック手段
24 データ移動制御手段
25 転送除外ルール保持手段
26 論理的接合形態管理手段
100〜108 構成ノード
200 ネットワーク
DESCRIPTION OF SYMBOLS 1 Data store 2 Control means 3 Data reception means 4 Load monitoring means 5 Rule update means 6 User client 21 Status acquisition means 22 Control content calculation means 23 Data selection / rule check means 24 Data movement control means 25 Transfer exclusion rule holding means 26 Logic Joint form management means 100 to 108 Component node 200 Network

Claims (10)

データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって、
各構成ノードが、それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するデータ転送手段と、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得する状態取得手段と、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算する制御内容計算手段と、
外部に転送しないデータの条件を保持する転送除外ルールを格納する転送除外ルール保持手段と、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するデータ選択/ルールチェック手段と、
を備えたことを特徴とする分散ストレージシステム。
A distributed storage system in which a plurality of configuration nodes having storage means for holding data are connected via a network,
Data transfer means for transferring data to an arbitrary number of logical connection destination nodes each logically connected to each component node;
State acquisition means for acquiring the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves;
Control content calculation means for calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
A transfer exclusion rule holding means for storing a transfer exclusion rule for holding a condition of data not transferred to the outside;
Data selection / rule checking means for selecting transfer data not corresponding to the transfer exclusion rule from the calculated data amount to be transferred;
A distributed storage system characterized by comprising:
前記各構成ノードが、それぞれ自身以外の構成ノードからの転送データを受信し前記記憶手段へ保持するデータ受信手段と、
前記複数の構成ノードの負荷情報を取得し、前記状態取得手段と前記任意の数の論理的接続先ノードに送信する負荷監視手段と、をさらに備えることを特徴とする請求項1に記載の分散ストレージシステム。
Each of the constituent nodes receives data transferred from constituent nodes other than itself, and stores data in the storage means;
The distribution according to claim 1, further comprising: load information of the plurality of constituent nodes, and load monitoring means for acquiring the state acquisition means and transmitting it to the arbitrary number of logical connection destination nodes. Storage system.
単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、任意のデータに対する転送除外条件を付与するルール更新手段を更に備えることを特徴とする請求項1または2に記載の分散ストレージシステム。   The distributed storage system according to claim 1, further comprising a rule update unit that assigns a transfer exclusion condition for arbitrary data to the transfer exclusion rule holding unit of a single or a plurality of constituent nodes. 単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対して、前記任意のデータに対する転送除外条件を付与されたときに、指定の構成ノードと同時に被災しない構成ノードを1つあるいは複数選び、その選んだ構成ノードに同一の転送除外条件を付与することを特徴とする請求項3に記載の分散ストレージシステム。   When a transfer exclusion condition for the arbitrary data is given to the transfer exclusion rule holding unit of a single or a plurality of configuration nodes, select one or a plurality of configuration nodes that are not damaged at the same time as a specified configuration node, 4. The distributed storage system according to claim 3, wherein the same transfer exclusion condition is assigned to the selected configuration node. 前記指定の構成ノードと同時に被災しない構成ノードの条件として、一定距離以上物理的距離が離れている条件を含むことを特徴とする請求項4に記載の分散ストレージシステム。   The distributed storage system according to claim 4, wherein the condition of the configuration node that is not damaged at the same time as the designated configuration node includes a condition that a physical distance is more than a certain distance. 前記指定の構成ノードと同時に被災しない構成ノードの条件として、電力供給源が別系統である条件を含むことを特徴とする請求項4に記載の分散ストレージシステム。   The distributed storage system according to claim 4, wherein the condition of the configuration node that is not damaged simultaneously with the designated configuration node includes a condition that the power supply source is a separate system. 単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、前記任意のデータに対する転送除外条件を付与された際に、条件を付与された構成ノードの論理的接合形態を変更することを特徴とする請求項3に記載の分散ストレージシステム。   When a transfer exclusion condition for the arbitrary data is given to the transfer exclusion rule holding unit of a single or a plurality of configuration nodes, the logical connection form of the configuration nodes to which the conditions are given is changed. The distributed storage system according to claim 3. データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムにおけるデータ配置制御方法であって、
各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納しており、
各構成ノードはまた、
それぞれ論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、
を実行することを特徴とする分散ストレージデータ配置制御方法。
A data placement control method in a distributed storage system in which a plurality of constituent nodes having storage means for holding data are connected via a network,
Each configuration node stores in advance a transfer exclusion rule that holds data conditions that are not transferred to the outside in the transfer exclusion rule holding means.
Each configuration node also
Transferring data to any number of logically connected nodes, each logically connected;
Obtaining the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves as load states;
Calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
Selecting transfer data not corresponding to the transfer exclusion rule from the calculated amount of data to be transferred;
A distributed storage data arrangement control method characterized by executing:
前記各構成ノードは更に、単一あるいは複数の構成ノードの前記転送除外ルール保持手段に対し、任意のデータに対する転送除外条件を付与するステップを実行することを特徴とする請求項8に記載の分散ストレージデータ配置制御方法。   9. The distribution according to claim 8, wherein each of the configuration nodes further executes a step of assigning a transfer exclusion condition for arbitrary data to the transfer exclusion rule holding unit of one or a plurality of configuration nodes. Storage data placement control method. データを保持するための記憶手段を備える複数の構成ノードがネットワークを介して接続された分散ストレージシステムであって各構成ノードは、それぞれ外部に転送しないデータの条件を保持する転送除外ルールをあらかじめ転送除外ルール保持手段に格納している分散ストレージシステムに適用されるデータ配置制御用プログラムであって、
各構成ノードのコンピュータに、論理的に接続された任意の数の論理的接続先ノードに対しデータを転送するステップと、
前記記憶手段のデータ保持状態情報及び前記任意の数の論理的接続先ノードと構成ノード自身の負荷情報を負荷状態として取得するステップと、
取得した負荷状態から転送すべきデータ量を転送先ノード毎に計算するステップと、
計算された転送すべきデータ量から前記転送除外ルールに該当しない転送データを選択するステップと、
を実行させための分散ストレージデータ配置制御用プログラム。
A distributed storage system in which a plurality of configuration nodes having storage means for storing data are connected via a network, and each configuration node transfers a transfer exclusion rule that holds data conditions that are not transferred to the outside in advance. A data placement control program applied to the distributed storage system stored in the exclusion rule holding means,
Transferring data to any number of logically connected nodes logically connected to the computers of each constituent node;
Obtaining the data holding state information of the storage means and the load information of the arbitrary number of logical connection destination nodes and the constituent nodes themselves as load states;
Calculating the amount of data to be transferred from the acquired load state for each transfer destination node;
Selecting transfer data not corresponding to the transfer exclusion rule from the calculated amount of data to be transferred;
Distributed storage data placement control program for executing
JP2012173600A 2012-08-06 2012-08-06 Distributed storage system, distributed storage data allocation control method, and distributed storage data allocation control program Active JP6011786B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012173600A JP6011786B2 (en) 2012-08-06 2012-08-06 Distributed storage system, distributed storage data allocation control method, and distributed storage data allocation control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012173600A JP6011786B2 (en) 2012-08-06 2012-08-06 Distributed storage system, distributed storage data allocation control method, and distributed storage data allocation control program

Publications (2)

Publication Number Publication Date
JP2014032578A true JP2014032578A (en) 2014-02-20
JP6011786B2 JP6011786B2 (en) 2016-10-19

Family

ID=50282347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012173600A Active JP6011786B2 (en) 2012-08-06 2012-08-06 Distributed storage system, distributed storage data allocation control method, and distributed storage data allocation control program

Country Status (1)

Country Link
JP (1) JP6011786B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191497A (en) * 2014-03-28 2015-11-02 株式会社日立製作所 Distributed file system and data availability management control method therefor
JP2016153929A (en) * 2015-02-20 2016-08-25 日本電信電話株式会社 Decentralized system, load decentralizing method, and program
JP2019510302A (en) * 2016-03-09 2019-04-11 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Send data across regions
WO2023005747A1 (en) * 2021-07-28 2023-02-02 阿里云计算有限公司 Data transmission methods and apparatuses, and distributed storage system
JP7443182B2 (en) 2020-07-21 2024-03-05 株式会社日立製作所 Server, server system, and server management method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140836A (en) * 2001-10-30 2003-05-16 Hitachi Ltd Management method for storage system, storage system management program, storage medium and storage system
JP2004126716A (en) * 2002-09-30 2004-04-22 Fujitsu Ltd Data storing method using wide area distributed storage system, program for making computer realize the method, recording medium, and controller in the system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140836A (en) * 2001-10-30 2003-05-16 Hitachi Ltd Management method for storage system, storage system management program, storage medium and storage system
JP2004126716A (en) * 2002-09-30 2004-04-22 Fujitsu Ltd Data storing method using wide area distributed storage system, program for making computer realize the method, recording medium, and controller in the system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016020504; 渡邊 明嗣,外6名: '"分散データ格納環境のための自律的並列偏り除去手法"' 情報処理学会研究報告データベースシステム(DBS) 第2004巻第72号, 20040714, pp. 513-520, 社団法人情報処理学会 *
JPN6016020506; 山川 聡,外2名: '"広域分散ストレージ環境におけるデータ自律再配置制御"' 電子情報通信学会技術研究報告 第105巻第226号, 20050729, pp. 19-24, 社団法人電子情報通信学会 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191497A (en) * 2014-03-28 2015-11-02 株式会社日立製作所 Distributed file system and data availability management control method therefor
JP2016153929A (en) * 2015-02-20 2016-08-25 日本電信電話株式会社 Decentralized system, load decentralizing method, and program
JP2019510302A (en) * 2016-03-09 2019-04-11 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Send data across regions
JP7443182B2 (en) 2020-07-21 2024-03-05 株式会社日立製作所 Server, server system, and server management method
WO2023005747A1 (en) * 2021-07-28 2023-02-02 阿里云计算有限公司 Data transmission methods and apparatuses, and distributed storage system

Also Published As

Publication number Publication date
JP6011786B2 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US9971823B2 (en) Dynamic replica failure detection and healing
AU2014346366B2 (en) Partition-based data stream processing framework
KR101925696B1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
JP6250189B2 (en) Client configurable security options for data streams
US9858322B2 (en) Data stream ingestion and persistence techniques
US9395933B2 (en) Distributed storage system, distributed storage method, and program and storage node for distributed storage
US9705750B2 (en) Executing data stream processing applications in dynamic network environments
Torabi et al. Data replica placement approaches in fog computing: a review
US10389850B2 (en) Managing redundancy among application bundles
JP6011786B2 (en) Distributed storage system, distributed storage data allocation control method, and distributed storage data allocation control program
US10320905B2 (en) Highly available network filer super cluster
US10389794B2 (en) Managing redundancy among application bundles
US10810054B1 (en) Capacity balancing for data storage system
US10019182B2 (en) Management system and management method of computer system
US10474644B2 (en) Systems and methods for optimizing selection of a replication data node in a distributed file system
US10802868B1 (en) Management of transactions from a source node to a target node through intermediary nodes in a replication environment
JP6020803B2 (en) Distributed storage system, distributed storage data movement control method, and distributed storage data movement control program
JP2024514467A (en) Geographically distributed hybrid cloud cluster
JP7260801B2 (en) Backup system and its method and program
JP2019061450A (en) Information processing apparatus, information processing system, and program
Gupta et al. Introduction to Multilayered Cloud Computing
CN113596109A (en) Service request operation method, system, device, equipment and storage medium
JP2013149069A (en) Load distribution method, distribution processing system, distribution processing device, and computer program
JP2019036102A (en) Information processing device, information processing system, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150702

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6011786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150