JP2012089094A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2012089094A5 JP2012089094A5 JP2010237828A JP2010237828A JP2012089094A5 JP 2012089094 A5 JP2012089094 A5 JP 2012089094A5 JP 2010237828 A JP2010237828 A JP 2010237828A JP 2010237828 A JP2010237828 A JP 2010237828A JP 2012089094 A5 JP2012089094 A5 JP 2012089094A5
- Authority
- JP
- Japan
- Prior art keywords
- file
- storage
- identification information
- management information
- block
- 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
Images
Description
これにより、ファイルに対応する先頭オブジェクト識別情報から、ファイルを構成するデータを有するブロックオブジェクトまでの間に、複数の管理情報オブジェクトを仮想的に配置して、2つ以上の階層を有する再帰構造をとらせることができる。ファイルのサイズが巨大になった場合、階層が一つしかないと、管理情報(本例では、各ブロックオブジェクトのオブジェクト識別情報とオフセット情報のリスト)の量が増加して、管理情報の全体を読み出すのにも、アクセスしたいブロックオブジェクトの情報を検索して選択的に読み出すのにも、時間がかかってしまうが、この膨大な管理情報を複数に分割して複数の管理情報オブジェクト(上記でいう第1の管理情報オブジェクト)を生成し、各管理情報オブジェクトのオブジェクト識別情報とオフセット情報のリストを含む新たな管理情報オブジェクト(上記でいう第2の管理情報オブジェクト)を設ければ、これら複数の管理情報オブジェクトも複数のストレージ装置に分散して保存され、並列でアクセスすることが可能になる。
図3は、本システムのストレージ装置4の構成を示すブロック図である。図3に示すように、ストレージ装置4は、クライアント装置3との通信を行う通信部8と、ファイルやオブジェクトが保存されるファイル・オブジェクト管理部9と、保存されているファイルやオブジェクトの管理を行うファイル・オブジェクト保存部10を備えている。
次に、本システムのファイル構造について説明する。図5および図6は、本システムのファイル構造の概念図である。本システムでは、図5に示すようなデータ構造でファイルが表現される。ユーザ端末からアクセスされるファイルは、「ファイルオブジェクト(単にファイルともいう)」、「テーブルオブジェクト(単にテーブルともいう)」、「ブロックオブジェクト(単にブロックともいう)」により構成される階層構造を有している。この場合、「ファイルオブジェクト」の中に「テーブルオブジェクト」が含まれ、「テーブルオブジェクト」の中に「ブロックオブジェクト」が含まれる。図5に示すように、「テーブルオブジェクト」の中に「テーブルオブジェクト」が含まれてもよい。なお、この概念図は、本システムのファイル構造を抽象的に表現したものである(データの実体やデータの保存場所については後述する)。
次に、本システムにおけるオブジェクトの定義について説明する。オブジェクトは、そのオブジェクトを識別するために一意性を有する識別子(object-id)と、データの長さ(length)の情報を持っている。「object-id」としては、例えば、64ビットの整数、UUID、任意の文字列などが使用される。また、「length」は、負でない整数であり、例えば64ビットの整数などで表現される。オブジェクトの「length」は、「getLength」で取得することができる。本システムのオブジェクトには、ブロックとテーブルが含まれる。
この場合、「object-id」は、「file-id」または「table-id」または「block-id」である。また、「object_offset」は、そのオブジェクト内での相対位置(offset)を表現する情報である。また、「buffer」と「bufoff」と「buflen」は、「バッファ」を表現する情報である。読み出しや書き込みの要求は、実際のデータの受け渡しを「buffer」というポインタで始まるデータ領域の「bufoff」で示される相対位置から、「buflen」という長さのバイト分のデータという形で表現する。「writeAt」で書き込みをするときには、上記のデータ領域(バッファ領域)から書き込むべきデータを取得して、データを書き込む。「readAt」で読み出しをするときには、上記のデータ領域(バッファ領域)に読み出したデータをコピーすることにより、データが読み出される。
ブロック(ブロックオブジェクト)からの読み出し(READ-3)の機能は、「readAt (object-id, object_offset, buffer, bufoff, buflen)」により実装される。この場合、「object-id」は「block-id」である。このブロックからの読み出しでは、該当ブロックの現在のデータを読み出す処理が行われる。例えば、「getContent(object-id)」により「currentData」が読み出される。「currentLength」は、この「currentData」のバイト列(実データ)の長さである。ブロックからの読み出しでは、「currentData」のバイト列に対して、「object_offset」から始まる「readlen」バイト分のデータを、「(buffer, bufoff, readlen)」にロードして、「readlen」を返す。ここで、「readlen」は、「min(buflen, currentLength) 」である。
そして、「table-1」の内容を、仮想デバイスの選択アルゴリズム(後述する)を用いて、事業者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」の内容が「350,<0,block-d>,<250,block-e>」である。そうすると、これらのテーブルの内容に従って、オフセット0の位置に配置された100バイトの長さの「block-a」のデータと、オフセット100の位置に配置された100バイトの長さの「block-b」のデータと、オフセット200の位置に配置された100バイトの長さの「block-c」のデータと、オフセット300(領域オフセット0)の位置に配置された250バイトの長さの「block-d」のデータと、オフセット550(領域オフセット250)の位置に配置された100バイトの長さの「block-e」のデータが読み出される。
次に、図13および図14を参照して、「object_offset」が「10000から200バイト」のデータ(data2)を書き込む処理について説明する。図13に示すように、「WRITE-1」の機能により、ファイルへの書き込みが実行される。この場合、「object_offset」が十分に大きいと判断され、階層を増やす処理が実行される。つまり、現状の「table-y」を単一要素とする、新テーブルが作成される。なお、このとき、テーブルの深さだけが変わるだけで、「getLength()」で取得できる値は「table-y」と同じである。新しく作られたテーブルについては、「table-α = createId()」、「putTable(table-α, 200, <0,table-y>)」が実行される。そして、この新しく作られたテーブル「table-α」に対して「writeAt(table-α, 10000, data2, 0, 200)」が実行される。
1 分散型ストレージサービス提供システム(本システム)
2 ユーザ端末
3 クライアント装置(ストレージサービス提供装置)
4 ストレージ装置
5 通信部
6 書き込み・読み出し処理部
7 サービステーブル記憶部
8 通信部
9 ファイル・オブジェクト管理部
10 ファイル・オブジェクト保存部
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 (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237828A JP5822452B2 (ja) | 2010-10-22 | 2010-10-22 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
PCT/JP2011/005629 WO2012053156A1 (ja) | 2010-10-22 | 2011-10-06 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
US13/822,588 US20130311520A1 (en) | 2010-10-22 | 2011-10-06 | Storage-service-provision apparatus,system, service-provision method, and service-provision program |
SG10201508708QA SG10201508708QA (en) | 2010-10-22 | 2011-10-06 | Storage-service-provision apparatus, system, service-provision method, and service-provision program |
SG2013026760A SG189342A1 (en) | 2010-10-22 | 2011-10-06 | Storage-service-provision apparatus, system, service-provision method, and service-provision program |
EP11834002.5A EP2631805A4 (en) | 2010-10-22 | 2011-10-06 | Storage-service-provision device, system, service-provision method, and service-provision program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010237828A JP5822452B2 (ja) | 2010-10-22 | 2010-10-22 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012040818A Division JP5174255B2 (ja) | 2012-02-28 | 2012-02-28 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2013019173A Division JP5236129B2 (ja) | 2013-02-04 | 2013-02-04 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2015130494A Division JP6033370B2 (ja) | 2015-06-29 | 2015-06-29 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012089094A JP2012089094A (ja) | 2012-05-10 |
JP2012089094A5 true JP2012089094A5 (ja) | 2014-01-23 |
JP5822452B2 JP5822452B2 (ja) | 2015-11-24 |
Family
ID=45974887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010237828A Active JP5822452B2 (ja) | 2010-10-22 | 2010-10-22 | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130311520A1 (ja) |
EP (1) | EP2631805A4 (ja) |
JP (1) | JP5822452B2 (ja) |
SG (2) | SG189342A1 (ja) |
WO (1) | WO2012053156A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103931156B (zh) * | 2011-05-14 | 2019-01-01 | 比特卡萨公司 | 具有用户不可知加密文件的服务器侧去重的云文件*** |
US9542466B2 (en) * | 2012-05-10 | 2017-01-10 | Aetherstore Inc. | Systems and methods for distributed storage |
US9519663B2 (en) * | 2013-06-26 | 2016-12-13 | Sap Se | Upgrading and migrating a database by a migration tool |
CN103530388A (zh) * | 2013-10-22 | 2014-01-22 | 浪潮电子信息产业股份有限公司 | 一种云存储***中提升性能的数据处理方法 |
CN104021164B (zh) * | 2014-05-28 | 2017-07-14 | 华为技术有限公司 | 一种管理数据的方法及装置 |
US10860237B2 (en) | 2014-06-24 | 2020-12-08 | Oracle International Corporation | Storage integrated snapshot cloning for database |
US10346362B2 (en) * | 2014-09-26 | 2019-07-09 | Oracle International Corporation | Sparse file access |
CN105577711B (zh) * | 2014-10-08 | 2019-05-03 | 华为技术有限公司 | 消息处理方法、装置及消息处理*** |
US11068437B2 (en) | 2015-10-23 | 2021-07-20 | Oracle Interntional Corporation | Periodic snapshots of a pluggable database in a container database |
US10521114B2 (en) * | 2016-02-26 | 2019-12-31 | Red Hat, Inc. | Adding or removing a storage provider in unified storage manager |
US10235241B2 (en) * | 2017-03-15 | 2019-03-19 | International Business Machines Corporation | Method for partial updating data content in a distributed storage network |
CN107818136B (zh) * | 2017-09-26 | 2021-12-14 | 华为技术有限公司 | 用于回收垃圾对象数据的方法和装置 |
EP3834093A1 (en) | 2018-08-06 | 2021-06-16 | Oracle International Corporation | Techniques for maintaining statistics in a database system |
US11068460B2 (en) | 2018-08-06 | 2021-07-20 | Oracle International Corporation | Automated real-time index management |
CN110413588B (zh) * | 2019-07-30 | 2022-05-17 | 中国工商银行股份有限公司 | 分布式对象存储方法、装置、计算机设备和存储介质 |
KR102620855B1 (ko) * | 2021-09-28 | 2024-01-02 | 단국대학교 산학협력단 | 클라우드 환경에서 암호화된 콘텐츠의 동적 업데이트 방법 및 클라우드 서버 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08153111A (ja) * | 1994-11-28 | 1996-06-11 | Toshiba Corp | ハイパーメディアシステムおよびハイパーメディア文書作成・編集方法 |
JPH09259028A (ja) * | 1996-03-19 | 1997-10-03 | Toshiba Corp | 情報呈示方法 |
JPH10143403A (ja) * | 1996-11-12 | 1998-05-29 | Fujitsu Ltd | 情報管理装置および情報管理プログラム記憶媒体 |
JPH10260890A (ja) * | 1997-03-18 | 1998-09-29 | Sharp Corp | ハイパーテキストデータブラウジングシステム |
JP3817339B2 (ja) * | 1997-06-26 | 2006-09-06 | 株式会社日立製作所 | ファイル入出力制御方法 |
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 |
EP1049029A3 (en) * | 1999-04-28 | 2003-07-09 | Emc Corporation | File systems with versatile indirection |
EP1364510B1 (en) * | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US20020065800A1 (en) * | 2000-11-30 | 2002-05-30 | Morlitz David M. | HTTP archive file |
US7280540B2 (en) * | 2001-01-09 | 2007-10-09 | Stonesoft Oy | Processing of data packets within a network element cluster |
JP2002351705A (ja) * | 2001-05-23 | 2002-12-06 | Matsushita Electric Ind Co Ltd | デジタル信号記録再生装置、及びデジタル信号記録再生方法 |
US7685126B2 (en) * | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
JP2003280962A (ja) * | 2002-03-22 | 2003-10-03 | Seiko Epson Corp | 分散装置によるデータ保護システム及びその方法並びにコンピュータプログラム |
EP1584011A4 (en) * | 2003-01-02 | 2010-10-06 | F5 Networks Inc | METADATA BASED FILE DETECTION AND MEDIATED FILE SYSTEM |
JP4237515B2 (ja) * | 2003-02-07 | 2009-03-11 | 株式会社日立グローバルストレージテクノロジーズ | ネットワークストレージ仮想化方法およびネットワークストレージシステム |
JP2004280283A (ja) * | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
EP1592015A3 (en) * | 2004-04-27 | 2005-11-09 | Deutsche Thomson-Brandt Gmbh | Method and device for recording or playing back a data stream |
JP2006195712A (ja) * | 2005-01-13 | 2006-07-27 | Hitachi Ltd | ストレージ制御装置、論理ボリューム管理方法及びストレージ装置 |
JP4819391B2 (ja) * | 2005-04-27 | 2011-11-24 | Necフィールディング株式会社 | 文書合成システム、文書合成方法、及びプログラム |
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
AU2007304834C1 (en) * | 2006-10-05 | 2014-01-23 | National Ict Australia Limited | Decentralised multi-user online environment |
JP5339432B2 (ja) * | 2009-02-25 | 2013-11-13 | 日本電気株式会社 | ストレージシステム |
WO2010116608A1 (ja) * | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | データ挿入システム |
-
2010
- 2010-10-22 JP JP2010237828A patent/JP5822452B2/ja active Active
-
2011
- 2011-10-06 WO PCT/JP2011/005629 patent/WO2012053156A1/ja active Application Filing
- 2011-10-06 US US13/822,588 patent/US20130311520A1/en not_active Abandoned
- 2011-10-06 EP EP11834002.5A patent/EP2631805A4/en not_active Withdrawn
- 2011-10-06 SG SG2013026760A patent/SG189342A1/en unknown
- 2011-10-06 SG SG10201508708QA patent/SG10201508708QA/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012089094A5 (ja) | ||
CN111008185B (zh) | 一种数据共享方法、***及设备 | |
US11799959B2 (en) | Data processing method, apparatus, and system | |
US10430398B2 (en) | Data storage system having mutable objects incorporating time | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
KR101767710B1 (ko) | 폐기가능 파일들의 카드-기반 관리 | |
CN111078653B (zh) | 一种数据存储方法、***及设备 | |
CN104618482B (zh) | 访问云数据的方法、服务器、传统存储设备、*** | |
CN111090618B (zh) | 一种数据读取方法、***及设备 | |
KR20140117994A (ko) | 복제 파일 중복 제거 방법 및 장치 | |
CN105141672B (zh) | 一种数据存储方法、装置及*** | |
US10078648B1 (en) | Indexing deduplicated data | |
CN109885577B (zh) | 数据处理方法、装置、终端及存储介质 | |
JP6268116B2 (ja) | データ処理装置、データ処理方法およびコンピュータプログラム | |
GB2520361A (en) | Method and system for a safe archiving of data | |
CN108255989B (zh) | 图片存储方法、装置、终端设备及计算机存储介质 | |
US20180107404A1 (en) | Garbage collection system and process | |
CN110008197A (zh) | 一种数据处理方法、***及电子设备和存储介质 | |
CN111803917A (zh) | 资源的处理方法和装置 | |
CN118069611A (zh) | 一种文件***的克隆方法及装置 | |
JP5972455B2 (ja) | 情報を削除する方法 | |
WO2008029146A1 (en) | A distributed file system operable with a plurality of different operating systems | |
CN112181899A (zh) | 一种元数据的处理方法、装置及计算机可读存储介质 | |
US11822580B2 (en) | System and method for operating a digital storage system | |
EP3532939A1 (en) | Garbage collection system and process |