図面 (/)

技術 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム

出願人 インターナショナル・ビジネス・マシーンズ・コーポレーション
発明者 ソトニコフ、ディミトリー、ヨセフハルニック、ダニータシュマ、ポーラ、キムコロドナー、エリオット
出願日 2015年2月19日 (5年10ヶ月経過) 出願番号 2016-553307
公開日 2017年3月16日 (3年9ヶ月経過) 公開番号 2017-507427
状態 特許登録済
技術分野 エラー時の再試行 ハードウェアの冗長性 外部記憶装置との入出力
主要キーワード 補助コンポーネント 機械実装 冗長性レベル 一時コピー 損失リスク 伝搬データ 消去コード RAIDデバイス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年3月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

データ・ストレージ・システムにおけるデータ回復を向上させるためのマシン、システム、および方法を提供する。

解決手段

方法は、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体利用不可能かどうかを判定するステップと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失リスクがあるデータを決定するステップと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するステップと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するステップとを含む。

概要

背景

情報をいくらかのレベル冗長性と共に記憶して、ハードウェア障害の場合にデータ損失を回避するのは、よく行われることである。この冗長性は、データを複写(もしくは複製)(duplicating (or replicating))することによって、または何らかの冗長性エンコーディング(例えばパリティブロックもしくは消去コード)を追加することによって、導入することができる。冗長性データまたはデータ複製物(data replicas)は、いくつかの領域にわたって記憶されてよく、それにより、領域障害の場合にデータ回復が可能である。

複製物は、異なる複数のディスクサーバ、ラック、または地理的に離れた場所に記憶されてよく、したがって、単一のディスク、サーバ、ラック、さらにはデータ・センタ全体に障害が発生しても、データ損失が引き起こされないことになる。このように、組み込まれた冗長性は、システムを、同時障害に対して回復力のあるものにする。それにもかかわらず、システムは、一定数の同時障害にしか耐えることができない。例えば、3重複製を伴うストレージ・システムは、2重のディスク障害からは保護されるが、3重のディスク障害からは保護されない。

複製を介して信頼性を提供するために、障害が発生すると、システムは、障害が発生したハードウェアに位置していたデータを、残りの複製物から、所定の冗長性レベルまで復元する。復元中、システムは追加の障害を被りやすく、したがって、復元ができるだけ素早く実施されることが重要である。しかし、復元プロセスに関係するすべてのデータが等しく脆弱であるとは限らない。例えば、より少数の複製物を有するデータは、一般に、より脆弱であると考えることができる。

概要

データ・ストレージ・システムにおけるデータ回復を向上させるためのマシン、システム、および方法を提供する。方法は、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体利用不可能かどうかを判定するステップと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失リスクがあるデータを決定するステップと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するステップと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するステップとを含む。

目的

本発明は、データ・ストレージ・システムにおけるデータ回復を向上させる方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

データ・ストレージ・システムにおけるデータ回復を向上させる方法であって、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体利用不可能かどうかを判定するステップと、前記1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失リスクがあるデータを決定するステップと、損失のリスクがあると決定された前記データのうちから、損失に対して非常に脆弱なデータを識別するステップと、損失に対して非常に脆弱な前記データの、1つまたは複数の一時複製物を作成するステップとを含む方法。

請求項2

損失のリスクがある前記データが、前記1つまたは複数の利用不可能なデータ・ストレージ媒体に記憶されたデータを含む、請求項1に記載の方法。

請求項3

少なくとも1つの一時複製物が、外部ストレージデバイスまたは固体ストレージ・デバイス上に作成される、請求項1または2に記載の方法。

請求項4

損失に対して非常に脆弱な前記データが、所定しきい値未満の数の複製物を有するデータを含む、請求項1ないし3のいずれかに記載の方法。

請求項5

損失に対して非常に脆弱な前記データが、未来障害イベント中に前記データが失われる確率を計算することに基づいて決定される、請求項1ないし4のいずれかに記載の方法。

請求項6

損失に対して非常に脆弱な前記データが、未来の障害イベントの可能性に相関する1つまたは複数のファクタを考慮することに基づいて決定される、請求項1ないし5のいずれかに記載の方法。

請求項7

前記1つまたは複数のファクタが、前記データが記憶されているディスク寿命、前記データ・ストレージ・システム中のシステム・コンポーネントの寿命、前記データに対する実行可能な複製物の数、前記データの読取りに関連するエラー率、のうちの少なくとも1つを含む、請求項6に記載の方法。

請求項8

前記1つまたは複数のファクタが、データ損失の確率、または前記データが前記データの1つもしくは複数の複製物から回復される可能性、に影響を及ぼす1つまたは複数のイベントを含む、請求項6または7に記載の方法。

請求項9

前記データに対する複製物の数が所定しきい値まで復元されたと決定されるのに応答して、作成される前記一時複製物の数が削減される、請求項1ないし8のいずれかに記載の方法。

請求項10

データ損失から回復するために一時複製物が使用される、請求項1ないし9のいずれかに記載の方法。

請求項11

データ・ストレージ・システムにおけるデータ回復を向上させるためのシステムであって、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体が利用不可能かどうかを判定するためのロジックユニットと、前記1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するためのロジック・ユニットと、損失のリスクがあると決定された前記データのうちから、損失に対して非常に脆弱なデータを識別するためのロジック・ユニットと、損失に対して非常に脆弱な前記データの、1つまたは複数の一時複製物を作成するためのロジック・ユニットとを備えるシステム。

請求項12

損失のリスクがある前記データが、前記1つまたは複数の利用不可能なデータ・ストレージ媒体に記憶されたデータを含む、請求項11に記載のシステム。

請求項13

少なくとも1つの一時複製物が、外部ストレージ・デバイスまたは固体ストレージ・デバイス上に作成される、請求項11または12に記載のシステム。

請求項14

損失に対して非常に脆弱な前記データが、所定しきい値未満の数の複製物を有するデータを含む、請求項11ないし13のいずれかに記載のシステム。

請求項15

損失に対して非常に脆弱な前記データが、未来の障害イベント中に前記データが失われる確率を計算することに基づいて決定される、請求項11ないし14のいずれかに記載のシステム。

請求項16

損失に対して非常に脆弱な前記データが、未来の障害イベントの可能性に相関する1つまたは複数のファクタを考慮することに基づいて決定される、請求項11ないし15のいずれかに記載のシステム。

請求項17

前記1つまたは複数のファクタが、前記データが記憶されているディスクの寿命、前記データ・ストレージ・システム中のシステム・コンポーネントの寿命、前記データに対する実行可能な複製物の数、前記データの読取りに関連するエラー率、のうちの少なくとも1つを含む、請求項16に記載のシステム。

請求項18

前記1つまたは複数のファクタが、データ損失の確率、または前記データが前記データの1つもしくは複数の複製物から回復される可能性、に影響を及ぼす1つまたは複数のイベントを含む、請求項16または17に記載のシステム。

請求項19

前記データに対する複製物の数が所定しきい値まで復元されたと決定されるのに応答して、作成される前記一時複製物の数が削減される、請求項11ないし18のいずれかに記載のシステム。

請求項20

データ損失から回復するために一時複製物が使用される、請求項11ないし19のいずれかに記載のシステム。

請求項21

データ・ストレージ・システムにおけるデータ回復を向上させるためのコンピュータプログラム製品であって、処理回路によって読取り可能なコンピュータ可読ストレージ媒体であって、請求項1ないし10のいずれかに記載の方法を実施するために前記処理回路によって実行される命令を記憶した、前記コンピュータ可読ストレージ媒体、を備えるコンピュータ・プログラム製品。

請求項22

コンピュータ可読媒体に記憶され、ディジタル・コンピュータの内蔵メモリにロード可能な、コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに請求項1ないし10のいずれかに記載の方法を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。

技術分野

0001

開示される主題は、一般に、分散ストレージ・システムにおける信頼性を高めることに関し、より詳細には、分散ストレージ・システムにおける補助的な信頼性増大メカニズムのためのシステムおよび方法に関する。

背景技術

0002

情報をいくらかのレベル冗長性と共に記憶して、ハードウェア障害の場合にデータ損失を回避するのは、よく行われることである。この冗長性は、データを複写(もしくは複製)(duplicating (or replicating))することによって、または何らかの冗長性エンコーディング(例えばパリティブロックもしくは消去コード)を追加することによって、導入することができる。冗長性データまたはデータ複製物(data replicas)は、いくつかの領域にわたって記憶されてよく、それにより、領域障害の場合にデータ回復が可能である。

0003

複製物は、異なる複数のディスクサーバ、ラック、または地理的に離れた場所に記憶されてよく、したがって、単一のディスク、サーバ、ラック、さらにはデータ・センタ全体に障害が発生しても、データ損失が引き起こされないことになる。このように、組み込まれた冗長性は、システムを、同時障害に対して回復力のあるものにする。それにもかかわらず、システムは、一定数の同時障害にしか耐えることができない。例えば、3重複製を伴うストレージ・システムは、2重のディスク障害からは保護されるが、3重のディスク障害からは保護されない。

0004

複製を介して信頼性を提供するために、障害が発生すると、システムは、障害が発生したハードウェアに位置していたデータを、残りの複製物から、所定の冗長性レベルまで復元する。復元中、システムは追加の障害を被りやすく、したがって、復元ができるだけ素早く実施されることが重要である。しかし、復元プロセスに関係するすべてのデータが等しく脆弱であるとは限らない。例えば、より少数の複製物を有するデータは、一般に、より脆弱であると考えることができる。

発明が解決しようとする課題

0005

より脆弱なデータの回復を動的に優先する回復方式に基づいて、ストレージ・システムの信頼性を高めることが望ましいであろう。このような回復方式を実施することは、通常、容易に可能ではない。というのは、ストレージ・システム中の回復コンポーネントは、ハードウェア中で実装される場合があるか、または、システムの回復メカニズムに対する修正禁止するライセンス条件に従わなければならない場合があるからである。上記の欠点を克服するシステムおよび方法が必要である。したがって、前述の問題に対処することが、当技術分野で必要とされている。

課題を解決するための手段

0006

要約の目的で、本明細書では、いくつかの態様、利点、および新規な特徴について述べている。いずれか1つの特定の実施形態に従ってこのような利点のすべてを達成できるとは限らないことを理解されたい。したがって、開示される主題は、本明細書で教示または示唆される場合のあるすべての利点を達成することなく、1つの利点または1群の利点を達成または最適化するようにして、具体化または実施される場合もある。

0007

第1の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させる方法を提供する。この方法は、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体利用不可能かどうかを判定するステップと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失リスクがあるデータを決定するステップと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するステップと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するステップとを含む。

0008

さらに他の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させるためのシステムを提供する。このシステムは、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体が利用不可能かどうかを判定するためのロジックユニットと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するためのロジック・ユニットと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するためのロジック・ユニットと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するためのロジック・ユニットとを備える。

0009

さらに他の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させるためのコンピュータプログラム製品を提供する。このコンピュータ・プログラム製品は、処理回路によって読取り可能なコンピュータ可読ストレージ媒体であって、本発明のステップを実施する方法を実施するために処理回路によって実行される命令を記憶したコンピュータ可読ストレージ媒体、を備える。

0010

さらに他の態様から見ると、本発明は、コンピュータ可読媒体に記憶され、ディジタル・コンピュータの内蔵メモリにロード可能な、コンピュータ・プログラムを提供する。このコンピュータ・プログラムは、このプログラムがコンピュータ上で実行されたときに本発明のステップを実施するためのソフトウェア・コード部分を含む。

0011

1つまたは複数の実施形態によれば、1つまたは複数のロジック・ユニットを備えるシステムが提供される。この1つまたは複数のロジック・ユニットは、上に開示された方法に関連する機能および動作を実施するように構成される。さらに別の実施形態では、コンピュータ可読プログラムを有するコンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品が提供される。このコンピュータ可読プログラムは、コンピュータ上で実行されたとき、上に開示された方法に関連する機能および動作をコンピュータに実施させる。

0012

上に開示された実施形態の1つまたは複数、およびそれに加えていくつかの代替形態を、添付の図を参照しながら以下にさらに詳細に提供する。しかし、開示される主題は、開示されるいずれか特定の実施形態に限定されない。

0013

次に、後続の図に示すような好ましい実施形態に関して、本発明について単なる例として述べる。

図面の簡単な説明

0014

1つまたは複数の実施形態による、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、例示的なデータ・ストレージ・システムを示す図である。
本発明の好ましい一実施形態による、分散ストレージ・システムにおける信頼性を高める例示的な方法の流れ図である。
開示されるシステムおよび方法が動作できる、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、ハードウェア環境のブロック図である。
開示されるシステムおよび方法が動作できる、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、ソフトウェア環境のブロック図である。

実施例

0015

異なる複数の図で同じ番号によって参照される特徴、要素、および態様は、1つまたは複数の実施形態による、同じ、等価な、または類似の特徴、要素、または態様を表す。

0016

以下では、様々な実施形態に関する完全な記述を提供するために、多くの具体的な詳細を示す。本発明のいくつかの好ましい実施形態は、これらの具体的な詳細なしで、または細部におけるいくらかの差異を伴って、実践することができる。場合によっては、他の態様を曖昧にしないために、いくつかの特徴についてはそれほど詳細には述べない。各要素または特徴に関連する詳細レベルは、ある特徴が他の特徴に勝って新規または重要であると認定するものと解釈されるべきではない。

0017

図1を参照すると、データ・ストレージ・システム100が提供され、このシステムでは、サーバ110を有する第1の場所で、データ112がデータ・ストレージ媒体Aに記憶される。データ回復のための1次手段を提供するために、サーバ120を有する場所2で、データ112のコピーをストレージ媒体Bにわたって複製することができる。このようにして、データ・ストレージ・システム100中で1次回復システムを提供することができる。1次回復システムに加えて、1次データ回復インフラストラクチャの上の2次メカニズムを、データ・ストレージ・システム100に対して適所に導入することができる。

0018

2次メカニズムは、補助コンポーネントによって実装されてよく、この補助コンポーネントは、例えば、データ・ストレージ・システム100の1次データ回復手段を変更することなく、システムの既存のアプリケーションプログラミングインタフェースAPI)を使用して、データ・ストレージ・システム100を監視してデータの追加的な一時複製物を作成する。したがって、損失データを復元または回復するのに使用される1次データ回復インフラストラクチャと共に、2次メカニズムを設けて全体的なデータ回復動作の信頼性を改善することができる。

0019

図2を参照すると、2次メカニズムを実施して、データ・ストレージ・システム中のサーバを独立して走査し、サーバ(または、サーバによって利用されるディスクなどのストレージ媒体)が利用可能かどうかを判定することができる(S210、S220)。例えば、サーバまたはディスクの1つが利用可能でない場合は、利用不可能なサーバまたはディスクに記憶されているものとされるリスク・データ(例えばデータ・オブジェクト)のリストが得られる。このリストを使用して、データ損失につながる可能性のある障害を決定することができる(S230)。いくらかのデータが失われたと判定された場合(S240)は、他のどこかに記憶された、データの一時コピーまたは複製物から、失われたデータを復元することができる(S250)。

0020

本発明の好ましい一実施形態では、リスクにさらされているデータのリストを検査して、リスト中で識別された、リスクにさらされているデータと、以前の障害(例えば、まだ回復プロセスを施されている場合のある障害)に関連する、リスクにさらされているデータについての他のリストとの間に、交点があるかどうかを判定することができる。この検査は、非常に脆弱なデータを決定する(S260)助けとなる。交点がある場合は、非常に脆弱なデータの追加的な一時コピーまたは複製物を作成することができる(S270)。一実装形態では、リスクにさらされているデータをうまく回復することができた場合は、一時複製物は除去されてよい。そうでない場合は、一時複製物は、データ・ストレージ・システムの信頼性の維持または向上のために、かつデータ回復のために、必要なら保持されてよい。

0021

後でさらに詳細を提供するが、ほとんどの状況では、非常に脆弱なデータ(例えば、複数の障害の影響を受けるデータ)のパーティションは、単一の障害の影響を受けるデータと比較して、ごくわずかである。したがって、非常に脆弱なデータの追加的な一時複製物を作成するのに必要な時間もまた、ごくわずかである。データ・オブジェクトの脆弱性は、例えば、特定のデータ・オブジェクトが未来の障害の間に失われ得る確率に基づいて、計算することができる。このような脆弱性は、データ・オブジェクトの残りの複製物の数を決定することによって、または、障害の可能性に相関し得る何らかのプロパティ(例えば、データ・オブジェクトが記憶されたディスクの寿命)を考慮することによって、概算することができる。

0022

本発明の好ましい一実施形態では、データ・ストレージ・システム100における脆弱性は、何らかのレベルの階層に関連するものとすることができ、この場合、階層は、どのデータが他のデータよりも脆弱であるかを定義することができる。先に述べたように、データ・ストレージ・システム100中では、非常に脆弱なデータの量は、脆弱なまたは脆弱でないデータの量よりも、かなり少ないであろう。したがって、一実装形態では、非常に脆弱なデータに対する一時複製物が最初に作成されるなら、データ・ストレージ・システム100の信頼性を、比較的低いコストで著しく改善することができる。

0023

非常に脆弱なデータを複製することに関連するコストが比較的低い理由は、システム中のすべての脆弱なデータまたはすべてのデータを無差別に複製する代替形態を考えることによって、よりよく理解されるであろう。当然、非常に脆弱なデータを一時的に複製することは、要する時間およびリソースが少なくてすむ。例えば、データ・ストレージ・システム100中の5%のデータのみが非常に脆弱であると見なされる場合は、この5%の一時複製物を作成することは、比較的高速かつ安価であろう。非常に脆弱なデータが複製されれば、その後で、より脆弱でないデータが複製されてよい。

0024

述べたように、どのデータが非常に脆弱化であるかに関する決定は、実装形態に応じて、一定数の障害を被ったデータを履歴情報またはリアルタイム情報に従って検出することによって行うことができる。例えば、障害の数が所定の障害許容度しきい値を超える場合、当該データは非常に脆弱であると見なすことができる。階層手法を使用する場合、本発明の好ましい一実施形態では、異なるデータまたはデータ・セットに対して様々な脆弱性レベルを決定することができ、したがって、非常に脆弱なデータは、最も多数の障害に関連するデータになる。

0025

例示的な一実装形態では、ストレージ・システム全体にわたり最も多数の失われた複製物を有するデータは、非常に脆弱なデータと見なすことができる。本発明の1つまたは複数の好ましい実施形態では、様々なファクタに基づいて脆弱性レベルを計算するために、方式(またはアルゴリズム)を利用することができる。例えば、脆弱性は、データおよび複製物を記憶することに関係するデータ・ストレージ・システム100のコンポーネント(例えば、ディスク、サーバなど)の障害率、データ・ストレージ・システム100全体にわたるコンポーネント障害のリアルタイム検出、これらのデータ・ストレージ・コンポーネントもしくは類似のデータ・ストレージ・コンポーネントについて収集された履歴的な障害データ、または、それぞれのデータ・ストレージ・コンポーネントの障害率に関して製造業者から提供された統計、に基づいて計算することができる。

