JP2013093050A - ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム - Google Patents
ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム Download PDFInfo
- Publication number
- JP2013093050A JP2013093050A JP2013019173A JP2013019173A JP2013093050A JP 2013093050 A JP2013093050 A JP 2013093050A JP 2013019173 A JP2013019173 A JP 2013019173A JP 2013019173 A JP2013019173 A JP 2013019173A JP 2013093050 A JP2013093050 A JP 2013093050A
- Authority
- JP
- Japan
- Prior art keywords
- file
- identification information
- data
- storage
- information
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 361
- 238000000034 method Methods 0.000 title claims description 82
- 238000012545 processing Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 104
- 238000010586 diagram Methods 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 241001362551 Samba Species 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】 ストレージサービス提供装置3は、ネットワークを介して接続された複数のストレージ装置4を利用してファイルを保存するサービスを提供する。書き込むべきファイルは一つ以上のデータに分解され、そのファイルを構成するデータ(ブロックオブジェクト)ごとにオブジェクト識別情報が付与される。また、各ブロックオブジェクトのデータからファイルを構築するための情報(管理情報オブジェクト)が作成され、管理情報オブジェクトにオブジェクト識別情報が付与される。そして、各ブロックオブジェクトと管理情報オブジェクトが、複数のストレージ装置4のうち、それぞれのオブジェクト識別情報に基づいて特定されるそれぞれのストレージ装置4へ、送信されて保存される。
【選択図】 図1
Description
より行われる。
報オブジェクト)も、いずれもオブジェクトとして、複数のストレージ装置に分散して保存されるため、本ストレージサービス提供装置が、多数のファイルの全てのブロックについての管理情報を集中して保存することはなく、システムにおいて単一障害点となる要素を低減することが可能となる。
報を付与し、当該ブロックオブジェクトのデータから前記ファイルを構築するための情報を含む管理情報オブジェクトにも新たなオブジェクト識別情報を付与し、前記管理情報オブジェクトの新たなオブジェクト識別情報が前記ファイルに対応する先頭オブジェクト識別情報として求められるように設定することにより、同一のオブジェクト識別情報を有するオブジェクトの内容を不変とする管理を行ってもよい。
上を特定する手段と、特定された二つ以上のストレージ装置に並行してアクセスし、応答の早かったストレージ装置からオブジェクト又はその複製を取得する手段とさらに備えるようにしてもよい。
にしてもよい。
該長さを有する前記領域中のどの部分にどのオブジェクト識別情報が付与されたオブジェクトが配置されるかを示す情報とを含み、前記オブジェクト識別情報が付与されたオブジェクトがブロックオブジェクトである場合には、当該ブロックオブジェクトは、前記ファイルを構成するデータと、該データの長さの情報とを有するようにしてもよい。
クセス方法との対応を示す情報をシステム内に保持することになるが、この情報の量は、ストレージ装置の数の分だけに限られ、上述した管理情報のようにファイルの数及びそれを構成するオブジェクトの数によって爆発的に増加するものではないため、単一障害点となる要素を極めて少なくできる。
ービス提供装置が、読み出すべきファイルの識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段をさらに備え、ここで特定されるストレージ装置が、読み出すべきファイルに対応する先頭オブジェクト識別情報を、管理情報オブジェクトの一種として保存するようにしてもよい。
発明としても成立し、上述したストレージサービス提供システムの各発明は、そこでクライアント装置として動作するストレージサービス提供装置の発明としても成立するものである。
」がパラメータとして用いられる。ここで、「file-id」は、ファイルを識別するための
識別情報である。
ている。「READ」の機能では、「file-id」、「offset」、「data」などがパラメータと
して用いられる。「WRITE」の機能では、「file-id」、「offset」、「データ領域」など
がパラメータとして用いられる。ここで、「offset」は、データがデータ領域内でどの部分に配置されるべきかを示す情報である。「data」は、文字列や数値などのデータの情報であり、データの長さ(length)の情報も含まれる。「データ領域」は、データが書き込まれる領域の情報であり、その領域に書き込むことができるデータの長さ(length)の情報も含まれる。
「length」の情報を持つ「箱」として表現することができる。
は、「table-1」というテーブルIDのテーブルであり、「950」という「length」の情報と、「<0,block-20>、<100,table-3>、<600,block-12>、<750,table-10>」というリスト
の情報を持っている。
00バイトの長さの「block-20」のデータと、オフセット100の位置に配置された「table-3」のテーブル(リスト)と、オフセット600の位置に配置された150バイトの
長さの「block-12」のデータと、オフセット750の位置に配置された「table-10」のテ
ーブル(リスト)が読み出される。なお、「readAt」は、データの読み出しをするための命令(インターフェース)である。なお、上述のように、「オフセット」は、ファイル内での位置(そのファイルの先頭からの位置)を表す情報である。
場合、「table-3」のテーブルは、「500」という「length」の情報と、「<0,block-120>
、<300,block-130>」というリストの情報を持っている。したがって、この「table-3」のテーブルを「readAt」すると、領域オフセット0の位置に配置された100バイトの長さの「block-120」のデータと、領域オフセット300の位置に配置された200バイトの
長さの「block-130」のデータが読み出される。また、「table-10」のテーブルは、「200」という「length」の情報と、「<0,block-800>、<50,block-900>」というリストの情報
を持っている。したがって、この「table-10」のテーブルを「readAt」すると、領域オフセット0の位置に配置された50バイトの長さの「block-800」のデータと、領域オフセ
ット50の位置に配置された150バイトの長さの「block-900」のデータが読み出され
る。なお、「領域オフセット」は、そのテーブルが示す領域内でのオフセット(そのテーブルが示す領域の先頭からの相対位置)を表す情報である。
バイトの長さの「block-20」のデータと、オフセット100(領域オフセット0)の位置に配置された100バイトの長さの「block-120」のデータと、オフセット400(領域
オフセット300)の位置に配置された200バイトの長さの「block-130」のデータと
、オフセット600の位置に配置された150バイトの長さの「block-12」のデータと、オフセット750(領域オフセット0)の位置に配置された50バイトの長さの「block-800」のデータと、オフセット800(領域オフセット50)の位置に配置された150
バイトの長さの「block-900」のデータが、読み出されることになる。なお、オフセット
200から400までの間のデータがない領域は「nul」で埋められている。
るためのテーブル(先頭テーブル)の「table-id」に対応付けされている。本システムにおいて、ファイルの内容に関する情報は、先頭テーブルに書き込まれた「table-id」のみであり、詳細な内容は「table-id」から再帰的にデータを取得することにより得られるようになっている。なお、実装上は、「file-id」と先頭テーブルの「table-id」の対応表
もネットワーク上にオブジェクトとして保存されていてよい。ファイルの長さ(length)は、先頭テーブルに対して「getLength」して取得できるの長さ(length)と同じである
。すなわち、「getLength(ファイルオブジェクト) = getLength(該当ファイルの先頭テーブル)」である。なお、ファイルは、属性情報(所有者、アクセス権限、更新日時)や管
理情報を持っていてもよい。
(length)の情報を持っている。「object-id」としては、例えば、64ビットの整数、
UUID、任意の文字列などが使用される。また、「length」は、負でない整数であり、
例えば64ビットの整数などで表現される。オブジェクトの「length」は、「getLength
」で取得することができる。本システムのオブジェクトには、ブロックとデータが含まれる。
」で取得することができる。また、テーブルは、「putTable(table-id,<offset,object-id>)」で「table-id」と「<offset,object-id>」を与えることにより、新規に生成するこ
ともできる。なお、テーブルの上書きは不可である。また、<offset0,object0>というエ
ントリについては、「offset0 ≧ 0(「offset」の値が0以上であること)」、「object0.getLength() > 0(そのオブジェクトの「length」の値が0より大きいこと)」、「offset0 + object0.getlength() ≦ table.getLength()(「offset」の値にそのオブジェクトの「length」の値を加えた値が、テーブルの「length」の値以下であること)」が、すべて成り立つことが条件とされる。
ークサーバへのアクセス手段は、例えば「10.0.50.11:/users/isi(NFSの場合)」や
「samba://10.0.60.1/public(CIFSの場合)」などであり、物理デバイスへのアクセス手段は、例えば「/dev/sd0a」などである。なお、サービステーブルの詳細については
後述する。
スが特定され、その「block-id」に対応するデータを保存する。このとき、「HTTP PUT」や「NFS WRITE」など、仮想デバイスに応じたデータ保存の仕組みを利用してもよい。なお、上述のとおり、本システムでは、ブロックの新規保存のみ可能であり、ブロックの上書きは不可である。
デバイスに応じたデータ保存の仕組みを利用してもよい。なお、その「block-id」に対応するデータがない場合には「エラー」となる。
す方法である。エンコード手法の例としては、(1)可読文字列で表現する手法(例えば、「10」を、文字列の「10」で表現する手法)や、(2)バイト列で保存する手法(例えば、「int」は4バイト、「long」は8バイトの列で保存する手法)や、(3)「tuple(タイプ、長さ、データ)」の列としてデータを保存する手法などがある。
」までに収まっていること」が条件とされる。また、「最終の「offset」に位置する「object-id」の「length」については、「テーブルの「length」≧ 最終の「offset」+ (sub) length(最終の「offset」の値に「(sub) length」の値を加えた値が、テーブルの「length」の値以下であること)」が、成り立つことが条件とされる。
である。「writeAt」は、「offset」と「length」と「データのバイト列」を受け取る。
「writeAt (object-id, object_offset, buffer, bufoff, buflen)」は、「object-id」
と「object_offset」と「buffer」と「bufoff」と「buflen」を与えると、更新されたデ
ータを持った新しい「object-id」を返す。読み出し用の共通インターフェースは「readAt」である。「readAt」は、「offset」と「length」と「読み出すデータ領域の情報」を
受け取る。「readAt (object-id, object_offset, buffer, bufoff, buflen)」は、「obj
ect-id」と「object_offset」と「buffer」と「bufoff」と「buflen」を与えると、該当
の領域のデータを読み出した内容を、「buffer」、「bufferoff」、「bufferlen」で示される領域にコピーし、読み出せたデータの長さ「length」を返す。
る情報である。また、「buffer」と「bufoff」と「buflen」は、「バッファ」を表現する情報である。読み出しや書き込みの要求は、実際のデータの受け渡しを「buffer」というポインタで始まるデータ領域の「bufoff」で示される相対位置から、「buflen」という長さのバイト分のデータという形で表現する。「writeAt」で書き込みをするときには、上
記のデータ領域(バッファ領域)から書き込むべきデータを取得して、データを書き込む。「readAt」で読み出しをするときには、上記のデータ領域(バッファ領域)に読み出したデータをコピーすることにより、データが読み出される。
り当て、その「file-id」の先頭テーブルを「EMPTY_TABLE」にセットし、その「file-id
」を返すというものである。ここで、「EMPTY_TABLE」は、長さがゼロであって、リスト
の要素数がゼロである特別なテーブルである。これは、実データを持たないため、仮想デバイス上に実態を持つ必要がなく、特別なオブジェクトID(空テーブルを示す全ファイルに共通のID)だけが存在する。「create」は、「file-id」を割り当てるだけのもの
であるともいえる。
×1000d」以上である場合に、階層構造をひとつ増やす(木構造を一段深くする)処理が行われる。このとき、「現在のlength」と<0,先頭テーブルのtable-id>を持ったテーブルが新規に作成され、そのファイルの先頭テーブルの「tabale-id」が書き換えられる
。また、ファイルに対応づけられている「table-id」に対して「writeAt (table-id, object_offset, buffer, bufoff, buflen)」を実行すると、新しく割り当てられた「table-id」が先頭テーブルとして登録される。これにより、特別なオブジェクトID又は以前の
「table-id」が、新たな「table-id」に書き換えられる。「writeAt」は、更新されたオ
ブジェクトのIDを返す必要があるが、ファイルへの書き込みでは、先頭テーブルだけを書き換えて、自身の「file-id」を返すようになっている。
クト(テーブルまたはブロック)を検索する。例えば、「object_offset + bufoff」がテーブルの各要素の「offset + getLength()」に入る場合を検索する。
、「child-id」は、該当のサブオブジェクトを示すIDである。また、「child-length」は、そのサブオブジェクトの長さ(すなわち、getLength(child-id)で取得される長さ)
であり、「child-offset」は、そのサブオブジェクトのoffsetの値である。また、「writelen」は、「Min(buflen, child-length)」である。
」を「buflen − writelen」として、パラメータの更新を実行する。
、「object_offset」から始まる部分に対して、「(buffer, bufoff, min(buflen, currentLength))」のデータを上書きする。そして、最終的にできあがったデータと、上記の「currentLength」に対して、「createId()」により「newId」を作成し、「putContent(newId, currentLength, currentData)」を実行したうえで、「newId」を返すようにされてい
る。
クト(テーブルまたはブロック)を検索する。
得される長さ)であり、「child-offset」は、そのサブオブジェクトのoffsetの値である。また、「readlen」は、「Min(buflen, child-length)」である。
の更新を実行する。
現在のデータを読み出す処理が行われる。例えば、「getContent(object-id)」により「currentData」が読み出される。「currentLength」は、この「currentData」のバイト列(実データ)の長さである。ブロックからの読み出しでは、「currentData」のバイト列に
対して、「object_offset」から始まる「readlen」バイト分のデータを、「(buffer, bufoff, readlen)」にロードして、「readlen」を返す。ここで、「readlen」は、「min(buflen, currentLength) 」である。
」の対応表も一つのオブジェクトとしてネットワーク上に保存されていてもよい。
て、事業者Aから取得する。ここでは、例えば「650,<0,table-2>,<300,table-3>」とい
う内容が取得される。以下、「table-2」と「table-3」の内容が再帰的に取得される。図9の例では、「table-2」の内容が「300,<0,block-a>,<100,block-b>,<200,block-c>」であり、「table-3」の内容が「200,<0,block-d>,<100,block-e>」である。そうすると、これらのテーブルの内容に従って、オフセット0の位置に配置された100バイトの長さの「block-a」のデータと、オフセット100の位置に配置された100バイトの長さの「block-b」のデータと、オフセット200の位置に配置された100バイトの長さの「block-c」のデータと、オフセット300(領域オフセット0)の位置に配置された250バ
イトの長さの「block-d」のデータと、オフセット550(領域オフセット250)の位
置に配置された100バイトの長さの「block-e」のデータが読み出される。
ている。ここでは、まず、新規ファイルの作成について説明する。図10に示すように、ユーザ端末からファイルを書き込むアクセスがあると、まず、「CREATE」の機能により、新規ファイルが作成される。このとき、先頭テーブルに「EMPTY_TABLE」がセットされる
。
ーブルの「EMPTY_TABLE」に対して、「writeAt(EMPTY_TABLE, 0, data, 0, 100)」が実行される。その後、「WRITE-2」の機能により、テーブルへの書き込みが実行される。この
場合、「offset」に該当するブロックが存在しないため、ブロックを作成する。例えば、「block-a = createId()」、「putContent(block-a, 0 − 0, data, 0, 100)」により「block-a」のブロックを作成して、リストを更新する。次いで、「writeAt」内のメインル
ープを抜けて、「length」を「100」に更新した後、「table-x = createId()」、「putTable(table-x, 100, <0, block-a>)」を実行し、「table-x」を返す。そして、上記「table-x」を先頭テーブルにセットし、処理を終了する。
」を、新たなブロックとして、リストを更新する。その結果、新しいリストは<0,block-b>になる。その後、「object_offset 」に「50 + 50 = 100」をセットし、「buflen」に「150 − 50 = 100」をセットし、「bufoff」に「0 + 50 = 50」をセットして、次のループへ進む。
新され、新しいリストは「<0,block-b>,<100,block-c>」になる。このとき、「object_offset」に「100 + 100 = 200」をセットし、「buflen」に「100 − 100」をセットし、「bufoff」に「50 + 100 = 150」をセットする。この場合、「buflen」がゼロになるので、
ループを終了する。そして、「length」を「200」にセットしたうえで、「table-y = createId()」、「putTable(table-y, 200, <0,block-b>,<100,block-c>)」を実行して新
規テーブルを作成し、「table-y」を返す。その後、ファイルの先頭テーブルを「table-y」にセットして処理を終了する。
バイト」のデータ(data2)を書き込む処理について説明する。図13に示すように、「WRITE-1」の機能により、ファイルへの書き込みが実行される。この場合、「object_offset」が十分に大きいと判断され、階層を増やす処理が実行される。つまり、現状の「table-y」を単一要素とする、新テーブルが作成される。なお、このとき、テーブルの深さだけが変わるだけで、「getLength()」で取得できる値は「table-y」と同じである。新しく作られたテーブルについては、「table-α = createId()」、「putTable(table-α, 200, <0,table-v>)」が実行される。そして、この新しく作られたテーブル「table-α」に対し
て「writeAt(table-α, 10000, data2, 0, 200)」が実行される。
場合、「object_offset = 10000」に既存の要素が存在しないので、「block-d = createId()」、「putContent(block-d, 200, (data2, 0, 200))」を実行し、新規ブロックを作成する。その後、各種パラメータを更新する。この場合、「object_offset」を「10000 + 200 = 200」にセットし、「buflen」を「200 - 200」にセットし、「bufoff」を「0 + 200
= 250」にセットして、ループを終了する。
する。新しいテーブルは、「table-z = createId()」、「putTable(table-z, 10200, <0,table-y>,<10000,block-d>)」によって与えられる。最後に、ファイルの先頭テーブルを
「table-z」にセットして、処理を終了する。
っている。動的なサービステーブルでは、各サービス名称(一意な名称)がハッシュ値に変換されて、オブジェクトIDがそのハッシュ値に一番近いサービスが特定されるようになっている。
cation」の情報、サービスを利用するための認証情報、その他、サービスに依存する付加情報がある。サービス提供事業者の情報は、自ネットワークの場合には「local」の情報
であってよい。「location」の情報には、「http,nfs,cifs,ftp,webdav」などのプロトコルの情報や、「%o(オブジェクトIDに置き換え)」や「%u(ユーザIDに置き換え)」などのパス情報(必要に応じてパラメータ変換を行うための情報)が含まれる。また、サービスを利用するための認証情報には、ユーザID、パスワード、必要に応じて認証鍵情報などが含まれる。また、サービスに依存する付加情報には、ウェイト、暗号化手法、各種のパラメータ(ブロックサイズ、並列度、待ち行列のサイズなど)が含まれる。
ー構造によるデータアクセスが可能であり、任意の場所のデータを「O(log N)」のオーダーの処理時間で更新、追加、削除可能である(N=ファイルサイズ)。なお、固定配列にすると、保存できるファイルのサイズに制限ができてしまい、リスト構造にすると「O(N)」のオーダーの処理時間が必要になってしまう。そして、本システムでは、書き込み時に、オフセットと領域を指定して更新を行う。そのため、更新が必要なブロック、及び、上位のテーブルのみ更新すればよいという利点がある。また、本システムでは、読み込み時には、オフセットと領域を指定して読み出しを行う。そのため、読み出しが必要なテーブルとブロックだけ読み出せばよいという利点がある。
ち、固定長配列をもたないためファイルサイズは事実上無制限であり、例えば、ブロックサイズ4MB、テーブルあたりの要素数が1024の場合には、深さ4で「4MB×1024×1024×1024×1024=4EB」を表現できる。また、データ構造がツリー型の再帰構造をとるため、ファイルサイズNに対し、データの検索、追加、削除の処理時間は「O(log N)」のオーダーであり、実用的な速度(十分な速度)でアクセスできる。
あるという点に特徴がある。つまり、本システムでは、ファイルを示す「file-id」とそ
の先頭の「table-id」のみが必要であり、実装上は、「file-id」と「table-id」の対も
ネットワーク上のオブジェクトとして保存することができる。例えば、「file-id」をキ
ーに単一の値を持つオブジェクトとして分散配置することができる。なお、「file-id」
と「table-id」の対は、テーブルやブロックとは異なり、上書き可能なオブジェクトである。また、サービステーブルは、別途管理すればよく、ファイルやデータの「量に依存しない」参照情報のみを含めるようにすることができる。
ことがある。スパースファイルでは、使ってないところが「nul埋め」される。したがっ
て、例えば、「readAt」を実行した場合、データがないところは「nul」データとして読
み出される。これにより、物理容量を使わずに論理的なファイルサイズが大きくできる。スパースファイルの第1のメリットとして、論理的には事実上無限サイズのファイルを作成可能であることが挙げられる。ファイルの構造は、テーブルだけで表現することが可能であり、データのないところは「nul」データとして読み出される。スパースファイルの
第2のメリットとして、実際にデータを書き込んだときに初めてブロックが作成されることが挙げられる。データを書き込まない部分は、必要な容量は最小限(テーブル情報のみ)で済む。
回新規作成され、「table-id」と「block-id」は、いずれも「更新」するたびに新しいIDが割り当てられる。すなわち、「table-id」が決められると、それ以降、その中身は同一であり変更されることがない。このような特徴を備えることにより、本システムでは「書き込み中の読み込みが可能である」というメリットが得られる。ファイルは常に「完全な状態」であるため、先頭テーブルの「table-id」が書き換えられるまでは、以前のファイルのままであり、先頭テーブルの「table-id」が書き換えられると、即座に、更新されたファイルの内容になる。したがって、ファイルのロックをしなくても「書き込み中に読み込みも実行できる」ようになる。また、本システムでは「コピー、スナップショットが容易である」というメリットも得られる。コピーやスナップショットの方法としては、例えば、新しい「file-id」に対して、既存ファイルの「table-id」をコピーする方法がある
。これにより、同一の「table-id」の内容の同一性が保証される。
ようにしている。したがって、図18において実線で示すように、各仮想ストレージが独立に仮想デバイスにアクセスすることで分散処理を実現することができる。例えば、仮想デバイスがサービス事業者である場合には、事業者間の負荷分散が可能になる。また、仮想デバイスがサーバである場合には、サーバ間での負荷分散が可能になる。いずれの場合にも、フロントエンドの個々の仮想ストレージはお互いに干渉しない。また、本システムでは、特に大容量ファイルの場合に負荷分散が容易である。その場合、構成するテーブル、ブロック数が多くなるため、統計的にアクセスが分散することになる。結果として、本システムでは、極めてスケーラビリティが高い「アクセス分散」の仕組みが実現できる。
て決定される。なお、書き込み時の処理は、該当の仮想デバイスすべてに対して同じオブジェクトのデータを書き込む。また、読み出し時の処理は、該当の仮想デバイスに対して順次読み込みを行い、最初にレスポンスが返ってきた時点で、それを読み込みデータとして用いる、または、該当の仮想デバイスに対して並列読み込みを行い、最もレスポンスが早かったものを読み込みデータとして用いる。
2 ユーザ端末
3 クライアント装置(ストレージサービス提供装置)
4 ストレージ装置
5 通信部
6 書き込み・読み出し処理部
7 サービステーブル記憶部
8 通信部
9 ファイル・オブジェクト保存部
10 ファイル・オブジェクト管理部
Claims (36)
- 複数のストレージ装置とネットワークを介して接続され、これらのストレージ装置を利用してファイルを保存するサービスを提供するストレージサービス提供装置であって、
書き込むべきファイルを一つ以上のデータに分解し、該ファイルを構成するデータをブロックオブジェクトとして、各ブロックオブジェクトにオブジェクト識別情報を付与する手段と、
前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を作成し、該情報を管理情報オブジェクトとして、管理情報オブジェクトにオブジェクト識別情報を付与する手段と、
オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段と、
前記各ブロックオブジェクト及び前記管理情報オブジェクトを、それぞれのオブジェクト識別情報に基づいて特定されるそれぞれのストレージ装置へ送信して保存させる手段とを備えることを特徴とするストレージサービス提供装置。 - 読み出すべきファイルに対応する先頭オブジェクト識別情報を求め、当該先頭オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記管理情報オブジェクトを取得する手段と、
取得された管理情報オブジェクトに含まれている前記ファイルを構築するための情報を用いて、前記ファイルを構成するデータを有するブロックオブジェクトのオブジェクト識別情報を求め、当該オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記ブロックオブジェクトを取得する手段と、
取得されたブロックオブジェクトが有するデータを、前記ファイルを構築するための情報に従って並べることにより、前記ファイルを取得する手段と
をさらに備える、請求項1に記載のストレージサービス提供装置。 - あるファイルに対応する管理情報オブジェクトと、別のファイルに対応する管理情報オブジェクトとが、前記複数のストレージ装置のうちの別々のストレージ装置に保存されるように、ストレージ装置を特定するためのオブジェクト識別情報が割り当てられるものである、請求項1〜2のいずれかに記載のストレージサービス提供装置。
- 前記オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段は、特定されたストレージ装置に適合するアクセス方法をも特定するものであり、
前記特定されたアクセス方法に従い、前記特定されたストレージ装置に対して、前記オブジェクト識別情報の付与されたオブジェクトの保存又は取得を要求することにより、前記ネットワークを介して接続されたストレージ装置の利用が行われる、請求項1〜3のいずれかに記載のストレージサービス提供装置。 - 前記複数のストレージ装置は、それぞれ、前記ストレージサービス提供装置をクライアントとし、任意のアクセスプロトコルにて動作することが可能な、ストレージサーバである、請求項1〜4のいずれかに記載のストレージサービス提供装置。
- 前記複数のストレージ装置のうち、ある一部のストレージ装置と他の一部のストレージ装置とが、異なるサービス提供事業者により提供されるストレージサービスに係るものである、請求項1〜5のいずれかに記載のストレージサービス提供装置。
- 前記複数のストレージ装置を利用して保存されるファイルに対する書き込み要求又は読み出し要求を、ユーザ端末から受信する手段をさらに備え、
前記書き込み要求又は読み出し要求は、汎用のファイルシステムで用いられる形式の要求である、請求項1〜6のいずれかに記載のストレージサービス提供装置。 - 前記管理情報オブジェクトは、前記ファイルのそれぞれ別の部分を構成するデータを有する複数のブロックオブジェクトのオブジェクト識別情報と、各ブロックオブジェクトのデータが前記ファイル中のどの部分に並ぶべきかを示すオフセット情報とを含むものである、請求項1〜7のいずれかに記載のストレージサービス提供装置。
- 前記管理情報オブジェクトには、
前記ファイル内のある領域におけるそれぞれ別の部分を構成するデータを有する複数のブロックオブジェクトのオブジェクト識別情報と、各ブロックオブジェクトのデータが前記ある領域中のどの部分に並ぶべきかを示す領域内オフセット情報とを含む第1の管理情報オブジェクトと、
前記第1の管理情報オブジェクトのオブジェクト識別情報と、該第1の管理情報オブジェクトが情報を有する前記ある領域が前記ファイル内でどこに位置するものかを示すファイル内オフセット情報とを含む第2の管理情報オブジェクトとがある、請求項1〜8のいずれかに記載のストレージサービス提供装置。 - 前記管理情報オブジェクトは、再帰構造を有する複数の管理情報オブジェクトから構成されることが可能なものであり、
前記ブロックオブジェクトの数が所定数より多い場合には、前記再帰構造の階層を増加させて、複数の管理情報オブジェクトを生成する、請求項1〜9のいずれかに記載のストレージサービス提供装置。 - 前記管理情報オブジェクトは、複数のオブジェクト識別情報を含み、
前記複数のオブジェクト識別情報のうちある一つに基づいて特定されるストレージ装置に対して、該ある一つのオブジェクトの保存又は取得を要求する処理と、前記複数のオブジェクト識別情報のうち別の一つに基づいて特定されるストレージ装置に対して、該別の一つのオブジェクトの保存又は取得を要求する処理とを、並行して行う、請求項1〜10のいずれかに記載のストレージサービス提供装置。 - 保存されているファイルのデータの一部を更新する場合、データが書き換わるブロックオブジェクトに新たなオブジェクト識別情報を付与し、当該ブロックオブジェクトのデータから前記ファイルを構築するための情報を含む管理情報オブジェクトにも新たなオブジェクト識別情報を付与し、前記管理情報オブジェクトの新たなオブジェクト識別情報が前記ファイルに対応する先頭オブジェクト識別情報として求められるように設定することにより、同一のオブジェクト識別情報を有するオブジェクトの内容を不変とする管理を行うものである、請求項1〜11のいずれかに記載のストレージサービス提供装置。
- オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段は、二つ以上のストレージ装置を特定可能なものであり、
前記各ブロックオブジェクト及び前記管理情報オブジェクトを、複製して、それぞれのオブジェクト識別情報に基づいて特定されるそれぞれの前記二つ以上のストレージ装置へ送信して保存させる手段をさらに備える、請求項1〜12のいずれかに記載のストレージサービス提供装置。 - 読み出すべきファイルに対応する管理情報オブジェクト及び各ブロックオブジェクトのそれぞれのオブジェクト識別情報に基づいて、前記複数のストレージ装置のうち該当するオブジェクト又はその複製を保存している二つ以上を特定する手段と、
特定された一つのストレージ装置にアクセスして応答がなかった場合に、特定された別
のストレージ装置にアクセスしてオブジェクト又はその複製を取得する手段と
をさらに備える、請求項1〜13に記載のストレージサービス提供装置。 - 読み出すべきファイルに対応する管理情報オブジェクト及び各ブロックオブジェクトのそれぞれのオブジェクト識別情報に基づいて、前記複数のストレージ装置のうち該当するオブジェクト又はその複製を保存している二つ以上を特定する手段と、
特定された二つ以上のストレージ装置に並行してアクセスし、応答の早かったストレージ装置からオブジェクト又はその複製を取得する手段と
をさらに備える、請求項1〜14に記載のストレージサービス提供装置。 - 保存されているファイルに対し部分的にデータを書き込む場合、書き込み対象のデータが前記ファイル中のどの部分に並ぶべきものかが指定され、
前記ファイルに属する全てのブロックオブジェクト及び管理情報オブジェクトのうち前記指定された部分に関係するものを選択して又は新たにオブジェクトを生成して、この選択又は新たに生成された各オブジェクトのオブジェクト識別情報に基づいてそれぞれ特定されるストレージ装置にアクセスし、残りのオブジェクトについてはストレージ装置へのアクセスを行わない、請求項1〜15のいずれかに記載のストレージサービス提供装置。 - 保存されているファイルからデータを部分的に読み出す場合、読み出し対象のデータが前記ファイル中のどの部分に並んでいるものかが指定され、
前記ファイルに属する全てのブロックオブジェクト及び管理情報オブジェクトのうち前記指定された部分に関係するものを選択して、この選択された各オブジェクトのオブジェクト識別情報に基づいてそれぞれ特定されるストレージ装置にアクセスし、残りのオブジェクトについてはストレージ装置へのアクセスを行わない、請求項1〜16のいずれかに記載のストレージサービス提供装置。 - 前記書き込むべきファイルは、ユーザにより元のファイルの全体が暗号化されたものであって、複数のデータに分割され、
前記複数のデータのうちあるデータを有するブロックオブジェクトと、別のデータを湯有するブロックオブジェクトとが、前記複数のストレージ装置のうちの別々のストレージ装置に保存されるように、ストレージ装置を特定するためのオブジェクト識別情報が割り当てられるものである、請求項1〜17のいずれかに記載のストレージサービス提供装置。 - 前記書き込むべきファイルは、ユーザにより元のファイルの全体が暗号化されたものであって、複数のデータに分割され、
前記複数のデータのうちあるデータを有するブロックオブジェクトと、前記管理情報オブジェクトとが、前記複数のストレージ装置のうちの別々のストレージ装置に保存されるように、ストレージ装置を特定するためのオブジェクト識別情報が割り当てられるものである、請求項1〜18のいずれかに記載のストレージサービス提供装置。 - 前記管理情報オブジェクトは、前記ファイルの部分を構成するデータを有するブロックオブジェクトのオブジェクト識別情報と、当該ブロックオブジェクトのデータが前記ファイル中のどの部分に並ぶべきかを示すオフセット情報とを含み、
前記ファイル内にデータが存在しない部分がある場合、該データが存在しない部分に対応するブロックオブジェクトは生成せずに、存在するデータを有するブロックオブジェクト及び前記管理情報オブジェクトを保存させ、
ファイルを読み出す際に、前記管理情報オブジェクトにより、前記ファイル中のある部分に対応するオブジェクト識別情報が存在しないことが示されると、該ある部分にNULデータを並べることにより、前記ファイルを取得する、請求項1〜19のいずれかに記載
のストレージサービス提供装置。 - 前記管理情報オブジェクトは、前記ファイルの部分を構成するデータを有するブロックオブジェクトのオブジェクト識別情報と、当該ブロックオブジェクトのデータが前記ファイル中のどの部分に並ぶべきかを示すオフセット情報とを含み、
前記ファイル内にデータが存在する部分に続けてデータが存在しない部分がある場合、存在するデータと該データの長さの情報とを有するブロックオブジェクト及び前記管理情報オブジェクトを保存させ、
ファイルを読み出す際に、前記管理情報オブジェクトが示す前記ファイル中のある部分に並ぶべきデータの長さが、該ある部分に対応するブロックオブジェクトが有する長さの情報が示すデータの長さより長いならば、長さが足りない分NULデータを並べることにより、前記ファイルを取得する、請求項1〜20のいずれかに記載のストレージサービス提供装置。 - 読み出すべきファイルに対応して求められる先頭オブジェクト識別情報が付与された管理情報オブジェクトは、該ファイルの全体の長さの情報と、該長さを有する前記ファイル内のどの部分にどのオブジェクト識別情報が付与されたオブジェクトが配置されるかを示す情報とを含み、
前記オブジェクト識別情報が付与されたオブジェクトが再び管理情報オブジェクトである場合には、当該管理情報オブジェクトは、当該オブジェクトが前記ファイル内で配置される領域の長さの情報と、該長さを有する前記領域中のどの部分にどのオブジェクト識別情報が付与されたオブジェクトが配置されるかを示す情報とを含み、
前記オブジェクト識別情報が付与されたオブジェクトがブロックオブジェクトである場合には、当該ブロックオブジェクトは、前記ファイルを構成するデータと、該データの長さの情報とを有する、請求項1〜21のいずれかに記載のストレージサービス提供装置。 - 保存されているファイルのデータの一部を更新する場合、前記ファイルに属するブロックオブジェクト及び管理情報オブジェクトのうち、データが書き換わるブロックオブジェクト及び当該ブロックオブジェクトのオブジェクト識別情報を含む管理情報オブジェクトを、各オブジェクトを保存しているストレージ装置から取得し、取得された各オブジェクトの内容のうち、前記データの書き換えによって変更されない部分はそのまま残し、変更される部分にデータを書き込むことにより、新たな各オブジェクトを生成し、該新たな各オブジェクトのオブジェクト識別情報に基づいて特定されるストレージ装置に保存させる、請求項1〜22のいずれかに記載のストレージサービス提供装置。
- 前記オブジェクト識別情報を付与する手段は、前記複数のストレージ装置に保存される全てのブロックオブジェクト及び管理情報オブジェクトの間で一意になるように、新たなオブジェクト識別情報を割り当てるものである、請求項1〜23のいずれかに記載のストレージサービス提供装置。
- 前記オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段は、前記オブジェクト識別情報の値に対して所定の計算を行った結果を前記複数のストレージ装置の数で割り算して得られる余りの値に従って、前記複数のストレージ装置のうちの一つを特定することを含む、請求項1〜24のいずれかに記載のストレージサービス提供装置。
- 前記オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段は、前記複数のストレージ装置のそれぞれに該装置の担当する値の範囲を割り振り、前記オブジェクト識別情報の値に対して所定の計算を行った結果と各装置の担当する値の範囲とを比較することにより、前記複数のストレージ装置のうちの一つを特
定することを含む、請求項1〜24のいずれかに記載のストレージサービス提供装置。 - 前記ネットワークを介して接続されるストレージ装置が追加又は削除される場合、前記オブジェクト識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段は、複数のオブジェクト識別情報のうちの一部について追加されたストレージ装置が特定されるように、又は、いずれのオブジェクト識別情報についても削除されたストレージ装置が特定されないように、特定の処理方法を変更するものである、請求項26に記載のストレージサービス提供装置。
- 読み出すべきファイルに対応する先頭オブジェクト識別情報を記憶する手段をさらに備え、
前記記憶された先頭オブジェクト識別情報に基づいて、前記ファイルについて最初にアクセスするストレージ装置を特定するものである、請求項1〜27のいずれかに記載のストレージサービス提供装置。 - 読み出すべきファイルの識別情報に基づいて前記複数のストレージ装置のうちの少なくとも一つを特定する手段をさらに備え、
ここで特定されるストレージ装置が、読み出すべきファイルに対応する先頭オブジェクト識別情報を、管理情報オブジェクトの一種として保存するものである、請求項1〜27のいずれかに記載のストレージサービス提供装置。 - 各ファイルに対応する先頭オブジェクト識別情報をファイルの属性情報とともに記憶する属性管理装置とネットワークを介して接続する手段をさらに備え、
読み出すべきファイルに対応する先頭オブジェクト識別情報を前記属性管理装置から取得し、取得した先頭オブジェクト識別情報に基づいて、前記ファイルについて最初にアクセスするストレージ装置を特定するものである、請求項1〜27のいずれかに記載のストレージサービス提供装置。 - クライアント装置及び該クライアント装置にネットワークを介して接続された複数のストレージ装置を備え、該クライアント装置がユーザに対してファイルのストレージサービスを提供するシステムであって、
前記複数のストレージ装置は、
一つのファイルにつき、それぞれオブジェクト識別情報が付与された複数のブロックオブジェクト及び一つ以上の管理情報オブジェクトを保存する手段を備え、
前記複数のブロックオブジェクトのそれぞれは、複数のデータに分解された前記ファイルを構成する各データを有し、前記管理情報オブジェクトは、前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を有するものであり、
前記クライアント装置は、
読み出すべきファイルに対応する先頭オブジェクト識別情報を求め、当該先頭オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記管理情報オブジェクトを取得する手段と、
取得された管理情報オブジェクトに含まれている前記ファイルを構築するための情報を用いて、前記ファイルを構成するデータを有するブロックオブジェクトのオブジェクト識別情報を求め、当該オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記ブロックオブジェクトを取得する手段と、
取得されたブロックオブジェクトが有するデータを、前記ファイルを構築するための情報に従って並べることにより、前記ファイルを取得する手段と
を備えることを特徴とするシステム。 - 前記システムが、複数の前記クライアント装置を備え、
前記管理情報オブジェクトは、複数のオブジェクト識別情報を含み、
前記複数のクライアント装置のそれぞれは、
前記読み出すべきファイルに対応する先頭オブジェクト識別情報を求めることができるように設定され、
前記先頭オブジェクト識別情報に基づいて前記管理情報オブジェクトの取得を要求する処理及び前記複数のオブジェクト識別情報に基づいて各オブジェクトの取得を要求する処理を、他のクライアント装置から独立して行う、請求項31に記載のシステム。 - 複数のストレージ装置とネットワークを介して接続されたコンピュータにより、これらのストレージ装置を利用してファイルを保存するサービスを提供する方法であって、
書き込むべきファイルを一つ以上のデータに分解し、該ファイルを構成するデータをブロックオブジェクトとして、各ブロックオブジェクトにオブジェクト識別情報を付与し、
前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を作成し、該情報を管理情報オブジェクトとして、管理情報オブジェクトにオブジェクト識別情報を付与し、
前記各ブロックオブジェクト及び前記管理情報オブジェクトを、前記複数のストレージ装置のうち、それぞれのオブジェクト識別情報に基づいて特定されるそれぞれのストレージ装置へ、送信して保存させることを特徴とするサービス提供方法。 - 複数のストレージ装置とネットワークを介して接続されたコンピュータにより、これらのストレージ装置を利用して保存されているファイルを取得するサービスを提供する方法であって、
一つのファイルにつき、それぞれオブジェクト識別情報が付与された複数のブロックオブジェクト及び一つ以上の管理情報オブジェクトが保存されており、
前記複数のブロックオブジェクトのそれぞれは、複数のデータに分解された前記ファイルを構成する各データを有し、前記管理情報オブジェクトは、前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を有するものであり、
読み出すべきファイルに対応する先頭オブジェクト識別情報を求め、当該先頭オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記管理情報オブジェクトを取得し、
取得された管理情報オブジェクトに含まれている前記ファイルを構築するための情報を用いて、前記ファイルを構成するデータを有するブロックオブジェクトのオブジェクト識別情報を求め、当該オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記ブロックオブジェクトを取得し、
取得されたブロックオブジェクトが有するデータを、前記ファイルを構築するための情報に従って並べることにより、前記ファイルを取得することを特徴とするサービス提供方法。 - 複数のストレージ装置とネットワークを介して接続されたコンピュータを、これらのストレージ装置を利用してファイルを保存するサービスを提供する装置として動作させるためのプログラムであって、
書き込むべきファイルを一つ以上のデータに分解し、該ファイルを構成するデータをブロックオブジェクトとして、各ブロックオブジェクトにオブジェクト識別情報を付与するためのプログラムコードと、
前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を作成し、該情報を管理情報オブジェクトとして、管理情報オブジェクトにオブジェクト識別情報を付与するためのプログラムコードと、
前記各ブロックオブジェクト及び前記管理情報オブジェクトを、前記複数のストレージ装置のうち、それぞれのオブジェクト識別情報に基づいて特定されるそれぞれのストレージ装置へ、送信して保存させるためのプログラムコードと
を備えることを特徴とするサービス提供プログラム。 - 複数のストレージ装置とネットワークを介して接続されたコンピュータを、これらのストレージ装置を利用して保存されているファイルを取得するサービスを提供する装置として動作させるためのプログラムであって、
一つのファイルにつき、それぞれオブジェクト識別情報が付与された複数のブロックオブジェクト及び一つ以上の管理情報オブジェクトが保存されており、
前記複数のブロックオブジェクトのそれぞれは、複数のデータに分解された前記ファイルを構成する各データを有し、前記管理情報オブジェクトは、前記各ブロックオブジェクトのデータから前記ファイルを構築するための情報を有するものであり、
読み出すべきファイルに対応する先頭オブジェクト識別情報を求め、当該先頭オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記管理情報オブジェクトを取得するためのプログラムコードと、
取得された管理情報オブジェクトに含まれている前記ファイルを構築するための情報を用いて、前記ファイルを構成するデータを有するブロックオブジェクトのオブジェクト識別情報を求め、当該オブジェクト識別情報に基づいて特定されるストレージ装置にアクセスして、前記ブロックオブジェクトを取得するためのプログラムコードと、
取得されたブロックオブジェクトが有するデータを、前記ファイルを構築するための情報に従って並べることにより、前記ファイルを取得するためのプログラムコードと
を備えることを特徴とするサービス提供プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013019173A JP5236129B2 (ja) | 2013-02-04 | 2013-02-04 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013019173A JP5236129B2 (ja) | 2013-02-04 | 2013-02-04 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010237828A Division JP5822452B2 (ja) | 2010-10-22 | 2010-10-22 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013093050A true JP2013093050A (ja) | 2013-05-16 |
JP5236129B2 JP5236129B2 (ja) | 2013-07-17 |
Family
ID=48616077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013019173A Active JP5236129B2 (ja) | 2013-02-04 | 2013-02-04 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5236129B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489587B1 (ko) | 2013-08-16 | 2015-02-06 | 한양대학교 에리카산학협력단 | 미디어 클라우드 서비스를 위한 가상 프레임워크 |
WO2016088258A1 (ja) * | 2014-12-05 | 2016-06-09 | 株式会社日立製作所 | ストレージシステム、バックアッププログラム及びデータ管理方法 |
US10691478B2 (en) | 2016-08-15 | 2020-06-23 | Fujitsu Limited | Migrating virtual machine across datacenters by transferring data chunks and metadata |
WO2022038934A1 (ja) * | 2020-08-18 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2022038935A1 (ja) * | 2020-08-21 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
WO2022038933A1 (ja) * | 2020-08-18 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1115720A (ja) * | 1997-06-26 | 1999-01-22 | Hitachi Ltd | 高速ファイル入出力制御方法 |
US6029168A (en) * | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
JP2000207370A (ja) * | 1999-01-20 | 2000-07-28 | Matsushita Electric Ind Co Ltd | 分散ファイル管理装置及び分散ファイル管理システム |
JP2003280962A (ja) * | 2002-03-22 | 2003-10-03 | Seiko Epson Corp | 分散装置によるデータ保護システム及びその方法並びにコンピュータプログラム |
JP2004280283A (ja) * | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
JP2005215735A (ja) * | 2004-01-27 | 2005-08-11 | Hitachi Ltd | ファイル入出力制御装置 |
JP2006350470A (ja) * | 2005-06-13 | 2006-12-28 | National Institute Of Advanced Industrial & Technology | データ管理装置および方法 |
JP2009064189A (ja) * | 2007-09-05 | 2009-03-26 | Nippon Telegr & Teleph Corp <Ntt> | ファイル書込みシステムおよび方法 |
-
2013
- 2013-02-04 JP JP2013019173A patent/JP5236129B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1115720A (ja) * | 1997-06-26 | 1999-01-22 | Hitachi Ltd | 高速ファイル入出力制御方法 |
US6029168A (en) * | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
JP2000207370A (ja) * | 1999-01-20 | 2000-07-28 | Matsushita Electric Ind Co Ltd | 分散ファイル管理装置及び分散ファイル管理システム |
JP2003280962A (ja) * | 2002-03-22 | 2003-10-03 | Seiko Epson Corp | 分散装置によるデータ保護システム及びその方法並びにコンピュータプログラム |
JP2004280283A (ja) * | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
JP2005215735A (ja) * | 2004-01-27 | 2005-08-11 | Hitachi Ltd | ファイル入出力制御装置 |
JP2006350470A (ja) * | 2005-06-13 | 2006-12-28 | National Institute Of Advanced Industrial & Technology | データ管理装置および方法 |
JP2009064189A (ja) * | 2007-09-05 | 2009-03-26 | Nippon Telegr & Teleph Corp <Ntt> | ファイル書込みシステムおよび方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101489587B1 (ko) | 2013-08-16 | 2015-02-06 | 한양대학교 에리카산학협력단 | 미디어 클라우드 서비스를 위한 가상 프레임워크 |
WO2016088258A1 (ja) * | 2014-12-05 | 2016-06-09 | 株式会社日立製作所 | ストレージシステム、バックアッププログラム及びデータ管理方法 |
US10691478B2 (en) | 2016-08-15 | 2020-06-23 | Fujitsu Limited | Migrating virtual machine across datacenters by transferring data chunks and metadata |
WO2022038934A1 (ja) * | 2020-08-18 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2022038933A1 (ja) * | 2020-08-18 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2022038935A1 (ja) * | 2020-08-21 | 2022-02-24 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5236129B2 (ja) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5822452B2 (ja) | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム | |
US11200332B2 (en) | Passive distribution of encryption keys for distributed data stores | |
US10846411B2 (en) | Distributed database systems and methods with encrypted storage engines | |
JP6479020B2 (ja) | 分散ストレージシステムにおけるオブジェクトの階層チャンキング | |
CN105678189B (zh) | 加密数据文件存储和检索系统及方法 | |
JP5236129B2 (ja) | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム | |
US8200788B2 (en) | Slice server method and apparatus of dispersed digital storage vaults | |
CN110636141B (zh) | 基于云雾协同的多云存储系统及其管理方法 | |
EP3433739A1 (en) | Multiple dataset backup versions across multi-tiered storage | |
Li et al. | Write-only oblivious RAM-based privacy-preserved access of outsourced data | |
US10909143B1 (en) | Shared pages for database copies | |
US10719554B1 (en) | Selective maintenance of a spatial index | |
CN110633261A (zh) | 一种图片存储方法、图片查询方法及装置 | |
JP5174255B2 (ja) | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム | |
JP6033370B2 (ja) | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム | |
Yatskiv et al. | Protected Distributed Data Storage Based on Residue Number System and Cloud Services | |
Amaechi et al. | Data Storage Management in Cloud Computing Using Deduplication Technique | |
Imran et al. | Searching in cloud object storage by using a metadata model | |
Zhang et al. | A study of the use of idas in cloud storage | |
Mallikarjuna et al. | Cloud storage for data sharing: infrastructure as service (IaaS) in cloud environment | |
US20240005017A1 (en) | Fencing off cluster services based on access keys for shared storage | |
US20240004712A1 (en) | Fencing off cluster services based on shared storage access keys | |
Ruan et al. | Design and implementation of ZTE object storage system | |
Aladyshev et al. | Expectations of the High Performance Computing Cluster File System Selection | |
NAGOTIA et al. | Big File Cloud Based On Amazon Cloud Storage with Key-Value Store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130222 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5236129 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160405 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |