JP2015170201A - データ格納制御装置、データ格納制御方法、及びプログラム - Google Patents

データ格納制御装置、データ格納制御方法、及びプログラム Download PDF

Info

Publication number
JP2015170201A
JP2015170201A JP2014045431A JP2014045431A JP2015170201A JP 2015170201 A JP2015170201 A JP 2015170201A JP 2014045431 A JP2014045431 A JP 2014045431A JP 2014045431 A JP2014045431 A JP 2014045431A JP 2015170201 A JP2015170201 A JP 2015170201A
Authority
JP
Japan
Prior art keywords
data storage
data
storage device
control device
primary
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
JP2014045431A
Other languages
English (en)
Other versions
JP6284395B2 (ja
Inventor
泰弘 小原
Yasuhiro Ohara
泰弘 小原
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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2014045431A priority Critical patent/JP6284395B2/ja
Publication of JP2015170201A publication Critical patent/JP2015170201A/ja
Application granted granted Critical
Publication of JP6284395B2 publication Critical patent/JP6284395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データを複数のデータ格納装置に格納するデータ格納システムにおいて、プライマリとするデータ格納装置を指定することを可能とする。【解決手段】データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置において、前記複数のデータ格納装置の順序集合を格納する格納手段と、前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用される。【選択図】図5

Description

本発明は、分散ファイルシステムのように、複数のデータ格納装置にデータを格納するデータ格納システムに関連するものである。
クラウドサービスの普及等により、信頼性が高く、より高速なストレージが求められている。このような要求に対し、複数のストレージノードにファイルシステムの機能を分散させた分散ファイルシステムが提案されている。
分散ファイルシステムにおいて、データをどのストレージノードに配置するかは、ハッシュ関数等を用いて決定される。これにより、複数ノードの分散による信頼性の向上、複数ノードからの入出力の並列化による性能の向上等が達成される。なお、分散ファイルシステムに関連する先行技術として、特許文献1に記載された技術がある。
特開2009−259007号公報
分散ファイルシステムにおいて、データが配置される複数のストレージノードには、クライアントからデータの書き込みを行うことができるプライマリノードと、当該データの複製が格納され、クライアントからデータ読み出しのみができるレプリカノードが存在する。
しかし、従来技術では、所定のアルゴリズムにより、どのストレージノードがプライマリノードになり、どのストレージノードがレプリカノードになるかが決まってしまい、特定のストレージノードをプライマリに指定するといった制御を行うことができない。
従って、例えば、クライアントが、一旦決定されたプライマリノードから遠く離れた地点に移動した場合において、近くにストレージノード(レプリカノード)がある場合であっても、当該離れたプライマリノードに対してデータ書き込みを行わなければならず、処理に時間がかかるといった問題が生じ得る。
本発明は上記の点に鑑みてなされたものであり、データを複数のデータ格納装置に格納するデータ格納システムにおいて、プライマリとするデータ格納装置を指定することを可能とする技術を提供することを目的とする。
本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置であって、
前記複数のデータ格納装置の順序集合を格納する格納手段と、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、
前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御装置が提供される。
また、本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置が実行するデータ格納制御方法であって、
前記データ格納制御装置は、前記複数のデータ格納装置の順序集合を格納する格納手段を備えており、前記データ格納制御方法は、
前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出ステップを備え、
前記データ格納システムにおいて、前記順序算出ステップにより順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御方法が提供される。
本発明の実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおいて、プライマリとするデータ格納装置を指定することを可能とする技術が提供される。
本発明の実施の形態に係るシステムの全体構成図である。 データ格納装置30の機能構成図である。 データ格納制御装置10の機能構成図である。 データ格納制御装置10が保持するテーブルの例を示す図である。 プライマリデータの格納場所を決定する処理を説明するための図である。 プレイスメントグループの概念を説明するための図である。 複製経路決定処理を説明するための図である。 複製経路決定処理を説明するための図である。 本実施の形態における処理の流れの例を示すシーケンス図である。
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態は、分散ファイルシステムを対象とするが、本発明は分散ファイルシステムに限らず適用可能である。
(システムの構成)
図1に本発明の実施の形態に係るシステムの全体構成図を示す。本実施の形態に係るシステは、複数のストレージノード(本実施の形態のデータ格納装置30)にファイルシステムの機能を分散させた分散ファイルシステムである。分散ファイルシステムには現状、種々のものがあり、本実施の形態の分散ファイルシステムはCephをベースとするが、これは例に過ぎず、本実施の形態の技術は分散ファイルシステムの種類に限らず適用可能である。また、本実施の形態では、本発明に関する機能/処理を主に説明している。例えば、ハッシュ関数等によってデータを複数のストレージノードにマッピングする処理は分散ファイルシステムの一般的な処理であり、本実施の形態においては簡易な説明としている。
図1に示すように、本実施の形態に係るシステムは、データ格納制御装置10、クライアント装置20、データ格納装置30がネットワーク40に接続された構成を備える。図1には、データ格納制御装置10、クライアント装置20がそれぞれ1つずつ示されているが、これは例であり、それぞれが複数であってもよい。また、データ格納制御装置10の機能をクライアント装置20内又はいずれかのデータ格納装置30内に備えることも可能であり、その場合、データ格納制御装置10を備えないこととしてもよい。データ格納制御装置10の機能をクライアント装置20やデータ格納装置30に備える場合、クライアント装置20やデータ格納装置30をデータ格納制御装置と称してもよい。
データ格納装置30は、分散ファイルシステムにおけるストレージノードである。ファイルのデータは複数のデータ格納装置30に格納される。本実施の形態の分散ファイルシステムでは、データ格納装置30群に格納される1つのデータに対し、1つのプライマリのデータ格納装置30と、それ以外のレプリカのデータ格納装置30が存在する。以下、プライマリのデータ格納装置30をプライマリ格納装置と呼び、レプリカのデータ格納装置30をレプリカ格納装置と呼ぶことにし、プライマリ格納装置に格納されるデータをプライマリデータ、レプリカ格納装置に格納されるデータをレプリカデータ(あるいは、複製、コピー等)と呼ぶことにする。
クライアント装置20からファイルに対する書き込みを行うことができるデータ格納装置30は、プライマリ格納装置のみである。データの読み出しはプライマリ格納装置からでも、レプリカ格納装置からでも可能である。また、プライマリ格納装置に格納されたデータの複製が、各レプリカ格納装置に格納される。
図2に、データ格納装置30の機能構成図を示す。図2に示すように、データ格納装置30は、データ格納部31、分散ファイルシステム処理部32、複製制御部33を有する。データ格納部31は、データを格納するハードディスク、メモリ等のデバイスである。分散ファイルシステム処理部32は、データ格納装置30を分散ファイルシステムにおけるストレージノードとして機能させるための処理部であり、当該処理部自体は既存技術で実現できる。複製制御部33は、格納するデータの複製を他のデータ格納装置30に格納するために、データ格納制御装置10から指示された経路に沿ってデータの転送等を行う機能部である。
クライアント装置20は、例えばPCであり、分散ファイルシステムのクライアント側のソフトウェアが搭載されている。
図3に、本実施の形態に係るデータ格納制御装置10の機能構成図を示す。図3に示すように、データ格納制御装置10は、データ格納装置順序計算部11、プライマリ指定子決定部12、テーブル情報格納部13、複製経路決定部14、経路決定用情報格納部15、及び通信処理部16を有する。各機能部の概要は以下のとおりである。
データ格納装置順序計算部11は、テーブル情報格納部13に格納されている情報に基づいて、例えばファイル毎に、当該ファイルのデータを格納するデータ格納装置30のうち、どれをプライマリ格納装置とし、どれをレプリカ格納装置とするか等を決定する。プライマリ指定子決定部12は、後述するプライマリ指定子を例えばファイル単位で決定し、決定したプライマリ指定子をテーブル情報格納部13に格納する。複製経路決定部14は、プライマリ格納装置からレプリカ格納装置に対してデータの複製を格納する際における格納の経路を決定する機能部である。経路決定用情報格納部15は、複製経路決定部14が経路を決定する際に用いられる地理的な情報やネットワークの情報等を格納している。通信処理部16は、他の装置との間の通信を行う。
図4に、テーブル情報格納部13に格納されるテーブルの例を示す。図4(a)に示すテーブルは、ファイル(ファイル番号等の識別情報)毎にプライマリ指定子を格納するテーブルである。このテーブルをプライマリ指定子テーブルと呼ぶ。図4(b)に示すテーブルは、ファイル毎に、ファイルのデータを格納するデータ格納装置30の順序集合を格納したテーブルである。このテーブルを順序集合テーブルと呼ぶ。
本実施の形態に係るデータ格納制御装置10は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、データ格納制御装置10が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、データ格納制御装置10で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
以下では、プライマリデータの格納場所であるプライマリ格納装置を決定する処理、及び、複製経路を決定する処理を詳細に説明する。
(プライマリ格納装置を決定する処理)
既存機能として、本実施の形態における分散ファイルシステムでは、データを格納するデータ格納装置群を、ハッシュアルゴリズム等を使用して決定する(データとデータ格納装置とのマッピングを行う)機能を有する。当該マッピングの処理は、クライアント装置20で行ってもよいし、データ格納制御装置10で行ってもよい。ここで格納対象の「データ」は、ファイル単位のデータであってもよいし、後述するようにファイルのデータを分割した単位のデータであってもよい。
上記マッピングの処理によりデータ格納装置30の順序集合が得られる。得られた順序集合において、1番目のデータ格納装置30がプライマリ格納装置として用いられ、それ以外がレプリカ格納装置として用いられる。しかし、この方式では、プライマリ格納装置が故障しない限り、プライマリとレプリカを入れ替えることはできない。
前述したように、クライアント装置20からはプライマリ格納装置に対してのみデータの書き込みを行うことができるため、例えば、クライアント装置20がプライマリ格納装置から地理的に遠く離れた場所に移動した場合において、たとえ近くにデータ格納装置30(レプリカ格納装置)があったとしても、当該レプリカ格納装置をプライマリ格納装置として、書き込みを行うことはできなかった。このような場合、大量のデータの書き込みを行う場合等では、長い時間がかかる可能性がある。
一方、本実施の形態では、プライマリ指定子を用いることで、データの転送等を伴わずに、レプリカ格納装置をプライマリ格納装置に変更することを可能としている。以下の最初の説明では、例として、ファイル単位でのマッピング例を示す。また、ファイルの識別情報としてファイル番号iを使用する。また、格納の対象とするファイルを対象ファイルと呼ぶ。
ファイル番号i等に対してハッシュ関数を用いることで、対象ファイルのデータを格納するデータ格納装置30の順序集合としてO={o1、o2、o3}が得られたとする。本実施の形態において、当該順序集合は、クライアント装置20により算出された場合、また、データ格納制御装置10で算出された場合のいずれもデータ格納制御装置10のテーブル情報格納部13に格納されるものとする。
図5(a)に示すように、{o1、o2、o3}における各要素はデータ格納装置30を示す。o1等の識別情報にどのデータ格納装置30が対応し、また、データ格納装置30へアクセスする際に必要となるIPアドレス等の情報はデータ格納制御装置10に予め格納されているものとする。
順序集合が{o1、o2、o3}である本例の場合、先頭の要素はo1であるから、o1のデータ格納装置30がプライマリ格納装置となる。従って、この状態において、クライアント装置20は、アクセスの際にデータ格納制御装置10から当該順序集合等を取得し、対象ファイルのデータ書き込みを行う際には、o1のデータ格納装置30(プライマリ格納装置)にのみ書き込みを行う。なお、クライアント装置20が、順序集合{o1、o2、o3}により、プライマリ格納装置を認識し、プライマリ格納装置に対してのみ書き込みを行うといった処理自体は、本実施の形態における分散ファイルシステムのクライアント側のソフトウェアが既存機能として備える機能である。
その後、対象ファイルに対して(ゼロでない)プライマリ指定子rが与えられ、ファイル番号iに対応付けてテーブル情報格納部13のプライマリ指定子テーブルに格納されたものとする。
データ格納制御装置10におけるデータ格納装置順序計算部11は、対象ファイルのプライマリ指定子r(本例では整数の1とする)をプライマリ指定子テーブルから読み出すとともに、対象ファイルの順序集合{o1、o2、o3}を順序集合テーブルから読み出す。そして、データ格納装置順序計算部11は、順序集合{o1、o2、o3}をr(1)回分回転(シフト、ロテート)し、シフト後の順序集合O´={o2、o3、o1}を得て、これを対象ファイルの識別情報に対応付けて順序集合テーブルに格納する。
シフト後の順序集合{o2、o3、o1}における先頭の要素はo2であるから、図5(b)に示すとおり、o2のデータ格納装置がプライマリ格納装置になる。つまり、図5(a)に示すように、当初は拠点Aにあるデータ格納装置(o1)がプライマリであったが、プライマリ指定子rによる計算を行うことで拠点Bにあるデータ格納装置(o2)がプライマリになったのである。
上記の例では、特定のプライマリ指定子rが与えられたときに、プライマリ格納装置が特定のデータ格納装置へ変更されることを説明した。ここで、プライマリ指定子rの決定の方法は特定の方法に限定されないが、例えば、以下のようにして、クライアント装置20との距離が最も近いデータ格納装置がプライマリ格納装置になるように、プライマリ指定子rを決定することができる。
例えば図5の例において、ある時点においてクライアント装置20(対象ファイルにアクセスするクライアント装置を意味する)は拠点Aに近い場所にあり、拠点Aにあるデータ格納装置(o1)をプライマリ格納装置としている。
その後、クライアント装置20が拠点Bに近い地点に移動し、対象ファイルへのアクセスを行う場合において、対象ファイルの識別情報を含むアクセス要求がデータ格納制御装置10に送信される。また、アクセス要求には、クライアント装置20の識別情報等の識別情報が含まれており、この識別情報により、クライアント装置20と各データ格納装置との間の距離を判定できるものとする。
アクセス要求を受信したデータ格納制御装置10において、プライマリ指定子決定部12は、対象ファイルのデータを格納するデータ格納装置のうち、拠点Bのデータ格納装置(o2)がクライアント装置20に最も近いと判断し、データ格納装置(o2)がプライマリ格納装置になるようにプライマリ指定子rを決定する。例えば、順序集合{o1、o2、o3}において、データ格納装置(o2)がプライマリ格納装置になるには、o2が先頭になればよいから、rを1と決定し、これを対象ファイルの識別情報と対応付けてプライマリ指定子テーブルに格納する。その後は、前述したようにO´={o2、o3、o1}が算出され、O´={o2、o3、o1}に従って、対象ファイルのプライマリ格納装置が決められる。
<プレイスメントグループについて>
前述したように、データ格納装置にマッピングされるデータの単位はファイルに限られない。例えば、Cephのプレイスメントグループ(PG)の概念を適用し、ファイルのデータを分割した単位でデータ格納装置へのマッピングを行ってもよい。
図6を参照してPGの概念を説明する。図6に示すように、ファイルのデータdがサイズ等に応じて複数のファイルブロック(図6の例ではd1、d2、d3)に分割される。そして、分割された各ファイルブロックは、プレイスメントグループ(PG)と呼ばれる仮想的なコンテナにマッピングされる。なお、図6の例では、d1、d2、d3がPG1、PG2、PG3にマッピングされているがこれは例に過ぎず、実際にはハッシュアルゴリズム等によりコンテナへのマッピングが決められる。そして、最終的に、各PGをハッシュ関数等によりデータ格納装置へマッピングする。このマッピング方法は、前述したファイル単位にデータ格納装置へマッピングする方法と同じでよい。つまり、前述したファイル単位でのマッピング方法は、プレイスメントグループの概念を取り入れた場合において、分割数が1である場合と等価である。
プレイスメントグループの概念を導入する場合、図4(a)に示すプライマリ指定子テーブルは、ファイルブロック毎にプライマリ指定子を対応付けたテーブルとなる。また、図4(b)に示す順序集合テーブルは、PG毎に順序集合を対応付けたテーブルとなる。また、クライアント装置20が、PGとファイルブロックとファイルとの関係を知る必要があるから、「ファイル−ファイルブロック−PG」のマッピング情報が必要になるが、これはクライアント装置20が保持してもよいし、データ格納制御装置が保持してもよい。
プライマリ指定子を用いたプライマリ格納装置の変更方法は前述したとおりである。前述したファイル単位での方法において、「ファイル」を「ファイルブロック」に置き換えればよい。
例えば、プライマリ格納装置とレプリカ格納装置が地理的に離れた拠点に存在する場合において、ファイルのデータの前半部分はアクセスが早いが後半部分は遅延が発生するといった問題が生じる可能性がある。これに対して、上記のように、ファイルブロック毎にプライマリ指定子rを設定し、同じ拠点がプライマリ格納装置になるようにすることで解決できる。
(複製経路を決定する処理)
次に、データ格納制御装置10の複製経路決定部14において行われる複製経路決定処理を説明する。
例えば、順序集合O={o1、o2、o3}が計算されたとすると、プライマリ格納装置はo1になり、その他はレプリカ格納装置となる。前述したように、クライアント装置20からのデータの書き込みはプライマリ格納装置に対してのみ行うことができ、プライマリ格納装置に格納されたデータ(プライマリデータ)の複製(レプリカデータ)が、プライマリ格納装置を基点として、各レプリカ格納装置に転送され、各レプリカ格納装置に格納される。データを格納する場合の経路については、例えば、「o1―>o2―>o3」、「o1―>o2、o1―>o3」、「o1―>o3―>o2」といった経路をとることができる。このような経路のことを複製経路と呼ぶことにする。
ここで、基本的には、クライアント装置20からデータ書き込み要求を受けたプライマリ格納装置は、自分へのデータ格納とともに全てのレプリカ格納装置へのデータ格納完了を確認できた後に、クライアント装置20に対してデータ書き込みが終了したことを通知し、クライアント装置20はこの通知でもって書き込み処理が終わったと判断し、次の処理に移行できる。
従って、レプリカデータのレプリカ格納装置への格納は迅速である必要がある。しかし、装置間のネットワーク状況(帯域等)により、装置間でのデータ転送に長い時間がかかる場合がある。特に転送するデータ量が大きい場合には、この問題は顕著になる。
なお、後述するように、本実施の形態では、上記と異なる手順を採用しており、レプリカ格納装置へのデータ格納完了を確認する前に、クライアント装置20へ格納完了を通知している。このような場合でも、データの整合性を保つ観点等から、レプリカデータのレプリカ格納装置への格納は迅速である必要がある。
そこで、本実施の形態では、ネットワーク状況等を考慮して複製経路を決定する。決定の一例を図7を参照して説明する。図7(a)に示すように、A地点(地理的な位置)にプライマリ格納装置が存在し、B地点とC地点にレプリカ格納装置が存在する。そして、各装置(地点)間のネットワークの状況(図7の例では容量)が図に示すとおりであったとする。また、ここでは、帯域10のネットワークで迅速に転送できると想定されるサイズ10のレプリカデータの転送を行うものとする。
このとき、A地点のプライマリ格納装置からB地点のレプリカ格納装置へのデータ転送は迅速に行うことができるが、A地点のプライマリ格納装置からC地点のレプリカ格納装置へのデータ転送には非常に時間がかかってしまう。一方、B地点のレプリカ格納装置からC地点のレプリカ格納装置へのデータ転送は迅速に行うことができる。従って、複製経路決定部14は、図7(b)に示すように、複製経路としてA−>B−>Cという経路を決定する。
図8は他の例を示す。図8に示す例では、各地点間のネットワークとしての帯域は全て同じく10であるが、A−>BとA−>Cは物理的には1回線(帯域10)しかない。このような場合、仮に、A−>B及びA−>Cという経路でサイズ10のレプリカデータを送信しようとすると、結果として1回線でサイズ20のデータを送ることになり、迅速に送ることができない。そこで、この場合も、複製経路決定部14は、図8(b)に示すように、複製経路としてA−>B−>Cという経路を決定する。
また、レプリカ格納装置から迅速にデータ格納完了通知を受信することが望ましいため、例えば、プライマリ格納装置から距離の近いレプリカ格納装置に先にレプリカデータを転送する、あるいは、データを高速に格納する能力を持つレプリカ格納装置に先にレプリカデータを転送する、といった判断基準も加味して経路決定することもできる。
経路決定用情報格納部15には、各装置間の空き帯域等のネットワーク情報、地点間の距離、物理的な回線情報、各データ格納装置の容量/データ格納速度/信頼性/負荷状態等が格納されており、複製経路決定部14は、経路決定用情報格納部15から読み出した情報に基づいて、最適な経路を算出する。
(システムの動作シーケンス例)
次に、図9を参照して、本実施の形態におけるシステムの動作シーケンスの例を説明する。以下の例では、ステップ101の前の時点において、アクセスするファイル(対象ファイル)の順序集合が既にあるものとする。
クライアント装置20が対象ファイルへのアクセス(書き込み等)を行う場合に、クライアント装置20は、対象ファイルの識別情報を含むファイルアクセス要求をデータ格納制御装置10に送信する(ステップ101)。データ格納制御装置10におけるプライマリ指定子決定部12は、順序集合に含まれる各データ格納装置とクライアント装置20との間の距離を決定し、最も近いデータ格納装置をプライマリにすると決定し、当該データ格納装置が順序集合の先頭に来るようにプライマリ指定子を決定する(ステップ102)。
次に、データ格納装置順序計算部11が、対象ファイルについての既にある順序集合と、ステップ102で決定したプライマリ指定子とから順序集合のシフトを行うことにより、新たな順序集合を得る(ステップ103)。これにより、プライマリ格納装置が決定される。本例では、データ格納制御装置10は、対象ファイルについてプライマリ格納装置になったデータ格納装置に対してその旨を通知する(ステップ104)。
また、データ格納装置10は、クライアント装置20に応答を返す(ステップ105)。応答には、例えば、プライマリ格納装置の識別情報、レプリカ格納装置の識別情報等が含まれる。
その後、クライアント装置20は、データのファイルへの書き込みを行う(ステップ106)。ここでは、分散ファイルシステムの機能により、プライマリ格納装置へデータの書き込みが行われる。
ここで、本実施の形態のプライマリ格納装置は、レプリカ格納装置へのデータの複製の転送を行う前に、あるいは、レプリカ格納装置へのデータの複製の転送後、レプリカ格納装置から格納完了通知(ACK)を受信する前に、プライマリ格納装置自身のデータの格納が終了した時点で、クライアント装置20に格納完了通知(ACK)を送信することとしている。図9の例では、プライマリ格納装置からレプリカ格納装置へのデータの複製の転送を行う前にクライアント装置20に格納完了通知(ACK)を送信している(ステップ107)。
レプリカ格納装置とプライマリ格納装置の距離が離れている場合、レプリカ格納装置からの格納完了通知(ACK)を待ってクライアント装置20に格納完了通知(ACK)を送信するとなると、クライアント装置20への格納完了通知(ACK)送信が遅れ、クライアント装置20側で次の処理への移行が遅れてしまう可能性があるが、本実施の形態により、この問題が解消される。
上記のような処理の他、プライマリ格納装置から距離が近いレプリカ格納装置のみから格納完了通知(ACK)を受信した後に、クライアント装置20に格納完了通知(ACK)を送信することとしてもよい。
図9のステップ108において、プライマリ格納装置は、複製データの転送を行うための経路情報をデータ格納制御装置10に要求する。要求を受けたデータ格納制御装置10の複製経路決定部14は、前述したような方法で経路を決定し(ステップ109)、経路の情報をプライマリ格納装置に通知する(ステップ110)。そして、この経路に従って複製したデータの転送、及び格納が行われる(ステップ111〜114)。
なお、上記の例では、データ格納制御装置10が経路を決定したが、プライマリ格納装置自身が、データ格納制御装置10からネットワーク情報等の経路決定に必要となる情報を取得して、経路決定処理を行うこととしてもよい。
(実施の形態のまとめ、効果等)
以上、説明したように、本実施の形態によれば、データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置であって、前記複数のデータ格納装置の順序集合を格納する格納手段と、前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用されることを特徴とするデータ格納制御装置が提供される。
前記順序集合における所定番目の要素は、例えば、当該順序集合における1番目の要素である。また、前記指定情報は整数であり、前記順序算出手段は、前記格納手段に格納された順序集合に対して当該整数の回数分のシフトを行うことにより前記順序の変更を行う。
前記データ格納システムにおいては、例えば、前記複数のデータ格納装置のうちの前記特定のデータ格納装置に前記データが書き込まれ、当該特定のデータ格納装置以外のデータ格納装置である複製データ格納装置には前記データの複製データが格納される。
前記データ格納制御装置は、前記特定のデータ格納装置を基点として、各複製データ格納装置に複製データを格納するための複製経路を、各データ格納装置が設置される地点間を接続するネットワークの情報に基づいて決定する複製経路決定手段を備えてもよい。
また、前記データ格納制御装置は、前記複数のデータ格納装置のうち、前記データへのアクセスを行うクライアント装置に最も近い地点にあるデータ格納装置が前記特定のデータ格納装置になるように前記指定情報を決定する指定情報決定手段を備えてもよい。
前記データ格納システムは、例えば分散ファイルシステムであり、前記データはファイルのデータ、又は、ファイルのデータを分割したデータである。
既に説明したように、従来技術では、プライマリデータをどのデータ格納装置に置くといった詳細な指定はできなかった。また、プライマリデータとレプリカデータの関係を反転させること等もできなかった。
一方、本実施の形態では、特定のデータ格納装置をプライマリとして指定することが可能となる。これにより、例えば、クライアントからの近接地に既にレプリカが存在する場合において、これをプライマリデータとして利用することが可能となる。この結果、数テラバイトレベルの大規模なデータを疑似的に高速移動させることが可能となる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 データ格納制御装置
20 クライアント装置
30 データ格納装置
40 ネットワーク
11 データ格納装置順序計算部
12 プライマリ指定子決定部
13 テーブル情報格納部
14 複製経路決定部
15 経路決定用情報格納部
16 通信処理部
31 データ格納部
32 分散ファイルシステム処理部
33 複製制御部

Claims (9)

  1. データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置であって、
    前記複数のデータ格納装置の順序集合を格納する格納手段と、
    前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出手段と、を備え、
    前記データ格納システムにおいて、前記順序算出手段により順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用される
    ことを特徴とするデータ格納制御装置。
  2. 前記順序集合における所定番目の要素は、当該順序集合における1番目の要素であることを特徴とする請求項1に記載のデータ格納制御装置。
  3. 前記指定情報は整数であり、前記順序算出手段は、前記格納手段に格納された順序集合に対して当該整数の回数分のシフトを行うことにより前記順序の変更を行う
    ことを特徴とする請求項1又は2に記載のデータ格納制御装置。
  4. 前記データ格納システムにおいて、前記複数のデータ格納装置のうちの前記特定のデータ格納装置に前記データが書き込まれ、当該特定のデータ格納装置以外のデータ格納装置である複製データ格納装置には前記データの複製データが格納される
    ことを特徴とする請求項1ないし3のうちいずれか1項に記載のデータ格納制御装置。
  5. 前記特定のデータ格納装置を基点として、各複製データ格納装置に複製データを格納するための複製経路を、各データ格納装置が設置される地点間を接続するネットワークの情報に基づいて決定する複製経路決定手段
    を備えることを特徴とする請求項4に記載のデータ格納制御装置。
  6. 前記複数のデータ格納装置のうち、前記データへのアクセスを行うクライアント装置に最も近い地点にあるデータ格納装置が前記特定のデータ格納装置になるように前記指定情報を決定する指定情報決定手段
    を備えることを特徴とする請求項1ないし5のうちいずれか1項に記載のデータ格納制御装置。
  7. 前記データ格納システムは分散ファイルシステムであり、前記データはファイルのデータ、又は、ファイルのデータを分割したデータである
    ことを特徴とする請求項1ないし6のうちいずれか1項に記載のデータ格納制御装置。
  8. データを複数のデータ格納装置に格納するデータ格納システムにおけるデータ格納制御装置が実行するデータ格納制御方法であって、
    前記データ格納制御装置は、前記複数のデータ格納装置の順序集合を格納する格納手段を備えており、前記データ格納制御方法は、
    前記複数のデータ格納装置のうちの特定のデータ格納装置を指定するための指定情報を用いて、前記順序集合における要素の順序を変更する順序算出ステップを備え、
    前記データ格納システムにおいて、前記順序算出ステップにより順序が変更された順序集合における所定番目の要素に対応するデータ格納装置が前記特定のデータ格納装置として使用される
    ことを特徴とするデータ格納制御方法。
  9. コンピュータを、請求項1ないし7のうちいずれか1項に記載のデータ格納制御装置における各手段として記載させるためのプログラム。
JP2014045431A 2014-03-07 2014-03-07 データ格納制御装置、データ格納制御方法、及びプログラム Active JP6284395B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014045431A JP6284395B2 (ja) 2014-03-07 2014-03-07 データ格納制御装置、データ格納制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014045431A JP6284395B2 (ja) 2014-03-07 2014-03-07 データ格納制御装置、データ格納制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015170201A true JP2015170201A (ja) 2015-09-28
JP6284395B2 JP6284395B2 (ja) 2018-02-28

Family

ID=54202862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014045431A Active JP6284395B2 (ja) 2014-03-07 2014-03-07 データ格納制御装置、データ格納制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6284395B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525705A (ja) * 2016-07-22 2018-09-06 平安科技(深▲せん▼)有限公司 仮想マシン性能を向上させる方法、端末、装置及びコンピュータ可読記憶媒体
US11797338B2 (en) 2020-02-05 2023-10-24 Fujitsu Limited Information processing device for reading object from primary device specified by identification, information processing system for reading object from primary device specified by identification, and access control method for reading object from primary device specified by identification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206931A (ja) * 2006-02-01 2007-08-16 Hitachi Ltd 記憶システム、データ処理方法並びにストレージ装置
JP2014229088A (ja) * 2013-05-23 2014-12-08 ソニー株式会社 データ処理システム、データ処理装置および記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206931A (ja) * 2006-02-01 2007-08-16 Hitachi Ltd 記憶システム、データ処理方法並びにストレージ装置
JP2014229088A (ja) * 2013-05-23 2014-12-08 ソニー株式会社 データ処理システム、データ処理装置および記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525705A (ja) * 2016-07-22 2018-09-06 平安科技(深▲せん▼)有限公司 仮想マシン性能を向上させる方法、端末、装置及びコンピュータ可読記憶媒体
US11797338B2 (en) 2020-02-05 2023-10-24 Fujitsu Limited Information processing device for reading object from primary device specified by identification, information processing system for reading object from primary device specified by identification, and access control method for reading object from primary device specified by identification

Also Published As

Publication number Publication date
JP6284395B2 (ja) 2018-02-28

Similar Documents

Publication Publication Date Title
US10540323B2 (en) Managing I/O operations in a storage network
US9734026B2 (en) In-memory data store replication through remote memory sharing
US10178174B2 (en) Migrating data in response to changes in hardware or workloads at a data store
US20150215405A1 (en) Methods of managing and storing distributed files based on information-centric network
US20130036272A1 (en) Storage engine node for cloud-based storage
CN106446159B (zh) 一种存储文件的方法、第一虚拟机及名称节点
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
CN109314721B (zh) 分布式文件系统的多个集群的管理
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
US10031682B1 (en) Methods for improved data store migrations and devices thereof
JP2010074604A (ja) データアクセスシステム、データアクセス方法およびデータアクセス用プログラム
US20180095667A1 (en) Migrating data between volumes using virtual copy operation
US20150324387A1 (en) Broadcast data operations in distributed file systems
US20150106468A1 (en) Storage system and data access method
US10387043B2 (en) Writing target file including determination of whether to apply duplication elimination
JP6233403B2 (ja) ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム
JP6284395B2 (ja) データ格納制御装置、データ格納制御方法、及びプログラム
US10931750B1 (en) Selection from dedicated source volume pool for accelerated creation of block data volumes
CN109587185B (zh) 云存储系统和云存储系统中的对象处理方法
JP6413792B2 (ja) ストレージシステム
JP2018504689A5 (ja)
KR101470857B1 (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
JP2010271797A (ja) 分散ストレージにおけるデータ位置管理方法及び装置及びプログラム
JP5963324B2 (ja) 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
Ruty et al. Collapsing the layers: 6Stor, a scalable and IPv6-centric distributed storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180130

R150 Certificate of patent or registration of utility model

Ref document number: 6284395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250