0026

先に述べたように、本発明のいくつかの好ましい実施形態では、非常に脆弱なデータは、システム・コンポーネントの関連の障害率以外のファクタに基づいて決定することができる。例えば、脆弱性は、以下の測定基準の1つまたは複数によって測定することができる。すなわち、システム・コンポーネントの寿命、データに対する実行可能な複製物の数、データの読取りに関連するエラー率、または、データ損失の確率に影響を及ぼすかもしくはデータがその複製物から回復される可能性に影響を及ぼすであろう他の任意のファクタ、である。

0027

非常に脆弱なデータを決定するのに利用されるメカニズムと、データ脆弱性の階層とにかかわらず、非常に脆弱なデータが決定されると、非常に脆弱なデータの、1つまたは複数の複製物が作られて、1つまたは複数のデータ・ストレージ媒体(例えば、テープハードドライブ・ディスク、不揮発性メモリ固体ストレージ・デバイスなど)に記憶されてよい。データ・ストレージ媒体は、直接に、またはアプリケーション・プログラミング・インタフェース(API)を介して、または他の方法で、データ・ストレージ・システム100中の既存のデータ回復インフラストラクチャとの関係でアクセス可能とすることができる(ただし別個に位置することが望ましい)。

0028

上記のアプローチに基づいて、損失リスクが最も高い非常に脆弱なデータが、最初にコピーされる。実装形態に応じて、残りの脆弱なデータがそれぞれの損失リスクに従って階層方式でコピーされてよく、したがって、コピーされていない脆弱なデータがそれ以上残っていない状態になるまで、より脆弱なデータが、より脆弱でないデータよりも前にコピーされるようになる。実装形態に応じて、いくらかのデータの脆弱性ステータス更新されるのに伴い、対応するコピーの数が動的な方式で更新されてよい。例えば、もはやリスクにさらされているかまたは脆弱な状態にあるとは考えられないデータに対するコピーの数は、削減されてよい。

0029

有利なことに、上記の複製物管理方式に基づいて、非常に脆弱であると識別されたデータに関連する損失の可能性を、比較的短時間かつ比較的低コストで、著しく低減することができる。本発明の1つまたは複数の好ましい実施形態では、データのコピー、またはデータの複製物が失われた場合、このコピーまたは複製物を他の複製物から復元することができる。失われたデータ・コピーは、管理エンティティによって生成された要求があった時に回復されてもよく、または、基礎をなすデータ回復インフラストラクチャの中に失われたコピーがあればそれらを復元するためにバックグラウンドで定期的に実行されるメカニズムによって回復されてもよい。

0030

本発明の好ましい一実施形態では、脆弱なデータの複製物を作ることに関連する複製プロセスは、1次データ回復システムの外部にあり、したがって、データの複写コピーは、ストレージ・システムに一体化された部分ではない。上記では、本発明の1つまたは複数の好ましい実施形態により複製方法について論じた。以下では、2つの説明的な例によって、特定の特徴および実装形態を提供する。しかし、以下の特徴が、例示的な性質のものであり、特許請求される主題の範囲をいずれか特定の詳細に限定する意図がないことは、留意に値する。

0031

ウェイ複製(two-way replication)の例では、データ複製物が、RAID(Redundant Array of Independent Disks)RAID5デバイス上に配置される。RAID5デバイスはローカルとすることができ、2ウェイ複製はグローバルとすることができる(例えばワイドエリアネットワークWAN)を介して実施される)。この例では、単一ディスクの障害は、RAID5デバイスの内部メカニズムによって扱われてよい。データは利用可能なままなので、グローバル複製プロセスはこのプロセスに干渉しないものとすることができる。しかし、異なるRAID5デバイス中で別のディスクが障害を起こした場合は、回復プロセスが、独立して、かつ並列稼働することができる。

0032

上の例では、2つの劣化したRAIDアレイの交点に記憶されたデータは、システム中の他のデータよりもリスクにさらされている。RAIDデバイスの回復プロセスは、極度に長く、またシステム中のディスクのサイズに伴って増大するので、このシナリオは特に関連がある。交点にあるデータに対する安定化複製物を作ることは、各RAIDデバイスの回復を完了させるのに必要な時間よりもずっと速く完了させることができる。したがって、安定化コピーを作ることで、データ損失の確率を大きく低減することができる。

0033

3ウェイ複製(three-way replication)の例では、2つのディスクの障害は、データ損失を引き起こすことはないであろうが、障害が発生した両方のディスク上に複製物を有していたデータを危険にさらす可能性がある(すなわち、データは、残った単一の複製物を有し、最後のディスクが障害を起こした場合には失われる可能性がある)。追加の一時的な安定化複製物を作成することでデータが保護されることになり、したがって、回復プロセス中に第3の障害が発生した場合でもデータは失われないことになる。3ウェイ複製を伴う分散システムでは、2つのディスクの交点にあるデータの量は、両方のディスク上のデータの総量よりもはるかに少ない。したがって、ディスク全体の回復のプロセスは非常に時間がかかるであろうが、安定化複製物を作成するための時間は短いはずである。したがって、データが実際に損失のリスクにある時間帯は、最小限である。

