JP2008519319A - グリッド・ベース・データの記憶のための装置、システム、及び方法 - Google Patents

グリッド・ベース・データの記憶のための装置、システム、及び方法 Download PDF

Info

Publication number
JP2008519319A
JP2008519319A JP2006543524A JP2006543524A JP2008519319A JP 2008519319 A JP2008519319 A JP 2008519319A JP 2006543524 A JP2006543524 A JP 2006543524A JP 2006543524 A JP2006543524 A JP 2006543524A JP 2008519319 A JP2008519319 A JP 2008519319A
Authority
JP
Japan
Prior art keywords
data
client
target
packet
backup
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
Application number
JP2006543524A
Other languages
English (en)
Other versions
JP4677412B2 (ja
Inventor
ファツラ、ジョセフ、ジョン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority claimed from PCT/EP2004/052849 external-priority patent/WO2005060201A1/en
Publication of JP2008519319A publication Critical patent/JP2008519319A/ja
Application granted granted Critical
Publication of JP4677412B2 publication Critical patent/JP4677412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】
グリッド・コンピューティング・システム上の複数のクライアントに亙るデータをバックアップする装置、システム及び方法を提供する。
【解決手段】
シーケンス管理装置は、クライアント・モジュールと、シーケンス・モジュールと、パケット記憶モジュールとを含む。シーケンス・モジュールは、ソース・クライアントからバックアップすべきデータを受取るように構成される。シーケンス・モジュールは、グリッド・コンピューティング・システム上の1個若しくは複数個のターゲット・クライアントを識別する非トランスペアレントなシーケンス・キーを発生するように構成される。パケット記憶モジュールは、その非トランスペアレントなシーケンス・キーに従って複数のターゲット・クライアント上にソース・クライアントからのデータのバックアップ・コピーを記憶するように構成される。その非トランスペアレントなシーケンス・キーは、シーケンス管理装置により発生されるが、そのシーケンス管理装置のみに知られていても良い。これは、複数のターゲット・クライアント上にバックアップされるデータの最低のセキュリティ・レベルを維持するためである。
【選択図】図4

Description

本発明は、グリッド・コンピューティングに関し、より詳細にはグリッド・コンピューティング・システムで複数のクライアントにまたがるデータをバックアップすることに関する。
グリッド・コンピューティングは、コンピュータ産業では比較的新しいテクノロジである。今日の多くのグリッド・コンピューティング・システムは、複数の相互接続されたコンピュータないしノードが、単一のマシーンでは行うことができないような計算問題など、大型のグリッド・アップリケーションに関し互いに協働するのを許容するように設計されている。そのような圧倒的な量の計算処理をうまく管理するために、そのような計算問題を幾つかの小さい管理しやすいジョブに分割してもよい。多くのパーソナル・コンピュータまたはビジネス・コンピュータにつきものの、あるいはやむを得ず生じるような遊休処理時間があるので、グリッド・アプリケーションのこのタイプの分散処理が部分的に可能である。
これまで十分に実施されてこなかったグリッド・コンピューティングの一つの視点は、データ・バックアップ・アプリケーションの領域にある。これまでのデータ・バックアップ設備は大きな、スタンドアローンのデータ・バックアップ装置を用いて実施されている。実際にも全産業でデータセンタを作ることに熱心であり、これによって情報を記憶し、情報をバックアップし、情報を利用できるようにしている。この記憶された情報の可用性を増すために、データセンタは冗長性やエラー検出訂正のコードないし機能をしばしば用いている。このようなデータセンタは、データを記憶することのみに資する専用のデータ記憶装置の大きなバンクを用いるようにこれまで設計され、操作されている。残念ながら、従来のデータ記憶技法や装置は一般に非常に高価で、購入しにくいほどであり、その結果そのような技法の広汎な使用を制限している。
グリッド・コンピューティングに関する他の課題は、個別の或いはネットワーク化されたコンピュータに対する大容量記憶装置の普及度(pervasiveness)である。多くの会社や家庭は、少なくとも今日の米国では、1個ないし複数個のコンピュータを使用し、それらが1日のうち常時ではなくても頻繁にインターネットに接続されている。これらの多くの個人用又は商用のコンピュータは、その全体の能力のうち2%ないし20%をおそらく使用しているだけで、その記憶能力を十分活用していない。このことは、これらのコンピュータで利用することができる記憶装置のサイズでは、例えば40ないし100ギガバイトの記憶装置で32ないし98ギガバイトの記憶スペースが使用されていないか十分活用されていないことを意味する。もっと低い能力の装置でさえ、数ギガバイトの記憶スペースが使用されないままかもしれない。全部では、何百万ドル(おそらく何十億ドル)に相当する記憶能力が毎日使用されないでいる。
本発明の背景に関する更なる課題は、データ・バックアップ操作に対する十分な記憶能力の必要性である。コンパクト・ディスクやフロッピー(登録商標)・ディスクなど、低コストの取外し可能媒体のための記憶能力が、時代とともに大きく伸びて来ているが、完全なまたは部分的なバックアップに必要な記憶スペースは単一の取外し可能媒体の装置で利用することができるスペースを、多くの場合に越えることになる。同様に、幾つかの取外し可能媒体の装置上にバックアップ・データを記憶するのに含まれる時間、労力、経済的コストは、一般的に利用できないほど高い。これは、データをバックアップするための高容量の記憶を必要とし、グリッド・コンピューティングの能力及び大量の存在する不使用のまたは使用不十分な記憶スペースと相俟って、グリッド・ベースのデータ・バックアップを導入する必要性が存在することを示唆する。
従って、グリッド・コンピューティング・システム上で好適にバックアップし、機能的に復旧する装置、システム及び方法に対する需要がある。有利なことに、このような装置、システム、及び方法は、専用のデータセンタに現在依存しているのを克服するとともに、利用可能な、使用されていない記憶能力とグリッド・コンピューティング技法とを利用する。
本発明は、今日の技術水準に応じて開発された。そして特に今日利用できるグリッド・コンピューティング・システムによって完全には解決されていない従来技術の課題及び要求に応じて開発された。従って、本発明はグリッド・コンピューティング上の複数個のクライアントにまたがるデータをバックアップするための装置、システム及び方法を提供するために開発され、上述した従来技術の課題の全部又は多くを克服する。
本発明の好適な実施例では、グリッド・コンピューティング・システム上の複数のクライアントにまたがるデータをバックアップするのに必要なステップを機能的に実行するように構成された複数のモジュールを含む論理ユニットが、グリッド・コンピューティング・システム上の複数のクライアントにまたがるデータをバックアップするための装置に設けられる。ここで説明する実施例に於けるこれらのモジュールはクライアント・リクエスト・モジュール、シーケンス・モジュール、グローバル・プロファイル・マネージメント・モジュール、パケット記憶モジュール、パケット取出し(retrieval)モジュール、データ・アセンブリ・モジュール、データ・アセンブリ・モジュール、圧縮モジュール、データ暗号化モジュール、及び冗長モジュールを含む。
本発明によれば、複数のクライアントに亙るデータをバックアップするためのシーケンス管理装置が提供される。そのシーケンス管理装置には、ソース・クライアントからバックアップされるべきデータを受取るように構成されたクライアント・リクエスト・モジュールと、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するように構成されたシーケンス・モジュールと、その非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上にデータを記憶するように構成されたパケット記憶モジュールとが設けられる。
他の視点から本発明を見ると、複数のクライアントに亙るデータをバックアップする方法が提供される。そのバックアップ方法は、ソース・クライアントからバックアップされるべきデータを受取るステップと、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップと、その非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上にデータを記憶するステップとを含む。
更に他の視点から本発明を見ると、複数のクライアントに亙るデータをバックアップするようにコンピュータを動作させるコンピュータ可読記憶媒体が提供される。そのコンピュータ可読記憶媒体には、ソース・クライアントからバックアップされるべきデータを受取り、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップと、その非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上にデータを記憶するステップとを含むバックアップ方法をコンピュータに実行させるように構成されたコンピュータ可読コードを含む。
グリッド・コンピューティング・システム上で複数のクライアントに亙るデータをバックアップするシステムが提供される。このシステムが実施されるのは、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク及びワイド・エリア・ネットワークの組み合わせ、一つ又は複数のワイヤレス・ネットワーク、インターネット・ベースのグリッド・コンピューティング・ネットワーク、或いはその他のグリッド・コンピューティング環境である。特にこのシステムは、一実施例では、グローバル・シーケンス・マネジャと、ソース・クライアントと、一つ若しくは複数のターゲット・クライアントと、これらのコンポーネント相互間でのコミュニケーションを許容するコミュニケーション・インフラストラクチャとを含む。
このシステムはグリッド・コンピューティング・システムに接続されたクライアントに各々の料金申し込み(fee subscription) を管理し、且つここで説明するグリッド・システムの機能を回復するように構成される。
クライアントはまたグリッド・コンピューティング・システム上の複数のクライアントに亙るデータをバックアップするように提供される。一実施例では、そのクライアントには、ロジック回路が設けられ、これにはグリッド・コンピューティング・システム上で複数のクライアントに亙るデータをバックアップするのに必要な諸ステップを実行するように構成される。上述の実施例に於けるこれらのモジュールは、データ・バックアップ・モジュール、データを元に戻すモジュールと、ローカル・プロファイル・マネージメント・モジュールと、ユニーク・データ識別子発生モジュールとを含む。
また、グリッド・コンピューティング・システム上の複数のクライアントに亙るデータをバックアップする本発明の方法が提供される。開示された実施例に於けるこのプロセスは、説明される装置及びシステムの動作に関し、上記の機能を実行するのに必要な諸ステップを実質的に含む。一実施例では、ソース・クライアントからバックアップされるデータを受取るステップと、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップとを含む。
このプロセスはまたそのバックアップ・データを記述するメタデータ情報を管理するステップと、そのデータをバックアップ・データ・パケットに再分割するステップと、ユニーク・データ識別子(UDI)を用いてバックアップ・データを識別するステップ、クライアント申し込みを管理するステップと、クライアント・パフォーマンス資源の割り当てをトラックするステップと、ここで説明するような他の必要な付帯的で有益なステップとを含む。
本発明の一実施例は、グリッド・コンピューティング・システムに於ける幾つかのターゲット・クライアントの間で大量のバックアップ・データが分散され記憶されるのを効果的に許容する。本発明の他の実施例ではまた、大きなデータセンタを必要とすることなくデータがバックアップされるのを許容する。本発明の更に他の実施例では、データを複数のパケットに再分割し、非トランスペアレントなシーケンスに従ってターゲット・クライアント上にバックアップ・データ・パケットを記憶することによって、バックアップ・データのための追加的なセキュリティを効果的に提供する。
本明細書中では特徴、利点、もしくはそれらに類する用語で言及することが、本発明に関して実現されるような特徴及び利点の全てを本発明の単一の実施例に於いて実現しなければならないことを暗示するのではない。むしろ、特徴や利点に言及した用語は、或る実施例に関連して説明する特徴、利点、或いは特性が、本発明の少なくとも一つの実施例に含まれることを意味すると理解されたい。
本発明を他の視点から見ると、シーケンス管理装置に関連して、複数のクライアントに亙るデータをバックアップするためのクライアントが提供される。このクライアントは、シーケンス管理装置と交信するように構成されたネットワーク・インターフェイスと、割り当てられた記憶域を画成するように構成された記憶部と、ユニーク・データ識別子及び非トランスペアレントなシーケンスを用いてバックアップ動作を管理するように構成されたクライアント・バックアップ管理装置とを含む。
このクライアントは、データのためのバックアップ動作を開始し、そのデータのためのユニークなデータ識別子を発生するように構成されるソース・クライアントであっても良い。同様に、このクライアントは、シーケンス管理装置からのデータ記憶リクエストに応答して、その割り当てられた記憶域にそのデータの少なくとも一部を記憶するように構成されたターゲット・クライアントであっても良い。
本発明を更に他の視点から見ると、複数のクライアントに亙るデータをバックアップするためのシステムが提供される。このシステムが含むものは、ネットワーク・コミュニケーション・チャネルと、そのネットワーク・コミュニケーション・チャネルに結合され、データ・バックアップ動作を開始するように構成されたソース・クライアントと、そのネットワーク・コミュニケーション・チャネルに結合され、そのデータの少なくとも一部を記憶するように構成された複数のターゲット・クライアントと、そのネットワーク・コミュニケーション・チャネルに結合され、非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上にそのデータを記憶するように構成されたグローバル・シーケンス・マネジャとである。
そのグローバル・シーケンス・マネジャはユニーク・データ識別子に対応するデータの単一のコピーを記憶するように構成され、そしてそのデータが記憶されるべきソース・クライアントに、またそのデータの同じコピーが記憶されるべき第2のソース・クライアントに、その単一のコピーを写像するように構成される。このシステムは、ソース・クライアント及び複数のターゲット・クライアントの各々についての契約上の定期購読ないし予約申込み(a contractual subscription)を管理するように構成された予約申込みマネジャを含んでも良い。このグローバル・シーケンス・マネジャ及び予約申込みマネジャは更にソース・クライアントのソース記憶割り当てパラメータを追跡するように構成されていても良い。同様に、グローバル・シーケンス・マネジャ及び予約申込みマネジャは、複数のターゲット・クライアントの各々のターゲット記憶割り当てパラメータを追跡するように構成されても良い。同様に、グローバル・シーケンス・マネジャ及び予約申込みマネジャは、ソース割り当てパラメータを追跡するように構成されていても良い。
そのソース割り当てパラメータは、ネットワーク割り当てパラメータ、クライアント・プロセッサ・パラメータ、及びクライアント帯域パラメータからなる群から選択されても良い。
本発明を更に他の視点から見ると、グリッド・コンピューティング・システム中で、予約申込みしたクライアントの契約上の予約申込みを管理する予約申込みマネジャが提供される。この予約申込みマネジャは、予約申込みしたクライアントと通信するように構成されたネットワーク・インターフェイスと、予約申込みしたクライアントからのグリッド・アプリケーションからのグリッド・アプリケーション開始リクエストを受取るように構成され、グリッド・コンピューティング・システム上のグリッド・アプリケーションを、その予約申込みしたクライアントが開始することができるようにするための予約申込みモジュールと、クライアント予約申込み料金を計算するように構成され、契約上の予約申込みに関連してクライアントの予約申込み料金の支払いをリクエストする料金モジュールとを含む。
そのグリッド・アプリケーションはグリッド・バックアップ・アプリケーションであっても良い。その料金モジュールは、特定の期間に亙る、クライアントの使用履歴に少なくとも部分的には基づいてクライアント予約申込み料金を計算するように構成される。同様に、その料金モジュールは、グリッド・コンピューティング・システムに割り当てられたクライアント資源を定義するクライアント資源割り当てパラメータに部分的には基づくクライアント料金を計算するように構成されても良い。
本発明を更に他の視点から見ると、複数のクライアントに亙るデータをバックアップする方法が提供される。そのバックアップ方法は、ソース・クライアントからバックアップすべきデータをリクエストするステップと、複数のデータ・パケットにデータを分割するステップと、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップと、その非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上のデータ・パケットを記憶するステップと、ソース・クライアントにデータを写像するためにそのデータに対応するユニーク・データ識別子を使用するステップと、複数のターゲット・クライアント上にバックアップされるデータを記述するメタデータ・ファイルを管理するステップと、ソース記憶割り当てパラメータ、ターゲット記憶割り当てパラメータ、ネットワーク割り当てパラメータ、クライアント・プロセッサ・パラメータ及びクライアント帯域幅パラメータのうちの一つである資源割り当てパラメータを追跡するステップと、ソース・クライアント及び複数のターゲット・クライアントの契約上の予約申込みを管理するステップとを含む。
本発明を更に他の視点から見ると、複数のクライアントに亙るデータをバックアップするための装置がここで提供される。この装置は、ソース・クライアントからバックアップされるべきデータを受取る手段と、複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生する手段と、その非トランスペアレントなシーケンスに従って複数のターゲット・クライアントにデータを記憶する手段とを含む。
更に、本発明のここで記す特徴、効果、及び特性は、一つ若しくはそれ以上の実施例の適切な態様で組み合わされても良い。当業者は、或る特定の実施例の一若しくはそれ以上の特定の特徴や効果がなくても、本発明が実施できることを理解できよう。他の例では、本発明の全ての実施例には存在しないかもしれないが、或る実施例に於いては追加的な特徴や効果も認められるかもしれない。
本発明のこれらの特徴及び効果は、以下の説明及び特許請求の範囲から十分明瞭になるであろうし、或いは以下で開示する発明を実践することで理解されよう。
本明細書で説明する多くの機能ユニットをモジュールと名づけているが、これはそれらの導入の仕方が独立であることを特に強調するためである。例えば、汎用のVLSI回路やゲート・アレイ、或いは論理チップ、トランジスタ、その他の個別のコンポーネントなど、直ぐ入手できる半導体で構成されているハードウエアとしてモジュールが導入されてもよい。モジュールはまた、フィールドでプログラム可能なゲート・アレイ、プログラム可能なアレイ・ロジック、プログラム可能な論理装置など、プログラム可能なハードウエア装置で導入されていても良い。
モジュールはまた、いろいろな種類のプロセッサを実行させるためのソフトウエアで導入されていても良い。実行可能なコードの或る識別されたモジュールは、例えばオブジェクト、プロシージャ、または機能としてまとめられるような1個若しくは複数個の物理的又は論理的な、コンピュータ命令のブロックを例えば含んでいても良い。それでも、或る識別されたモジュールの実行可能ユニットは、互いに物理的に一緒に位置づけられる必要はなく、異なる位置に記憶された、異なる命令を含んでいても良い。これらは論理的に互いに一緒にされると、そのモジュールを構成し、そのモジュールのために記述された目的を達成する。
実際、実行可能コードのモジュールは、単一の命令、あるいは多くの命令からなっていてもよく、幾つかの異なるコード・セグメント、幾つかの異なるプログラム、幾つかのメモリ装置に亙って跨っていても良い。同様に、動作可能データは、ここではモジュール内で取り上げられ、説明されていてもよく、また任意の適当なタイプのデータ構造中に組み込まれ、任意の適当な形式で実施されても良い。この動作データは、単一のデータ・セットとして集められていても、異なる記憶装置や異種のメモリ装置といった異なる位置に亙って分散されていても良いし、また、少なくとも部分的には単に電子的な信号としてのみシステムやネットワーク上に存在していても良い。
更に、モジュールは、ソフトウエア及び1個若しくはそれ以上のハードウエア装置の組み合わせとして導入されていても良い。例えば、モジュールが、メモリ装置上に記憶されたソフトウエア実行可能コードといった組み合わせで実施されても良い。他の実施例では、モジュールは、一組の動作データ上で動作するプロセッサといった組み合わせであっても良い。更に他の例では、モジュールは、伝送回路を通る電子的信号の組み合わせで実施されてもよい。
この明細書全般で、「一実施例」「ある実施例」あるいはそれらと同様な用語で示すことは、その実施例に関連して説明する特徴、構造、若しくは特性が、本発明の少なくとも一つの実施例に含まれることを意味する。従って、「一実施例では」、「ある実施例では」及びこの明細書中で用いる同様の用語は、必ずしも全て同じ実施例を示すものではない。
更に、本発明で説明する特徴、構造、及び特性は、一つ若しくはそれ以上の実施例で任意の適当な態様で組み合わされても良い。以下の説明では、多くの特定の詳細が提供される。例えば、プログラミング、ソフトウエア・モジュール、ユーザの選択、ネットワークのやりとり、データベースの質問、データベース構造、データベース、ハードウエア・モジュール、ハードウエア回路、ハードウエア・チップ等々の例であり、これらで本発明を完全に理解することができる。他の例では、良く知られた構造、材料または動作を詳細には示していないが、これは本発明を分かりにくくしないためである。
図1は、複数のクライアント、即ちノード104ないし110にコミュニケーション・チャネルを介して接続されたグリッド・サーバ102を含むグリッド・システム100を示す。図示のグリッド・システム100は、ローカル・エリア・ネットワーク(LAN)に似ており、コミュニケーション・チャネル112は、一実施例ではイーサネット(登録商標)。コミュニケーション・チャネル、ワイヤレス・コミュニケーション・チャネル、又は他の等価なコミュニケーション・チャネルであってよい。同様に、コミュニケーション・チャネル112は種々のタイプのコミュニケーションの組み合わせを含んでいても良い。図示のグリッド・システム100が1個のグリッド・サーバ102と4個のクライアント104ないし110を含んでいるが、このグリッド・システムはもっと少ない或いはもっと多くのクライアント104ないし110、1個よりも多いサーバ102を有する種々の組み合わせのネットワーク構成の組み合わせ、或いは代替のサーバ構成を含んでいても良い。ある別の実施例では、グリッド・システム100はまた図3で説明する申し込みマネジャ(図示せず)を含んでいてもよい。一実施例では、グリッド・サーバ102はグリッド・システム100の申し込み(subscription)マネジャとして同時に作用する。
グリッド・システム100は、一実施例で、グリッド・アプリケーションを実行するように構成される。グリッド・アプリケーションは、特定の目的を一緒に達成するワーク・アイテムの集合である。例えば、あるグリッド・アプリケーションは天気予報や株式市場開発など、非常に複雑な数学的計算を判断してもよい。あるグリッド・アプリケーションはまた、大規模なマルチメディア動作を処理しても良い。他の実施例では、あるグリッド・アプリケーションが、かなりで多様な量のデータについてデータ・バックアップ動作を実行しても良い。本発明が無数の他のグリッド・アプリケーションや機能に適用されるかもしれないが、以下の説明はグリッド・コンピューティング環境内でのデータ・バックアップ動作に焦点を当てている。
一つのグリッド・アプリケーションは複数のジョブに分割されても良いし、単一のユニットのワークであっても良い。一つのグリッド・アプリケーションのうち幾つかのジョブは、一つ若しくはより多くの種々のノード104ないし110上で、同時に、逐次的に、又は共同従属的に(co-dependently)実行されても良い。各ノード104ないし110は、あるグリッド・アプリケーションを実行するためのグリッド・システム100に或るパフォーマンス資源を割り当てても良い。クライアント104ないし110によって利用できるようにされるこれらのパフォーマンス資源はプロセッサの能力、プロセッサの容量、記憶容量、又はメモリ容量、及び他の同様の資源を含んでも良い。一実施例では、クライアント104ないし110は、グリッド・アプリケーションの実行のために、グリッド・システム100に全体のプロセッサ能力、記憶容量またはメモリ容量の特定の量をグリッド・システム100の専用にしても良い。
各クライアント104ないし110は、特定のグリッド・アプリケーションに於ける各クライアント104ないし110の役割に従って、ソース・クライアントあるいはターゲット・クライアントとして働く。例えば、クライアント104ないし110がグリッド・アプリケーションを開始する場合、クライアント104ないし110はソース・クライアントとして働く。あるいは、クライアント104ないし110が、遠隔で開始されるグリッド・アプリケーションを実行するのにローカルのパフォーマンス・ソースとして利用できるようにする場合には、クライアント104ないし110はターゲット・クライアントとして働く。例えば、グリッド・バックアップ動作の場合は、ソース・クライアントは一つまたは複数のターゲット・クライアント上にバックアップ・データ・ファイルを有しているかもしれないが、そのようなときターゲット・クライアントは、バックアップ・グリッド動作のためにグリッド・システム100に、利用可能な記憶部を割り当てる。
図2は図1のグリッド・システム100中のクライアント記憶部200の一実施例を示す。図示の例では、特定のクライアント104ないし110上の記憶部200が使用済み記憶部202およびフリー記憶部204を含むかもしれない。使用済み記憶部202は、オペレーティング・システム・ファイル206、アプリケーション・プログラム・ファイル208、データ・ファイル210などを含む、データを記憶する電子的な記憶スペースである。フリー記憶部204は、クライアント104ないし110による動作ないし記憶のために、特別に使用されない電子的記憶スペースである。
フリー記憶部204は、一実施例では、オーバーフロー記憶部212、利用可能記憶部214、及び割り当て済み記憶部216を含んでいてもよい。オーバーフロー記憶部212は、Windows (MicrosoftCorporationの米国その他の国における商標)オペレーティング・システム中のページ・ファイルに似て、アプリケーション・プログラムの実行のためにリザーブされた記憶スペースであってもよい。割り当て済み記憶部216はグリッド・アプリケーションの実行及びグリッド・データの記憶のためにグリッド・システム100の専用にしても良い。その割り当て済み記憶部216は、以下の説明に亙って詳細に説明するであろう。利用可能記憶部214は、オーバーフロー記憶部212または割り当て済み記憶部216のいずれかとしては現在使用されていないきおくスペースであっても良く、クライアント104ないし110による将来の使用のためにリザーブされている。
図2は特定のタイプの使用済み記憶部202及びフリー記憶部204を示すが、グリッド・システム100上の特定のクライアント104ないし110の記憶部200は、サイズ、容量、利用の仕方、可用性、特にグリッド・システム100専用の割り当て済み記憶部216の量も変えても良い。また特定のクライアント104ないし110の記憶部200は、使用済み記憶部202及びフリー記憶部204及びその再分割したものの量及び割り当てに関して時間の経過とともに変わっても良い。一実施例では、その割り当て済み記憶部216は、クライアント104ないし110上の記憶部200全体に対し最小であってもよい。その代わりに、割り当て済み記憶部216は、オーバーフロー記憶部212を除くフリー記憶部204の全てを含んでいてもよい。その場合はクライアント104ないし110は、上述のような利用可能記憶部214を持たないことになろう。
図3は、図1のグリッド・システム100に幾つかの点で似たグリッド・システム300の他の実施例を示す。図示のグリッド・システム300は、グリッド・システム300の種々の他のコンポーネントに亙るコミュニケーション・チャネルを提供するインターネット302を介して動作する。図示のグリッド・システム300はまた、図1のグリッド・システムに似たネットワーク・システム304、306をも含み、これらが図3のグリッド・システム300中のサブシステムを構成する。更には、このグリッド・システム300はインターネットに直接結合され、その点でローカル・ネットワークの一部を構成しない他のクライアント308、310を含む。
グリッド・システム300はまた、以下で詳細に説明する申し込みマネジャ312を含んでいても良い。代わりに、申し込みマネジャ312は、グリッド・システム300中で他のネットワーク・システム304、306に接続されていても良い。更なる実施例では、これらのグリッド・システム300は複数の申し込みマネジャ312を有し、夫々が独立に画成された申し込みグループを管理するようになっていても良い。
上述のとおり、他の同様のグリッド・システム構成が、図1や図2のグリッド・システム100、300の代わりに、あるいはそれに加えて用いられていても良い。以下の説明で、グリッド・システム100、300のいずれかを参照するときは、特にグリッド・システム100、300の一つを除外すると断らない限り、グリッド・システム100、300のいずれかまたは両方を指すものと理解されたい。
図4はグローバル・シーケンス・マネジャ400の一実施例を示す。図示のグローバル・シーケンス・マネジャ400は、一実施例においては、グリッド・システム100上でのデータ・バックアップ動作を管理する。一実施例では、グローバル・シーケンス・マネジャ400は中央処理装置(CPU)402、ローカル記憶装置404、ユーザー・インターフェイス406、ネットワーク・インターフェイス408、メモリ410、及びグローバル・シーケンス管理装置412を含む。CPU402はグローバル・シーケンス・マネジャ400中の動作を実行するように概略構成される。ユーザー・インターフェイス406は、一実施例では、ユーザーがグローバル・シーケンス・マネジャ400と相互作用するのを許容するように構成される。この相互作用には、ユーザーからのデータ及びコマンドを入力し、ユーザーに出力データを伝送(コミュニケーション)するのを許容することを含む。このネットワーク・インターフェイス408は、一実施例では、グリッド・ネットワーク100のコミュニケーション・チャネル112上でのグローバル・シーケンス・マネジャ400のネットワーク・コミュニケーションを促進するように構成される。
ローカルのメモリ410は、一実施例では、グリッド・バックアップ動作と関連して使用され得るような幾つかのデータ及びメタデータのファイルを記憶するように構成される。代替実施例では、これらのデータ及びメタデータのファイルの幾つか又は全てがローカル記憶装置404に複製(replicate)されても良い。更なる実施例では、これらのデータ及びメタデータのファイルの一つ又は全てがメモリ410よりもローカル記憶装置404に排他的に記憶されても良い。他の実施例では、これらのデータ及びメタデータのファイルの一つ又は全てがグリッド・システム100上の分散された記憶部に記憶されていても良い。ここでの説明で「ファイル」に言及しているが、本発明は他の電子的メモリや記憶構造を用い、実質上同じ態様で動作するものと理解されたい。ここでデータ・ファイル若しくはメタデータ・ファイルと言及するのは、これも他の電子的メモリや記憶構造にも等しく言及しているものと理解されたい。
特に、メモリ410はグローバル・クライアント・プロファイル414、ソース・クライアント・プロファイル416、ソース・データ・レコード418、ターゲット・データ・レコード420、データ・アセンブリ・レコード422、及びグローバル・バックアップ・ログ424を記憶しても良い。グローバル・クライアント・プロファイル414は、一実施例で、ネットワーク・プロファイルを記憶するように構成されるが、更にデフォールトのクライアント・プロファイルを記憶していても良い。グローバル・クライアント・プロファイル414は、図6で詳細に説明する。ソース・クライアント・プロファイル416は、一実施例で、ユニークなクライアント・プロファイルを記憶するように構成され、更に別の実施例では、データ・ユニット・プロファイルを記憶しても良い。ソース・クライアント・プロファイル216は、図7で詳細に説明する。
ソース・データ・レコード418は、一実施例では、1個若しくはそれ以上のターゲット・クライアントに記憶されている、バックアップ・データ・ファイルに関するメタデータ若しくはその一部を記憶するように構成される。同様に、ターゲット・データ・レコード420は、一実施例で、1個若しくはそれ以上のターゲット・クライアントに記憶されている、バックアップ・データ・ファイルに関するメタデータ若しくはその一部を記憶するように構成される。1個のファイル若しくはその一部のためのソース・データ・レコード418及びターゲット・データ・レコード420は、バックアップ・ファイルについての、同様の、若しくは部分的に複製されたメタデータを含んでいても良い。ソース・データ・レコード418及びターゲット・データ・レコード420は図8及び図9で、夫々詳細に説明する。
データ・アセンブリ・レコード422は、一実施例では、単一のバックアップ・ファイルに関する幾つかのパケットの情報がアセンブルされるべき順序についての情報を記憶するように構成される。その結果、復元されるバックアップ・ファイルは元々バックアップされていたファイルに記憶されていた情報を正確に記憶する。このデータ・アセンブリ・レコード422については図10で詳細に説明する。グローバル・バックアップ・ログ424は、一実施例では、バックアップ・ヒストリを記憶するように構成される。このバックアップ・ヒストリは、或る期間に亙っての一つ若しくはそれ以上のグローバル・バックアップ・グリッド・アプリケーションの動作を記録している。このようにして、グローバル・バックアップ・ログ424は、バックアップ・ヒストリのレビューをし易くし、また所与のバックアップ・グリッド・アプリケーションの実行前に存在していたグリッド、若しくはクライアントの状況の復元し易くする。
グローバル・シーケンス管理装置412は、一実施例では、グリッド・システム100に亙るデータ・バックアップ動作をし易くするように構成される。グローバル・シーケンス管理装置412は、特定のソース・クライアントにより開始されるバックアップ及び取戻し動作の実行を管理することができる。図示のグローバル・シーケンス管理装置412は、クライアント・リクエスト・モジュール426、シーケンス・モジュール428、グローバル・プロファイル管理モジュール430、パケット記憶モジュール432、パケット取出しモジュール434、データ・アセンブリ・モジュール436、圧縮モジュール438、暗号化モジュール440、冗長化モジュール442を含む。
一実施例では、クライアント・リクエスト・モジュール426は、1個若しくはそれ以上のファイルをバックアップするために、ソース・クライアントからのリクエストを処理するように構成される。クライアント・リクエスト・モジュール426は、ソース・クライアントからバックアップされるべきデータを受取るように更に構成されていても良い。シーケンス・モジュール428は、一実施例では、バックアップ・データが記憶されてもよいような1個若しくはそれ以上のターゲット・クライアントを識別する非トランスペアレントなシーケンス・キーを発生するように構成させる。この非トランスペアレントなシーケンス・キーは排他的に記憶され、バックアップ・データのセキュリティのレベルを提供するように、グローバル・シーケンス・マネジャによってアクセス可能である。このシーケンス・キーの非トランスペアレントな性質はそのユニークさに関連し、ならびにその発生の排他性、アクセスし易さ、複製に関係する。
例えば、グローバル・シーケンス・マネジャ400は、複数のターゲット・クライアントの各々のデータのパケット若しくはその一部を記憶することによって複数のターゲット・クライアント上にソース・クライアントからデータをバックアップしても良い。ソース・クライアントからのデータの一部がリモート・ターゲット・クライアントのローカル記憶装置上に記憶されても良いので、グローバル・シーケンス・マネジャ400にのみ知られた順序で、幾つかの異なるターゲット・クライアント上にバックアップ・データ・パケットを記憶することによって、一つのレベルのデータ・セキュリティが提供されても良い。このようにして、データの一部が特定のターゲット・クライアント上でアクセス可能であったとしても(バックアップ・データは暗号化してもよいが、第2層のセキュリティを加える)、要求しているソース・クライアントに元々記憶されていたデータを実質的に若しくは完全に再アセンブルするのは非常に困難であるか、或いは不可能でさえある。その結果、異なるターゲット・クライアント上に記録されるデータのこれらの部分のサイズが小さくなるので、データ・セキュリティのレベルを上げることになる。
グローバル・プロファイル管理モジュール430は、一実施例では、グリッド・システム100中に接続された個々のネットワークのためのプロファイルを含む、デフォールトの、ユニークなクライアント・プロファイルの管理をし易くする。一実施例では、グローバル・プロファイル管理モジュール430は、ユーザーが上述のグローバル・クライアント・プロファイル414及びソース・クライアント・プロファイル416を画成するのを許容する。これらの説明は図6及び図7で夫々もっと詳しく説明する。
パケット記憶モジュール432は、一実施例で、ソース・クライアントから1個若しくはそれ以上のターゲット・クライアントにバックアップ・データを記録するようにグリッド・システム100中で構成される。一実施例では、パケット記憶モジュール432は、バックアップ・データをターゲット・クライアントに記憶する前に、等しいサイズ若しくは不均等なサイズのパケットに再分割してもよい。別の実施例では、パケット記憶モジュール432は、シーケンス・モジュール428により発生される非トランスペアレントなシーケンス・キーに従って、1個若しくはそれ以上のターゲット・クライアント上にバックアップ・データ・パケットを記憶しても良い。別の実施例では、パケット記憶モジュール432は、バックアップ・データが圧縮モジュール438により圧縮され、暗号化モジュール440を介して暗号化され、或いは冗長化モジュール442により複製(duplicate)されるの許容した後、ターゲット・クライアント上にそのバックアップ・データを記憶しても良い。複製された(replicated)データの場合、パケット記憶モジュール432はまた非トランスペアレントなシーケンス・キーに従って複製されたバックアップ・データを記憶しても良い。一実施例では、パケット記憶モジュール432はまた1個若しくはそれ以上のソース・データ・レコード418、ターゲット・データ・レコード420、及びデータ・アセンブリ・レコード422のうちの1個若しくはそれ以上を生成し或いは記憶するように構成されていても良い。
パケット取出しモジュール434は、一実施例では、バックアップ・データ・パケットまたはその複製(copy)を、そのパケットが記憶され得るようなターゲット・クライアントから取出すように構成されても良い。一実施例では、パケット取出しモジュール434は、バックアップ・データ・パケットをターゲット・クライアント上に予め記憶するようにパケット記憶モジュール432により使用されたのと同じ若しくは似たような非トランスペアレントなシーケンス・キーを用いていても良い。
データ・アセンブリ・モジュール436は、一実施例では、複数のバックアップ・データ・パケットを、再分割前の元データ・ファイルのフォーマットに、同一でないなら、似ている、或る理解可能なフォーマットにアセンブルするように構成されていても良い。一実施例では、データ・アセンブリ・モジュール436は、元データがパケットに再分割され、ターゲット・クライアントに記憶されたときにほぼ発生されるデータ・アセンブリ・レコード422に従って復元されるデータをアセンブルしてもよい。
上述のとおり、圧縮モジュール438、暗号化モジュール440、及び冗長化モジュール442は、夫々バックアップ・データを、そのデータが1個若しくはそれ以上のターゲット・クライアントに記憶される前に、修正しても良い。同様に、圧縮モジュール438、暗号化モジュール440、及び冗長化モジュール442は、そのデータを、解凍、解読等により元のフォーマットに復元するように独立に若しくは一緒に使用されても良い。
図5は、グリッド・システム100中でソース・クライアント若しくはターゲット・クライアントのいずれかとして動作しても良いクライアント500の一実施例を示す。図4のグローバル・シーケンス・マネジャ400のように、クライアント500はCPU502、ローカル記憶装置504、ユーザー・インターフェイス506、ネットワーク・インターフェイス508、及びメモリ510を含む。図示のクライアント500はまたローカル・シーケンス管理装置512を含む。クライアント500のCPU502、ユーザー・インターフェイス506、及びネットワーク・インターフェイス508は、グローバル・シーケンス・マネジャ400のCPU402、ユーザー・インターフェイス406、及びネットワーク・インターフェイス508とほぼ同様のものである。ローカル記憶装置504は図2の記憶装置200に似たものであり、一実施例では、図2に示すように分割されても良い。例えば、一実施例では、ローカル記憶装置504は、使用済み記憶部202(オペレーティング・システム・ファイル206、アプリケーション・プログラム・ファイル208、及びデータ・ファイル210を含む)並びにフリー記憶部204(オーバーフロー記憶部12、利用可能記憶部214、及び割り当て済み記憶部216を含む)を含んでいても良い。
メモリ510は、一実施例では、グリッド・バックアップ動作と関連して使用されても良い幾つかのデータ・ファイル及びメタデータ・ファイルを記憶するように構成される。代替実施例では、これらのデータ・ファイル及びメタデータ・ファイルの幾つか若しくは全部がローカル記憶装置504に複製される。別の実施例では、これらのデータ・ファイル及びメタデータ・ファイルの一つ若しくは全部がメモリ510ではなく、ローカル記憶装置504に排他的に記憶されても良い。他の実施例では、これらのデータ・ファイル及びメタデータ・ファイルのうちの一つ若しくは全部がグリッド・システム100上の分散された記憶部に記憶されても良い。
メモリ510は、一実施例では、グローバル・クライアント・プロファイル514、ソース・クライアント・プロファイル516、ターゲット・データ・レコード518、ローカル・ソース・ログ520、及びローカル・ターゲット・ログ522を記憶していても良い。グローバル・クライアント・プロファイル514は、グローバル・シーケンス・マネジャ400のグローバル・クライアント・プロファイル414にほぼ似ており、一実施例で、一方が他方の複製品であっても良い。同様に、ソース・クライアント・プロファイル516はグローバル・シーケンス・マネジャ400のソース・クライアント・プロファイル416に略似ており、一実施例では一方が他方の複製品であっても良い。似たようにして、ターゲット・データ・レコード518はグローバル・シーケンス・マネジャ400の
ターゲット・データ・レコード420に略似ており、一実施例では、一方が他方の服製品であっても良い。ローカル・ソース・ログ520及びローカル・ターゲット・ログ522は夫々グローバル・バックアップ・ログ424に似ているが、クライアント500でユニークなのはソース・クライアント若しくはターゲット・クライアントとしてのその能力である。一実施例では、クライアント500及びグローバル・シーケンス・マネジャ400は、例えば単一のクライアント104ないし110に含まれていても良い。
ローカル・シーケンス管理装置512は。一実施例では、グリッド・システム100に亙るデータ・バックアップ及び復元動作を開始し、促進するように構成される。一つの特定の実施例では、クライアント500がソース・クライアントとして働き、クライアント500のローカル記憶装置504上に元々記憶されていたデータ・ファイルをバックアップするバックアップ・グリッド・アプリケーションを開始しても良い。グローバル・シーケンス・マネジャ400の管理下で、ローカル・シーケンス管理装置512は、グリッド・システム100中の1個若しくはそれ以上のリモートのターゲット・クライアント104ないし110にローカル・ファイルをバックアップしても良い。同様に、クライアント500がソース・クライアントとして働き、適切なターゲット・クライアント104ないし110からバックアップ・データ・パケットを復元するように復元グリッド・アプリケーション開始するようにしても良い。代替実施例では、クライアント500がターゲット・クライアントとして働き、リモートのソース・クライアント104ないし110上に元元記憶されているファイルのバックアップ・コピー若しくはその一部を記憶してもよい。その場合は、バックアップ・データを記憶するためにクライアント500がローカル記憶装置504中の割り当て済み記憶部216を使用していても良い。
図示のローカル・シーケンス管理装置512は、データ・バックアップ・モジュール524、データ復元モジュール526、ローカル・プロファイル管理モジュール528、及びユニーク・データ識別子発生モジュール530を含む。一実施例では、データ・バックアップ・モジュール524は、グローバル・シーケンス・マネジャ400に対するデータ・バックアップ・リクエストを送るように構成される。一実施例では、データ・バックアップ・モジュール524が、フル・バックアップ若しくは部分的バックアップ(増分バックアップや。差分バックアップ等を含む)といった種々のタイプのバックアップをリクエストしても良い。バックアップ・リクエストは、クライアント500を介するユーザー・リクエスト、若しくはローカル・ネットワーク若しくはグリッド・システム100を介するアドミニストレータ・リクエストに応答して引き起こされても良い。代わりに、バックアップ・リクエストが、例えば週単位で増分するバックアップ・プロシージャなど、スケジュールされたイベントに応答して、或いは記憶部利用設定ポイントなど非同期のイベントに応答して引き起こされても良い。代わりに、バックアップ・リクエストは、クライアント500上、あるいはグリッド・システム100中で生じる特定の挙動やイベントなど、トリガとなるイベントに応答して引き起こされても良い。
データ復元モジュール526は、一実施例では、グロ−バル・シーケンス・マネジャ400にデータ復元リクエストを送るように構成される。データ・バックアップ・リクエストに似て、データ復元リクエストは、ユーザー・リクエスト、記憶失敗、若しくはローカル・アプリケーション・プログラムを含む、1個若しくはそれ以上の手動若しくは自動の入力に応答して引き起こされる。ローカル・プロファイル管理モジュール528はグローバル・シーケンス管理装置412のグローバル・プロファイル管理モジュール430に似ている。一実施例では、ローカル・プロファイル管理モジュール528は、ローカル・プロファイル管理モジュール528が在るクライアント500に特有のユニークなソース・クライアント・プロファイル516を発生し、若しくは記憶する。他の実施例では、ローカル・プロファイル管理モジュール528が、特定のデータ・ユニットに特有のユニークなソース・クライアント・プロファイル516を生じ、若しくは記憶しても良い。
ユニーク・データ識別子発生モジュール即ちUDI発生モジュール530は、一実施例では、クライアント500上に在っても良い夫々、元の(非バックアップの)ユニークなデータごとにユニット・データ識別子(UDI)を発生するように構成される。例えば、UDI発生モジュール530は、クライアント500上の各データ・ファイル若しくはその一部ごとにユニーク・データ識別子(UDI)を発生し、割り当てても良い。他の実施例では、UDI発生モジュール530はグローバル・シーケンス管理装置412上に在って、データ・ファイルの一部であってもよい各データ・パケットごとにユニーク・データ識別子(UDI)を割り当ても良い。このユニーク・データ識別子(UDI)は、特定のデータ・ユニット、ファイル、パケット若しくはその一部のバックアップ・コピーが特定のターゲット・クライアント若しくはターゲット・クライアントのセット上に既にバックアップされているか調べるのに使用されてもよい。もしそうであれば、グローバル・シーケンス管理装置412は、グリッド・システム100に利用できる記憶スペースを保存しても良い。この保存は、データ・ユニットの元のコピーが独特のソース・クライアントから発生したとしても、同じデータ・ユニットのバックアップ・コピーの複製のバックアップ・コピーを生じるよりは既に存在するバックアップ・コピーを参照することによって行われる。
一実施例では、ローカル・シーケンス管理装置512及びグローバル・シーケンス管理装置412が単一の装置上に在っても良い。例えば、大きなローカル・ネットワークの一部でなく、直接接続されたクライアント308、310が、必要に応じともにクライアント500及びグローバル・シーケンス・マネジャ400として動作しても良い。他の実施例では、クライアント500は、グローバル・シーケンス・マネジャ400にデータ・パケットを送る前に、それらをパケット化し、圧縮し、暗号化し、複製するなどのための必要なモジュールとともに構成されていても良い。他の実施例では、クライアント500若しくはグローバル・シーケンス・マネジャ400中のモジュールは、グリッド・システム100中の幾つかの装置に分散されていても良い。
図6は、図4及び図5のグローバル・クライアント・プロファイル414、514に略似たグローバル・クライアント・プロファイル600の一実施例を示す。一実施例では、グローバル・クライアント・プロファイル600はグローバル・シーケンス・マネジャ400及びクライアント500の一方又はその両方に記憶される。図示のグローバル・クライアント・プロファイル600は、ネットワーク識別子フィールド602、ネットワーク割り当てフィールド604、クライアント識別子フィールド606、クライアント・パケット圧縮フィールド608、クライアント・パケット冗長化フィールド610、クライアント・パケット暗号化フィールド612、クライアント・バックアップ近接フィールド614、クライアント・パケット近接フィールド616、クライアント・パケット記憶フィールド618、クライアント・プロセッサ・フィールド620、クライアント帯域フィールド622、クライアント同期フィールド624、及びクライアント・オート・アーカイブ・フィールド626を含む。
ネットワーク識別子フィールド602は、一実施例では、グリッド・システム300中で、例えば図3のネットワーク・システム304のような特定のネットワーク・システムのためのネットワーク識別子を記憶するように構成される。ネットワーク割り当てフィールド604は、一実施例では、グリッド・システム300に専用のネットワーク・パフォーマンス資源を示すネットワーク割り当てパラメータを記憶しても良い。例えば、ネットワーク割り当てフィールド604が、グリッド・システム300専用で、バックアップ・グリッド・アプリケーションに利用できるネットワーク帯域の割合を示すネットワーク帯域割り当てパラメータを記憶しても良い。
クライアント識別子フィールド606は、一実施例では、クライアント名若しくはクライアント番号などクライアント識別パラメータを記憶するように構成されても良い。一実施例では、グリッド・システム100に接続された各クライアント500はユニークなクライアント名によって識別されても良い。他の実施例では、クライアント識別フィールド606に記憶されたクライアント識別パラメータが、ネットワーク識別フィールド602に記憶されたネットワーク識別パラメータを採用しても良い。
一実施例では、クライアント・バックアップ近接性パラメータが、バックアップ・データが記憶されるターゲット・クライアント及びソース・クライアント間の、最短又は最長の距離など、地理的限界を示しても良い。他の実施例では、クライアント・パケット近接性パラメータが、バックアップ・データを記憶する幾つかのターゲット・クライアント間の最短又は最長の距離を示しても良い。このようにして、クライアント・バックアップ近接パラメータ及びクライアント・パケット近接性パラメータは、一つのパケットのアクセス容易性が、別のデータ・パケットのアクセス容易性とほぼ独立にされても良いことを確保する。例えば、ソース・クライアントは、クライアント・バックアップ近接性パラメータを調整することによって、そのソース・クライアントと同じ首都圏領域、州、又は国にはないターゲット・クライアントにバックアップ・データを記憶するようにリクエストしても良い。
クライアント・バックアップ近接性パラメータ及びクライアント・パケット近接性パラメータを、一実施例では、マイルやキロメータなど、物理的距離を示しても良い。ノード104ないし110の間の距離は、例えば全地球測位システム(GPS)座標を用いて計算または予測しても良い。代りに、これらのパラメータを論理的距離で示してもよい。例えば、クライアント・バックアップ近接性パラメータ及びクライアント・パケット近接性パラメータが、ソース・クライアントのインターネット・プロトコル(IP)アドレスを参照し、別のネットワーク若しくはサブネット中のターゲット・クライアント上にそのバックアップ・パケットが記憶されるように特定しても良い。他の実施例では、クライアント・バックアップ近接性パラメータ及びクライアント・パケット近接性パラメータが、或るノード104ないし110を、バックアップ・データ・パケットを記憶するべきノード若しくは記憶しないノードと内包的に若しくは排他的に特定しても良い。
クライアント・パケット圧縮フィールド608、クライアント・パケット冗長化フィールド610、及びクライアント・パケット暗号化フィールド612は、夫々、デフォールトの圧縮、冗長性、及び暗号化のパラメータを記憶するように構成されても良い。これらのパラメータは、圧縮のタイプ、暗号化のレベル、若しくは冗長性のレベルを示す。例えば、デフォールト・パラメータとして使用されても良い。同様に、クライアント・バックアップ近接性フィールド614及びクライアント・パケット近接性フィールド616がデフォールトの近接性パラメータを記憶するように構成されても良い。
クライアント記憶フィールド618は、一実施例では、グリッド・システム100専用のクライアント記憶のデフォールト量を定義するデフォールト・クライアント記憶割り当てパラメータを記憶するように構成されても良い。同様に、クライアント・プロセッサ・フィールド620及びクライアント帯域フィールド622が、一実施例では、グリッド・システム100に専ら関係するプロセッサ性能及び帯域を示しても良い。一実施例では、これらのパラメータの各々を量的な数値によって示してもよい。他の実施例では、これらのパラメータの各々を、利用可能な全性能のうちの割合として表すことができる。
クライアント同期フィールド624は、一実施例では、クライアント同期パラメータを記憶するように構成されても良い。このパラメータは、グローバル・シーケンス・マネジャ400上のグローバル・クライアント・プロファイル600がクライアント500上のグローバル・クライアント・プロファイル514又はソース・クライアント・プロファイル516にどの程度の頻度で同期すべきかを示す。この同期は一実施例では、単一ステップのプロセスであってよい。代替実施例では、クライアント500上のグローバル・クライアント・プロファイル514及びグローバル・シーケンス・マネジャ400上のソース・クライアント・プロファイル416を同期させるための追加のステップを含んでも良い。好ましくは、グローバル・クライアント・プロファイル600の複数のコピーがクライアント500及びグローバル・シーケンス・マネジャ400上に存在するなら、これらのコピーはクライアント500及びグローバル・シーケンス・マネジャ400の両方に正確な情報を提供するのに必要な頻度だけ同期される。
クライアント・オート・アーカイブ・フィールド626は、一実施例では、クライアント・データ・ファイルがどの程度の頻度でバックアップされるべきかを示すクライアント・オート・アーカイブ・パラメータを記憶しても良い。他の実施例では、クライアント・オート・アーカイブ・パラメータが、所与の刺激に応答して実行されるべきバックアップのタイプ、即ちフルか、増分的か、或いは他のタイプのバックアップか、を示してもよい。
図7は、図4及び図5のソース・クライアント・プロファイル416、516に実質的に良く似たソース・クライアント・プロファイル700の一実施例を示す。
一実施例では、ソース・クライアント・プロファイル700がグローバル・シーケンス・マネジャ400及びクライアント500の一方又は両方に記憶されても良い。図示のソース・クライアント・プロファイル700は、ソース・クライアント識別子フィールド702、ユニーク・データ識別子(UID)フィールド704、データ・ソース位置フィールド706、データ・パケット圧縮フィールド708、データ・パケット冗長性フィールド710、データ・パケット暗号化フィールド712、データ・バックアップ近接性フィールド714、データ・パケット近接性フィールド716、データドウキフィールド718、及びデータ・シーケンス・キー・フィールド720を含む。
ソース・クライアント識別子フィールド702は、一実施例では、グローバル・クライアント・プロファイル600のクライアント識別子フィールド606に略似たものである。
ユニーク・データ識別子(UDI)フィールド704は、一実施例では、特定のデータ・ユニットに対応するユニーク・データ識別子(UDI)を記憶するように構成されても良い。データ・ソース位置フィールド706は、一実施例では、ユニーク・データ・フィールド(UDI)704に記憶されたUDIにより識別される、ソース・クライアント上の元のデータ・ユニットのファイル位置を識別するように構成されても良い。
データ・パケット圧縮フィールド708、データ・パケット冗長化フィールド710、及びデータ・パケット暗号化フィールド712は、グローバル・クライアント・プロファイル600のクライアント・パケット圧縮フィールド608、クライアント・パケット冗長化フィールド610、及びクライアント・パケット暗号化フィールド612に似ている。しかし、一実施例では、ソース・クライアント・プロファイル700中のこれらのフィールド708、710、712は、特定のソース・クライアント上のデータ・ユニットの全てに対しデフォールトのパラメータを記憶するというより、各データ・ユニットに対しユニーク・データ識別子(UDI)により識別された実際のパラメータを記憶しても良い。代替例として、これらのフィールド708、710、712は全てのデータ・ユニットに対し同じパラメータを記憶しても良いし、またグローバル・クライアント・プロファイル600中の各フィールド608、610、612と同じパラメータを記憶しても良い。同様にデータ・バックアップ近接性フィールド714及びデータ・パケット近接性フィールド716は、グローバル・クライアント・プロファイル600の近接性フィールド614、616、と似ている。しかし、ソース・クライアント・フィールド700中のこれらのフィールド714、716は、上述のフィールド708、710、712と似たように、各データ・ユニットごとに特定される、ユーザーが定義したパラメータを記憶しても良い。
好ましくは、ソース・クライアント・プロファイル700の複数のコピーがクライアント500及びグローバル・シーケンス・マネジャ400の両方に存在する場合は、その両方に正確な情報を提供するためにこれらのコピーが、必要な頻度で同期されることになろう。このデータ同期フィールド718は、一実施例では、クライアント同期パラメータを記憶するように構成されても良い。このクライアント同期パラメータは、グローバル・シーケンス・マネジャ400上のソース・クライアント・プロファイル416が、クライアント500上のソース・クライアント・プロファイル516とどの程度の頻度で同期されるべきかを示す。このデータ同期フィールド718及びそのパラメータは、グローバル・クライアント・プロファイル600のクライアント同期フィールド及びそのパラメータに似たものであってよい。適用可能ならば、ソース・クライアント・プロファイル700はまたグローバル・クライアント・プロファイル600の少なくとも一部と同期されても良い。
データ・シーケンス・キー・フィールド720は、一実施例では、特定のデータ・ユニットのための非トランスペアレントなシーケンス・キーを記憶するように構成される。上述のとおり、このシーケンス/キーはグローバル・シーケンス管理装置412のシーケンス・モジュール428によって発生されても良い。代替例では、データ・シーケンス・キー・フィールド720は、実際のシーケンス・キーではなく、発生刺激(stimulus)キーを記憶しても良い。このようにして、実際のシーケンス・キーは、クライアント500上でなく、グローバル・シーケンス・マネジャ400上にのみ記憶されても良い。他の実施例では、その非トランスペアレントなシーケンス・キーは、グリッド・システム100のどこにも記憶されなくても良く、むしろシーケンス・モジュール428によって発生刺激キーを用いて発生されても良い。非トランスペアレントなシーケンス・キーは、それが必要なときごとに、少なくともこの発生刺激キーを用いることによって発生される。このシーケンス・モジュール428はまた、必要時にこのシーケンス・キーを発生するために、発生刺激キーと関連して、ユニーク・データ識別子(UDI)、データ・ソース位置パラメータ、ソース・クライアント識別子パラメータ、或いは1個若しくはそれ以上の他のパラメータを使用しても良い。
図8は、図4のソース・データ・レコード418にほぼ似たソース・データ・レコード800の一実施例を示す。一実施例では、ソース・データ・レコード800は、グローバル・シーケンス・マネジャ400上に排他的に記憶される。図示のソース・データ・レコード800は、ユニーク・データ識別子(UDI)フィールド802、パケット識別子フィールド804、及び1個若しくは複数個のターゲット識別子フィールド806ないし810を含む。一実施例では、ソース・データ・レコード800は、各バックアップ・データ・パケットが記憶される種々のターゲット・クライアントを識別する。
UDIフィールド802は、一実施例では、バックアップ・データ・ファイルのユニーク・データ識別子(UDI)を記憶するように構成される。パケット識別子フィールド804は、一実施例では、バックアップ・データ・ファイルに属する特定のデータ・パケットのためのパケット識別子を記憶するように構成される。ターゲット識別子フィールド806ないし810は、一実施例では、バックアップ・データ・パケットのコピーが記憶されているターゲット・クライアントに対応するターゲット識別子を夫々記憶するように構成される。何個のターゲット・クライアントが同じデータ・パケットのコピーを記憶するかに依って、複数のターゲット識別子806ないし810が、ソース・・データ・レコード800に追加されても良い。代替実施例では、ユニーク・データ識別子(UDI)がバックアップ・データ・ファイル全体よりも特定のデータ・パケットを識別してもよい。この場合、ソース・データ・レコード800は、元のファイル、データ・パケット及びデータ・パケットの各バックアップ・コピーの位置を示す等価な手段を使用しても良い。
図9は、図4及び図5のターゲット・データ・レコード420、518に良く似たターゲット・データ・レコード900の一実施例を示す。一実施例では、ターゲット・データ・レコード900が、グローバル・シーケンス・マネジャ400及びクライアント500の一方若しくは両方に記憶されても良い。図示のターゲット・データ・レコード900は、ユニーク・データ識別子(UDI)フィールド902、パケット識別子フィールド904、パケット・サイズ・フィールド906、及びターゲット位置フィールド908を含む。
UDIフィールド902は、一実施例では、バックアップ・データ・ファイルのユニーク・データ識別子(UDI)を記憶するように構成される。パケット識別子フィールド904は、一実施例では、そのバックアップ・データ・ファイルに属する或る特定のデータ・パケットのためのパケット識別子を記憶するように構成される。パケット・サイズ・フィールド906は、一実施例では、パケットのサイズを示すためにパケット・サイズ・パラメータを記憶するように構成される。ターゲット位置フィールド908は、一実施例では、バックアップ・データ・パケットが記憶されるターゲット・クライアント上の記憶位置を示すように構成される。このようにして、ターゲット・データ・レコード900は、復元動作中、ソース・クライアントのためのリクエストされたバックアップ・データ・パケットの回復を促進することができる。代替実施例では、ユニーク・データ識別子(UDI)が、バックアップ・データ・ファイル全体ではなく、特定のデータ・パケットを識別しても良い。この場合、ターゲット・データ・レコード900は、元のファイル、データ・パケット、そのパケットのサイズ、及びターゲット・クライアント上のバックアップ・コピーの位置を示すための等価な手段を使用しても良い。
図10は、図4のデータ・アセンブリ・レコード422に実質的に似たデータ・アセンブリ・レコード1000の一実施例を示す。一実施例では、データ・アセンブリ・レコード1000は、グローバル・シーケンス・マネジャ400に排他的に記憶される。このデータ・アセンブリ・レコード1000は、ユニーク・データ識別子(UDI)フィールド1002及び1個若しくはそれ以上のパケット・フィールド1004a-mないし1010a-mのテーブルを含む。
UDIフィールド1002は、一実施例では、バックアップ・データ・ファイルのユニーク・データ識別子を記憶するように構成される。パケット識別子フィールド1004aないし1004mは、一実施例では、そのバックアップ・データ・ファイルに属する第1のデータ・パケットの複製コピーに対するパケット識別子を記憶するように構成される。同様に、パケット識別子フィールド1006aないし1006mは、一実施例では、そのバックアップ・データ・ファイルに属する第2のデータ・パケットのコピーに対するパケット識別子を記憶するように構成される。同様に、パケット識別子フィールド1008aないし1008mは、一実施例では、そのバックアップ・データ・ファイルに属する第3のデータ・パケットのコピーに対するパケット識別子を記憶するように構成される。このパターンは、そのバックアップ・データ・ファイルに属する最後のパケットのコピーに対するパケット識別子を記憶するパケット識別子フィールド1010aないし1010mまで続く。代替実施例では、ユニーク・データ識別子(UDI)が、バックアップ・データ・ファイル全体ではなく、特定のデータ・パケットを識別しても良い。この場合、データ・アセンブリ・レコード1000は、元ファイル及びデータ・パケットのアセンブルする順序を示す等価な手段を用いても良い。
これから説明する図式的なフローチャートは、論理的なフローチャートである。厳密な意味では、ここで示した順序及び名づけたステップは本発明のプロセスの一実施例を示す。機能、論理、効果に於いて等価な他のステップ及びプロセスも考えられる。更に、ここで使用したフォーマットや記号は、そのプロセスの論理ステップを説明するために与えられており、そのプロセスの範囲を制限しないものと理解される。同様に、種々の矢印のタイプ、線のタイプが、このフローチャートでは使用されているが、その対応するプロセスの範囲を制限しないものと理解される。実際、ある矢印や他のコネクタがそのプロセスの論理フローだけを示すのに使用されても良い。例えば、一つの矢印は、そこで示すプロセスの列挙したステップ相互間の特定されていない間隔の待機期間若しくはモニタ期間を示しても良い。
図11及び図12は、グリッド・システム100上にデータをバックアップするのに用いられ得るバックアップ方法1100の一実施例を示す。図示のバックアップ方法1100は、3個ほどの区域に分けられる。各区域はグリッド・システム100の特定のコンポーネントに生じるようなサブプロセスを示す。しかし、そのバックアップ方法1100は、3個のサブプロセスに分けられ、一つの特定のコンポーネントで生じるようなラベルが付されているが、この説明は一つの特定のコンポーネントにサブプロセスを制限しようと意図するものではない。実際、バックアップ方法1100の中で示した諸ステップの多くはグリッド・システム100中の種々のコンポーネントにより実行されても良い。更に、単一のサブプロセスの全てのステップが単一のコンポーネントによって実行されねばならないという訳ではない。同様に、単一のコンポーネントが異種のサブルーチンからの種々のステップを実行しても良い。
図示のバックアップ方法1100は、ステップ1102で始まり、ステップ1104で、バックアップされるべきデータ・ユニットに対しユニーク・データ識別子(UDI)を発生する。その後、ステップ1106で、ソース・クライアントがグローバル・シーケンス・マネジャにバックアップ・リクエストを送る。ステップ1110で、グローバル・シーケンス・マネジャ400がソース・クライアントからそのバックアップ・リクエストを受取る。一実施例では、そのバックアップ・リクエストが、バックアップされるべきデータ・ユニットのユニーク・データ識別子(UDI)を含む。代わりに、そのユニーク・データ識別子(UDI)が別個に送られても良い。
判断ステップ1112に於いて、グローバル・シーケンス・マネジャ400は、そのユニーク・データ識別子(UDI)を用いて、データ・ユニットのバックアップ・コピーがグリッド・システム100中に既に存在しているかを調べる。そのユニーク・データ識別子(UDI)に対応するデータのバックアップ・コピーが既に存在するのでなければ、図12のステップ1202に進み、グローバル・シーケンス・マネジャ400が、データ・リクエストをソース・クライアントに送り、バックアップすべきデータ・ユニットのコピーをリクエストする。図12のステップ1204で、ソース・クライアントがそのデータ・リクエストを受け取り、その後ステップ1206で、そのデータ・ユニットのコピーをグローバル・シーケンス・マネジャ400に送る。図示の実施例で、グローバル・シーケンス・マネジャ400はソース・クライアントからデータ・ユニットを受け取り(ステップ1208)、そのデータ・ユニットを必要な数のデータ・パケットに再分割し(ステップ1210)、ユニークな、非トランスペアレントのシーケンス・キーをそのデータ・ユニットのために発生する(ステップ1210)。
そこで、グローバル・シーケンス・マネジャ400が、その非トランスペアレントなシーケンス・キーに従ってターゲット・クライアントにバックアップ・データ・パケットを記憶する(ステップ1212)。各データ・ユニット又はその部分ごとに、グローバル・シーケンス・マネジャ400は、クライアント500及びデータ・ユニットと関係する適切なプロファイル(図6、図7のグローバル・クライアント・プロファイル600、ソース・クライアント・プロファイル700)、及びレコード(図8ないし図9のソース・データ・レコード800、ターゲット・データ・レコード900、データ・アセンブリ・レコード1000)を生じ、修正ないし更新する(ステップ1214)。それから、グローバル・シーケンス・マネジャ400は、データ・バックアップ確認をソース・クライアントに送り、そのバックアップ動作が成功裏に完了したことを示す(ステップ1216)。ソース・クライアントは、グローバル・シーケンス・マネジャ400からデータ・バックアップ確認を受取る(ステップ1220)と、もっと多くのデータ・ユニットがバックアップされる必要があるかを調べる(ステップ1222)。もしあれば、図示のバックアップ方法は次のデータ・ユニットのために新しいユニーク・データ識別子(UDI)を発生する(図11のステップ1104)。もしなければ、図示のバックアップ方法が終了する(ステップ1224)。
ここで図11のステップ1112に説明を戻すと、もしもグローバル・シーケンス・マネジャ400が、グリッド・システム100上にそのデータ・ユニットのバックアップ・コピーが既に存在すると判断した場合は、グローバル・シーケンス・マネジャ400がその存在するバックアップをソース・クライアントに知らせる(ステップ1114)。図示のバックアップバックアップ方法1100は上述のとおりに続けられる。他の実施例では、グローバル・シーケンス・マネジャ400が、ソース・クライアントに、その存在するバックアップを知らせる前に、適切なプロファイル(600、700)若しくはレコード(800、900、1000)を生じ若しくは修正してもよい。
図13ないし図16は、グリッド・システム100上にデータを復元するように使用されても良い復元方法1300の実施例を示す。図示の復元方法1300は3個ほどの区域に分けられる。各区域は、グリッド・システム100の特定のコンポーネントに生じるようなサブプロセスを示す。しかし、その復元方法1300は、3個のサブプロセスに分けられ、一つの特定のコンポーネントで生じるようなラベルが付されているが、この説明は一つの特定のコンポーネントにサブプロセスを制限しようと意図するものではない。実際、復元方法1300の中で示した諸ステップの多くはグリッド・システム100中の種々のコンポーネントにより実行されても良い。更に、単一のサブプロセスの全てのステップが単一のコンポーネントによって実行されねばならないという訳ではない。同様に、単一のコンポーネントが異種のサブルーチンからの種々のステップを実行しても良い。
図示の復元方法1300は図13のブロック1302で開始する。ソース・クライアントがデータ復元リクエストをグローバル・シーケンス・マネジャ400に送る(ステップ1304)。一実施例では、その復元リクエストが、復元しようとするバックアップ・データ・ユニットのユニーク・データ識別子(UDI)を含む。代わりにユニーク・データ識別子(UDI)が別個に伝送されても良い。グローバル・シーケンス・マネジャ400は、データ復元リクエストを受取る(ステップ1308)と、そのリクエストされたデータ・ユニットのバックアップ・データ・パケットをどのターゲット・クライアントが記憶しているかを調べるために、対応するソース・データ・レコード800にアクセスすることができる(ステップ1310)。代替実施例では、グローバル・シーケンス・マネジャ400は、そのリクエストされたデータ・ユニットのバックアップ・データ・パケットをどのターゲット・クライアントが記憶しているかを調べるために、対応するソース・クライアント・プロファイル700にアクセスし、そのシーケンス・キーを再発生することができる(ステップ1310)。
それから、グローバル・シーケンス・マネジャ400は、パケット・リクエストを適切なターゲット・クライアントに送る(ステップ1312)。上述のとおり、各データ・パケットの複製コピーが1個若しくはそれ以上のターゲット・クライアントに記憶されても良い。図示の実施例では、各ターゲット・クライアントがグローバル・シーケンス・マネジャ400からパケット・リクエストを受取る(ステップ1318)。
グリッド・システム100が幾つかの独立に管理されるネットワーク及びクライアントを含むとすれば、幾つかのターゲット・クライアントはリクエスト時にオフラインであっても利用できなくても良い。幾つかの利用可能なターゲット・クライアントは、グリッド資源として以前は使用されていた再クレームされた記憶スペースを有していても良い。これにより、グリッド・システム100には利用できていなかった、バックアップ・データ・パケットのコピーを破壊したり作ったりすることができる。
もしそのリクエストされたパケットが利用可能でないと、その利用可能なターゲット・クライアントが判断した場合(図14のステップ1402)は、ターゲット・クライアントはグローバル・シーケンス・マネジャ400にその喪失したパケットのことを知らせる(ステップ1404)。そのパケット喪失に応答して、グローバル・シーケンス・マネジャ400は、そのリクエストされたデータ・パケットのコピーを有する他のターゲット・クライアントが利用可能かを調べる(ステップ1408)。もしも他のターゲット・クライアントが利用可能であるならば、グローバル・シーケンス・マネジャ400はその利用可能なターゲット・クライアントにパケット・リクエストを送る(ステップ1312)。そして上述したとおりの復元方法1300が続く。もしそのリクエストされたパケットが利用可能と、その利用可能なターゲット・クライアントが判断する(ステップ1402)ならば、そのターゲット・クライアントはそのリクエストされたパケットをグローバル・シーケンス・マネジャ400に送る(ステップ1410)。すると、グローバル・シーケンス・マネジャ400はその利用可能なターゲット・クライアントからそのリクエストされたパケットを受取る(ステップ1414)。
特定のデータ・パケットが利用可能であるか否かに関して、グローバル・シーケンス・マネジャ400は、リクエストされたデータ・ユニットに対し追加のデータ・パケットが必要か、利用できるかを判断する(図15のステップ1502)。もし、もっとパケットが必要であれば、グローバル・シーケンス・マネジャ400は、その必要なパケット・リクエストを、その対応するターゲット・クライアントに送る(ステップ1312)。そして上述したとおりの復元方法1300が続く。
一旦、全てのデータ・パケットがリクエストされ、もし利用可能ならそのターゲット・クライアントから受取られると、グローバル・シーケンス・マネジャ400はそのリクエストされたデータ・パケットのどれかが欠けているか、喪失したか、破壊されたか、或いは利用不可能かを調べても良い(ステップ1504)。一実施例では、グローバル・シーケンス・マネジャ400が、この欠けているパケットの冗長なコピーをアクセスするために、グローバル・クライアント・プロファイル600、及びソース・クライアント・プロファイル700に夫々記憶されたクライアント・パケット冗長性パラメータ610及びデータ・パケット冗長性パラメータ710を参照しても良い。
グローバル・シーケンス・マネジャ400は、十分な数のパケットが、元のデータの全てもしくは一部をアセンブルするよう取出されたか調べる(ステップ1506)。もし十分な数のパケットが利用可能なら、グローバル・シーケンス・マネジャ400はデータを、一実施例では、データ・アセンブリ・レコード1000を用いてアセンブルし(ステップ1508)、そのデータをソース・クライアントに送る。そこでソース・クライアントはグローバル・シーケンス・マネジャ400から一部若しくは全部をアセンブルされたデータを受取る(ステップ1514)。
もし、幾つかのデータがバックアップ及び復元動作中に喪失したり利用できなくなったりしたならば、データが完全に若しくは十分に再構成されるかをソース・クライアントが判定する(図16のステップ1602)。もしデータが十分に再構成されるなら、ソース・クライアントは追加のデータ・ユニットを復元する必要があるかをソース・クライアントが判定する(ステップ1612)。もしその復元が必要となれば、後続のデータ復元リクエストをグローバル・シーケンス・マネジャ400に送るステップ1304に戻る。そして上述したとおりの復元方法1300が続く。
もし、リクエストされたデータが十分に再構成されないと、ソース・クライアントが判定する(ステップ1602)なら、ソース・クライアントはグローバル・シーケンス・マネジャ400からの残りのデータ・パケットを反復的にリクエストする(ステップ1604)。復元しようとする全ての試みが潰えたか、グローバル・シーケンス・マネジャ400が判定する(ステップ1608)。もし、その判定が「潰えていない」ということであれば、後続のパケット・リクエストをターゲット・クライアントに送る。というステップ1312の前に、所定の遅延期間、待機しても良い(ステップ1610)。代替例では、グローバル・シーケンス・マネジャ400が、所定の遅延期間ではなく、ランダムな遅延期間、待機しても良い(ステップ1610)。例えば、一実施例では、グローバル・シーケンス・マネジャ400が24時間、待機しても良い。他の実施例では、グローバル・シーケンス・マネジャ400が、次の労働日の始まる時刻まで待機してから、その後のパケット・リクエストを送る(ステップ1312)のでも良い。これまで利用できなかったターゲット・クラが、この遅延期間の間にグリッド・システム100に利用できるようになるかもしれない。
図示の復元方法1300は、リクエストされたデータ・ユニットが完了するまで又は全ての復元の試みが潰えるまで、上述のとおり続く。データ復元の試みの全てが潰え、且つデータがまだ完了していない場合は、グローバル・シーケンス・マネジャ400は、喪失データのこと、及び潰えた試みのことをソース・クライアントに知らせる。ソース・クライアントはグローバル・シーケンス・マネジャ400から喪失データの知らせを受取る(ステップ1618)。そしてその説明した復元方法1300が終了する(ステップ1620)。
上述のバックアップ方法1100及び復元方法1300に関連して、グリッド・システム100は、クライアント104ないし110が、そのグリッド・システム100のバックアップ機能及び復元機能をアクセスするのに対価を支払えるようにするためにクライアント予約支払いプログラムを管理するのに必要なコンポーネントを含むかもしれない。一実施例では、図3の予約申込みマネジャ312が、このタイプのクライアント予約申込みシステムを管理するよう構成されても良い。クライアント予約申込みシステムは多数のソース・クライアント及びターゲット・クライアントを許容しても良い。クライアントごとの予約申込み料金は、記憶しようとするデータの量、ソース・クライアントが必要とするバックアップの信頼性、アクセスし易さ、グリッド・システム専用のローカル・クライアント・パフォーマンス資源の量、並びに時間あたりの割り当て資源の一貫性に依存しても良い。グリッド・システム100のパフォーマンスに影響する他の要素をも、特定のクライアント104ないし110ごとの料金を決めるのに使用しても良い。
予約申込みマネジャ312は、一実施例では、ユーザーの料金を決めるプロセスに於いて、集められ、使用され、若しくは発生された情報を管理し、グリッド・アプリケーションや顧客に関して、サービスのレベルを制御し、そのサービスの利用を制御し、パフォーマンス資源相互間の寄与度を制御するなどのことを行う装置である。
一実施例では、予約支払いマネジャ312が少なくとも二つの目的に資する。第1に、それはユーザーによるグリッド資源の使用度合い及びユーザーによるパフォーマンス資源のグリッドに対する貢献度合いの一方若しくは両方に基づいてユーザーに課されるユーザー料金を決めることができる。第2に、予約支払いマネジャ312が、グリッド・システム100及びグリッド資源へのアクセス、使用、使用レベル等を制御することができる。予約申込みマネジャ12はまたここで説明した自律的な(オートノミック)ポリシーに基づいてグリッド・システムへのクライアント・パフォーマンス資源の割り当て、貢献度合い等を制御することもできる。
グリッド・システム100への種々のクライアント104ないし110の予約申込みを管理するために、予約申込みマネジャ312が、クライアント・プロファイル、グローバル・プロファイル、及び顧客プロファイルを生じ、記憶することができる。一実施例では、特定の顧客についての予約申込みマネジャ312のグローバル・プロファイルが、特定の顧客のためのユーザー料金を決めるために、パフォーマンス資源割り当て及び使用に関する情報を含んでも良い。
一実施例では、顧客プロファイルは特定の顧客へのグローバル・プロファイルに関する情報を含む。顧客プロファイルは、クライアント・パフォーマンス資源割り当てについての情報及びローカルに呼び出されるグリッド・アプリケーションについての情報を含む、特定の顧客についての情報を集めても良い。顧客プロファイルは或る顧客が課される全体の料金を決定するのに使用されても良い。同様に、一実施例では、予約申込みマネジャ312中のクライアント・プロファイルが特定のクライアント104ないし110に対応する情報を含んでも良い。
一実施例では、予約申込みマネジャ312は、一つのグリッド・アプリケーションについてクライアント104ないし110によるグリッド・システム100の、瞬間的な使用、平均的な使用、最大の使用、最小の使用、予定の使用、リザーブした使用、ピークの使用など、その中の1つ若しくは複数の使用に基づいてユーザー料金を決定する。他の実施例では、予約申込みマネジャ312が、クライアント104ないし110によるグリッド・システム100へのクライアント・パフォーマンス資源の割り当てを追跡しても良い。予約申込みマネジャ312が、瞬間的なレベル、平均的なレベル、最大のレベル、最小のレベル、予定のレベル、リザーブしたレベル、ピークのレベルなど、その中の一つ若しくは複数の、貢献したレベルを追跡しても良い。更に別の実施例では、予約申込みマネジャ312が、上記に挙げた1個若しくは複数個のファクタの組み合わせを追跡しても良い。
他の実施例では、予約申込みマネジャ312が、グローバル・オートノミック・マネジャによる又はクライアント104ないし110によるオートノミック・ポリシーの実行をモニタし、制御しても良い。例えば、ある企業がバックアップ取出しグリッド・アプリケーションのためにグリッド・システム100に予約申込みしても良い。コスト・ダウンのために、或る企業は、各々の結合されたクライアント104ないし110からグリッド・システム100にパフォーマンス資源を寄付することを決めても良い。もしもユーザーが特定のクライアントの割当て済みのパフォーマンス資源を再度要求すると決め、その貢献度をゼロに減らすならば、予約申込みマネジャ312は、そのクライアント・プロファイル、及び顧客プロファイルを変えて、適当な料金を決定しても良い。予約申込みマネジャ312のグローバル・プロファイルによれば、グリッド・システム100のグローバル・オートノミック・マネジャはパフォーマンス資源割当てのための上下の閾値を維持しても良い。
他の実施例では、クライアント104ないし110又はグローバル・オートノミック・マネジャによりリクエストされたポリシーの変更を予約申込みマネジャ312が制御しても良い。予約申込みマネジャ312の顧客プロファイルは、クライアント104ないし110のグリッド・アプリケーションの使用や資源割当てのある種の変更を抑えても良い。例えば、クライアント・プロファイルは顧客が所定の請求期間に生じる総コストに制限を設けても良い。予約申込みマネジャ312は、もしもこれらの制限を越えるなら、クライアント104ないし110による使用を阻止しても良い。
本発明は、その精神や基本的特性から逸脱することなく他の特定の態様で実施されても良い。上述の実施例は全ての点で説明用としてのみ考慮すべきであって、制限を加えるべきものではない。従って、本発明の範囲は上述の説明よりも特許請求の範囲によって示されるべきである。特許請求の範囲の意味するところとその等価な範囲内の全ての変更は本発明の範囲内に包含されるべきである。
本発明の利点を容易に理解できるようにするために、上記で簡単に説明した本発明の一層具体的な説明を、添付図に示す特定の実施例に沿って行う。これらの図が本発明の典型的な実施例だけを示し従って本発明の範囲を制限するものでないことに留意しつつ、以下の添付図を使用することによって本発明を詳細に説明する。
本発明に従うグリッド・システムの一実施例のブロック図である。 本発明に従うクライアントの記憶装置の一実施例のブロック図である。 本発明に従うグリッド・システムの他の実施例のブロック図である。 本発明に従うグローバル・シーケンス・マネジャの一実施例のブロック図である。 本発明に従うクライアントの一実施例のブロック図である。 本発明に従うグローバル・クライアント・プロファイルの一実施例のブロック図である。 本発明に従うソース・クライアント・プロファイルの一実施例のブロック図である。 本発明に従うソース・データ・レコードの一実施例のブロック図である。 本発明に従うターゲット・データ・レコードの一実施例のブロック図である。 本発明に従うデータ・アセンブリ・レコードの一実施例のブロック図である。 本発明に従うバックアップ方法の一実施例の図式図である。 本発明に従うバックアップ方法の一実施例の図式図である。 本発明に従う復元方法の一実施例の図式図である。 本発明に従う復元方法の一実施例の図式図である。 本発明に従う復元方法の一実施例の図式図である。 本発明に従う復元方法の一実施例の図式図である。

Claims (30)

  1. 複数のクライアントに亙るデータをバックアップするためのシーケンス管理装置にして、
    ソース・クライアントからバックアップされるべきデータを受取るように構成されたクライアント・リクエスト・モジュールと、
    複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するように構成されたシーケンス・モジュールと、
    前記非トランスペアレントなシーケンスに従って複数のターゲット・クライアント上にデータを記憶するように構成されたパケット記憶モジュールとを含む
    シーケンス管理装置。
  2. 前記複数のターゲット・クライアントにバックアップされるデータを記述するメタデータ・ファイルを管理するように構成されたグローバル・プロファイル管理モジュールを更に含む、請求項1に記載のシーケンス管理装置。
  3. 前記メタデータ・ファイルが、グローバル・クライアント・プロファイル、ソース・クライアント・プロファイル、ソース・データ・レコード、ターゲット・データ・レコード、データ・アセンブリ・レコード、及びグローバル・バックアップ・ログからなる群から選択される、請求項2に記載のシーケンス管理装置。
  4. 前記グローバル・プロファイル管理モジュールが、データをソース・クライアントに写像するため、該データに対応するユニーク・データ識別子であって、該データが他のデータと比較してユニークであることを示す前記ユニーク・データ識別子を使用するように構成された、請求項2に記載のシーケンス管理装置。
  5. 前記グローバル・プロファイル管理モジュールが、前記データの同一のコピーが記憶される第2のソース・クライアントに前記ユニーク・データ識別子を写像するように構成された、請求項4に記載のシーケンス管理装置。
  6. 前記ソース・クライアントからの復元リクエストに応答して、複数のターゲット・クライアントのうちの一つにバックアップされるデータの少なくとも一部を取出すように構成されたパケット取出しモジュールを更に含む、請求項1に記載のシーケンス管理装置。
  7. 前記パケット取出しモジュールが、更に前記シーケンス・モジュールにより発生される非トランスペアレントなシーケンスに従って、前記複数のターゲット・クライアントのうちの一つにバックアップされるデータの少なくとも一部を取出すように構成された、請求項6に記載のシーケンス管理装置。
  8. 前記ソース・クライアントからの復元リクエストに応答し、且つ前記複数のターゲット・クライアントのうちの一つにバックアップされるデータの少なくとも一部の取出しの後、前記データを理解可能なフォーマットにアセンブルするように構成されたデータ・アセンブリ・モジュールを更に含む、請求項1に記載のシーケンス管理装置。
  9. 前記パケット記憶モジュールが、前記データを複数のデータ・パケットに分割するように、且つ複数のターゲット・クライアントに前記データ・パケットを記憶するように更に構成された、請求項1に記載のシーケンス管理装置。
  10. 前記複数のターゲット・クライアントに前記データ・パケットを記憶する前に、前記データ・パケット中のデータを圧縮するように構成された圧縮モジュールを更に含む、請求項9に記載のシーケンス管理装置。
  11. 前記複数のターゲット・クライアントに前記データ・パケットを記憶する前に、前記データ・パケット中のデータを暗号化するように構成された暗号化モジュールを更に含む、請求項9に記載のシーケンス管理装置。
  12. 前記複数のターゲット・クライアントに前記データ・パケットを記憶する前に、前記データ・パケットの少なくとも一つに冗長化データ・パケットを生じるように構成された冗長化モジュールを更に含む、請求項9に記載のシーケンス管理装置。
  13. 前記複数のターゲット・クライアントのうちの一つに、前記冗長化データ・パケットを前記非トランスペアレントなシーケンスに従って記憶するように前記パケット記憶モジュールが更に構成された、請求項12に記載のシーケンス管理装置。
  14. 第1のターゲット・クライアント及び第2のターゲット・クライアント間の最小距離及び最大距離のうちの少なくとも一つを定義するパケット近接性パラメータに従って、前記パケット記憶モジュールが前記複数のターゲット・クライアントにデータ・パケットを記憶する、請求項9に記載のシーケンス管理装置。
  15. 前記ソース・クライアント及び前記複数のターゲット・クライアントの各々との間の最小距離及び最大距離の少なくとも一つを定義するバックアップ近接性パラメータに従って、前記パケット記憶モジュールが前記複数のターゲット・クライアントにデータを記憶する、請求項1に記載のシーケンス管理装置。
  16. 複数のクライアントに亙るデータをバックアップする方法にして、
    ソース・クライアントからバックアップされるべきデータを受取るステップと、
    複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップと、
    前記非トランスペアレントなシーケンスに従って複数のターゲット・クライアントにデータを記憶するステップとを含む
    バックアップ方法。
  17. 複数のターゲット・クライアントにバックアップされるデータを記述するメタデータであって、グローバル・クライアント・プロファイル、ソース・クライアント・プロファイル、ソース・データ・レコード、ターゲット・データ・レコード、データ・アセンブリ・レコード、及びグローバル・バックアップ・ログのうちの一つを含むメタデータ・ファイルを管理するステップを更に含む、請求項16に記載のバックアップ方法。
  18. データを複数のデータ・パケットに分割し、該データ・パケットを複数のターゲット・クライアントに記憶するステップを含む、請求項16に記載のバックアップ方法。
  19. データをソース・クライアントに写像するために、該データに対応するユニーク・データ識別子であって、該データが他のデータと比較してユニークであることを示す前記ユニーク・データ識別子を使用するステップを含む、請求項16に記載のバックアップ方法。
  20. ソース・クライアント及び複数のターゲット・クライアントの、契約上の予約申込みを管理するステップを更に含む、請求項16に記載のバックアップ方法。
  21. ソース記憶割当てパラメータ、ターゲット記憶割当てパラメータ、ネットワーク割当てパラメータ、クライアント・プロセッサ・パラメータ、及びクライアント帯域幅パラメータのうちの一つである資源割当てパラメータを追跡するステップを更に含む、請求項16に記載のバックアップ方法。
  22. 複数のクライアントに亙るデータをバックアップするようにコンピュータを動作させるコンピュータ可読コードを含むコンピュータ可読記憶媒体にして、
    ソース・クライアントからバックアップされるべきデータを受取るステップと、
    複数のターゲット・クライアントの非トランスペアレントなシーケンスを発生するステップと、
    前記非トランスペアレントなシーケンスに従って複数のターゲット・クライアントにデータを記憶するステップとからなるバックアップ方法をコンピュータに実行させるコンピュータ可読コードとを含む
    コンピュータ可読記憶媒体。
  23. 複数のターゲット・クライアントにバックアップされるデータを記述するメタデータであって、グローバル・クライアント・プロファイル、ソース・クライアント・プロファイル、ソース・データ・レコード、ターゲット・データ・レコード、データ・アセンブリ・レコード、及びグローバル・バックアップ・ログのうちの一つを含むメタデータ・ファイルを管理するステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  24. データをソース・クライアントに写像するために、該データに対応するユニーク・データ識別子であって、該データが他のデータと比較してユニークであることを示す前記ユニーク・データ識別子を使用するステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  25. 前記ソース・クライアントからの復元リクエストに応答し、複数のターゲット・クライアントのうちの一つにバックアップされるデータの少なくとも一部を、前記非トランスペアレントなシーケンスに従って取出すステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  26. 前記ソース・クライアントからの復元リクエストを受取るのに応答し、且つ前記複数のターゲット・クライアントのうちの一つにバックアップされるデータの少なくとも一部の取出しの後、前記データを理解可能なフォーマットにアセンブルするステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  27. データを複数のデータ・パケットに分割し、該データ・パケットを複数のターゲット・クライアントに記憶するステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  28. 第1のターゲット・クライアント及び第2のターゲット・クライアント間の最小距離及び最大距離のうちの少なくとも一つを定義するパケット近接性パラメータに従って、前記複数のターゲット・クライアントにデータ・パケットを記憶するステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  29. 前記複数のターゲット・クライアントにデータを記憶するステップの前に、該データの少なくとも一部を、圧縮、暗号化、及び複製のうちの一つを含む、データの修正をするステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
  30. 前記ソース・クライアント及び前記複数のターゲット・クライアントの各々との間の最小距離及び最大距離の少なくとも一つを定義するバックアップ近接性パラメータに従って、前記複数のターゲット・クライアントにデータを記憶するステップを前記バックアップ方法が更に含む、請求項22に記載のコンピュータ可読記憶媒体。
JP2006543524A 2004-11-08 2004-11-08 複数のクライアントにまたがってデータをバックアップするための方法 Expired - Fee Related JP4677412B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/052849 WO2005060201A1 (en) 2003-12-15 2004-11-08 Apparatus, system, and method for grid based data storage

Publications (2)

Publication Number Publication Date
JP2008519319A true JP2008519319A (ja) 2008-06-05
JP4677412B2 JP4677412B2 (ja) 2011-04-27

Family

ID=39560958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006543524A Expired - Fee Related JP4677412B2 (ja) 2004-11-08 2004-11-08 複数のクライアントにまたがってデータをバックアップするための方法

Country Status (1)

Country Link
JP (1) JP4677412B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5990578A (ja) * 1982-11-17 1984-05-25 ヤマハ株式会社 ゴルフ用ウツドクラブヘツドの製法
JP2013528865A (ja) * 2010-05-13 2013-07-11 ソニー株式会社 マルチメディアファイルの分散型ネットワークバックアップ
JP2014513852A (ja) * 2011-05-16 2014-06-05 オラクル・インターナショナル・コーポレイション クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
JP2015092314A (ja) * 2013-11-08 2015-05-14 株式会社日立製作所 バックアップ管理システムおよびバックアップ管理方法
CN113904859A (zh) * 2021-10-20 2022-01-07 京东科技信息技术有限公司 安全组源组信息管理方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001073545A2 (en) * 2000-03-30 2001-10-04 United Devices, Inc. Massively distributed processing system and associated methods
WO2001098936A2 (en) * 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
WO2003069480A1 (fr) * 2002-02-14 2003-08-21 Fujitsu Limited Programme et procede de controle de stockage de donnees
JP2004102842A (ja) * 2002-09-11 2004-04-02 Fuji Xerox Co Ltd 分散格納制御装置及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001073545A2 (en) * 2000-03-30 2001-10-04 United Devices, Inc. Massively distributed processing system and associated methods
WO2001098936A2 (en) * 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
WO2003069480A1 (fr) * 2002-02-14 2003-08-21 Fujitsu Limited Programme et procede de controle de stockage de donnees
JP2004102842A (ja) * 2002-09-11 2004-04-02 Fuji Xerox Co Ltd 分散格納制御装置及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5990578A (ja) * 1982-11-17 1984-05-25 ヤマハ株式会社 ゴルフ用ウツドクラブヘツドの製法
JP2013528865A (ja) * 2010-05-13 2013-07-11 ソニー株式会社 マルチメディアファイルの分散型ネットワークバックアップ
JP2014513852A (ja) * 2011-05-16 2014-06-05 オラクル・インターナショナル・コーポレイション クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
JP2015092314A (ja) * 2013-11-08 2015-05-14 株式会社日立製作所 バックアップ管理システムおよびバックアップ管理方法
US9864660B2 (en) 2013-11-08 2018-01-09 Hitachi, Ltd. Backup management system and backup management method
CN113904859A (zh) * 2021-10-20 2022-01-07 京东科技信息技术有限公司 安全组源组信息管理方法、装置、存储介质及电子设备
CN113904859B (zh) * 2021-10-20 2024-03-01 京东科技信息技术有限公司 安全组源组信息管理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP4677412B2 (ja) 2011-04-27

Similar Documents

Publication Publication Date Title
US7698428B2 (en) Apparatus, system, and method for grid based data storage
JP4446738B2 (ja) コンピュータファイルを効率的にバックアップするシステムと方法
US20040153481A1 (en) Method and system for effective utilization of data storage capacity
US9734021B1 (en) Visualizing restoration operation granularity for a database
US7356734B2 (en) Method and apparatus for creating a backup of data of from multiple sources
CA2824183C (en) Large scale storage system
US7024529B2 (en) Data back up method and its programs
CN103197990B (zh) 自动优先恢复及相关的装置和方法
JP2009527824A5 (ja) 複数のノードを有するストレージ・システムの保護管理方法
CN103026343A (zh) 基于计划表的数据生命周期管理
US10191958B1 (en) Storage provisioning in a data storage environment
WO2014002094A2 (en) System and method for datacenters disaster recovery
CN106452836B (zh) 主节点设置方法及装置
CN102844772A (zh) 管理用于共享资源的承诺的请求速率
CN105074660A (zh) 部署数据-路径相关插件
CN107566341B (zh) 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统
CN110471897B (zh) 文件管理方法及装置
JP4677412B2 (ja) 複数のクライアントにまたがってデータをバックアップするための方法
US11042454B1 (en) Restoration of a data source
CN111752892B (zh) 分布式文件系统及其实现方法、管理系统、设备及介质
US7805412B1 (en) Systems and methods for parallel reconstruction of files and objects
WO2009088387A1 (en) Online data storage monitoring and management portal
Chellappan et al. MongoDB Monitoring and Backup
Verma A peer to peer System for Data Management
Alliance Enterprise Grid Data and Storage Provisioning Problem Statement and Approach

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4677412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees