JP2011048427A - データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法 - Google Patents

データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法 Download PDF

Info

Publication number
JP2011048427A
JP2011048427A JP2009193916A JP2009193916A JP2011048427A JP 2011048427 A JP2011048427 A JP 2011048427A JP 2009193916 A JP2009193916 A JP 2009193916A JP 2009193916 A JP2009193916 A JP 2009193916A JP 2011048427 A JP2011048427 A JP 2011048427A
Authority
JP
Japan
Prior art keywords
data
storage
resource
user
distributed
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
Application number
JP2009193916A
Other languages
English (en)
Inventor
Masaru Kobayashi
大 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009193916A priority Critical patent/JP2011048427A/ja
Publication of JP2011048427A publication Critical patent/JP2011048427A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ユーザ計算端末から多数の小サイズのユーザ利用データが転送される場合でも、これを分散記憶装置が高速に格納することができるデータ管理システムを提供する。
【解決手段】記憶させるユーザ利用データの資源量情報をユーザ計算端末A1が作成して送信する。これに基づいてユーザ利用データを分散記憶装置A2が必要により分散させて記憶させる少なくとも一つのデータ記憶部A211,A212,〜を決定して返信する。これで受信する記憶資源IDに対応してユーザ利用データをユーザ計算端末A1が分散記憶装置A2に送信する。これで受信したユーザ利用データを複数のデータ記憶部A211,A212,〜が必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する。これで受信した記憶位置データと記憶資源IDとユーザ利用データを一意に示す利用データIDとを分散記憶装置A2にユーザ計算端末A1が送信する。
【選択図】図1

Description

本発明は、複数のユーザ計算端末で利用されているユーザ利用データを、ネットワーク接続されている分散記憶装置の複数の記憶デバイス(ストレージノード)に分散させて記憶させる技術に関し、特に、これを実現するデータ管理システム、その分散記憶装置およびユーザ計算端末、そのコンピュータプログラムおよびデータ処理方法、に関する。
現在、クライアント端末などのユーザ計算端末をデータベースサーバなどの分散記憶装置の複数のストレージ装置(ストレージノード)にネットワーク接続して大容量のデータ記憶システムを構築し、ユーザ計算端末で各種処理に利用されているユーザ利用データを複数のストレージノードに分散させて記憶する技術(データ管理システム)が知られている。
当然ながら、データ管理システムでは、分散記憶装置の複数のストレージノードの何処に、どのようにユーザ利用データが格納されているかを管理する必要がある。そこで、分散記憶装置の配置管理部によりユーザ利用データを、どのストレージノードに格納するか、および、ユーザ計算端末のユーザ利用データへの読み出しや書き込みアクセスを、どのストレージノードに振り分けるかを管理している。
ユーザ利用データを格納したいユーザ計算端末から送信されたユーザ利用データは、分散記憶装置の配置管理部により、必要により一つ以上のデータ塊に分割され、複数のストレージノードに格納される。
同じネットワーク上に接続された、ユーザ利用データを利用するユーザ計算端末は、分散記憶装置の配置管理部を利用し、例えば、所望のユーザ利用データを示す利用データID(Identity)から当該データが配置されたストレージノードを特定し、当該ストレージノードからユーザ利用データを取得する。
利用データIDは、ユーザ利用データを一意に示すものであり、例えば、ファイル名称である。ただし、データ管理システムでは、大容量のユーザ利用データが複数のストレージノードに分散されて記憶されることがあるため、その場合は、例えば、複数に分散された利用データ断片を相互関係とともに個々に示す利用データIDなどからなる。
例えば、チャンクと呼ぶ固定長のデータ塊をGFS(Google(登録商標) File System)チャンクサーバと呼ぶストレージノードに格納する際、GFSマスターと呼ぶ配置管理部に対し、利用データIDとしてファイル名とチャンクインデックスを送信し、対象となるGFSチャンクサーバを示すチャンク位置情報を受信する配置管理部が提案されている(例えば、非特許文献2参照)。
配置管理部の実現方法としては、ユーザ計算端末から利用可能な場所に集中制御された配置管理部を実現するアウトオブバンド方式、各ユーザ計算端末上に配置管理部の一部を委譲し、ユーザ計算端末が直接記憶部にアクセスする分散テーブル方式、が知られている。
例えば、チャンクと呼ぶ固定長のデータ塊をGFSチャンクサーバと呼ぶストレージノードに格納する際、ユーザ計算端末であるGFSクライアントがネットワーク上に存在するGFSマスターと呼ぶ配置管理部に対しアクセスし格納ストレージノードを決定するアウトオブバンド方式が提案されている(例えば、非特許文献2参照)。
例えば、バリューと呼ぶ任意長のデータ塊をユーザ計算端末とストレージノードを兼ねるノードに格納する際、ノード内でChordと呼ぶアルゴリズムを用いてキーと呼ぶ利用データIDからストレージノードを決定する分散テーブル方式が提案されている(例えば、非特許文献3参照)。
また、データを分散させるだけでなく、データの冗長化を行い耐故障性を確保する方法も考えられている(例えば、特許文献1参照)。耐故障性確保とは、すなわち、ある定められた数の記憶装置が故障し、データが読み出し不可能となっても、システムとしてはデータをユーザに提供可能な状態を維持することである。
また、RAID(Redundant Arrays of Inexpensive Disks)と呼称される、ブロックストレージのレベルでデータの分散、および、冗長化を行う複数の方法も提案されている(例えば、非特許文献1参照)。
また、データ格納時にGFSマスターと呼ぶ配置管理部とGFSチャンクサーバと呼ぶストレージノードがお互いに通信し、複数のストレージノードにチャンクと呼ぶ固定長のデータ塊の複製を配置する冗長化方式も提案されている(例えば、非特許文献2参照)。
また、アクセス負荷が限界値に達する前に、コンテンツの複製の作成やコンテンツとその他のコンテンツとで所在の再配置を行う方法も考えられている(例えば、特許文献1参照)。
さらに、ネットワーク上に分散した複数のストレージ装置を仮想化して管理するストレージ管理システム及びストレージ管理方法において、ストレージデータ転送性能が劣化しないようにストレージ仮想化及びストレージデータ用経路を設定する発明も出願されている。
その発明では、ストレージ管理サーバにおいて、ストレージ状態管理部が、各ストレージ装置のストレージ使用状態を管理し、ネットワーク状態管理部が各ネットワーク装置のトラフィック状態を管理し、経路検索・設定部がストレージ使用状態及び該トラフィック状態に基づいて、ストレージデータ用経路を決定して、ネットワーク装置に設定する。
ホストにおいて、仮想化マッピング部がストレージ管理サーバから応答されたストレージ領域を仮想ストレージに対応付け、経路情報設定部が、応答されたストレージデータ用経路でストレージデータを送受信する(例えば、特許文献2参照)。
また、ファイル管理情報を持つことなく、クライアントからのファイルアクセス要求に対して高速に応答可能としながらも、故障などからの復旧処理が迅速に行なえるファイル管理手段を備えたファイル格納システムの出願もある。
その発明では、ファイル管理手段は、ファイルの識別子を引数とするハッシュ値とストレージ数に基づくモデュロ演算により選択したストレージと、当該ストレージの番号を引数とする可逆平準化関数により選択したストレージにファイルを冗長格納する冗長格納管理手段と、復旧対象ストレージの番号と前記可逆平準化関数に基づいて、復旧対象ファイルが冗長格納されている複数の関連ストレージを選択し、選択した関連ストレージに格納されているファイルの識別子と冗長化数に基づいて修復ファイルを特定して復旧対象ストレージを修復するストレージ修復管理手段を備えている(例えば、特許文献3参照)。
センタと複数の端末間で共用するデータを分散管理する共用データ分散管理装置と方法に関し、LANなど高速のネットワークで接続された複数のワークステーションの水平連携機能を活用し、複数のワークステーションのファイルに格納する共用データを一括管理し、センタと複数の端末全体として機能分担を最適にする垂直/水平連携システムを構築する手段を提供することを目的とする。
その発明では、中央処理装置が保管する共用データの一部を、ネットワーク結合された複数の分散処理装置に分散格納する共用データ分散格納手段と、上記分散格納された共用データの識別番号と対比して該共用データの属性を保持する共用データ属性テーブルと、上記共用データ属性テーブルを参照して、指定された識別番号の共用データの所在と有効性を判定する共用データ所在判定手段とを備える(例えば、特許文献4参照)。
特開平11−085604号公報 特開2005−266933号公報 特開2008−181358号公報 特開平08−190506号公報
David A.Patterson、Garth Gibson、and Randy H.Katz、"A Case for Redundant Arrays of Inexpensive Disks (RAID)"、ACM SIGMOD Record、Vol. 17、No.3、pp.109-116 Sanjay Ghemawat、Howard Gobioff、Shun-Tak Leung、"The Google File System"、SOSP 2003. Frank Dabek、Emma Brunskill、M. Frans Kaashoek、David Karger、Robert Morris、Ion Stoica、and Hari Balakrishnan、"Building Peer-to-Peer Systems With Chord、a Distributed Lookup Service、Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII)、May 2001.
しかしながら、非特許文献2に記載されているアウトオブバンド方式などでは、大きなサイズのユーザ利用データの格納または取得については高速に処理できるが、小サイズのユーザ利用データの格納処理については性能が低いという問題がある。
その理由は、ユーザ利用データをネットワークで転送する前に、ネットワーク距離に対応したユーザ利用データ転送の遅延時間が存在する通信ネットワークを利用して配置管理部を利用して対象ストレージノードを特定する必要があるが、当該ユーザ利用データ転送時間に対し配置管理部を利用する遅延時間が大きいからである。よって、求める全てのユーザ利用データを格納する時間が増大する。
また、非特許文献2〜3に記載されているアウトオブバンド方式および冗長化方式などでは、ユーザ利用データ転送元のユーザ計算端末が転送済ユーザ利用データを、当該端末上から高速に削除できない問題がある。
その理由は、転送済ユーザ利用データをユーザ利用データ転送元のユーザ計算端末から削除するためには、ユーザ利用データが分散記憶装置上で耐故障性を確保されている必要があるが、耐故障性を確保するための冗長化処理は、ユーザ利用データ転送終了後に当該分散記憶装置上で、ストレージノードと配置管理部の通信による複製作成等の処理を行う時間を要するためである。
すなわち、従来の分散記憶装置の問題点は、第一に、多数の小サイズのユーザ利用データを格納するときに必要な時間が長いということである。第二に、ユーザ利用データ転送元のユーザ計算端末上の転送済ユーザ利用データを高速に削除できないことである。
本発明は上述のような課題に鑑みてなされたものであり、ユーザ計算端末から転送される多数の小サイズのユーザ利用データを高速に格納でき、ユーザ利用データ転送元のユーザ計算端末上の転送済ユーザ利用データを高速に削除できる分散記憶装置を提供することを目的とする。
本発明のデータ管理システムは、各種のユーザ利用データを個々に利用する複数のユーザ計算端末と、ユーザ利用データを必要により複数のデータ記憶資源に分散させて記憶する少なくとも一個の分散記憶装置と、を有するデータ管理システムであって、ユーザ計算端末は、分散記憶装置の複数のデータ記憶資源に必要により分散させて記憶させるユーザ利用データの資源量情報を作成して送信する資源量送信手段を有し、分散記憶装置は、ユーザ計算端末から受信した資源量情報に基づいてユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶資源を決定して返信する資源管理手段を有し、ユーザ計算端末は、受信する記憶資源IDに対応してユーザ利用データを分散記憶装置に送信するデータ送信手段を有し、分散記憶装置は、受信したユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数のデータ記憶資源を有し、ユーザ計算端末は、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置に送信する共有登録手段を有し、分散記憶装置は、利用データIDごとに記憶位置データと記憶資源IDとを受信してユーザ利用データを管理する配置管理手段を有することを特徴とする。
本発明のユーザ計算端末は、本発明のデータ管理システムの各種のユーザ利用データを利用するユーザ計算端末であって、分散記憶装置の複数のデータ記憶資源に必要により分散させて記憶させるユーザ利用データの資源量情報を作成して送信する資源量送信手段と、受信する記憶資源IDに対応してユーザ利用データを分散記憶装置に送信するデータ送信手段と、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置に送信する共有登録手段と、を有することを特徴とする。
本発明の分散記憶装置は、本発明のデータ管理システムのユーザ利用データを必要により複数のデータ記憶資源に分散させて記憶する分散記憶装置であって、ユーザ計算端末から受信した資源量情報に基づいてユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶資源を決定して返信する資源管理手段と、受信したユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数のデータ記憶資源と、利用データIDごとに記憶位置データと記憶資源IDとを受信してユーザ利用データを管理する配置管理手段と、を有することを特徴とする。
本発明の第一のコンピュータプログラムは、本発明のユーザ計算端末のコンピュータプログラムであって、分散記憶装置の複数のデータ記憶資源に必要により分散させて記憶させるユーザ利用データの資源量情報を作成して送信する容量送信処理と、受信する記憶資源IDに対応してユーザ利用データを分散記憶装置に送信するデータ送信処理と、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置に送信する共有登録処理と、をユーザ計算端末に実行させることを特徴とする。
本発明の第二のコンピュータプログラムは、本発明の分散記憶装置のコンピュータプログラムであって、ユーザ計算端末から受信した資源量情報に基づいてユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶資源を決定して返信する資源管理処理と、受信したユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数のデータ記憶資源と、利用データIDごとに記憶位置データと記憶資源IDとを受信してユーザ利用データを管理する配置管理処理と、を分散記憶装置に実行させることを特徴とする。
本発明の第一のデータ処理方法は、本発明のユーザ計算端末のデータ処理方法であって、分散記憶装置の複数のデータ記憶資源に必要により分散させて記憶させるユーザ利用データの資源量情報を作成して送信する容量送信動作と、受信する記憶資源IDに対応してユーザ利用データを分散記憶装置に送信するデータ送信動作と、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置に送信する共有登録動作と、をユーザ計算端末に実行させることを特徴とする。
本発明の第二のデータ処理方法は、本発明の分散記憶装置のデータ処理方法であって、ユーザ計算端末から受信した資源量情報に基づいてユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶資源を決定して返信する資源管理動作と、受信したユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数のデータ記憶資源と、利用データIDごとに記憶位置データと記憶資源IDとを受信してユーザ利用データを管理する配置管理動作と、を分散記憶装置に実行させることを特徴とする。
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与された分散記憶装置、コンピュータプログラムにより分散記憶装置に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および動作を順番に記載してあるが、その記載の順番は複数の処理および複数の動作を実行する順番を限定するものではない。
このため、本発明のコンピュータプログラムおよびデータ処理方法を実施するときには、その複数の処理および複数の動作の順番は内容的に支障しない範囲で変更することができる。
さらに、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および複数の動作が個々に相違するタイミングで実行されることに限定されない。このため、ある処理および動作の実行中に他の処理および動作が発生すること、ある処理および動作の実行タイミングと他の処理および動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
また、本発明で云う分散記憶装置およびユーザ計算端末は、コンピュータプログラムを読み取って対応する処理動作を実行できるように、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の処理動作を実行するように構築された専用の論理回路、これらの組み合わせ、等として実施することができる。
ただし、本発明で云うユーザ計算端末は、物理的に形成されたハードウェアに限定されるものではなく、物理的なハードウェアにソフトウェアで論理的に形成されていることも許容する。
本発明のデータ管理システムによれば、ユーザ利用データに関する資源量情報に応じたデータ記憶資源に、当該ユーザ利用データがユーザ計算端末から、データ記憶資源に送信される。このため、ネットワーク距離に対応したデータ転送の遅延時間が存在する通信ネットワークを利用して配置管理手段を利用してユーザ利用データを他のユーザ計算端末が利用可能とする前にユーザ利用データをデータ記憶資源に記憶することができる。従って、ユーザ計算端末から多数の小サイズのユーザ利用データが転送される場合でも、これを分散記憶装置が高速に格納することができる。また、仮にユーザ利用データをユーザ計算端末から削除する場合にも、当該配置管理手段を利用しユーザ利用データを他のユーザ計算端末が利用可能とする前にユーザ利用データは既に分散記憶装置のデータ記憶資源に記憶されているため、ユーザ計算端末から削除することができ、当該削除処理の高速化が図られる。
本発明の実施の第一の形態のデータ管理システムの全体構成を示す模式的なブロック図である。 データ管理システムの全体の処理の流れを示す模式的なブロック図である。 記憶資源データベースによる記憶資源情報管理の一例を示す説明図である。 データ管理システムの全体の処理の流れを示す模式的なブロック図である。 本発明の実施の第二の形態のデータ管理システムの構成を示す模式的なブロック図である。 ストレージノードの構成を示すブロック図である。 ユーザ計算端末の構成を示すブロック図である。 記憶装置割当表のデータ構造を示す模式図である。 データ塊配置表のデータ構造を示す模式図である。 データ管理システムの構成を示す模式的なブロック図である。 本発明の実施の第三の形態のデータ管理システムの構成を示す模式的なブロック図である。 ストレージノードの構成を示すブロック図である。 記憶資源表のデータ構造を示す模式図である。 本発明の実施の第四の形態のデータ管理システムの構成を示す模式的なブロック図である。 複雑なネットワークの一例を示す模式図である。 配置管理部の一例を示す模式図である。
<第一の実施形態>
本発明の第一の実施形態を図1ないし図3を参照して以下に説明する。
まず、本実施の形態のデータ管理システムの概要を説明する。本実施の形態のデータ管理システムは、図1に示すように、各種のユーザ利用データを個々に利用する複数のユーザ計算端末A1と、ユーザ利用データを必要により複数のデータ記憶資源であるデータ記憶部A211,A212,〜に分散させて記憶する少なくとも一個の分散記憶装置A2と、を有する。
さらに、本実施の形態のデータ管理システムでは、図2に示すように、ユーザ計算端末A1は、分散記憶装置A2の複数のデータ記憶部A211,A212,〜に必要により分散させて記憶させるユーザ利用データの資源量情報を作成して送信する資源量送信部B121を有している。
分散記憶装置A2は、ユーザ計算端末A1から受信した資源量情報に基づいてユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶部A211,A212,〜を決定して返信する資源管理部A22を有している。
ユーザ計算端末A1は、受信する記憶資源IDに対応してユーザ利用データを分散記憶装置A2に送信するデータ送信部B123を有している。
分散記憶装置A2は、受信したユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数のデータ記憶部A211,A212,〜を有している。
ユーザ計算端末A1は、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置A2に送信する共有登録部B124を有している。
そして、分散記憶装置A2は、利用データIDごとに記憶位置データと記憶資源IDとを受信してユーザ利用データを管理する配置管理部A24を有している。
次に、本実施の形態のデータ管理システムをより詳細に説明する。
本実施の形態のデータ管理システムでは、図1に示すように、各種のユーザ利用データが複数のユーザ計算端末A1のデータ利用プロセス(データ利用処理部)A11において個々に利用される。以下、「プロセス」とは、所定のデータ処理機能を有するデータ処理部を意味する場合がある。
そして、本実施の形態のデータ管理システムでは、そのユーザ利用データを少なくとも一個の分散記憶装置A2の複数のデータ記憶部A211,A212,〜が必要により分散させて記憶する。ユーザ計算端末A1は、ユーザ利用データをデータ記憶部A211,A212,〜に記憶させるための制御を行う格納制御部A12を備えている。
図2に示すように、格納制御部A12は、資源量送信部B121、格納先受信部B122、データ送信部B123、共有登録部B124を有する。
本実施形態のデータ管理システムでは、図2に示すように、ユーザ利用データの資源量情報をユーザ計算端末A1の資源量送信部B121が作成して、分散記憶装置A2の資源管理部A22に送信する。
このユーザ計算端末A1から受信した資源量情報に基づいて、資源管理部A22は、ユーザ利用データを記憶するデータ記憶部A211,A212,〜を決定する。この決定は、資源管理部A22が受信した資源量情報と、データ記憶部A211,A212,〜の資源量とに基づいて行う。
資源管理部A22は、種々の判定アルゴリズムに基づいて、ユーザ利用データの記憶先としてデータ記憶部A211,A212,〜の一つまたは二つ以上を決定することができる。たとえば、データ記憶部A211,A212,〜の空き容量の大きいものから順に、当該空き容量の合計がユーザ利用データのデータ量を超えるまでデータ記憶部A211,A212,〜の一つまたは二つ以上を選択することができる。
以下、資源量情報が示すユーザ利用データのデータ量がデータ記憶部A211の空き容量以下であって、ユーザ利用データをデータ記憶部A211のみに格納する場合を例に説明する。
記憶資源データベースA221には、データ記憶部A211,A212,〜を互いに識別する情報である記憶資源IDと各データ記憶部の利用可能資源量とが、互いに対応付けて記憶されている。記憶資源IDは、例えば、データ記憶部A211,A212,〜に個々に付与されたネットワークアドレスである。利用可能資源量は、例えば、データ記憶部A211、A212、〜それぞれの格納可能バイト数である。
資源管理部A22は、記憶資源データベースA221を参照し、ユーザ利用データの記憶先としてデータ記憶部A211を選択すると同時にデータ記憶部A211の記憶資源IDを呼び出し、これをユーザ計算端末A1の格納先受信部B122に送信する。
そして、ユーザ計算端末A1は、格納先受信部B122が受信した記憶資源IDが示すデータ記憶部A211に対して、データ送信部B123よりユーザ利用データを送信する。
データ記憶部A211は、ユーザ利用データを受信すると、当該データを所定の空き領域に記憶する。データ記憶部A211は、その記憶位置を示す記憶位置データをデータ送信部B123に返信する。
これにより、ユーザ計算端末A1は、ユーザ利用データが格納されたデータ記憶部A211の記憶IDと、データ記憶部A211におけるユーザ利用データの記憶位置を示す記憶位置データとを取得することができる。
さらに、ユーザ計算端末A1の共有登録部B124は、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置A2に送信する。
分散記憶装置A2の配置管理部A24は、利用データIDを受信すると、当該利用データIDに関連づけて、記憶資源ID、記憶位置データおよびユーザ利用データを管理する。このため、配置管理部A24は、ユーザ計算端末A1からの要求に基づいて、ユーザ利用データの格納位置を高速に特定することが可能となる。
なお、本実施形態においては、複数のデータ記憶部A211,A212,〜に分散してユーザ利用データを格納することもできる。この場合、資源管理部A22は、記憶資源データベースA221を参照し、当該複数のデータ記憶部A211,A212,〜をそれぞれ示す複数個の記憶資源IDを呼び出して格納先受信部B122に送信する。このとき、分散記憶装置A2は、データ記憶部A211,A212,〜の各記憶資源IDに関連づけて、データ記憶部A211,A212,〜がそれぞれ記憶可能なデータ容量を示す情報をあわせて格納先受信部B122に送信するとよい。
ユーザ計算端末A1は、格納先受信部B122が受信した複数の記憶資源IDがそれぞれ示すデータ記憶部A211,A212,〜に対して、データ送信部B123よりユーザ利用データを個別に送信する。ユーザ利用データは、データ記憶部A211,A212,〜が記憶可能なデータサイズ以下となるようユーザ計算端末A1で分割するとよい。
データ記憶部A211,A212,〜は、ユーザ利用データをそれぞれ受信すると、当該データを所定の空き領域に記憶するとともに、その記憶位置を示す記憶位置データをデータ送信部B123に対して個別に返信する。
これにより、ユーザ計算端末A1は、ユーザ利用データが格納された各データ記憶部A211,A212,〜の記憶IDと、当該データ記憶部A211,A212,〜におけるユーザ利用データの記憶位置を示す記憶位置データとを取得することができる。
さらに、ユーザ計算端末A1の共有登録部B124は、受信した記憶位置データと記憶資源IDとともにユーザ利用データを一意に示す利用データIDを分散記憶装置A2に送信する。
分散記憶装置A2の配置管理部A24は、利用データIDを受信すると、利用データIDに関連づけて、各記憶資源IDと、当該記憶資源IDに関する記憶位置データおよびユーザ利用データを管理する。このため、ユーザ利用データが複数のデータ記憶部A211,A212,〜に分散して格納されている場合であっても、配置管理部A24は、ユーザ計算端末A1からの要求に基づいて、ユーザ利用データの格納位置を高速に特定することが可能となる。
以上により、本実施形態のデータ管理システムによれば、ユーザ利用データの格納位置が高速で特定され、換言するとユーザ利用データのデータ転送時間に対してユーザ利用データの格納位置の特定時間の割合が低減される。
従って、ユーザ計算端末A1から多数の小サイズのユーザ利用データが転送される場合でも、これを分散記憶装置A2が高速に格納することができる。なお、永続化管理部A23は、データ記憶部A211,A212,〜に記憶されたユーザ利用データをバックアップして永続化(冗長化)する。ユーザ利用データの永続化に関しては、後述する他の実施形態にて詳述する。
また、本実施の形態のデータ管理システムでは、例えば、データ送信部B123は、所定のデータ個数とデータ容量との少なくとも一方を指標として複数のユーザ利用データを一つにしてデータ記憶部A211,A212,〜に送信する。
分散記憶装置A2は、一つにされた複数のユーザ利用データを必要により分散させて記憶するとともに各々の複数の記憶位置データを個々に返信する。配置管理部A24は、複数のユーザ利用データを受信してから対応する複数の記憶位置データを送信する。
さらに、複数のユーザ計算端末A1は通信ネットワークで分散記憶装置A2の複数のデータ記憶部A211,A212,〜と接続されている。そこで、複数のユーザ計算端末A1は、各々の通信ネットワークでのネット端末位置を資源量送信部B121が生成する資源量情報に内包させる。
また、本実施の形態のデータ管理システムでは、分散記憶装置A2は、複数のデータ記憶部A211,A212,〜ごとに少なくとも通信ネットワークでのネット資源位置を記憶している記憶資源データベースA221を、さらに有する。
そこで、資源管理部A22は、ネット端末位置とネット資源位置との少なくとも一方に対応してユーザ利用データを必要により分散させて記憶させる少なくとも一つのデータ記憶部A211,A212,〜を決定する。
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態では複数のユーザ計算端末A1の各々がハードウェアで構築されており、実際に通信ネットワークに位置していることを想定した。
しかし、このような複数のユーザ計算端末A1が通信ネットワークに接続されているハードウェアにソフトウェアでバーチャルに構築されていてもよい。このような場合、記憶資源データベースA221は、必要により分散されて記憶されている複数のユーザ利用データと複数のデータ記憶部A211,A212,〜との対応関係も記憶していることが好適である。
なお、上記形態では、本発明がデータ格納動作の高速化をめざしたものであり、本発明適用時のデータ読み出し動作は、既存の読み出し操作と同一であるため、データ格納動作のみを記載した。
また、資源量送信部B121は、記憶させる複数のユーザ利用データのうち少なくとも一部に対応する一部対応の資源量情報も生成し、データ送信部B123は、一部対応の資源量情報に該当するユーザ利用データを送信し、共有登録部B124は、送信されたユーザ利用データに対応して返信された記憶位置データを一時保存するとともに残余のユーザ利用データを記憶するデータ記憶部A211,A212,〜を資源管理部A22に決定させて記憶させる複数のユーザ利用データに対する記憶位置データも一時保存し、共有登録部B124は、一時保存された記憶位置データを配置管理部A24に送信してもよい。
さらに、分散記憶装置A2は、配置管理部A24は、データ記憶部A211,A212,〜に記憶させて管理したユーザ利用データを任意のデータ記憶部A211,A212,〜に移動させ、移動させたユーザ利用データを対応するデータ記憶部A211,A212,〜とともに管理してもよい。
図4は、本実施の形態のその他の変形例に係るデータ管理システムの全体の処理の流れを示す模式的なブロック図である。本変形例に係るユーザ計算端末A1は、データ送信部B123がデータ記憶部A211から受信した記憶位置データに対応するユーザ利用データを分散記憶装置A2から削除するデータ削除部D125を有する点で、図2に示したデータ管理システムと相違している。
本変形例の場合、データ送信部B123が記憶位置データを受信してからユーザ利用データを削除し、その後に共有登録部B124が記憶位置データを配置管理部A24に送信することが好適である。
さらに、詳細には後述するが、分散記憶装置A2は、データ記憶部A211,A212,〜の故障を検知する死活監視部と、死活監視部が故障を検知したデータ記憶部A211,A212,〜にユーザ利用データを送信中のユーザ計算端末A1を特定するアボート特定部と、特定されたユーザ計算端末A1にデータ再送依頼を送信する再送依頼部とを、さらに有し、ユーザ計算端末A1は、分散記憶装置A2からデータ再送依頼を受信するとユーザ利用データをデータ送信部B123に再送させる再送制御部を、さらに有してもよい(図示せず)。
この場合、詳細には後述するが、単純にデータ送信部B123に再送させるだけでなく、さらに必要資源量の確保まで手戻りしてもよい。これで処理の順序の変更を有効に利用することができる。
また、図4に示すように、本変形例のデータ管理システムE0における資源管理部A22は、一つ以上のデータ記憶部A211,A212,〜(同図ではA21Xとして図示)の各種利用可能資源量を各々管理する複数の部分資源管理部A22a,A22b,・・・を有している。
部分資源管理部A22a,A22b,・・・は、管理するデータ記憶部A211,A212,〜に対応する、記憶資源データベースA221(図1,2を参照)の部分情報を持つ部分記憶資源データベースA221a,A221b,・・・をそれぞれ有している。
ユーザ計算端末A1は、種々の選択アルゴリズムに基づいて、一つの部分資源管理部(例えばA22a)を第一の資源管理部として選択する。つぎに、ユーザ計算端末A1は、選択された部分資源管理部A22a(第一の資源管理部)に対して、資源量情報を送信する。
部分資源管理部A22a(第一の資源管理部)は、受信した資源量情報と、当該部分資源管理部A22aの有する部分記憶資源データベースA221aに格納された部分情報と、に基づいて、データ記憶部A211にユーザ利用データを記憶することの可否を判定する。
ここで、ユーザ利用データを記憶するための必要資源量がデータ記憶部A211の利用可能資源量を上回り、データ記憶部A211にユーザ利用データを記憶することが不可能と第一の資源管理部に判定されたとき、資源管理部A22は、他の部分資源管理部(例えばA22b)を、第二の資源管理部として選択する。そして、資源管理部A22は、ユーザ計算端末A1から受信している資源量情報を、部分資源管理部A22bに転送する。
そして、第二の資源管理部(部分資源管理部A22b)は、受信した資源量情報と、当該第二の資源管理部の有する部分記憶資源データベースA221bに格納された部分情報と、に基づいて、データ記憶部A212にユーザ利用データを記憶することの可否を判定する。
その場合、第二の資源管理部(部分資源管理部A22b)が管理するデータ記憶部A211,A212,〜の記憶資源IDをユーザ計算端末A1に送信してもよい。
なお、データ記憶部A212にユーザ利用データを記憶することが不可能と第二の資源管理部に判定されたときには、さらに他の部分資源管理部(図示せず)を第三の資源管理部として選択し、上記の処理を繰り返す。
これにより、本変形例のデータ管理システムE0では、ユーザ利用データを格納するデータ記憶部A211,A212,〜を決定することができる。
また、配置管理部A24は、ユーザ計算端末A1から記憶資源IDと記憶位置データと利用データIDとを受信したときにデータ登録可否を判定し、データ登録不能のときは登録不可通知をユーザ計算端末A1に返信し、ユーザ計算端末A1は、受信した登録不可通知をデータ利用機能に通知してもよい。
さらに、配置管理部A24は、管理するユーザ利用データの利用データIDに内包されているデータ版情報も管理し、管理しているデータ版情報に対応して登録可否判断を実行してもよい。
<第二の実施形態>
図5は第二の実施形態を示し、ネットワーク結合された分散制御の分散記憶装置E2とユーザ計算端末E1により本発明によるデータ管理システムE0を示すものである。図5のユーザ計算端末E1に格納されたユーザ利用データが分散記憶装置E2へ送信され格納される。
図5のストレージノードE21、E22、E23、・・・は、図6に示すように一つ以上のCPU F21、一つ以上のメモリF22、一つ以上のI/OコントローラF23、一つ以上の記憶装置E21d、E22d、E23d、・・・、一つ以上の通信コントローラF24を備える計算機により構成される。
ストレージノードE21、E22、E23、・・・は、通信コントローラF24を通じて、ネットワークE3上のユーザ計算端末E1とユーザ利用データの送受信を行う。また、ストレージノードE21、E22、E23、・・・は、必要なユーザ利用データの格納・読み出しを、I/OコントローラF23を通じて記憶装置E21d、E22d、E23d、・・・、と行う。この制御は、CPU F21およびメモリF22を用いて実現されるソフトウェア処理により行われる。
記憶装置E21d、E22d、E23d、・・・は例えば、ハードディスクドライブ、フラッシュメモリ、DRAM、MRAM、FeRAM、RAIDコントローラに結合された一つ以上の記憶装置、磁気テープなどのユーザ利用データを記録可能な物理媒体、もしくはストレージノードの外部に設置された当該媒体へユーザ利用データを記録可能な制御装置である。
図5の部分管理プロセスE21a、E22a、E23a、・・・は、それぞれストレージノードE21、E22、E23、・・・上で動作し、分散アルゴリズムにより第一の実施形態における配置管理部A24(図2を参照)の機能を実現する。
ストレージノードE21、E22、E23、・・・へのユーザ利用データの配置はストレージノードE21、E22、E23、・・・上で動作する部分管理プロセスE21a、E22a、E23a、・・・による配置管理部A24の機能により決定され、利用データIDと格納ノードの対応を管理する。
例えば、配置管理部A24の機能は、分散ハッシュテーブルにより実現される。図16を元に動作を説明する。分散ハッシュテーブルによる部分管理プロセスE21a、E22a、E23a、・・・では、あるバイト列dに対しある整数値を出力するハッシュ関数h(d)と、ハッシュ関数の出力値の範囲に基づくノード割り当て表を持つ。図9に対象ノード決定の動作を示す。
ユーザはある一つの分散管理プロセスにデータ塊識別子を含む検索依頼を送信する。ここでは部分管理プロセスE21aが受信したとする。部分管理プロセスE21aはデータ塊識別子をあるハッシュ関数h(d)の入力とし、出力されたハッシュ値よりノード割り当て表からデータ配置格納ストレージノードを決定する。
ここでは当該ハッシュ値のストレージノード割当は部分管理プロセスE21aが管理していたとする。部分管理プロセスE21aは当該ストレージノード上の分散データ配置機能に検索依頼を委譲する。
部分管理プロセスE21aでは、データ塊識別子と格納ノードの対の割当表を管理しており、当該割当表から格納ストレージノードを決定する。部分管理プロセスE21aは格納ストレージノードを示す識別子をユーザ計算端末E1に返信する。
配置管理部A24の機能の実装は上記に限らない。図5の冗長化管理プロセスE21c、E22c、E23c、・・・は、それぞれストレージノードE21、E22、E23、・・・上で動作し、格納データが求められた耐故障性を満たすように冗長化処理を行う。
例えば、記憶装置E21d、E22d、E23d、・・・がハードディスクドライブで、求められた耐故障性が高々一台の記憶装置故障でユーザ利用データ喪失が起こらないこと、とした場合、冗長化管理プロセスE21c、E22c、E23c、・・・は、受信したユーザ利用データを必ず二つ以上の記憶装置に格納する。
別の例では、例えば、記憶装置E21d、E22d、E23d、・・・がハードディスクドライブで、求められた耐故障性が高々八台に一台の記憶装置故障でユーザ利用データ喪失が起こらないこと、とした場合、冗長化管理プロセスE21c、E22c、E23c、・・・は、受信したユーザ利用データを4キロバイトごとのRAIDブロックに分割し、七つのRAIDブロックからパリティブロックを生成し、計八つのブロックを八台の記憶装置に格納する。
冗長化処理は上記に限らない。記憶装置E21d、E22d、E23d、・・・上のユーザ利用データは、固定長あるいは任意長のデータ塊の集合と、当該データ塊を示す利用データIDで管理される。
例えば、データ塊はファイル、利用データIDはi-node番号である。また別の例では、データ塊は4キロバイト長のブロック、利用データIDはボリューム名とブロック番号の組である。データ塊の実装は上記に限らない。
データ塊はデータ塊配置表により内部利用データIDとオフセットから記憶装置E21d、E22d、E23d、・・・上位置の対応が管理される。例えば、図9に示すようなデータ塊配置表により管理される。データ塊配置表の実装は上記に限らない。
図5の部分管理プロセスE21a、E22a、E23a、・・・は、それぞれストレージノードE21、E22、E23、・・・上で動作し、各ストレージノードE21、E22、E23、・・・上のデータ記憶資源を管理しており、要求に応じてデータ記憶資源を割り当てあるいは開放する。データ記憶資源は、例えば、記憶装置領域やCPU使用量、ネットワーク帯域がある。
データ記憶資源の管理の例としては、例えば、記憶装置領域に対して、あらかじめ図8に示すような表として管理している記憶装置割当表に対し、必要確保サイズが要求された時、当該表を走査し、要求サイズが確保できる場合は、当該サイズを割当し、表情報を変更する。要求サイズが確保できない場合は要求不受理を返答する。
また部分管理プロセスE21a、E22a、E23a、・・・は他の一つ以上の部分管理プロセスE21a、E22a、E23a、・・・の資源量を示す情報を持つこともでき、資源割当要求を他のストレージノードE21、E22、E23、・・・上で動作する部分管理プロセスE21a、E22a、E23a、・・・のうち少なくとも一つに委譲することができる。
例えば、部分管理プロセスE21aはE22aの管理する記憶装置領域の空きサイズより大きな記憶装置領域概算値ESTSIZE(E2)を保持しており、部分管理プロセスE22aが自身の記憶装置領域サイズを変更した際に当該概算値よりも空きサイズが下回った場合、部分管理プロセスE21aに対して概算値ESTSIZE(E2)を減少させる概算値更新命令を送付し、部分管理プロセスE21aは概算値ESTSIZE(E2)を減少させる。
部分管理プロセスE21aは、資源割当要求を受信した際、ストレージノードE21上の資源では要求を満たせない場合、概算値ESTSIZE(E2)を参照し、ストレージノードE22により当該資源割当要求が受理可能のときは当該資源割当要求をストレージノードE22上の部分管理プロセスE22aに転送する。部分管理プロセスE22aは上記記憶装置割当表を更新し資源を割当て、要求への返信をユーザ計算端末E1に送付する。
部分管理プロセスの実装は上記に限らない。ストレージノードE21、E22、E23、・・・をネットワークE3に接続し、上記の相互情報交換により分散記憶装置E2は構成される。
ネットワークE3にはまた、少なくとも一つのユーザ計算端末E1が接続されている。ユーザ計算端末E1は、図7に示すように、一つ以上のCPU G11、一つ以上のメモリG12、および、一つ以上の通信コントローラG13を備える計算機により構成される。
ユーザ計算端末E1は、通信コントローラG13を通じて、ネットワークE3上のストレージノードE21、E22、E23、・・・(図5を参照)とユーザ利用データの送受信を行う。この制御は、CPU G11およびメモリG12を用いて実現されるソフトウェア処理により行われる。またユーザ計算端末E1は分散記憶装置E2へ送信するユーザ利用データを保持している。
ユーザ利用データは例えば、メモリG12上に配置する。別の例では、ユーザ計算端末E1は、さらに、一つ以上のI/Oコントローラと記憶装置を備えており、分散記憶装置E2と送受信するユーザ利用データはメモリG12のほかに当該記憶装置上に格納してもよい。
ユーザ利用データは固定長あるいは任意長のデータ塊の集合と、当該データ塊を示す利用データIDで管理される。例えば、データ塊はファイル、利用データIDはi-node番号である。また別の例では、データ塊は4キロバイト長のブロック、利用データIDはボリューム名とブロック番号の組である。
データ格納制御部E12は、資源量送信部K121、格納先受信部K122、データ送信部K123、共有登録部K124を有する。ネットワークE3は、例えば、Fibre Channel、FCoE、Infiniband、またはその他のEthernet(登録商標)上のTCP/IP等の上位プロトコル等により実現される。ネットワークE3の実現方法は上記に限定しない。
かかる構成のシステムにおいて、ユーザ計算端末E1から分散記憶装置E2へのデータ転送は図10のように行われる。以下ではその説明を記載する。
まずユーザ計算端末E1上のデータ利用プロセスE11は送信するユーザ利用データの格納サイズを作成するためのデータ特性情報を資源量送信部K121に送信する。例えば、ここではファイル名のリストが送付される。別の例ではブロック番号のリストが送付される。別の例では、ユーザ計算端末E1上の記憶装置のサイズが送付される。データ特性情報は上記に限らない。
資源量送信部K121では、上記データ特性情報から、資源量情報を作成し、部分管理プロセスE21a、E22a、E23a、・・・のうち一つに資源割当要求として送信する。
例えば、図10では部分管理プロセスE21aに送信したとしている。資源量情報の例としては、ファイル名のリストから、当該ファイルを合計したサイズを作成し送信することができる。別の例ではユーザ計算端末E1上の記憶装置サイズを資源量情報として送信する。資源量情報は上記に限らない。
資源割当要求を受信した分散記憶装置E2上の部分管理プロセスE21aは、上記の方法に基づき資源を割当し、ストレージノードE21、E22、E23、・・・のうち一つを識別可能なノード識別子をユーザ計算端末E1に送信する。例えば、ノード識別子はネットワークアドレスである。例えば、以下の説明では、ストレージノードE23が選択されたとする。
格納先受信部K122によりノード識別子を受信したユーザ計算端末E1はデータ送信部K123により当該ノード識別子であらわされるストレージノードE23に対し、ユーザ利用データを送信する。ユーザ利用データはデータ塊ごとに一つずつ送信してもよい。また複数のデータ塊をまとめて、データ塊間の境界が判断可能なデータ構造として送信してもよい。
受信したストレージノードE23は、永続化管理部E23fにより当該データ塊を冗長化し、少なくとも一つの記憶装置E23dに格納し、割り振った記憶位置データをユーザ計算端末E1に返信する。永続化管理部E23fによるデータ塊の冗長化処理は、図5の冗長化管理プロセスE23cで行われる。
ストレージノードE23が複数のデータ塊をまとめて受信した場合は、対応する複数の記憶位置データを、記憶位置データ間の境界が判断可能なデータ構造として送信してもよい。
データ送信部K123は、受信した記憶位置データと送信したストレージノード、および対応するデータ塊識別子の記憶位置データ対応表を作成し保持しておく。必要な全てのユーザ利用データを送信した場合は次の共有登録部K124に遷移する。
また、他に格納が必要なユーザ利用データが存在する場合、資源量送信部K121に再び遷移し、上記の手順によりユーザ利用データを送信してもよい。共有登録部K124では、記憶位置データ対応表の項目を含む情報を分散管理プロセスE21b、E22b、E23b、・・・のうち少なくとも一つ(本実施の形態では、分散管理プロセスE23b)に送信する。
記憶位置データ対応表の項目を含む情報を受信した分散管理プロセスE23bでは、データ配置情報を更新する。例えば、上記分散ハッシュテーブル方式であれば、各部分管理プロセスE21a、E22a、E23a、・・・が保持するデータ塊識別子と格納ノードの対の割当表を更新し、データ格納が完了する。
このように、本実施の形態では、資源量送信部K121と、部分管理プロセスE21a、E22a、E23a、・・・により資源をまとめて確保し、データ送信部K123により複数のデータ塊をまとめて送信しユーザ利用データの耐故障性を確保した後に共有登録部K124と部分管理プロセスE21a、E22a、E23a、・・・によりユーザ利用データを共有登録し利用可能とする。
従って、本実施の形態では、データ管理システムE0は、大量の小さなユーザ利用データを挿入する際に、個別のデータ塊ごとに共有処理を行うことなく、ユーザ利用データを高速に挿入し、削除可能とすることができる。
データ送信部K123が複数回実行される場合、共有登録部K124は最後にまとめて1回、記憶位置データ対応表の項目を送信してもよい。また、各データ送信部K123が実行後に、次のデータ送信部K123と並行して共有登録部K124を実行しても良い。
また、ユーザ計算端末E1が保持するユーザ利用データのうち、上記データ送信部K123で記憶位置データを受信したユーザ利用データに関しては、分散記憶装置E2上で冗長化され耐故障性が確保されているため、データ削除部D125(図4を参照)により削除を行い、ユーザ計算端末E1上のデータ格納資源を解放してもよい。
また、ユーザ計算端末E1は、さらに、図に記載されていないストレージノード死活監視部を持ち、ストレージノードが障害を起こしたことを高速に検知することができるとしてもよい。
ストレージノード死活監視部による死活監視は例えば、ネットワークタイムアウト検知等で行う。別の例では、例えば、異なるストレージノード上からのハートビートによる検知でもよい。死活監視は上記に限らない。
ユーザ計算端末E1は、分散記憶装置E2からデータ再送依頼を受信するデータ再送依頼受信部と、データ送信部K123に対しデータ送信停止命令を出し、資源量送信部K121に対し必要資源再確保命令を出す再送制御部をさらに備えることにより、ユーザ利用データを失うことなく再送することができる。
また、分散記憶装置E2は、ユーザ計算端末E1上の上記データ共有部からの指令により部分管理プロセスE21a、E22a、E23a、・・・が更新を行った後、ユーザ利用データの読み出し性能を考え、ユーザ利用データを異なるストレージノード上にマイグレートする機能を備えていてもよい。さらに、ネットワークL3は、接続された機器間で性能や遅延時間に差があってもよい。
かかる構成では、ユーザ計算端末E1上の資源量送信部が送信する資源量情報はネットワーク上の位置を表すネットワーク位置情報を含むことができる。ネットワーク位置情報は例えば、ネットワークアドレスである。
別の例では、ネットワーク位置情報は、例えば、あらかじめ測定された各ストレージノードとの距離を示す値である。別の例では、ネットワーク位置情報は、例えば、接続されたネットワークスイッチの識別子である。
別の例ではユーザ計算端末E1は複数の記憶装置を有しており、各記憶装置ごとのネットワーク位置情報をまとめたものをユーザ計算端末E1のネットワーク位置情報としてもよい。ネットワーク位置情報は上記に限らない。
かかる構成では、ストレージノードE21、E22、E23・・・は、さらに、ネットワーク構成分散判定部を有してもよい。ネットワーク構成分散判定部は、上記資源量情報中のネットワーク位置情報から、分散処理によりネットワーク上でより効率がよくデータ転送ができるストレージノードを決定する手段である。
例えば、ネットワーク構成分散判定部は、分散記憶装置E2中のネットワークスイッチの相互接続情報を分割・複製を作成し持ちあい、ネットワーク位置情報がアドレスやネットワークスイッチの識別子であった場合、当該アドレスで示されるユーザ計算端末E1にもっとも近いスイッチに接続されたストレージノードを格納対象として決定できる。
また、別の例では、ネットワーク構成分散判定部は、送信されたネットワーク位置情報があらかじめ測定された各ストレージノードとの距離を示す値であった場合、もっとも距離の小さなストレージを決定することができる。
また、別の例では、ネットワーク構成分散判定部は、過去の資源割当情報履歴を把握し、現在最もデータ転送能力に余裕があるストレージノードを選定し、格納対象として決定できる。
また、ネットワーク構成分散判定部は、さらに、ネットワーク情報と、資源量送信部の持つ情報をあわせ、格納対象ストレージノードを決定するとしてもよい。
従って、本実施の形態では、上記のネットワーク構成分散判定部をさらに導入することにより、ユーザ計算端末E1はよりネットワーク上データ転送性能の良いストレージノードへユーザ利用データを転送できる。
また、上記部分管理プロセスE21a、E22a、E23a、・・・は、さらに上記ユーザ計算端末E1から上記ノード識別子と上記記憶位置データの組とデータ塊識別子を受信したときにデータ登録の可否を判断し登録不可能のときは登録不可通知をユーザ計算端末E1に返信するデータ登録可否判断部を有し、上記ユーザ計算端末E1上は、さらに、上記分散記憶装置E2から登録不可通知を受信し上記データ利用プロセスE11にデータ転送不可通知を送信するデータ登録失敗処理部を有するとしても良い。
例えば、登録可否判断として、データ一貫性判断があげられる。この場合、上記部分管理プロセスE21a、E22a、E23a、・・・は、さらに分散処理によるデータ版管理機能を有する。
部分管理プロセスE21a、E22a、E23a、・・・とのやり取りを通じてユーザ利用データを読み出したユーザ計算端末E1は、ユーザ利用データと共に当該ユーザ利用データの取得時の版を示す版情報(以下、「版」と略記する場合がある)VER(1)を取得する。
当該ユーザ利用データを更新し書き戻す際に、上記利用データIDに読み出し時の版VER(1)よりも大きな版VER(2)を示す版情報を含ませる。上記登録可否判断部は上記データ版管理機能と上記版情報に基づいて、当該版情報VER(2)が記録されている版よりも小さい場合登録不可能とする。記録されている版よりも大きい場合、データ登録の際に、当該ユーザ利用データの版を少なくとも版情報VER(2)よりも大きな値に変更する。
従って、本実施の形態では、上記のデータ登録可否判断部をさらに導入することにより、ユーザ計算端末E1はデータ管理システムE0として不都合なユーザ利用データを登録し他のユーザ計算端末E1に提供してしまうことを防ぐことができる。例えば、データ登録可否判断が版情報に基づく場合、データ管理システムE0は最新ではないユーザ利用データを他のユーザ計算端末E1に提供してしまうことを防ぐことができる。
<第三の実施形態>
次に、本発明の第三の発明を実施するための最良の形態について図面を参照して詳細に説明する。図11は、ネットワーク結合された集中制御の分散記憶装置と複数のユーザ計算端末により本実施形態によるデータ管理システムを示すものである。図11のユーザ計算端末L1、・・・に格納されたユーザ利用データが分散記憶装置L2に記録される。
図11のストレージノードL21、L22、L23、・・・は、図12に示すように一つ以上のCPU F21、一つ以上のメモリF22、一つ以上のI/OコントローラF23、一つ以上の記憶装置L21d、L22d、L23d、・・・、一つ以上の通信コントローラF24を備える計算機により構成される。
ストレージノードL21、L22、L23、・・・は、通信コントローラF24を通じて、ネットワークL3上のユーザ計算端末L1、・・・とユーザ利用データの送受信を行う。また、ストレージノードL21、L22、L23、・・・は、必要なユーザ利用データの格納・読み出しを、I/OコントローラF23を通じて記憶装置L21d、L22d、L23d、・・・、と行う。この制御は、CPU F21およびメモリF22を用いて実現されるソフトウェア処理により行われる。
記憶装置L21d、L22d、L23d、・・・は例えば、ハードディスクドライブ、フラッシュメモリ、DRAM、MRAM、FeRAM、RAIDコントローラに結合された一つ以上の記憶装置、磁気テープなどのユーザ利用データを記録可能な物理媒体、もしくはストレージノードL21、L22、L23、・・・の外部に設置された当該媒体へユーザ利用データを記録可能な制御装置である。
図11のストレージコントローラL4は、一つ以上のCPU、一つ以上のメモリ、一つ以上の通信コントローラを備える計算機により構成され、資源量送信部L41、分散配置管理部L42、永続化管理部L43を動作させる機能を有する。
図11の分散配置管理部L42は、ストレージコントローラL4上で動作するプログラムであり、資源管理部A22の機能を実現する。ストレージノードL21、L22、L23、・・・へのデータ配置は分散配置管理部L42で実現される資源管理部A22の機能により決定され、利用データIDと格納ノードの対応を管理する。
例えば、分散データ配置機能は、配置を管理する表により決定される。分散データ配置機能の実装は上記に限らない。図11の永続化管理部L43は、ストレージコントローラL4上で動作するプログラムであり、永続化管理部L43の機能を実現する。格納データが求められた耐故障性を満たすように冗長化処理を行う。
例えば、記憶装置がハードディスクドライブで、求められた耐故障性が高々一台の記憶装置故障でデータ喪失が起こらないこと、とした場合、永続化管理部L43は、受信したユーザ利用データを必ず二つ以上のストレージノードL21、L22、L23、・・・に格納するように分散配置管理部を制御する。
冗長化処理は上記に限らない。ストレージノードL21、L22、L23、・・・上のユーザ利用データは、ストレージノードL21、L22、L23、・・・上で動作する内部データ管理機能L11a、L12a、L13a、・・・により、固定長あるいは任意長のデータ塊の集合と、当該データ塊を示す利用データIDで管理される。
例えば、データ塊はファイル、利用データIDはi-node番号である。また別の例では、データ塊は4キロバイト長のブロック、利用データIDはボリューム名とブロック番号の組である。データ塊の実装は上記に限らない。
データ塊はデータ塊配置表により内部利用データIDとオフセットから記憶装置L11b、L12b、L13b、・・・上における位置の対応が管理される。例えば、図9に示すようなデータ塊配置表により管理される。データ塊配置表の実装は上記に限らない。
図11の資源量送信部L41は、ストレージコントローラL4上で動作するプログラムである。資源量送信部L41は各ストレージノードL21、L22、L23、・・・上の資源を管理しており、要求に応じて資源を割り当てあるいは開放依頼を内部データ管理機能L11a、L12a、L13a、・・・に送信する。資源は、例えば、記憶装置領域やCPU使用量、ネットワーク帯域がある。
資源の確保の例としては、例えば、記憶装置領域に対して、あらかじめ図13に示すような表として管理している記憶資源表に対し、必要確保サイズが要求された時、当該表を走査し、要求サイズが確保できるストレージノードを決定しユーザ計算端末に送付する。
また別の例では、例えば、記憶装置領域の資源の確保の際、永続化管理部L43により、あらかじめ複製を配置する数が決定している際、例えば、3つの複製を配置する場合、要求サイズがそれぞれ確保できる3つのストレージノードを決定しユーザ計算端末に送付する。
資源量送信部L41の実装は上記に限らない。分散記憶装置L2はストレージノードL21、L22、L23、・・・、および、ストレージコントローラL4をネットワークL3に接続し、上記に示すような相互に情報をやり取りすることで構成される。
ネットワークL3にはまた、少なくとも一つのユーザ計算端末が接続されている。ユーザ計算端末は、第二の実施形態と同様であり、詳細は割愛する。ネットワークL3は図15のように複数のネットワークL31、L32、・・・の結合により構成されていてもよい。
上述のような構成のデータ管理システムにおいて、ユーザ計算端末L1から分散記憶装置L2へのデータ転送は図14のように行われる。以下ではその説明を記載する。まずユーザ計算端末上のデータ利用プロセスL11は送信するユーザ利用データの格納サイズを作成するためのデータ特性情報を資源量送信部L121に送信する。
データ特性情報の例としては、ここではファイル名のリストが送付される。別の例ではブロック番号のリストが送付される。別の例では、ユーザ計算端末上の記憶装置のサイズが送付される。データ特性情報は上記に限らない。
資源量送信部L121では、上記データ特性情報から、資源量情報を作成し、資源量送信部L41に資源割当要求として送信する。資源量情報の例としては、ファイル名のリストから、当該ファイルを合計したサイズを資源量情報として作成し送信することができる。別の例ではユーザ計算端末E1上の記憶装置サイズを資源量情報として送信する。資源量情報は上記に限らない。
資源割当要求を受信した分散記憶装置L2上の資源量送信部L41は、上記の方法に基づき資源を割当て、少なくとも一つのノード識別子をユーザ計算端末L1に送信する。ノード識別子はストレージノードL21、L22、L23、・・・のうち一つを決定可能な情報である。例えば、ノード識別子はネットワークアドレスである。
送信されたノード識別子を位置受信部により受信したユーザ計算端末はデータ送信部L123により当該ノード識別子であらわされるストレージノードに対し、ユーザ利用データを送信する。ユーザ利用データはデータ塊ごとに一つずつ送信してもよい。また複数のデータ塊をまとめて、データ塊間の境界が判断可能なデータ構造として送信してもよい。
受信したストレージノードは、ユーザ利用データを格納し、割り振った記憶位置データをユーザ計算端末に返信する。複数のデータ塊をまとめて受信した場合は、対応する複数の記憶位置データを、記憶位置データ間の境界が判断可能なデータ構造として送信してもよい。
データ送信部L123は、受信した記憶位置データと送信したノード識別子、および対応するデータ塊識別子の記憶位置データ対応表を作成し保持しておく。必要な全てのユーザ利用データを送信した場合は次の共有登録部L124に遷移する。
また、他に格納が必要なユーザ利用データが存在する場合、資源量送信部L121に再び遷移し、上記の手順によりユーザ利用データを送信してもよい。共有登録部L124では、記憶位置データ対応表の項目を分散配置管理部に送信する。分散配置管理部L42では、データ配置情報を更新する。例えば、上記表方式であれば、表を更新し、データ格納が完了する。
また、ユーザ計算端末L1上のプログラムは、上記データ送信部L123で、指定された全てのストレージノードL21、L22、L23、・・・への記憶位置データを受信したユーザ利用データに関しては、分散記憶装置L2上で冗長化され耐故障性が確保されている、図に記載しないデータ削除部により削除を行い、ユーザ計算端末L1上のデータ格納資源を解放することができる。
このように、本実施の形態では、資源量送信部L121と、資源量送信部L41により資源をまとめて確保し、データ送信部L123により複数のデータ塊をまとめて送信しユーザ利用データの耐故障性を確保した後に共有登録部L124と分散配置管理部L42によりユーザ利用データを共有登録し利用可能とする。
従って、本実施の形態では、データ管理システムは、大量の小さなユーザ利用データを挿入する際に、個別のデータ塊ごとに共有処理を行うことなく、ユーザ利用データを高速に挿入し、削除可能とすることができる。
さらに、ネットワークL3は図15に示すように、接続された機器間で性能や遅延時間に差があってもよい。かかる構成では、ユーザ計算端末上の資源量送信部が送信する資源量情報はネットワーク上の位置を表すネットワーク位置情報を含むことができる。ネットワーク位置情報は例えば、ネットワークアドレスである。
別の例では、ネットワーク位置情報は、例えば、あらかじめ測定された各ストレージノードとの距離を示す値である。別の例では、ネットワーク位置情報は、例えば、接続されたネットワークスイッチの識別子である。
別の例ではユーザ計算端末は複数の記憶装置を有しており、各記憶装置ごとのネットワーク位置情報をまとめたものをユーザ計算端末L1のネットワーク位置情報としてもよい。ネットワーク位置情報は上記に限らない。
かかる構成では、ストレージコントローラL4は、さらに、ネットワーク構成判定部を有してもよい。ネットワーク構成判定部は、上記資源量情報中のネットワーク位置情報から、ネットワーク上でより効率がよくデータ転送ができるストレージノードを決定する手段である。
例えば、ネットワーク構成判定部は、分散記憶装置L2中のネットワークスイッチの相互接続情報を持ち、ネットワーク位置情報がアドレスやネットワークスイッチの識別子であった場合、当該アドレスで示されるユーザ計算端末にもっとも近いスイッチに接続されたストレージノードを格納対象として決定できる。
また、別の例では、ネットワーク構成判定部は、送信されたネットワーク位置情報があらかじめ測定された各ストレージノードとの距離を示す値であった場合、もっとも距離の小さなストレージを選定し、格納対象として決定できる。
また、別の例では、ネットワーク構成判定部は、過去の資源割当情報履歴を把握し、現在最もデータ転送能力に余裕があるストレージノードを選定し、格納対象として決定できる。
また、ネットワーク構成判定部は、さらに、ネットワーク情報と、資源量送信部の持つ情報をあわせ、格納対象ストレージノードを決定するとしてもよい。従って、本実施の形態では、上記のネットワーク構成判定部を導入することにより、ユーザ計算端末はよりネットワーク上データ転送性能の良いストレージノードへユーザ利用データを転送できる。
また、上記分散配置管理部L42は、さらに上記ユーザ計算端末から上記ノード識別子と上記記憶位置データの組と利用データIDを受信したときにデータ登録の可否を判断し登録不可能のときは登録不可通知をユーザ計算端末に返信するデータ登録可否判断部を有し、上記ユーザ計算端末上は、さらに、上記分散記憶装置から登録不可通知を受信し上記データ利用機能にデータ転送不可通知を送信するデータ登録失敗処理部を有するとしてもよい。
例えば、登録可否判断として、データ一貫性判断があげられる。この場合、上記分散配置管理部L42は、さらにデータ版管理機能を有する。上記配置管理部を通してユーザ利用データを読み出したユーザ計算端末は、ユーザ利用データと共に当該ユーザ利用データの版を示す情報を取得する。
当該ユーザ利用データを更新し書き戻す際には上記利用データIDにさらに、読み出し時よりも大きな版を示す版情報を含ませる。上記登録可否判断部は上記データ版管理機能と上記版情報に基づいて、当該版情報が記録されている版よりも小さい場合登録不可能とする。
従って、本実施の形態では、上記のデータ登録可否判断部をさらに導入することにより、ユーザ計算端末はデータ管理システムとして不都合なユーザ利用データを登録し他のユーザ計算端末に提供してしまうことを防ぐことができる。例えば、データ登録可否判断が版情報に基づく場合、データ管理システムは最新ではないユーザ利用データを他のユーザ計算端末に提供してしまうことを防ぐことができる。
なお、本発明のデータ管理システムは、並列ファイルシステム、RAIDアレイ、分散記憶システム、データグリッド等の階層化に適用できる。また、分散記憶装置間のシステム移行といった用途にも適用できる。また、分散記憶装置を用いたデータウェアハウスへのデータロードといった用途にも適用できる。
さらに、本実施の形態では分散記憶装置の各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本発明を満足する範囲で各種に変更することができる。
A1 ユーザ計算端末
A11 データ利用プロセス
A12 格納制御部
A2 分散記憶装置
A211 データ記憶部
A22 資源管理部
A22a、A22b 部分資源管理部
A221 記憶資源データベース
A221a、A221b 部分記憶資源データベース
A23 永続化管理部
A24 配置管理部
B121 資源量送信部
B122 格納先受信部
B123 データ送信部
B124 共有登録部
E0 データ管理システム
E1 ユーザ計算端末
E11 データ利用プロセス
E12 データ格納制御部
E2 分散記憶装置
E21、E22、E23 ストレージノード
E21a、E22a、E23a 部分管理プロセス
E21b、E22b、E23b 分散管理プロセス
E21c、E22c、E23c 冗長化管理プロセス
E21d、E22d、E23d データ記憶装置
E23f 永続化管理部
E3 ネットワーク
F21 CPU
F22 メモリ
F23 I/Oコントローラ
F24 通信コントローラ
G11 CPU
G12 メモリ
G13 通信コントローラ
h ハッシュ関数
K121 資源量送信部
K122 格納先受信部
K123 データ送信部
K124 共有登録部
L1 ユーザ計算端末
L11 データ利用プロセス
L11a、L12a、L13a 内部データ管理機能
L11b、L12b、L13b 記憶装置
L121 資源量送信部
L123 データ送信部
L124 共有登録部
L2 分散記憶装置
L21、L22、L23 ストレージノード
L3 ネットワーク
L31、L32 ネットワーク
L4 ストレージコントローラ
L41 資源量送信部
L42 分散配置管理部
L43 永続化管理部
VER 版情報

Claims (18)

  1. 各種のユーザ利用データを個々に利用する複数のユーザ計算端末と、前記ユーザ利用データを必要により複数のデータ記憶資源に分散させて記憶する少なくとも一個の分散記憶装置と、を有するデータ管理システムであって、
    前記ユーザ計算端末は、前記分散記憶装置の複数の前記データ記憶資源に必要により分散させて記憶させる前記ユーザ利用データの資源量情報を作成して送信する資源量送信手段を有し、
    前記分散記憶装置は、前記ユーザ計算端末から受信した前記資源量情報に基づいて前記ユーザ利用データを必要により分散させて記憶させる少なくとも一つの前記データ記憶資源を決定して返信する資源管理手段を有し、
    前記ユーザ計算端末は、受信する記憶資源IDに対応して前記ユーザ利用データを前記分散記憶装置に送信するデータ送信手段を有し、
    前記分散記憶装置は、受信した前記ユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数の前記データ記憶資源を有し、
    前記ユーザ計算端末は、受信した前記記憶位置データと前記記憶資源IDとともに前記ユーザ利用データを一意に示す利用データIDを前記分散記憶装置に送信する共有登録手段を有し、
    前記分散記憶装置は、前記利用データIDごとに前記記憶位置データと前記記憶資源IDとを受信して前記ユーザ利用データを管理する配置管理手段を有することを特徴とするデータ管理システム。
  2. 前記データ送信手段は、所定のデータ個数とデータ容量との少なくとも一方を指標として複数のユーザ利用データを一つにして前記データ記憶資源に送信し、
    前記分散記憶装置は、一つにされた複数の前記ユーザ利用データを必要により分散させて記憶するとともに各々の複数の記憶位置データを個々に返信し、
    前記配置管理手段は、複数の前記ユーザ利用データを受信してから対応する複数の前記記憶位置データを送信する、請求項1に記載のデータ管理システム。
  3. 複数の前記ユーザ計算端末は通信ネットワークで前記分散記憶装置の複数の前記データ記憶資源と接続されており、
    複数の前記ユーザ計算端末は、各々の前記通信ネットワークでのネット端末位置を前記資源量送信手段が生成する前記資源量情報に内包させ、
    前記分散記憶装置は、複数の前記データ記憶資源ごとに少なくとも前記通信ネットワークでのネット資源位置を記憶している記憶資源データベースを、さらに有し、
    前記資源管理手段は、前記ネット端末位置と前記ネット資源位置との少なくとも一方に対応して前記ユーザ利用データを必要により分散させて記憶させる少なくとも一つの前記データ記憶資源を決定する請求項1または2に記載のデータ管理システム。
  4. 前記記憶資源データベースは、必要により分散されて記憶されている複数の前記ユーザ利用データと複数の前記データ記憶資源との対応関係も記憶している請求項3に記載のデータ管理システム。
  5. 前記資源量送信手段は、記憶させる複数のユーザ利用データのうち少なくとも一部に対応する一部対応の前記資源量情報も生成し、
    前記データ送信手段は、一部対応の前記資源量情報に該当する前記ユーザ利用データを送信し、
    前記共有登録手段は、送信された前記ユーザ利用手段に対応して返信された前記記憶位置データを一時保存するとともに残余の前記ユーザ利用データを記憶する前記データ記憶資源を前記資源管理手段に決定させて記憶させる複数の前記ユーザ利用データに対する前記記憶位置データも一時保存し、
    前記共有登録手段は、一時保存された前記記憶位置データを前記配置管理手段に送信する請求項1ないし4の何れか一項に記載のデータ管理システム。
  6. 前記分散記憶装置は、前記配置管理手段は、前記データ記憶資源に記憶させて管理した前記ユーザ利用データを任意の前記データ記憶資源に移動させ、移動させた前記ユーザ利用データを対応する前記データ記憶資源とともに管理する請求項1ないし5の何れか一項に記載のデータ管理システム。
  7. 前記ユーザ計算端末は、前記分散記憶装置から対応する前記記憶位置データを受信した前記ユーザ利用データを削除するデータ削除手段を、さらに有する請求項1ないし6の何れか一項に記載のデータ管理システム。
  8. 前記分散記憶装置は、前記データ記憶資源の故障を検知する死活監視手段と、前記死活監視手段が故障を検知した前記データ記憶資源に前記ユーザ利用データを送信中の前記ユーザ計算端末を特定するアボート特定手段と、特定された前記ユーザ計算端末にデータ再送依頼を送信する再送依頼手段とを、さらに有し、
    前記ユーザ計算端末は、前記分散記憶装置から前記データ再送依頼を受信すると前記ユーザ利用データを前記データ送信手段に再送させる再送制御手段を、さらに有する請求項1ないし7の何れか一項に記載のデータ管理システム。
  9. 前記資源管理手段は、一つ以上の前記データ記憶資源の利用可能資源量を各々管理する複数の部分資源管理手段を有し、
    前記部分資源管理手段は、管理する前記データ記憶資源に対応する、前記記憶資源IDと前記データ記憶資源の前記利用可能資源量とが互いに対応付けて記憶された記憶資源データベースの部分情報を持つ部分記憶資源データベースをそれぞれ有し、
    前記ユーザ計算端末は、一つの前記部分資源管理手段を第一の資源管理手段として選択して、当該部分資源管理手段に前記資源量情報を送信し、
    前記第一の資源管理手段は、受信した前記資源量情報と、当該第一の資源管理手段の有する前記部分記憶資源データベースに格納された前記部分情報と、に基づいて、前記データ記憶資源に前記ユーザ利用データを記憶することの可否を判定し、
    前記データ記憶資源に前記ユーザ利用データを記憶することが不可能と判定されたとき、前記資源管理手段は、他の前記部分資源管理手段を第二の資源管理手段として選択して、当該部分資源管理手段に前記資源量情報を転送し、前記第二の資源管理手段は、受信した前記資源量情報と、当該第二の資源管理手段の有する前記部分記憶資源データベースに格納された前記部分情報と、に基づいて、前記データ記憶資源に前記ユーザ利用データを記憶することの可否を判定する請求項1ないし8の何れか一項に記載のデータ管理システム。
  10. 前記第二の資源管理手段が管理する前記データ記憶資源の前記記憶資源IDを前記ユーザ計算端末に送信する請求項9に記載のデータ管理システム。
  11. 前記配置管理手段は、前記ユーザ計算端末から前記記憶資源IDと前記記憶位置データと前記利用データIDとを受信したときにデータ登録可否を判定し、データ登録不能のときは登録不可通知を前記ユーザ計算端末に返信し、
    前記ユーザ計算端末は、受信した前記登録不可通知を前記データ利用機能に通知する請求項1ないし10の何れか一項に記載のデータ管理システム。
  12. 前記配置管理手段は、管理する前記ユーザ利用データの前記利用データIDに内包されているデータ版情報も管理し、管理している前記データ版情報に対応して前記登録可否判断を実行する請求項11に記載のデータ管理システム。
  13. 請求項1に記載のデータ管理システムの各種のユーザ利用データを利用するユーザ計算端末であって、
    前記分散記憶装置の複数の前記データ記憶資源に必要により分散させて記憶させる前記ユーザ利用データの資源量情報を作成して送信する資源量送信手段と、
    受信する前記記憶資源IDに対応して前記ユーザ利用データを前記分散記憶装置に送信するデータ送信手段と、
    受信した前記記憶位置データと前記記憶資源IDとともに前記ユーザ利用データを一意に示す利用データIDを前記分散記憶装置に送信する共有登録手段と、
    を有することを特徴とするユーザ計算端末。
  14. 請求項1に記載のデータ管理システムのユーザ利用データを必要により複数のデータ記憶資源に分散させて記憶する分散記憶装置であって、
    前記ユーザ計算端末から受信した前記資源量情報に基づいて前記ユーザ利用データを必要により分散させて記憶させる少なくとも一つの前記データ記憶資源を決定して返信する資源管理手段と、
    受信した前記ユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数の前記データ記憶資源と、
    前記利用データIDごとに前記記憶位置データと前記記憶資源IDとを受信して前記ユーザ利用データを管理する配置管理手段と、
    を有することを特徴とする分散記憶装置。
  15. 請求項13に記載のユーザ計算端末のコンピュータプログラムであって、
    前記分散記憶装置の複数の前記データ記憶資源に必要により分散させて記憶させる前記ユーザ利用データの資源量情報を作成して送信する容量送信処理と、
    受信する前記記憶資源IDに対応して前記ユーザ利用データを前記分散記憶装置に送信するデータ送信処理と、
    受信した前記記憶位置データと前記記憶資源IDとともに前記ユーザ利用データを一意に示す利用データIDを前記分散記憶装置に送信する共有登録処理と、
    を前記ユーザ計算端末に実行させることを特徴とするコンピュータプログラム。
  16. 請求項14に記載の分散記憶装置のコンピュータプログラムであって、
    前記ユーザ計算端末から受信した前記資源量情報に基づいて前記ユーザ利用データを必要により分散させて記憶させる少なくとも一つの前記データ記憶資源を決定して返信する資源管理処理と、
    受信した前記ユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数の前記データ記憶資源と、
    前記利用データIDごとに前記記憶位置データと前記記憶資源IDとを受信して前記ユーザ利用データを管理する配置管理処理と、
    を前記分散記憶装置に実行させることを特徴とするコンピュータプログラム。
  17. 請求項13に記載のユーザ計算端末のデータ処理方法であって、
    前記分散記憶装置の複数の前記データ記憶資源に必要により分散させて記憶させる前記ユーザ利用データの資源量情報を作成して送信する容量送信動作と、
    受信する前記記憶資源IDに対応して前記ユーザ利用データを前記分散記憶装置に送信するデータ送信動作と、
    受信した前記記憶位置データと前記記憶資源IDとともに前記ユーザ利用データを一意に示す利用データIDを前記分散記憶装置に送信する共有登録動作と、
    を前記ユーザ計算端末に実行させることを特徴とするデータ処理方法。
  18. 請求項14に記載の分散記憶装置のデータ処理方法であって、
    前記ユーザ計算端末から受信した前記資源量情報に基づいて前記ユーザ利用データを必要により分散させて記憶させる少なくとも一つの前記データ記憶資源を決定して返信する資源管理動作と、
    受信した前記ユーザ利用データを必要により分散させて記憶するとともに各々の記憶位置データを個々に返信する複数の前記データ記憶資源と、
    前記利用データIDごとに前記記憶位置データと前記記憶資源IDとを受信して前記ユーザ利用データを管理する配置管理動作と、
    を前記分散記憶装置に実行させることを特徴とするデータ処理方法。