0034

Openstack Swiftは、リスクにさらされている異なるレベルのデータ間を区別せず回復に優先順位を付けないシステムの例である。Openstackは、データを外的に識別することを可能にするインタフェースを有する。上で論じた方式を採用することによって、オープンソースコミュニティにコードを寄付する必要なしにSWIFTクラスタの信頼性を高めることができ、それでもなお、現在のオープン・ソース回復メカニズムからの利益を受けることができ、また、共通コードベースに追加される場合のあるどのような更新またはバグ修正からの利益も受けることができる。「複製物(replica)」または「複写物(duplicate)」、および「複製(replication)」または「複写(duplication)」は、本明細書では交換可能に使用されており、ターゲット・データの追加コピーを作るプロセスを指すことに留意されたい。

0035

上記の方法を使用すると、非常に脆弱なデータの量は他のすべてのデータに対して相対的に少ないので、非常に脆弱なデータを複製することによって、システムの信頼性の維持における劇的な改善を、比較的低レベルオーバヘッドを介して達成することができる。さらに、有利なことに、1次データ回復メカニズムはシステム・ハードウェア全体にわたって同種のままであってよく、異種ハードウェアを利用して2次複製層を実装して、必要時にいくらかのデータへのより高速なアクセスサポートすることができる(例えば、非常に脆弱なデータの一時コピーを、アクセス時間の速い固体デバイスに記憶することができる)。

0036

本明細書における「実施形態」、「一実施形態」、「1つまたは複数の実施形態」などの言及は、記述される特定の要素、特徴、構造、または特性が、開示される主題の少なくとも1つの実施形態に含まれることを意味する。本明細書でそのような言葉が現れる場合、これは、同じ実施形態を指すと特に解釈されるべきではなく、また、そのような言葉が、論じられる特徴または要素に関して相互に排他的な実施形態を指すと解釈されるべきではない。

0037

種々の実施形態で、特許請求される主題は、ハードウェアとソフトウェアの両方の要素の組合せとして実現されてもよく、また別法として、完全にハードウェアの形で、または完全にソフトウェアの形で実現されてもよい。さらに、本明細書で開示されるコンピューティング・システムおよびプログラム・ソフトウェアは、本明細書で企図される結果を達成する方法およびプロセスを実施するために実行されるハードウェア・コンポーネントまたはロジック・コードの点から提示され得る被制御コンピューティング環境を含む場合もある。これらの方法およびプロセスは、汎用コンピューティング・システムまたはマシンによって実施されたとき、汎用マシンを専用マシンに変換する。

0038

図3および4を参照すると、例示的な一実施形態によるコンピュータ・システム環境は、ハードウェア環境1110およびソフトウェア環境1120で構成されてよい。ハードウェア環境1110は、ソフトウェア環境1120のコンポーネントのための実行環境を提供する、ロジック・ユニット、回路、または他の機械および機器を備える場合がある。そして、ソフトウェア環境1120は、基礎をなす動作設定および構成を含めた、ハードウェア環境1110の様々なコンポーネントのための実行命令を提供することができる。

0039

図3を参照すると、本明細書で開示されるアプリケーション・ソフトウェアおよびロジック・コードは、例示的なハードウェア環境1110によって表される1つまたは複数のコンピューティング・システムを介して実行される機械可読コードの形で実現されてよい。図示のように、ハードウェア環境1110は、システム・バス1100を介して1つまたは複数のストレージ要素に結合されたプロセッサ1101を備えることができる。ストレージ要素は、例えば、ローカル・メモリ1102、ストレージ媒体1106、キャッシュ・メモリ1104、または他の機械使用可能もしくはコンピュータ可読媒体を含み得る。本開示のコンテキスト内では、機械使用可能またはコンピュータ可読ストレージ媒体は、プログラム・コードを収録、記憶、通信伝搬、または移送するのに利用できる、任意の記録可能な物品を含み得る。

0040

コンピュータ可読ストレージ媒体は、電子磁気光学電磁赤外線、または半導体の、媒体、システム、装置、またはデバイスであってよい。コンピュータ可読ストレージ媒体はまた、限定ではないが、制定法で認められた主題と見なされる範囲で、伝搬媒体中で実現されてもよい。コンピュータ可読ストレージ媒体の例は、適切な場合に、半導体もしくは固体メモリ磁気テープ取外し可能コンピュータ・ディスケットランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、固定磁気ディスク光ディスク、または搬送波を含み得る。光ディスクの現在の例は、コンパクト・ディスク読取専用メモリ(CD−ROM)、コンパクト・ディスク・リードライト(CD−R/W)、ディジタル・ビデオ・ディスク(DVD)、高精細度ビデオ・ディスク(HD−DVD)、またはBlu−ray(TM)ディスクを含む。

