(57)【要約】      （修正有）【課題】効率的で容易に複製先の記憶装置を決定することができ、最適な複製先の決定ができる分散データ複製システムを提供する。【解決手段】複数の計算機１０１〜１０３によって使用される複数の記憶装置１４０のある領域に記憶されるデータを、他の記憶装置のある領域に複製として記憶する分散データ複製システムにおいて、専用領域および複製領域を備え、専用領域に格納されるデータを他の記憶装置の複製領域に複製するように構成する。計算機１０１〜１０３は、他の記憶装置における複製領域の総数を規定する冗長度を保持するポリシィ保持部１６０と、専用領域の所在と専用領域に対応する複製領域の所在と未使用の複製領域の所在を規定する構成情報保持部１７０を有する。データの複製を管理する管理サーバ２００は、それぞれの計算機又は記憶装置からの複製領域の決定要求に応じて、他の記憶装置における複製領域を決定する処理要求制御部３００を有する。【選択図】図１
2007018407.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機によって使用される複数の記憶装置のある領域に記憶されるデータを、他の記憶装置のある領域に複製として記憶する分散データ複製システムであって、
該計算機によって使用される該記憶装置は、専用領域および複製領域を備え、該専用領域に格納されるデータを該他の記憶装置の複製領域に複製するように構成し、
該計算機は、他の記憶装置における複製領域の総数を規定する冗長度を保持するポリシィ保持部と、該専用領域の所在と該専用領域に対応する複製領域の所在と未使用の複製領域の所在を規定する構成情報保持部を有し、
データの複製を管理する管理サーバは、それぞれの該計算機又は該記憶装置からの複製領域の決定要求に応じて、他の記憶装置における複製領域を決定する処理要求制御部を有することを特徴とする分散データ複製システム。
【請求項２】
請求項１記載のシステムにおいて、前記ポリシィ保持部は、冗長度に加え、専用領域に適した複製領域を決定するための選択基準として当該複製領域のエラー発生回数を規定し、
前記管理サーバは、更に、各記憶装置のエラー発生回数を保持する構成情報保持部と、該専用領域に対応する複製領域を決定するために未使用複製領域をエラー発生回数の観点で評価するエラー情報判定部を具備し、該処理要求制御部はエラー発生回数に関して該専用領域に適した複製領域を決定することを特徴とする分散データ複製システム。
【請求項３】
請求項１記載のシステムにおいて、前記ポリシィ保持部は、冗長度に加え、専用領域に適した複製領域を決定するための選択基準として当該複製領域と当該専用領域の物理的距離を規定し、
前記管理サーバは、更に、当該システムにおける専用領域の所在と該専用領域に対応する複製領域の所在と未使用複製領域の所在を規定し、各計算機あるいは記憶装置の物理的位置を保持する構成情報保持部と、該専用領域に対応する複製領域を決定するために未使用複製領域を物理的距離に関して評価する距離情報判定部を具備し、該処理要求制御部は物理的距離に関して該専用領域に適した複製領域を決定することを特徴とする分散データ複製システム。
【請求項４】
請求項１記載のシステムにおいて、前記ポリシィ保持部は、冗長度に加え、さらに専用領域に適した複製領域を決定するための選択基準として当該複製領域へのアクセス時間を規定し、
前記管理サーバは、専用領域に対応する複製領域を決定するために未使用複製領域をアクセス時間に関して評価する性能判定部を具備し、該処理要求制御部はアクセス時間に関して該専用領域に適した複製領域を決定することを特徴とする分散データ複製システム。
【請求項５】
請求項１記載のシステムにおいて、前記ポリシィ保持部は、冗長度に加え、さらに専用領域に適した複製領域を決定するための選択基準として該記憶装置のエラー回数、該複製領域と該専用領域の物理的距離、該複製領域へのアクセス時間のうちいくつかを規定し、エラー回数、物理的距離、アクセス時間の評価の重みのうちいくつかを規定し、
前記管理サーバは、各記憶装置のエラー発生回数、各計算機あるいは記憶装置の物理的位置のうちいくつかを保持する構成情報保持部と、該専用領域に対応する複製領域を決定するために未使用複製領域をエラー発生回数の観点で評価するエラー情報判定部と、該専用領域に対応する複製領域を決定するために未使用複製領域を物理的距離の観点で評価する距離情報判定部と、該専用領域に対応する複製領域を決定するために未使用複製領域をアクセス時間の観点で評価する性能判定部と、該エラー情報判定部、該距離情報判定部、該性能判定部のうちいくつかの判定結果を重みをつけて総合評価する総合判定部とを具備し、
該処理要求制御部は、該総合判定部による判定の結果、エラー発生回数、又は物理的距離、又はアクセス時間に関して該専用領域に適した複製領域を決定することを特徴とする分散データ複製システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ複製システムに係り、特にネットワークに接続された複数の記憶領域の管理方法に関するものである。
【背景技術】
【０００２】
大量のデータを記憶するハードディスクのような記憶装置の故障に備えて、ＲＡＩＤ(Redundant Array of Independent Disks)技術によりデータを冗長化したり、運用系の記憶装置とは別にバックアップ系の記憶装置例えばＲＡＩＤや磁気テープを用意して、その記憶装置にバックアップ用としてデータを記憶するシステムが実用化されている。
【０００３】
バックアップ系の記憶装置として、ＲＡＩＤは大掛かりな装置を必要とするため高価なシステムとなるという問題がある。またテープによるバックアップはデータの回復に時間を要するという問題がある。
【０００４】
例えば、特許文献１（特開２００４−４６８７４号公報）には、ネットワークに接続された複数の記憶領域にてデータを複製する方法、及びデータ分散システムが開示されており、この方法を採用すれば、上記問題点を解決することができる可能性がある。
【０００５】
【特許文献１】特開２００４−４６８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記文献１に開示された方法によれば、以下の問題点が存在する。
第一に、複製先の決定方法が非効率あるいは管理情報の設定が煩雑であるという点である。具体的な接続先の決定方法として、無作為に装置ＩＤ(文献中ではＩＰアドレス)を指定し、運良くサービスを提供する装置ＩＤを指定した場合にそれを採用する方法、および装置ごとに接続先一覧を設定し何らかの方法で接続先を選択する方法が提案されている。前者の方法では、サービスを提供する装置ＩＤが一度で決定しないため非効率である。また、後者の方法では、予め全ての装置に全ての接続先情報を設定する必要があるため管理が煩雑である。
【０００７】
第二に複製データ保存先を各記憶領域のポリシィによって選択できないという点である。例えば、災害などに備え隔地保管を行う場合、複製先は元となるデータの格納場所より離れている必要があるが、提案されている方法ではこのような条件を付加して複製先を決定することができない。
【０００８】
従って、本発明の目的は、効率的で容易に複製先の記憶装置を決定することができ、また目的に合わせて最適な複製先の決定ができる分散データ複製システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、複数の計算機によって使用される複数の記憶装置のある領域に記憶されるデータを、他の記憶装置のある領域に複製として記憶する分散データ複製システムであって、計算機によって使用される記憶装置は、専用領域および複製領域を備え、専用領域に格納されるデータを他の記憶装置の複製領域に複製するように構成し、
計算機は、他の記憶装置における複製領域の総数を規定する冗長度を保持するポリシィ保持部と、専用領域の所在と専用領域に対応する複製領域の所在と未使用の複製領域の所在を規定する構成情報保持部を有し、
データの複製を管理する管理サーバは、それぞれの計算機又は記憶装置からの複製領域の決定要求に応じて、他の記憶装置における複製領域を決定する処理要求制御部を有するように構成した分散データ複製システムにある。
【発明の効果】
【００１０】
本発明によれば、データの複製先としての記憶装置の選出を、ユーザの操作を介在させること無しに自動的に行なうことができる。
【発明を実施するための最良の形態】
【００１１】
・実施例１
図１は、一実施例による分散データ複製システムを示す。
分散データ複製システムは、複数の計算機１０１〜１０３および管理サーバ２００がネットワーク４００によって相互に結合されて構成される。計算機１０１〜１０３（以下特に指定しない限り、代表として、符号１０１を使用する）は、プロセッサ１１０、メモリ１２０、記憶装置制御機構１３０、通信部１５０、ポリシィ保持部１６０、構成情報保持部１７０が内部バス１８０に結合し、記憶装置１４０が記憶装置制御機構１３０に接続されて構成される。プロセッサ１１０は例えばＣＰＵで構成され、メモリ１２０は例えばＲＡＭで構成される。
【００１２】
記憶装置制御機構１３０は、プロセッサ１１０からの記憶装置処理要求に対して記憶装置１４０を制御する機構であり、例えばＴＴＬ、ＣＭＯＳ等の論理により構成される。記憶装置１４０はハードディスク等の二次記憶によって構成できる。通信部１５０は、計算機１０１〜１０３および管理サーバ２００を結合して相互通信をするための結合網であり、例えばＴＴＬ、ＣＭＯＳ等の論理により構成される。
【００１３】
構成情報保持部１７０は、計算機１０１内が主として読み書きする領域の所在と、その領域の複製領域の所在等を保持する部分であり、例えばＲＡＭや電気的に書き換え可能なＲＯＭ等によって構成される。ポリシィ保持部１６０は、計算機１０１内が主として読み書きする領域に対応する複製領域を確定する際に用件となる情報を保持する。実施例１において、ポリシィ保持部１６０は、冗長度を保持する。冗長度とは、計算機１０１が主として読み書きする領域と、その複製領域との合計がいくつあるかを指定する情報である。実施例１ではポリシィ保持部を各計算機にて具備するが、各計算機から参照・編集が可能であるならば、管理サーバにて具備してもよい。ポリシィ保持部１６０は、例えばＲＡＭや電気的に書き換え可能なＲＯＭ等によって構成される。
【００１４】
管理サーバ２００は、後述する複製領域決定要求を各計算機１０１〜１０３から受領し、複製領域を決定し、複製領域決定要求を発行した計算機に対し決定した複製領域の所在を通知する。
管理サーバ２００は、プロセッサ２１０、メモリ２２０、記憶装置制御機構２３０、通信部２５０、構成情報保持部２７０、処理要求制御部３００が内部バス２８０に結合し、記憶装置２４０が記憶装置制御機構２３０に接続されて構成される。プロセッサ２１０は例えばＣＰＵであり、メモリ２２０は例えばＲＡＭである。
【００１５】
記憶装置制御機構２３０は、プロセッサ２１０からの記憶装置処理要求に対して記憶装置２４０を制御する機構であり、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。記憶装置２４０はハードディスク等の二次記憶によって構成される。通信部２５０は、計算機１０１〜１０３および管理サーバ２００を結合して相互通信をするための結合網であり、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
【００１６】
構成情報保持部２７０は、当該システムを構成する計算機に接続する記憶装置において、主データを格納する領域の構成情報と、その複製を格納する領域の構成情報と、未使用領域の構成情報を保持する。構成情報保持部は、例えばＲＡＭや電気的に書き換え可能なＲＯＭ等によって構成される。処理要求制御部３００は、計算機１０１〜１０３から発行される複製領域決定要求を受け付け、シリアライズした後、処理する。処理要求制御部は、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
【００１７】
図３に、一実施例による各記憶装置１４０における領域の割り当ての例を示す。
図示の例では、計算機１０１には２台の記憶装置１４１１、１４２１が接続し（（１）（２））、計算機１０２には１台の記憶装置１４１２が接続し（３）、計算機１０３には１台の記憶装置１４１３が接続し（４）、管理サーバ２００には１台の記憶装置２４１が接続している（５）。各計算機１０１〜１０３は、計算機に接続する記憶装置の斜線部を主となる記憶領域として読み書きを行う。この領域を専用領域と呼ぶ。図３では、例えば、計算機１０２が記憶装置１４０２の斜線部分を専用領域Ｃとして扱うことを示している。
【００１８】
分散データ複製システムにおいて、自計算機内の専用領域の故障等に備え、専用領域の複製を他の記憶装置に格納することが可能であり、この領域を複製領域と呼ぶ。図３では、白抜部が複製領域を示し、例えば、記憶装置１４０１の“Ｃ”と表記されている領域が、記憶装置１４０２の専用領域に対応する複製領域であることを示している。複製領域は１つだけでなく複数利用することも可能である。例えば、記憶装置１４２１の専用領域に対応する複製領域として、記憶装置１４０２および記憶装置１４０３の“Ｂ”と表記されている領域が使用される。このような複製領域の数は、対応する専用領域が接続する計算機内のポリシィ保持部で定義する。
【００１９】
専用記憶領域に対応する複製領域は、専用領域を使用するタイミングで順次割り当てることとする。このようなタイミングで割り当てることにより、使用時に最善な複製領域を選択することができる。例えば、記憶装置１４０１の専用領域は未使用の状態となっている。この領域に対応する複製領域は、記憶装置１４２１もしくは１４０３の“（未使用）”と記されている領域が選択可能である。複製領域の割当は、管理サーバ２００が行う。また、各計算機が管理サーバに対して発行する、複製領域決定要求が割当の契機となる。
【００２０】
各専用領域の容量は、前記専用領域が存在する記憶装置の容量を冗長度で割った値とする。このようにして、全ての専用領域が複製領域を持つことができるようになる。ただし、この場合、複製領域を専用領域と同一の記憶装置に設定しなければならない場合があり、この場合は記憶装置が故障した場合、専用領域のほか複製領域もアクセス不可となり問題である。このような事態を回避するため、管理サーバ２００は記憶装置２４１を具備し、この記憶装置２４１に複製領域を確保すればよい。管理サーバ内の記憶装置２４１に確保する必要のある複製領域の容量の最大値は、このシステムに接続する最大容量の記憶装置の容量に等しい。このため、各計算機に接続する記憶装置の容量は、管理サーバに接続する記憶装置２４１の容量以下であるよう制限事項をつけることが望ましい。
【００２１】
なお、本実施例では、各記憶装置をセグメント（Ｓｅｇ）という単位で分割し、この単位ごとに専用記憶領域あるいは複製領域を割り当てている。そのほかの方法としては、ＬＢＡ単位で専用領域あるいは複製領域を割り当てることも可能である。
【００２２】
図４〜図６に、管理サーバ２００内の構成情報保持部２７０に保持される情報の例を示す。
図４は、専用領域管理テーブル２７１の例である。専用領域管理テーブル２７１は、このシステム内の全専用領域の所在と、対応する複製領域に関する情報への参照先を保持する。専用領域管理テーブル２７１では、記憶装置内開始位置（Ｓｅｇ−ＩＤと表記される）、領域長（Ｓｅｇ長と表記される）、記憶装置−ＩＤ、筐体−ＩＤおよび冗長化情報格納位置を保持する。ここで筐体−ＩＤには、例えばＩＰアドレスが使用可能である。記憶装置−ＩＤには、例えばＳＣＳＩで定義される論理装置番号やＷｉｎｄｏｗｓ（登録商標）などのＯＳで定義されるドライブレターが使用可能である。冗長化情報格納位置とは、当該専用領域に対応する複製領域情報の格納位置を指示する情報であり、この例では後述する使用済み複製領域管理テーブル２７２のエントリ＃が設定される。専用領域管理テーブル２７１のエントリ＃１〜３に示すとおり、複製領域を決定済みの専用記憶領域の場合、冗長化情報格納位置に何らかの値が設定される。また、エントリ＃０に示すとおり、複製領域が未決定の専用記憶領域の場合、全ての冗長化情報格納位置は「ｎｏｎｅ」となる。専用領域管理テーブルへの登録は、当該システム立ち上げ時に行う。
【００２３】
図５は、使用済み複製領域管理テーブル２７２の例を示す。
この使用済み複製領域管理テーブル２７２は、システム内の全使用済み複製領域の所在と、後続の複製領域がある場合その情報の参照先を保持する。使用済み複製領域管理テーブル２７２では、記憶装置内開始位置（Ｓｅｇ−ＩＤと表記される）、領域長（Ｓｅｇ長と表記される）、記憶装置−ＩＤ、筐体−ＩＤおよび後続エントリを保持する。後続エントリとは、Ｓｅｇ長が２以上の専用領域に対応する複製領域が非連続に確保される場合に、そのセグメントの後続となるセグメント情報の格納位置を指示する領域であり、この例では複製領域管理テーブル２７２のエントリ＃が設定される。後続エントリがない場合は、この値は「ｎｏｎｅ」となる。使用済み複製領域管理テーブルへの登録は、管理サーバが複製領域を割り当てる時に行う。
【００２４】
図６は、未使用複製領域管理テーブル２７３の例を示す。
この未使用複製領域管理テーブル２７３は、システム内の全使用済み複製領域の所在を保持する。未使用複製領域管理テーブル２７３では、当該システム内の未使用複製領域の記憶装置内開始位置（Ｓｅｇ−ＩＤと表記される）、領域長（Ｓｅｇ長と表記される）、記憶装置−ＩＤおよび筐体−ＩＤを保持する。未使用複製領域管理テーブルへの登録は、当該システム立ち上げ時に行う。また、未使用複製領域管理テーブルの修正は、管理サーバが複製領域を割り当てる時に行う。
【００２５】
図９、１０および図１２は、計算機１０１〜１０３内の構成情報保持部１７０に保持される情報の例を示す（図示の例は計算機１０１の場合を示す）。
図９は、専用領域管理テーブル１７１の例を示す。専用領域管理テーブル１７１は、計算機１０１内の全専用領域の記憶装置内開始位置（Ｓｅｇ−ＩＤと表記される）、領域長（Ｓｅｇ長と表記される）、記憶装置−ＩＤ、筐体−ＩＤおよび冗長化情報格納位置を保持する。冗長化情報格納位置とは、当該専用領域に対応する複製領域情報の格納位置を指示する情報であり、この例では次に示す使用済み複製領域管理テーブル１７２のエントリ＃が設定される。専用領域管理テーブル１７１のエントリ＃２に示すとおり、複製領域を決定済みの専用記憶領域の場合、冗長化情報格納位置に何らかの値が設定される。さらに、エントリ＃０に示すとおり、複製領域が未決定の専用記憶領域の場合、全ての冗長化情報格納位置は「ｎｏｎｅ」となる。専用領域管理テーブルへの登録は、各計算機が当該システムに参加する時に行う。
【００２６】
図１０は、複製先管理テーブル１７２の例を示す。
複製先管理テーブル１７２は、専用領域管理テーブル１７１で管理される専用領域に対応する複製領域の記憶装置内開始位置（Ｓｅｇ−ＩＤと表記される）、領域長（Ｓｅｇ長と表記される）、記憶装置−ＩＤ、筐体−ＩＤおよび後続エントリを保持する。後続エントリとは、Ｓｅｇ長が２以上の専用領域に対応する複製領域が非連続に確保される場合に、当該セグメントの後続となるセグメント情報の格納位置を指示する領域であり、この例では複製領域管理テーブル１７２のエントリ＃が設定される。後続エントリがない場合は、この値は「ｎｏｎｅ」となる。
【００２７】
図１２は、計算機１０１内のポリシィ保持部１６０で管理する内容の例を示す。
ポリシィ保持部では、計算機１０１に接続する記憶領域内の専用領域に対応する複製領域の決定するための判断基準となるポリシィを保持する。実施例１では、複製領域の数を決定するための冗長度、記憶装置−ＩＤおよび筐体−ＩＤは必須であるが、エラー回数、距離および性能は省略可能である。
【００２８】
次に、図１４のフローチャートを参照して、実施例１における複製領域決定処理動作について説明する。
まず、計算機１０１内のポリシイ保持部１６０を参照して、複製領域決定要求を生成する（１０００）。本実施例において、複製領域決定要求は、要求元の筐体−ＩＤ、記憶装置−ＩＤ、冗長度を含む。冗長度は当該計算機内のポリシィ保持部１６０に保持される専用領域の冗長度を参照することによって取得可能である。
次に、管理サーバ２００に対し、複製領域決定要求を発行する（１０１０）。管理サーバ２００では、処理要求制御部３００が複製領域決定要求を受領する（１０２０）。そして、専用領域に対応する複製領域を選出する（１０３０）。
【００２９】
この複製領域の選出処理（１０３０）について、図１５を参照して更に詳細に説明する。
図１５において、まず、構成情報保持部２７０に格納される未使用複製領域管理テーブル２７３を参照し、要求元記憶装置と異なる記憶装置を選出する（１１００）。選択方法は、例えば要求元記憶装置と異なる記憶装置のうち、エントリ＃の最も大きなものとする。
【００３０】
次に、選出した複製領域の情報を使用済み複製領域管理テーブル２７２に選出した複製領域に対応する筐体−ＩＤ、記憶装置−ＩＤおよびＳｅｇ−ＩＤを登録する。また、このエントリのＳｅｇ長は１を登録する。ただし、既に登録してある複製領域に連続して登録される場合では、筐体−ＩＤ、記憶装置−ＩＤおよびＳｅｇ−ＩＤの登録は行わず、登録済みのエントリに対し、Ｓｅｇ長に１を加算した値を登録すればよい。既に登録してある複製領域に連続して登録される場合か否かの判定は、管理サーバ内で管理される専用領域管理テーブルにて専用領域情報を格納するエントリの冗長化情報格納位置に設定された値を参照し、複製先管理テーブルでこの値と同一のエントリの後続エントリを参照し、この後続エントリが「ｎｏｎｅ」となるまで順次複製先管理テーブル内の当該エントリを参照し、最後に得られた筐体−ＩＤおよび記憶装置−ＩＤが選出した複製領域に対応する筐体−ＩＤおよび記憶装置−ＩＤと一致し、当該エントリ内のＳｅｇ−ＩＤ値＋Ｓｅｇ長が選出した複製領域のＳｅｇ−ＩＤと一致するか否かで行う。更にステップ１１１０では、未使用複製領域管理テーブル２７３から選出した複製領域の情報を除外するため、当該エントリのＳｅｇ−ＩＤに１を加算する。ただし、当該エントリのＳｅｇ長が１である場合、以降のエントリを１つ若番のエントリへコピーし、最後部のエントリを「ｎｏｎｅ」で埋める（１１１０）。
【００３１】
次に、選出した複製領域の数が複製領域決定要求内の冗長度の値−１に達したか否かを判定し、達した場合は複製領域選出処理を終了し、達しなかった場合はステップ１１００以降の処理を繰り返す（１１２０）。
【００３２】
図１４に戻って、選出した複製領域の数が複製領域決定要求内の冗長度の値−１に達した場合、使用済み複製領域管理テーブル２７２を参照し、複製領域決定要求に対する応答メッセージを生成する（１０４０）。複製領域決定要求に対する応答メッセージには、決定した複製領域を示す筐体−ＩＤ、記憶装置−ＩＤおよびＳｅｇ−ＩＤの一覧が含まれる。次に、複製領域決定要求に対する応答メッセージを、要求を発行した計算機１０１に送出する（１０５０）。
【００３３】
要求を発行した計算機１０１では、複製領域決定要求に対する応答メッセージを受領する（１０６０）。そして、計算機１０１内の構成情報保持部１７０で管理される複製先管理テーブル１７２に、複製領域決定要求に対する応答メッセージで返された筐体−ＩＤ、記憶装置−ＩＤおよびＳｅｇ−ＩＤを登録する（１０７０）。また、このエントリのＳｅｇ−ＩＤは１を登録する。ただし、既に登録してある複製領域に連続して登録される場合では、筐体−ＩＤ、記憶装置−ＩＤおよびＳｅｇ−ＩＤの登録は行わず、登録済みのエントリに対し、Ｓｅｇ長に１を加算した値を登録すればよい。既に登録してある複製領域に連続して登録される場合か否かの判定は、計算機内で管理される専用領域管理テーブル１７１にて専用領域情報を格納するエントリの冗長化情報格納位置に設定された値を参照し、複製先管理テーブル１７２でこの値と同一のエントリの後続エントリを参照し、この後続エントリが「ｎｏｎｅ」となるまで順次複製先管理テーブル内の当該エントリを参照し、最後に得られた筐体−ＩＤおよび記憶装置−ＩＤが応答メッセージと一致し、当該エントリ内のＳｅｇ−ＩＤ値＋Ｓｅｇ長が応答メッセージ内のＳｅｇ−ＩＤと一致するか否かでできる。
【００３４】
更に、ステップ１０７０では、専用領域管理テーブル１７１内の冗長化情報格納位置および、複製先管理テーブル１７２内の後続エントリを修正する。具体的には、専用領域管理テーブル１７１内の冗長化情報格納位置が「ｎｏｎｅ」である場合、この値は、複製先管理テーブル１７２へ登録を行ったエントリ＃を設定する。専用領域管理テーブル１７１内の冗長化情報格納位置が「ｎｏｎｅ」でない場合、計算機内で管理される専用領域管理テーブル１７１にて専用領域情報を格納するエントリの冗長化情報格納位置に設定された値を参照し、複製先管理テーブル１７２でこの値と同一のエントリの後続エントリを参照し、この後続エントリが「ｎｏｎｅ」となるまで順次複製先管理テーブル内のエントリを参照し、最後に得られた後続エントリの値を、複製先管理テーブル１７２へ登録を行ったエントリ＃に修正する。以上で複製領域決定処理が終了する。
【００３５】
本実施例によれば、予め計算機に接続する専用領域の構成情報を構成情報保持部１７０と管理サーバ２００の構成情報保持部２７０に設定し、未使用複製領域の構成情報を管理サーバの構成情報保持部２７０に設定し、この領域の冗長度を計算機のポリシィ保持部１６０に設定しておくことにより、ユーザが複製先の計算機−ＩＤや記憶装置−ＩＤを設定すること無しに、複製先を決定することが可能となる。
・実施例２  （請求項５関連）
図２を参照して、他の実施例による分散データ複製システムについて説明する。
この分散データ複製システムは、計算機１０１〜１０３および管理サーバ２００がネットワーク４００によって相互に結合されて構成される。計算機１０１〜１０３は、プロセッサ１１０、メモリ１２０、記憶装置制御機構１３０、通信部１５０、ポリシィ保持部１６０、構成情報保持部１７０が内部バス１８０に結合し、記憶装置１４０が記憶装置制御機構１３０に接続されて構成される。１０１〜１０３、１１０から１５０、１７０、１８０および４００は実施例１と同一である。
【００３６】
ポリシィ保持部１６０は、実施例１と同様に冗長度を保持する。実施例２では更に、複数ある複製領域のうち適切な複製領域を選出するための情報を保持する。ポリシィ保持部は、例えばＲＡＭや電気的に書き換え可能なＲＯＭ等によって構成できる。
【００３７】
管理サーバ２００は、計算機１０１〜１０３より発行される複製領域決定要求に対し、専用領域に対応する複製領域を決定し、要求発行元の計算機に複製領域格納先を通知する。管理サーバ２００は、プロセッサ２１０、メモリ２２０、記憶装置制御機構２３０、通信部２５０、構成情報保持部２７０、処理要求制御部３００、エラー情報判定部３１０、距離情報判定部３２０、性能判定部３００、総合判定部３４０が内部バス２８０に結合し、記憶装置２４０が記憶装置制御機構２３０に接続されて構成される。実施例１に比べて、エラー情報判定部３１０、距離情報判定部３２０、性能判定部３３０および総合判定部３４０を有する点が、相違する。
【００３８】
構成情報保持部２７０は、実施例１と同様に、当該システムを構成する計算機に接続する記憶装置におけて、主データを格納する専用領域の構成情報と、専用領域の複製情報を格納する複製領域の構成情報と、未使用複製領域の構成情報を保持する。実施例２では更に、システム内の計算機に接続する記憶装置のエラー情報および位置情報を保持する。管理サーバ２００は、複製領域決定処理において、これら情報を参照し、各複製領域の評価を行う。構成情報保持部は、例えばＲＡＭや電気的に書き換え可能なＲＯＭ等によって構成できる。
【００３９】
エラー情報判定部３１０は、処理要求制御部３００から送られる複製領域候補に対し、エラー発生回数の観点から評価を行い総合判定部に通知する。このシステムにおいて複製領域候補の評価にエラー情報が必要ない場合、エラー情報判定部３１０は省略可能である。エラー情報判定部３１０は、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
【００４０】
距離情報判定部３２０は、処理要求制御部３００から送られる複製領域候補に対し、選出要求元計算機との物理的距離の観点から評価を行い総合判定部に通知する。このシステムにおいて複製領域候補の評価に物理的距離が必要ない場合、距離情報判定部３２０は省略可能である。距離情報判定部３２０は、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
【００４１】
性能判定部３３０は、処理要求制御部３００から送られる複製領域候補に対し、選出要求元計算機からのアクセス性能の観点から評価を行い総合判定部に通知する。このシステムにおいて複製領域候補の評価にアクセス性能が必要ない場合、性能判定部３３０は省略可能である。性能判定部３３０は、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
総合判定部３４０は、エラー情報判定部、距離情報判定部および性能判定部で判定した結果を受領し、それぞれの重み情報を乗算したものの加算結果を総合判定として出力する。総合判定部３４０は、例えばＴＴＬ、ＣＭＯＳ等の論理によって構成される。
【００４２】
図３に示した各記憶装置の状態は、実施例２でも実施例１同じである。また、図４、５，６に、管理サーバ２００内の構成情報保持部２７０に保持される情報の例を示すが、これらは、実施例２でも実施例１と同じである。
【００４３】
図７は、エラー情報テーブル２７４の例を示す。
エラー情報テーブル２７４は、システム内の記憶装置のエラー発生回数（エラー回数と表記）、閉塞の有無（閉塞と表記）、記憶装置−ＩＤ、筐体−ＩＤを保持する。エラー発生回数には、計算機が記憶装置にアクセスし、エラーが発生した場合の累計が保持される。エラー発生回数にはＳＭＡＲＴ管理情報を用いてもよい。閉塞の有無には、記憶装置へ複数回アクセスしたにもかかわらず、全て無応答となるような場合にシステムから切り離したことを示すフラグとして保持する。当該システムにおいて、複製領域候補の評価にエラー情報が必要ない場合、エラー情報テーブル２７４は省略可能である。
【００４４】
図８は、システム内の計算機の設置位置情報（この例では、緯度および経度）および装置−ＩＤを保持する位置情報テーブル２７５の例を示す。位置情報テーブル２７５で、各計算機の位置情報を管理することにより、計算機間の距離が算出可能となる。このシステムにおいて複製領域候補の評価に物理的距離情報が必要ない場合、位置情報テーブル２７４は省略できる。
【００４５】
図９、１０、１１および１２に計算機１０１〜１０３内の構成情報保持部１７０に保持される情報の例を示す。各図は計算機１０１の場合の例を示す。図９、１０は実施例２も実施例１と同じである。
【００４６】
図１１は、エラー情報テーブル１７４の例を示す。
エラー情報テーブル１７４は、計算機１０１内の記憶装置のエラー発生回数（エラー回数と表記）、閉塞の有無（閉塞と表記）、記憶装置−ＩＤ、装置−ＩＤを保持する。エラー発生回数には、計算機が当該記憶装置にアクセスし、エラーが発生した場合の累計がカウントされる。エラー有無判定にはＳＭＡＲＴ管理情報を用いてもよい。閉塞の有無には、当該記憶装置へ複数回アクセスしたにもかかわらず、全て無応答となるような場合にシステムから切り離したことを示すフラグとして保持する。
【００４７】
図１２は、ポリシィ保持部１７７の例を示す。
ポリシィ保持部１７７は、計算機１０１内の専用領域に対応する複製領域の決定するための判断基準となるポリシィを保持する。冗長度、記憶装置−ＩＤおよび筐体−ＩＤは、実施例２も実施例１と同一である。実施例２では更に、複製領域の決定するための評価基準として、エラー回数、距離、性能の基準値を保持し、更にそれぞれの評価の重みを保持する。
【００４８】
エラー回数は、エラー情報テーブル２７４で管理されるエラー回数が基準値未満である記憶装置を優先的に選出させることを示す。当該システムにおいて、エラー回数が複製領域の評価基準として不必要な場合、エラー回数の評価基準値は省略可能である。
【００４９】
距離は、複製領域選出要求元計算機と選出した計算機との物理的距離が基準値の範囲内もしくは基準値以上である記憶装置を優先的に選出するための値である。基準値に２種類の値が設定されている場合、基準値の範囲内の距離にある記憶装置を優先的に選出させることを意味し、基準値に１種類の値が設定されている場合、基準値以上の距離にある記憶装置を優先的に選出させることを意味する。例えば、計算機−１内ポリシィ保持部の例１７７で設定される距離の基準値では、エントリ＃０は０ｋｍ以上１００ｋｍ未満の距離にある計算機を優先的に選出させ、エントリ＃１は１００ｋｍ以上の距離にある計算機を優先的に選出させることを示す。このシステムにおいて物理的距離が複製領域の評価基準として不必要な場合、物理的距離の評価基準値は省略可能である。
【００５０】
性能は、複製領域選出要求元計算機から選出した複製領域へのアクセス時間が基準値以下である記憶装置を優先的にさせることを示す値である。例えば、計算機−１ポリシィ保持部の例１７７で設定される性能の基準値では、エントリ＃０はアクセス時間が２０秒未満である複製領域を優先的に選出させることを示す。このシステムにおいて性能が複製領域の評価基準として不必要な場合、性能の評価基準値は省略可能である。
【００５１】
各評価基準には評価の重みを示す重み情報を含む。重み情報により、どの評価項目を優先させるかを指定可能である。
【００５２】
実施例２における複製領域決定処理動作について、図１４のフローチャートを用いて説明する。まず、計算機１０１内のポリシィ保持部１６０を参照し、複製領域決定要求を生成する（１０００）。実施例２の場合、複製領域決定要求には、要求元の筐体−ＩＤ、記憶装置−ＩＤ、冗長度、エラー回数基準値、距離基準値、性能基準値および、各種評価基準の重み情報が含まれる。
ステップ１０１０から１０２０は実施例１と同じである。
【００５３】
次に、専用領域に対応する複製領域を選出する（１０３０）。
図１６を参照して、実施例２における複製領域選出処理動作を詳細に説明すると、構成情報保持部２７０に格納される未使用複製領域管理テーブル２７３を参照し、１エントリずつ選択する（１２００）。ただし、管理サーバに接続する記憶装置内の複製領域は除外する。
【００５４】
次に、選択したエントリ＃と、複製領域決定要求のエラー回数基準値をエラー情報判定部３１０に送り、判定の依頼を行う（１２１０）。エラー情報判定部３１０での判定の例として、未使用複製領域管理テーブル２７３の選択されたエントリのエラー回数が、０以上（エラー回数基準値）／５未満ならば５ポイント、（エラー回数基準値）／５以上（エラー回数基準値）×２／５未満ならば４ポイント、（エラー回数基準値）×２／５以上（エラー回数基準値）×３／５未満ならば３ポイント、（エラー回数基準値）×３／５以上（エラー回数基準値）×４／５未満ならば２ポイント、（エラー回数基準値）×４／５以上（エラー回数基準値）未満ならば１ポイント、（エラー回数基準値）以上未満ならば０ポイントというように算出することができる。このシステムにおいてエラー回数が複製領域の評価基準として不必要な場合、ステップ１２１０は省略可能である。
【００５５】
次に、選択したエントリ＃と、複製領域決定要求の距離基準値を距離情報判定部３２０に送り、判定の依頼を行う（１２２０）。距離情報判定部３２０での判定の例として、次のような方法が挙げられる。複製領域要求元計算機と選択したエントリ＃に対応する計算機の距離を算出し、その値が基準範囲内か否かで判断する。具体的には、位置情報テーブル２７５を参照し、前記２種類の計算機の緯度、経度を取得する。緯度をα［ｄｅｇ］、経度をβ［ｄｅｇ］とし、北緯０［ｄｅｇ］から北緯９０［ｄｅｇ］を０［ｄｅｇ］から９０［ｄｅｇ］、南緯０［ｄｅｇ］から南緯９０［ｄｅｇ］を−０［ｄｅｇ］から−９０［ｄｅｇ］、東経０［ｄｅｇ］から東経１８０［ｄｅｇ］を０［ｄｅｇ］から１８０［ｄｅｇ］、西経０［ｄｅｇ］から西経１８０［ｄｅｇ］を−０［ｄｅｇ］から−１８０［ｄｅｇ］とみなすと、それぞれの緯度、経度は式１にて直交座標系に変換できる。ここでｘ軸は北緯０［ｄｅｇ］東経１８０［ｄｅｇ］の点から北緯０［ｄｅｇ］東経０［ｄｅｇ］の方向に負から正への向きとみなし、ｙ軸は北緯０［ｄｅｇ］西経９０［ｄｅｇ］の点から北緯０［ｄｅｇ］東経９０［ｄｅｇ］の方向に負から正への向きとみなし、ｚ軸は南緯９０［ｄｅｇ］東経０［ｄｅｇ］の点から北緯９０［ｄｅｇ］東経０［ｄｅｇ］の方向に負から正への向きとみなす。また、地球の半径をｒ［ｋｍ］とする。式１で算出した２点の直交座標を（ｘＡ，ｙＡ，ｚＡ），（ｘＢ，ｙＢ，ｚＢ）とすると２点間の直線距離ｄは式２で算出できる。式３より、ｄを使用して球面上の２点間の距離ｓが算出できる。この算出した距離ｓと、複製領域決定要求の距離基準値を比較し、距離ｓが基準値の範囲内にある場合５ポイント、そうでない場合０ポイントと算出することができる。当該システムにおいて、距離が複製領域の評価基準として不必要な場合、ステップ１２２０は省略可能である。
【００５６】
【数１】
2007018407.tif 000003
【００５７】
【数２】
2007018407.tif 000004
【００５８】
【数３】
2007018407.tif 000005
【００５９】
次に、選択したエントリ＃と、複製領域決定要求の性能基準値を性能情報判定部３３０に送り、判定の依頼を行う（１２３０）。性能情報判定部３３０での判定の例として、選択した筐体−ＩＤ、記憶装置−ＩＤ、記憶装置内開始位置を算出し、複製領域決定要求元計算機が前記記憶装置へとアクセスするよう要求を発行し、複製領域決定要求元計算機はアクセスに要した時間を計測し、その結果を管理サーバへ送り返す。アクセスに要した時間が、０以上（性能基準値）／５未満ならば５ポイント、（性能基準値）／５以上（性能基準値）×２／５未満ならば４ポイント、（性能基準値）×２／５以上（性能基準値）×３／５未満ならば３ポイント、（性能基準値）×３／５以上（性能基準値）×４／５未満ならば２ポイント、（性能基準値）×４／５以上（性能基準値）未満ならば１ポイント、（性能基準値）以上ならば０ポイントというように算出することができる。当該システムにおいて、性能が複製領域の評価基準として不必要な場合、ステップ１２３０は省略可能である。
【００６０】
次に、前出の３種の判定要求が完了するまで待ちを挿入する。判定要求が完了した場合、ステップ１２５０へ進む（１２４０）。そして、処理要求制御部３００が総合判定部３４０に対し、エラー情報判定結果、距離情報判定結果、性能情報判定結果、各種重み情報を送出し、総合判定を依頼する（１２５０）。
【００６１】
次に、総合判定部３４０がエラー回数、距離、性能の項目ごとに、判定結果×重み情報の乗算を行い、それぞれの積を加算した結果を総合点として計算し、結果を処理要求制御部３００へ返信する（１２６０）。次に、未使用複製領域管理テーブルの全エントリを確認したかチェックする（１２７０）。チェックの結果、未完了の場合、次のエントリの判定を行うためステップ１２００以降の処理を実行する。完了した場合、ステップ１２８０へ進む。
【００６２】
上記チェックの結果、完了の場合には、処理要求制御部が総合点の高い順に複製領域を（冗長度−１）だけ選出する。ただし、専用領域と同一の記憶領域内の複製領域については除外する。除外した結果、必要な数だけ複製領域を選出できない場合、管理サーバ内の複製領域を選出する（１２８０）。以上で、複製領域選出選出フローが完了する。
なお、ステップ１０６０から１０７０は実施例１と同一である。
【００６３】
このように、実施例２によれば、予め計算機に接続する専用領域の構成情報を計算機の構成情報保持部と管理サーバの構成情報保持部に設定し、未使用複製領域の構成情報を管理サーバの構成情報保持部に設定し、この領域の冗長度と、この領域に相応しい複製領域決定基準としてエラー基準値、距離基準値、性能基準値と前記判定要素の重み情報を計算機のポリシィ保持部に設定しておけば、複製先の計算機−ＩＤや記憶装置−ＩＤの情報を持たなくても専用領域に相応しい複製先を決定できる。
・実施例３  （請求項２関連）
実施例２において、複製領域選出の評価項目がエラー回数のみである場合、構成要素３１０、３３０、３４０および、ポリシィ保持部にて保持する複製領域の判定基準として使用するエラー回数、性能および、構成情報保持部２７０にて保持するエラー情報テーブルおよび、複製領域選出フローにおけるステップ１２２０、１２３０は省略可能である。
・実施例４  （請求項３関連）
実施例２において、複製領域選出の評価項目が物理的距離のみである場合、構成要素３２０、３３０、３４０および、ポリシィ保持部にて保持する複製領域の判定基準として使用する距離、性能および、構成情報保持部２７０にて保持する位置情報テーブルおよび、複製領域選出フローにおけるステップ１２１０、１２３０は省略可能である。
・実施例５  （請求項４関連）
実施例２において、複製領域選出の評価項目が性能のみである場合、構成要素３１０、３２０、３４０および、ポリシィ保持部にて保持する複製領域の判定基準として使用するエラー回数、距離および、構成情報保持部２７０にて保持するエラー情報テーブル、位置情報テーブルおよび、複製領域選出フローにおけるステップ１２１０、１２２０は省略可能である。
【００６４】
以上のように、本実施例によれば、データの複製先としての記憶装置の選出を、ユーザの設定操作無しに自動的に行なうことができ、また各記憶装置あるいは計算機の負荷増加を最小限にして実現できる。また、複製先の記憶装置をエラー発生回数、物理的距離、アクセス時間の観点で予め設定した評価基準に関して評価することにより最適な記憶装置を決定できる。
【図面の簡単な説明】
【００６５】
【図１】一実施例（実施例１）における分散データ複製システムを示すブロック図、
【図２】他の実施例（実施例２）における分散データ複製システムを示すブロック図、
【図３】一実施例による記憶装置１４０における領域割り当て例を示す図、
【図４】一実施例による管理サーバで管理する専用領域管理テーブル２７１の例を示す図、
【図５】一実施例による管理サーバで管理する使用済み複製領域管理テーブル２７２の例を示す図、
【図６】一実施例による管理サーバで管理する未使用複製領域管理テーブル２７３の例を示す図、
【図７】一実施例による管理サーバで管理するエラー情報テーブル２７４の例を示す図、
【図８】一実施例による管理サーバで管理する位置情報テーブル２７５の例を示す図、
【図９】一実施例における計算機１０１で管理する専用領域管理テーブル１７１を示す図、
【図１０】一実施例における計算機１０１で管理する複製先管理テーブル１７２の例を示す図、
【図１１】一実施例における計算機１０１で管理するエラー情報テーブル１７４の例を示す図、
【図１２】一実施例における計算機−１内のポリシィ保持部の内容例を示す図、
【図１３】一実施例における計算機−１、ＨＤＤ０、Ｓｅｇ−ＩＤ１に対応する複製領域判定の総合判定内容を示す図、
【図１４】一実施例における複製領域決定の処理動作を示すフローチャート図、
【図１５】一実施例における複製領域選出処理動作を示すフローチャート図、
【図１６】他の実施例（実施例２）における複製領域選出処理動作を示すフローチャート図。
【符号の説明】
【００６６】
１０１〜１０３：計算機          １１０：プロセッサ          １２０：メモリ
１３０：記憶装置制御機構        １４０：記憶装置      
１４０１〜１４０３：記憶装置    １５０：通信部            １６０：ポリシィ保持部
１７０：構成情報保持部          １７１：専用領域管理テーブル
１７２：複製先管理テーブル      １７４：エラー情報テーブル
１７７：ポリシィ保持部の内容    １８０：内部バス        ２００：管理サーバ
２１０：プロセッサ              ２２０：メモリ          ２３０：記憶装置制御機構
２４０：記憶装置                ２５０：通信部          ２７０：構成情報保持部
２７１：専用領域管理テーブル    ２７２：使用済み複製領域管理テーブル
２７３：未使用複製領域管理テーブル      ２７４：エラー情報テーブル
２７５：位置情報テーブル        ３００：処理要求制御部      ３１０：エラー情報判定部
３２０：距離情報判定部          ３３０：性能判定部          ３４０：総合判定部
３４１：複製領域判定の判定内容    
【図１】
2007018407.tif 000006
【図２】
2007018407.tif 000007
【図３】
2007018407.tif 000008
【図４】
2007018407.tif 000009
【図５】
2007018407.tif 000010
【図６】
2007018407.tif 000011
【図７】
2007018407.tif 000012
【図８】
2007018407.tif 000013
【図９】
2007018407.tif 000014
【図１０】
2007018407.tif 000015
【図１１】
2007018407.tif 000016
【図１２】
2007018407.tif 000017
【図１３】
2007018407.tif 000018
【図１４】
2007018407.tif 000019
【図１５】
2007018407.tif 000020
【図１６】
2007018407.tif 000021