JP2009193916A 2009-08-25 2009-08-25 データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法 Pending JP2011048427A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193916A JP2011048427A (ja) 2009-08-25 2009-08-25 データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193916A JP2011048427A (ja) 2009-08-25 2009-08-25 データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法

Publications (1)

Publication Number Publication Date
JP2011048427A true JP2011048427A (ja) 2011-03-10

Family

ID=43834711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193916A Pending JP2011048427A (ja) 2009-08-25 2009-08-25 データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法

Country Status (1)

Country Link
JP (1) JP2011048427A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015146205A (ja) * 2015-03-16 2015-08-13 株式会社東芝 データベース処理方法、及びデータベース処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015146205A (ja) * 2015-03-16 2015-08-13 株式会社東芝 データベース処理方法、及びデータベース処理装置

Similar Documents

Publication Publication Date Title
JP5227361B2 (ja) Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム
US6611903B2 (en) Storage subsystem and its controlling method
JP5967673B2 (ja) データメンテナンス用の方法
US11860791B2 (en) Methods for managing input-output operations in zone translation layer architecture and devices thereof
JP2004054721A (ja) ネットワークストレージ仮想化方法
US20120023146A1 (en) Storage system and method of controlling same
US10031682B1 (en) Methods for improved data store migrations and devices thereof
CN104536702A (zh) 一种存储阵列系统及数据写请求处理方法
US11966611B2 (en) Methods for handling storage devices with different zone sizes and devices thereof
US9037900B2 (en) Small computer system interface input output (SCSI IO) referral
CN109302448A (zh) 一种数据处理方法及装置
CN110663034B (zh) 用于云环境中改进的数据复制的方法及其设备
US11216204B2 (en) Degraded redundant metadata, DRuM, technique
JP5280342B2 (ja) 小型コンピューター用周辺機器インターフェース入出力リファラルのスケーリング
JP2011048427A (ja) データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法
JP5278254B2 (ja) ストレージシステム、データ記憶方法及びプログラム
WO2011136261A1 (ja) ストレージシステム、ストレージシステムの制御方法、及びコンピュータプログラム