0041

一実施形態では、プロセッサ1101は、実行可能コードをストレージ媒体1106からローカル・メモリ1102にロードする。キャッシュ・メモリ1104は、コードが実行のためにロードされる回数を削減する助けとなる一時ストレージを提供することによって、処理時間を最適化する。1つまたは複数のユーザ・インタフェース・デバイス1105(例えば、キーボードポインティング・デバイスなど)および表示画面1107が、例えば、直接に、または介在するI/Oコントローラ1103を介して、ハードウェア環境1110中の他の要素に結合されてよい。ネットワーク・アダプタなどの通信インタフェース・ユニット1108が設けられてよく、それにより、ハードウェア環境1110は、介在する私設または公衆ネットワーク(例えばインターネット)を介して、ローカルのまたはリモートに位置するコンピューティング・システム、プリンタ、およびストレージ・デバイスと通信することができる。有線またはワイヤレスモデムおよびイーサネット(R)・カードは、例示的なタイプのネットワーク・アダプタのうちの少数である。

0042

ハードウェア環境1110が、いくつかの実装形態では、上記のコンポーネントのいくつかもしくはすべてを備えない場合もあり、または、補助機能もしくは有用性を提供するための追加コンポーネントを備える場合もあることは、留意に値する。企図される使用および構成に応じて、ハードウェア環境1110は、デスクトップまたはラップトップ・コンピュータなどのマシンであってもよく、あるいは、セットトップボックスパーソナル・ディジタル・アシスタント(PDA)、パーソナル・メディアプレーヤモバイル通信ユニット(例えばワイヤレス電話機)、または、情報処理能力もしくはデータ記憶能力を有する他の類似のハードウェア・プラットフォームなどの、組込みシステム任意選択組み入れられる、他のコンピューティング・デバイスであってもよい。

0043

いくつかの実施形態では、通信インタフェース1108は、プログラム・コードを含めた様々なタイプの情報を表すアナログまたはディジタル・データ・ストリームを搬送するディジタル、電気、電磁、または光学信号送受信することによって1つまたは複数のコンピューティング・システムと通信する手段を提供するための、データ通信ポートとしての役割を果たす。通信は、ローカルもしくはリモート・ネットワークによって確立されてもよく、または別法として、限定ではないが搬送波を介した伝搬を含めた、無線もしくは他の媒体を介した伝送によって確立されてもよい。

0044

ここで提供される、図示のハードウェア要素上で実行される開示されるソフトウェア要素は、例示的な性質である論理的または機能的関係に従って定義される。しかし、これらの例示的なソフトウェア要素を介して実施されるそれぞれの方法はまた、例えば、構成されプログラムされるプロセッサ、特定用途向け集積回路ASIC)、フィールドプログラマブルゲート・アレイ(FPGA)、およびディジタル信号プロセッサ(DSP)を介して、上記のハードウェア要素中でエンコードされてもよいことに留意されたい。

0045

図4を参照すると、ソフトウェア環境1120は一般に、1つまたは複数のハードウェア環境1110上で実行される、システム・ソフトウェア1121とアプリケーション・ソフトウェア1122とを含む2つのクラスに分割され得る。一実施形態では、ここで開示される方法およびプロセスは、システム・ソフトウェア1121として、アプリケーション・ソフトウェア1122として、またはこれらの組合せとして実現されてよい。システム・ソフトウェア1121は、オペレーティング・システム(OS)または情報管理システムなど、どのように機能し情報を処理するかをハードウェア環境1110中の1つまたは複数のプロセッサ1101(例えばマイクロコントローラ)に命令する制御プログラムを含み得る。アプリケーション・ソフトウェア1122は、以下のものに限定されないが、プロセッサ1101による読取り、分析、または実行ができる、プログラム・コード、データ構造ファームウェア常駐ソフトウェアマイクロコード、または、他の任意の形の情報もしくはルーチンを含み得る。

0046

言い換えれば、アプリケーション・ソフトウェア1122は、マシン、コンピュータ、または任意の命令実行システムによって使用されるかまたはそれに関連して使用されるプログラム・コードを提供する、機械使用可能またはコンピュータ可読ストレージ媒体の形で、コンピュータ・プログラム製品に組み込まれたプログラム・コードとして実現されてよい。さらに、アプリケーション・ソフトウェア1122は、ストレージ媒体1106からローカル・メモリ1102にロードされた後でシステム・ソフトウェア1121の最上部で実行される1つまたは複数のコンピュータ・プログラムを含み得る。クライアント−サーバ・アーキテクチャでは、アプリケーション・ソフトウェア1122は、クライアント・ソフトウェアおよびサーバ・ソフトウェアを含み得る。例えば、一実施形態では、クライアント・ソフトウェアは、サーバ・ソフトウェアが実行されるサーバ・コンピューティング・システムに対して別個であり分離可能な、クライアント・コンピューティング・システム上で実行されてよい。

