JP2009289161A - Clustered storage system, node device thereof, and method and program for controlling data read/write - Google Patents
Clustered storage system, node device thereof, and method and program for controlling data read/write Download PDFInfo
- Publication number
- JP2009289161A JP2009289161A JP2008143046A JP2008143046A JP2009289161A JP 2009289161 A JP2009289161 A JP 2009289161A JP 2008143046 A JP2008143046 A JP 2008143046A JP 2008143046 A JP2008143046 A JP 2008143046A JP 2009289161 A JP2009289161 A JP 2009289161A
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- data
- information
- node device
- node
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、クラスタ型ストレージシステムに関する。 The present invention relates to a cluster type storage system.
従来から、分散した複数のデバイスにデータを保存するクラスタ型ストレージシステムがある。このクラスタ型ストレージシステムによれば、デバイスの追加によって、スループット、単位時間あたりのI/O数、データ保存容量を柔軟に向上させることができるという、拡張性(スケーラビリティ)を有している。 Conventionally, there is a cluster type storage system that stores data in a plurality of distributed devices. This cluster type storage system has expandability (scalability) in which throughput, the number of I / Os per unit time, and data storage capacity can be flexibly improved by adding devices.
このクラスタ型ストレージシステムとして、Amazon社が開発したDynamoがある(非特許文献1参照)。このDynamoは、分散ハッシュテーブル(DHT:Distributed Hash Table)を使用し、Key-Valueペアでデータ(コンテンツ)の書き込み先を管理するストレージシステムである。また、このKey-Valueペアとは、コンテンツを保存するときコンテンツキーを付与して保存する方式であり、システムがコンテンツを読み出すときは、コンテンツキーを指定して読み出す。Dynamoでは、DHT空間の均等分割、仮想ノードの導入等により、ノード装置間(デバイス間)の負荷分散を行っている。このDynamoでは、ハッシュ関数HにコンテンツキーKを代入して計算したハッシュ値H(K)によって、コンテンツを保存するデバイスを決定する。ここで、コンテンツを冗長化して保存する場合は、DHT空間上、隣接するデバイス群にコンテンツを複製して保存する。
しかし、非特許文献1の記載によると、Dynamoで30分間の各ノード装置の平均負荷を計測したところ、負荷が平均値の15%になったノード装置の数が、全ノード数の10%〜20%存在する。このような負荷の偏りが生じる原因は様々なものが考えられるが、例えばアプリケーションによる特定のキーのコンテンツに対する集中的なアクセスが挙げられる。具体例を挙げると、コンテンツC1が、DHT空間上隣接する3つのデバイスD1,D2,D3に保存され、別のコンテンツC2が、DHT空間上隣接する3つのデバイスD2,D3,D4に保存されるシステムを考える。このシステムの場合、コンテンツC1,C2に頻繁にアクセスするアプリケーションが出現すると、デバイスD2,D3の負荷が特に高くなり、システム内のデバイス間(ノード装置間)に負荷の偏りが生じるという問題がある。ここで、Dynamoでは冗長化されるデバイスの組み合わせはDHT空間上隣接するデバイスと決められている。よって、負荷の偏りを解消するため、コンテンツを冗長化して保存するデバイスの組み合わせを任意の組み合わせに変更することはできない。
However, according to the description of
本発明は、前記した問題を解決し、複数のデバイスにコンテンツを冗長化して保存するクラスタ型ストレージシステムにおいて、コンテンツの保存先であるデバイスの組み合わせを、任意の組み合わせにできるようにすることを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and to enable any combination of devices as storage destinations of contents in a cluster type storage system for storing contents redundantly in a plurality of devices. And
前記した課題を解決するため請求項1に記載の発明は、データの読み出しおよび書き込みを行うノード装置を複数備え、前記ノード装置の収容する複数のデバイスに前記データを冗長化して記憶するクラスタ型ストレージシステムにおける前記ノード装置であって、
前記データの識別情報であるコンテンツキーのハッシュ値を基に得られた識別情報であるバスケットIDごとに、当該データを記憶する複数の前記デバイスの識別情報を示した配置情報と、前記デバイスの識別情報ごとに、前記デバイスを収容するノード装置の識別情報を示したアドレス情報とを記憶する記憶部と、前記読み出しまたは書き込みの対象となるデータのコンテンツキーを含む、前記データの書き読み要求または読み出し要求の入力を受け付ける入力部と、前記コンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算するハッシュ計算部と、前記計算されたバスケットIDをキーとして、前記配置情報から、前記バスケットIDに対応する前記デバイスの識別情報を検索し、この検索した前記デバイスの識別情報と、前記アドレス情報とを参照して、前記検索した識別情報に対応するデバイスを収容するノード装置の識別情報を特定し、前記特定した識別情報のノード装置へ、当該デバイスへの前記コンテンツキーに対応するデータの読み出し要求または書き込み要求を送信するルーチング部と、前記ノード装置から前記データの読み出し要求または書き込み要求の結果を受信するデータ受信部とを備えることを特徴とする。
In order to solve the above-mentioned problem, the invention according to
For each basket ID that is identification information obtained based on a hash value of a content key that is identification information of the data, arrangement information indicating identification information of a plurality of the devices that store the data, and identification of the device For each piece of information, a write / read request or read of the data, including a storage unit that stores address information indicating identification information of a node device that accommodates the device, and a content key of the data to be read or written From the arrangement information, using an input unit that receives an input of a request, a hash calculation unit that calculates the basket ID corresponding to the content key based on a hash value of the content key, and the calculated basket ID as a key, The identification information of the device corresponding to the basket ID is searched and before this search Referring to the identification information of the device and the address information, the identification information of the node device that accommodates the device corresponding to the searched identification information is specified, and the node device of the identified identification information is transferred to the device A routing unit for transmitting a data read request or a write request corresponding to the content key, and a data receiving unit for receiving a result of the data read request or write request from the node device.
請求項8に記載の発明は、データの読み出しおよび書き込みを行うノード装置を複数備え、前記ノード装置の収容する複数のデバイスに前記データを冗長化して記憶するクラスタ型ストレージシステムにおいて、前記データの識別情報であるコンテンツキーのハッシュ値を基に得られた識別情報であるバスケットIDごとに、当該データを記憶する複数の前記デバイスの識別情報を示した配置情報と、前記デバイスの識別情報ごとに、前記デバイスを収容するノード装置の識別情報を示したアドレス情報とを記憶する記憶部を備える前記ノード装置が、前記読み出しまたは書き込みの対象となるデータのコンテンツキーを含む、前記データの書き読み要求または読み出し要求の入力を受け付けるステップと、前記コンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算するステップと、前記計算されたバスケットIDをキーとして、前記配置情報から、前記バスケットIDに対応する前記デバイスの識別情報を検索するステップと、この検索した前記デバイスの識別情報と、前記アドレス情報とを参照して、前記検索した識別情報に対応するデバイスを収容するノード装置の識別情報を特定するステップと、前記特定した識別情報のノード装置へ、当該デバイスへの前記コンテンツキーに対応するデータの読み出し要求または書き込み要求を送信するステップと、前記ノード装置から前記データの読み出し要求または書き込み要求の結果を受信するステップとを実行することを特徴とするデータの読み出しおよび書き込み制御方法である。 According to an eighth aspect of the present invention, there is provided a cluster type storage system comprising a plurality of node devices that read and write data, wherein the data is stored redundantly in a plurality of devices accommodated in the node device. For each basket ID that is identification information obtained based on the hash value of the content key that is information, for each of the arrangement information indicating the identification information of the plurality of devices storing the data, and for each identification information of the device, The node device including a storage unit that stores address information indicating identification information of a node device that accommodates the device includes a content key of the data to be read or written, A step of accepting an input of a read request, and a hash value of the content key A step of calculating the basket ID corresponding to the content key on the basis, a step of searching for identification information of the device corresponding to the basket ID from the arrangement information using the calculated basket ID as a key, A step of identifying identification information of a node device that accommodates a device corresponding to the retrieved identification information with reference to the retrieved identification information of the device and the address information, and to the node device of the identified identification information Transmitting a data read request or write request corresponding to the content key to the device, and receiving a result of the data read request or write request from the node device. Data read and write control method.
このようにすることで、クラスタ型ストレージシステム(以下、システムと略す)のノード装置は、冗長化するデバイスの識別情報を明示した配置情報を用いて、データの書き込み先(または読み出し先)となるデバイスを決定する。よって、システムの管理者等がこの配置情報を設定することで、各ノード装置が決定するデータの書き込み先(または読み出し先)となるデバイスを自由に設定できる。 By doing so, the node device of the cluster type storage system (hereinafter abbreviated as “system”) becomes the data write destination (or read destination) using the arrangement information that clearly identifies the identification information of the device to be made redundant. Determine the device. Therefore, a system administrator or the like can freely set a device as a data write destination (or read destination) determined by each node device by setting this arrangement information.
請求項2に記載の発明は、請求項1に記載のノード装置が前記入力部経由で、前記データのコンテンツキーと、当該データの記憶先となる複数の前記デバイスの識別情報とを含む前記配置情報の設定情報の入力を受け付けたとき、前記ハッシュ計算部は、前記設定情報に含まれるコンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算し、前記ノード装置は、前記計算されたバスケットIDと、前記設定情報に含まれる前記複数の前記デバイスの識別情報とを対応付けた前記配置情報を作成する配置情報管理部を備えることを特徴とする。 According to a second aspect of the present invention, the node device according to the first aspect includes the content key of the data and identification information of the plurality of devices that are storage destinations of the data via the input unit. When receiving the input of the setting information of information, the hash calculation unit calculates the basket ID corresponding to the content key based on the hash value of the content key included in the setting information, the node device, An arrangement information management unit that creates the arrangement information in which the calculated basket ID is associated with the identification information of the plurality of devices included in the setting information is provided.
このようにすることで、システムの管理者等は、各ノード装置が決定するデータの書き込み先(または読み出し先)となるデバイスを自由に設定できる。 By doing so, a system administrator or the like can freely set a device as a data write destination (or read destination) determined by each node device.
請求項3に記載の発明は、請求項2に記載のノード装置において、前記データの記憶先となるデバイスを変更するため、前記入力部経由で、前記変更対象となるデータのコンテンツキーと、当該データの新たな記憶先となるデバイスの識別情報とを含む変更情報の入力を受け付けたとき、前記配置情報管理部は、前記ハッシュ計算部により計算された前記変更対象となるデータのコンテンツキーに対応するバスケットIDをキーとして、前記配置情報から、当該バスケットIDに対応する前記デバイスの識別情報を検索し、前記配置情報における、当該検索したデバイスの識別情報を、前記新たな記憶先となるデバイスの識別情報に変更し、前記ルーチング部は、前記デバイスの識別情報を検索するとき、前記変更した配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする。 According to a third aspect of the present invention, in the node device according to the second aspect, in order to change the device that is the storage destination of the data, the content key of the data to be changed via the input unit, When receiving input of change information including identification information of a device that is a new storage destination of data, the arrangement information management unit corresponds to the content key of the data to be changed calculated by the hash calculation unit The identification information of the device corresponding to the basket ID is searched from the arrangement information using the basket ID as a key, and the identification information of the searched device in the arrangement information is stored in the new storage destination device. Change to identification information, when the routing unit searches for the identification information of the device, referring to the changed arrangement information, Wherein the retrieving the identity of the serial device.
請求項9に記載の発明は、請求項8のデータの読み出しおよび書き込み制御方法において、前記ノード装置が、前記データの記憶先となるデバイスを変更するため、前記変更対象となるデータのコンテンツキーと、当該データの新たな記憶先となるデバイスの識別情報とを含む変更情報の入力を受け付けたとき、前記変更対象となるデータのコンテンツキーに対応するバスケットIDを計算するステップと、前記計算されたバスケットIDをキーとして、前記配置情報から、当該バスケットIDに対応する前記デバイスの識別情報を検索するステップと、前記配置情報における、当該検索したデバイスの識別情報を、前記新たな記憶先となるデバイスの識別情報に変更するステップとを実行し、前記デバイスの識別情報を検索するとき、前記変更した配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする。 According to a ninth aspect of the present invention, in the data read / write control method according to the eighth aspect, since the node device changes a device that is a storage destination of the data, the content key of the data to be changed And calculating the basket ID corresponding to the content key of the data to be changed when the input of the change information including the identification information of the device as the new storage destination of the data is received, and the calculated Using the basket ID as a key, the step of searching the device identification information corresponding to the basket ID from the placement information, and the device information that becomes the new storage destination of the device identification information in the placement information When the device identification information is searched for, Referring to further the arrangement information, characterized by searching for identification information of the device.
このようにすることで、例えば、システム内の処理負荷の偏りの解消のため、管理者等が処理負荷の大きいノードのデバイスに記憶されているデータを、比較的処理負荷の小さいノードのデバイスへ移行した場合、この配置情報に、当該データの記憶先としてこの移行先のデバイスに設定しておけば、データ移行後、ノード装置にこの移行先のデバイスに対し読み出し処理や書き込み処理を実行させることができる。 In this way, for example, in order to eliminate the uneven processing load in the system, the data stored in the node device with a high processing load by the administrator or the like is transferred to the node device with a relatively low processing load. If the migration is performed, if the migration destination device is set as the storage destination of the data in the arrangement information, the node device is allowed to execute read processing and write processing on the migration destination device after data migration. Can do.
請求項4に記載の発明は、請求項1ないし請求項3のいずれか1項に記載のノード装置において、他の前記ノード装置から前記データの読み出し要求または書き込み要求を受信したとき、自身の前記ノード装置の備えるデバイスに記憶される前記データに対し、前記読み出しまたは書き込み処理を実行し、その実行結果を、前記データの読み出し要求または書き込み要求の送信元であるノード装置へ送信するデータ送信部を備えることを特徴とする。 According to a fourth aspect of the present invention, in the node device according to any one of the first to third aspects, when the data read request or write request is received from another node device, A data transmission unit that executes the read or write process on the data stored in a device included in the node apparatus, and transmits the execution result to the node apparatus that is a transmission source of the data read request or write request; It is characterized by providing.
このようにすることで、他のノード装置からデータの読み出し要求または書き込み要求を受信した場合でも、この要求に応じた処理を実行し、その実行結果を相手方のノード装置へ返すことができる。 In this way, even when a data read request or write request is received from another node device, it is possible to execute processing according to this request and return the execution result to the other node device.
請求項5に記載の発明は、請求項2ないし請求項4のいずれか1項に記載のノード装置の前記配置情報管理部が、前記記憶部における前記配置情報が変更されたとき、前記クラスタ型ストレージシステム内の他のノード装置へ、前記変更後の配置情報を送信し、他のノード装置から、変更後の配置情報を受信したとき、前記変更後の配置情報を前記記憶部に記憶し、前記ルーチング部は、前記デバイスの識別情報を検索するとき、前記変更後配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする。 According to a fifth aspect of the present invention, when the arrangement information management unit of the node device according to any one of the second to fourth aspects changes the arrangement information in the storage unit, the cluster type Sending the changed placement information to other node devices in the storage system, and receiving the changed placement information from the other node devices, storing the changed placement information in the storage unit, The routing unit searches for the identification information of the device with reference to the changed arrangement information when searching for the identification information of the device.
このようにすることで、システムのいずれかのノード装置で配置情報が変更されたとき、各ノード装置がそれぞれ、この変更された配置情報に基づきデータの読み出し先または書き込み先を決定できる。 In this way, when the placement information is changed in any node device of the system, each node device can determine the data read destination or write destination based on the changed placement information.
請求項6に記載の発明は、請求項1ないし請求項5のいずれか1項に記載のノード装置を複数備えることを特徴とするクラスタ型ストレージシステムとした。 According to a sixth aspect of the present invention, there is provided a cluster type storage system comprising a plurality of node devices according to any one of the first to fifth aspects.
このようにすることで、請求項1ないし請求項5のいずれか1項に記載のノード装置によりクラスタ型ストレージシステムを実現できる。
By doing so, a cluster storage system can be realized by the node device according to any one of
請求項7に記載の発明は、請求項6に記載のクラスタ型ストレージシステムが、前記前記クラスタ型ストレージシステム内の前記ノード装置それぞれにおける処理負荷を監視する監視装置をさらに備え、前記監視装置において、前記ノード装置間の処理負荷の偏りを検出したとき、前記ノード装置は、前記配置情報において、前記処理負荷が比較的高い前記ノード装置に収容されるデバイスの識別情報に対応するバスケットIDについて、このバスケットIDに対応するデバイスの識別情報を、前記処理負荷が比較的低い前記ノード装置に収容されるデバイスの識別情報へ変更することを特徴とする。 According to a seventh aspect of the invention, the cluster type storage system according to the sixth aspect further includes a monitoring device that monitors a processing load in each of the node devices in the cluster type storage system, When detecting a bias in processing load between the node devices, the node device uses the placement information for a basket ID corresponding to identification information of a device accommodated in the node device having a relatively high processing load. The device identification information corresponding to the basket ID is changed to device identification information accommodated in the node device having a relatively low processing load.
このようにすることで、システムのノード装置間に処理負荷の偏りが生じた場合、ノード装置が自動で配置情報の変更を行うことができる。よってシステムのノード装置間に処理負荷の偏りが生じた場合の配置情報の変更の手間を軽減できる。 By doing in this way, when the processing load is uneven between the node devices of the system, the node device can automatically change the arrangement information. Therefore, it is possible to reduce the trouble of changing the arrangement information when the processing load is uneven between the node devices of the system.
請求項10に記載の発明は、請求項8または請求項9に記載のデータの読み出しおよび書き込み制御方法を、コンピュータである前記ノード装置に実行させるためのプログラムである。
The invention described in
このようなプログラムによれば、一般的なコンピュータに請求項8または請求項9に記載のデータの読み出しおよび書き込み制御方法を実行させることができる。
According to such a program, it is possible to cause a general computer to execute the data read and write control method according to
本発明によれば、複数のデバイスにコンテンツを冗長化して保存するクラスタ型ストレージシステム(システム)において、コンテンツの保存(記憶)先であるデバイスの組み合わせを管理者等が任意に設定可能となる。よって、デバイス間に負荷の偏りが発生したとき、その負荷の偏りの軽減のため、コンテンツの記憶先であるデバイスの変更を行いやすくなる。また、システムの運用環境に合わせて、当該コンテンツの保存先であるデバイスの組み合わせをシステムの管理者等が任意に設定できるので、システムのアベイラビリティを向上させることができる。 According to the present invention, in a cluster type storage system (system) in which contents are stored redundantly in a plurality of devices, an administrator or the like can arbitrarily set a combination of devices that are contents storage (storage) destinations. Therefore, when load imbalance occurs between devices, it is easy to change the device that is the storage destination of the content in order to reduce the load imbalance. In addition, the system administrator can arbitrarily set a combination of devices as storage destinations of the content according to the system operating environment, so that the system availability can be improved.
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。 Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described.
≪概要≫
まず、図1を用いて本実施の形態のクラスタ型ストレージシステムの概要を説明する。図1は、本実施の形態のクラスタ型ストレージシステムの構成例を示した図である。
≪Overview≫
First, an overview of the cluster type storage system of this embodiment will be described with reference to FIG. FIG. 1 is a diagram showing a configuration example of a cluster type storage system according to the present embodiment.
図1に示すように、クラスタ型ストレージシステム(以下、システムと略す)は複数のノード装置100(100A,100B,100C,100D)を含んで構成される。ここでは、同じコンテンツキー(コンテンツの識別情報)に対応するコンテンツが、3つのデバイス110(110C,110E,110G)に冗長化されて保存されている場合を例に説明する。ここでは、この3つのデバイス110(110C,110E,110G)は、それぞれノード装置100B,100C,100D内のデバイス110であるものとする。
As shown in FIG. 1, a cluster storage system (hereinafter abbreviated as “system”) includes a plurality of node devices 100 (100A, 100B, 100C, 100D). Here, a case where contents corresponding to the same content key (content identification information) are redundantly stored in three devices 110 (110C, 110E, 110G) will be described as an example. Here, it is assumed that the three devices 110 (110C, 110E, and 110G) are the
クライアント装置20は、システムにアクセスするためのアプリケーションを備える端末装置である。各ノード装置100は、このクライアント装置20からのアクセスを受け付けると、このクライアント装置20からデータ(コンテンツ)の読み出し要求または書き込み要求に基づき、所定のノード装置100に対しコンテンツの読み出しまたは書き込みを行う。
The
このようなクラスタ型ストレージシステムにおいて、各ノード装置100はそれぞれ、当該コンテンツの記憶先を示した配置情報131と、デバイス110が収容されるノード装置100のIPアドレス等の識別情報を示したアドレス情報132とを備える。なお、この配置情報131が更新されたとき、この更新された配置情報131は、ノード装置100は、他の各ノード装置100へこの更新された配置情報131を送信する。そして、各ノード装置100はこの更新後の配置情報131を基に当該コンテンツの読み出し先または書き込み先となるデバイス110を決定する。
In such a cluster-type storage system, each
例えば、ノード装置100Aが、クライアント装置20から、コンテンツキー(K)を指定した読み書き要求(コンテンツの読み出し要求または書き込み要求)を受け付けると、このコンテンツキー(K)をハッシュ関数Hに代入してバスケットID(例えば、「1」)を計算する。そして、ノード装置100Aは、この計算したバスケットID(例えば、「1」)をキーとして、この配置情報131から、このバスケットIDに対応するデバイスID(例えば、「110C,110E,110G」)を検索する。また、ノード装置100Aは、アドレス情報132を参照して、この検索したデバイスIDに対応するデバイス110を収容するノード装置100のノードID(ノード装置100のIPアドレス等)を特定する。そして、この特定したノード装置100のデバイス110それぞれに対し当該コンテンツの読み書き要求を送信する。そして、ノード装置100Aは、ノード装置100B,100C,100Dから、その読み書き要求に対する実行結果を受信すると、この実行結果をクライアント装置20へ返す。
For example, when the
ここで、各ノード装置100の備える配置情報131は、図1に例示するようにバスケットIDごとに、このバスケットIDに対応する1以上のデバイスID(デバイス110の識別情報)を示した情報である。このバスケットIDは、前記したコンテンツキー(K)をハッシュ関数Hに代入して得られた値、H(K)である。なお、このようなハッシュ関数を用いてバスケットIDを決めるのは、システム内のバスケット間で負荷の偏りがないようにするためである。
Here, the
なお、本実施の形態の配置情報131のバスケットIDに対応するデバイスID群は、入出力部11経由の指示入力により設定可能である。つまり、従来のクラスタ型ストレージシステムにおいて、コンテンツを複数のデバイスに冗長化して保存する場合、そのデバイスの組み合わせはDHT空間上隣接するデバイスとしかできなかった。しかし、本システムのノード装置100によれば、コンテンツを複数のデバイスに冗長化して保存する場合、このデバイスの組み合わせは管理者等が任意に設定可能である。よって、システム内のデバイス間でデータの移行等が行いやすくなる。
Note that the device ID group corresponding to the basket ID in the
≪構成≫
引き続き図1を用いて、ノード装置100の構成を説明する。図1に示すようにノード装置100は、1以上のデバイス110と、コンテンツ管理部10とを備える。このデバイス110は、前記したコンテンツキー(K)およびバスケットIDごとにコンテンツを記憶する。このデバイス110は、例えばHDD(Hard Disk Drive)等により実現される。また、コンテンツ管理部10は、クライアント装置20からコンテンツの読み出し要求または書き込み要求(以下、適宜「読み書き要求」と略す)を受け付けたとき、配置情報131を参照して、このコンテンツが保存されるデバイス110を検索する。この検索したデバイス110に対し、当該コンテンツの読み書き処理(読み出し処理または書き込み処理)を実行する。また、コンテンツ管理部10は、クライアント装置20等からの設定指示に基づき配置情報131の更新や作成を行ったり、この配置情報131を他のノード装置100との間で交換したりする。
≪Configuration≫
The configuration of the
このようなコンテンツ管理部10は、入出力部11と、処理部12と、記憶部13とを備える。
Such a
入出力部11は、他のノード装置100やクライアント装置20との間の通信を行うための通信インタフェースから構成される。また、処理部12は、このノード装置100が備えるCPU(Central Processing Unit)によるプログラム実行処理により実現される。さらに、記憶部13は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体から構成される。なお、記憶部13には、このノード装置100の機能を実現するためのプログラムが格納される。
The input /
入出力部(入力部および出力部)11は、コンテンツキーを含むコンテンツの読み書き要求の入力を受け付けたり、配置情報131の設定指示の入力を受け付けたりする。また、他のノード装置100との間でコンテンツの送受信や、読み書き処理の結果の送受信を行ったりする。
The input / output unit (input unit and output unit) 11 receives an input of a content read / write request including a content key, or receives an input of a setting instruction for the
処理部12は、ノード装置100のデバイス110に対し読み書き処理を実行したり、配置情報131を作成したりする。このような処理部12は、ハッシュ計算部121と、配置情報管理部122と、アドレス情報管理部123と、ルーチング部124と、データ受信部125と、データ送信部126とを含んで構成される。
The
ハッシュ計算部121は、コンテンツキー(K)をハッシュ関数Hに代入して、ハッシュ値H(K)を計算する。
The
配置情報管理部122は、入出力部11からの設定入力に基づき新規に配置情報131を作成したり、既存の配置情報131の内容を変更したりする。例えば、新規に配置情報131を作成するとき、配置情報管理部122は、コンテンツのコンテンツキーと、このコンテンツを冗長化して保存する複数のデバイス110のデバイスIDとを含む設定入力を受け付けたとき、ハッシュ計算部121は、このコンテンツキーのハッシュ値を基にバスケットIDを計算する。そして、配置情報管理部122は、このバスケットIDと、この設定入力に含まれるデバイスIDとを対応付けて配置情報131を作成する。また、この配置情報管理部122は、既存の配置情報131の内容を変更するときには以下のようにする。まず、配置情報管理部122は、変更対象となるコンテンツのコンテンツキーと、このコンテンツの新たな記憶先となるデバイス110のデバイスIDとを含む変更情報の入力を受け付けると、ハッシュ計算部121は、このコンテンツのコンテンツキーに対応するバスケットIDを計算する。そして、配置情報管理部122は、このバスケットIDをキーとして、配置情報131から、当該バスケットIDに対応するデバイスIDを検索する。そして、このデバイスIDに対応するデバイス110を、新たな記憶先となるデバイス110のデバイスIDに書き換える。さらに、この配置情報管理部122は、自身のノード装置100で作成した配置情報131を他のノード装置100へ送信したり、他のノード装置100から配置情報131を受信したりする。つまり、ノード装置100間での配置情報131の交換を行う。なお、作成または更新された配置情報131や、他のノード装置100から受信した配置情報131は、記憶部13に記憶される。
The arrangement
アドレス情報管理部123は、入出力部11からの入力に基づきアドレス情報132の内容を更新する。
The address
ルーチング部124は、入出力部11経由で、クライアント装置20から処理対象のコンテンツのコンテンツキー(K)を含むコンテンツの読み書き要求の入力を受け付けたとき、ハッシュ計算部121によりこのコンテンツキーのハッシュ値H(K)を計算する。そして、このハッシュ値H(K)から、このコンテンツキー(K)に対応するバスケットIDを求める。ここでは、ハッシュ値H(K)をそのままバスケットIDとして用いる場合を例に説明する。
When the
ルーチング部124は、配置情報131からこのバスケットIDに対応するデバイスIDを検索する。そして、ルーチング部124は、このデバイスIDに対応するデバイス110を収容するノード装置100のノードIDをアドレス情報132から検索する。そして、ルーチング部124は、検索したノードIDに対応するノード装置100へ、当該デバイスIDに対応するデバイス110に記憶されるコンテンツの読み書き要求を送信する。なお、このルーチング部122は、記憶部13の配置情報131が変更されたとき、この変更された配置情報131を参照してデバイスIDを検索する。
The
また、このルーチング部124が送信する読み出し要求は、コンテンツの読み出し先であるデバイス110のデバイスID、バスケットID、コンテンツキー(K)等を含む。また、書き込み要求は、コンテンツの書き込み先であるデバイス110のデバイスID、バスケットID、コンテンツキー(K)に加え、書き込み内容であるデータと、クライアント装置20からこの書き込み要求を受信した時刻であるタイムスタンプとを含む。このタイムスタンプは、例えば「20070501100015(2007年5月1日10時00分15秒)」等である。
Further, the read request transmitted by the
データ受信部125は、他のノード装置100からコンテンツの読み書き要求の応答を受信する。受信した応答は、記憶部13のRAM等に記憶しておく。
The
データ送信部126は、他のノード装置100からコンテンツの読み書き要求を受信したとき、デバイス110に記憶される当該コンテンツの読み出し処理または書き込み処理を実行する。そして、その処理結果を、この読み書き要求の送信元であるノード装置100へ返す。
When the
なお、このコンテンツの読み書き要求の送信およびその要求結果(応答結果やコンテンツ等を含む)に用いられるプロトコルは、例えば、HTTP(HyperText Transfer Protocol)またはHTTPに相当するデータ通信プロトコルを用いる。 The protocol used for transmitting the content read / write request and the request result (including the response result and content) uses, for example, HTTP (HyperText Transfer Protocol) or a data communication protocol corresponding to HTTP.
記憶部13は、配置情報131と、アドレス情報132とを記憶する。
The
配置情報131は、前記したとおり、バスケットIDごとに、このバスケットIDに対応するコンテンツを記憶するデバイス110のデバイスIDを示した情報である。例えば、図1に例示するシステムにおいて、バスケットID「1」に対応するコンテンツを、デバイス110C,110E,110Gに冗長化して保存し、バスケットID「2」に対応するコンテンツを、デバイス110D,110F,110Hに冗長化して保存する場合、配置情報131のバスケットID「1」に対応するデバイスIDとして「110C,110E,110G」を設定しておく。また、この配置情報131のバスケットID「2」に対応するデバイスIDとして「110D,110F,110H」を設定しておく。
As described above, the
アドレス情報132は、デバイスIDごとに、そのデバイスIDに対応するデバイス110を収容するノード装置100のノードIDを示した情報である。なお、このノードIDは、IPアドレスとポート番号との組み合わせで記述するようにしてもよい。
The
なお、図1において、コンテンツ管理部10とデバイス110とは同じノード装置100内に含まれるものとして説明したが、これらを別個の装置として実現するようにしてもよい。
In FIG. 1, the
≪処理手順≫
次に、図1を参照しつつ、図2を用いてノード装置100の処理手順を説明する。図2は、図1のノード装置が他のノード装置へコンテンツの読み書き要求を送信する手順を示した図である。ここでは、クライアント装置20からのコンテンツの読み書き要求を受け付けたノード装置100Aが、このコンテンツを保存するデバイス110C,110E,110Gへ当該コンテンツの読み書き要求を送信する場合を例に説明する。
≪Processing procedure≫
Next, the processing procedure of the
まず、ノード装置100Aのルーチング部124(図1参照)は、クライアント装置20からコンテンツの読み出し要求または書き込み要求(読み書き要求)を受信する(S101)。なお、読み出し要求は、読み出し対象であるコンテンツのコンテンツキー(K)を含む。書き込み要求は、書き込み対象であるコンテンツのコンテンツキー(K)と、書き込み内容を示すデータとを含む。
First, the routing unit 124 (see FIG. 1) of the
ノード装置100Aのハッシュ計算部121(図1参照)は、受信したコンテンツキー(K)を基にバスケットIDを計算する(S102)。そして、ルーチング部124は、この計算したバスケットIDと配置情報131とを参照して、このコンテンツの書き込み先であるデバイス110C,110E,110GのデバイスIDを検索する(S103)。次に、ルーチング部124は、検索したデバイスIDをキーとしてアドレス情報132から、このデバイスIDに対応するデバイス110(デバイス110C,110E,110G)を収容するノード装置100(ノード装置100B,100C,100D)のアドレス(ノードID)を検索する(S104)。
The hash calculator 121 (see FIG. 1) of the
そして、ルーチング部124は、この検索したアドレスを基に、このコンテンツの書き込み先であるデバイス110C,110E,110Gを収容するノード装置100B,100C,100Dへ、当該コンテンツの読み出し要求または書き込み要求(読み書き要求)を送信する(S105)。なお、ここで送信する読み出し要求は、前記したとおり、デバイスID、バスケットID、コンテンツキー(K)を含むものである。また、書き込み要求は、デバイスID、バスケットID、コンテンツキー(K)、書き込み内容を示すデータに加え、この書き込み要求を受け付けた日時を示すタイムスタンプを含む。
Then, based on the retrieved address, the
次に、図1を参照しつつ、図3を用いて、図2に示す手順によりコンテンツの読み書き要求を送信したノード装置100Aが、クライアント装置20へその読み書き要求の応答を返すときの処理手順を説明する。図3(a)は、図1のノード装置が、コンテンツの読み書き要求に対する応答をクライアント装置へ送信する手順を示した図であり、図3(b)は、(a)におけるS202の処理を概念的に示した図である。
Next, referring to FIG. 1, using FIG. 3, a processing procedure when the
図2においてノード装置100Aからコンテンツの読み出し要求または書き込み要求(読み書き要求)を受信したノード装置100B,100C,100Dは、データ送信部126(図1参照)により、このコンテンツの読み出し要求または書き込み要求(読み書き要求)に対する応答をノード装置100Aへ送信する(S201)。
In FIG. 2, the
そして、ノード装置100Aのデータ受信部125は、ノード装置100B,100C,100Dから、この読み出し要求または書き込み要求(読み書き要求)に対する応答を受信する。ここで、ルーチング部124には、データ受信部125で受信した応答の数が所定の定足数を充足したと判断したとき(S202)、この受信した応答をクライアント装置20へ返す。なお、図3(a)に示すように読み出し要求に対する応答および書き込み要求に対する応答は、それぞれ当該要求に基づく処理の結果(処理の成功または失敗)を示したものである。なお、読み出し処理に成功した場合、その応答には、読み出したコンテンツが含まれる。
Then, the
このようにすることで、例えば、当該コンテンツを記憶するノード装置100の数が多数であった場合でも、そのノード装置100すべてから応答を待たずにクライアント装置20へ応答を返すことができる。
By doing so, for example, even when the number of
ここで、図3(b)を用いてS202における定足数充足の判断処理を、具体例を用いて説明する。ここでは、読み出し要求または書き込み要求(読み書き要求)を送信したノード装置100の数が「4」であり、定足数を「2」とした場合を例に説明する。
Here, the quorum satisfaction determination process in S202 will be described using a specific example with reference to FIG. Here, an example will be described in which the number of
例えば、書き込み要求の場合、ノード装置100から、他のノード装置100へ書き込み要求を送信し、この要求に対する結果OK(成功)の受信数が「2」に達したとき、この時点でノード装置100はクライアント装置20へOKを返送する(例1、例2参照)。つまり、受信した応答の中に結果NGが含まれていた場合、この結果NGの応答はカウントせず、結果OKの応答の受信数が「2」に達した時点でノード装置100はクライアント装置20へOKを返送する(例2参照)。そして、今まで受信した書き込み要求に対する応答をクライアント装置20へ送信する。このように結果OKの応答の受信数が「2」に達した後、ノード装置100が応答を受信しても、その応答については無視する。なお、この書き込み要求に関する定足数は、冗長化されたデバイス110の数そのものでもよいし、冗長化されたデバイス110よりも少ない数であってもよい。
For example, in the case of a write request, a write request is transmitted from the
また、読み出し要求の場合、ノード装置100から、他のノード装置100へ読み出し要求を送信し、最新のタイムスタンプ(例えば「Time=3」)を持つコンテンツの受信数が「2」に達した時点でノード装置100はクライアント装置20へOKを返送する(例3、例4参照)。つまり、(1)受信した応答の中に結果NGのものが含まれていた場合、および、(2)タイムスタンプの値が最新のものではないコンテンツ(例えば「Time=2」)が含まれていた場合(例4参照)、この応答はカウントしない。そして、この最新のタイムスタンプを持つコンテンツの受信数が「2」に達した時点で、ノード装置100はクライアント装置20へOKを返送する。そして、今まで受信したコンテンツをクライアント装置20へ送信する。ここで、結果OKの応答の受信数が「2」に達した後、ノード装置100が受信した応答については、ノード装置100はこの応答をクライアント装置20へ返さない。なお、ノード装置100において最新のコンテンツの受信数が「2」に達する前にコンテンツ受信処理が終了した場合、受信した分のコンテンツをクライアント装置20へ返すようにしてもよい。
In the case of a read request, when a read request is transmitted from the
≪具体例≫
次に、図4を用いて、クラスタ型ストレージシステムのノード装置100に負荷の集中が起こった場合における、配置情報131の書き換えについて、具体例を用いて説明する。図4(a)は、本実施の形態のクラスタ型ストレージシステムにおいて各ノード装置の収容するデバイスおよび各ノード装置における負荷の相対比率を例示した図である。図4(b)は、書き換え前の配置情報と、書き換え後の配置情報とを例示した図である。
≪Specific example≫
Next, rewriting of the
ここでは、クラスタ型ストレージシステムにおいてデータセンタA,B,Cがそれぞれ図4に示すようなデバイスを収容するノード装置100(100A〜100L)を備えている場合を例に説明する。このときの各ノード装置100の配置情報131の内容は、図4(b)の配置情報131Aに示すとおりである。各ノード装置100の左に付記された数値は、このクラスタ型ストレージシステムの各ノード装置100における負荷の相対的比率を示す。このようなクラスタ型ストレージシステムにおいて、ノード装置100C,100G,100Kの負荷が比較的高く(負荷の相対的比率「2」)、ノード装置100D,100H,100Lの負荷が比較的低く(相対的比率「0.67」)なったとする。
Here, a case where the data centers A, B, and C each include a node device 100 (100A to 100L) that accommodates devices as shown in FIG. 4 in the cluster type storage system will be described as an example. The contents of the
このような状態において、ノード装置100間の負荷の偏りを解消するためには、図4(a)のノード装置100C,100G,100Kの負荷を従来の1/2倍とし、ノード装置100D,100H,100Lの負荷を従来の3/2倍とすればよい。そのためには、例えば、バスケットID「12,13」に対応するコンテンツの書き込み先を、それぞれデバイス041,141,241およびデバイス042,142,242に変更すればよい。このような変更に伴い、配置情報管理部122は、管理者等の指示入力に基づき、配置情報131Bを作成する。この配置情報131Bは、配置情報131AにおけるバスケットID「12,13」のコンテンツの書き込み先をノード装置100C,100G,100Kから、ノード装置100C,100G,100Kに書き換えたものである。そして、この書き換え後の配置情報131Bは各ノード装置100へ伝播し、当該バスケットIDに対応するコンテンツに対する読み書き処理は、配置情報131Bに示されるノード装置100に対し行われるようになる。
In such a state, in order to eliminate the load imbalance between the
このようにすることで、各ノード装置100に冗長化してコンテンツを保存するシステムにおいて特定のノード装置100(またはデバイス110)に負荷が集中した場合、その負荷の集中を解消するように配置情報131を書き換えることができる。
In this way, when load is concentrated on a specific node device 100 (or device 110) in a system that stores the contents redundantly in each
また、このような場合以外にも、配置情報131の各バスケット(バスケットID)に対応するデバイスIDは、管理者等が書き換え可能である。よって、コンテンツを冗長化して保存するデバイス110の組み合わせをシステムの運用環境に合わせて、DHT空間上で自由に選択することができる。
In addition to this case, the device ID corresponding to each basket (basket ID) in the
なお、システム内に、ノード装置100それぞれにおける処理負荷を監視する監視装置を設けてもよい。そして、この監視装置において、ノード装置100間の処理負荷の偏りを検出したとき、この処理負荷の値をノード装置100へ送信する。そして、ノード装置100は、この処理負荷の値を参照して、配置情報131において、処理負荷が比較的高いノード装置100に対応するバスケットの数を低減し、処理負荷が比較的低いノード装置100に対応するバスケットの数を増加させるようにしてもよい。例えば、ノード装置100は、配置情報131において、処理負荷が比較的高いノード装置100のデバイス110に対応するバスケットIDについて、このバスケットIDに対応するデバイス110を、処理負荷が比較的低いノード装置100のデバイス110へ変更するようにしてもよい。
A monitoring device that monitors the processing load in each
また、前記した配置情報131に用いられるバスケットIDは、コンテンツキー(K)のハッシュ値H(K)としたが、これに限定されない。例えば、管理者等が用意しておきたいバスケット数よりも充分多い種類のハッシュ値が得られるハッシュ関数H’によりハッシュ値H’(K)を得て、そのマスク値をバスケットIDとしてもよい。従って、バスケット数が216個必要である場合、232種類のハッシュ値が得られるハッシュ関数CRC32によってコンテンツキー(K)のハッシュ値を得て、その下位16ビットのマスク値をバスケットIDとしてもよい。
The basket ID used for the
また、デバイス110内にコンテンツを保存(記憶)する方法は様々な方法が考えられる。例えば、(1)デバイス110内に1つのデータベースを置き、そのデータベースにバスケットIDと、コンテンツキー(K)と、コンテンツとを関連付けて保存してもよいし、(2)デバイス110内にバスケットIDごとにデータベースを置き、そのデータベースそれぞれにおいてコンテンツキー(K)とコンテンツとを関連付けて保存してもよい。また、(3)バスケットID、コンテンツキー(K)をディレクトリ名やファイル名として、コンテンツをファイルシステムに保存するようにしてもよい。
Various methods are conceivable for storing (storing) content in the
10 コンテンツ管理部
11 入出力部
12 処理部
13 記憶部
20 クライアント装置
100(100A,100B,100C,100D)ノード装置
110(110C,110D,110E,110F,110G,110H) デバイス
121 ハッシュ計算部
122 配置情報管理部
123 アドレス情報管理部
124 ルーチング部
125 データ受信部
126 データ送信部
131(131A,131B) 配置情報
132 アドレス情報
DESCRIPTION OF
Claims (10)
前記データの識別情報であるコンテンツキーのハッシュ値を基に得られた識別情報であるバスケットIDごとに、当該データを記憶する複数の前記デバイスの識別情報を示した配置情報と、前記デバイスの識別情報ごとに、前記デバイスを収容するノード装置の識別情報を示したアドレス情報とを記憶する記憶部と、
前記読み出しまたは書き込みの対象となるデータのコンテンツキーを含む前記データの書き読み要求または読み出し要求を受け付ける入力部と、
前記コンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算するハッシュ計算部と、
前記計算されたバスケットIDをキーとして、前記配置情報から、前記バスケットIDに対応する前記デバイスの識別情報を検索し、この検索した前記デバイスの識別情報と、前記アドレス情報とを参照して、前記検索した識別情報に対応するデバイスを収容するノード装置の識別情報を特定し、前記特定した識別情報のノード装置へ、当該デバイスへの前記コンテンツキーに対応するデータの読み出し要求または書き込み要求を送信するルーチング部と、
前記ノード装置から前記データの読み出し要求または書き込み要求の結果を受信するデータ受信部とを備えることを特徴とするノード装置。 The node device in a cluster type storage system comprising a plurality of node devices for reading and writing data, and storing the data redundantly in a plurality of devices accommodated in the node device,
For each basket ID that is identification information obtained based on a hash value of a content key that is identification information of the data, arrangement information indicating identification information of a plurality of the devices that store the data, and identification of the device For each information, a storage unit that stores address information indicating identification information of a node device that accommodates the device;
An input unit that receives a request to read or write the data including a content key of the data to be read or written;
A hash calculator that calculates the basket ID corresponding to the content key based on the hash value of the content key;
Using the calculated basket ID as a key, the device identification information corresponding to the basket ID is retrieved from the arrangement information, and the retrieved device identification information and the address information are referred to. The identification information of the node device that accommodates the device corresponding to the searched identification information is specified, and the data read request or write request corresponding to the content key to the device is transmitted to the node device of the specified identification information. A routing section;
A node device, comprising: a data receiving unit that receives a result of the data read request or write request from the node device.
前記ハッシュ計算部は、前記設定情報に含まれるコンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算し、
前記ノード装置は、
前記計算されたバスケットIDと、前記設定情報に含まれる前記複数の前記デバイスの識別情報とを対応付けた前記配置情報を作成する配置情報管理部を備えることを特徴とする請求項1に記載のノード装置。 When receiving the setting information of the arrangement information including the content key of the data and the identification information of the plurality of devices serving as storage destinations of the data via the input unit,
The hash calculation unit calculates the basket ID corresponding to the content key based on a hash value of the content key included in the setting information,
The node device is
2. The arrangement information management unit according to claim 1, further comprising an arrangement information management unit that creates the arrangement information in which the calculated basket ID is associated with identification information of the plurality of devices included in the setting information. Node device.
前記配置情報管理部は、前記ハッシュ計算部により計算された前記変更対象となるデータのコンテンツキーに対応するバスケットIDをキーとして、前記配置情報から、当該バスケットIDに対応する前記デバイスの識別情報を検索し、前記配置情報における、当該検索したデバイスの識別情報を、前記新たな記憶先となるデバイスの識別情報に変更し、
前記ルーチング部は、前記デバイスの識別情報を検索するとき、前記変更した配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする請求項2に記載のノード装置。 Input of change information including the content key of the data to be changed and the identification information of the device to be the new storage destination of the data via the input unit in order to change the device as the data storage destination When you accept
The arrangement information management unit uses the basket ID corresponding to the content key of the data to be changed calculated by the hash calculation unit as a key, and from the arrangement information, identifies the device identification information corresponding to the basket ID. Search and change the identification information of the searched device in the arrangement information to the identification information of the device as the new storage destination,
The node device according to claim 2, wherein the routing unit searches for the identification information of the device with reference to the changed arrangement information when searching for the identification information of the device.
前記ルーチング部は、前記デバイスの識別情報を検索するとき、前記変更後の配置情報を含む前記記憶部に記憶された配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする請求項2ないし請求項4のいずれか1項に記載のノード装置。 When the placement information in the storage unit is changed, the placement information management unit transmits the changed placement information to another node device in the cluster storage system, and the change is made from the other node device. When the later arrangement information is received, the changed arrangement information is stored in the storage unit,
The routing unit searches the device identification information with reference to the arrangement information stored in the storage unit including the changed arrangement information when searching for the device identification information. The node device according to any one of claims 2 to 4.
前記監視装置において、前記ノード装置間の処理負荷の偏りを検出したとき、
前記ノード装置は、前記配置情報において、前記処理負荷が比較的高い前記ノード装置に収容されるデバイスの識別情報に対応するバスケットIDについて、このバスケットIDに対応するデバイスの識別情報を、前記処理負荷が比較的低い前記ノード装置に収容されるデバイスの識別情報へ変更することを特徴とする請求項6に記載のストレージシステム。 A monitoring device for monitoring a processing load in each of the node devices in the cluster type storage system;
In the monitoring device, when detecting a bias in processing load between the node devices,
For the basket ID corresponding to the identification information of the device accommodated in the node device having a relatively high processing load in the arrangement information, the node device uses the processing load to identify the device identification information corresponding to the basket ID. 7. The storage system according to claim 6, wherein the storage system is changed to identification information of a device accommodated in the node device having a relatively low value.
前記読み出しまたは書き込みの対象となるデータのコンテンツキーを含む、前記データの書き読み要求または読み出し要求の入力を受け付けるステップと、
前記コンテンツキーのハッシュ値を基に当該コンテンツキーに対応する前記バスケットIDを計算するステップと、
前記計算されたバスケットIDをキーとして、前記配置情報から、前記バスケットIDに対応する前記デバイスの識別情報を検索するステップと、
この検索した前記デバイスの識別情報と、前記アドレス情報とを参照して、前記検索した識別情報に対応するデバイスを収容するノード装置の識別情報を特定するステップと、
前記特定した識別情報のノード装置へ、当該デバイスへの前記コンテンツキーに対応するデータの読み出し要求または書き込み要求を送信するステップと、
前記ノード装置から前記データの読み出し要求または書き込み要求の結果を受信するステップとを実行することを特徴とするデータの読み出しおよび書き込み制御方法。 In a cluster-type storage system that includes a plurality of node devices that read and write data, and stores the data redundantly in a plurality of devices accommodated in the node device, a hash value of a content key that is identification information of the data For each basket ID which is identification information obtained based on the arrangement information indicating the identification information of the plurality of devices storing the data, and identification of the node device which accommodates the device for each identification information of the device The node device including a storage unit that stores address information indicating information,
Receiving an input of the data read / write request or read request including a content key of the data to be read or written;
Calculating the basket ID corresponding to the content key based on the hash value of the content key;
Searching the device identification information corresponding to the basket ID from the arrangement information using the calculated basket ID as a key;
Identifying the identification information of the node device accommodating the device corresponding to the searched identification information with reference to the searched identification information of the device and the address information;
Transmitting a data read request or a write request corresponding to the content key to the device to the identified identification information node device;
And a step of receiving a result of the data read request or write request from the node device.
前記データの記憶先となるデバイスを変更するため、前記変更対象となるデータのコンテンツキーと、当該データの新たな記憶先となるデバイスの識別情報とを含む変更情報の入力を受け付けたとき、
前記変更対象となるデータのコンテンツキーに対応するバスケットIDを計算するステップと、
前記計算されたバスケットIDをキーとして、前記配置情報から、当該バスケットIDに対応する前記デバイスの識別情報を検索するステップと、
前記配置情報における、当該検索したデバイスの識別情報を、前記新たな記憶先となるデバイスの識別情報に変更するステップとを実行し、
前記デバイスの識別情報を検索するとき、前記変更した配置情報を参照して、前記デバイスの識別情報を検索することを特徴とする請求項8に記載のデータの読み出しおよび書き込み制御方法。 The node device is
In order to change the device that is the storage destination of the data, when receiving the input of the change information including the content key of the data to be changed and the identification information of the device that is the new storage destination of the data,
Calculating a basket ID corresponding to the content key of the data to be changed;
Searching the device identification information corresponding to the basket ID from the arrangement information using the calculated basket ID as a key;
Executing the step of changing the searched device identification information in the arrangement information to the new storage destination device identification information;
9. The data read and write control method according to claim 8, wherein when the device identification information is searched, the device identification information is searched with reference to the changed arrangement information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143046A JP2009289161A (en) | 2008-05-30 | 2008-05-30 | Clustered storage system, node device thereof, and method and program for controlling data read/write |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008143046A JP2009289161A (en) | 2008-05-30 | 2008-05-30 | Clustered storage system, node device thereof, and method and program for controlling data read/write |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009289161A true JP2009289161A (en) | 2009-12-10 |
Family
ID=41458295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008143046A Pending JP2009289161A (en) | 2008-05-30 | 2008-05-30 | Clustered storage system, node device thereof, and method and program for controlling data read/write |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009289161A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011136261A1 (en) | 2010-04-28 | 2011-11-03 | 日本電気株式会社 | Storage system, control method for storage system, and computer program |
JP2013171305A (en) * | 2012-02-17 | 2013-09-02 | Fujitsu Ltd | Storage device, storage system, storage management method and storage management program |
JP2019164728A (en) * | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | Writing control device, storage device, network system, writing control method and program |
JP2020506464A (en) * | 2017-01-18 | 2020-02-27 | ネットアップ,インコーポレイテッド | Method and system for restoring archived data containers on object-based storage |
CN113010120A (en) * | 2021-04-27 | 2021-06-22 | 宏图智能物流股份有限公司 | Method for realizing distributed storage of voice data in round robin mode |
-
2008
- 2008-05-30 JP JP2008143046A patent/JP2009289161A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011136261A1 (en) | 2010-04-28 | 2011-11-03 | 日本電気株式会社 | Storage system, control method for storage system, and computer program |
JP2013171305A (en) * | 2012-02-17 | 2013-09-02 | Fujitsu Ltd | Storage device, storage system, storage management method and storage management program |
US9218276B2 (en) | 2012-02-17 | 2015-12-22 | Fujitsu Limited | Storage pool-type storage system, method, and computer-readable storage medium for peak load storage management |
JP2020506464A (en) * | 2017-01-18 | 2020-02-27 | ネットアップ,インコーポレイテッド | Method and system for restoring archived data containers on object-based storage |
JP2019164728A (en) * | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | Writing control device, storage device, network system, writing control method and program |
JP7039348B2 (en) | 2018-03-20 | 2022-03-22 | キオクシア株式会社 | Write control device, storage device, network system, and write control method |
CN113010120A (en) * | 2021-04-27 | 2021-06-22 | 宏图智能物流股份有限公司 | Method for realizing distributed storage of voice data in round robin mode |
CN113010120B (en) * | 2021-04-27 | 2022-07-29 | 宏图智能物流股份有限公司 | Method for realizing distributed storage of voice data in round robin mode |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495013B2 (en) | Distributed storage system and method for storing objects based on locations | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
JP6328432B2 (en) | Gateway device, file server system, and file distribution method | |
JP6607783B2 (en) | Distributed cache cluster management | |
US9069835B2 (en) | Organizing data in a distributed storage system | |
US10735545B2 (en) | Routing vault access requests in a dispersed storage network | |
JP4291077B2 (en) | Distributed storage device file management method and distributed storage system | |
US20120297067A1 (en) | Load Balancing System for Workload Groups | |
JP5375972B2 (en) | Distributed file system, data selection method thereof, and program | |
US20060123121A1 (en) | System and method for service session management | |
US20140059315A1 (en) | Computer system, data management method and data management program | |
US10515228B2 (en) | Commit and rollback of data streams provided by partially trusted entities | |
WO2016169237A1 (en) | Data processing method and device | |
JP2009289161A (en) | Clustered storage system, node device thereof, and method and program for controlling data read/write | |
US9262219B2 (en) | Distributed processing system, distributed processing method, and distributed processing program | |
WO2014132966A1 (en) | Storage system, storage device, storage device control method and control program, management device, and management device control method and control program | |
US20160323379A1 (en) | Distributed storage of software images in computing systems | |
US11237747B1 (en) | Arbitrary server metadata persistence for control plane static stability | |
JP2016099969A (en) | Information processing apparatus, data storage system, and data storage method | |
WO2020153053A1 (en) | Database management service providing system | |
JP6607044B2 (en) | Server device, distributed file system, distributed file system control method, and program | |
JP2006260074A (en) | Cad data management device | |
JP5732082B2 (en) | Data management apparatus and data management program | |
JP5690296B2 (en) | Load balancing program and load balancing apparatus | |
US20090319612A1 (en) | Information distribution system, terminal apparatus, distribution server and introduction server in the information distribution system, and recording medium on which program thereof is recorded |