0047

ソフトウェア環境1120はまた、ローカルまたはリモート・コンピューティング・ネットワークを介して利用可能なデータにアクセスするためのブラウザ・ソフトウェア1126を備えることもできる。さらに、ソフトウェア環境1120は、ユーザ・コマンドおよびデータを受け取るためのユーザ・インタフェース1124(例えばグラフカル・ユーザ・インタフェース(GUI))を備えることもできる。前述のハードウェアおよびソフトウェア・アーキテクチャおよび環境が例のためのものであることは、繰り返すに値する。したがって、1つまたは複数の実施形態は、任意のタイプのシステム・アーキテクチャ、機能的もしくは論理的プラットフォーム、または処理環境を介して実現されてよい。

0048

また、ロジック・コード、プログラム、モジュール、プロセス、方法、および、各方法のそれぞれのプロセスの実施順序は、純粋に例示的であることも理解されたい。実装形態に応じて、プロセス、または基礎をなす任意のサブプロセスおよび方法は、本開示に別段の指示がない限り、任意の順序で、または同時に実施されてよい。さらに、限定を伴う別段の指定がない限り、本開示のコンテキスト内でのロジック・コードの定義は、いずれか特定のプログラミング言語に関係するかまたは限定されることはなく、分散型非分散型、シングル、またはマルチプロセッシング環境で1つまたは複数のプロセッサ上で実行され得る、1つまたは複数のモジュールを含み得る。

0049

業者には理解されるであろうが、ソフトウェア実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含み得る。ソフトウェアもしくはハードウェアを含むか、またはソフトウェアとハードウェアの態様を組み合わせた、いくつかのコンポーネントは、本明細書では一般に「回路」、「モジュール」、または「システム」と呼ばれることがある。さらに、開示される主題は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読ストレージ媒体において具体化されるコンピュータ・プログラム製品として実現されてよい。1つまたは複数のコンピュータ可読ストレージ媒体の任意の組合せを利用することができる。コンピュータ可読ストレージ媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、以下のものに限定されないが、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、もしくはデバイス、またはこれらの任意の適切な組合せとすることができる。

0050

この文書のコンテキストでは、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって使用するかまたはそれに関連して使用するためのプログラムを収録または記憶することのできる、任意の有形媒体であってよい。コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが例えばベースバンド中にまたは搬送波の一部として組み入れられた、伝搬データ信号を含み得る。このような伝搬信号は、以下のものに限定されないが電磁、光学、またはこれらの任意の適切な組合せを含めた、様々な形のうちのいずれかの形をとることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではない任意のコンピュータ可読媒体であって、命令実行システム、装置、またはデバイスによって使用するかまたはそれに関連して使用するためのプログラムを、通信、伝搬、または移送できる、任意のコンピュータ可読媒体とすることができる。

0051

コンピュータ可読ストレージ媒体に組み入れられたプログラム・コードは、以下のものに限定されないがワイヤレス、ワイヤライン光ファイバケーブル、RFなど、またはこれらの任意の適切な組合せを含めた、任意の適切な媒体を使用して送信されてよい。開示される動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。Java(R)およびすべてのJava(R)ベースの商標およびロゴは、Oracleまたはその系列会社あるいはその両方の、商標または登録商標である。

0052

プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行され部分的にリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行される場合がある。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部コンピュータに対して(例えば、インターネット・サービスプロバイダを使用してインターネットを介して)行われてもよい。

0053

いくつかの実施形態は、実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明またはブロック図に関して開示される。フローチャート説明またはブロック図の各ブロック、および、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現する手段をもたらすように、汎用コンピュータ、専用マシン、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを生み出すものであってよい。

0054

これらのコンピュータ・プログラム命令はまた、コンピュータ可読ストレージ媒体に記憶された命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現する命令を含む製造品を生み出すように、コンピュータ可読ストレージ媒体に記憶され、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示するものであってもよい。

0055

コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現するためのプロセスを提供するように、コンピュータまたは機械実装プロセスを生み出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連動作ステップを実施させるものであってもよい。

0056

図中のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコードの一部を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、任意の順序で、または図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。

0057

例えば、関係する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明の各ブロック、および、ブロック図またはフローチャート説明の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実現できることにも気付くであろう。

0058

特許請求される主題を、1つまたは複数の特徴または実施形態に関してここに提供した。ここに提供した例示的な実施形態の詳細な性質にもかかわらず、一般に意図される範囲を限定または逸脱することなく変形および変更をこれらの実施形態に加えることができることを、当業者なら認識および理解するであろう。ここに提供した実施形態の、これらおよび他の様々な適応および組合せも、請求項およびそれらの均等物一式によって定義されるような開示される主題の範囲内である。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